Das Betriebssystem QMEG+ 4.0

Von Stefan Dorndorf

Wie schon Ende 95 angekündigt, werde ich eine neue Version des QMEG 3.2/3.5 herausbringen, die Version QMEG+ 4.0. Hier nun einige Einzelheiten dazu:
Beim QMEG+ 4.0 handelt es sich um ein 16K-Betriebssystem (OS), das über einen Schalter anstelle des Standard ATARI-XL-OS genutzt werden kann. Nach dem Einbau (geht leider nicht ohne Löten, es sei denn, im Rechner ist bereits ein gesockeltes OS-ROM oder OS-EPROM) stehen Euch folgende Dinge zusätzlich zur Verfügung:

`1.Floppy-Speeder
`

Folgende Speeder werden unterstützt:

- Speedy (Ultra-Speed)

- Happy (Warp- und Ultra-Speed)

- XF551 (High-Speed)

- 1050 Turbo (Turbodrive)

- US-Doubler (Ultra-Speed)

Die Erkennung der Speeder erfolgt vollautomatisch. Jedes Laufwerk kann auch auf normale Geschwindigkeit zurückgestellt werden. Bei Happy und Speedy-Laufwerken kann auch der "Slow"-Modus ein- und ausgeschaltet werden oder ein Floppy-Reset durchgeführt werden. Bei Speedern, die mit Sektor-Skewing statt eines Track-Buffers arbeiten (XF551, Turbo, US-Doubler), wird beim Formatieren mit aktiviertem Speeder das Sektor-Skewing automatisch berücksichtigt.

`2. bootbare RAM-Disk und Disk-Kopierer
`

Bei mind. 192K Zusatzspeicher stellt QMEG+ eine RAM-Disk zur Verfügung, die sich genau wie ein normales Double-Density fähiges Laufwerk verhält. (Es werden alle 130XE-kompatiblen Speichererweiterungen erkannt.)

Die RAM-Disk kann unter einer beliebigen Laufwerksnummer angesprochen werden und auch in den drei Dichten Single, Medium und Double (nicht Quad, sorry) formatiert werden.

Außerdem können ganze Disketten in diese RAM-Disk eingelesen und auch wieder ausgeschrieben werden. Das dient einerseits zum Kopieren von Disketten, andererseits kann man z.B. eine Bootdisk in die RAM-Disk einlesen und dann die RAM-Disk als Laufwerk 1 festlegen und damit booten.

Zusätzlich wird bei Rechnern mit mind. 64K Zusatzspeicher die Standard-DOS 2.5 RAM-Disk zur Verfügung gestellt.

Beispiel: Das Adventure ZORK I lädt sehr häufig von Diskette nach, was nach einer Weile ziemlich nervt. Daher legen wir die 2.Seite (Datenseite) in ein Laufwerk und lesen die komplette Diskette in die RAM-Disk ein. Nun booten wir ganz normal die 1.Seite. Wenn das Programm uns auffordert, die 2.Seite einzulegen, drücken wir - statt die Diskette zu wenden - eine Tastenkombination, womit QMEG+ nun alle Zugriffe auf Laufwerk 1 auf die RAM-Disk umleitet, was natürlich sehr viel schneller geht.

`3. Laufwerks-Kontrolle`

Für jedes Laufwerk 1-8 kann der Floppy-Speeder zugeschaltet werden, oder Zugriffe auf die RAM-Disk umgeleitet werden. Auch ist es möglich, jedes Laufwerk 2-8 mit dem Laufwerk 1 zu tauschen, so daß man von beliebigen Laufwerken booten kann.

`4. Directory listen und Files laden
`

Hiermit kann das Directory (DOS 2.x oder MYDOS) einer Disk (oder der RAM-Disk) angezeigt werden. ATARI-Basic, COM- und BIN-Programme und Kassettenprogramme können direkt - mit oder ohne Löschen des Hauptspeichers - aus dem Directory geladen und gestartet werden (dies benutze ich häufig für Spiele)

