[front] [next]
english


Für alle Dateien gelten, neben ggf. weiteren Hinweisen, die in der Titelseite angegebenen Bedingungen.
"ohne TAS" sind insbes. für den Amiga-QL zurechtgemachte Programme (die aber wohl niemand braucht - ???), oder solche, die ohnehin kein TAS enthalten, und die ohne weiteres auch in jedem regulären QL-System verwendbar sind.

Alle Programme/Texte sind in experimentellem Zustand, Gewährleistung ist ausgeschlossen.

 
AREF2  (QLIB/SBasic) 85K  1.05.99 Xref-Generator
BASICV  (ohneTAS) 12K  8.10.97 Basic-Variable "fremd" Lesen
C1Monitor 15K  8.01.98 Monitor/Assembler/Schutz-Job
CCNV  (ohneTAS) 2K 20.06.98 Zeichen- & Text-Converter
CONVERT 11k 14.07.98 Zeichencodierungs-Übersetzer
CDISK/CBACK 28K 11.08.99 <= Datensicherung (im Hintergrund)
CIRCUITS 7K 14.08.99 Schnittstellen-/Bauteil-Pins
E86 24K 04.08.99 <= Editor & -Device
LATIN-1/FOUNTS 6K 28.11.97 Zeichensatz
MCLONE  (ohneTAS) 6K   "The Self Cloning Jobs"
MEMV  (ohneTAS) 5K 30.05.98 Memory/Shift-Lock Monitor
RECOVERQ 164K 28.11.97 Discetten/Files retten/copieren
RECOVERX  (ohneTAS) 80K 05.08.98 v03 QXL.WIN, Files retten, extrahieren
QLIBRUN 8K 02.05.99 v3.36x17  QLib runtimes, modifiziert
QSEND 28K   "fremdgesteuerte" Jobs
SLD 10K 31.05.98 Anzeige des Systemlast
SORT  (ohneTAS) 5K 14.07.98 Filter zum Sortieren von Strings
UHR 11K 12.08.97 eine Uhr
QXL 140K   QXL Version des SMSQ (2.76)
 
[top]

 



CIRCUITS

Pinbelegung einiger QL-Geräte, Bauteil- & Logikpläne Sandy Q Board - alt, Quelle unbekannt.

[oben]


BASICV

S.Basic-Funktion zum Lesen der in beliebigen Jobs von S.Basic-Struktur, also auch QLib-Jobs, bekannten Variablen. Benutzt man etwa einen eigens dafür eingerichteten Daten-Job (MINERVA), so kann damit eine besonders einfach zu verwaltende Variante von "environment variablen" dargestellt werden. Erweiterung auch zum Schreiben ist möglich, wenn auch aufgrund ungeeigneter Vorgehensweisen - z.B. Freigabe reservierter Bereiche vor(!) Nutzung derselben insbes. in TK2 und SMSQ - ein wenig riskant.
Code, DATA-Zeilen mit Ladeprogramm, Assemblertext und ausführliche Beschreibung im Archiv.

[oben] e-mail


QSEND

Eine Gruppe Proceduren und Funktionen zur Kommunikation zwischen Jobs mittels PIPEs oder zwischen einer PIPE und der Ein-/Ausgabe-Queue des CON-Kanals eines Jobs.
 
[top] e-mail 


SORT
Original von Laurence Reeves, 3/1992.
 

Ein Filter zum Sortieren von Textzeilen, der bereits bei der Eingabe seine Arbeit aufnimmt, und darum nicht nur mit recht wenig Speicher auskommt, sondern auch sehr schnell arbeitet. Der von L.R. abgewandelte "Quick-Sort"-Algorithmus tut ein übriges dazu.
Das Programm ist im wesentlichen unverändert: Es wurde lediglich die Möglichkeit zum von der Groß- oder Kleinschreibung unabhängigen Vergleich hinzugefügt. Damit sind alle im QDOS angebotenen Vergleichsmodi vorhanden.

Aufruf:

EX Sort, Quelle(nkanal), Ziel(kanal);"parameterstring"
Parameter (ohne, oder in beliebiger Kombination):
ohne genauer Zeichenvergleich ohne Zahlenbewertung (Vorgabe).
"-"  führendes Zeichen,
"t"  Vergleichstyp 1, Schreibweise nicht beachten.
"n"  Vergleichstyp 2, Ziffernfolgen gelten als Zahlen.
"tn" Vergleichstyp 3, entspr. Basic "==" (Typ 1 mit Typ 2).
"r"  umgekehrte Sortierfolge ("z" -> "A"),
Die Parameterzeichen können in beliebiger Folge angegeben werden,
nach Leerzeichen und am Anfang muß davor je ein "-" Minuszeichen stehen.

