H-DOS 2.3 * G-DOS 2.x-Modifikation von A. Sopp
                                                       
Das Copyright von G-DOS liegt bei der Fa. TCS-Computer GmbH. Da die Version 2.3 
kein völlig neues DOS ist, sondern durch zahlreiche Zaps lediglich eine 
Verbesserung des G-DOS 2.x, kann nur eine Anleitung zur Handhabe der 
Erweiterungen gegeben werden. Es wird vorausgesetzt, daß der Benutzer auf 
legalem Wege ein G-DOS von TCS erworben hat und dazu die Anleitung besitzt. 
H-DOS 2.3 bleibt kompatibel mit allen Versionen von G-DOS 2.x und NEWDOS/80 2.x.


D i e   n e u e n    F e a t u r e s


Graphik-Hardcopy mit <JKL>:

Beim Dreitastenbefehl <JKL> wird zunächst geprüft, ob auf dem Bildschirm Graphik 
vorhanden ist. Dies geschieht in Maschinensprache so schnell, daß der Benutzer 
keine Verzögerung bemerkt. Wird ein Graphikzeichen angetroffen, ertönt ein 
akustisches Signal vom Drucker. 

Jetzt hat der Benutzer die Wahl zwischen drei Möglichkeiten: 

A, P und N

Durch die Eingabe von A werden wie gewohnt nur die ASCII-Zeichen je nach der 
Systemoption AX ausgedruckt (AX=126 ist normal). Die übrigen Zeichen (Graphik) 
werden durch Punkte ersetzt. Wird P eingegeben, erfolgt ein gemischter Ausdruck 
von ASCII- und Graphikzeichen in positiver Darstellung (helle Bildschirmstellen 
werden weiß, dunkle schwarz dargestellt). 
	
Bei der P-Option kann nicht unterschieden werden, ob ein Blank zu einer Graphik 
oder einem Text gehört. ASCII 20h (Blank) wird daher immer schwarz gedruckt.
	