Bei MYDOS-Disketten ist es auch möglich, in Subdirectories zu verzweigen.

Mit Hilfe dieser Funktion muß man keine GAME-DOS-Versionen mehr auf File-Disketten schreiben.

XF551-Laufwerke werden erkannt und vor dem Anzeigen des Directories auf die richtige Dichte eingestellt (die XF551 kann nicht selbständig von Single oder Medium auf Double-Density automatisch umschalten).

`5. CAS-Simulator
`

Der CAS-Simulator im QMEG+ dient zum Laden von Diskettenfiles, die direkt von Kassette auf Diskette (DOS 2.x oder MYDOS) übertragen worden sind. Unterstützt werden sowohl CIO-Lader (über C:-Handler) als auch SIO-Lader (Block-Lader). Ein Abspeichern aus Kassettenprogrammen heraus ist allerdings nicht möglich.

`6. Maschinensprach-Monitor (MLM 2.3)
`

Im QMEG+ ist auch ein kompletter kleiner Maschinensprach-Monitor enthalten, der folgende Funktionen unterstützt:

Speicher-Anzeige/Änderung in/mit:

- hexadezimalen Werten

- dezimalen Werten

- ATASCII-Zeichen

- Bildschirmcode-Zeichen

- Disassemblieren (hex oder dezimal)

Durchsuchen des Speichers nach:

- hexadezimalen Werten

- dezimalen Werten

- ATASCII-Zeichen

- Bildschirmcode-Zeichen

Auch das RAM unter dem OS-ROM oder die RAM-Bänke einer Speichererweiterung können angezeigt, geändert oder durchsucht werden.

Speicherbereiche verschieben (Move) oder vergleichen (Verify) oder füllen.

Rechnen und Umrechnen von Hex- und Dezimalzahlen.

6502-Register anzeigen/ändern und Maschinenprogramme starten.

Bei allen Anzeige-Befehlen ist auch ein Ausdruck auf den Drucker möglich.

7. Modul/Basic- und Kaltstart-Kontrolle

Das eingebaute Basic oder ein eingestecktes Switch-Modul (Action!, MAC/65, Basic XL) kann jederzeit ein- und ausgeschaltet werden oder es kann ein Kaltstart durchgeführt werden.

`8. QMEG- Menü
`

Das QMEG- Menü wird mit SELECT/RESET aufgerufen. Von hier aus werden alle oben genannten Einstellungen (Laufwerke, RAM-Disk usw.) durchgeführt und alle Aktionen ausgelöst (Disk einlesen, ausschreiben, File laden, MLM aufrufen, RAM-Disk booten usw.). Alle Funktionen im QMEG-Menü lassen den Hauptspeicher unangetastet, d.h. es ist möglich, bei einem resetfesten Programm das Menü zwischendurch aufzurufen, um z.B. ein Directory anzusehen oder eine Diskette zu kopieren und das QMEG-Menü wieder zu verlassen, ohne das gerade geladene Programm zu zerstören. (Ausnahme ist natürlich das Booten und das Laden von Files.)

`9. Funktionstasten
`

Einige der Einstellmöglichkeiten im QMEG-Menü lassen sich auch über Tastenkombinationen direkt in einem laufenden Programm ausführen:

- Umschalten zwischen High-Speed und Normal-Speed für Laufwerk 1

- Ersetzen des Laufwerks 1 durch die RAM-Disk

- Funktionstasten des 1200XL (Cursor oben/unten/links/rechts positionieren, Bildschirm ein/aus, Tastaturklick ein/aus)

- Tastenwiederholrate langsam/schnell

`10. RESET-Tastenkombinationen
`

SELECT QMEG-Menü aufrufen

Shift Kaltstart ausführen (Booten)

OPTION BASIC ein(!)schalten

START Alle QMEG-Sonderfunktionen abschalten

OPTION und START werden nur beim Kaltstart abgefragt. Alle Funktionen der RESET-Tastenkombinationen können auch über das QMEG-Menü ausgelöst werden.