Archiv mit Job und Assemblerquelle mit englischsprachiger Beschreibung der Arbeitsweise.
 
[oben] e-mail
 


CONVERT - von Thomas Menschel (TMB)
 

Ein Filterjob zur Umsetzung der Zeichencodierung zwischen QL, IBM, ATARI, AMIGA, MAC, E-ASCII, und 7-Bit-Codierung (bei auseinandergezogenen Umlauten). Das Programm ist recht alt, aber so aktuell, wie es die ewig unterschiedlichen Zeichencodierungen sind...
 
[oben] e-mail
 


CCNV

Ein Filterjob zur zeichenweisen Umsetzung einer Textquelle in je bis 253 Zeichen lange Strings.
Genauere Beschreibung mit Beispiel QL => LATIN-1 mit HTML-"entities" im Archiv.
 
[oben] e-mail
 


SLD

Ein kleiner Job, der über ein einstellbares Intervall periodisch die Systemlast anzeigt.
Genauere Beschreibung und Assemblertext im Archiv.

[oben] e-mail
 


QXL

Das Betriebssystem "SMSQ", Version 2.76, wie mit der QXL zusammen geliefert, und die P.E.-Files, PEX31 inklusive, kann als verläßliche und nicht ständigen "updates" unterworfene Referenz dienen. Die Beschreibungen in "PiQ" beziehen sich vor allem hierauf.
Diese Variante braucht deutlich weniger Speicher als die "SMSQ/E"-Versionen.

[oben] e-mail
 


EDI Text-Editor E86

Ein vielseitiger und effizienter "freeware"-Editor als residente SBasic-Erweiterung für einfachen Text, auf den auch als Device zugegriffen werden kann (LOAD, SAVE etc.), mit der Möglichkeit zur Eingabe aller Zeichencodes im Bereich 0 bis 255 aus der Tastatur, zum automatischen Einfügen von Zeilennummern rsp zum Entfernen derselben, TAB-Erweiterung zu Leerzeichen, u.v.m.
Geeignet für jedes QDOS-System und zur Bearbeitung mehrerer Texte gleichzeitig. NETzwerk-tauglich, konfliktfrei mit den MINERVA-SBasic-Jobs (auch "SBASIC" im SMSQ) und aus allen anderen Jobs heraus (Beispiel im F6-Forth) aufrufbar.

Das Programm ist aus einer fehlerhaften Vorlage "edi.._cde" unbekannter Herkunft abgeleitet - dem Autor sei dennoch gedankt für seine (hilfreiche!) Variante des Talent Workbench Editors...
Die Neufassung "E86" unterliegt für die nichtkommerzielle Verwendung keinerlei Einschränkung, mit der Ausnahme, daß bei Weitergabe in veränderter Form das Original beizufügen und deutlich darauf hinzuweisen ist. Die zugehörige Assembler-Quelle ist im Archiv enthalten.

Eingehende Beschreibung im beigefügten "e86hilfe_txt".

E86 (4.8.99):

[oben] e-mail
 


AREF2 - Version für fehlerfreie SBasic/QLIB-Systeme
AREF2 - ergänzte und angepaßte SBasic-Quelle
Letzte(?) Fehlerkorrektur, nun auch compiliert stets einwandfreie Ausführung.

 

arbeitet Verweise auf die aufrufenden Stellen der Teile von 6800x-Programmen in zum QUANTA-GST-Assembler passende Quelltexte ein ("cross reference"), erzeugt ggf. eine Referenzen-Liste separat oder an den Schluß der kommentierten Quelle angehängt.

Beim Aufruf als Job ohne Parameter erscheinen kurze Hinweise im Bild, und es wird entsprechende Eingabe erwartet.

Ausführung als Job unabhängig von allen Erweiterungscodes

oder, wenn IO2, PEX20(+) und die QLib-Runtimes vorhanden sind, Fehlermeldung "not found" beim Anlegen der Zieldatei ist belanglos. Mit [ENTER] wird das Programm fortgesetzt. Dies ist ein Nebeneffekt der OPEN-Prüfung, den abzufangen mir unnötig schien...

Systemanforderungen:
 