Mit der Eingabe von N wird in negativer Darstellung gedruckt (hell -> schwarz, 
dunkel -> weiß). Hier ist ein Blank (auch im Text) immer weiß. Falls die 
Zusatzplatine HRG 1b angeschlossen ist, kann <JKL> zusammen mit der Shifttaste 
gedrückt werden, um auch die hochauflösende Graphik mit auszudrucken. Auch hier 
macht ein Piepton vom Drucker auf die Wahlmöglichkeit zwischen A, P und N 
aufmerksam. Die Wahlmöglichkeit zwischen positiver und negativer Graphik-
wiedergabe ist zur Schonung des Nadelkopfes Ihres Druckers implementiert. Sie 
können vor dem Ausdruck je nach Hell-Dunkel-Verteilung entscheiden.
Nach P und N wird das Schirmbild zentriert und mit den genauen Bildshirm-
proportionen (Breite/Höhe) wiedergegeben. Es werden immer Schrift, Pixel- und 
hochauflösende Graphik, soweit jeweils vorhanden, gemeinsam aus-gedruckt, außer, 
wenn A eingegeben wurde (dann nur ASCII-Zeichen, gegf. Punkte statt P
ixelgraphik. Die hochauflösende Graphik wird bei A nicht berücksichtigt. Nach 
dem Graphik-Ausdruck ist der Drucker im Einschaltzustand. Bisher sind nur die 
Versionen für STAR Gemini-10X und Epson RX-80 lieferbar. An weiteren Versionen 
für alle gängigen Drucker wird gearbeitet.



Achtung:
Der DOS-Befehl JKL sollte nur dann in einer JOB-Datei stehen, wenn der 
Bildschirm zu der betreffenden Zeit keine Graphik enthält oder bei Graphik eine 
Eingabe durch den Benutzer nach dem Piepton gewährleistet ist (Computer nicht 
alleinlassen!). 
Die zusätzlichen Eingaben können nämlich nicht von einer JOB-Datei vorgenommen 
werden. Das würde bedeuten, daß der Programmablauf stoppt, bis eine Eingabe von 
Hand erfolgt.Der Spooler (s. u.) ist bei JKL unwirksam, wenn sich Graphik auf 
dem Bildschirm befindet. Sie wird in jedem Falle sofort ausgedruckt.

Bildschirmsicherung mit <345>:

Wenn die Hardwareerweiterungen EG 64 MBA und HRG 1b angeschlossen sind, kann ein 
Bildschirminhalt, bestehend aus ASCII-Zeichen, Genie-Pixelgraphik und 
hochauflösender Graphik auf Diskette gespeichert werden. Diese Datei, die den 
Namen BILD/CMD erhält, beinhaltet gleichzeitig ein kurzes Maschinenprogramm, 
das die gesicherte Graphik beim Aufruf mit dem DOS Befehl BILD sofort anzeigt. 
Die Graphik bleibt stehen, bis irgendeine Taste gedrückt wird. Erst dann 
erscheint das H-DOS-Prompt oder die BASIC-Ready-Meldung (oder ein Programm, das 
den Befehl CMD"BILD" ausführte, wird fortgesetzt). So hat der User z. B. die 
Gelegenheit einer Hardcopy mit <JKL> (s. o.).
Der Befehl <345> zum Sichern des Schirmbildes ist nur möglich nach INI,J bzw. 
Booten ohne Linkspfeil (s. u.).

Achtung! Die Bildschirmgraphik wird vor dem Abspeichern auf Diskette in einen 
Puffer geschrieben, der den Speicherbereich 8000-B425h (32768-46117d) belegt. 
Daten oder Programme, die dort liegen, werden überschrieben. Sie sollten gegf. 
vorher gesichert werden. In BASIC kann der Befehl NEW nach <345> angebracht 
sein, um unvorhergesehene Ereignisse zu vermeiden.


Utility-Programm GRA/CMD:

Dieses Programm leistet genau dasselbe wie der Dreitastenbefehl <345>, benötigt 
jedoch nicht den EG 64 MBA zur Erkennung des Befehls. Es wird wie üblich als 
DOS-Befehl mit GRA aufgerufen. Nachteile: Es wird etwas mehr Speicherplatz 
benötigt, außerdem wird der Befehl GRA nur dann nicht mitten in der Bildschirm-
graphik angezeigt, wenn er Bestandteil eines Programms ist (z. B. CMD"GRA" in 
einer BASIC-Zeile).


Memory Banking mit <,./>:

Das Genie I/II ab Baujahr '83 besitzt 64 kB frei programmierbares RAM. 
Die unteren 16 kB sind mit Hilfe des Memory Banking- und CP/M-Adapters EG 64 MBA 
zugänglich. Besitzern des MBA wird das Banking erleichtert durch den 
Dreitastenbefehl <,./>. In der Anzeige wird der Benutzer im Dialog geführt. 
Dabei wird das Display gepuffert und anschließend restauriert, um die 
Möglichkeit offenzulassen, es mit Hilfe des MBA zum späteren Abruf zu sichern. 
Es muß mindestens ein Code auf den Banking-Port DFH ausgegeben werden.Das 
Banking muß durch Booten ohne Linkspfeil bzw. mit dem neuen DOS-Befehl 
INI,J (s. u.) vorbereitet sein.

Achtung:
H-DOS bewältigt eine Reihe seiner Features durch Parallelbelegung des 
Adreßbereichs 0000-35FF ("neben" dem Level-2/4-ROM). Der Benutzer ist beim 
Banking selbst dafür verantwortlich, daß er nicht mit dem System in Konflikt 
gerät. Im Zweifel zuvor INI,N (s. u.) eingeben, um einen evtl. Systemabsturz 
zu vermeiden.


Spooler mit <567>:

Ebenfalls mit dem MBA können auszudruckende Texte oder Listings zwischen-
gespeichert werden, um nicht auf den Drucker warten zu müssen. Der Spooler wird 
mit dem Dreitastenbefehl <567> aktiviert. Der Ausdruck der gespeicherten Zeichen 
erfolgt immer dann, wenn die Tastatur abgefragt wird. Da der Benutzer mit 
Abstand das langsamste "Bauteil" des Computers ist, wird auf diese Weise keine 
Konsolzeit verschwendet. Sollte der Puffer von 12 kB voll sein, der sich im 
Adreßbereich des Microsoft-Interpreters befindet, werden zunächst alle bereits 
ausgedruckten Zeichen gelöscht, um erneut Platz zu schaffen. 
Dieses Feature macht diesen Spooler ungemein wertvoll, da mit einem wirklich 
vollen Puffer kaum je zu rechnen ist. Sollte dieser Fall jedoch auftreten 
(z. B. bei extrem langen LLISTings), wird wie gewohnt gedruckt, ohne die 
Tastatur freizugeben. Sobald im Puffer wieder Platz ist, wird das Spooling 
fortgesetzt. Mit demselben Dreitastenbefehl <567> wird der Spooler auch wieder 
deaktiviert. Es erfolgt jeweis eine entsprechende Meldung.
Der Spooler kann auch mitten in einem Druckvorgang unterbrochen werden. Dann 
verhält sich der Druckertreiber wie gewohnt (keine Tastatureingaben möglich, bis 
der Zeichenpuffer leergedruckt ist; es kann jedoch mit BREAK unterbrochen 
werden).Der Spooler arbeitet nur, wenn ohne Drücken des Linkspfeils gebootet 
oder inzwischen INI,J eingegeben wurde (s. u.).


Akustische Signale:

Wenn DOS- oder BASIC-Fehler auftreten, ertönt ein Piepen von etwa einer halben 
Sekunde Dauer, das den Benutzer warnt. Das Kopieren und Formatieren von 
Disketten ist je nach Dichte usw. mehr oder weniger langwierig; der Benutzer 
wird sich dabei vielleicht vom Computer entfernen. Aus diesem Grunde ist beim 
Auftreten eines Fehlers bei diesen Vorgängen eine Art Kojak-Sirene zu hören, die 
einen höheren Aufmerksamkeitswert als ein gewöhnliches Piepen besitzt. Sobald 
eine Taste gedrückt wird, hört das Geräusch auf. 
Der ASCII-Code 07 wird als BEL-Signal erkannt. Mit PRINT CHR&24&(7), einem 
entsprechenden Maschinenbefehl oder einem 07-Byte in einem Text o. ä. wird ein 
charakteristischer Ton ausgegeben, der etwa eine halbe Sekunde dauert und sehr 
eindringlich ist. Auf diese Weise können Aufforderungen zur Tastatureingabe o. 
dergl. bekräftigt werden. Die BEL-Routine funktioniert nur mit angeschlossenem 
EG 64 MBA. Ohne ihn wird der ASCII-Code 07 lediglich ignoriert, es gibt keinen 
Konflikt mit dem Betriebssystem. Sonstige Programme, die z. B. einen Tastenclick 
o. ä. erzeugen, werden nicht beeinflußt. Akustische Signale können nur mit einem 
angeschlossenen Verstärker erzeugt werden (beim Genie neuerer Bauart eingebaut). 
Ohne Verstärker sind die Signal-Routinen des H-DOS 2.3 wirkungslos, stören das 
System aber nicht.





Library-Befehl LWT:

Der Laufwerktest (Befehl LWT) wurde bei einigen G-DOS-Versionen durch die 
Fa. TCS Computer deaktiviert. Er ist im H-DOS 2.3 wieder funktionsfähig. 
Es wird jedoch davor gewarnt, der Anzeige auf dem Bildschirm allzuviel Vertrauen 
zu schenken. Sie ist recht ungenau und kann nur einen ungefähren Anhalt für die 
Geschwindigkeit der Floppy-Laufwerke geben.Nach der Eingabe von LWT erscheint 
eine Graphik auf dem Bildschirm. Nun werden nacheinander die Nummern der 
Laufwerke (0-3) eingegeben, deren Geschwindigkeit überprüft werden soll. Das 
Programm wird verlassen, indem man Laufwerk 0 anwählt und anschließend BREAK 
drückt.


Library-Befehl DDE:

Dieser Befehl ist im G-DOS Handbuch sehr unvollständig erklärt. Wenn Sie nach 
der Aufforderung "Dateiname:" einen Asterisken (*) eingeben, wird der zuletzt 
bearbeitete Sektor angezeigt, auch wenn zwischendurch andere Programme liefen. 
Bedingung ist, daß dabei der Adreßbereich um 5500 nicht verändert wurde. Bei 
Eingabe des Doppelkreuzes mit einer Laufwerknummer können Sie einen beliebigen 
Sektor der Diskette ansprechen, unabhängig von einer Datei. Dies sind 
Funktionen, die mit DDE bisher schon möglich waren, jedoch nicht im Handbuch 
erklärt sind.

Neu bei H-DOS ist die Möglichkeit, auch bei beliebigen Diskettenformaten 
(Spuren, Seiten, Dichte) bis an den letzten Sektor der Diskette heranzukommen 
(s. Abschnitt "Sonstige Änderungen"). Bei jedem späteren Aufruf dieser Funktion 
von DDE wird der zuletzt bearbeitete als der höchste Sektor der Diskette 
angesehen. Der wirklich Letzte ist daher nur beim ersten Aufruf von DDE 
erreichbar.Beim Wechsel zwischen ASCII und Hex-Anzeige im M-Modus mit der 
CLEAR-Taste springt der Cursor nicht mehr nach links oben, sondern er bleibt bei 
dem gerade aktuellen Byte. So können z. B. sehr bequem Texte modifiziert werden, 
die von Steuercodes für den Drucker, Zeilenvorschüben etc. durchsetzt sind.

Mit dem zusätzlichen Befehl T (für truncate) kann in der ASCII-Anzeige das 
Bit 7 bei Codes > 9Fh rückgesetzt werden. Auf diese Weise werden Texte in 
Klarschrift sichtbar, die durch das gesetzte Bit 7 verschlüsselt oder 
systembedingt kenntlich gemacht sind (z. B. Zeilennummern bei EDTASM-
Quelltexten). Die normale Anzeige erfolgt nach erneuter Eingabe von T.

Mit dem zusätzlichen Befehl C (für Controll Codes) werden die 
Zeichen <20h nicht als Punkte dargestellt, sondern unverändert in den Bildschirm 
geladen. Beim Genie I/II mit einer entsprechenden Hardware-modifikation und beim 
Genie III erscheinen jetzt Sonderzeichen, bei anderen Maschinen Großbuchstaben. 
Normale Anzeige nach erneuter Eingabe von C.


Library-Befehl INI:

Mit INI,N (N für nein) wird die Initialisierung des Parallel-RAMs (s. u.) 
rückgängig gemacht, wenn sie zuvor stattfand. Das System befindet sich nun in 
dem Zustand, den der Benutzer von G-DOS in der Normalversion gewohnt ist. Die 
neuen Dreitastenbefehle sind nun unwirksam. In seltenen Fällen der Unverträg-
lichkeit mit einem Anwenderprogramm oder einer anderen DOS-Erweiterung ist 
dieser Befehl angezeigt.
INI,J (J für ja): Mit diesem Befehl können Besitzer des MBA das parallele RAM 
im Adreßbereich 0000-3FFFh (0-16383d) initialisieren: Der Bereich 0000-2FFFh 
wird vom ROM auf das RAM kopiert, so daß spätere Modifikationen z. B. des 
Microsoft-Interpreters einfach möglich sind. In den Bereich 3600-3FFFh (memory 
mapped I/O) werden Nullen eingeschrieben, um böse Überraschungen z. B. mit der 
Tastatur beim Banking zu vermeiden. Die Resettaste wird für den MBA disabled, 
behält jedoch für das gesamte übrige System ihre normale Funktion. Anschließend 
werden die [nderungen des Betriebssystems vorgenommen, die die neuen 
Dreitastenbefehle und die Erkennung des BEL-Codes (s. u.) ermöglichen. Auch dies 
geschieht innerhalb einiger Sekundenbruchteile.
Das Befehlswort INI und die Option J oder N können durch Komma oder Leerzeichen 
voneinander getrennt werden.

Die INI-Bearbeitungsroutine ist so programmiert, daß der EG 64 MBA auch bei der 
verdoppelten Taktfrequenz von 3,54 MHz noch sicher schaltet, falls eine 
entsprechende Hardwaremodifikation an Ihrem Computer vorgenommen wurde.


Library-Befehl B2:

Dieser Befehl läuft nach wie vor ungestört ab, auch wenn vor der Eingabe mit 
INI,J oder BOOT ohne Linkspfeil das Parallel-RAM in das DOS einbezogen worden 
sein sollte. Die Bearbeitungsroutine von B2 versetzt zuerst das System in seinen 
ursprünglichen Zustand und initialisiert erst dann das Level2-BASIC. Dabei 
bleibt aber die ROM-Kopie im Parallel-RAM erhalten. Es ist daher auch von 
Level2-BASIC aus leicht möglich, Änderungen im Interpreter vorzunehmen.
Ohne angeschlossenen EG 64 MBA bleibt der Befehl B2 unverändert wirksam.


Library-Befehl CLS:

Ohne weitere Parameter arbeitet der Befehl CLS wie bisher. Wird nach Komma oder 
Blank jedoch noch ein G und erst dann NEW LINE eingegeben, so wird der Speicher 
der hochauflösenden Graphikplatine HRG 1b gelöscht. Der übrige Bildschirminhalt 
bleibt erhalten. Umgekehrt wird der Graphikspeicher vom DOS-Befehl CLS ohne 
weitere Parameter nicht beeinflußt.
CLS,G steuert die Ports 2, 3 und 5 an (alle mit Output). 
Bei nicht angeschlossener HRG 1b bleibt der Befehl folgenlos. Sind an den 
genannten Ports andere Bauteile betrieben, kann dieser Befehl mit nachfolgendem 
G vermieden werden.


Library-Befehl OUT:

Eine der Stärken des Z80-Mikroprozessors ist seine Fähigkeit, 256 Ports zur 
Ansteuerung externer Geräte zu adressieren. Mit dem OUT-Befehl kann auf einen 
beliebigen Port ein beliebiger Wert ausgegeben werden. Ein einfaches und 
durchaus alltägliches Beispiel ist die Ausgabe des Codes 0Dh (13d) auf den Port 
FDh (253d). Auf diese Weise wird der evtl. vorhandene Zeichenpuffer des Druckers 
ausgedruckt und ein Wagenrücklauf vollzogen (CR). Auch die Hardwareerweiterung 
HRG 1b für hochauflösende Graphik läßt sich auf diese Weise einfach bedienen 
sowie alle Geräte, die bei Ihrem Computer über einen Port geschaltet werden. Die 
Befehlssyntax ist OUT,port,code1,code2,... Dabei bedeutet port die Portnummer, 
code1/2/... sind die auszugebenden Codes. Es können gleichzeitig mehrere (bis 
der DOS-Eingabepuffer von 80 Zeichen Länge voll ist) ausgegeben werden. Wie im 
DOS üblich, können das Befehlswort und die Operanden durch Komma oder 
Leerzeichen getrennt werden. Die Portnummer und die Codes werden zweistellig 
sedezimal (hex) eingegeben.
Der OUT-Befehl des BASIC wird durch den DOS-Befehl OUT nicht beeinträchtigt.


Library-Befehl F:

In der Tastaturmatrix der Genie-Computer ist die Leitung AK7 nur mit DK0 über 
die Shifttasten verbunden. Es ist recht einfach, auch DK1-7 über zusätzlich 
einzubauende Tasten mit AK7 zu verbinden. Sie haben z. B. unterhalb des 
Cassettenrecorders (Genie I) Platz. Da sie vom System nicht abgefragt werden, 
ist ihre Verwendung beliebig, hier als Funktionstasten.
Wer diese Manipulation an der Tastatur scheut, kann auch mit CTRL-Zifferntasten 
(Shift-Abwärtspfeil-Zifferntaste 1-7) vorprogrammierte Funktionen abrufen.

Befehlssyntax für F:

F,J aktiviert die Funktionstasten bzw. CTRL-Zifferntasten.
F,N deaktiviert sie.Sie können dann beliebig anders verwendet werden.
F,L listet die programmierten Funktionen auf dem Bildschirm.
F,P listet sie auf dem Drucker.
F,nr,fct ordnet der F-Taste Nr. nr oder der entspechenden 
         CTRL - Zifferntaste die Funktion fct zu.

fct kann bis zu 32 Zeichen lang sein. Alle Tastatureingaben, die DOS in der 
Befehlsebene zuläßt, können enthalten sein (z. B. nicht BREAK oder CLEAR!). Soll 
NEW LINE innerer oder letzter Bestandteil einer Funktion sein, so ist es durch 
den Abwärtspfeil stellvertretend einzugeben. Sonstige ASCII-Codes können dem 
F-String nachträglich mit DDE eingefügt werden, wenn an ihrer Stelle einstweilen 
ein Dummycode über die Tastatur eingegeben wurde: Im vorletzten Sektor von 
HDOS/SYS steht die F-Tabelle. Hierbei ist darauf zu achten, daß das letzte Byte 
der Funktion das Bit 7 gesetzt erhält (also plus 80h bzw. 128d).
Achtung! Die letzten 32 Bytes dieses Sektors enthalten einen Teil des Bearbei-
tungsprogramms. Auf keinen Fall löschen!
Die Funktionstasten müssen mit Bedacht programmiert werden. Alle Zeichen einer 
Funktion werden eingelesen, auch wenn etwa ein auftretender Fehler an einer 
Stelle eine andere Tastatureingabe verlangen würde.


Library-Befehl B?:

Dieser Befehl ermöglicht die Abfrage der vom EG 64 MBA z. Zt. benutzten Banks. 
Dabei wird vorausgesetzt, daß ohne Bildschirm, Tastatur und Disk I/O der Befehl 
nicht gegeben werden konnte, so daß diese Banks nicht geprüft werden. Die 
Funktion der Resettaste kann nicht mit diesem Befehl getestet werden. Daher wird 
nur der Zustand der Banks 0000-2FFFh und 3000-35FFh angezeigt, sofern sie nicht 
auf Normalbelegung geschaltet sind. Es werden bei Parallelbelegung die Banks und 
ihr Read/Write-Status angezeigt. Bei den Library-Befehlen INFO und PORT ist 
diese Funktion inbegriffen. Sie verursachen nun bei Parallelbelegung keinen 
Systemabsturz mehr.
Angesichts des ansonsten erforderlichen Programm- und Diskettenplatzaufwandes 
wurde bei B? ein Schönheitsfehler in Kauf genommen: Wenn in einer der geprüften 
Banks im ROM gelesen und gleichzeitig im RAM geschrieben wird, erfolgt keine 
Anzeige. Dies ist für die Praxis in aller Regel belanglos.


Library-Befehl *:

Mit dem DOS-Befehl * wird der Interpreter so manipuliert, daß alle ASCII-Codes 
beim BASIC-Befehl LPRINT CHR&24&(x) zugelassen sind und un verändert an den 
Drucker weitergegeben werden. Bisher führte ASCII 0 lediglich zur Abfrage des 
Druckerstatus, 0A wurde in 0D verwandelt und 0B und 0C wurden zu einer Folge 
von mehreren 0A-Bytes.
Der Zeilenzähler im Drucker-DCB wird jetzt nicht mehr hochgezählt. Drucker 
neuerer Bauart unterhalten ihren eigenen Zähler, so daß dieser Platz im DCB für 
andere Zwecke frei bleibt. Hierbei ist jedoch zu beachten, daß beim Booten durch 
SYS0/SYS dort die beiden Bytes 48 und 00 eingeschrieben werden, so daß dort 
stehende Werte des Anwenders nach dem Library-Befehl BOOT oder einem Reset 
zunächst gelöscht werden.
Nach dem Einschalten, Reset oder den Befehlen BOOT und INI ist der Befehl * 
wirkungslos und muß jeweils erneut eingegeben werden.
Nach der Eingabe von * wird der Interpreter direkt, d. h. im Adreßbereich 
0000-2FFF verändert (nur mit dem EG 64 MBA möglich). Daher kann dieser Befehl 
nicht angewendet werden, wenn der Spooler aktiviert wurde, da dieser dort seinen 
Zeichenpuffer hat!


Library-Befehl ID:

Mit der Befehlssyntax ID,nr<,A> werden die PD-Parameter einer fremden Diskette 
in Laufwerk Nr. nr selbsttätig erkannt und auf die Systemdiskette zurück-
geschrieben. Falls ,A eingegeben wurde, sind die Änderungen sofort wirksam.


Library-Befehl V24:

Dieser Befehl existiert in allen G-DOS-Versionen, ist jedoch nur beim Genie 3 
aktiv. Bei den Genie-Modellen 1 und 2 erfolgt nur die Meldung, daß er noch nicht 
implementiert sei. Dem H-DOS wurde eine entsprechende Serviceroutine beigegeben. 
Mit ihr kann eine V24- bzw. RS232-Schnittstelle eingestellt werden. Bei einer 
Ansteuerung wie im Genie 3 ist diese Routine unverändert lauffähig. Wird das 
Interface jedoch über andere Ports oder memory mapped angesprochen, ist eine 
Modifikation leicht möglich. The HACKTORY bietet hierzu Hilfe an.
Diese Routine arbeitet im Adreßbereich ab 3000 (12288 dez.), der nur mit dem 
EG 64 MBA zugänglich ist.


Utility-Programm ASM/CMD:

Die eingedeutschte Version von EDTASM, die unter dem Namen ASM/CMD dem G-DOS 
beigegeben ist, enthält einen Fehler, der für H-DOS korrigiert wurde: Auf die 
Frage "TEXT IM PUFFER - Wollen Sie Sourcecode erweitern?" wird für "JA" nicht 
mehr Y, sondern J eingegeben.

Das G-DOS-Manual sagt nichts über die Handhabung von ASM/CMD aus. Hier kann die 
sehr umfangreiche Originalanleitung für EDTASM nicht wiedergegeben werden. Sie 
sei als bekannt vorausgesetzt. Zusätzlich kann ASM/CMD den Befehl SLL s 
bearbeiten (shift left logically; wie SRL s, Bit 0 wird immer 1). Für DEFB und 
DEFW können auch DB und DW eingegeben werden. Statt *LIST ON/OFF genügt 
*L ON/OFF.


Sonstige Änderungen:
Die Systemdatei SYS15/SYS, in der der Library-Befehl DDE bearbeitet wird, ist 
auf volle 5 Sektoren verlängert, um spätere Erweiterungen zu erleichtern. Eine 
hierzu notwendige Änderung in INHALT/SYS ist auf Ihrer H-DOS-Diskette berück-
sichtigt. Hierdurch wird kein zusätzlicher Diskettenplatz beansprucht, weil der 
fünfte Sektor systembedingt nicht von einer anderen Datei genutzt werden könnte.
Durch einen zusätzlichen Zap in SYS15/SYS können Sie nun auch dateiunabhängig 
Sektoren nach ihrer physikalischen Lage auf der Diskette bis zum letzten Sektor 
aufrufen. Das war bisher nur für das Format 40tr./SS/SD möglich.
Beim Library-Befehl CREATE muß in G-DOS die automatische Platzerweiterung mit 
der Option ADE=Y (für YES) festgelegt werden (dieser Sprachfehler soll bei 
jüngsten G-DOS-Versionen behoben sein). Für H-DOS wurde J (für JA) ermöglicht.
Überall, wo in G-DOS der Name des Systems stand, steht nun "H-DOS" oder eine 
entsprechende Codierung. So heißt z. B. GDOS/SYS jetzt HDOS/SYS, ASM/CMD meldet 
sich mit "HACKTORY-Disk-Assembler", bei fehlerhaftem System wird statt "GDOS?" 
jetzt "HDOS?" angezeigt usw. Dies ist wichtig, weil beispielweise mit DDE der 
Bootsektor nicht mehr mit dem Namen GDOS/SYS gefunden werden kann.
Optisch unschöne Meldungen des Systems wurden für H-DOS verbessert. So liegen 
beispielsweise die Spalten der Anzeige des Library-Befehls INFO nunmehr in 
einer Linie usw..

Für Benutzer der HRG 1B:
Bei den DOS-Befehlen PORT und INFO werden Sie festgestellt haben, daß die Ports 
00-05, die die HRG ansteuern, entgegen der Anleitung nicht nur bei der Ausgabe 
die Platine schalten. Um zu vermeiden, daß bei diesen Befehlen die hoch-
aufgelöste Graphik in den Bildschirm eingeblendet wird, wurden die Bearbeitungs-
routinen von INFO und PORT modifiziert: Nunmehr werden nur noch die Ports 02-FF 
abgefragt. Sollte der User mit den Ports 00-01 eine andere Hardwareerweiterung 
ansteuern, genügt die [nderung eines Bytes, das wir Ihnen auf Anfrage nennen.
H-DOS löscht beim Booten (Einschalten, Reset, BOOT) den Graphikspeicher 
automatisch. Soll sein Inhalt jedoch erhalten bleiben, ist während des Bootvor-
gangs die Shifttaste gedrückt zu halten. Um das Gegenteil zu erreichen (Löschen 
des Graphikspeichers nur bei gedrückter Shifttaste), muß ein Byte geändert 
werden, das gegf. auch benannt werden kann.

Allgemeine Hinweise:
Ein Betriebssystem ist letztendendes auch nur ein Programmpaket, so auch H-DOS. 
Es belegt im wesentlichen die durch G-DOS nicht benutzten SYS-Files bzw. 
freigebliebenen Platz in bereits belegten. Wer ausschließlich Anwenderdateien 
programmiert, braucht sich hierum nicht zu kümmern. 
Wer das DOS verändern möchte, muß wissen, wo die einzelnen neuen Features von 
H-DOS bearbeitet werden:
Was bereits beim Booten erledigt wird (Initialisieren des Parallel-RAMs mit dem 
EG 64 MBA und Löschen des HRG-Speichers), geschieht in SYS24/SYS. Um dies mit 
Linkspfeil bzw. Shifttaste verhindern zu können, ist ein Zap in SYS0/SYS eing-
ebracht.

In SYS22/SYS werden folgende Funktionen von H-DOS bearbeitet: 
Graphik JKL, Funktionstasten, ID.

In HDOS/SYS (entspr. BOOT/SYS für NEWDOS-80 und GDOS/SYS für G-DOS) liegt die 
Tabelle der vorprogrammierten Funktionen. An ihrem Ende befinden sich essentiell 
wichtige Programmteile, die auf keinen Fall überschrieben werden dürfen.

In SYS26/SYS werden bearbeitet: <,./>, <345>, <567>, * und CLS.
Außerdem gibt es in nahezu allen SYS-Dateien Zaps, die Fehler von G-DOS beheben 
oder G-DOS erweitern, z. B. um die akustischen Signale.
Die Library in SYS1/SYS ist um die entsprechenden Befehle erweitert bzw. für 
bestehende Befehle verändert (z. B. CLS).
Das DOS-Prompt in SYS1/SYS ist nach Möglichkeit dem Erwerber persönlich 
angepaßt. Es kann mit DDE nach Belieben verändert werden. Andere Veränderungen 
können u. U. zu fatalen Folgen führen, deshalb sei eine vorherige Rücksprache 
mit dem Autor empfohlen.
Da H-DOS in Abständen von einigen Tagen erweitert, verbessert, debugged wird, 
sind Änderungen gegenüber dem oben Gesagten vorbehalten (eher wahrscheinlich).

Zusätzliche Hinweise:
Keine dieser Erweiterungen beansprucht Speicherplatz im Anwenderbereich 
5200-FFFF oder zusätzlichen Diskettenplatz, denn es wurden nur bestehende 
Systemdateien durch Zaps verändert bzw. eigens neue, bisher unbenutzte 
Systemdateien kreiert, die in den Adreßbereich 4D00-51FF laden. Deshalb können 
alle Programme für die herkömmlichen DOS-Versionen auch weiterhin gefahren 
werden. 
Eine Einschränkung versteht sich allerdings von selbst: Da die Erweiterungen 
auch nur mit Wasser kochen und z. B. den Druckertreiber beeinflussen (<JKL>, 
<567> usw.), ist beispielsweise eine Graphik-Hardcopy bei solchen Programmen 
nicht möglich, die ihrerseits den Treiber auf eine eigene Routine verbiegen. 
Dies gilt sinngemäß für alle hier beschriebenen Routinen. Schlimmstenfalls 
wird dann die Erweiterung nicht funktionieren, ein fataler Konflikt ist jedoch 
nicht zu erwarten.
DOS-Moduln und Utility-Programme, die in G-DOS im Anwenderbereich ab 5200 liegen 
(BASIC/CMD, ASM/CMD, SYS15/SYS u. a.), belegen diesen Speicherplatz allerdings 
auch in der für H-DOS modifizierten Form. Eine Verlegung in den Bereich 
unterhalb 4000 via Bank Selection - im Prinzip durchaus möglich - erschien nicht 
angebracht, weil H-DOS auch ohne EG 64 MBA sinnvoll anwendbar bleiben sollte.

Um wirklich für alle Eventualitäten vorbereitet zu sein, sind diejenigen 
Features abschaltbar, die den DOS-Kern betreffen (<,./>, <567>). Das geschieht, 
indem man die Linkspfeil-Taste beim Booten gedrückt hält (ähnlich NEW LINE, um 
den AUTO-Befehl zu unterdrücken). Die übrigen Features von H-DOS 2.3 bleiben 
erhalten. Es kann jedoch nicht zu Konflikten mit vorhandenen Programmen kommen, 
da diese Befehle jeweils gesondert aufgerufen werden müssen, was man eben 
unterlassen kann.
Wenn der Benutzer den MBA nicht besitzt oder zeitweilig nicht angeschlossen hat, 
kann H-DOS unverändert gefahren werden. Hier erübrigt sich das Drücken der 
Linkspfeiltaste, weil die Abwesenheit des MBA automatisch erkannt wird. Die 
Befehle <,./> und <567> sind dann wirkungslos. Akustische Signale erfolgen ohne 
MBA nur bei den Fehlermeldungen, nicht mehr mit dem BEL-Code ASCII 07. Beim 
DOS-Befehl INI wird die Fehlermeldung "Bauteil nicht erreichbar" ausgegeben.

H-DOS-Features, die die hochauflösende Graphik mit der HRG 1b betreffen, haben 
für H-DOS keine konstitutive Bedeutung. Die entsprechenden Befehle können bei 
nicht eingebauter HRG einfach vermieden werden. Sollte über die HRG-Ports 00-05 
irgendein anderes Peripheriegerät betrieben werden, ist eine diesbezügliche 
Änderung des H-DOS kein Problem. Bitte gegf. Anfragen.
The HACKTORY kann keine Haftung für Schäden übernehmen, die mittelbar oder 
unmittelbar durch die Verwendung von H-DOS entstehen. Nach menschlichem Ermessen 
sind Probleme jedoch nicht zu erwarten.

H-DOS ist ein Warenzeichen von 
The HACKTORY Arnulf Sopp, Wakenitzstr. 8, D-2400 Lübeck 1, Tel. 0451-791926, 
G-DOS und EG 64 MBA sind Warenzeichen der Fa. TCS-Computer GmbH, 
NEWDOS/80 ist ein Warenzeichen der Fa. Apparat, Inc. und HRG 1B ist ein 
Warenzeichen der Fa. RB Elektronik Vertrieb GmbH.

Kopien der H-DOS-Systemdisk für den persönlichen Bedarf (Schonung und Sicherung 
des Originals) werden ausdrücklich empfohlen. Die Weitergabe von H-DOS ist nur 
mit schriftlicher Genehmigung von TCS und The HACKTORY gestattet. Der Name des 
Käufers ist auf der Diskette codiert und kann daher beim Auftauchen von 
Raubkopien ermittelt werden.