Das Abschalten aller QMEG-Funktionen wird automatisch vom QMEG+ durchgeführt, sobald ein Programm die Konfigurationstabelle des QMEG+ (11 Byte) überschreibt. In diesem Fall funktionieren lediglich die RESET-Tastenkombinationen, das Einfrieren in den Zusatzspeicher und der QMEG-Mini-Freezer (siehe unten).

`11. Programme in Zusatzspeicher einfrieren
`

Hier für sind mind. 64K Zusatzspeicher erforderlich. Mittels einer Tastenkombination kann ein Programm in den Zusatzspeicher eingefroren werden, um es später wieder aufzutauen. Allerdings kann es bei komplexen Spielen beim Auftauen Probleme geben (die leidigen nicht-lesbaren Hardware-Register sind daran schuld)

Hierdurch ist es auch möglich, zwei laufende Programme gleichzeitig im Speicher zu halten.

`12. Mini-Freezer für Freezer-POKEs
`

Hiermit kann man (fast) jedes laufende Programm (Spiel) einfrieren, ein oder mehrere Freezer-POKEs eintippen, und das Programm dann wieder auftauen.

Das Einfrieren ist hier wörtlich zu nehmen, das laufende Programm (Bild und Sound) wird einfach angehalten und die Freezer-Pokes müssen blind eingetippt werden. Dies geschieht deshalb auf diesem Weg, damit es beim Auftauen keine Probleme gibt (wegen der nicht-lesbaren Hardware-Register).

Der QMEG-Freezer funktioniert mit allen Programmen, die das Betriebssystem-ROM nicht komplett abschalten. (Leider tun das einige Polen-Spiele, so ein Pech...)

Ist das einzufrierende Programm resetfest, kann man natürlich auch mit SELECT/RESET ins QMEG-Menü gehen und die Freezer-Pokes im MLM eintippen.

Um diese Funktionen alle in dem 16K-Betriebssystem des ATARI XL/XE unterzubringen, mußte ich natürlich einiges aus dem Original-XL/XE-Betriebssystem rauswerfen:

- Den SELF-TEST gibt es nicht mehr

- Der Kassetten-Handler wurde durch den CAS-Simulator ersetzt

- Der internationale Zeichensatz wurde entfernt

Programme, die den POKE 756,204 zum Einschalten des internationaler Zeichensatz benutzen (z.B. der Turbo-Basic-Compiler), können jedoch auch unter QMEG+ weiter verwendet werden, da QMEG+ dafür sorgt, daß in diesem Fall der normale Zeichensatz aktiviert wird, so daß lediglich die Umlaute nicht lesbar sind.

Schließlich wurden noch einige andere Routinen entfernt, die für nie entwickelte Hardware von ATARI vorgesehen waren und sich auch nur mit solcher Hardware nutzen lassen (Relozierer und Linear-Listenverwaltung für ladbare CIO-Handler).

Die Routinen für Geräte am parallelen Bus sind jedoch - im Gegensatz zum QMEG 3.2 - im QMEG+ 4.0 enthalten.

So das war's erstmal.

Bei folgenden Punkten ist es z.Zt. noch offen, ob sie im QMEG+ 4.0 vorhanden sein werden (ich habe noch mit Platzproblemen im OS zu kämpfen):

- Ultra-Speed-Sector-Skew-Format für US-Doubler

- SIO-Lader für CAS-Simulator

- Double-Density für CAS-Simulator

- Zugriff auf Zusatzspeicher und RAM unter OS-ROM im Maschinensprachmonitor

- Einfrieren in Zusatzspeicher

- Platz für eigene Treiber im OS-ROM

(z.B. für ROM-Disk, Drucker)

- Zugriff auf die Rückseite einer Quad-formatierten Disk

Das mache ich davon abhängig, wie die H.A.R.-Members das im Beta-Test sehen werden...

Natürlich nehme ich aber auch Anregungen Eurerseits entgegen.

Schreibt an:
Stefan Dorndorf

Ringstr. 22

30966 Hemmingen

Bis dann also
Stefan Dorndorf
Zurück