Außer Vorhandensein des TK2 o. gleichwertiger Erweiterungen keine speziellen Erfordernisse. Pointer-I.F. vorteilhaft. Alle anderen notwendigen Erweiterungen einschließlich der QLib-Runtimes und PEX20 sind in das Programm eingebettet.

NICHT ZUSAMMEN MIT ALTEN VERSIONEN VON IO2 (vor 8/1996) ODER MIT ALTEN VERSIONEN VON PEX (vor PEX20) ZU VERWENDEN.

Das Programm braucht reichlich Speicher (RAM oder Datenträger) und sehr viel Zeit! Insbes. bei Auswertung reiner Textlabels ist der Aufwand immens - für etwa ein QL-ROM-Assembly werden, abhängig von der Anzahl solcher Labels und der Art des Arbeitsspeichers z.B. in der (alten) QXL mit 2M RAM um die zwei Stunden benötigt, oder auch mehr.
 
Für den unabhängigen Job müssen ca. 170K Speicher frei sein. Bei AREFIO2 reduziert sich der Speicherbedarf auf ca 50K. Weiter wird in beliebigen Medien - auch verteilt - etwa das Dreifache der Quelltextlänge an Arbeitsspeicher benötigt. Gewöhnlich wird die Ausgabe etwas länger als die Quelle; die Kurzform um ca. 1/3 kürzer, und die ausführliche Form kann je nach Häufigkeit von Zahlenwerten mehr als doppelt so lang werden.

Programm:
 
Der unkommentierte Quelltext des Programms ist beigefügt.
Außerdem ist er in der einem mutmaßlichen Systemfehler des SBasic angepaßten Version separat verfügbar.
Mit IO2 in Version ab 30.4.1999 ist das Programm deutlich schneller (20% und mehr!). Ein paar eigene Fehler sind korrigiert. Zusätzlich werden auch Referenzen auf Assemblervariable und Macronamen erfaßt, die Begrenzung auf Mindestläge 2 für Labels entfällt und die Aussparung von Macro-Definitionen rsp. durch <.aref setstr on/off> markierten Passagen sowie "end"-Erkennung funktionieren. - Der Programmstart verzögert sich etwas, da ein "DEL_DEFB" eingefügt wurde, was in vielen Fällen noch hilft, wenn das SMSQ(/E) beim NETzwerken mal wieder seine Slaveblöcke zerschossen hat...
Zum den Betrieb ist die (derzeit, 8.5.99) jüngste Version IO2 - evtl. auch QLIBRUN - erforderlich.

Tauglichkeit:
 
Es gab Probleme mit dem compilierten Programm bei reinen Text-Labels.
Erst jüngst (4/99) ist mir es gelungen, die fehlerhafte Passage zu ermitteln:
Wer kommt schon auf den Gedanken, daß der Standardbefehl "INPUT" des SBasic fehlerhaft ist! An irgendeiner Stelle und unter Umständen, die die verantwortlichen Autoren ergründen mögen, reklamiert die Systemroutine die Pufferlänge Null und der betr. io.fline-Aufruf endet dann mit Fehler err.bo (-5) bei zugleich wiederholt neuen Speicheranforderungen, was die Eingabe schließlich, wie und mit welchen Folgen auch immer (z.B. durch überschriebene SB-Variable), scheitern läßt. Zum Tragen gekommen ist das anscheinend aber erst durch einen Fehler in FIND aus "ep0" von IO2, der nun (11/1999) dort ebenfalls korrigiert ist.
Dir Fehler bei INPUT findet sich in den SMSQ-Varianten wie auch bei MINERVA, kann aber auch mit den QLIB-runtimes zusammenhängen - letzteres ist unwahrscheinlich und ersteres will, wo die Gefahr besteht, einen Fehler im SMSQ zu finden, ohnehin niemand wahrhaben...
Immerhin tritt er nun, nach Umbau der INPUT-Statements in entsprechende Zeilen mit INPUT$ (IO2), nicht mehr auf.
 
Meine Versuche in der QXL mit SMSQ 2.76 waren neben DEA-/DISA-Typ Labels sämtlich auch mit Text-Labels erfolgreich; ebenso im GC-QL mit Minerva 1.93. - Nebenbei wäre wohl ein ordentlicher Disassembler, der die nötigen Listen aus den dort ja ohnehin vorhandenen Daten erzeugt (und fehlerfreie Memonics und korrekte Sprungtabellen und wirkliche QDOS-Namen...) sehr viel besser und ganz entschieden weniger zeitraubend!

 
[oben] e-mail
 

UHR
UHR
ist eine einfache runde Uhr mit Zeigern, die mit installiert werden kann. Ist zu diesem Zeitpunkt ein "button frame" vorhanden, ordnet sie sich selbstätig dort ein.
Die Uhr bleibt auch mit PIF stets sichtbar.
Mehr dazu in der beigefügten Beschreibung.

[front] [top] e-mail 
 


QLIBRUN16

QLIB runtimes Überarbeitung, abgeleitet aus QLIB 3.36. Ein paar Fehler wurden korrigiert (und womöglich neue Fehler hinzugefügt) und der Code an die Modalitäten im SMSQ angepaßt; und vielleicht ist das Ganze denn auch etwas schneller geworden.

Korrigierte, etwas ergänzte und auch ein wenige schnellere Versionen der QLIB-Erweiterungen stehen gegen Nachweis "rechtmäßigen" Besitzes, etwa in Gestalt der einer e-mail beigefügten Originale, zur Verfügung. Z.B. spielt das UNLOAD darin richtig, anstatt einfach nur die Uhrzeit zu lesen, und Q_ERR_ON kann auch auf *Basic-FuNctionen angewandt werden, u.v.m.
Ausführlicher hierzu in qlidoc.zip.
 
Nebenbei:
In den Erläuterungen zum SMSQ/E finden sich recht merkwürdige Behauptungen über Sinn und Unsinn compilierter Programme und ein längliches Elaborat darüber, wie innerhalb eines Basic-Programms der compilierte vom interpretierten Zustand unterschieden werden könne. Ist alles Quatsch, das Gegenteil läßt sich leicht belegen, und letzterer Nonsens kann durch ganze vier Programmzeilen ersetzt werden:

    1010 cmpld=1
    1020 REMark $$off
    1030 cmpld=0
    1040 REMark $$on
womit die Variable cmpld als Flag den Zustand compiliert (1) oder interpretiert (0) angibt.
 
[top] e-mail 
 

MCLONE

Beispielprogramm (und Assembler-Text) für sich selbst vervielfältigende Jobs von Adrian Dickens aus dem "QL Advanced User Guide", zurechtgemacht für die jüngeren QL-Systeme.
 
[top] e-mail
 


LATIN-1   FOUNTS

LATIN-1 Zeichensatz, beschrieben und in Form von DATA-Zeilen für den QL angegeben.
FOUNTS ist die Zusammenstellung von fünf Zeichensätzen für den QL, passend zum INCLUDE in Assemblertexte zum GST-Assembler.
 
[top] e-mail
 


MEMV

Die Vorlage zu diesem kleinen Speicher- und "shift/lock"-Monitor ist mir vor Zeiten unter dem Namen "memdisp" ins Haus geflattert. Die eigene Variante entstand zunächst nur, um die auf den unnötig hohen Wert 64 gesetzte Priorität zu reduzieren. Die systemkonforme Gestaltung der Anzeige kam hinzu, und ermöglichte die automatische Anpassung an beliebige Bildschirmmaße und wechselnde Wiedergabe-Modi.

Nach dem Aufruf als Job oder mit dem Basic-Befehl MEMV nach Laden mit LRESPR erscheint am rechten Bildrand in voller Höhe ein schmaler Streifen, der in grüne Segmente aufgeteilt ist, die die verschiedenen Kathegorien besetzten Speichers darstellen. Der in der Mitte verbleibende schwarze Teil entspricht den vom System noch unbesetzten Slave-Blöcken, d.h. dem "freien" Speicher. Der schwarze Streifen wird rot, wenn mit der Feststelltaste ("shift lock") auf Großschreibung geschaltet wurde.

Mit dem hochauflösenden Bild der AURORA gibt es Probleme (MEMV erscheint dort nicht), die erst mit Vorliegen einer zuverlässigen Dokumentation behoben werden können. - Einwandfreie Funktion in der QXL bei Bildauflösungen bis zu 1024x768.

Im UQLX hat sich bei großem Bild dieselbe Fehlfunktion gezeigt, die sich mit einiger Mühe zumindest dort beheben ließ. Damit besteht immerhin gewisse Aussicht, daß das Programm nun auch mit der Aurora bei großem Bild spielt - wär nett, wenn mir mal jemand mitteilte, ob dem wirklich so ist.
 
[oben] [anfang] e-mail 
 


RecoverQ

dient der Wiedergewinnung verdorbener Dateien von DD/HD/ED-Disketten, oder ganzer Datenträger, der direkten Copie solcher oder mit DOS-Format versehener - auch "verdorbener" oder dadurch "geschützter" - Disketten, und der Umstellung der Diskettenstruktur auf frei wählbare Anordnungen. Weitere Optionen betreffen u.a. zusätzliche Sicherheitsmaßnahmen für künftige Rettungsaktionen und Manipulationen an den strukturbestimmenden Daten einer Diskette, dazu z.B. auch Vertauschen von Sectoren (ein übler Fehler mancher "level 2"-Varianten tauscht Directory- und Filesectoren!).
Die jüngste Version (28.11.97) mit einigen Korrekturen kann auch im SMSQ compiliert werden; die dort nicht gegebene Funktion von "WHEN variable" wurde - um den Preis langsamerer und weniger flexibler Arbeitsweise - umgangen.

 
[front] [oben] e-mail 
 

RecoverX

zur Wiedergewinnung verdorbener und der Extraktion einzelner Dateien oder des ganzen Inhalts von QXL.WIN-Files rsp. über TK2-Direktzugriff aus den Pseudo-WIN-Laufwerken der QXL.

RecoverX ist ein F6-Programm, das in den QDOS-Systemen GC-QL/MGG, GC-QL/MINERVA, QXL/SMSQ((2.76) und im UQLX-Emulator erfolgreich compiliert und anhand von Laufwerken sowie Files mit je bis zu 80MB Größe ausprobiert wurde. Lesen der QXL.WIN-Files auch über NETz mit dem TK2-Fileserver.

Dritte Version mit verbesserter Erkennung von Fehlern in der Block-Verkettung, außerdem auf Basis des F6 8.19 ohne TAS-Codes (für Amiga).

Das Programm erklärt sich weitgehend selbst; kurze Beschreibung im Archiv und in den F6-Quellen.

Bedauerlich, jdoch: S. auch F6-Korrekturen (nur englisch).

[front] [oben] e-mail
 


CDISK/CBACKCDISK v22

CDISK ist eine SBasic-Procedur zum Sichern von File-Gruppen oder ganzen (Gruppen von) Directories, rsp. zum Löschen von Directories oder Directory-Zweigen. Geeignet für alle Medien und Filesystem-"Levels" des QL, insbes. auch über das NETzwerk und mit MDVs.
CBACK ist ein compiliertes SBasic-Programm (Quelle beigefügt) zur kontinuierlichen Sicherung des Inhalts z.B. einer Arbeits-Diskette automatisch und in regelmäßigen Intervallen, basierend auf CDISK und mit allen u.g. Optionen.
 
Zusätzliche Optionen (Ver. 19):

(ohne)      überschreibend Quelle auf Ziel copieren.
devN_name   Ziel vor dem Copieren der Quelle entspr. Formatieren.
MOVE        Quelle nach dem Copieren löschen.
MPTY        Quelle nur löschen, nichts copieren.
NAME        Ziel aktualisieren, wenn beide Datenträger gleiche Namen haben.
RFSH        nur die Dateien aktualisieren, die im Ziel bereits vorhanden sind.
UPDT        Ziel aktualisieren.
Die Procedur fährt fort, solange es irgend möglich ist, insbes. bricht sie nicht ab, wenn ein "bad sector" erreicht wurde. Die Namen der betroffenen Files erhalten eine Markierung und die betr. Stellen werden übersprungen. Der Copiervorgang bricht erst ab, wenn kein weiterer Sector mehr lesbar ist. Auf diese Weise können oft noch Daten von beschädigten Discetten gerettet werden, wo selbst so leistungsfähige Systeme versagen, wie z.B. Linux(!), etc.

Version 19:
Übertragung des Filetypencode & Directory-Fehler bei MGG korrigiert.
Version 21:
An das "umsdos"-Filesystem und an die UQLX-Eigenheiten angepaßte Version mit Überspringen der "."- und ".."-Verzeichnisse sowie Umwandlung von "."-Endungen nach "_", wenn in der Quelle(ndiscette) ein ".-UQLX-" vorhanden und lesbar(!) ist.

Version 22 (nur CDISK):
Die Ergänzungen der Version 21 erwiesen sich z.T. nicht sonderlich hilfreich. Darum wurde ein Modus zur erzwungenen Umwandlung von (quasi-)File-Endungen eingeführt. Außerden wird nun auch im UQLX das Datum der Quelle in die Copie übernommen.
Mehr dazu im Archiv - das auch die Assemblerquelle enthält.


 
[front] [oben] e-mail
 
 


= .hpr.g5 =  (count)