Genie3s CPM-2.2 TCS Kaempf 1985 bw full

Klaus Kämpf
r •« t U •
COiMPUTER GMBH
Klaus Kämpf
CP/M
für
GENIE Ills
COM PUTER GMBH
Genie IIIs CP/M 2.2 Handbuch
Copyright (c) by Klaus Kämpf 1985
Alle Rechte Vorbehalten, insbesondere auch diejenigen aus der
spezifischen Gestaltung, Anordnung und Einteilung des angebo­
tenen Stoffes. Dieses Handbuch darf weder teilweise noch als
ganzes, in irgendeiner Form oder für irgendeinen Gebrauch
elektronisch, optisch, magnetisch, chemisch, manuell oder auf
andere Art reproduziert, üb e r t r a g e n oder übersetzt werden,
ohne ausdrückliche schriftliche Genehmigung des Autors.
Technische Änderungen Vorbehalten.
Alle in diesem Handbuch gemachten Angaben erfolgen ohne Ge ­
währ und ohne Anspruch auf Vollständigkeit und Richtigkeit.
Dieses Handbuch und die darin beschriebenen Programme können
jederzeit und ohne Benachrichtigung geändert oder der techni­
schen Entwicklung angepasst werden.
Warenzeichen
C P / M ist ein e i n g e tragenes W a r e n z e i c h e n der F i r m a Digital
Research
Wordstar ist ein eingetragenes Warenzeichen der Firma Micro­
Pro International
T e l evideo 950 ist ein eing e t r a g e n e s W a r e n z e i c h e n der F i r m a
Televideo
Inhaltsverzeichnis
Abschnitt
Thema
Seite
Vorwort
7
Einführving ins CP/M 2.2
8
Starten des System
Booten des Systems
Anfertigen einer Sicherungskopi«
Service
2. 1
2.2
2.3
Die Tastatur
3.
3.
3.
3,
3.
3,
3
3,
3
3,
3
3,
3
3.4
3.4
3.4
3.4
3.4
3.4
3.4
3.4
3.4
3.4
3.4
3.4
3.4
3.4
3.4
3.4
0
1
2
3
4
5
5
7
7.
7.
7.
7.
7.
8
9
10
10
.1
1 0 .2
10 3
1 0 ,4
10
11
,5
Tastaturaufteilung
Besonderheiten der Tastaturbedienung
Tastenklick
Tastenwiederholung
Type-ahead
Funkt ionstasten
Spezielle Tasten und Tastaturfunktionen
Einleitung
SHIFT-Taste
CTRL-Taste
BREAK-Taste
ESC-Taste
CLEAR-Taste
ALPHA-LOCK-Taste
Pfeiltasten
Einleitung
Hochpfeil-Taste
Tiefpfei 1-Taste
Linkspfei 1-Taste
Rechtspfeil-Taste
Leertaste
PRINT-Taste
Px-Tasten P1,P2,P3,P4 und P5
P1 -Tastenklick
P2 -Wiederholung
P3 -Fehlermeldung
P4 -Pufferanzeige
P5 -Monitormodus
Anzeige der Serien- und Versionsnummer
9
11
12
14
14
15
15
15
16
16
17
17
17
18
18
18
19
20
20
20
20
20
21
21
21
22
22
23
23
23
24
24
24
4.1
4.2
4.3
4.4
4. 5
4. 5
4. 5
4, 5
4. 6
4. 6
4. 6
4, 6
4. 7
4. 7
4. 7
4. 7
4. 7
4, 8
4. 9
4, 1 0
4. 11
4. 12
4. 13
4. 14
4, 14
4. 14
4, 14
4. 14
4 ,14
4, 14
4, 14
4. 14
4. 14
4, 14
4. 14
4 14
4. 14
4 14
1
2
3
,4
,5
,6
,7
,8
9
,10
,11
. 12
,13
.14
Grundlagen
BiIdschirmformat
Bildschirmseiten
Zeichensatz
Videomodi
Linemodus/Pagemodus
Editmodus/Insertmodus
Zeilenüberlauf
Ausgabemodi
PRINT-Modus
PRTO-Modus
PRT1- und PRT2-Modus
Die 25. Zeile
Verwendung als Statuszeile
Verwendung als Benutzerzeile
Verwendung für andere Anzeigen
Abschalten der 25. Zeile
Zeichenattribute
Cursorattribute
Tabulator
Graphikmodus
Monitormodus
Rückmeldung von Werten
Controlcodes und Escapesequenzen
Cursorbewegungen
Löschbefehle
Editierbefehle
Wahl des Videomodus
Wahl des Attributes
Wahl des Ausgabemodus
Tabulatorbefehle
Status- und Benutzerzeile
Wahl des Monitor- und Graphikmodus
Programmierung der s e r . Schnittstel len
Programmierung der Funktionstasten
Programmierung der Systemparameter
Befehle zur Rückmeldung von Werten
Spezielle Funktionen
25
26
26
26
27
27
28
28
29
29
29
29
30
30
30
31
31
31
32
32
33
33
33
34
34
35
36
36
37
37
37
38
38
38
38
39
39
39
5.1
5.1.1
5.1
5.1
5.1
5.1
5.2
5.3
5.4
Ein- und Ausgabekanäle
Erster Hauptkanal
Zweiter Hauptkanal
Dritter Hauptkanal
Vierter Hauptkanal
Zuordnung der Kanäle
Centronics-Schnittstelle
Serielle Schnittstellen
Parallele Schnittstellen
Massenspe ieher
6 ,,1
5, 2
6, 2
6. 2
6 . ,3
6. 3
6 ..4
5. 4
6..5
6 ,5
6 ,5
5.5
6.6
6.5.1
6.5.2
.
.
7
7.1
8
8.1
8.2
8.3
Einführung
Diskettenlaufwerke
Diskettenfehler
Erweiterte Fehlermeldung
RamDisk
RamDiskfehler
Winchester
Winchesterfehler
Booten von anderen Laufwerken
Booten von anderen Formaten
Booten von 8 Zoll Laufwerken
Booten von der Winchester
CP/M und GDOS
Übertragung von Dateien
CP/M und GDOS auf der Winchester
Syst emkon f igur ierung
CONFIG
Unterstützung von Zusatzkarten
Uhrenkarte
Hostadapter
Andere Zusatzkarten
41
41
42
42
42
43
44
44
44
45
45
46
46
47
49
49
50
50
51
51
51
51
52
52
52
53
53
50
60
60
60
9
9.0
9.1
9.2
9.3
9.4
9.5
9.6
10
10.0
10.1
10.2
10.3
10.4
10.5
11
11.1
11.2
11.3
11 .4
11.5
11.6
11.7
11.8
11.9
11.10
11.11
11.12
11.13
11.14
11.15
CP/M Systembefehle
Einleitung
DIR
ERA
REN
TYPE
USER
SAVE
CP/M Standardprogramme
Einleitung
PIP
STAT
DDT
SUBMIT
XSÜB
CP/M Dienstprogramme
AUTO
INFO
PD
FORMAT
CPMGEN
TASTEN
FKEY
SIO
TERM
ZEIT
DATUM
WNFORMAT
BOOT
CONFIG
UHR
61
61
62
63
64
65
66
67
58
58
69
73
76
81
83
84
85
86
87
89
90
91
92
94
97
98
99
100
105
106
107
12, 1
1 2 . 1 .1
1 2 1 .2
1 2 1 .3
1 2 . 1 .4
1 2 1 ,5
1 2 . 1 .6
,
,
,
1 2 , 1 ,7
1 2 1 ,8
12 2
,
,
12, 2. 1
12. 2.2
1 2 , 2.3
12, 2.4
1 2 . 2.5
Änderungen im BDOS
Close File
Set User Code
Printfunktion
Warmstart nach Diskettenfehler
Warmstart nach fehlerhafter Lw'sanwahl
Reset Disk System
Ausgabe einer Fehlermeldung
Änderung der Fehlertexte
CHIOS
Erweiterte Sprungtabelle
Adressen ab BIOS+50H
Zugriff auf die Uhrentabelle
MOVMEM-Routine
Zugriff auf die Diskettenparameter
108
108
109
109
109
109
110
110
111
112
112
113
114
1 15
117
Anhänge
A
A. 1
A. 1 1
A, 1 2
3
Speicheraufteilung, Speichernutzung
Memory-Map
Bank 0
Bank 1
Banks 2 und 3
Diskettenaufteilung der Systemdiskette
SYSTAB
FKYTAB
V ideokomnandos
B. 1
B. 2
ControlSequenzen
Escapesequenzen
Freedformate
C. 1
C. 2
C.3
Unterstützte Fremdformate
Systembedingte Grenzen der Formate
Aufbau des PDRIVE.SYS
Tastaturtabellen
D. 1
D. 2
D. 3
Nummern und Belegungen der Tasten
Spezielle Tastencodes
Belegung der Sondertasten
118
118
118
119
119
120
121
126
127
127
129
141
141
143
144
147
147
150
151
E. 1
E. 2
E.3
F. 1
F. 2
Normale Zeichen
Graphikzeichen
ASCII-Tabelle
153
155
156
Literaturhinweise
157
Literatur zu CP/M
Literatur zu der Hardware
157
157
Vorwort
Mit dem Kauf des CP/M-Betriebsystems für den Genie IIIs haben
Sie Zugang zum größten Softwarepotential der Welt.
Das Genie IIIs unter CP/M 2.2 leistet weit mehr als herkömm­
liche CP/M Systeme. Durch konsequente Ausnutzung der vielfäl­
tigen Möglichkeiten, die Ihnen das Genie IIIs bietet, konnte
eine der mächtigsten CP/M Implementationen geschaffen werden.
Die h e r a u sragende Besonderheit des Genie IIIs CP/M ist die
Ausnutzung der 128k Hauptspeicher, womit Ihnen ungewöhnlich
viel Speicherplatz unter CP/M zu Verfügung steht. Die Unter­
stützung von Tastatur und Bildschirm ist äußerst komfortabel,
so daß kaum ein Wunsch offen bleibt.
Die v o rliegende erste Ausgabe des CP/M 2.2 Handbuchs geht
vornehmlich auf die speziellen Eigenschaften des CP/M für den
Genie IIIs ein.
Eine ausführliche Einführung bietet das zur Zeit mitgeliefer­
te Buch ’Bernd Pol, Vom Umgang mit CP/M*.
Aus diesem Grund sind die Kapitel 9 und 10 nur als Überblick
über die CP/M Befehle und Standardprogramme gedacht und erhe­
ben keinen Anspruch auf Vollständigkeit.
Aachen im März 1985
Klaus Kämpf
1. Binfährun^ in CP/M
In Vorbereitung, siehe mitgeliefertes Buch
2.
2.1
Starten des Systems
Booten des Betriebsystei
Unter dem Begriff Booten versteht man das Einladen des B e ­
triebsystems in den Speicher und die anschließende Übergabe
des Programmablaufs an das Betriebssystem.
Das GENIE IIIs CP/M stellt sich beim Booten automatisch auf
die vorhandene Ge r ä t e k o n f i g u r a t i o n (Speichergröße, Zusatz­
karten, Winchester) ein. Damit das CP/M die Konfiguration
richtig und v o l l ständig erkennt, sollte der Bootvorgang in
folgender Reihenfolge ablaufen:
1.
Bevor Sie das Genie IIIs einschalten, achten Sie darauf,
daß
- alle elek t r i s c h e n Ver b i n d u n g e n einwandfreien Kontakt
haben
- der eingebaute Lüfter genügend Frischluft erhält
- in keinem der Laufwerke eine Diskette liegt
2.
Schalten Sie das Gerät ein. Falls Sie externe L a u f w e r k e
oder sonstige Perip h e r i e g e r ä t e angeschlossen haben,
schalten Sie diese vorher ein.
3.
Legen Sie die CP/M-Systemdiskette in das untere der bei­
den eingebauten 5 1/4 Zoll L a u f w e r k e und schließen Sie
vorsichtig die Laufwerksklappe. Nach 1-2 Sekunden wird
der Bildschirm abgedunkelt und das Betriebssystem gela­
den. Danach erscheint auf dem Bildschirm das Logo 'GENIE
IIIS CP/M' und die Copyrightmeldung.
Sollte diese Meldung nicht erscheinen, so kann dies ver­
schiedene Gründe haben:
- Die LSP-Taste ist gedrückt. Das CP/M kann nur bei hoher
Taktfrequenz gebootet werden
- Die Diskette ist falsch eingelegt worden.
Der Aufkleber auf der Diskette (Label) muß nach oben,
die seitliche Diskettenkerbe nach links weisen.
- Die eingelegte Diskette ist keine Systemdiskette. In
diesem Fall verdunkelt sich der Bildschirm nicht, son­
dern es erscheint die M e l d u n g 'Memory-Test Bank: 0 1'
und 'Boot-Error'.
Vergewissern Sie sich, ob Sie eine CP/M 2.2 Systemdis­
kette eingelegt haben.
Dieselbe M e l d u n g erscheint auch, wenn die Diskette
nicht einwandfrei im Laufwerk liegt. Nach dem Einschal­
ten läuft das untere Laufwerk automatisch an und garan­
tiert bei v o r s i c h t i g e m Schließen der L a u f w e r k s k l a p p e
eine optimale Zentrierung der Diskette.
- Di« Diskette ist defekt. Das Genie IIIs hat den BootSektor nicht einwandfrei indentifiziert und bricht den
Boo t v o r g a n g ab. Schalten Sie das Gerät für ein paar
Sekunden aus und probieren Sie den Bootvorgang mit
einer anderen Systemdiskette.
Sollte auch nach Befolgung aller obigen Regeln die Diskette
nicht booten, wenden Sie sich bitte an Ihren Händler.
Nun testet das Betriebssystem die Gerätekonfiguration aus und
stellt sich darauf ein. Es erfolgt ein kurzer Speichertest,
der nur prüft, ob mehr als 128K Hauptspeicher vorhanden ist.
Die Meldung 'Konfiguriere System für xxxK Speicher' zeigt die
erkannte SpeichergröBe an. Als nächstes erfolgt der Test auf
die Hardwareuhr (TCS-Clock). Ist keine Uhrenkarte vorhanden,
so wird die Datums- und Zeitanzeige in der Statuszeile unter­
bunden. Es erscheint dann nicht das aktuelle Datum, sondern
das D a t u m der be n u t z t e n C P / M Version. Die Uhr bleibt auf
'0 0 :0 0 :0 0 '.
Falls die interruptgesteuerte Tastaturabfrage aktiviert ist,
kommt als letzte Meldung 'Type-ahead Tastatur und Interrupts
aktiv' (näheres siehe Kap. 3 und 7).
Bei mehr als 128k Hauptspeicher wird der zusätzliche Speicher
als RamDisk benutzt und dies durch die Meldung 'Initialisiere
RamDisk' angezeigt (weiteres siehe Kap 6.3).
Wenn das S ystem danach eine a ngeschlossene oder eingebaute
Winchester erkennt, prüft es, ob diese ihren Selbsttest been­
det hat. Dies kann unter Umständen, insbesondere kurz nach
dem Einschalten des WinchesterlaufWerks, bis zu einer Minute
in Anspruch nehmen. Einige Laufwerke zeigen diesen Testlauf
auch durch eine blinkende Leuchte an.
Sobald die W i n c h e s t e r ihre 'Klarmeldung' abgibt, wird der
Winchesterkopf kalibriert und der W i n c h e s t e r c o n t r o l 1er auf
die physikalischen Werte des Laufwerks initialisiert.
Bei 128k Hauptspeicher oder nicht vorhandener Winchester wird
der Zugriff auf diese L a u f w e r k e gesperrt. Da diese Sperrung
auch auf Kopien übertragen wird, ist eine spätere Freischal­
tung nur über das CONFIG-Programm (Kap. 7) möglich.
Mit dem Erscheinen des Systemprompts 'A>' ist der Bootvorgang
abgeschlossen und das Betriebssystem zur Befehlsannahme b e ­
reit.
2.2 Anfertigen einer Sicherungskopie
Bevor Sie mit dem CP/M-Betriebssysstem arbeiten, sollten Sie
sich mehrere Kopien der Originaldiskette machen. Die Origi­
naldiskette verwahren Sie bitte an einem sicheren Ort auf, da
Sie diese Diskette zusammen mit der Seriennummer als recht­
mäßiger Benutzer des CP/M ausweist.
Zur Kopierung der Originaldiskette gehen Sie bitte in folgen­
der Reihenfolge vor:
1 . Legen Sie eine neue Diskette in das zweite (obere) einge­
baute Laufwerk.
2. Geben Sie den Befehl 'FORMAT B' ein. Die Diskette im
zweiten Laufwerk wird dadurch formatiert.
3. Nach Wiedererscheinen des Systempropts *A>' geben Sie den
Befehl 'CPMGEN B' ein. Dadurch wird das Betriebssystem auf
die zweite Diskette kopiert.
4. Als letzter Schritt folgt der Befehl 'PIP B:»*.*'. Darauf­
hin werden alle Programme und Daten der Originaldiskette
auf die zweite Diskette kopiert.
Nach Abschluß der Kopie entnehmen Sie bitte die Originaldis­
kette dem unteren L a u f w e r k und legen Sie stattdessen die
Kopie in dieses Laufwerk. Drücken Sie nun die beiden mit 'RS*
b e z e ichneten Tasten der Tastatur und lassen sie wieder los.
Dadurch wird nun die Kopie gebootet, was gleichzeitig ein
Test für einen erfolgreichen Kopiervorgang ist.
Wie d e r h o l e n Sie bitte mit der neuen Kopie die Schritte 1-4,
damit Sie mehrere Systemdisketten haben.
ZUR BEACHTUNG:
Die Originaldiskette und alle Kopien enthalten Ihre Serien­
nummer. Neben dem B e t r i e b s s y s t e m u n t e rliegen auch alle auf
der O r i g i n a l d i s k e t t e befindlichen P r o g r a m m e und Daten dem
ürheberrechtsschutz. Jegliche Kopien sind nur für Ihren per­
sönlichen Gebrauch bestimmt. Eine Weitergabe der aufgezeich­
neten Daten und Programme in jedweder Form ist verboten und
wird als Verstoß gegen das Urhebergesetz strafrechtlich ver­
folgt .
2.3 Service
Dieses H a n dbuch kann sicherlich nicht alle auftauchenden
Fragen oder P r o b l e m e restlos klären. Da die Genie IIIs CP/M
Anpassung von einem unabhängigen Autor erstellt wurde, können
auch die Händler oder die Fa. TCS nur begrenzte Auskunft
geben. Falls Sie also spezielle Fragen zum Genie IIIs CP/M
haben sollten, wenden Sie sich bitte an:
Klaus Kämpf
Softwareentwicklung
Jakobstr. 236
5100 Aachen
Alle Anfragen sollten folgende Daten beinhalten:
- Seriennummer (1045-xxxxx),
- Versionsnummer und
- Versionsdatum Ihres Betriebsystems.
(Diese Daten erhalten Sie, wenn Sie die drei Tasten R e c h t s ­
pfeil, Linkspfeil und Leertaste gleichzeitig drücken)
- Speichergröße Ihres Gerätes
- Angeschlossene Laufwerke und Peripheriegeräte
Um das Genie IIIs CP/M möglichst allen Kundenwünschen anzu­
passen, sind Verbesserungsvorschläge und konstruktive Kritik
willkommen.
Aufgrund der großen Speic h e r k a p a z i t ä t des Genie IIIs sind
auch s p e z iellere Anp a s s u n g e n des C P / M - B e t r i e b s s y s t e m s an
andere Gerätekonfigurationen oder eine andere Terminalemula­
tion leicht möglich. Falls Sie besondere Konfigurationswün­
sche b e z ü g l i c h des Genie IIIs CP/M haben sollten, so können
diese also relativ leicht eingebaut werden.
Genie IIIs spezifische CP/M-Zusatzprogramme können Sie über
Ihren Händler oder die obige Adresse beziehen. Zur Zeit sind
folgende Programme erhältlich:
PDRIVE.COM
I .COM
G C .COM
C G .COM
DEF.COM
DM 79.Programm zur Anpassung eines Fremdformates.
Durch Eingabe der STAT DSK:-Parameter und
des p hysikalischen A u f z e i c h n u n g s f o r m a t e s
können Sie sich selbst weitere F o r m a t e
erstellen.
DM 145.P r o g r a m m p a k e t zum Übertragen von Dateien
zwischen den beiden Betriebssystemem CP/M
und GDOS.
DM 95.P r o g r a m m zur Definition eigener Z e i c h e n ­
sätze .
In Vorbereitung:
MSDOSCPM und CPMMSDOS
Programme zur Übertragung von Daten zwischen CP/M und MS-DOS
Disketten.
TERM
Ein erweitertes Terminalprogramm
FASTCOPY
Ein superschnelles Kopierprogramm
SSO DSDD und D80 DSDD
für Disketten der Formate
3.1 Tastaturaufteilung
Um weitestgehende Kompatibilität des Genie IIIs mit den ande­
ren Geräten der Genie-Serie zu erhalten, wurde die Tastatur
nicht mit eigener Intelligenz ausgestattet, sondern als of ­
fene X-Y-Matrix konstruiert.
Dieser im ersten Augenblick vielleicht nachteilig erscheinen­
de Punkt, stellt sich aber als sehr wichtiges Teil der Flexi­
bilität des Genie IIIs heraus. Sogenannte intelligente Tasta­
turen, wie sie in anderen Geräten v e r w e n d e t werden, haben
meist den großen Nachteil, daß die Tastenbelegung fest vorge­
schrieben ist. Insbesondere bei Tastaturen mit mehr als den
n o r m a l e n S c h r e i b m a s c h i n e n t a s t e n ist die feste Belegung der
zusätzlichen Tasten meist ein Hindernis. Diesen Punkt haben
andere Hersteller erkannt und programmierbare Tastaturen auf
den Markt gebracht.
Bei diesen T a s t a t u r e n ist die T a s t e n b e l e g u n g e n tweder in
e inem p r o g r a m m i e r b a r e n F e s t w e r t s p e i c h e r (EPROM) abgelegt,
oder sie ist softwaremäßig nachladbar. Im ersten Fall, kann
man die B e legung zwar einmal frei wählen, jedoch nicht
dauernd beliebig ändern. Softwaremäßig nachladbare Tastaturen
erfüllen zwar alle Wünsche, doch dieser hardwaremäßige Mehr­
aufwand hat seinen Preis.
Beim Genie IIIs ist die Tastatur als offene X-Y-Matrix ausge­
legt und die Belegung der einzelnen Tasten wird vom Programm
festgelegt. Im Genie IIIs CP/M wurde jeder Taste eine Nummer
gemäß ihrer Stellung innerhalb dieser Matrix zugewiesen (vgl.
Anhang D).
Durch die beiden K o n t r o l 1tasten SHIFT und CTRL kann jede
Taste bis zu vier verschiedene Werte zwischen OOH und OFFH (0
bis 255) erzeugen.
Die Fes t l e g u n g dieser vier Zeichen kann jederzeit über das
P r o g r a m m T ASTEN den j e w e i l i g e n B e d ü r f n i s s e n und Wünschen
angepasst werden. D adurch können insbesondere diejenigen
Benutzer, die mit a m e r i k a n i s c h e n T a s t a t u r e n (Y und Z v e r ­
tauscht) vertraut sind, die Genie IIIs Tastatur entsprechend
umprogrammieren (siehe Kap. 11.6).
Die Tabelle im Anhang D gibt Aufschluss darüber, welche Taste
in der gelieferten Version welchen Code erzeugt. Die Spalten
SHIFT, CTRL und SHIFT&CTRL geben dabei die Werte an, die die
Taste erzeugt wenn sie z u s a m m e n mit den Kontrol 1 tasten g e ­
drückt wird.
Die Tastenwerte OIH bis 7FH (1 bis 127) werden grundsätzlich
direkt übergeben. W e r t e z w i s c h e n 80H und EFH (128 bis 239)
kennzeichnen die 112 möglichen Funktionstasten. Dabei wird,
je nachdem ob die Funktionstasten aktiviert sind oder nicht
(siehe Anhang B, ESC _ x), entw e d e r der Funktionstastentext
oder der Wert übergeben.
Die Programmierung der 112 Funktionstasten geschieht entweder
über das P r o g r a m m FKEY (Kap. 11.7) oder über eine Escapesequenz (siehe Anhang B, ESC ö). Die restlichen Werte FOH bis
FFH (240 bis 255) werden für spezielle T a s t aturfunktionen
herangezogen, die im Kapitel 3.4 erklärt sind. Eine T a s t e n ­
kombination mit dem Wert OOH hat keine Funktion und kann bei
b e s t i m m t e n A n w e n d u n g e n auch zur Sperrung ge w i s s e r Tasten
benutzt werden.
3.2 Besonderheiten der Tastaturbedienung
3.2.1 Tastenklick
Diese Funktion benutzt den in die Tastatur integrierten Laut­
sprecher zur Erzeugung eines kurzen Klicktons bei jeder betä­
tigten Taste. Insbesondere bei Ausnutzung der Type-ahead
Mögli c h k e i t (Kap. 3.2.3) ist diese Tas t e n q u i t t i e r u n g sehr
nützlich, da man direkt hören kann, ob die Taste erkannt
wurde oder nicht.
Die a u t o m a t i s c h e T a s t e n w i e d e r h o l u n g {Kap 3.2.2) gibt ebenfalls für jedes erzeugte Zeichen einen Klickton aus. Bei der
Betätigung einer Funktionstaste ertönt nur ein Klickton, auch
wenn die Taste mehr als ein Zeichen erzeugt.
Da der Tastenklick, bei all seinen Vorzügen, auch störend
sein kann, gibt es zwei M ö g l i c h k e i t e n ihn zu unterbinden.
Einmal die Tastaturfunktion CTRL-P1 (Kap. 3.4.10.1) oder die
Escapesequenz ESC <, die ein programmgesteuertes Ausschalten
erlaubt. Bei sehr z e i tkritischen T a s t a t u r a b f r a g e n kann es
auch von Vorteil sein, den T a s t enklick abzuschalten, da er
softwaremäßig erzeugt wird und somit etwas Zeit in Anspruch
nimmt.
3.2.2 Tastentfiederholung
Jede Taste wird, nach d e m sie eine g e w i s s e Zeit gedrückt
gehalten bleibt, a u t o m a t i s c h wiederholt. Dadurch kann ein
Zeichen sehr leicht mehrfach erzeugt werden.
Da die Tastenabfrage und -Wiederholung über Software gesteu­
ert wird, kann eine gleichbleibende Wiederholungsfrequenz bei
verschiedenen Programmen jedoch nicht immer eingehalten wer­
den .
Dies liegt daran, daß die W i e d e r h o l u n g nicht nach einem
bestimmten Zeitrhythmus abläuft, sondern von der Anzahl der
T a s t a t u r a b f r a g e n b e s t i m m t wird. Bei aktivierten Interrupts
ist die Wiederholungsfrequenz jedoch gleichbleibend, da bei
jedem Interrupt die Tastatur abgefragt wird und die Int e r ­
ruptfrequenz (40 Interrupts pro Sekunde) z i e m l i c h konstant
ist.
Bei Zufriff auf die Diskettenlaufwerke bzw. das Winchesterla u f w e r k w erden die Interrupts abgeschaltet. Bei längeren
D i s k e t t e n z u g r i f f e n wird daher die Tast a t u r a b f r a g e und die
Uhranzeige für diese Zeit abgeschaltet.
Um für jede Anwendung eine optimale Wiederholungsfrequenz zu
erreichen, ist die Zeit bis zur ersten W i e d e r h o l u n g und die
Wiederholungsfrequenz über das CONFIG-Programm frei wählbar
(siehe Kap. 7).
3.2.3 Type-ahead
Eine Besonderheit des Genie IIIs CP/M stellt die Type-ahead
Möglichkeit dar. Diese, etwa mit 'Voraustippen' übersetztbare
Bezeichnung, steht für die Möglichkeit, T a s t a t u r e i n g a b e n
vorzunehmen, bevor sie vom Programm abgearbeitet werden. Sie
können dadurch also Zeichen im Voraus eingeben, die automa­
tisch gespeichert werden und dem Programm erst zur Verfügung
gestellt werden, wenn es diese verarbeiten kann.
Der Type-ahead kann aber nur bei aktivierten Interrupts voll
genutzt werden, denn nur in d i e s e m Fall w i r d die Tastatur
häufig genug abgefragt.
Für den Type-ahead steht ein 64 Zeichen fassender Tastatur­
puffer zur Verfügung, der bei Funktionstasten auf 255 Zeichen
e r w e i t e r t wird. Zur Kontrolle, ob eine Taste erkannt wurde,
dient in den meisten Fällen der Tastenklick.
Bei Ube r f ü l l u n g des T a s t a t u r p u f f e r s wird kein Zeichen mehr
gespeichert und bei jedem Tastendruck ein längerer Piepston
erzeugt. Falls die e i n g e g e b e n e n Zeichen nicht durch das A n ­
wenderprogramm abgearbeitet werden, muß der gesamte Tastatur­
puffer durch gleichzeitiges Drücken der Tasten SHIFT,CTRL und
CLEAR gelöscht werden (siehe Kap. 3.4.5).
3.3 Funktionstasten
Neben den auf der Tastatur ausgezeichneten 8 Funktionstasten
F1 bis F8, kann im Genie IIIs CP/M jede Taste als Funktions­
taste benutzt werden. Die maximale Anzahl von Funktionstasten
ist 112, für die 1423 Bytes Speicher zur Verfügung stehen.
S omit kann jede F u n k t i o n s t a s t e im Mittel bis zu 12 Zeichen
erzeugen. Die maximale Länge einer durch eine Funktionstaste
erzeugten Zeichenkette ist durch den Tastaturpuffer mit 255
Zur P r o g r a m m i e r u n g der F u n k t i onstasten sind zwei Schritte
erforderlich. Zum Ersten muß mit dem P r o g r a m m TASTEN (Kap.
11.6) über die Tasten, die als Funktionstasten dienen sollen,
entschieden werden. Dabei ist es durchaus möglich, daß bei
den vier möglichen Belegungen pro Taste, die Taste einmal das
aufgedruckte Zeichen erzeugt, mit den Kontrolltasten aber als
Funktionstaste dient. Im Programm TASTEN wird aber nur ent­
schieden w elche F u n k t i o n s t a s t e n n u m m e r die g e w ä h l t e Taste
erhalten soll.
Die Festlegung der erzeugten Zeichenkette, geschieht als
zweiter Schritt mit dem P r o g r a m m FKEY (Kap. 11.7) oder der
Escapesequenz ESC ö (Anhang B).
Programmgesteuert kann die Erzeugung der Zeichenkette unter­
bunden werden. In d i esem Fall wird dann beim Drücken einer
Funkt i o n s t a s t e die F u n k t i o n s t a s t e n n u m m e r +127 ausgegeben.
Dadurch kann die Betätigung einer bestimmten Funktionstaste
abgefragt werden, ohne die durch sie erzeugt Zeichenkette zu
kennen.
3.4 Spezielle Tasten und Tastaturfunktionen
3.4.0 Einle i t u n g
Auf der Tastatur des Genie IIIs befinden sich 13 Tasten, die
im CP/M spezielle Funktionen haben. Im Hinblick auf gewisse
Standardprogramme (z.B. Wordstar) wurden diese Funktionen so
gewählt, daß die Tastatur als WordStar-kompatibel zu bezeich­
nen ist. Da auch viele andere P r o g r a m m e diesen de facto
Standard benutzen, hat sich die gewählte Tastenbelegung als
sinnvoll erwiesen.
3.4.1 Die SHIFT-Taste
Die SHIFT-Taste erzeugt selbst keinen eigenen Wert, sie er­
gibt, wie bei einer normalen Schreibmaschinentastatur, erst
zusammen mit einer weiteren Taste eine Funktion. Die Alpha­
tasten (§, A-Z, Ä,ö, Ü, ß ) erzeugen n o r m a l e r w e i s e K l e i n b u c h s t a ­
ben, wenn sie z u s a m m e n mit der Shift-Taste betätigt wer d e n
jedoch Großbuchstaben.
Auch bei allen doppelt besc h r i f t e t e n Tasten wird das obere
Zeichen erst zusammen mit der Shift-Taste erreicht.
Die C T R L -Taste {C o n t r o l - T a s t e ) erzeugt, genauso wie die
Shift-Taste, keinen eigenen Wert.
Wie der N a m e schon zeigt, hat diese Taste ebenfalls eine
K o n t r o l 1 funktion.
Z u s a m m e n mit den A l p h a t a s t e n
(AZ,Ä,ö,0,ß,_) werden die Werte 01H bis 1FH (1 bis 31) erzeugt,
die in den m e i s t e n P r o g r a m m e n besondere F unktionen haben.
Uber das TASTEN-Programm können die verschiedenen Kombinatio­
nen der beiden Kontrol1tasten SHIFT und CTRL benutzt werden,
um jeder Taste bis zu vier verschiedene Werte zuzuweisen.
3.4.3 Die BREAR-Taste
Ein g e w i s s e r N achteile im CP/M 2.2 ist, daß ein D i s k e t t e n ­
wechsel nicht automatisch erkannt wird, sondern dem System
gesondert mit g e t e i l t w erden muß. Vom E n t w i c k l e r des CP/M
wurde dazu die T a s t e n k o m b i n a t i o n C TRL-C (Wert: 03H, 3 dez)
gewählt, die auch als 'Warmstart* bezeichnet wird.
Da viele Programme diesen Wert ebenfalls benutzen, wurde die
B r eak-Taste dam i t belegt. Auch alle K o m b i n a t i o n e n der Kontrolltasten CTRL und SHIFT z u s a m m e n mit BREAK ergeben den
Wert 03H.
Die zweite Funktion der Breaktaste ist unabhängig von dem ihr
über das TASTEN-Programm zugewiesenen Wert. Dabei wird diese
Taste unter Umgehung der Tastaturroutine abgefragt.
Beim Zugriff auf ein Peripheriegerät, testet das Betriebssys­
tem zuerst den Status dieses Gerätes, ob es also zur Übernah­
me eines Zeichens bereit ist bzw. ein Zeichen senden kann.
Fällt diese Abfrage negativ aus, wartet das B e t r i e b s s y s t e m
solange bis das Gerät eine 'Klarmeldung* gibt.
Wird nun ein nicht v o r h andenes Gerät angesprochen, 'hängt*
sich das Betriebssystem normalerweise auf. Um diesen System­
absturz zu verhindern, kann durch Drücken der Breaktaste eine
Klarmeldung erzwungen werden. Die Daten werden zwar in diesem
Fall ins Leere geschickt oder es k o m m e n unsinnige Werte,
danach kann das System jedoch wieder normal Weiterarbeiten.
W i c h t i g dabei ist, daß die B reaktaste in ein e m solchen Fall
gedrückt bleiben muß, bis die Ein- oder Ausgabe beendet ist.
3.4.4 Die ESC-Taste
Diese Taste erzeugt den sog e n a n n t e n E scape-Code (1BH, 27
dez), der vor allem im T e x t v e r a r b e i t u n g s p r o g r a m m Words t a r
Verwendung findet. Da auch viele Video-Befehlssequenzen mit
dem Escapecode beginnen, ist es möglich, bestimmte Videobe­
fehle direkt mit Hilfe der ESC-Taste zu erzeugen.
Wie bei der BREAK-Taste ergeben alle Kombinationen der Kon-
trolltasten SHIFT und CTRL mit der ESC-Taste den Escapecode.
3.4.5 Die CLEAR-Taste
Da die Cleartaste im n o r m a l e n C P / M - B e t r i e b nicht gebraucht
wird, hat sie im Genie IIIs CP/M eine gesonderte Funktion.
Sie erzeugt die vier Codes FOH (240, CLEAR), F1H (241, SHIFTCLEAR), F2H (242, CTRL-CLEAR) und F3H (243, SHIFT-CTRLCLEAR). Die ersten drei Werte w erden zur Kontrolle der e r ­
weiterten Fehlermeldungen benutzt. In normalen CP/M-Systemen
führt ein Diskettenfehler meist zum Systemabsturz und es gibt
keinen Hinweis auf die genaue Fehlerursache.
Im Genie IIIs CP/M wird nach einem Diskettenfehler in der
Statuszeile die exakte F e h l e r b e s c h r e i b u n g und der exakte
Fehlerort angezeigt (siehe Kap 6.2.2).
Über die CLEAR-Taste kann nun die zuletzt ausgeführte Disket­
tenoperation beliebig oft w i e derholt werden, ohne daß der
Programmablauf gestört wird. SHIFT-CLEAR bricht die fehler­
hafte D i s k e t t e n o p e r a t i o n ab und meldet den Fehler an das
Betriebssystem, daß dann den Programmablauf abbricht.
Bei beschädigten Disketten kann es verkommen, daß ein Fehler
auch nach mehreren Wiederholungen des Diskettenzugriffs nicht
zu b e s e itigen ist. Dies ist besonders bei w i c htigen Daten
ärgerlich, da in den m e i s t e n Fällen das g e s a m t e File nicht
mehr lesbar ist. Falls also z.B. nur ein Sektor beschädigt,
der Rest des Files jedoch einwandfrei lesbar ist, kann dieser
Rest noch gerettet werden.
Dazu dient die Funktion CTRL-CLEAR, die die fehlerhafte Dis­
kettenoperation zwar abbricht, den Fehler jedoch nicht an das
Betriebssystem meldet. Damit hat man nun die Möglichkeit auch
bei p h y s i kalisch bes c h ä d i g t e n Disketten einen Großteil der
a u f g e z e ichneten Daten zu retten. Die fehlerhaften Sektoren
werden jedoch durch diese Funktion nicht repariert, sondern
dieser Teil der Daten ist verloren.
ACHTUNG: Beim Drücken vom CTRL-CLEAR wird mit den fehlerhaft
gelesenen Daten weitergearbeitet. Benutzen Sie diese Funktion
also nur bei defekten Disketten, von denen Sie noch Daten
retten wollen.
Der vierte Wert der CLEAR-Taste,” der über SHIFT-CTRL-CLEAR
erreicht wird, löst eine besondere Funktion aus. Wie bereits
im Abschnitt über die T y p e-ahead Mög l i c h k e i t angesprochen,
kann es in einigen Fällen verkommen, daß der Tastaturpuffer
überfüllt wird. Dies geschieht besonders dann, wenn das lau­
fende Programm die eingetippten Zeichen nicht verarbeitet. In
einem solchen Fall kann über S H I F T - C T R L - C L E A R der g e s a m t e
Tastaturpuffer gelöscht werden um neue Eingaben zu ermögli­
chen. Eine Löschung des Puffers kann ebenfalls p r o g r a m m g e ­
steuert erfolgen, näheres dazu ist im Kapitel 12 beschrieben.
3.4.6 Die ALPHA-IfOCK Taste
Die Alpha-Lock Taste hat für die sogenannten Alphazeichen (AZ,A,ö,0,B) dieselbe Funktion wie die SHIFT-Taste und wird für
diese Zeichen wie eine gedrückte Shifttaste behandelt. Die
Alpha-Lock Taste erzeugt selber keinen Wert.
3.4.7 Die Pfeiltasten
3.4.7.0 E i n l e i t u n g
Alle vier Pfeiltasten wurden im Hinblick auf die Funktionen
des Textverarbeitungsprogramms W o r dstar belegt. Jede Taste
hat drei ver s c h i e d e n e Funktionen. Die T a s t e n k o m b i n a t i o n
SHIFT-CTRL hat zusammen mit den Pfeiltasten keine Funktion.
Alle folgenden Erklärungen der Pfeiltasten beziehen sich auf
das Programm Wordstar. Eine Zusammenfassung aller durch die
Pfeiltasten erzeugten Werte und ihre entsprechenden Kombina­
tionen der CTRL-Taste mit einer Alpha-Taste ist im Anhang D
aufgeführt.
3.4.7.1 Die Hochpfeil-Taste
Diese Taste allein erzeugt den Code 05H (5 dez, CTRL-E) und
plaziert den Cursor eine Zeile höher. Shift-Hochpfeil erzeugt
den Code 12H (18 dez, CTRL-R) und blättert eine Seite zurück.
C TRL-Hochpfei 1 blättert eine Zeile zurück, ohne den Cursor
von der aktuellen T e x t p o s i t i o n zu entfernen. Der dabei e r ­
zeugte Wert ist 17H (23 dez, CTRL-W).
3.4.7.2 Die Tiefpfeil-Taste
Der Tiefpfeil setzt den Cursor eine Zeile tiefer und erzeugt
den Code 1 8H (24 dez, CTRL-X). S H IFT-Tiefpfei 1 (03H, 3 dez,
CTRL-C) blättert eine Seite vor und CTRL-Tiefpfei 1 (IAH, 26,
CTRL-Z) eine Zeile vor ohne die aktuelle C u r s o r p o s i t i o n in ­
nerhalb des Textes zu ändern.
Damit haben die beiden Tasten Hochpfeil und Tiefpfeil genau
entsprechende Funktionen.
Die Linkspfei 1 -Taste ist die Einzige der Pfeiltasten, die
auch in anderen Programmen Verwendung findet. Diese Taste
- auch BACKSPACE genannt - erzeugt den Code 08H (8 dez,
CTRL-H) der in allen Programmen das zuletzt eingegebene Zei­
chen löscht bzw. den Cursor eine Position nach links b e f ö r ­
dert .
SHIFT-Linkspfei 1 setzt im Wordstar den Cursor an den Anfang
des vorherigen Wortes (01H, 1 dez, CTRL-A), CTRL-Linkspfei 1
löscht im Wordstar das Zeichen links von der aktuellen Cur­
sorposition (7FH, 127 dez).
3.4.7.4 Die Rechtspfeil-Taste
Der Rechtspfeil b e w e g t den Cursor ein Zeichen nach rechts,
ohne das dort befindliche Zeichen zu löschen (04H, 4 dez,
CTRL-D).
SHIFT-Rechtspfei 1 setzt den Cursor an den Anfang
des nächsten Wortes (06H, 6 dez, CTRL-F), CTRL-Rechtspfei 1
löscht das Zeichen rechts von der aktuellen C u r s o r position
(07H, 7 dez, CTRL-G). Damit haben die beiden Tasten L i n k s ­
pfeil und Rechtspfeil ebenfalls entsprechende Funktionen.
3.4.8
Die Leertaste
Obwohl die Leertaste (auch SPACE oder SPACEBAR genannt)
eigentlich zur n o r m a l e n S c h r e i b m a s c h i n e n t a s t a t u r gehört,
wurden ihr zwei Sonderfunktionen zugewiesen.
Die Leertaste allein ergibt, wie ihr Name schon sagt, das
L eerzeichen oder Space (20H, 32 dez). Über SHIFT-Leertaste
wird der TAB-Code (09H, 9 dez, CTRL-I) erzeugt, der den
Cursor zur nächsten T a b u l a t o r p o s i t i o n bringt. Im n o r m a l e n
C P / M - G e b r a u c h bringt dieser Code den Cursor zur nächsten
Spaltenposition, die ein Vielfaches von 8 darstellt. In den
meisten Textverarbeitungsprogrammen sind diese Tabulatorposi­
tionen jedoch frei wählbar.
CTRL-Leertaste erzeugt zwar keinen eigenen Wert, hat jedoch
eine besondere Funktion. Über CTRL-L e e r t a s t e kann zwischen
den beiden Zeic h e n s ä t z e n DEUTSCH und ASCII hin- und h e r g e ­
schaltet werden. Dabei wird in der Statuszeile immer die
Bezeichnnung des aktuellen Zeichensatzes angezeigt. Diese bei
T e x t v e r a r b e i t u n g sicher unnütze Funktion ist bei Benutzung
der Programmiersprachen PASCAL und C äußerst wichtig.
Da diese Sprachen sehr intensiven Gebrauch der zusätzlichen
Klammersymbole des ASCII-Zeichensatzes machen, kann jederzeit
auf diesen Zeichensatz umgeschaltet werden.
Um auf dem separaten Zehnerblock komplette Zahlenwerte einge­
ben zu können, wurde die P R I N T -Taste mit dem '+'-Symbol
belegt. D a m i t hat man auf dem N u m e r i k b l o c k neben den zehn
Ziffern und dem Dezimalpunkt auch beide Vorzeichen zur Verfü­
gung. SHIFT-PRINT erzeugt ebenfalls das '+'-Symbol.
Der e i g e ntliche Sinn der Printtaste wird z u s a m m e n mit der
C T R L -Taste erreicht, das Ausdrucken des BiIdschirminhalts.
Diese Belegung wurde bewußt gewählt, um ein unbeabsichtigtes
A k t i vieren dieser Funktion zu verhindern. C T R L -PRINT und
SHIFT-CTRL-PRINT haben dieselbe Funktion wie der Videobefehl
ESC P (siehe Anhang B). Der g e s a m t e B i l d s c h i r m i n h a l t (ohne
die Statuszeile) wird über den LST:-Kanal ausgegeben.
Dieser Ausgabekanal gibt normalerweise die Daten auf dem am
C e n t r o n i c s - P a r a l l e l p o r t (rückwärtiger Anschluß 'Printer')
angeschlossenen Drucker aus. Über den STAT-Befehl (siehe Kap.
5.1.5 und 10.2) kann diese K a n a l z u o r d n u n g jedoch geändert
werden.
Die Ausgabe des Bildschirms erfolgt zeilenweise, wobei nach
jeder Zeile (80 Zeichen) die beiden Codes CR (ODH, 13 dez)
und LF (OAH, 10 dez) eingefügt werden. Diese Codes bewirken,
daß der angeschlossene Drucker den Ausdruck auf der nächsten
Zeile fortsetzt. Inverse Zeichen werden wie normale Zeichen
behandelt, nicht d r u ckbare Zeichen (01H bis IFH, 1 bis 31
dez) w e r d e n als Punkt ('.') ausgegeben.
Bei n o r m a l e r Pap i e r g r ö ß e (72 Zeilen pro Seite) passen genau
drei Bildschirmseiten auf eine Druckerseite.
3.4.10 Die Px-Tasten P1,P2,P3,P4 und P5
Diese fünf Tasten sind die einzigen Tasten, die eine feste
Belegung haben und nicht umprogrammierbar sind. Über die PxTasten w e r d e n spezielle Fun k t i o n e n ein- und ausgeschaltet.
Ein b e s o nderer Vorteil diese Tasten ist, daß die durch sie
b e e i n f l u s s t e n Fun k t i o n e n jederzeit (bei jeder T a s t a t u r a b ­
frage) umgeschaltet werden können. Dies zeigt sich insbeson­
dere bei aktivierten Interrupts, da dabei die Tastatur 40 mal
pro Sekunde abgefragt wird. Diese d e r zeitige Belegung der
fünf Tasten mit Funktionen ist folgende:
-
Tastenklick
Wiederholung
Fehlermeldung
Pufferanzeige
Monitormodus
(Pi)
(P2)
(P3)
(P4)
(P5)
Diese Tasten erzeugen keinerlei Werte und werden nur in
Verbindung mit einer der Kontrol1tasten SHIFT oder CTRL ge­
braucht .
SHIFT-Px zeigt den aktuellen Stand der gewählten Funktion in
der 25, Zeile an, ohne ihn zu ändern. Die Anzeige bleibt
solange stehen, bis die Tasten wieder losgelassen werden. Das
Ein- und Ausschalten der gewählten Funktion wird in Zusammen­
hang mit der CTRL-Taste erreicht. Bei jeder Betätigung einer
der Px-Tasten zusammen mit der CTRL-Taste wird die gewählte
Funktion u m g e s c h a l t e t und der neue Stand in der 25. B i l d ­
schirmzeile angezeigt. Auch hier bleibt die Anzeige bis zum
Loslassen der Tasten bestehen.
3.4.10.1
Pi -Tastenklick
Über CTRL-P1 wird der im Kapitel 3.2.1 angesprochenen Tasten­
klick ein- und ausgeschaltet. Bei eingeschaltetem Tastenklick
wird jede gedrückte Taste mit einem kurzen Klickgeräusch aus
dem eingebauten Lautsprecher quittiert. Dies ist besonders
beim Type-ahead hilfreich, da man damit eine akustische Kon­
trolle über den erkannten Tastendruck hat.
3.4.10.2
P2
-Wiederholung
Mit CTRL-P2 kann die automatische Tastenwiederholung beein­
flusst werden. Je nach Anwendung kann die Tastenwiederholung
aktiviert oder unterbrochen werden.
Diese Funktion bezieht sich auf alle Tasten der Tastatur,
auch die des s eparaten Zehnerblocks. Da für die Z i f f e r n e i n ­
gabe eine automatische Tastenwiederholung nicht wünschenswert
ist, kann die W i e d e r h o l u n g der Tasten des Zehnerblocks g e ­
trennt abgeschaltet werden (siehe Kap.7 und Anhang B).
3.4.10.3
P3
-Fehlermeldung
Diese Funktion beeinflusst die Behandlung von Diskettenfeh­
lern. Bei ausgeschalteter Fehlermeldung wird ein Disketten­
fehler direkt an das CP/M-Betriebssystem gemeldet, das solche
Fehler meist nur mit ’Sektor nicht gefunden, Sektor defekt*
bezeichnet und keine Rückschlüsse auf die Fehlerursache zu­
läßt .
Um diesen Mißstand auszubessern, wurde die erweiterte Fehler­
meldung eingebaut. Jeder Diskettenfehler wird mit einem Piep­
ton und einer M e ldung in der Statuszeile quittiert. Dort
steht dann explizit, ob der Fehler wäh r e n d einer S c h r e i b ­
oder Le s e o p e r a t i o n aufgetreten ist und um welche Art von
Fehler es sich handelt. Eine genauere Beschreibung der gemel­
deten Fehler sowie deren Ursachen finden Sie im Kapitel 6.2.
3.4.10.4
P4 -Pufferanzeiqa
Mit Hilfe dieser F u n ktion kann jederzeit die Belegung des
Tastaturpuffers angezeigt werden. In der 25. Bildschirmzeile
werden dabei jeweils die ersten 80 Zeichen des Puffers darge­
stellt. Die Ausgabe von Kontrollzeichen (Werte 01H bis 1FH, 1
bis 31 dez) erfolgt durch Kürzel, die im Anhang E erläutert
sind. Besonders bei Programmen mit langsamer Zeichenverarbei­
tung ist diese Anzeige sehr nützlich und eindrucksvoll, da
die Aba r b e i t u n g der Zeichen aus dem Puffer genau verfolgt
werden kann.
Bei Abschaltung der Pufferanzeige wird die zuletzt in der 25.
Bildschirmzeile d a r g e stellte Zeile (Status- oder B e n u t z e r ­
zeile, siehe Kap. 4.7 und Anhang B) wieder zur Anzeige ge­
bracht .
3.4.10.5
P5
-Monitormodus
Diese äußerst nützliche Funktion schaltet die Bearbeitung von
Videobefehlen ab und bringt die empfangenen Werte direkt zur
Anzeige. Besonders bei der Installation von Programmen, die
intensiven Gebrauch der Vid e o b e f e h l e machen, können diese
Befehle exakt verfolgt werden. Bei eingeschaltetem Monitormo­
dus wird jeder von der Videoroutine empfangene Wert gemäß der
Zeichensatztabelle (Anhang E) ausgegeben und der Cursor ein
Zeichen weiter nach rechts bewegt. Eine Umschaltung des Moni­
tormodus kann auch über Videobefehle erfolgen (siehe Anhang
B) .
3.4.11
Anzeige der Serien- und Versionsnummer
Bei allen Anfragen bezüglich des CP/M Betriebsystems ist die
Angabe der Seriennummer, der Versionsnummer und des Versions­
d a t u m s unerlässlich. Die S e r i e n n u m m e r weist Sie als r e c h t ­
mäßigen Benutzer des CP/M 2.2 aus, die Versionsnummer zeigt
an, mit w e l c h e r C B I O S - V e r s i o n Sie arbeiten. Eine exakte B e ­
stimmung Ihres Systems erfolgt dann durch das Versionsdatum.
Durch g l e i c h z e i t i g e s Drücken der drei T asten Linkspfeil,
Rechtspfeil und Leertaste erscheinen in der 25. Bildschirm­
zeile diese Daten.
4. Der Bildschirm
4.1 Grundlagen
Wie bereits in der Einleitung angesprochen, orientiert sich
das CP/M bei der Zeichenein- und ausgabe an Terminals. Bei
älteren Rechnern, ist ein solches Terminal eine eigenständige
Einheit, die mit dem eigentlichen Rechner über eine serielle
Schnittstelle verbunden ist. Der Datentransport zum Terminal
geschieht dabei seriell, Zeichen für Zeichen. Jedes Zeichen
hat einen bestimmten Wert, der durch die ASCII-Tabelle fest­
gelegt ist (Anhang E). Da insgesamt nur 128 verschiedene
Werte übertragen werden können, bleiben nach Abzug der dar­
stellbaren Zeichen nur 32 Werte für spezielle Kontrol1funktionen (Werte OOH bis 1FH, 0 bis 31 dez).
Das Terminal ist nun nichts anderes als ein Befehlsempfänger
mit einer eigenen ’Programmiersprache*, bestehend aus den 128
verschiedenen Zeichen des ASCII-Codes. Jedes empfangene Zei­
chen wird auf dem Bildschirm dargestellt und die Position für
das nächste Zeichen eine Spalte nach rechts bewegt. Die
Stelle, an der das nächste Zeichen ausgegeben wird, ist durch
den sogenannten Cursor (Positionszeiger) gekennzeichnet.
Für jeden e m p f a n g e n e n Wert zwis c h e n 32 und 127 wird das
entsprechende Zeichen der ASCII-Tabelle dargestellt. Beson­
dere Funktionen, wie z.B. Cursorbewegungen, können durch die
Werte OOH bis 1FH ausgelöst werden. Bei den meisten Anwendun­
gen reichen diese 32 Funktionen aus, da sie eine m i n i m a l e
Kontrolle der Ausgabe erlauben. Da diese Werte auch von der
Tastatur über die CTRL-Taste erzeugt werden können, bezeich­
net man sie meist als Controlccxies.
Für weitere F u nktionen reichen die 32 Werte aber nicht aus.
Daher wurde der Wert 27 (IBH) als Escape (’Ausbruch*) d e f i ­
niert, der ein Ausbrechen aus den 32 festdefinierten Control­
codes erlaubt. Nach dem ESC-Code folgen grundsätzlich noch
ein oder mehrere Werte. Aus diesem Grunde bezeichnet man
solche Zeichenfolgen auch als Escapesequenzen.
Mit Hilfe der Escapesequenzen können nun alle Sonderfunktionen, die ein Terminal hat, auf einfache Weise angesteuert
werden. Alle CP/M-Programme, die eine komfortable Zeichenaus­
gabe haben, benutzen solche Escapesequenzen zum Bildaufbau.
Insbesondere bei Full-Screen-Operationen wie sie z.B. bei der
Textverarbeitung gebraucht werden, kann der P r o g r a m m a b l a u f
durch Gebrauch der über Es c a p e s e q u e n z e n ansprechbaren M ö g ­
lichkeiten eines Terminals, beschleunigt werden.
Alle besseren CP/M Programme haben daher ein spezielles
In-
s t a 11a t ionspro g r a m m mit dessen Hilfe das P r o g r a m m an das
angeschlossene Terminal angepasst werden kann.
Zur optimalen Nutzung der Möglichkeiten des Genie Ills wurde
im Genie Ills CP/M das Terminal T e l e v i d e o 950 emuliert.
4.2 Bildschirmformat
Die Bildschirmanzeige im Genie IIIs CP/M wird aus 25 Zeilen
zu je 80 Zeichen gebildet. Zur Zeichenausgabe werden aber nur
die ersten 24 Zeilen herangezogen, die 25. Zeile dient als
Sonderzeile zur Darstellung besonderer Informationen.
4.3 Bildschirmseiten
Durch Einsatz der vier verschiedenen Bildschirmseiten, kann
das Format auf 96
80 erhöht werden, wobei aber nur jeweils
24 Zeilen zur Anzeige kommen. Nach dem Booten wird grundsätz­
lich die Seite 0 angewählt, die Seiten 1 bis 3 bleiben unver­
ändert. Dies hat den Vorteil, daß auch nach einem Kaltstart
die I n f o r m a t i o n wieder abgerufen werden kann, solange das
Gerät nicht abgeschaltet war.
Bei der U m s c h a l t u n g z w i s c h e n den Seiten, wird die aktuelle
Seite und C u r s o r p o s i t i o n abgespeichert und die neue Seite
angezeigt. Dabei wird der Cursor an die S telle gebracht, an
der er beim letzten Aufruf dieser Seite war. Wird die Seite
zum ersten Mal angewählt, so befindet sich der Cursor in der
Home-Position (linke obere Ecke). Eine Speicherung der ange­
zeigten Seite erfolgt bei der Anwahl einer anderen Seite.
4.4 Zeichensatz
T e c hnisch bedingt ist die Anzahl der d a r s t e llbaren Zeichen
auf 256 beschränkt. In jeder der 1920 B i l d s c h i r m p o s i t i o n e n
steht ein Wert z w i s c h e n 0 und 255. Nach der ASCII-Tabel le
sind die Werte z w i s c h e n 32 und 127 fest definiert. Damit
lassen sich alle Buc h s t a b e n in Groß- und Kleinschreibung,
s o w i e alle S o n d e r z e i c h e n darstellen. Die Werte 128 bis 159
w erden als G r a p h i k z e i c h e n gem ä ß der Tabelle im Anhang E
dargestellt. Die restlichen Werte zwischen 150 und 255 sind
für den z w e i t e n Z e ichensatz reserviert. In der gelieferten
Version sind diese Werte mit der inversen D arstellung der
Zeichen 32 bis 127 vorbelegt. Eine Änderung kann über das
getrennt erhältliche Programm DEF.COM durchgeführt werden.
Um jedoch den gesamten Zeichensatz von 256 Zeichen auszunut­
zen, wurde auch den Werte z w i s c h e n 0 und 31 je ein Zeichen
zugewiesen. Diese Werte können nur über den sogenannten Moni­
tormodus dargestellt werden. Jedes der ersten 32 Zeichen
stellt ein Kürzel der in der A S C I I - T a b e 11e definierten B e ­
zeichnung für den entsprechenden Wert dar. Der Wert 0 wird
als Leerzeichen dargestellt.
4.5 VideoKodi
4.5.1 Line«odus/PageBcxlus
Die w i c h t i g s t e n Escapes e q u e n z e n zur Gestaltung von Bildschirmdarstellungen dienen dem Einfügen (Insert) und Löschen
(Delete) von Zeilen bzw. Zeichen.
Eine derartige B ehandlung von Zeilen beeinflusst i m m e r das
gesa m t e Bild. Beim Einfügen einer Zeile werden alle Zeilen
unterhalb davon nach unten verschoben. Die Information der
letzten Zeile des Bildes geht dabei verloren. Beim Löschen
einer Zeile werden alle Zeilen unterhalb davon nach oben
verschoben und in der freiwerdenden letzten Bildschirmzeile
Leerzeichen eingefügt.
Das Einfügen und Löschen von einzelnen Zeichen hat jedoch je
nach aktuellem Videomodus unterschiedliche Konsequenzen.
Es kann dabei entweder im Zeilen- (Line, kurz L) oder Seiten(Page, kurz P) modus gearbeitet werden. Im Zeilenmodus wirkt
sich ein Löschen oder Einfügen eines Zeichens nur bis zum
Ende der betroffenen Zeile aus. Beim Einfügen geht das letzte
Zeichen verloren, beim Löschen wird in der letzten Spalte ein
Leerzeichen eingesetzt. Die anderen Zeilen des Bildes bleiben
unbeeinflusst. Im Gegensatz zum Zeilenmodus, der nur die
Zeichen bis zum Ende einer Zeile verschiebt, wirkt sich im
Seitenmodus die Behandlung von Zeichen bis zum Ende der Seite
aus. Beim Einfügen eines Zeichens im Seitenmodus werden alle
Zeichen rechts davon bis zum Ende der Seite nach rechts
verschoben. Das letzte Zeichen einer Zeile taucht dabei als
erstes Zeichen der nächsten Zeile wieder auf. Das letzte
Zeichen der letzten Zeile geht verloren. Genauso auch beim
Löschen eines Zeichens im Seitenmodus. Alle Zeichen rechts
vom gelöschten Zeichen bis zum Ende der Seite werden eine
Position nach links verschoben. Das jeweils erste Zeichen
jeder Zeile taucht als letztes Zeichen der vorherigen Zeile
wieder auf. Am Ende der Seite wird die freiwerdende Position
mit dem Leerzeichen gefüllt.
4.5.2 Edit modus/Insert modus
Zwei andere Modi beeinflussen die Ausgabe von Zeichen auf dem
Bildschirm. Der sogenannte Editiermodus (Überschreib-Modus,
kurz EDT) ist im Normalfall aktiv. Hier wird jedes ankommende
Zeichen dargestellt und die Cursorposition eine Spalte nach
rechts bewegt. Falls auf der letzten Cursorposition bereits
ein Zeichen stand, wird es überschrieben.
Der zwe i t e Modus ist der I n s e rtmodus ( E i n f ü g e - M o d u s , kurz
INS). Dabei wird jedes darzustellende Zeichen an der Cursor­
position eingefügt und das vorher dort befindliche Zeichen
nach rechts verschoben. Wie weit sich diese Verschiebung
auswirkt, hängt davon ab, ob der Zeilen- oder S e i t e n m o d u s
aktiviert ist.
Welcher Modus der j e w e i l i g e n M o d i p a a r e eingeschaltet ist,
wird in der S t atuszeile durch einen der vier v e r s c hiedenen
Kürzel EDTL, EDTP, INSL oder INSP angezeigt.
4.5.3 Zeilenüberlauf
Ein weiterer Modus, der Zeilenüberlauf (Vertical Wrap), be­
stimmt das Verhalten der Bildschirmausgabe bei Erreichen der
letzten Zeilenposition. Im Normalfall ist der Zeilenüberlauf
eingeschaltet und nach der Ausgabe eines Zeichens in der 80.
Spalte wird der Cursor a u t o m a t i s c h in die erste Spalte der
nächsten Zeile gesetzt. Nach Schreiben der letzten Bildschirmposition wird der gesamte Bildschirminhalt eine Zeile
nach oben v erschoben und der Cursor an den Anfang der frei
w e r d e n d e n letzten Zeile gesetzt. Da dabei die erste B i l d ­
schirmzeile verloren geht, kann man den Zeilenüberlauf auch
abschalten und das ’Hochlaufen* des Bildes unterdrücken. In
d i e s e m Fall wird der Cursor nicht mehr in die nächste Zeile
verschoben, sondern bleibt in der letzten Spalte stehen. Die
erste Spalte der nächsten Zeile wird erst durch Empfang der
beiden Codes CR (ODH, 13 dez) und LF (OAH, 10 dez) erreicht.
Um eine flüssige Ze i c h e n a u s g a b e zu gewährleisten, muß in
d i e s e m Fall die Anzahl der ausgegebenen Zeichen pro Zeile
mitgezählt werden und nach dem jeweils 80. Zeichen CR und LF
einges c h o b e n werden. Dies geschieht z.B. im BASIC oder bei
dBase.
4.6 Ausgabemcxli
4.6.1 PRINT-Modus
In der bestehenden CP/M-Version gibt es verschiedene M ö g li ch ­
keiten, die Bildschirmausgabe zu protokollieren.
Der einzige vom CP/M-Betriebssystem unterstützte Ausgabemodus
ist die gleichzeitige Ausgabe von Zeichen auf dem Bildschirm
und dem Drucker. Zur Druckerausgabe wird dabei der LST:-Kanal
benutzt (siehe Kap. 5.1.4).
Die Ein- und A u s schaltung dieses Modus geschieht über die
T a s t e n k o m b i n a t i o n CTRL-P (10H, 16 dez) und wird in der S t a ­
tuszeile mit der Anzeige des Textes PRINT quittiert.
Falls das über den LST:-Kanal angesteuerte Peripheriegerät
(Drucker o.ä.) nicht zur Aufnahme der Daten bereit ist, wird
die Zeichenausgabe auf dem Bildschirm blockiert. Durch Drükken der Break-Taste kann diese Blockade aufgehoben werden
(v g 1. K a p . 3.4.3).
4.6.2 PRTO-Modus
Die zweite Art, die Bildschirmanzeige zu protokollieren, ist,
den g e s a m t e n Bi l d s c h i r m i n h a l t auszugeben. Diese bereits im
Kapitel 3.4.9 angesprochene Funktion wird entweder durch die
T a s t e n k o m b i n a t i o n C T RL-PRINT oder die Escapesequenz ESC P
aktiviert. Dabei werden alle 24 B i l d s c h i r m z e i l e n über den
LST:-Kanal ausgegeben und nach jeder Zeile (80 Zeichen) die
beiden Werte für CR (ODH, 13 dez) und LF (OAH, 10 dez) einge­
fügt. Invers dargestellte Zeichen werden wie normale Zeichen
behandelt, nicht druckbare Zeichen (bei aktiviertem Monitor­
modus die Werte OIH bis IFH, 1 bis 31 dez) als D e z i m alpunkt
*.* ausgegeben. Dieser A u s g a b e m o d u s wird in der Statuszeile
mit *PRT0* angezeigt.
4.6.3 PRT1- und PRT2-Modus
Z w e i w e i t e r e A u s g a b e m o d i s c h a l t e n die z w e i t e s e r i e l l e
S c h n i t t s t e l l e (SIO B) p a r a l l e l zur B i l d s c h i r m a u s g a b e . Das
heißt, daß alle Daten, die von der Bildschirmroutine e m p f a n ­
gen werden, unverändert der seriellen Schnittstelle übergeben
werden. Auf diese Weise ist es z.B. möglich ein Terminal oder
ein weiteres Genie IIIs dazuzuschalten und die Ausgabe dort
mitzuverfolgen. Der Unterschied zwischen diesen beiden Modi
besteht darin, daß einmal die Daten nur über die Schnittstel­
le a u s g e g e b e n w e r d e n und e i n m a l die A u s g a b e auf s e r i e l l e r
S c h n i t t s t e l l e und B i l d s c h i r m p a r a l l e l erfolgt. Der e r s te
M o d u s hat den Vorteil, daß der B i l d s c h i r m a u f b a u von d em
angeschlossenen Terminal übe rn om me n wird und das Genie IIIs
keine Rechenzeit in der eigenen Videoroutine verbraucht.
Auch diese beiden Ausgabemodi werden in der Statuszeile mit
PRT1 (erster Modus ohne eigene Bilderzeugung) bzw. PRT2 ange
zeigt.
4.7 Die 25. Zeile
4.7.1 Verwendung als Statuszeile
In der Stat usz eil e we rden alle für den Benutzer w ich ti gen
Informationen dargestellt, dazu gehören:
-
das
der
die
der
der
der
gewählte Diskettenlaufwerk
gewählte Benutzerbereich
angezeigte Bildschirmseite
aktuelle Zeichensatz
Ausgabemodus
Videomodus
und bei eingebauter Hardwareuhr:
- der Wochentag
- das Datum
- die Uhrzeit
Alle diese Informationen werden in der Reihenfolge, wie sie
hier aufgezählt sind, von links nach rechts dargestellt.
Die eig ent lic he Sta tusze ile wird im Speicher aufgebaut und
bei jeder Änderung in die 25. B i l d s c h i r m z e i l e kopiert. Das
heißt, daß auch bei anderer Nutzung der 25. Zeile die Status­
zeile immer aktualisiert wird.
Beim R ü c k m e l d e n der Status zei le (vgl. Anhang B, ESC Z 1)
werd en auch nicht die 80 Zeichen der 25. Bildschirmzeile,
sondern die 80 Zeichen der intern v e r w a l t e t e n Statuszeile
ausgegeben.
4.7.2 Verwendung als Benutzerzeile
Bei manchen Anwendungen kann es sich als nützlich erweisen,
auch den Status des ablaufenden Programms dem Benutzer mitzu­
teilen. Zu diesem Zweck wurde die Benutzerzeile eingerichtet.
Über eine bestimmte Escapesequenz (siehe Anhang B) können bis
zu 80 Zeichen als Benutzerzeile gespeichert werden, die An­
zeige erfolgt erst über eine weitere Escapesequenz. Dies hat
den Vorteil, daß die Benutzerzeile *im Hintergrund* aufgebaut
werden kann und erst nach Eintrag aller Informationen darge­
stellt wird. Auch der Inhalt der Ben ut ze rze il e kann an das
laufende Programm rückgemeldet werden.
4.7.3 Vernendung für andere Anzeigen
Die 25. Zeile wird auch für die Tas ta turf un kti on CTRL-Px
(siehe Kap 3.4.10) verwendet. Dabei wird der augenblickliche
Inhalt dieser Zeile abgespeichert und die gewählte Tastatur­
funktion dargestellt. Nach dem Loslassen der Tasten wird der
ursprüngliche Inhalt wieder zurückgeladen.
Dasselbe gilt auch für die erw eit er te Fehlermeldung. Auch
hier wird der aktuelle Inhalt der 25. B i l d s c hir mz eil e z w i ­
schengespeichert und, nach Quittierung des gemeldeten Fehlers
durch den Benutzer, wieder dargestellt.
In beiden Fällen findet also keine Aktualisi erung der 25.
Zeile statt, sondern die alte Info rmati on wird unverändert
gelassen.
4.7.4 Abschalten der 25.
Zeile
Da eine dauernde Anzeige der 25. Bildschirmzeile auch störend
wirken kann, gibt es zwei Möglichkeiten, diese abzuschalten.
Die erste kann entweder bei der Systemkonfigurierung (Kap. 7)
oder über eine Escapesequenz gewählt werden. Dabei wird die
Bil d s c h i r m a n z e i g e auf 24 Zeilen begrenzt, so daß auch die
T a st atu rf unk ti on en und die erw ei ter te Fe h l e r m e l d u n g nicht
mehr erscheint.
Die zweite Möglichkeit ist etwas aufwendiger, erlaubt jedoch
noch die Anzeige der Tastaturfunktionen und der erweiterten
Fehlermeldung. Bei dieser Möglichkeit wird die Benutzerzeile
mit 80 mal dem Wert 150 (AOH) geladen und zur Anzeige g e ­
bracht. Dies hat den Effekt, daß zwar die 25. Bildschirmzeile
wei ter hin angezeigt wird, sie aber durch die Füllung mit
Leerzeichen nicht auffällt. Nachteilig an dieser Methode ist
aber, daß die Nutzung dieser Zeile als Benut zerze ile nicht
mehr möglich ist.
4.8
Zeichenattribute
Im Gegensatz zum emulierten Terminal Televideo 950, wird im
Genie IIIs CP/M
- technisch bedingt - nur ein Attribut
unterstützt, die inverse Darstellung. Bei der Installation
von CP/M-Programmen auf das Terminal Televideo 950 zeigt sich
jedoch, daß diese das Attribut ’halbe Helligkeit* dem Attri­
but ’I n v e r s ’ vorziehen. Aus dies em Grund werden auch die
E s c ap ese qu enz en für die Ein- und Aus sch altun g der halben
Helligkeit erkannt, aber als Invertierung verarbeitet. Dabei
ergibt sich jedoch ein Problem. Das Leerze ich en wird in
voller und halber Helligkeit identisch angezeigt und manche
P r o g r a m m e v e r z i c h t e n d a h e r bei der A u s g a b e von L e e r z e i c h e n
auf die Rücknahme des Attributes. Aus diesem Grunde wird das
Attribut ’halbe Helligkeit’ nur bei darstellbaren Zeichen als
Invertierung interpretiert, das Leerzeichen jedoch ohne A t ­
tribut verarbeitet.
Aus schaltungstechnischen Gründen, ist das Cursorsymbol auf
invertierten Zeichen teilweise nicht sichtbar. In diesem Fall
e m p f i e h l t es sich, d en C u r s o r auf das S y m b o l ’b l i n k e n d e r
Bl oc k ’ zu schalten, da dieser am besten zu erkennen ist.
4.9
Cursorattr ibute
Das Genie IIIs bietet bei der Darstellung des Cursorsymbols
v e r s c h i e d e n e M ö g l i c h k e i t e n . Aus d i e s e n D a r s t e l l u n g s a r t e n
wurden folgende vier gewählt, die auch vom Televideo-Terminal
unterstützt werden:
- blinkender Block
Der Cursor wird als blinkender weisser Block dargestellt.
In dieser Art ist er bei invertierter Schrift am besten zu
erkennen.
- stehender Block
Der Cursor wird als ständig sichtbarer weisser Block da rg e­
stellt .
- blinkender Strich
Der Cursor wird als blinkender Unterstrich dargestellt.
- stehender Strich
Der Cursor wird als stehender Unterstrich dargestellt.
Ein weiteres wählbares Cursorattribut schaltet die Dar ste l­
lung des Cursors ab, der Cursor ist dann nicht sichtbar.
4.10 Tabulator
Zur Ausgabe von Tabellen ist es sehr nützl.ich, feste Tabula­
torpos it io ne n zu haben. Vom CP/M unters tüt zt wird der TABCode (09h , 9 dez), in dem der Cursor in die nächste durch 8
teilbare Spaltenposition gebracht wird. Da dies in den m ei ­
sten Fällen nicht ausreicht, werden im Genie IIIs CP/M belie­
bige Tabulatoren unterstützt.
Jede der 80 Spalten kann dabei als Tabulator gesetzt oder
gelöscht werden. Durch die E s c a p e seq ue nze n TAB (ESC i) und
Back-TAB (ESC I) wird die Tabulatorroutine des CP/M umgangen,
die normalerweise den Controlcode TAB (09H, 9 dez) herausfil­
tert .
übe r TA B w i r d der C u r s o r an die n ä c h s t e T a b u l a t o r p o s i t i o n
re ch t s von der a k t u e l l e n C u r s o r p o s i t i o n gebracht. B a c k - T A B
setzt den Cursor zum nächsten linken Tabulator.
4.11 Graphikmodus
Der Zei chensatz des Genie IIIs CP/M umfaßt insgesamt 32
Graphikzeichen, die über die Werte 80H bis 9FH (128 bis 159
dez) erreicht werden können. Da normale CP/M-Programme aber
nur Zeichen innerhalb der ASCII-T abe lle verarbeiten, kann
über eine bestimmte Escapesequenz (ESC $) auf den Graphikmo­
dus geschaltet werden. Bei aktiviertem Graphikmodus werden
die Großbuchstaben A bis Z sowie Ä,Ö,Ü und ß als Graphikzei­
chen ausgegeben. Das jedem Buchstaben entsprechende Zeichen
ist in der Zeichensatztabelle im Anhang E aufgeführt.
4.12 Monitormodus
Diese besondere Ausgabeart dient vor allem der Installation
von Fremdprogrammen. Bei eingeschaltetem Monitormodus werden
die empfangenen Controlcodes und Escapesequenzen nicht mehr
als Befehle interpretiert, sondern direkt angezeigt. Ein
Beispiel der Nutzung dieser Möglichkeit zeigt das FKEY-Programm. Hier werden alle Controlcodes als Kürzel, entsprechend
ihrer Be zei chn ung in der A S C I I - T a b e l l e , dargestellt. Der
M o n i t o r m o d u s ist e ntw ede r über eine Esc apesequenz oder die
Tastaturfunktion CTRL-P5 ein- und ausschaltbar.
Eine genaue Übersicht über die verwendeten
Zeichensatztabelle im Anhang E.
Kürzel
zeigt die
4.13 RückBeldung von Werten
Eine Besonderheit der Videoroutine ist die Möglichkeit, auch
Werte zurückzugeben. Diese Rü c k m e l d u n g geschieht über den
Tastaturkanal, d.h. daß r ü c k g eme ld ete Zeichen wie Eingaben
von der Tastatur behandelt werden. Neben der aktuellen C u r ­
sorposition können auch komplette Zeilen auf diese Art über­
geben werden.
Besonders interessant ist die Rückmeldung bei der Status- und
Benutzerzeile. Ein laufendes Programm kann durch Anforderung
der Statuszeile z.B. jederzeit das Datum und die Uhrzeit (bei
eingebauter Ührkarte) abfragen.
Jede Rü c k m e l d u n g wird mit dem Con tro lcode CR (ODH, 13 dez)
abgeschlossen, um eine Eingabe (z.B. im BASIC über *INPUT')
zu ermöglichen. Da im Basic z wis ch en je zwei Befehlen die
Tastatur abgefragt wird, k o m m t es z w isc he n der Ausgabe der
Escapesequenz über *PRINT* und der Übernahme der rückgemelde­
ten Werte durch ’I N P U T ’ oder ’I N K E Y ’ zum Verlust eines Z e i ­
chens. Aus diesem Grunde gibt es in der Systemkonfiguration
(Kap. 7) die Möglichkeit, vor jede Rüc k m e l d u n g ein L e e r z e i ­
chen zu setzen, das vom Basic dann abgefangen wird.
4.14 Controlccxles und Eiscapesequenzen
Auf den näc hsten Seiten wird nur eine Kurzübe rsi cht der
möglichen Videobefehle in der Form von Controlcodes und Esc a pe se que nz en gegeben. Für jeden Befehl ist auf der linken
Seite der Controlcode bzw. die Escapesequenz, der (die) hexa­
dezimale und dezimale Wert(e) sowie die Kurzschreibweise nach
dem ASCII-Standard aufgeführt. Auf der rechten Seite befindet
sich die Bez ei chn un g in Engli sch und eine deutsche K u r z b e ­
schreibung. Eine ausführliche Behandlung der Befehle befindet
sich im Anhang B.
4.14.1 CursorbeHegungen
08
8
BS
Backspace
Cursor ein Zeichen nach links
09
9
HT
Horizontal Tab
Cursor zum nächsten Tab
OA
10
LF
Linefeed
Cursor eine Zeile nach unten
OB
11
VT
Cursor Up
Cursor eine Zeile nach oben
OC
12
FF
Cursor Forward
Cursor ein Zeichen nach rechts
OD
13
CR
Carriage Return
Cursor zum Anfang der Zeile
16
22
SYN
Cursor Down
Cursor eine Zeile nach unten
IE
30
RS
Home
Cursor in die linke obere Ecke
CTRL —_
1
ESC i
ESC I
1F
1B 69
1B 49
31
VS
27 105
27 73
New Line
Cursor zum Anfang der nächsten
Zeile
Tab
C u r s o r zur n ä c h s t e n
Tabulatorposition
Back-Tab
Cursor zur nächsten
bu 1atorpos it ion
rechten
linken Ta ­
ESC j
1B 6A
27 106
Cursor up
Cursor eine Zeile höher
ESC K
1B 4B
27 75
Advance Page
Nächste Seite anwählen
ESC J
1B 4A
27 74
Back Page
Vorherige Seite anwählen
ESC =
1B 3D
27 61
Cursor Address in Page
Neue Cur sor posit ion innerhalb
der Seite wählen
ESC
1B 2D
27 45
Absolute Cursor Address
Neue C u r s o r p o s i t i o n auf ein er
neuen Seite wählen
26
Clear Screen
Seite mit dem Leerzeichen fül­
len, Cursor home
4.14.2 Löschbefehle
CTRL-Z
1A
ESC T
1B 54
SUB
27 84
Clear to End of Line
Bis z u m Z e i l e n e n d e
Leerzeichen auf füllen
mit
dem
ESC t
1B 74
27 106
Clear to End of Line to Null
Bis zum Zeilenende löschen
ESC Y
1B 59
27 89
Clear to End of Page
Bis z u m S e i t e n e n d e
Leerzeichen auffüllen
ESC y
1B 79
27 121
mit
dem
Clear to End of Page to Null
Bis zum Seitenende löschen
ESC
1B 2A
27 42
Clear All to Null
Seite löschen
ESC •
1B 3A
27 58
Clear Unprotected to Null
Seite löschen
ESC +
1B 2B
27 43
dito
ESC /
1B 2C
27 44
dito
ESC /
1B 3B
27 59
Clear Unprotected
Ganze Seite mit dem Leerze
auffüllen
4.14.3 Editierbefehle
ESC E
1B 45
27 69
Insert Line
Zeile einfügen
ESC R
1B 52
27 82
Delete Line
Zeile löschen
ESC Q
1B 51
27 81
Insert Character
Zeichen einfügen
ESC w
1B 57
27 87
Delete Character
Zeichen löschen
4 Wahl des Videomodus
ESC N
1B 4E
27 78
Page Edit
Seiteneditierung aktivieren
ESC 0
1B 4F
27 79
Line Edit
Zeileneditierung aktivieren
ESC q
1B 71
27 113
Insert Mode On
Einfügemodus einschalten
ESC r
1B 72
27 114
Insert Mode Off
Einfügemodus ausschalten
ESC
V
1B 76
27 11 8
Vertical Wrap On
Zeilenüberlauf einschalten
ESC w
1B 77
27 1 1 9
4
Vertical Wrap Off
Zeilenüberlauf ausschalten
ESC )
1B 29
27 41
Half Intensity On
Invertierung (ohne Leerzeichen)
einschalten
ESC (
1B 28
27 40
Half Intensity Off
Invertierung ausschalten
ESC •
1B 2E
27 46
Set Cursor Attribute
Cursorsymbol wählen
ESC G
1B 47
27 71
Set Video Attribute
Zeichenattribut wählen
6 Wahl des Ausgabemodus
ESC P
1B 50
27 80
Page Print with CR LF
Bildschirm ausdrucken
ESC §
1B 40
27 64
Aux Port On with Display
SIO B parallel mit Bildschirm­
ausgabe
ESC
1B 60
27 96
Aux Port Gn without Display
SIO B parallel ohne Bildschirm­
ausgabe
ESC a
1B 61
ESC A
1B 41
27 97
27 65
Aux Port Off Line
SIO B Parallelausgabe
ten
abschal­
dito
7 Tabulatorbefehle
ESC 1
1B 31
27 49
Set Tab Stop
Tabulatorposition setzen
ESC 2
1B 32
27 50
Clear Tab Stop
Tabulatorposition löschen
ESC 3
1B 33
27 51
Clear All Tab Stops
Alle
Tabulatorpositionen
löschen
ESC g
1B 57
27 103
Display User Line
Benutzerzeile anzeigen
ESC h
1B 68
27 104
Display Status Line
Statuszeile anzeigen
ESC f
1B 66
27 102
Load User Line
Benutzerzeile laden
9 Wahl der Monitor- und Gr aph iknodus
ESC $
1B 24
27 36
Graphics On
Graphikzeichen aktivieren
ESC %
1B 25
27 37
Graphics Off
Graphikzeichen deaktivieren
ESC ü
1B 55
27 85
Enter Monitor Mode
Monitormodus einschalten
ESC X
1B 58
27 88
Exit Monitor Mode
Monitormodus ausschalten
ESC u
1B 75
27 117
dito
4.14.10 Programmierung der seriellen Schnittstellen
CTRL-N
OE
14
SO
Disable XON/XOFF
XON/XOFF-Protokoll abschalten
CTRL-0
OF
15
SI
Enable XON/XOFF
SIO B auf XON /X OFF- Proto koll
schalten
ESC ä
1B 7B
27 123
Set Port Parameters
SIO A programmieren
ESC ü
1B 7D
27 125
Set Aux Port Parameters
SIO B programmieren
4.14.11 Programmierung der Funktionstasten
ESC ö
1B 7C
27 124
Load Function Key
Funktionstaste programmieren
4.14.12 Progranierxing der Systeeparameter
Nicht Televideo kdmpatibel !
ESC spc 1B 20
27 32
Px setzen
Tastaturfunktion wählen
1B 5F
27 95
Systemparameter setzen
ESC
13 Befehle zur Rückmeldung von Werten
ESC 5
1B 36
27 54
Send Line
Cursorzeile rückmelden
ESC ?
1B 3F
27 63
Read Cursor Address in Page
Cursorposition rückmelden
ESC /
1B 2F
27 47
Read Cursor Address
Seiten- u n d
Cu r so r p o s i t i on
rückmelden
ESC M
1B 4D
27 77
Transmit Terminal ID
V e r s i o n s n u m m e r und S p e i c h e r ­
größe rückmelden
ESC Z
1B 5A
27 90
Send User/Status Line
Benutzer- o d e r
Statuszeile
rückmelden
14 Spezielle Funktionen
CTRL-G
07
7
BEL
Bell
Piepston ausgeben
ESC ”
1B 22
27 34
Keyboard Unlock
Tastatur entsperren
ESC
1B 23
27 35
Keyboard Lock
Tastatur sperren
ESC >
1B 3E
27 62
Key Click On
Tastenklick einschalten
ESC <
1B 3C
27 60
Key Click Off
Tastenklick ausschalten
ESC o
1B 5F
27 1 1 1
Blank Display
Videosignal unterdrücken
ff
ESC n
1B 6E
27 110
Restore Display
Videosignal freigeben
ESC b
1B 62
27 98
Reverse Video
Bildschirm invers darstellen
ESC d
1B 64
27 100
Normal Video
Bildschirm normal darstellen
ESC e
1B 65
27 101
Load Substitute
Leerzeichen ersetzen
5.
Schnittstellen
5.1 Ein- und Ausgabekanäle
Das CP/M Betriebssystem unterstützt insgesamt vier Ein/Ausgabekanäle. Jeder Datentransport, der auf Zeichenbasis arbeitet
wird über diese Kanäle abgewickelt.
Diese Hauptkanäle sprechen jedoch nicht direkt eine Schnitt­
stelle des Gerätes an, sondern die Zuordnung zu einer physi­
kalischen Schnittstelle erfolgt erst durch einen von jeweils
vier Unterkanälen. Die Bezeichnung der Haupt- und Unterkanäle
ist durch jeweils drei Zeichen, gefolgt von einem D o p p e l ­
punkt , festgelegt.
Die aktuelle Kanalzuordnung wird in einem Byte - auch lOBYTE
genannt - an der Speicherstelle 3 abgespeichert. Jedem Haupt­
kanal sind in diesem Byte je zwei Bits zugeordnet, die eine
der vier verschiedenen Unterkanalbelegungen dekodieren.
Welcher Unterkanal welchem Hauptkanal zugeordnet ist, wird im
Allgemeinen über den STAT-Befehl (siehe Kap. 10.2) bestimmt,
kann aber auch durch direkte Änderung des lOBYTE erfolgen.
5.1.1
Erste r Hauptkanal
(CON:, Console, lOBYTE Bits 0,1)
Dies ist der einzige Kanal, der sowohl Daten senden als auch
e m p f ang en kann. Über den C0N:-Kanal laufen alle Ein- und
Ausgaben des Betriebssystems. Die vier Unterkanäle des CON:Kanals sind:
-
Erste serielle Schnittstelle
Tastatur und Bildschirm
Ba tc h m o d e
Erste parallele Schnittstelle
(TTY:,0,0)
(CRT:,0,1)
(BAT:,1,0)
(UC1:,1,1)
Die Bezeichnung dahinter gibt den Namen des Unterkanals und
die Werte der Bits 1 und 0 des lOBYTE an.
Im Batchmode wird keine physikalische Schnittstelle direkt
angesprochen, sondern die Zei ch enei ngabe erfolgt über den
zw eiten Hauptkanal (RDR:) und die Ausgabe über den vierten
Hauptkanal (L S T :).
5.1.2 Zweiiier Hauplikanal
(RDR:, Reader, lOBYTE Bits 2,3)
Dies ist ein reiner Eingabe-Kanal. Die vier möglichen Unter­
kanäle sind:
-
Erste serielle Schnittstelle
Erste parallele Schnittstelle
Tastatur
Zweite serielle Schnittstelle
(TTY:,0,0)
(PTR:,0,1)
(ÜR1:,1,0)
(UR2:,1,1)
5.1.3 Dritter Hauptkanal
{PON;, Punch, lOBYTE Bits 4,5)
Dies ist ein reiner Ausgabe-Kanal mit folgenden Unterkanälen:
-
Erste serielle Schnittstelle
Erste parallele Schnittstelle
Bildschirm
Zweite serielle Schnittstelle
(TTY: ,0,0)
(PTP: ,0,1)
(UP1:,1,0)
{UP2:,1,1 )
5.1.4 Vierter Hauptkanal
(LST:, List, lOBYTK Bits 6,7)
Dieser Kanal dient dem Betriebssystem als Druckerkanal. Alle
Ausgaben, die auf einen Drucker laufen sollen {Bildschirmaus­
druck über CTRL-PRINT), werden über diesen Hauptkanal abge­
wickelt. Die vier Unterkanäle sind:
-
Erste serielle Schnittstelle
B i l d sc hir m
Centronics-Parallelschnittstelle
Erste parallele Schnittstelle
(TTY:,0,0)
(CRT:,0,1)
(LPT:,1,0)
(UL1:,1,1)
5 .1«5 Zuordnung
der Kanäle
Die folgende Tabelle gibt noc hm al s eine Übersicht über die
möglic hen Kana 1 Zuordnung. Mit *■ ist die Zuordnung g e k e n n ­
zeichnet, die in der ausgelieferten Genie IIIs CP/M Version
voreingestellt ist.
Schnittstelle
Device
Möglichkeiten
CON:
TTY:
CRT:
BAT:
ÜC1 :
SIO A
♦ Bildschirm / Tastatur
Batchmode
PIO A
RDR:
TTY:
PTR:
UR1 :
UR2:
* SIO A
PIO A
Tastatur
SIO B
PUN:
TTY:
PTP:
UP1 :
UP2:
♦ SIO A
PIO A
Bildschirm
SIO B
LST:
TTY:
CRT:
LPT:
ÜL1 :
SIO A
Bildschirm
♦ Centronics-Schnittstelle
PIO A
Über den Befehl STAT XXX:=YYY: kann dem Hauptkanal XXX: der
Unterkanal YYY: zugewiesen werden. Eine Zuweisung der Drukkerausgabe auf den Bildschirm entspricht also dem Befehl STAT
LST: = CR T: .
Das Genie IIIs kann auch über STAT CON:=TTY: komplett von
einem anderen Gerät aus ferngesteuert werden. In diesem Fall
geschieht die gesamte Zeichenein- und ausgabe über die erste
serielle Schnittstelle (siehe Kapitel 11, TERM).
Im B a t c h m o d e geht die C O N : - A u s g a b e
CON:-Eingabe ko mmt vom RDR:-Kanal
zum
LS T : - K a n a l und die
5.2 Cen'tronics-Schni'tt:st:elle
Die Centronics-Parallelschnittstelle ist im allgemeinen für
den Anschluß eines Druckers vorgesehen. Wichtig beim Anschluß
eines Druckers ist, daß er keinen a u t o mat is che n Z e i l e n v o r ­
schub (Auto-Linefeed) mach en darf. Dies ist bei den meisten
Druckern über einen internen Schalter wählbar.
Ein genaue Belegung des Centronics-Anschlusses entnehmen Sie
bitte dem technischen Handbuch zum Genie IIIs.
5.3 Serielle Schnittstellen
(SIO A und SIO B)
Das Genie IIIs CP/M unterstützt beide seriellen Schnittstel­
len des Gerätes. Beim Booten des S y ste ms werden beide
Schnittstellen (SIO A und SIO B) auf die beim letzten CPMGEN
(siehe Kap. 11.5) eingestellten Werte initialisiert.
Bei beiden Schnittstellen wird empfangsseitig das XON/XOFFProtokoll unterstützt. Das heißt, daß nach dem E m p f a n g des
XOFF-C ode s (CTRL-S, DC3, 1 3H, 19 dez) das BIOS auf die F r e i ­
gabe durch XON (CTRL-Q, DC1 , 11H, 17 dez) wartet. Diese
Protokollform ist für die zweite serielle Schnittstelle über
eine Escapesequenz wählbar.
Die Pa ra m e t e r beider Sch nit tst ell en können ent weder über
Escapesequenzen (siehe Anhang B) oder über das SlO-Programm
(siehe Kap. 11.8) eingestellt werden. Die Pinbelegung der an
der Rückseite befindlichen beiden Buchsen und die Signalarten
entsprechen der V24-Norm. Genauere Daten entnehmen Sie bitte
dem technischen Handbuch.
5.4 Parallele Schnittstellen
(PIO 1 und PIO 2)
Vom CP/M-BIOS her, wird nur die erste der beiden parallelen
Schnittstellen unterstützt. Da es für die parallele Schnitt­
stellen keine Normung gibt und sie vorrangig für Steuerungs­
zwecke verwendet werden, wurde auf eine weitergehende Einbe­
ziehung dieser Schnittstelle verzichtet.
Initialisiert werden beide parallele Schnittstellen auf 'Bi­
directional Byte I/O*. Nähere Hi n w e i s e dazu e n t n ehm en Sie
bitte dem technischen Handbuch und dem Z80-PIO-Datenblatt.
6.
Nassenspeicher
6.1
Einführung
Anders als die in den vorherigen Kapiteln behandel ten Ein/
Ausgabekanäle, sind die Massenspeicher nicht Zeichen- sondern
blockorientiert. Dies bedeutet, daß die Datenübertragung von
und zu den M a s s en spe ic he rn (Disketten) in Blöcken zu je 128
Zeichen (Bytes) erfolgt. Ein Datenblock wird im weiteren als
RECORD bezeichnet, da der Begriff Block anderweitig verwendet
wir d.
Das CP/M-Betriebsystem unterstützt bis zu 16 derartige M as­
senspeicher unter den Bezeichnungen A: bis P:.
In der S y s t e m k o n f i g u r a t i o n (Kap. 7) wird jedem dieser l o g i ­
schen Speichereinheiten ein physikalisches Diskettenlaufwerk
(5 1/4 Zoll, 8 Zoll oder Winchester) zugeordnet.
Anders als bei sonst üblichen CP/M-Systemen ist die Zuordnung
frei wählbar und ein phy si kali sches Diskettenlaufwerk kann
auch über zwei oder mehr logische Namen angesprochen werden.
Bei Genie IIIs mit mehr als 128k Hauptspeicher, kann der
restliche Speicher als sogenannte ’R a m D i s k ’ benutzt werden.
Vom CP/M aus, ’sieht* die RamDisk wie ein Diskettenlaufwerk
aus und wird auch so benutzt. Der Vorteil dieser Speichernut­
zung ist ein extrem schneller Datenzugriff.
In der ausg eli efe rte n Version sieht die
logischen Laufwerke folgendermaßen aus:
A:
B:
C:
D:
E:
F:
G:
H:
I:
J:
K:
L:
M:
N:
O:
P:
Belegung
der
16
Erstes 5 1/4’* Laufwerk (eingebaut)
Zweites 5 1/4** Laufwerk (eingebaut)
Drittes 5 1/4’* Laufwerk (extern)
Viertes 5 1/4” Laufwerk (extern)
Erstes 8” Laufwerk (extern)
Zweites 8” Laufwerk (extern)
Drittes 8” Laufwerk (extern)
Viertes 8” Laufwerk (extern)
Winchester
Winchester
Winchester
Winchester
RamDisk (bei mehr als 128k Speicher)
Winchester
Winchester
Winchester
Falls keine Winchester angeschlossen ist, so werden die logi­
schen Laufwerke I,J,K,L,N,0 und P automatisch gesperrt.
Dies gilt ebenfalls
für die RamDisk,
bei weniger als 192K
bzw. 256K.
Da diese Sperrung auch auf die Kopien übe rtragen wird, muß
beim Anschluß einer Winchester bzw. bei einer Speichererwei­
terung das Syst em neu kon figuriert bzw. neue Kopien von der
Originaldiskette hergesteilt werden.
6.2 Diskettenlaufwerke
An das Genie Ills können bis zu vier 5 1/4 Zoll und bis zu
vier 8 Zoll D i s k e t t e n l a u f w e r k e ange schlo ssen werden. Vom
CBIOS unterstützt werden sämtlichen Datenformate von single
Density (einfache Dichte), single sided (einseitig) bis
double Density (doppelte Dichte), double sided (doppel sei­
tig) .
Dadurch ist es möglich, beliebige Diskettenformate von ande­
ren C P / M - R e c h n e r n zu lesen und zu schreiben. Die Zuw e i s u n g
eines Datenformats auf ein Diskettenlaufwerk geschieht über
den PD-Befehl, der im Kapitel 11.3 beschrieben ist. Anhang C
gibt einen Überblick über die zur Zeit möglichen Disketten­
formate .
6.2.1 Diskettenfehler
Anders als bei sonst üblichen CP/M Systemen, werden vom Genie
IIIs CP/M sämtliche möglichen Diskettenfehler abgefangen.
Bereits bei der Anwahl eines Laufwerks wird getestet, ob sich
darin eine Diskette befindet. Ist dies nicht der Fall, wird
dies dem Benutzer durch die Fehlermeldung
’Diskettenfehler auf Laufwerk x:’
'Laufwerk oder Diskette nicht vorhanden*
m i t g e t e i l t . D i e s e l b e M e l d u n g e r s c h e i n t auch, w e n n v e r s u c h t
wurde, ein nicht vorhandenes Laufwerk anzuwählen. Dabei steht
x: für eine der sechzehn möglichen Laufwerksbezeichnungen.
Der Benutzer muß diese Fehlermeldung durch Drücken der ENTERTaste quittieren. Danach führt das Syst em sel bsttätig eine
Warmstart aus und wählt das Hauptlaufwerk (siehe Kap. 7) an.
Tritt beim Sch rei ben oder Lesen einer Diskette ein Fehler
auf, so kann das System auf zwei Arten reagieren. Bei ausge­
schalteter Fehlermeldung (siehe Kap. 3.4.10.3, Tastaturfunktion CTRL-P3) wird der Fehler nur mit
’Diskettenfehler auf Laufwerk x:*
’Sektor nicht gefunden, Sektor d e f e k t ’
quittiert. Drücken der ENTER-Taste führt zu einer Wieder ho ­
lung der f e h l e r h a f t e n D i s k e t t e n o p e r a t i o n , B R E A K b r i c h t den
Vorgang ab und führt einen Warmstart aus.
6.2.2 Erweiterte Fehlermeldung
Wesentlich komfortabler ist die Fehlerbehandlung bei einge­
schalteter Fehlermeldung. Hier wird die Fehlerursache expli­
zit in der 25. Bildschirmzeile angegeben.
Aufgrund der präziseren Bezeichnungsmöglichkeit, wird diese
F e h l e r m e l d u n g in E n g l i s c h au sgegeben. Als e r st er e r s c h e i n t
*Read Error* (Lesefehler) oder *Write Error* (Schreibfehler)
und zeigt damit die letzte Diskettenoperation an. Die nächste
Meldung bezeichnet die Fehlerart:
*Lost Data*
Daten verloren
Beim Lesen/Schreiben des Sektors lief der Diskettenkontroller
aus der Synchronisation. Fehlerursache ist entweder die g e ­
drückte LSP-Taste oder eine falsche Einstellung des betroffe­
nen Diskettenlaufwerks.
*CRC Error*
: Prüfzahlfehler
Die beim Lesen errechnete Pr üfsumme für diesen Sektor stimmt
ni ch t mit der a u f g e z e i e b n e t e n P r ü f s u m m e überein. F e h l e r u r ­
sache kann neben schlechtem Diskettenmaterial auch ein un sau ­
beres Laufwerk sein. In seltenen Fällen kann auch eine ele k­
trische Störung einen Prüfzahl fehler hervorrufen.
*Record not
found*
: Sektor nicht gefunden
Der angegebene Sektor konnte auf der Diskette nicht lokali­
siert werden. Ursache ist fast immer eine falsche F o r m a t e in ­
stellung. Bei einer u n s a u b e r e i n g e l e g t e n D i s k e t t e ka n n es
ebenfalls zu einem solchen Fehler kommen.
’Write
fault*
Schreibfehler
Der angegebene Sektor konnte nicht geschrieben
lerursache ist meist ein defektes Laufwerk.
werden.
Feh­
Die Diskette ist über einen Aufkleber auf der linken Seite
schreibgeschützt. Bitte beachten Sie, daß 8 Z o l 1-Disketten
sc hr eib ges chü tzt sind, wenn der Aufkleber nicht vorhanden
ist.
Nach der L a u f w e r k s b e z e i c h n u n g über ’Disk:* wird in der 25.
Zeile auch die Position des fehlerhaften Sektors ausgegeben.
’Seite: V ’ steht für die Vorder sei te und ’Seite: R ’ für die
Rückseite. Für die Spur werd en zwei Werte ausgegeben. Der
erste Wert bezeich net die vom Bet ri e b s y s t e m angeforderte
Spurnummer, der zweite Wert die physikalsische Spurnummer.
Dadurch kann insbesondere bei der Ver arb ei tu ng von 40-Spur
Disketten auf 80-Spur Laufwerken und bei verschiedenen dop­
pelseitigen Zugriffsarten die Fehlerursache bestimmt werden.
Die zuletzt aus geg ebe ne S e k t o r n u m m e r ist die vom CBIOS errechnete Sektornummer, nicht die vom Betriebsystem angefor­
derte Recordnummer.
Nach der Ausgabe der erweiterten Fehlermeldungen, kann über
die CLEAR-Taste der weitere Verlauf bestimmt werden:
CI«EAR: Die zuletzt ausgeführte Diskettenoperation wird wie­
derholt. Dies ist besonders bei Prüfzahl f e h l e m zu empfehlen,
da nach mehreren Versuchen der fehlerhafte Sektor meist doch
noch zu lesen ist. Auch bei falscher F o r m a t e i n s t e l l u n g
(’Record not f o u n d ’) kann vor dem Drücken der CLE AR- Taste
eine Diskette mit dem richtige Format eingelegt werden.
SHIFT-CLEAR:
Die Diskettenoperation wird abgebrochen und der
Fehler an das Be tr i e b s s y s t e m gemeldet. Der weiter e Verlauf
ist wie bei ausgeschalteter Fehlermeldung.
CTRL-CLEAR: Die Diskettenoperation wird abgebrochen, es er­
folgt jedoch keine Fehlermeldung an das Betriebssystem. Diese
Art der Fe hle rb eh a n d l u n g ist besonde rs bei der Rettung von
Daten von physikalisch beschädigten Disketten zu empfehlen.
Dadurch kann, obwohl vielleicht ein oder mehrer e Sektoren
beschädigt sind, ein Großteil der aufgezeichneten Daten doch
noch gerettet werden. Hier ist aber Vorsicht geboten, da mit
den fehlerhaft gelesenen Sektoren weitergearbeitet wird.
Bei mehr als 128K Hauptspeicher wird der zusätzliche Speicher
beim Booten aut oma ti sc h als *RamDisk* initialisiert. Wird
dabei erkannt, daß die R a mDi sk bereits benutzt wurde, so
bleiben die Daten erhalten. So kann auch nach einem Kaltstart
die RamDisk mit den vorher gespeicherten Daten weiterbenutzt
werden.
Aufgrund der Speicherauslegung im Genie IIIs können bei 128K
zusätzlichem Speicher (256K Hauptspeicher) nur 1 12K als R a m ­
D is k b e n u t z t werden. Di es hat den G r u n d darin, daß in jeder
der b e i d e n z u s ä t z l i c h e n S p e i c h e r ’banks* nur 56 der 64K z u ­
g ä n g l i c h sind. Bei zwei z u s ä t z l i c h e n B a n k s sind so 2*56K =
1 1 2K als R a m D i s k nutzbar. Da 1K für das I n h a l t s v e r z e i c h n i s
(Directory) benutzt werden, sind bei 256K Hauptspeicher ins­
gesamt 111K als RamDisk-Speicher frei.
6.3.1 RanDiskfehler
Fe h l e r auf der R a m D i s k si nd (fast) u n b e k a n n t und m e i s t in
defekten Speicherbausteinen zu suchen. Auch wenn das einge­
baute Boot-EPROM keinen Speicherfehler findet, kann eines der
S p e i c h e r - I C s d e f ek t sein. In d i e s e m Fall w e n d e n Sie sich
bitte direkt an Ihren Händler.
Überrage nde r Vorteil einer Win ch est er ist neben der extrem
grossen Kapazität auch die Geschwindigkeit der Datenübertra­
gung. In der aug enb lic kl ich en C P / M - V e r s i o n wird eine W i n ­
chester von 9.5 MB (formatiert) unterstützt.
Da das CP/M-Betriebsystem nur maximal 8 Megabyte verwalten
kann, werden bei der Formatierung durch das Programm WNFORMAT
(siehe Kap. 11.12) die 10 Megaby te Speicherplatz auf der
Winchester in 2 bis 7 Teile aufgespalten. Jeder dieser Teile
kann dann als ei gen st ändig es L a u f w e r k ang esprochen werden,
die Zuordnung der einzelnen Teile zu Laufwerksnamen geschieht
im CONFIG-Programm (Kap. 7).
Diese Formatierung und Aufspaltung geschieht in der Regel nur
e inm al, mu ß aber vo r d e r e r s t e n N u t z u n g der W i n c h e s t e r auf
jeden Fall erfolgen.
6.4.1 Winchester fehler
Da die Win ch es te r ein v o l l k o m m e n gek ap sel tes Lau fw e r k ist,
sind Fehler äussert selten. Defekte Spuren werd en bereits
beim Formatieren erkannt und ihnen Ersatzspuren zugewiesen.
Da die Winchester einen eigenen intelligenten Controller hat,
werden auch die meisten anderen Fehler abgefangen und gröss­
tenteils automatisch korrigiert.
Falls es doch zu einem Fehler kommen sollte, der nicht durch
den Winchesterkontrol1er korrigiert werden kann, erscheint in
der 25. Bildschirmzeile der Text 'Winchester Fehler Nummer:'
und die hexadezimale Fehlernummer. Danach wird der Fehler wie
beim Dis ke tt en zu gr iff durch CLEAR, SHI FT -CL EAR oder CTRLCLEAR quittiert.
Mögliche Fe hle rnu mm ern sind:
01H
02H
03H
04H
06H
08H
1 OH
1 1H
12H
14H
15H
18H
1 9H
IAH
Kein Index gefunden
Suchbefehl nicht beendet
Schreibfehler
Winchester nicht bereit
Spur 00 nicht gefunden
Suchbefehl noch aktiv
Sektorkennung nicht gefunden
Unkorrigierbarer Datenfehler
Sektormarkierung nicht gefunden
Zielsektor nicht gefunden
Suchbefehl fehlerhaft
Korrigierbarer Fehler
Defekten Track angewählt
Formatierungsfehler
1CH
1EH
21H
: Ersatzspur direkt angewählt
: Ersatzspur nicht gefunden
: Gewählte Sektornummer zu groß
Alle genannten Fehler können eine der folgenden Ursachen
haben:
- Der Hostadapter (Zusatzkarte) ist defekt
- Das Zuleitungskabel ist fehlerhaft
- Die Winchester ist defekt
- Keine Formatierung durchgeführt
- Formatierung fehlerhaft durchgeführt
- Der Zugriff erfolgte nicht über das Betriebssystem
Bei den Fehler cod es 1 OH bis 1 5H ist es empfehlenswert, alle
Daten auf Diskett en zu kopieren und die F o r mat ie run g der
Winchester zu wiederholen. Insbesondere bei starken mechani­
schen E rs chü tt eru ng en kann es zu einem sogenannten *HeadCrash* kommen, der auf gezeichnete Daten (S e k t o r k e n n u n g e n )
zerstören kann.
In diesem Fall wird durch die noc hma li ge F o r m a tie ru ng die
Se kt ork enn ung erneuert oder die defekte Spur vom wei ter en
Zugr if f ausgeschlossen.
6.5 Booten von anderen Laufwerken
6.5.1 Booten von anderen Formaten
Das Booten des Be t r i e b s y s t e m s geschieht zur Zeit nur von
einer 5 1/4 Zoll Diskette in Format SSO DSDD. Das Booten von
anderen Formaten ist im CP/M 2.2 nicht geplant, wird aber im
Genie IIIs CP/M-Plus verwirklicht werden.
6.5.2 Booten von 8 Zoll Laufwerken
Booten des CP/M 2.2-Betriebsystems von einer 8 Zoll-Diskette
wird zu Zeit nicht unterstützt. Da das Genie IIIs aber diese
Mö gli chk eit durch U m s t e c k e n eines internen Kodi ersteckers
bietet, wird eine solche Lösung in nächster Zeit erscheinen.
6.5.3 Booten von der Winchester
Zum Booten von der Winchester muss das im Genie IIIs e i ng e­
baute Boot-EPROM geändert werden. Eine solche Änderung ist in
Arbeit und wird höchstwahrscheinlich zusa mm en mit CP/M-Plus
an geb ote n.
6.6.1 Übertragung von Dateien
Zur Übertragung von Daten zwischen den beiden Betriebssyste­
men CP/M 2,2 und GDOS wird ein separates Programmpaket angeboten. N ä h e r e H i n w e i s e da z u f in de n Sie im K a p i t e l 2.3 unt er
’S e r v i c e ’.
6.6.2 CP/N und GDOS auf der Winchester
Die Nutzung der Winchester durch beide zur Zeit angebotenen
Betriebsysteme GDOS und CP/M wurde von verschiedenen Benut­
zern gewünscht. Eine solche Nutzung ist in Arbeit und wird
ca. im 2. oder 3. Quartal ’85 angeboten werden. Zu die se m
Zweck werden bereits jetzt die ersten 5 Spuren der Winchester
reserviert. Nähere H i n w e i s e dazu e n t n e h m e n Sie bitte den
Kapiteln 7 {Systemkonfiguration) und 11.12 (WNFORMAT)
7. Systeakonf igurierung
Eine der grossen Vorteile des Genie IIIs CP/M ist die freie
Konf igu rie rba rke it auf die jeweilige Anwendung. Auf jeder
Systemdiskette sind 512 Bytes für die sogenannte Systemtabel­
le (kurz SYSTAB) reserviert, in der alle veränderbaren Daten
gespeichert sind.
D i e s e T a b e l l e w i r d bei j e d e m B o o t v o r g a n g von der D i s k e t t e
g e l e s e n und das S y s t e m d a r a u f ei ng es te ll t. D a d u r c h ist es
möglich, durch verschieden konfigurierte Systemdisketten für
jede beliebige Anwendung ein optimal eingestelltes System zu
booten.
Alle Änderu nge n der Konfig urati on durch Tastatur funkt ionen
und Escapesequenzen werden in der SYSTAB abgespeichert. Auch
die Parameter der seriellen Schnittstellen werden bei einer
Änderung durch den SIO-Befehl dort abgelegt. Erst der Befehl
C P M G E N (siehe Kap. 11.5) speichert die aktuelle Einstell ung
auf der gewählten Systemdiskette ab.
Eine direkte Änderung der SYSTAB auf einer S y ste md isk et te
wird durch das Programm CONFIG erreicht. Da mit diesem Pro­
gramm zum Teil systeminterne Abläufe geändert werden können,
wird die Systemtabelle nur auf dem gewählten Laufwerk geän­
dert und NICHT in den Speicher übernommen. Eine genaue A u f ­
listung der in der Sy s t e m t a b e l l e abgelegten Daten ist im
Anhang A aufgeführt.
7.1 CONFIG
Durch den Befehl CONFIG oder CONFIG X wird das P r o g r a m m zur
Systemkonfiguration aufgerufen. Im ersten Fall wird die Sys­
te mta be ll e der sich im ersten 5 1/4 Zoll L a u f w e r k (unteres
der beiden eingebauten Laufwerke) befindlichen Systemdiskette
geändert. Im z w ei ten Fall kann durch die Angabe eines 5 1/4
Zoll Laufwerks die dort eingelegte Sys t e m d i s k e t t e geändert
werden. X ist in dies em Fall durch die Bezeic hnu ng eines 5
1/4 Zoll Laufwerks zu ersetzen.
Der Benutzer ist dafür verantwortlich, daß das CONFIG-Programn nur auf Genie Ills CP/M-Systemdisketten angewandt wird.
Nach dem Einladen der Systemtabeile von der gewählten System­
diskette wird jeder veränderbare Parameter einzeln abgefragt.
Dabei wird in Klammern die aktuelle Einstellung ausgegeben.
Durch Drücken der ENTER-Taste wird diese Einstellung beibe­
halten und der nächste Parameter abgefragt.
Soll die E i n s t e l l u n g v e r ä n d e r t werden, so ist der neue W e r t
ei nz uge ben .
Eine Übersicht über die so veränderbaren Parameter gibt die
folgende Aufstellung, die mö gl ich en Werte sind jeweils in
Klammern angegeben:
LOGO anzeigen
(J/N)
Als LOGO wird der Schrif tzug und die Meldungen, die beim
Bootvorgang ausgegeben werden, bezeichnet. Bei abgeschaltetem
LOGO wird diese Ausgabe unt erdrückt und das System meldet
sich direkt mit dem Prompt A>. Eine Abschaltung des LOGO ist
insbesondere bei Ausnutzung der INFO-Zeile (siehe Kap. 11.2)
zu empfehlen.
Hardwareuhr vorhanden
(J/N)
Nach Installation der Uhrenkarte (TCS-Clock) kann dadurch die
Anzeige von ührzeit und Datum in der Statuszeile freigegeben
werden. Ist keine Hardwareuhr vorhanden, wird dieser P a r a m e ­
ter beim Bootvorgang automatisch auf N gesetzt.
Statuszeile anzeigen
(J/N)
Dieser Parameter kann ebenfalls durch die Escapesequenz ESC _
verändert werden. Bei abge schal teter Sta tuszeile wird die
Anzeige der Zeilen auf dem Bil ds c h i r m von 25'^'80 auf 2 4 ’*'80
begrenzt. Auch die erweiterte Fehlermeldung und die Tastatur­
funktion CTRL-Px werden dann nicht angezeigt.
Zeilenüberlauf
(J/N)
Bei a k t iv ier te m Ze ile nüb erl auf wird der Cursor nach Ü b e r ­
schreiten der 80. Spaltenposition automatisch auf den Beginn
der näc hsten Zeile gesetzt. Falls vorr angig mit BASIC oder
dBase II gearbeitet werden soll, ist der Zeilenüberlauf abzu­
schalten. In diesem Fall bleibt der Cursor nach Erreichen der
letzten Ze i l en pos it ion dort stehen und wird erst durch die
beiden Videobefehle CR und LF in die nächste Zeile befördert.
Weitere Hinweise dazu stehen im Kapitel 4.5 {Videomodi) und
im Anhang B unter ESC v und ESC w.
Automatischer Zeilenvorschub
(J/N)
A u t o m a t i s c h e r Z e i l e n v o r s c h u b be de u t e t , daß na ch d e m E r h a l t
des Videobefehls CR (Cursor zum Anfang der Zeile) automatisch
der Befehl LF (Cursor in die nächste Zeile) ausgeführt wird.
D i e s e F u n k t i o n w i r d im A l l g e m e i n e n n i ch t benutzt, da das
CP/M-Betriebssystem und alle unter CP/M laufenden Programme
die Sequenz CR LF selbst erzeugen. Bei Nutzung des Genie IIIs
CP/M als intelligentes Terminal an einem anderen Rechner kann
diese Funktion jedoch gebraucht werden.
Rückmeldung mit Leerzeichen (J/N)
Wie im Kapitel 4.13 {Rückmeldung von Werten) angesprochen,
kann die Vid eor out ine b e s t i m m t e Werte an das P r o g r a m m über
die Tastaturroutine zurückmelden. Bei der Verwendung dieser
Möglichkeit innerhalb eines BASIC-Programms wird jedoch in
der Regel das erste Zeichen 'verschluckt*. Um dennoch alle
Werte zu erhalten kann durch das Voranstellen eines Leerzei­
chens vor die Rückmeldung dieser Datenverlust umgangen we r­
den .
Interrupts aktivieren
(J/N)
Bei aktivierten Interrupts wird 40 mal pro Sekunde das lau­
fende P r o g r a m m un ter broch en und der Mas chine nbefe hl an den
Spe ic her st ell en 56/57/58 (0 0 3 8 H ,0 0 3 9 K ,0040H) ausgeführt. Im
No rm alf all wird dadurch die ühranzeige in der Statuszeile
aktualisiert und eine Tastaturabfrage durchgeführt. Damit ist
es möglich, auch während der Ausführung eines Programms be­
reits Zeichen einzutippen, die dann automatisch zwischenge­
puffert werden. Diese Art der Tastaturabfrage ist im Kapitel
3.2.3 unter der Beze ich nun g 'Type-ahead* beschrieben. Da nun
manche P r o g r a m m e diese Spe ic her stell en für eigene Zwe ck e
benutzen, kann die Erzeugung von Interrupts unterbunden w er ­
den. Dies ist auch bei zeitkritischen Programmen zu empfeh­
len, da die Interruptroutine eine gewisse Zeit benötigt. Beim
Bootvorgang werden dann zwar immer noch die genannten Spei­
ch er ste lle n initialisiert, jedoch nicht mehr benutzt. Bei
abgeschalteten Interrupts ist es erforderlich, die Zeiten der
a u t o m a t i s c h e n T a s t e n w i e d e r h o l u n g zu ändern (siehe weiter
unten).
Uhrzeit
anzeigen
(J/N)
Über diesen Parameter kann die regelmäßige Anzeige der Uhr­
zeit in der Sta tuszeile unt er bund en werden. Die Anzeige
bleibt dann konstant auf 00:00:00 stehen. Ist keine Hardware­
uhr vorhanden wird dieser Parameter automatisch beim Booten
auf N gesetzt.
Die T a s t e n w i e d e r h o l u n g des separaten Zehnerbl ock s ist mit
diesem Paramter ein- und ausschaltbar. Soll der Zehnerblock
nur zur Eingabe von Zahlen v erw en det werden, so ist eine
Abschaltung der Tastenwiederholung zu empfehlen. Ist über die
Tastaturfunktion CTRL-P2 die gesamte Tastenwiederholung abge­
schaltet, so ist dieser Paramter ohne Einfluß.
Anzahl der Schreib/Leseversuche (1 bis 255)
Der ei nge geb ene Wert b e s t i m m t die Anzahl der Schreib- und
Leseversuche auf einer Diskette bis zur Fehlermeldung. Nach
jedem Diskettenfehler wird dieser Zähler um eins erniedrigt
und beim Er rei che n des Wert es 0 der Fehler an den Benutzer
gemeldet. Wird bei der erweiterten Fehlermeldung durch Drükken der CLEAR-Taste eine Wiederholung des Zugriffs gefordert,
so wird die hier gewählte Anzahl von Versuchen neu gestartet.
Hauptlaufwerk (A bis P)
Mit dem Parameter Hauptlaufwerk kann eines der 16 möglichen
Laufwerke als Hauptlaufwerk ausgewählt werden. Nach dem Boo­
ten wird dieses L a u f w e r k dann sofort angewählt. Auch nach
Diskettenfehlern oder einer fehlerhaften Laufwerksanwahl wird
dieses Laufwerk wieder angesprochen. Diese Funktion ist vor
allem dann nützlich, wenn ständig auf einem speziellen Lauf­
werk (z.B. 8 Zoll oder Winchester) gearbeitet werden soll.
Laufwerk für Warmstart
(A bis P)
In der CP/M-*Phi losophie* ist das Laufwerk unter dem Namen A:
zentrales Laufwerk für sämtliche Operationen. Bei einem W a r m ­
start (Dr ücken von B R E A K od e r CTRL-C) w i r d d i e s e s L a u f w e r k
immer angewählt, auch wenn zuletzt garnicht damit gearbeitet
wurde.
B e s o n d e r s b e i m A r b e i t e n mit D i s k e t t e k a n n d i e s sehr lästig
we rden, da der W a r m s t a r t d a n n i m m e r e t w a s dauert. Im G eni e
IIIs CP/M gibt es daher die Möglichkeit, statt des Laufwerks
A: ein anderes beim Warmstart anzuwählen. Besonders nützlich
ist diese Funktion zu s a m m e n mit der RamDisk.
Wird als Laufwerk für den Warmstart die RamDisk gewählt, so
ist der W a r m s t a r t d e u t l i c h s c h n e l l e r als auf a n d e r e n C P / M Systemen.
Dieser Wert gibt die Anzahl der Tas ta tur abf ragen bis zum
Beginn der automatischen Tastenwiederholung an. Da die Tasta­
tur im Genie IIIs per Software abgefragt wird, ist die Zeit­
spanne vom Drücken der Taste bis zum Beginn der Wiederholung
nicht immer konstant. Je nach laufendem Programm können sich
größere Unterschiede ergeben.
Bei aktivierten Interrupts ist dieser Zeitunterschied nicht
allzu groß, da die Tastatur konstant alle 25 msec (40 mal pro
Sekunde) abgefragt wird. Durch Wahl dieses Wertes kann die
Tastenwiederholung optimal an die jeweilige Anwendung ange­
passt werden. In der Regel liegt dieser Wert zwischen 100 und
400.
Zeit bis zur nächsten Wiederholung (1 bis 9999)
Analog zum vor herigen Par ame ter wird hier die Anzahl der
T as ta tu ra bf ra gen bis zur nächsten Wiederholung, also die
W i e d e r h o l f r e q u e n z , bestimmt. Auch hier ist bei akt ivier tem
Interrupt etwa die Verdoppelung des Wertes notwendig.
Die in der ausgelieferten Version voreingestellten Werte sind
nur etwaige Anhaltspunkte, die durch etv>/as Ausprobieren opti­
miert werden sollten. In bis herigen Versuchen haben sich
Werte zwischen 10 und 50 als gut herausgestellt.
Zeitfaktor bei Statusabfrage (1 bis 255)
Da manche Programme nicht immer über eine CBIOS-Funktion auf
den Tastendruck warten (z.B. Multiplan) kann es zu verschie­
denen Wiederholfrequenzen bei unterschiedlichen Programmfunk­
tionen kommen. Diese Programme testen nur den Tastaturstatus,
ob also eine Taste gedrückt wurde oder nicht. Damit auch bei
normaler Tastatureingabe die gleiche W iederho 1ungsf requenz
erreicht wird, werd en durch diesen P a r ame te r die W i e d e r h o ­
lungszeiten bei reiner Statusabfrage um den gewählten Faktor
gedehnt. In bisherigen Testläufen haben sich die Werte 2 und
3 als optima l gezeigt. Jedoch kann auch hier je nach A n w e n ­
dungsfall etwas Probieren bessere Ergebnisse bringen.
Anzahl der Spuren (40/80 für 5 1/4 Zoll,
77 für 8 Zoll)
Über diese Frage wird die Anzahl der phy sikal ische n Spuren
der jeweils vier m ö gl ichen 5 1/4 und 8 Zoll Lau fwe rke b e ­
stimmt. Diese Angabe wird zur Zeit nur bei einer d o p p e l s e i ­
tigen Zugriffsart in bestimmten Diskettenformaten verwendet.
KopfZugriffszeit
(0 bis 3)
Mit di ese m Pa ra m e t e r wird für jedes D i s k e t t e n l a u f w e r k die
Zeit bestimmt, in der der Schreib/Lesekopf dieses Laufwerks
von Spur zu Spur beweg t wird. Für die vier 5 1/4 Zoll L a u f ­
werke gelten folgende Werte:
0
1
2
3
5
10
20
40
msec
msec
msec
msec
Die ein ge bau ten L a u f w e r k e arbeiten mit der sch nellsten Z u ­
griffszeit und das Syst em ist auch ent spr echen d v o r e i n g e ­
stellt .
Für die vier möglichen 8 Zoll Laufwerke gelten die folgenden
Zeiten:
0
1
2
3
3
5
10
20
msec
msec
msec
msec
Im A l l g e m e i n e n ist auch hier der sch nellste Wert möglich,
ältere La u f w e r k e können aber evtl, auch nur 5-10 msec v e r ­
kraften .
Namenszuweisung
Im Genie IIIs CP/M ist man
- im Gegensatz zu anderen CP/MSystemen - nicht an eine feste Zuordnung der sechzehn mö g­
lichen Namen an physikalische Laufwerke gebunden. Jedem phy­
sikalischen Laufwerk können dabei auch mehrere Bezeichnungen
zugewiesen werden.
Da in üblichen CP/M-Systemen nur bis zu 4 Laufwerken zugelas­
sen sind, we rde n auch manc he P r o g r a m m e nur auf die ersten
vier Laufwerksbezeichnungen (A-D) zugeschnitten.
Dies ist insbesondere dann ärgerlich, wenn eine feste Zuord­
nung auf die L a u f w e r k e A und B besteht, man das P r o g r a m m aber
b e s p i e l s w e i s e auf den 8 Zoll Laufwerken, die n o r m a l e r w e i s e
die Namen E-H erhalten, ablaufen lassen will. Da diese Zuw en­
dung zu den ersten Laufwerksnamen, vor allem A: (siehe Haupt­
laufwerk, L a u f w e r k für Warmstart) auch vom C P /M- Be tri eb ssystem unterstützt wird, ist es normalerweise nicht möglich
ge wis se A n w e n du nge n ohne Änderung auf anderen L a u f w e r k e zu
betreiben•
Über die freie N a m e n s z u w e i s u n g im G e n i e IIIs C P / M w e r d e n
diese Nachteile aber auf elegante Weise umgangen.
Jedes mögliche Laufwerk wird dabei der Reihe nach abgefragt
und es können ihm ein oder mehrere durch Leerzeic hen oder
Komma getrennte Bezeichnungen im Bereich von A bis P gegeben
werden. Nun ist auch möglich, Programme, die eine Unterschei­
dung zwischen Programm- und Datendiskette machen (z.B. dBaseProgramme) auf einer Diskette ablaufen zu lassen.
Bei der Eingabe wird automatisch die Zuweisung eines Namens
auf mehrer e La uf w e r k e abgefangen. Ist ein L auf we rk nicht
vorhanden, so kann der Zugriff durch die Eingabe des Namens
’X* gesperrt werden. Diese Sperrung wird auch bei nur 128K
Hauptspeicher oder nicht vorhandener Winchester der auf die
RamDisk bzw. die Winchesterteile übertragen.
Bei den Winchestertei len, darf nur den Teilen die im WNFORMAT
(siehe Kap 11.12) gewählt wurden ein Name zugewiesen werden.
Ein Zugriff auf nicht vorhandene Wi nc hes te rte il e kann zum
Datenverlust oder Systemabsturz führen.
Nach Abschluss des CONFIG-Programms wird die geänderte Sys­
temtabelle wieder auf die beim Aufruf gewählte Systemdiskette
übertragen. Erst nach dem Booten dieser Diskette werden die
neu gewählten Parameter aktiviert.
8. Unterstützung von Zusatzkarten
8.1 Uhrenkarte
(TCS-Clock)
Die zum Genie IIIs erhältliche Hardwareuhr wird im CP/M voll
unterstützt. Neben der per iod ische n Anzeige von Wochentag,
Datum und Uhrzeit in der Sta tuszeile ist auch das direkt
Auslesen der angezeigten Werte aus dem Speicher möglich. Der
genaue Zugriff auf diese Tabelle ist im Kapitel 12 beschrie­
ben.
Die Ein st ell ung der Uhr erfolgt über die beiden D i e n s t p r o ­
gramme ZEIT und DATUM (siehe Kap. 11.10 und 11.11).
8.2 Hostadapter
Über diese Zusatzkarte wird die eingebaute Harddisk (Winches­
ter) angesprochen. Sämtliche notwendigen Routinen sind in das
CBIOS integriert und können auch von Fremdprogrammen benutzt
werden. Genaue Hinweise zum Aufbau des Hostadapters und der
Winchester entnehmen Sie bitte dem technischen Handbuch oder
dem Winchester-Datenblatt.
8.3 Andere Zusatzkarten
Weitere Zusatzkarten werden je nach Erscheinen
Versionen des Genie IIIs CP/M 2.2 unterstützt.
in folgenden
9. CP/M Systembefehle
9.0 Einleitung
Die folgenden Befehle sind fest im CP/M integriert und daher
jederzeit auf Systemebene erreichbar. Sie erlauben eine m i n i ­
male Kontrolle des Systems und der auf Diskette gespeicherten
Daten. Für darüber hinausgehende Operationen stehen die CP/MS t a n d a r d p r o g r a m m e zur Verfü gu ng , die jedoc h als Datei auf
einer Diskette erreichbar sein müssen.
Im weiteren werden die folgenden Bezeichnungen verwendet:
Iw
Laufwerksbezeichnung zwischen A und P
efn
Einfachname (Filename ohne ? oder
mfn
Mehrfachname (efn oder Filename mit ? und/oder
Syntax:
oder
oder
DIR
DIR Iw:
DIR lw:mfn
Anwendung: Ausgabe des Inhaltsverzeichnisses (Directory)
aktuellen oder angewählten Laufwerks.
des
Bemerkung: DIR gibt keinen Aufschluß den Filestatus und die
Größe der Files. Diese Werte können nur über den
STAT-Befehl abgefragt werden. Die Ausgabe der
Di rect ory wird beim Drücken einer Taste sofort
abgebrochen.
CTRL-S stoppt die Ausgabe, die Betätig ung einer
beliebigen Taste führt die Ausgabe fort.
Syntax:
oder
ERA mfn
ERA Iwrmfn
Anwendung: Löschen eines oder mehrerer Dateien aus dem I n ­
haltsverzeichnis .
Bemerkung: ERA löscht die a n g e g e b e n e (n ) Datei(en) nur im
Inhaltsverzeichnis und gibt die durch sie besetz­
ten Blöcke auf der Diskette wieder frei. Über
spezielle P r o g r a m m e kann diese Löschung wieder
rückgängig gem acht werden. Soll eine b e s t i m m t e
Datei komplett gelöscht werden, so müssen die von
ihr belegten Diskettenblöcke mit neuen Daten über­
spielt werden. Über ERA Iw:’*'.'*' können sä mt lic he
Dateien des gewählten Laufwerks gelöscht werden.
Zur Abs icherung fragt das CP/M noc heinmal durch
*ALL (Y/N)?' nach, ob auch wi rk lic h alle Dateien
gelöscht werden sollen.
Syntax:
REN efn=efn
Anwendung: Änderung eines Dateinamens
Bemerkung: Der erste der beiden N a m e n steht für die neue
Dateibezeichnung, der zweite für den alten Datei­
namen. Falls bereits eine andere Datei unter dem
neuen N a m e n existiert, so bricht das CP/M den
Befehl mit der Fehlermeldung ’FILE EXISTS* (Datei
existiert) ab.
Syntax:
oder
TYPE efn
TYPE lw:efn
Anwendung: Auslisten einer Datei auf dem Bildschirm
Bemerkung: TYPE dient vornehmlich zur Kontrolle von Textda­
teien auf dem Bildschirm. Dieser Befehl gibt alle
Zeichen der angegebenen Datei bis zum Erreichen
des CTRL-Z Codes {1AH, 26 dez) aus. Dabei findet
keine Kontrolle bezüglich der Zeichen statt, d.h.
es werden auch Controlcodes ausgegeben. Dies kann
bei Nic ht -T ext dat ei en zu m e r k w ü r d i g e n Ausgaben
führen. Wie bei DIR kann die Zeichenausgabe durch
CTRL-S gestoppt und über einen beliebigen Tasten­
druck wieder fortgeführt werden.
Syntax:
USER n
Anwendung: Wahl
15
eines neuen Benutzerbereichs zwischen
0 und
Bemerkung: Durch den Benutzerbereich kann die Directory einer
Diskette in bis zu 16 Teile aufgeteilt werden.
Dies ist insbesondere bei großen Laufwerksgrößen
(Winchester) nützlich, um die gespeicherten Datei­
en in verschiedene Gruppen zusammenzufassen. Der
gewählte Benutzerbereich gilt für alle Laufwerke
und läßt nur den Zugriff auf Dateien im gleichen
Bereich zu.
Syntax:
oder
SAVE n efn
SAVE n lw:efn
Anwendung: Abspeichern eines Speicherblocks
Bemerkung: n bezeichnet die Länge des zu sichernden Speicher­
bereichs in 256-Byte Blöcken. Die Abspeicherung
beginnt immer an der Adresse 0100H.
10.
CP/M Standardprogramme
10.0 Einleitung
Als Standardprogramme sind alle die Programme bezeichnet, die
zum festen Bestandteil des CP/M gehören. Diese P r o g r a m m e
beziehen sich nur auf das CP/M 2.2-Betriebssystem und laufen
ohne Änderung auch auf anderen CP/M~Rechnern.
Das P r o g r a m m PIP.COM dient zum Kopieren von Dateien, zum
Aneinanderreihen/Zusammenfassen von mehreren Dateien zu einer
neuen Datei sowie dem Transport von Dateiinhalten zu Periphe­
riegeräten.
Der prinzipielle Syntax ist immer:
PIP Ziel:=Quelle,Quelle,Quelle (Option, Option)
usw.
allgemein ausgedrückt PIP Laufwerk:=Laufwerk: Dateiname(n)
Wenn man mehrer e un tersc hie dlich e Kop ie r/T ran sferb efehl e
geben muß, ist es zweckmäßig, nur einfach PIP ohne Parameter
aufzurufen. PIP meldet sich dann mit einem Prompt; man
braucht dann nur noch die jeweiligen Kopierbefehle einzuge­
ben; das kann etwa so aussehen:
PIP
(meldet sich mit dem ’*’•'** Promptzeichen,
sen)
B:=C:
A := b : .com
Ist:=drucker.dat
usw •
hier weggelas-
Am einfachsten zu Erklären ist die Handhabung des Programms
mit Beispielen: gegeben sei eine P r o g r a m m d i s k e t t e in A und
eine formatierte Diskette in B, außerdem ein betriebsbereiter
Drucker und eine Datenquelle (Akustikkoppler, anderer Rechner
etc. mit richtig eingestellten Übertragungsparametern) an der
SIO A.
Im Beispiel seien auf DISK A unter anderem die Dateien
- DRUCKER.DAT, die eine Initialisierung für den Drucker ent­
hält
- FORMAT.COM, Formatierprogramm für neue Disketten
- FOX. DAT, beliebige Datei
- FR0N.COM, beliebiges Programm
- F.PRN, beliebige Datei
- L0TAT.COM, beliebiges Programm
abgespeichert, außerdem kann von der SIO A noch das Programm
M.COM eingelesen werden.
Mit STAT sei die Vor ei nst el lun g SIO A ist PUN: beim zum
Senden und RDR: zum Empfangen eingestellt (siehe Kap. 10.2).
Das Lesen der M.COM von der SIO soll durch Ausgabe der Datei
F.PRN an die SIO gestartet werden.
Die mögliche Praxis mit PIP:
1 . PIP b: =a:
Es werden alle Dateien von A nach B kopiert.
2. PIP b:=a:
Es werden die Dateien von A nach B kopiert, die mit dem
Bu chs tab en **F” beginnen, also im Beispiel FORMAT.COM,
FRON.COM, FOX.DAT und F.PRN
3. PIP b :zusamm.prn=a:f .p r n ,fox.d a t ,drucker.dat
Hier wird auf L a u f w e r k B eine Datei ZUSAMM.PRN eröffnet
und in diese Datei die Dateiinhalte von F.PRN, FOX.DAT und
DRUCKER.DAT zusammenhängend einkopiert. Dies ist ein Bei­
spiel für die Zusammenfassung von Dateien.
4. PIP LST:=DRÜCKER.DAT
Der Inhalt der Datei wird zum LST - Kanal (meist der
Drucker) übertragen, z.B. um den Drucker zu initialisieren
(Schriftarten, Seitenlange etc. setzen). Die Datei wird in
diesem Falle bis zu einem in der Datei befindlichen Datei­
endez ei ch en (CONTROL-Z ist gleich 1A hex) an den Drucker
ausgegeben, also nicht unbedingt komplett übertragen. Man
kann damit natürlich auch ASCII-Dateien ausdrucken, wird
aber mit dem Ergebnis wegen der fehlenden Formatierung des
Textes nicht zufrieden sein.
5. PIP PUN:=NUL:,F.Prn,NUL:
In uns er em Beispiel würde so die Datei F.PRN über die
serielle Schnittstelle SIO A ausgegeben, zum Beispiel an
einen anderen Rechner, einen seriellen Drucker oder ein
Mod em/ Ak kus ti kko pp ler . Vor der Ausgabe wür den 40 NullBytes übertragen, ebenso nach der Ausgabe (zum Einsynchro­
nisieren des Empfängers beispielsweise).
6. PIP a:MNEÜ.C0M=RDR:
In diesem Beispiel werden die von der SIO gelesenen Daten
(z.B. ein von einem anderen Rechner gesend ete s P r o g r a m m
M.COM) automatisch in der Datei MNEU.COM gespeichert. Dies
Beispiel ist in der Praxis so nicht ohne wei te re s d u r c h ­
führbar, da man sich auf Übertragungsprotokolle (Steuerund Endzeichen) u.a. einigen müßte.
Die Haupt- und Unt erkanäle von PIP ent sprechen denen von
STAT, also z. B. GON, LST, PUN, RDR, sowie TTY, CRT, PTR,
PTP, LPT usw. Zusätzlich stehen noch folgende Unterkanäle zur
Verfügung.
PRN:
NUL:
EOF:
INP:
und
OUT:
Ist wie LST zu betrachten (also Drucker), setzt jedoch
in jeder 8. Spalte einen Tabulator, numeriert die Zei­
len und tätigt alle 60 Zeilen einen Papiervorschub (FF,
OCH, 12 dez) auf die neue Seite.
Erzeugt 40 Nullzeichen (nur Lesen möglich)
Erzeugt den Wert 1AH (26 dez) zur Kennung des Textendes
(nur Lesen möglich)
Diese beiden Kanäle sprechen bestimmte Adressen inner­
halb des P I P - P r o g r a m m s an, in die mit DDT spezielle
Ein/Ausgaberoutinen geschrieben werden können.
Als letzte Parameter können im PIP-Befehl noch die folgenden
Optio nen gesetzt werden. Diese Optionen müssen durch die
öffnende eckige K l a m m e r (Ä im deutschen Zeichensatz) vom
Befehlsanfang getrennt sein.
"=CONTROL, also "Z bedeutet CONTROL-Z eingeben
In K l a m m e r n () sind frei wäh lbare P ara me ter angegeben, die
Eingabe erfolgt ohne Klammern
B
D<n>
E
F
G<n>
H
I
L
N
O
P<n>
Blockweise Übertragung. PIP speichert alle Zeichen
bis zum Em p f a n g von CTRL-S (DC3, 13H, 19 dez) z w i ­
schen. Diese Übe rt rag u n g s f o r m ist z.B. bei der s e ­
riellen Schnittstelle möglich.
Lösche alle Zeichen nach der Spalte n (nur sinnvoll
bei Textdateien).
Die Übertragung der Zeichen wird auch auf dem Bild­
schirm dargestellt (Echo-Modus)
entfernt S ei ten vor sc hub ze ich en (OC hex) beim Über­
tragen
Nimmt die Datei vom Benutzerbereich n
Teste, ob die Datei im Intel-Hex Format geschrieben
ist
wie H, ignoriert werden aber die :00 Datensätze
übersetze Großbuchstaben in Kleinbuchstaben
Numeriere die Ausgabezeilen beginnen bei
1, Schritt­
weite 1
Objektcodedatei kopieren. Anders als bei Textdateien
ist das Datei end e nicht durch IAH (26 dez) g e k e n n ­
zeichnet .
Setze die Sei tenlä nge auf n (Voreinstellung: 60),
Nach n Zeilen wird ein Sei ten vor sch ub (FF, OCH, 12
dez) eingefügt.
Q<XXX>^Z Beende das Kop ieren aus der Quelldatei, wenn die
Zeichenkette XXX angetroffen wird
R
Lies auch Dateien, die mit dem Systemattribut ver­
sehen wurden (Siehe STAT Beschreibung)
S<xxx>"Z Wie Q, nur Beginn statt Kopierende wenn XXX auftritt
T<n>
Expandiere Tabulatorzeichen (09 hex) in der Datei zu
n Leerzeichen
U
Konvertiere Kleinbuchstaben zu Großbuchstaben
V
Prüfe, ob die Daten korrekt übertragen wurden. Nach
dem Schreiben wird die Datei vom Ziellaufwerk noch­
mals gelesen um eine ein wa n d f r e i e Übe rtragung
sicherzustellen
W
Überschreibe Dateien, die mit Schreibschutzattribut
versehen sind (siehe STAT)
Z
Lösche das Paritätsbit, d. h. Zeichen über der N u m ­
mer 127 (7F hex) in der ASCII Tabelle werden bei der
Übertragung mit ihrer Zeichennummer - 128 versehen,
z.B. wird dabei aus dem Wert 175 (BO hex) der Wert
48 (30 hex).
STAT dient zur Einstellung und Kontrolle aller CP/M-internen
Systemparameter. Hauptfunktion von STAT ist die Belegungskon­
trolle einer eingelegten Diskette. Die Möglichkeiten und der
Syntax des STAT-Befehls sind zum Teil äußerst umfangreich und
sollen hier nur kurz angesprochen werden. Benutzte Abkürzun­
gen :
Laufwerksname zwischen A und P
Iw
efn Einfachname, eindeutige DateiBezeichnung
mf n Mehrfachnamen, efn oder mehrdeutige Dateibezeichnung
(mit ^ und/oder ?)
Hauptkanal
hk
uk
ünterkanal
STAT
Für jedes seit dem letzten Warmstart ausgeru­
fene (eingeloggte) Laufwerk wird der Disket­
tenstatus und die Anzahl der freien Bytes (in
kbyte) ausgegeben.
STAT Iw:
Nur die freien Bytes des ang ew ähl te n Lauf
Werks werden angezeigt.
STAT mfn
Die Dateigröße und der Dateistatus des
angegebenen Dateien werden ausgegeben.
STAT Iw:mfn
wie STAT mfn
STAT lw:$attr
Dem an gewäh lt en Lau fw e r k wird ein Attribut
zugewiesen. Mögliche Laufwerksatrribute sind
R/0 für Read Only (nur Lesen erlaubt) oder
R/W für Read Write (Lesen und Schreiben e r ­
laubt ) .
Durch STAT C:$R/0 können jegliche Schreibzu­
griffe auf das La u f w e r k C bereits auf der
Systemebene unterbunden werden. Die sicherste
Möglic hkeit ist jedoch grundsätzlich, die
Schre ibkerbe am Dis ke tten rand zuzukleben.
Dieses Attribut wird nur im Speicher vermerkt
und nicht auf die Diskette geschrie ben (1).
Bei einem Wa r m s t a r t werden alle Lau fw erk e
wieder auf R/W gesetzt.
STAT mfn:$attr
Der g e w ä h l t e n Datei wird ein Attribut z u g e ­
wiesen. Dieses Attribut wird in der Directory
ve rme rkt und abgespeichert (1). Folgende
Attribute sind möglich:
R/W Read Write: Schreiben und Lesen der Datei
erlaubt.
R/0 Read Only: Nur Lesen der Datei erlaubt.
(der)
SYS SYStem: Datei ist ein Systemfile und wird
beim DIR-Befehl nicht mit angezeigt.
DIR DIRectory: Datei wird beim DIR-Befehl
normal behandelt.
STAT lw:DSK:
Diese STAT-Funktion gibt die logischen Para­
meter des angegeben L a u f w e r k s aus. Diese
P ar ame ter werd en durch den PD-Befehl {siehe
Kapitel 11.3) verschiedenen Diskettenformaten
angepasst. Falls diese Parameter eines Fremd­
formates bekannt sind, kann über das getrennt
erhältlich PDRIVE-Programm ein entsprechender
Eintrag im Datenfile PDRIVE.SYS gemacht wer­
den .
STAT hk:=uk:
Dadurch wird die im Kapitel 5.1.5 angeführte
Zuordnung der Haupt- und Unter-kanäle verän­
dert .
Die folgende Tabelle gibt nochmal einen Über­
blick über die verwendeten Kanalnamen und die
durch die ünterkanäle angesprochenen Schnittstellen
Haupt kanal
Unter­
kanal
Schnittstelle
GON:
TTY:
CRT:
BAT:
UC1 :
TTY:
PTR:
UR1 :
ÜR2:
TTY:
PTP:
UP1 :
UP 2:
TTY:
CRT:
LPT:
UL1 :
SIO A
Bildschirm / Tastatur
Batchmode
PIO A
SIO A
PIO A
Tastatur
SIO B
SIO A
PIO A
Bildschirm
SIO B
SIO A
Bildschirm
Drucker
PIO 1
RDR:
PUN:
LST:
Im B a t c h m o d e e rfolgt die Eingabe i
RDR:- Kanal, die Ausgabe über den LST:
STAT ÜSR:
Ausgabe des zur Zeit gew äh lt en B e n u t z e r ­
bereichs und der auf dem aktuellen Laufw erk
belegten Benutzerbereiche. Dies ist die ein­
zige Möglichkeit, schnell die ver we nde te n
Benutzerbereiche zu ermitteln.
STAT DEV:
Ausgabe der zur Zeit aktuellen Zuordnungen
der Haupt- und ünterkanäle.
STAT VAL:
Dieser Parameter gibt eine kurze Zusammenfas­
sung der Möglichkeiten des STAT-Befehls aus.
Das Programm DDT.COM ist ein Hilfsmittel bei der Erstellung
und dem Auste ste n von M a s c h i n e n s pra ch epr og ram m en . Daraus
folgt auch, daß es ein ideales Werkzeug zum ’’Patchen’*
{= Verändern) von Programmen bzw. Dateien allgemein ist.
DDT eignet sich jedoch auch her vorra gend zum ERSTELL EN von
KURZEN As sem bl e r r o u t inen sow ie z. B. für D r u c k e r - E i n s t e l 1dateien (siehe Beispiel unten).
Im Einzelnen kann man unter anderem
- Disassemblieren, d. h. aus hexadezimalem Objektcode die für
Menschen leichter lesbaren 8080-Assemblermnemonics machen.
- Assemblieren, das ist der umgekehrte Weg: aus Mnemonics =>
Objektcode übersetzen, der für den Prozessor verarbeitbar
ist.
- Speicherstellen listen,
verändern und ggf. ausdrucken.
- Füllen der Speicherstellen mit konstanten Werten.
- Setzen von Unterbrechungspunkten
gramms .
zum
Austesten eines Pro­
- Starten eines im Speicher bef in dli chen P r o g r a m m s zwecks
T es t.
- TRAGE, d. h. Verfolgen des Programmablaufs in Einzelschrit­
ten mit Anzeige der Reg is teri nh alt e nach jedem P r o g r a m m ­
schritt .
- Ansehen und Ändern der CPU-Register.
- Laden von ’•'.HEX und ’•'.COM Dateien.
Wenn man ein wenig mit DDT umg e h e n kann, ist es ein sehr
mächtiges Programm und ein gutes Hilfsmittel bei Änderungen
und Ne uer st e l l u n g e n von ’•'.COM Pro grammen. Nach dem Aufruf
(bei dem auch direkt eine Datei angegeben werden kann) meldet
sich DDT mit der V e r s i o n s n u m m e r und dem DDT Prompt, einem
Bindestrich. DDT e rw art et dann einen der folgenden Befehle
mit den jeweiligen Parametern.
Die Grundform ist B e f eh1,Parameter,Parameter,Parameter
Als P a r a m e t e r k o m m e n außer bei I nur H e x a d e z i m a l z a h l e n in
Frage.
A
Eingabe von Assemblermnemonics mit Operanden => Assem­
blierung
z.B.
A0100
=> nachfolgende Mnemonics werden über­
setzt und ab Speichers telle 0100 als Objektcode a b g e ­
legt .
D
steht für DUMP, Speicherstellen in hexadezimal auflis­
ten, hierbei sind immer 15 Bytes in einer Reihe angeor­
dnet, rechts von ihnen befindet sich noch ein Feld, das
evtl. ASCII Texte leicht erkennen läßt. Wenn kein
von/bis angegeben wird, werden immer 12 Zeilen (a* 16
Bytes = 192 Bytes) ab 0100 hex gelistet und dann ein
neuer Befehl erwartet. Wird dann nur D eingegeben,
werden die nächsten 12 Zeilen a* 16 Bytes in a u f s t e i ­
gender Reih enf olge angezeigt. Der Syntax bei D kann
aber auch z. B. sein
D0200,1 8FA. Hier würden die
Spei ch er st ell en von 0200hex bis 18FA hex ohne Pause
gelistet, die Ausgabe läßt sich dann mit CTRL-S unter­
brechen und fortführen.
F
damit kann man den Speicher mit einem konstanten Wert
füllen.
SYNTAX: FBeg in n ,ENDE,F ü 11byte
z.B. FO 3 0 0,0 4 F F ,FO füllt den Speicher von 0300 hex bis
04FF hex mit dem Byte FO hex. Alle Speich ers tel len
zwischen Beginn und Ende incl. haben nach diesem Befehl
den den gleichen Inhalt wie das angegebene Füllbyte.
G
dient zum Starten eines im Speicher befindlichen Pro­
g r a m m s zwecks Testlauf. Es können zwei U n t e r b r e c h ­
ungspunkte (BREAKPOINTS) gesetzt werden, bei deren
Erre ich en die Kontrolle an DDT zurüc kgege ben wird. Es
genügt auch die Angabe von G, dann wird das P r o g r a m m an
der Sp eic he rst ell e gestartet, auf die das Register PC
des Prozessors (mit Befehl X anzusehen) zeigt.
SYNTAX:
GStartpunkt des Programms,Unterbrechungsadres­
se ,Unterbrechungsadresse
z.B.
G0200,0300,0400 startet ein Programm im Speicher
bei 0200 hex, der Programmablauf wird bei 0300 hex und
bei 0400 hex unt erbr oc hen und DDT meldet sich. Durch
Eingabe von G kann dann die Programmausführung jeweis
fortgesetzt werden.
H
dient zum Rechnen im Hexadezimalformat.
SYNTAX: Hzahll,zahl2
Die vierstellige Summe und Differenz der beiden Zahlen
wird berechnet und in hexadezimaler Form ausgegeben.
dient zur Eingabe eines Dateinamens
lesen in den Speicher durch DDT.
SYNTAX : IDateiname.EXT
z.B.
IFormat.com
zum
späteren Ein-
dient dann zum Einlesen der mit I einge stell ten Datei
von Diskette. Zu R kann noch eine 2Byte Hexzahl angege­
ben werden, die als positiver OFFSET dient. Man kann
damit ein P r o g r a m m an eine höhere als die no rm ale
Ladeadresse umleiten.
SYNTAX:
R bzw.
ROffset
z.B.
R0300 lädt das mit I spezi fizie rte P r o g r a m m
300 Bytes (hex!) höher als st a n d a r d m ä ß i g durchgeführt
in den Speicher. Bei allen DDT Lad eop er ati on en e r ­
scheint nach erfolgreichen Abschluß die Angabe NEXT und
PC mit je einer Hexadezimalzahl. Die Zahl unter Next
gibt die nächste nicht vom geladenen Programm belegte
Sp eic he rze lle an (von unten nach oben!) und PC zeigt
die Startadresse dieses Programmes im Speicher an, z.B.
für G.
dient zum Dissassemblieren des Speicherinhaltes (siehe
oben)
SYNTAX:
L bzw. Lvon
bzw.
Lvon,bis
z.B. L0200,0300 übersetzt die Inhalte der Speicherzellen von Adresse 0200 hex bis 030C hex in Mnemonics und
zeigt diese an. ähnlich wie der D Befehl
M
steht für Move und man kann damit Inhalte von Speicherbereichen auf eine andere Adresse im Speicher verschieben/kopieren.
SYNTAX:
Mvon,bis, wohin
M 0100,0200,0300 v e r sch ie bt/ ko pie rt die Inhalte
z.B.
der Adressen 0100 hex bis 0200 hex nach 0300 hex. Der
Inhalt von 0100 hex findet sich in 0300 hex wieder, der
Inhalt von 0200 hex bei 0400 hex, entsprechend zwischen
den Adressen.
steht für Set und erlaubt das Ver än dern der Inhalte
einzener Speicherzellen durch Eingabe von Hexadezimal­
zahlen. Die ur spr ün g l i c h e n Inhalte können mit ENTER
übernommen werden, der S Modus kann durch Eingabe eines
Punktes anstelle eines HEX-Wertes verlassen werden.
SYNTAX:
Sadresse
z.B.
SOI 00 fragt die Adressen ab 0100 hex nach Neuein­
gaben ab. Die alten Werte und die Adresse wird dabei in
tabellarischer Form angezeigt:
0100 1F _
T
gestattet das Verfolgen eines Programm(Probe)ablaufes,
und zwar 1 bis 55535 Programmschritte.
SYNTAX:
T oder TAnzahl der Schritte
z.B. T100 im ersten Fall wird nur 1 Befehl bearbeitet,
im zw eit en Fall 256 Befehle (100H = 256 dez). Bei
Beginn und Ende der T-Aktion wird der aktuelle R e g i s ­
terstand der CPU angezeigt.
U
wie der T-Befehl, nur wird hier kein CPU-Registerstand
ausgegeben. Dies ist nützlich, wenn vom T e s t p r o g r a m m
erstellte B i 1d s c h i r m i n h a 1te zur Überprüfung erhalten
werden sollen.
X
läßt die Betrachtung und Veränderung der CPU-Register
zu.
SYNTAX:
X
bzw. Xr
z.B.
bei XH kann man den Inhalt des HL-Registers
durch Eingabe eines Hexwertes verändern.
Als Beispiel für die Benutzung von DDT soll hier die Erstel­
lung einer Datei für die Druckerinitialisierung dienen.
Gegeben sei, daß der Drucker folgende Steuerzeichen benötigt,
um gewisse druckerspezifische Parameter zu initialisieren:
1B 40 1B 5C OA 1B 4D
(alles hexadezimal)
Durchführung:
DDT aufrufen, S0100 eingeben, anschließend die obigen Bytes,
nach jedem Byte ENTER drücken, um zur nächsten Speicherzelle
zu gelangen.
Nach dem Byte 4D darf man das CTRL-Z nicht vergessen, da PIP
z.B. sonst das Dateiende nicht erkennt. Das Byte 1A hex ist
der Wert von CTRL-Z und deshalb das einzige Byte, das bei
solchen Aktionen NICHT vor dem Ende Vorkommen darfl!
Nach Eingabe von D0100 müßte jetzt u.a. folgendes zu sehen
sein: 0100 1B 40 1B 6C OA 1B 4D 1A usw.
Wenn dies so ist, ist der Hauptteil bereits getan. Leider
kann man die Datei von DDT aus nicht abspeichern. Man muß DDT
verlassen, und zwar geht das imm er mit CTRL-C oder BREAK,
woraufhin sich das bekannte CP/M mit dem Systemprompt meldet.
Als nächste Eingabe muß unbedingt der Speicherbefehl erfol­
gen, da bei anderen Eingaben unsere erstellte Arbeit, die
sich ja nur im Speicher befindet und zudem noch an einer
Stelle, die von jedem Programm bei Aufruf überschrieben wird
(auch bei erneutem DDT.COM Aufruf!!!).
Also den eingebauten CP/M Befehl SAVE benützen, und zwar SAVE
1 DRUCKER.DAT.
Bei Änder ung en in P r o g r a m m e n mit DDT müs sen diese in der
gleichen Art nach der Änderung gespeichert werden, sinnvol­
lerweise zunächst unter einem anderem Namen, bis die Änderung
getestet ist! Nützlich ist hierbei der Hinweis NEXT bei Laden
eines P r o g r a m m s von DDT, da man aus dieser HEX-Zahl leicht
die Anzahl der bei SAVE anzuge ben den Blöcke errechnen kann
(höchstwertiges Byte in Dezimal = Anzahl der Blöcke).
Die Datei DRUCKER.DAT kann nun mit PIP L S T :=Dr ucker .dat zum
Drucker übertr age n werden. Wenn dabei das Dat ei end ezeic hen
für PIP, das 1A hex (=CTRL-Z) bei der Dateierste 11 ung nicht
am Ende eingegeben wurde, wird von PIP auch noch die restli­
chen Bytes des 256 Byte Blocks als druckbare Zeichen senden.
Das Standardprogramm SUBMIT.COM erlaubt die Abarbeitung soge­
nannter Batchfiles. Diese Dateien stellen eine A n e i n a n d e r ­
reihung von normalen Eingaben von der Tastatur dar {die Datei
’’e r s e t z t ’* sozusagen den Bediener!) und lassen sich z. B. mit
WORDSTAR oder dem Editor ED.COM komfortabel und schnell er­
stellen .
Ein praktisches Beispiel:
Auf Laufwerk B soll eine fabrikneue Diskette formatiert und
mit dem CP/M Betriebssystem versehen werden. Außerdem sollen
auf die neue Diskette alle direkt aufrufbaren Programme von A
kopiert werden (COM-Files).
Der ’’normale” Arbeitsvorgang:
Form at b:
.... Warten
c p m g e n b:
.... Warten
PIP b:=a: ’♦'.com .... Warten
man kann schlecht eine andere Arbeit anfangen, da zwischen­
durch immmer wieder Tastatureingaben notwendig werden.
Der ”Komfortweg”, insbesondere, wenn man obigen Vorgang oft
durchführen muß: mit ED durchgeführt
ED Copy.sub
eingeben, dann
ED meldet sich mit ’♦':
format b: <ENTER>
pip b:=a: ’♦'.com <ENTER>
dir b: <ENTER>
<ctrl-Z>
E eingeben, dann meldet
ED kommt wieder mit ’♦':
sich CP/M mit dem Systemprompt zurück.
submit copy
auf der Diskette vorhanden ist) nur dieser Befehl. Dies war
ein einfaches Beispiel, um sehr schnell die Funktion von
SUBMIT zu verdeutlichen.
Der pr inz ipi ell e Ablauf ist jedoch imme r der gleiche: B e ­
fehlsdatei erstellen, mit der Endung .SÜB abspeichern und
Submit Dateiname aufrufen.
Bei der Erstellung der .SUB Datei gibt es eine Hauptfußangel:
Das letzte Zeichen muß imme r ein CON TROL-Z sein (1AH, 25
dez), ist dies nicht der Fall, so k o m m t es zu einer F e h l e r ­
meldung und das Programm steigt aus.
Der Ablauf von SÜBMIT ist folgender:
Nach dem Aufruf mit der P a r a m e t e r ü b e r g a b e (xxxx.SUB Datei)
liest SUBMIT die angegebene Datei vom ENDE her und legt eine
Datei $$$.SUB an.
Der erste Befehl in der *.SUB Datei ist also der letze Befehl
in der $$$.SUB Datei. Danach erfolgt ein Warmstart (CONTROLC), na chd em der CCP des CP/M imme r nach einer Datei $$$.SUB
sucht und diese dann ausführt (und zwar die letzte Zeile
zuerst). Wenn alle Befehle abgearbeitet sind, meldet sich das
CP/M mit dem Systemprompt zurück.
Mit Sub mi t läßt sich noch einiges mehr anfangen. Der g r u n d ­
sätzliche Syntax lautet nämlich
SÜ B M I T Datein.SÜB p a r am)if 1 ,p a r am/Sf2.
In der *.SUB Datei können nämlich Platzhalter in der Form
$1
$2, allgemein "Dollar Zahl" benützt werden. Diese Platzhalter
werden dann beim Aufruf der Datei durch die entsprechend mit
eingegebene Parameter#1, Parameter^2 etc. ersetzt.
Die Anzahl der Parameter muß allerdings immer mit der Anzahl
der Plat zha lte r in der Datei übe re in sti mm en, sonst bricht
Submit ab.
Mit dieser Techni k kann man mit einer *.SÜB Datei z. B. mit
mehreren Dateinamen arbeiten. Außerdem läßt sich generell von
einer *.SUB als letztes K o m m a n d o eine wei tere *.SUB Datei
aufrufen, womit sich entsprechende Möglichkeiten ergeben.
Bitte beachten Sie, daß SUBMIT die *.SUB Datei grundsätzlich
auf dem Laufwerk mit der Bezeichnung A: erwartet.
XSÜB kann nur innerhalb einer SUBMIT-Befehlsdatei aufgerufen
werden. Normalerweise wirken die Befehle einer SUBMIT-Datei
nur auf Be t r i ebssy s t e m e b e n , d.h. daß über SUBMI T keine P r o ­
grammeingaben gemacht werden können.
Ruft man als erstes Programm einer SÜBMIT-Befehlsdatei XSUB
auf, so wird der SUBMIT Ablauf dahingehend geändert, daß die
Zeichen der Befehlsdatei immer die Tastatureingabe ersetzten.
Dadurch ist es möglich, einen kompletten Programmstart mit
allen Eingaben, die das Programm anfordert, automatisch ab­
laufen zu lassen.
Die Fun kti ons fä hi gke it des X S Ü B - P r o g r a m m s wird allerdings
nicht in allen Fällen garantiert. Es sollte daher immer ein
kurzer Probelauf stattfinden, der die XSUB-Verwendung austes­
tet .
Nachfolgend sind alle mitgelieferten Dienstprogramme aufge­
führt. Diese Dienstprogramme sind, anders als die im Kapitel
10 beschriebenen Systemprogramme, speziell auf das Genie IIIs
CP/M zugeschnitten und nur dort lauffähig.
Am Anfang jeder Be sch reibu ng steht die Syntax, mit der das
entsprechende Programm aufgerufen werden kann.
Mögliche Parameter sind in eckigen Klammern und in Klein­
schrift angegeben. <lw> bezeichnet dabei einen Laufwerksnamen
im Bereich A bis P (mit oder ohne nachfolgenden Doppelpunkt).
Die eckigen Klammern dürfen nicht mit eingegeben werden.
Syntax:
oder
AUTO
AUTO <befehl>
Anwendung: Ausführung eines bestimmtes Programms oder Befehls
ohne Einwirkung durch den Benutzer. Wirkung:
Der
als Parameter aufgeführte wird beim nächsten Boot­
vorgang der Systemdiskette automatisch ausgeführt.
Ist kein Parameter angegeben, so wird beim nächs­
ten Booten kein Befehl ausgeführt und das System
meldet sich sofort mit dem Prompt A>.
Bemerkung: Das AUTO-Programm ändert immer den Autobefehl der
sich im ersten 5 1/4 Zoll L a u f w e r k bef indlichen
Systemdiskette. Befindet sich in diesem Laufwerk
keine Systemdiskette, so kann dies zu nicht v o r ­
hersehbaren Resultaten führen.
Der als Parameter eingegebene Befehl darf maximal
31 Zeichen umfassen. Sollen mehere Befehle n a c h ­
einander ausgeführt werden, so ist dies nur mit
Programm SUBMIT und einer entsprechenden Befehls­
datei x.sub möglich. Der AUTO-Befehl muss dann
AUTO SUBMIT X lauten.
Beispiele: AUTO DIR B:
Nach dem nächsten Booten der Systemdiskette wird
automatisch das Inhaltsverzeichnis der Diskette im
Laufwerk B angezeigt.
AUTO DATUM
Nach dem Booten wird sofort das aktuelle Datum
angezeigt.
(nur bei eingebauter Hardwareuhr möglich)
AUTO SUBMIT START
Nach dem Booten wird automatisch der Befehl SUBMIT
START ausgeführt. Dadurch kann über den AUTOBefehl auch die Ausführung meh rerer Befehle e r ­
reicht werden.
AUTO
Nach dem Booten wird kein Befehl ausgeführt, das
System meldet sich direkt mit dem Prompt A>.
Syntax:
INFO
Anwendung : Angabe eines Inf or mat io nst ex tes zur sch nelleren
Identifi zie rung der geboot ete n Systemdiskette,
Insbesondere bei für versch ied ene An w e n d u n g e n
ko nfi gu rie rten Sys te m e n ist diese I n f o r m a t i o n s ­
zeile äußerst nützlich.
Wirkung:
Nach Aufruf, fragt das P r o g r a m m nach einer T e x t ­
zeile, die bis zu 80 Zeichen u mfa ss en kann. Diese
Informationszeile wird beim nächsten Bootvorgang
nach dem LOGO ausgegeben.
Bemerkung: Wie auch beim AÜTO-Programm wird die Änderung der
Informationszeile nur auf der im ersten 5 1 / 4 Zoll
befindlichen Systemdiskette ausgeführt.
Wi rd bei der K o nfi gu rat io n der ents prech end en
Systemdiskette die Anzeige des LOGOs unterbunden,
so wird beim Booten nur die I n f o r mat io nsz eile
ausgegeben. Dies kann insbesondere für Benutzer
die nicht mit dem System vertraut sind, eine große
Hilfe bedeuten.
Syntax:
oder
PD
PD <lw>:< formatname>
Anwendung: Auswahl eines Diskettenformats zum Lesen, Schrei­
ben und Formatieren von Disketten in Fremdforma­
ten. Welche Formate möglich sind, ist in der Tab­
elle im Anhang C angegeben.
Wirkung:
PD zeigt die aktuellen For ma t e i n s t e l l u n g e n der
acht möglichen Diskettenlaufwerke an. In der ers­
ten Ausgabezeile stehen die Formate der vier 5 1 / 4
Zoll Laufwerke, in der zw eit en Zeile die For ma te
der vier 8 Zoll Laufwerke. Ist ein L a ufw er k bei
der letzten Konf igura tion ’nicht vorhanden' g e ­
setzt worden, so wird für dieses Lau f w e r k kein
Format angegeben.
PD <1w >:<formatname> weist dem Diskettenlaufwerk
<lw> das Format mit dem Namen <formatname> zu.
Bemerkung: PD benutzt zur Verwaltung der verschiedenen Forma­
te das Datenfile PDRIVE.SYS. Wird dieses File
nicht auf dem aktuellen Laufwerk gefunden, so wird
au t o m a t i s c h das erste 5 1/4 Zoll Lau fw e r k a n g e ­
wählt und die Datei dort gesucht.
Ist PDRIVE.SYS nicht erreichbar, so erfolgt eine
en tsp rec hen de Fehlermeldung. Bei der Darstellung
der verschiedenen Formate ist ein schneller Über­
blick über die zur Zeit gültigen L a u f w e r k s n a m e n
möglich. Die Ausgabe erfolgt in der Reihenfolge
der Laufwerke. Links steht jeweils das Format des
ersten 5 1/4 bzw. 8 Zoll Laufwerks, recht das
Format des jeweils vierten Laufwerks.
Das gewählte Format wird sofort nach der Änderung
aktiv und nur im S yst em spe ic her geändert. Eine
Änderung der Formateinstellung der Systemdiskette
muß durch ein ges ondertes CPM G E N erfolgen. Wird
das Forma t des aktuellen L a u f w e r k s geändert, so
fordert das PD-Programm extra zum Diskettenwechsel
auf. Dadurch ist es möglich, auch Kopien zwischen
zwei F r e m d f o r m a t e n mit den beiden eingebauten
Laufwerken zu machen.
Beispiele: PD B:D80 DSDD
Alle weiteren Diskettenoperationen mit dem Lauf­
werk B erfolgen im Format *D80 DSDD’
PD
Die zur Zeit aktuellen Formate der acht möglichen
Diskettenlaufwerke werden angezeigt.
Syntax:
oder
FORMAT
FORMAT <1w >
Anwendung: Das Programm FORMAT dient
Diskette.
Wirkung:
zur Formatierung einer
Bei der Fo rmat i e r u n g wird die Diskette in Spuren
und Sektoren eingeteilt, die dem Bet ri ebss ystem
die Orientierung auf der Diskette bei Schreib- und
Leseoperationen ermöglicht.
FORMAT formatiert die Diskette im Laufwerk <lw>.
Ist kein La u f w e r k angegeben, so wird der L a u f ­
w e r k s n a m e gesondert abgefragt. Die F or ma tie ru ng
erfolgt immer in dem für dieses Laufwerk gewählten
Format.
Bemerkung: Das FORMAT-Programm beginnt bei der Formatierung
einer Diskette imm er auf der Spur 0. Währen d der
Formatierung wird die bearbeitete Spurnummer und
Di ske tte nse ite angezeigt. Nach der F o rma ti eru ng
einer Spur erfolgt eine kurze Übe rprüfung der
aufgezeichneten Sektoren. Wird ein Fehler erkannt,
so erfolgt die Ausgabe eines kurzen Pieptons und
die Formatierung der fehlerhaften Spur wird wie­
derholt. Durch Drücken der 3REAK-Taste ist jeder­
zeit der Abbruch einer begonnen Formatierung mög1 ich.
Als L a u f w e r k s n a m e n können nur die Bezeichnungen
von D i s k e t t e n l a u f w e r k e n angegeben werden. Eine
F o r m a t i e r u n g der Winchester geschieht durch das
Programm WNFORMAT, eine Formatierung der RamDisk
ist unnötig.
Beispiele: FORMAT
Das FORMAT-Programm wird gestartet und fragt nach
dem Laufwerk, das formatiert werden soll. An die­
ser Stelle ist durch Drücken der BREAK-Taste oder
CTRL-C ein sofortiger P r o g r a m m a b b r u c h möglich.
Nach der Eingabe einer korrekten Laufwerksbezeich­
nung wird sofort mit der Formatierung begonnen.
FORMAT B
Die Diskette im Lau fw e r k B wird in dem durch PD
für dieses Laufwerk gewählten Format formatiert.
Der Beginn der F o r m a t i e r u n g erfolgt sofort, ohne
zusätzliche Bestätigung. Ein Abbruch ist nur über
die BREAK-Taste möglich.
Syntax:
oder
CPMGEN
CPMGEN <lw>
Anwendung: Alle Ko nfi gur at ion s ä n d e r u n g e n (z.B. durch PD,
TASTEN, SIO), die nicht direkt auf eine S y s t e m ­
diskette geschrieben werden, können durch CPMGEN
abgespeichert werden. CPMGEN dient zur Generierung
einer neuen CP/M-Systemdiskette oder der Aktuali­
sierung einer Sys t e m d i s k e t t e mit der gültigen
Konfiguration.
Wirkung:
C P M G E N ohne L a u f w e r k s a n g a b e fragt explizit nach
Quell- und Ziellaufwerk. CPM G E N mit Par ame ter
wählt automatisch als Quellaufwerk das erste 5 1/4
Zoll Laufwerk. Im gewählten Quellaufwerk muß sich
eine CP/M-Systemdiskette befinden. Im Ziellaufwerk
kann ent we der eine S y s t e m d i s k e t t e oder eine im
Format S80 DSDD {Systemstandardformat) formatierte
eingelegt sein. CPM G E N bindet bei der Kopie rung
i m m e r die zur Zeit aktuelle S y s t e m k o n f i g u r a t i o n
ein.
Bemerkung: C P M G E N liest die S y s t e m s p u r e n des Q u e 11auf werks
und bindet die aktuelle System- und Funktionstas­
tentabelle aus dem Speicher mit ein. Das so neu
generierte System wird dann auf die Systemspuren
des ZiellaufWerks übertragen. Da das CPMGEN-Programm nur diese Spuren verändert, ist es auch mö g­
lich, nachträgliche Konfigurationsänderungen über
C P M G E N durchzuführen. Insbesondere bei den P r o ­
grammen, die die Kon fi gur ati on nur im Speicher
ändern (wie PD, SIO und TASTEN), kann eine Abspei­
cherung nur über CPMGEN erfolgen. CPMGEN läßt sich
auch auf die aktuelle Systemdiskette anwenden.
Beispiele: CPMGEN
CPMGEN wird gestartet und fragt nach den Namen des
Quell- und Ziellauf Werks. Nach Über prüfu ng der
beiden Namen wird das auf den Systemspuren aufge­
zeichnete Betriebssystem vom Quell- auf das Ziel­
laufwerk übertragen.
CPMGEN A
Die Systemspuren der Diskette im ersten 5 1/4 Zoll
L a u f w e r k werde n auf die Diske tten im L a u f w e r k A
übertragen. Ist A das erste 5 1/4 Zoll Laufwerk,
so erfolgt ein ’Update* dieser Systemdiskette.
Syntax:
TASTEN
Anwendung: Änderung der bestehenden Tastenbelegung entsprechend eigener Wünsche oder Kontrolle der T a s t e n ­
codes.
wirkung:
TASTEN verändert die aktuelle T a s t a t u r b e 1egung.
Nach dem Programmstart wartet das Programm TASTEN
auf einen Tastendruck. Die Nummer und die Belegung
der so g e w ä h l t e n Taste wird angezeigt und der
Cursor auf den ersten Belegungscode gesetzt. Falls
der Bel egu ngsco de im Bereich der dar ste llbaren
ASCII-Zeichen liegt (20H bis 7FH, 32 bis 127 dez),
so wird unterha lb des Codes das entsprechende
Zeichen in Apostroph angezeigt. Insgesamt gibt es
für jede Taste 4 Belegungscodes (ohne Kontrolltas­
ten, SHIFT-taste, CTRL-taste und SHIFT-CTRL-Taste). Die jeder Taste zugeordnete Nummer und Bele­
gung ist in der Tastaturtabelle im Anhang D ange­
geben .
Jeder der vier Codes der gewählten Taste kann nun
durch Eingabe von zwei hexadezimalen Ziffern geändert werden. Nach der Anderung eines Codes wird
der Cursor automatisch zum nächsten der vier angezeigten Codes bewegt, Soll ein Code unverändert
bleiben, so kann dies durch Drücken der ENTERTaste geschehen. Das Programm kann bei der Änder­
ung der ersten Ziffers eines jeden Codes durch die
ESC- oder BRE AK-Taste abgebroc hen werden. Beim
Abbruch durch ESC unterbleibt die Ü b ern ah me der
Änderungen in den Speicher.
Bemerkung: Eine mit 00 belegte Taste erzeugt keinen Code und
wird gesperrt. Die Werte 80H bis EFH stehen für
die 112 möglichen Funktionstasten Fl bis Fl 12. Die
Tasten Fl bis F8 und SHIFT-F1 bis SHIFT-F8 sind
daher mit den Codes 80H bis 87H bzw. 88H bis 8FH
vorbelegt. Die Codes FOH bis FFH sind für system­
interne Funti onen reserviert. Eine Aufführung
aller Vorbelegungen und Tastencodes befindet sich
im Anhang D.
Beim Beenden des Programms durch die BREAK-Taste
werden die Änd erungen nur in den Sys te ms pei ch er
übernommen. Zur Übertragung der neuen Tastaturta­
belle muß ein gesondertes CPMGEN erfolgen.
Syntax;
oder
FKEY
FKEY <I w >
Anwendung: Änderung der bestehenden Funktionstastenbelegung.
Wirkung:
FKEY lädt die Funktionstastentabelle (FKYTAB) der
angegebenen Systemtabeile und zeigt die Belegung
der Funktionstasten an. Wird kein Laufwerksnamen
als P a r a m e t e r angegeben, so erfolgt die B e a r b e i ­
tung der Funktionstastentabelle des Systemdiskette
im ersten 5 1/4 Zoll Laufwerk.
Nach dem Programmstart und dem Einlesen der FKYTAB
we rde n die ersten 16 Fun kt ion st ast e n b e l e g u n g e n
angezeigt. Das Ende jeden Textes ist durch einen
we iss en Block markiert, Con tr olc ode s werd en als
Kürzel entsprechend der ASCII-Tabelle dargestellt.
Durch die beiden Pfe ilt as ten Hochpfeil und T i e f ­
pfeil kann eine der 112 Be le gun ge n zur Änd erung
ausgewählt werden. Das Zeichen ’>' zeigt dabei die
F u nk tio ns tas te an, die durch Drücke n der ENTERTaste zur Änderung herangezogen wird. BREÄK spei­
chert die aktuelle Belegu ng auf dem g e w ä h l t e n
Laufwerk, ESC bricht das Programm ohne Übernahme
der Änderungen ab.
Na ch d e m eine Fun kt ions ta ste au sg ewä hl t wurde,
befindet sich das Programm im Änderungsmodus. Der
blin ken de Cursor zeigt auf das erste Zeichen des
Funktionstastentexts. In der unter sten Zeile ist
die Anzahl der noch freien Zeichen angegeben. Der
dargestellte Text kann nun überschrieben werden,
oder neue Zeichen nach Aktivierung des Einfügemodus eingefügt werden. Durch die Pfeiltasten Links­
pfeil und Rechtspfeil wird der Cursor innerhalb
des Textes bewegt. Tiefpfeil löscht das Zeichen an
der Cursorposition, CLEAR den g e s a m t e n Text. Um
auch die Eingab e von C o ntr ol cod es zu erlauben,
erfolgt eine spezielle Tastaturabfrage. Dadurch
ist es möglich, alle Controlcodes, insbesondere
den ENTER-Code CR, mit in den Funktionstastentext
zu integrieren. Der Änderungsmodus wird durch die
BREAK-Taste beendet und man befindet sich danach
wieder im Auswahlmodus.
Bemerkung: FKEY arbeitet immer nur mit der auf der gewählten
Systemdiskette aufgezeichneten Funktionstastenbelegung und speichert sie nach der Änderung auch
wieder dort ab. Eine Aktivierung der neuen Texte
erfolgt also erst nach dem Booten der betroffenen
Systemdiskette.
Im Auswahlmodus werden die Pfeiltasten nach ca. 12 Sekunden automatisch wiederholt. SHIFT-Hochpfei 1
verschiebt die Mar ki eru ng zum ersten und SHIFTTiefpfeil zum letzten Text.
Syntax:
oder
SIO
SIO <kanal>,<baudrate>,<parität> <wort länge >
<stopbits>,<Protokoll>,<btx>
Anwendung:
Initialis ier ung der seriellen Schnittstellen auf
neue Parameter oder Anzeige der derzeit gültigen
Schnittstellenparameter•
Wirkung:
SIO zeigt die aktuelle Einstell ung der beiden
ser iellen Sch nit tst ell en (SIO A und SIO B) durch
die unten aufgeführten Parameter. Die Änderung der
Einstellung kann die Eingabe der möglichen Parame­
ter in bel iebiger Reihenfo lge und beliebig oft
erfolgen. Wird keine K a n a l n u m m e r angegeben, so
beeinflussen die neuen Parameter automatisch den
Kanal A.
Mögliche Parameter und ihre Wirkung sind:
<kanal>:
A oder B
Die K a n a l n u m m e r bezeichnet die zu
ändernde Schnittstelle. A steht für
die erste serielle Schnittstelle {SIO
A), B für die zweit e Schnittstelle
(SIO B).
<baudrate>:
50, 75, 1 1 0, '34.5, 1 50, 200, 300,
600, 1 200, 1 800, 2400, 4800, 9600
oder 19200
Die Baudrate b e s t i m m t die Ü b e r t r a ­
gungsgeschwindigkeit in Bits pro Se­
kunde (Baud). Die eingestellt B a u d ­
rate wird sowohl beim E m p f a n g als
auch beim Senden von Zeichen benutzt.
Eine getrennte Sende- und E m p f a n g s ­
baudrate ist über der Parameter <btx>
möglich.
<parität>:
EVEN, ODD oder NO
Die Parität b e s t i m m t die Erzeugung
des Paritätsbits. Dieses Bit wird bei
der seriellen Übertragung zur Fehler­
prüfung benutzt. Eine ein wan df re ie
Über tragu ng ist nur gewährleistet,
wenn beide kommunizierenden Schnitt­
s t e l l e n mi t der g l e i c h e n P a r i t ä t
arbeiten.
<wortlänge >: 5, & , 7 oder 8
Die Wortlänge bestimmt die Anzahl der
gültigen Bits pro übe rt rag enem Z e i ­
chen. Für Textübertragung sind 7 oder
8 Bit.
<stopbi ts > ^ , 1.5 oder 2
Die Anzahl der Stopbits bestimmt die
Zahl der Bits die nach einem Zeichen
zu Synchronisât ionszwecken gesendet
werden. Wie auch bei der Parität ist
eine gleiche Einstellung der Stopbits
bei beiden kommunizierenden Schnitt­
stellen erfOrder1 ich.
<protokol1>: XON, RTS oder DTR
Das ein gestellte Protokoll steuert
den Datenaustausch über die serielle
Schnittstelle, um Zeichenverluste zu
verhindern. Diese spezielle Übertra­
gung ssteu erung wird auch als *Handshaking' b e z e i c h n e t , da s i c h die
beiden kommunizierenden Schnittstel­
len über das eingestellte Protokoll
über die Zeichenübertragung verstän­
digen .
DTR benutzt den DTR- bzw. DSR-AnS c h l u ß der S c h n i t t s t e l l e f ür die
Steuerung. Dies ist beim Anschluß
eines Druckers üblich.
RTS benutzt den RTS- bzw. CTS-AnS c h l u ß für die Steuerung. Dies ist
beim Datenaustausch mit anderen Rech­
nern üblich.
XON benutzt zur Übertragungssteuerung
die beiden Zeichen XON {DC1, 11H, 17
dez) und (DC3, 13H, 19 dez). Diese
Art der Steuerung wird meist bei der
Übertragung von Daten über A k u s t i k ­
koppler (Telefon) benutzt. Diese Pro­
tokollart wird nur beim Empf ang u n ­
terstützt .
3TX oder NOBTX
<btx>
Über diesen Parameter können für den
ersten SIO-Kanal (SIO A) getrennte
Sende- und E m p f a n g s b a u d r a t e n e i n g e ­
stellt werden. Die für den Kanal A
gewählte Baudrate wird in diesem Fall
nur zum E m p f a n g benutzt. Die S e n d e ­
baudrate wird durch die Baudrate der
zweiten seriellen Schnittstelle (Ka­
nal B) bestimmt. Gle ichzeitig gilt
diese Baudrate für den Kanal B als
Sende- und Empfangsbaudrate. BTX ak­
tiviert diese Übertragungsart, NOBTX
schaltet sie wieder ab.
Syntax:
TERM
Anwendung: Simulation eines einfachen Terminals
Wirkung:
Das Programm TERM verwandelt das Genie IIIs in ein
einfaches Terminal und dient in der jetzigen Ver­
sion vornehmlich zur Demonstration.
Bemerkung: Mit Hilfe des TERM-Programms, können Sie z.B. ein
zweite s Genie IIIs unter CP/M 2.2 fernsteuern.
Dazu benötigen Sie ein spezielles RS-232-Verbindungskabel, oder zwei Akustikkoppler.
Beim dem Kabel müssen die Pins 2&3, 4&5 sowie 6&20
vertauscht werden. Zur Steuerung des zwei ten G e ­
rätes sind nun folgende Eins tellu ngen e r f o r d e r ­
lich :
Im ersten Gerät:
Mit dem SIO-Befehl muß das RTS
Protokoll aktiviert werden. Die
anderen Übe rt rag u n g s p a r a m e t e r
(Baudrate, Parität und Stopbits)
sind frei wählbar, müssen aber
bei beiden Geräten identisch
sein. Mit dem Aufruf des TERMProgramm ^st das steuernde, ers­
te Gerät bereit.
Im zweiten Gerät:
Bei zu steuernden, zweite n G e ­
rät, muß das S l O - P r o t o k o l 1 auf
DTR gestellt werden. Durch den
Befehl STAT C0N:=TTY:
werden
sämtliche Ein- und Ausgaben über
das erste Gerät gesteuert.
Syntax:
oder
ZEIT
ZEIT <std >:< min >
Anwendung: Einstellung oder Anzeige der aktuellen Uhrzeit.
Wirkung:
Dieses P r o g r a m m kann nur bei eingebauter H a r d ­
wareuhr sinnvoll benutzt werden. ZEIT gibt die
aktuelle Uhrzeit in Stunden, Minuten und Sekunden
aus. Zum Setzen der Uhrzeit muß die gew ün sch te
Stunde und Minute als jeweils zwe is tel li ge Zahl
als P a r a me ter angegeben werden. Da die Uhr beim
P r o g r a m m i e r e n einer neuen Uhrzeit die Sekunden
a u t o m a t i s c h auf 00 setzt, wird die eingegebene
Zeit erst nach Drücken der ENTER-Taste gesetzt.
Bemerkung: Wird trotz fehlender Hardwareuhr das Programm ZEIT
aufgerufen, so wird eine uns innige Uhrzeit a n g e ­
zeigt. Bei einer falschen Parametereingabe erfolgt
eine F e h l e r m e l d u n g und die Angabe des kor rek ten
Formats.
Die Zeiteinstellung ist im allgemeinen nur einmal
notwendig, da die Hardwareuhr eine eigene Batterie
besitzt und auch bei ausgeschaltetem Gerät weiter­
läuft. Bei einer fehlerhaften Justage der Uhr kann
es jedoch zu Gleichlauf Problemen kommen, die bis
zu einer Minute pro Monat au sm ach en können. In
diesen Fällen muß die P r o g r a m m i e r u n g der Uhr in
regelmäßige Abständen wiederholt werden.
Syntax:
oder
DATUM
DATUM <w> <tt>.< mm >.< j j >
Anwendung: P r o g r a m m i e r u n g oder Anzeige von Woc hen tag und
Datum in die eingebaute Hardwareuhr.
Wirkung:
DATUM zeigt den aktuellen Wochentag und das Datum
in der Form 'Heute ist Montag, der 1. Januar 1985*
an. Anders als in der Statuszeile werden hier also
Woc he nta g und Monat ausgeschrieben. Durch die
Angabe eines neuen Wochentags und Datums kann die
vorhandene Einstellung verändert werden.
Der Pa ra me ter <w> b e s t i m m t den Wochent ag im B e ­
reich 1 (für Montag) bis 7 (für Sonntag). Das
Datum folgt durch ein Lee rzeic hen vom Woch ent ag
getrennt. Tag, Monat und Jahr bestehen jeweils aus
zwei Ziffern im Bereich jeweils 01 bis 31, 01 bis
12 und 00 bis 99.
Bemerkung: Durch die Batteriepufferung der Hardwareuhr wird
das Datum automatisch beim Übergang von 23:59:59
auf 00:00:00 w e i t e r g e z ä h l t . Eine sel bsttätige
Erkennung von Schaltjahren findet nicht statt.
Syntax:
WNFORMAT
Anwendung: F o r m a t i e r e n des eing ebaut en W inchester lauf werks
und Eint eil ung der Winc heste r in logische L a u f ­
werksteile.
Wirkung:
Vor dem Start der Formatierung wird die Anzahl der
zu erstel lende n logischen Teile eingegeben. Für
jeden Teil wird die Größe der Datenblöcke, die
Anzahl der Dat enb löcke und die Anzahl der D i r e c ­
to ry-E int räge abgefragt. Aus den so g e w o n n e n e n
Daten wird der Drive Parameter Block gebildet, der
das Be t r i e b s s y s t e m über den Ort und die Größe
eines jeden logischen Teils auf der Winc hester
informiert.
Nach Eingabe dieser Inf orm at ion wird n och ma ls
explizit gefragt, ob mit der Formatierung begonnen
werden soll. Die einzige Antwort, die dies erlaubt
ist 'JA*. Eine bereits begon nene For ma tierung
kann nur durch die 'Notbremse', Aus schal ten der
Winchester, abgebrochen werden. Da die Winchester
einen eigenen Controller besitzt, genügt es nicht,
das Programm durch Drücken der beiden RS-Tasten zu
unterbrechen.
Eine zweite mögliche Antwort ist 'NEU*. In diesem
Fall werden die eingegebenen Parameter nur über­
n o m m e n und das P r o g r a m m ans chließend beendet.
Diese Antwort dient zur Konfiguration eines CP/M
Systems an eine fremde Winchesteraufteilung.
Bemerkung: Die Parameter werden nur in den Speicher kopiert,
nicht auf die Systemdiskette. Zur Speicherung auf
der Systemdiskette muß nach dem Ende des Programms
ein C P M G E N erfolgen, das die neuen Par am eter auf
die Systemdiskette überträgt.
Bei der Bestimmung der einzelnen logischen Teile
ist folgendes zu beachten:
- Die eingegebenen Werte werden nicht auf Richtig­
keit überprüft.
- Es sind max im al 7 W i n c h e s t e r t e i l e zugelassen.
Die m i n i m a l e Anzahl von Teilen ist 2, da das
CP/M B e t r i e b s s y s t e m nur bis zu 8 Megabyte als
ein Laufwerk verwalten kann.
- Die m a x i m a l e Anzahl von Blöcken pro Teil ist
512. Bei Wahl der m a x i m a l e n Blo ckgröße von 16k
und 512 Blöcken ist somit die max ima l vom CP/M
ve rwa l t b a r e Lau fw e r k s g r ö ß e von 8 Megabyte zu
erreichen.
Bei einer Blocklänge von 1k sind nur maximal 256
Blöcke möglich.
Für jeden Datenblock sollte ein Directory-Ein­
trag vorgesehen werden. Da die Directory block­
weise angelegt wird, sollte die Anzahl der Ein­
träge der gewählten Blockgröße angepasst werden.
Jeder Di rectory eintr ag benutzt 32 Bytes. Bei
einer Blockgröße von b e i s pie ls wei se 8k sind
somit 256 Einträge pro Block (81 92 / 32 = 256)
möglich.
Die Einteilung in logische Teile sollte sich an
der gewünschten Anwendung orientieren. Bei vie­
len kleinen Files ist eine kleine, bei wenige n
großen Files eine große Blockgröße zu wählen.
Das P r o g r a m m prüft nicht, ob bei der g e w ähl ten
Aufteilung die Winchester über- oder unterbelegt
ist. Da in der Regel eine Winchesterformatierung
nur einmal durchgeführt wird, ist die dazu not­
wendige Rechnung etwas aufwendig. Für drei ver­
schiedene Fälle werden jedoch Beispiele aufge­
führt .
Jedes logische Winchestertei1 beginnt an einer
Spurgrenze. Jede Win ch es ter sp ur fasst 8k. Bei
der Wahl von Blockgröße und Blockanzahl sollte
dies mitberücksichtigt werden.
Bei der Benutzung der Winchester vom Betriebs­
system GDOS wird dem GDOS immer ein kompletter
W inchestertei1 zugewiesen.
Je nach gewünschter Kapazität unter GDOS sollte
dies berücksic hti gt werden. Das GDOS arbeitet
immer nur innerhalb diese Teiles.
Die gesamte Winchesterkapazität beträgt 4
305
= 1224 Spuren mit je 32 Sektoren a 256 Bytes.
Die ersten 5 Spuren sind für Systemerweiterungen
(Booten) reserviert. Somit bleiben 1219 Spuren
zur Aufteilung in logische Teile frei.
1. Aufteilung der Gesamtkapazitat in 5 Teile. Die ersten vier
Teile sollen 3, 3, 2 und 1 Meg aby te fassen, der v e r b l e i ­
bende Rest als fünfter Teil genutzt werden.
Dazu folgende Rechnung:
Berechnung der optimalen Ausnutzung:
1 M e g a b y t e b e n ö t i g t 1 0 4 8 5 7 6 / 8192 = 128 S p u r e n
(1 024’^'1024 = 1 048576 Bytes, pro Spur 8^^1024 = 81 92 Bytes)
Die ersten beiden Teile brauchen also je 128’*'3= 384, der
dritte Teil 256 der vierte 128 Spuren.
2 3 4 8 + 2 5 6 + 1 2 8 macht 1152 Spuren für die ersten vier
Teile.
Bleiben 1219-1152=67 Spuren für den letzten Teil.
Berec hn un g der o p t i m a l e n Blockg röß e und der Anzahl der
Blöcke in jedem Teil.
Anzahl der Bytes pro Teil geteilt durch maximale Block­
anzahl ergibt die kleinstmögliche Blockgröße.
Für die ersten beiden Teile gilt 3'*'1 048576 = 3145728
3145728 / 512 = 6144, Mindest-Blockgröße demnach: 8k
3145728 / 8192 = 384 Blöcke
Dritter Teil: 2^1048576 = 2097152,
Mindest-Blockgröße ist 4k
2097152 / 512 = 4096
2097152 / 4096 = 512 Blöcke
Vierter Teil: 1048576 / 512 = 2048
Mindest-Blockgröße ist 2k
1048576 / 2048 = 512 Blöcke
Fünfter Teil: 67 (Spuren) * 8192 (Bytes pro Spur)
548864 Bytes
548864 / 512
= 1072, Mindest-Blockgröße ist 2048=2k
548864 / 2048 = 268 Blöcke
=
Berechnung der Anzahl der Directory-Einträge
1. und 2. Teil: 8k Blockgröße entspricht 8192/32=256
Directory-Einträgen pro Block. Werden nur wenige große
Files gespeichert, so reicht ein Directoryblock aus. Bei
vielen kleinen Files sind jedoch 512 Einträge, also 2
Blöcke, sicherer.
3. Teil:
512 Blöcke -> 512 Directory-Eintrage
4. Teil:
51 2 Blöcke “ > 512 Directory-Einträge
5. Teil:
268 Blöcke -> 256 Directory-Eintrage
Zusammenfassung Beispiel 1 :
Anzahl Teile ? 5
Erster Teil:
Blockgröße ? 8
Anzahl der Blöcke ? 384
Anzahl der Einträge ? 512
Zweiter
8, 384,
Dritter
4, 512,
Vierter
2, 512,
Fünfter
2, 258,
Teil:
255
Teil:
512
Tei l:
512
Teil:
256
Es soll die maximale Größe von SMegabyte erreicht werden.
Berechnung der optimalen Ausnutzung:
SMegabyte = 8*1024*1024 = 8388608 Bytes
8388608 / 8192 = 1024 Spuren für den ersten Teil
Bleiben 1219-1024 = 195 Spuren für den zweiten Teil
Bere chn ung der o p t i m a l e n Blo ckgröße und der Anzahl der
Blöcke in jedem Teil.
1. Teil: 8388508 / 512 = 15384 = 15k
8388508 / 15384 = 512 Blöcke für den ersten Teil
2. Teil:
195*8192 = 1597440 Bytes
1597440 / 512 = 3120, Mindest-Blockgröße: 4096
1597440 / 4095 = 390 Blöcke für den zwe i t e n Teil
Berechnung der Anzahl der Directory-Einträge
1. Teil: 15384/32=512 Einträge pro Block
Der erste Teil erhält 512 Einträge
2. Teil: 4095/32=128 Einträge pro Block
Der zweite Teil erhält bei 510 Blöcken 4*128=512 Direc­
tory-Einträge .
Syntax:
BOOT
Anwendung: Kaltstart (Booten) des Betriebssystems
Wirkung:
Die im ein gebauten EPROM vorhanden Boot-Routine
wird aufgerufen. Das Verhalten des Gerätes ist
somit wie nach dem Einschalten.
Bemerkung: Dieses P r o g r a m m soll nur zum s o f t w a r e m ä ß i g g e ­
steuerten Bootvorgang dienen. Im der Regel erfolgt
ein Kaltstart des Systems durch Drücken der beiden
RS-Tasten.
Syntax:
oder
CONFIG
CONFIG <lw>
Anwendung:
Änderung oder Anzeige der Konfiguration der Sys­
temdiskette im gewählten Laufwerk. Ist kein Lauf­
werk angegeben, so wird a u t oma ti sch das erste 5
1/4 Zoll-Laufwerk gewählt.
Wirkung:
Die Sy ste m t a b e l l e der g e w ä h l t e n S y s t e m dis ke tte
wird ein gelesen und die verä nderb aren P ara me ter
einzeln abgefragt. Durch Drücken der ENTER-Taste
kann die Einst ell ung des gezeigten P a r ame te rs
unverändert gelassen werden. Am Ende der Konfigu­
ration wird die Systemtabelle wieder abgespeich­
ert .
Bemerkung: Die neue Konfiguration wird nicht in den Speicher
übernommen, sondern wird erst nach dem Booten der
geänderten Systemdiskette wirksam. Genauere Hin­
weise auf dieses Programm und die einzelnen Para­
meter befinden sich im Kapitel 7.
Syntax:
UHR
Anwendung: Ausgabe von Wochentag, Datum und Uhrzeit
Wirkung:
Dieses kleine P r o g r a m m liest aus den letzten 23
Stellen der Statuszeile den Wochentag, das Datum
und die Uhrzeit aus und gibt diese aus.
Bemerkung: Dieses Programm ist vornehmlich zur Markierung von
Druckerprotokollen gedacht. Bei Directory-Ausdrukken oder ähnlich über CTRL-P kann durch vorherigen
Aufruf von UHR, der Ausdruck mit Datum und Uhrzeit
versehen werden.
Um die ganzen Fu nkt ion en des Genie IIIs CP/M CBIOS auch vom
BDOS aus zu unterstützen, wurden mehrere Änderungen im BDOS
vorgenommen. Dabei wurde darauf geachtet, keine Teile des
BDOS zu ändern, die von anderen Programmen benutzt werden.
In den folgenden Absch nitte n sind die g e m ach te n Änderu ngen
angegeben und kurz erläutert. Alle Adressen sind relativ zum
BDOS-Start mit BDOS +xxxx H bzw. relativ zum CBIOS-Start mit
BIOS+xxxxH angegeben. In der jetzigen Version liegt der BDOSStart bei EEOOH, der BlOS-Start bei FCOOH.
Jede Änderung ist durch die Adresse, den alten Befehl und den
neuen Befehl bezeichnet.
12.1.1 Close File, Schließen eines Files
Änderung:
in
^weck:
BDOS -k 0CA5H:
JP
JP
BDOS + 0C51H
BIOS 4- 0033H
R ü ck sch rei be n des zuletzt geän derte n Sektors
beim Schliessen eines Files.
Bemerkungen: Da das CP/M die Daten jeweils R e c o r d w e i s e (128
Bytes) schreibt, werden Lei Sek tor lä ng en über
128 Bytes mehrere Records im Speicher zwischen­
gepuffert. Dieses ’Sector-Blocking* führt zu
einer erhebl ichen Geschwindigkeitszunahme. Die
ge puf fer ten Records werden also zuerst nur in
den Speicher geschrieben und erst durch die Wahl
eines neuen Sektors oder durch einen Lesebefehl
auf der Diskette gespeichert. Bei der von Digi­
tal Research angegebenen Bl oc kin g- Rou ti ne kann
es passieren, daß nicht alle Daten abgespeichert
sind. Insbesondere passierte dies, wenn nach
einer Schreiboperation (Abspeichern eines Files)
die Diskette sofort entfernt wurde. Nach dem
Speiche rn eines Files wird die Beendigung der
Filebearbeitung (Schließen des Files) durch die
Routine 'Close File* dem B et ri e b s s y s t e m m i t g e ­
teilt. Die Änderung im BDOS bewirkt, daß beim
’Clcse File’ auch die zuletzt gepufferten Daten
auf die Diskette geschrieben werden. Ein Daten­
verlust ist somit nicht mehr möglich.
12.1.2 Set User Code, Userbereich setzen
Änderung:
in
BDOS + 0D3DH:
LD
JP
(BDOS + 0341H),A
BIOS + 0036H
Zweck:
Anzeige des neu g e w ähl te n Userbereichs in der
Statuszeile
Bemerkungen: Das Abspeichern der Userbereichsnummer (im Re­
gister A) wird ins BIOS verlegt und diese Nummer
in der Statuszeile dargestellt.
12.1.3 Printfunktion ein/aus
Änderung:
in
BDOS + 0245H:
JP
JP
BDOS + 01EFH
BIOS + 0039H
Zweck:
Anzeige der CTRL-P Funktion in der Statuszeile
Bemerkungen: Die Aktivier ung der CTRL-P Funktion (Ausgabe­
modus 1, Parallele Ausgabe der Bildschirmzeichen
über den LST:-Kanal) wird in n o rma le n CP/MS y s t e m e n nicht angezeigt. Da dies zum Teil zu
erheblichen Verwirrungen führt, wird es im Genie
IIIs CP/M in der Statuszeile angezeigt.
12.1.4 Warmstart nach Diskettenfehler
JP
JP
Z,0000H
BIOS+003CH
Änderung:
in
BDOS + 00A1H:
Zweck:
Kontrollierter Warmstart nach einem Fehler
Bemerkung:
s i ehe 12.1.5
12.1.5 Warmstart nach fehlerhafter Laufwerksanwahl
00A8H:
JP
JP
BDOS + 00B4H
BIOS + 003CH
Änderung:
in
BDOS
Zweck:
Kontrollierter Warmstart nach der Anwahl eines
nicht bereiten oder nicht vorhandenen Laufwerks
Bemerkung:
Zum Beispiel bei der Anwahl eines nicht vorhan­
denen Laufwerks oder sonstigen, nicht behebbaren
Fehlern, wird nach der Fehlerausgabe normaler­
weise wieder dieses La u f w e r k angewählt. Bei
normalen CP/M-Systemen ist nach solchen Fehlern
imm er ein Kaltstart erforderlich. Durch diese
Änderung wird der Warmstart auf dem in der Sys­
temkonfiguration gewählten Hauptlaufwerk ausge­
führt. Dadurch ist im Genie IIIs CP/M eine kontrol1ierte Fehlerbehandlung möglich.
12.1.6 Reset Disk System, Alle Laufwerke ausloggen
Änderung:
in
BDOS + 0C8DH:
Zweck:
Beschleunigung des Warmstarts
Bemerkung:
Bei jedem Warmstart werden alle Laufwerke ausgeloggt und das zuletzt angewählte Laufwerk wieder
eingeloggt.
Bei normalen CP/M Systemen wird dabei ebenfalls
das Laufwerk A eingeloggt.
Ist das beim Warmstart aktuelle Laufwerk nicht
A, so ist dieses zusätzliche Einloggen überflüs­
sig. Aufgrun d der internen Struktur des CP/M
braucht das Betriebssystem jedoch ein Laufwerk
für den Warmstart.
Im Genie IIIs CP/M ist es jedoch nicht auf A
festgelegt, sondern kann frei gewähl t werden.
Insbesondere bei 256k Hauptspeicher sollte als
Laufwerk für den Warmstart die RamDisk gewählt
werden, was den W a r m s t a r t erheblich b e s c h l e u ­
nigt. (siehe auch Kapitel 7)
LD
{BDOS
0342H),A
CALL BIOS + 0042H
12.1.7 Ausgal>e einer Fehlermeldimg
CALL
CALL
BDOS + 01D3H
BIOS -»■ C03FH
Änderung:
in
BDOS + 00F9H:
Zweck:
Ausgabe von deutschen,
meldungen.
Bemerkung:
In normalen C?/M-Systemen erfolgen die Fehler­
me ld u n g e n in Englisch und ohne grosse A u s s a g e ­
kraft. Durch diese Änderung werden nicht die im
BDOS gespeicherten Fehlertexte, sondern deutsche
Fehlermeldungen ausgegeben.
aus fü hr lic he ren Fehler-
Änderung:
BDOS
009AH:
DEFW
BDOS
Änderung:
BDOS + 00A6H:
DEFW
BDOS +
Änderung:
BDOS + OOACH:
DEFW
BDOS +
Änderung:
BDOS -i- 00B2H:
DEFW
BDOS +
Änderung:
in
BDOS
DEFW
DEFW
BDOS +
BDOS +
Zweck:
Änderung der Adressen der englischen F e h l e r texte. Da die Adressen der deutschen Fehlertexte
nicht garantiert werden können, sind sie hier
nicht aufgeführt. Die letzte Änderung bestimmt
die Stellung des Laufwerksnamens innerhalb der
Fehlermeldung.
OOEFH:
12.2.1 Ervfeiterte Sprungtabeile
Die Zusammenarbeit zwischen dem BDOS und dem CBIOS ist durch
eine Tabelle von Sprungbefehlen standardisiert.
Damit auch die BDOS-Erweiterungen (Kap. 12.1) diesem Standard
entsprechen, werden alle BDOS-Erweiterungsroutinen ebenfalls
durch ein Sprungtabelle angesprochen.
Der CP/M-Standard erwartet ab dem CBIOS-Start insgesamt 17
Sprungbe feh le a 3 Bytes. Ab der Adresse BIOS+0 033 H stehen
insgesamt neuen Sprungbefehle für die BDOS-Erweiterungen. Die
letzten drei Sprun gbe feh le führen zur Zeit einen W a r m s t a r t
aus und sind für spatere Erweiterungen reserviert:
BIOS
BIOS
BIOS
BIOS
BIOS
BIOS
BIOS
BIOS
BIOS
0033H
0036H
0039H
003CH
0 03FH
0042H
0045H
0048H
004BH
Close-File Erweiterung
Anzeige des Userbereichs
Anzeige des Ausgabemodus 1, CTRL-P Funktion
Kontrollierter Warmstart nach einem Fehler
Ausgabe einer deutschen Fehlermeldung
Setzen des Warmstart-Laufwerks
reserviert
reserviert
reserviert
Anschliessend an die Sprungtabelle stehen Systemadressen und
-werte, die den Dienstprogrammen den Zugriff auf systeminter­
ne Daten und Unterprogramme erlauben.
Zur Zeit stehen dort drei S y s t e m adr es sen und vier Werte. Da
die Sprungtabelle auch bei späteren Erweiterungen nicht wei­
ter verlängert wird, kann die Plazierung dieser Werte ab der
Adresse BI0S+4EH garantiert werden.
Systemprogramme, die diese Adressen und Werte benutzen, kön­
nen also auch späteren Versionen des Genie IIIs CBIOS weiter­
hin verwendet werden.
BIOS + 4EH:
BIOS + 50H;
BIOS + 52H:
BIOS
BIOS
BIOS
BIOS
+
+
+
+
54H
55H
55H
57H
Adresse der Uhrtabeile (CLKTAB)
Adresse der MOVMEM-Routine
Adresse des Invert-Bytes
(siehe MOVMEM-Routine)
Kopie des lOBYTE
Quellbank für MOVMEM
Zielbank für MOVMEM
Anzahl der Zeichen im Tastaturpuffer
Die ühr tabelle und die M O V M E M - R o u t i n e und ihre zugehörigen
Werte sind in den beiden nachfolgenden Kapiteln behandelt.
Bei der Adresse BIOS+54H steht die Kopie des lOBYTE von der
Adresse 0003H.
Da die g e s a m t e n CB IOS -Rout ine n in der zweiten Speicherbank
liegen, können sie nicht direkt auf die Adresse 3 in der
ersten Bank zugreifen.
Aus diesem Grund wird bei jedem CBIOS-Auf ruf, der eine Rou­
tine aus der zw eit en Bank benötigt, dieses lOBYTE auf die
Speicher ste lle BIOS+54H kopiert. Dadurch ist auch von der
zweiten Bank ein Zugriff auf dieses Byte möglich.
Die Anzahl der Zeichen im Tastaturpuffer wird von der Tasta­
turroutine benutzt. Beim Drücken einer Taste wird deren Wert
nicht sofort zurückgegeben, sondern im Tastaturpuffer abge­
legt und der Zähler bei 3IOS+57H erhöht. Soll ein Zeichen von
der Tastatur geholt werden, so wird dieses immer aus dem
Tastaturpuffer genommen.
Sollen nun z.B. vorherige Tas tendrücke gelöscht werden, so
reicht es, die Anzahl der Zeichen im Puffer auf 0 zu setzen.
Der Puffer selbst braucht also nicht gelöscht zu werden.
Die Adresse ab BI0S+4EH zeigt auf den Start der Uhrtabelle.
Bei eingebauter Hardwareuhr werden dort periodisch, zumindest
bei jeder Tastaturabfrage, die aktuellen Uhrenwerte abgelegt.
Die Tabelle umfasst 16 Werte in folgender Reihenfolge:
Offset vom
Tabellenstart
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Wert
Bereich des Wertes
OAH, 10 dez
Sekunde, Einer
Sekunde, Zehner
OAH, 10 dez
Minute, Einer
Minute, Zehner
OAH, 10 dez
Stunde, Einer
Stunde, Zehner
Wochentag
Tag, Einer
Tag, Zehner
Monat, Einer
Monat, Zehner
Jahr, Einer
Jahr, Zehner
konstanter Wert
0 bis 9
0 bis 5
konstanter Wert
0 bis 9
0 bis 5
konstanter Wert
0 bis 9
0 bis 2
0 bis 6 (0=Montag)
0 bis 9
0 bis 3
0 bis 9
0 bis 1
0 bis 9
0 bi 3 9
direkter Zugriff auf diese TabeIle kann, z.B. im
so aussehen:
BlOS-Start = FCOOH, Adresse der Tabelle steht also in den
Speicherplätzen FC4EH und FC4FH.
Basic-Programm zum Auslesen der Uhrzeit in Stunden und Minu­
ten :
10
20
30
40
BIOS = &HFC00
CLKTAB = P E E K (BIOS+&H4E) + PEE K(BIOS+&H4F)^256
STD = PEEK(CLKTAB+7) + PE E K (CLKTAB+8)*10
MIN = PEEK(CLKTAB +4) + PEEK (CLKTAB+5 )’^l 0
In den beiden Variablen STD und MIN stehen nun die aktuellen
Stunden- bzw. Minutenwerte.
Da alle S y s t e m int e r nen Tabellen und Werte in der zweiten
Speicherbank liegen, ist der Zugriff nicht direkt möglich.
Alle CP/M-Dienstprogramme benutzen zu diesem Zweck eine Un­
terroutine, die Speicherblöcke zwischen verschiedenen Spei­
cherbänken transportiert. Diese, MOVMEM genannte Routine kann
auch von anderen P r o g r a m m e n unter Beachtung der folgenden
Regeln benutzt werden:
Die Adresse der MOVMEM-Routine steht in den Speicherplätzen
BIOS+50H und BIOS+SlH. Die Übe rtragung von Speiche rblöc ken
kann entweder invertiert oder normal erfolgen.
Bei der invertierten Übertragung wird jedes einzelne Byte
invertiert.
Zur n o r m a l e n Übertr agu ng ist in die Adresse die in BIOS+52H
und BIOS+53H steht ein 00 (Z80 NOP-Befehl) einzutragen. Die
Quell- und Zielbank muß in die Speic herpl ätze BIOS+55H bzw.
BIOS+56H eingetragen werden.
Dabei dürfen nur folgende Werte benutzt werden:
OOH
40H
80H
COH
Bank
Bank
Bank
Bank
0
1
2
3
Nachdem alle diese Parameter gesetzt sind, kann die MOVMEMRoutine aufgerufen werden.
Im Register HL befindet sich die Adresse des Quellblocks, im
Register DE die Adresse des Zielblocks (wie bei LDIR). Es
werden bei jedem Aufruf 128 Bytes übertragen und die beiden
Register um diesen Wert erhöht. Zerstört werden die Register
A, B und C.
Die Übe rt ra gun g eines 255 Byte großen Blocks von der S p e i ­
chers tel len AOOOH in der z w e i t e n Bank {Bank 1) in die erste
Bank (Bank 0) ab 1000H sieht nun folgendermaßen aus:
BIOS
MOVADR
INVERT
SRCBNK
DESBNK
EQU
EQU
EQU
EQU
EQU
OFCOOH
BIOS+50H
BIOS+52H
BIOS+55H
BIOS+56H
START:
LD
LD
LD
LD
LD
LD
LD
LD
HL,(MOVADR)
(MOVMEM+1),HL
H L , {INVERT)
(HL),OOH
A, OOH
(DESBNK),A
A, 40H
(SRCBNK),A
;Adresse holen
;und abspeichern
;Invertierung
;abschalten
;Bank 0
;ist Ziel (Destination)
;Bank 1
;ist Quelle (Source)
LD
LD
LD
PUSH
CALL
POP
DJNZ
HL,OAOOOH
DE ,1OOOH
B, 2
BC
MOVMEM
BC
LOOP
;Quelladresse
;Zieladresse
;256 Bytes sind 2 Blöcke
;Zähler retten
;Block verschieben
;Zähler zurück
JP
WEITER
;Weiter im Programm
DEFB
DEFW
0C3H
OOOOH
;entspricht JP-Befehl
;hier wird die eigentlic
;Adresse eingetragen
/
LOOP:
/
t
MOVMEM:
Im konst ant en Teil des CBIOS (FCOOH bis FFFFH) sind jeweils
nur die Pa ra me ter (DPH, DPB, CSV, ALV und XLT) des aktuellen
Laufwerks zugänglich.
Da das CP/M immer nur ein Laufwerk zur gleichen Zeit verwal­
ten kann, sind alle restlichen Parameter in der zweiten Bank.
Bei jeder Dis ke tt en an wah l werden die Param eter dann e n t ­
sprechend ausgetauscht. Der Zugriff auf die Par ame ter der
anderen Laufwerke ist auf zwei Arten möglich:
1• Anwahl des gewünschten Laufwerks
Durch Aufruf der BIOS-Routine *Select Disk* werden die
Parameter des gewählten Laufwerks in den konstanten Teil
des BIOS kopiert. Zugriff ist dann über die BDOS-Funktion
*Get ADDR (Disk Parameters)* möglich. Auf diese Art holt
sich auch das FORMAT-Programm die nötigen Werte.
2. Kopieren aus der zweiten Bank
Das PD-Programm benutzt die MOVMEM-Routine als Zugriff zu
den Laufwerksparametern. Diese stehen in der zweiten Bank
ab Adresse 4800H in folgender Reihenfolge:
DPBs und PD-Bytes der vier 5 1/4 Zoll L auf we rke
DPBs und PD-Bytes der vier 8 Zoll Laufwerke
XLT der vier 5 1/4 Zoll Laufwerke (je 64 Bytes)
XLT der vier 8 Zoll Laufwerke (je 64 Bytes)
4 Bytes mit der N u m m e r des aktuellen For m a t s der vier 5
1/4 Zoll Laufwerke (0=erstes Format im PDRIVE.SYS)
4 Bytes mit der N u m m e r des aktuellen For m a t s der vier 8
Zoll Laufwerke
XLT bezeichnet die Sektorverschränkungstabelle. Anders als
im CP/M-Standard ist dies die Tabelle der physikalsichen
und nicht der logischen Sektoren.
Eine genaue Beschreibung des DPBs und PD-Bytes befindet sich
im Anhang C.
Anhang A
Speicheraufteilung, Speichernutzung
A.1 Memory-Map
A .1.1 Bank 0
Adresse
Nutzung
0000H-0002H
0003H
0004H
Sprung zur Warmstart-Routine im BIOS
lOBYTE
Nummer des eingeloggten Laufwerks
(OOH = A bis OFH = P)
Sprung nach BDOS + 6H (S o f t w a r e - S c h n i 1 1 s t e 11e
zum CP/M für Anwenderprogramme)
f rei
RST 38H, Interruptadresse. Bei aktivierten
Interrupts, löst jeder Interrupt einen Sprung­
befehl zu dieser Adresse aus. Unbenutzt bei
abgeschalteten Interrupts,
frei
File Control Block für Anwenderprogramme
Arbeitspuffer für den CCP
Freier Anwenderspeicher (TPA)
CCP
BDOS
BIOS (konstanter Teil)
0005H-0007H
0008H-0037H
0038H-003AH
003BH
005CH
0080H
01 OOH
E600H
EEOOH
FCOOH
•005BH
•007FH
-OOFFH
-E5FFH
■EDFFH
-FCOOH
-FFFFH
Nähere In for ma t i o n e n über die ein zelnen Spe ich er ber ei che
finden sie in der im Anhang F aufgeführten Literatur.
Adresse
Nutzung
OOOOH-01OOH
Zugriffsroutinen auf die :beren 8k dieser Bank
Zeichensatzumschaltung
frei
Zeichensatz
Tastaturtabeile (siehe Anhang D)
Winchester-Trackpuffer (8k)
SYSTAB (siehe unten)
FKYTAB (siehe unten)
Diskettenparameter
CCP-Kopie
BDOS-Kopie
frei
BIOS-Kopie des konstanten Teils
Restliche CBIOS-Routinen
Speicherung der vier Bildschirmseiten
(nicht über MOVMEM zugänglich !)
01OOH1000H1C00H2000H4000H4200H4800H5000H5800H6600H5800H6800HEOOOH-
OFFFH
1BFFH
1FFFH
3FFFH
41FFH
47FFH
4FFFH
57FFH
65FFH
67FFH
6BFFH
DFFFH
FFFFH
Der Winchester-Trackpuffer wird nur bei vorhandener Winches­
ter benutzt und kann in anderen Fällen mit eigenen Routinen
belegt werden. Die CCP- und BDO S-Kopien werden bei jedem
Warmstart in die Bank 0 übertragen.
A.1.3 Banks 2 und 3
Die Banks 2 und 3 we rde n als Ram D i s k benutzt:
Bank 2:
Adresse
Nutzung
OOOOH-03FFH
0400H-DFFFH
EOOOH-FFFFH
Directory der RamDisk
RamDisk
unbenutzt, unzugänglich
Bank 3:
Adresse
Nutzung
OOOOH-DFFFH
EOOOH-FFFFH
RamDisk
unbenutzt, unzugänglich
Auf jeder Sy s t e m d i s k e t t e sind die ersten drei Spuren (Spur
N u m m e r 0, 1 und 2) mit je 10 Sektoren a 1 024 Bytes für die
Speicherung des Betriebsystems reserviert.
Beim Bootvorgang wird der Sektor 0 der Spur 0 vom eingebauten
Ur la der - E P R O M auf die Adressen FCOOH bis FFFFH geladen und
die weitere Programmausführung dorthin übergeben.
Diese Boot rou tin e liest dann die restlichen 29 Sektoren in
die zweite Bank.
Danach wird die BIOS-Kopie des konstanten BIOS-Teils (Bank 1,
6800H bis 5BFFH) nach FCOOH bis FFFFH kopiert und die A u s ­
führung dorthin übergeben.
Die Aufteilung der drei Spuren sieht folgendermaßen aus:
Spur Sektor Seite
Adresse in der Nutzung
zweiten Bank
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
1
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
V
V
V
V
V
R
R
R
R
R
V
V
V
V
V
R
R
R
R
R
V
V
V
V
V
R
R
R
R
R
FCOOH, Bank 0
1 OOOH
1400H
1 800H
1C00H
4000H
4400H
4800H
4C00H
5000H
5400H
5800H
5C00H
6000H
6400H
6800H
5C00H
7000H
7400H
7800H
7C00H
8000H
8400H
8800H
8C00H
9000H
9400H
9800H
9C00H
AOOOH
Bootsektor
Zeichensatz
Zeichensatz
Zeichensatz
Tastaturtabeile
SYSTAB, FKYTAB
FKYTAB
Laufwerksparameter
Laufwerksparameter
CCP
CCP
BDC3
BDC3
BDC3
BDOS
BIOS, konstanter Te
BIOS
BIOS
BIOS
BIOS
BIOS
BIOS
BIOS
BIOS
BIOS
BIOS
BIOS
BIOS
BIOS
BIOS
Die Systemtabelle beinhaltet alle für die Konfiguration wich­
tigen Informationen. Zur evtl, eigenen V e r wen du ng oder Ä n ­
derung über die MOVMEM-Routine wird hier die Belegung der 512
Bytes angegeben:
Offset vom
Tabellenstart
OOOOH,
0001H,
0002H,
0003H,
0004H,
0005H,
0006H,
0007H,
0008H,
0009H,
OOOAH,
OOOBH,
OOOCH,
OOODH,
OOOEH,
OOOFH,
001 OH,
0011H,
0012H,
0013H,
0014H,
0015H,
0016H,
0017H,
0018H,
0019H,
001 AH,
001BH,
00 ICH,
001 DH,
001EH,
001 FH,
0020H,
0021H,
0022H,
0023H,
0024H,
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Wertebereich
OOH-FFH
OOH/FFH
00H/C9H
00H/C9H
00H/C9H
00H/C9H
00H/C9H
OOH/FFH
OOH/FFH
OOH/FFH
OOH/FFH
OOH/FFH
OOH/FFH
OOH/FFH
OOH/FFH
00H/02H
OOH/FFH
00H/01H
OOH-OFH
OOH-FFH
OOH-OFH
OOH/FFH
OOH/OIH
OOH/FFH
OOH/FFH
OOH/FFH
00H-02H
Nutzung
lOBYTE
LOGO ein/aus
CTRL-Pl ein/aus
CTRL-P2 ein/aus
CTRL-P3 ein/aus
CTRL-P4 ein/aus
CTRL-P5 ein/aus
AÜTO-Befehl ein/aus
Hardwareuhr vorhanden ja/nein
25. Zeile anzeigen ja/nein
Zeilenüberlauf ein/aus
Autom. Zeilenvorschub ein/aus
Inverse Darstellung ein/aus
Seiten-/Zeileneditierung
Rückmldg. mit Leerz. ja/nein
Ausgabemodus
Funktionstasten aktiv ja/nein
Zeichensatz, 0=DEUTSCH, 1=ASCII
Hauptlaufwerk {00H=A,0FH=P)
Anzahl der Wiederholungen
Laufwerk für Warmstart
Interrupts aktiv ja/nein
00H=Edit-,01H=Insertmodus
Uhranzeige ein/aus
Infotext vorhanden ja/nein
Zehnerbl. Wiederholung ein/aus
reserviert
reserviert
reserviert
reserviert
reserviert
reserviert
reserviert
reserviert
reserviert
interne Verwendung
Verwendung der 25. Zeile:
0=Statuszeile, 1=Benutzerzeile
2=Tastaturpuf fer
0025H,
0026H,
bis
002FH,
0030H,
0031H,
0032H,
0033H,
0034H,
0035H,
0036H,
0037H,
0038H,
0039H,
003AH,
003BH,
003CH,
003DH,
003EH,
003FH,
0040H,
0041H,
bis
005FH,
0060H,
bis
006FH,
0070H,
bis
0077H,
0078H,
bis
007FH,
0080H,
bis
0084H,
0085H,
bis
0089H,
008AH,
008BH,
008CH,
008DH,
008EH,
008FH,
0090H,
0091H,
0092H,
0093H,
37
38
00H-50H
Anzahl der aktiven Tab-Posit.
47
48
49
50
51
52
53
54
55
56
57
58
59
50
61
52
63
64
65
OOH- FFH
OOH- FFH
OOH- FFH
OOH- FFH
OOH- FFH
OOH- FFH
OOH- FFH
OOH- FFH
OOH- FFH
OOH- FFH
T a b .-Positionen in Bit-Form
Entprellwert 1 LSB
Entprellwert 1 MSB
Entprellwert 2 LSB
Entprellwert 2 MSB
Zeit bis zur 1 Wiederh. LSB
Zeit bis zur 1 Wiederh. MSB
Zeit bis zur nächsten Wiederh.
dito, aber MSB
Zeitfaktor bei Statusabfrage
reserviert
reserviert
reserviert
reserviert
reserviert
reserviert
reserviert
Länge des AUTO-Befehls
00H-1FH
95
95
AUTO-Befehl
1 11
11 2
Laufwerkstabelle (siehe unten)
119
SIO A Initialisierungswerte
120
1 27
128
SIO B Initialisierungswerte
132
1 33
PIO A Initialisierungswerte
137
138
139
140
141
142
143
144
145
145
147
PIO B Initialisierungswerte
reserviert
reserviert
reserviert
reserviert
reserviert
reserviert
Spurzahl des 1. 5" Laufwerks
Spurzahl des 2. 5" Laufwerks
Spurzahl des 3. 5" Laufwerks
Spurzahl des 4. 5” Laufwerks
38H/50H
38H/50H
38H/50H
38H/50H
0094H,
0095H,
0096H,
0097H,
0098H,
0099H,
009AH,
009BH,
009CH,
009DH,
009EH,
009FH,
OOAOH,
148
149
150
151
152
153
154
155
156
157
158
159
160
OOA1H,
bis
00B9H,
OOBAH,
bis
OOBFH,
OOCOH,
00C1H,
00C2H,
00C3H,
161
185
4DH
4DH
4DH
4DH
OOHOOHOOHOOHOOHOOHOOHOOHOOH-
03H
03H
03H
03H
03H
03H
03H
03H
19H
OOH-FFH
Codes der zu ändernden Zeichen
1 86
191
192
193
1 94
195
OOH-FFH
OOH-FFH
01H-08H
OOH-FFH
00C4H,
00C5H,
196
197
OOH- FFH
OOH- FFH
00C6H,
00C7H,
198
199
OOH- FFH
OOH- OBH
200
OOH- FFH
OOH- FFH
00C8H,
00C9H,
bis
01OOH,
0101H,
bis
017FH,
0180H,
bis
01C F H ,
01D0H,
01D1H,
01D2H,
01D3H,
bis
01E7H,
Spurzahl des 1. 8" Laufwerks
Spurzahl des 2. 8" Laufwerks
Spurzahl des 3. 8" Laufwerks
Spurzahl des 4. 8” Laufwerks
Steprate des 1. 5" Laufwerks
Steprate des 2 . 5" Laufwerks
Steprate des 3 . 5" Laufwerks
Steprate des 4. 5" Laufwerks
Steprate des 1, 8" Laufwerks
Steprate des 2 8" Laufwerks
Steprate des 3 8" Laufwerks
Steprate des 4 8" Laufwerks
Anzahl der zu ändernden Zeichen
bei Zeichensatzumschaltung
201
OOH-FFH
reserviert
Zahl der Winchestertracks (MSB)
dito, (LSB)
Anzahl der Winchesterköpfe
S t a r t t r a c k für v e r m i n d e r t e n
Schreibstrom (MSB)
dito, (LSB)
Starttrack für Write-Precompensation (MSB)
dito, (LSB)
Anzahl der Bits bei Fehlerkor­
rektur
Steprate der Winchester
reserviert
257
383
384
Unbenutzt
463
464
465
466
467
80 Zeichen Info-Text
CR
LF
Ende des Textes
487
ODH
OAH
OOH
reserviert
01E8H,
01E9H,
01E A H ,
01E B H ,
01E C H ,
01E D H ,
01E E H ,
01E F H ,
01F0H,
01F1H,
01F2H,
01F3H,
01F4H,
01F5H,
01F6H,
01F7H,
01F8H,
01F9H,
01FAH,
01F B H ,
01FCH,
01F D H ,
01 F E H ,
01F F H ,
488
489
490
491
492
493
494
495
495
497
498
499
500
501
502
503
504
505
506
507
508
509
510
51 1
6EH
50H
56H
OAH
1FH
02H
18H/19H
1BH
02H
09H
29H
09H
OOH
OOH
OOH
OOH
01H-03H
26H
Initialisierungswerte für
den Bildschirmcontroller
Anzahl der Zeilen
Anzahl der Speicherbanks -1
interne Verwendung
interne Verwendung
interne Verwendung
interne Verwendung
interne Verwendung
interne Verwendung
CBIOS-Versionsnummer (2.6)
Die Laufwerkstabelle weist den Namen A bis P ein physikalsisches Laufwerk zu. Der erste Tabelleneintrag steht für Lauf­
werk A, der letzte für L a ufw er k P. Insgesamt sind 17 Werte
erlaubt:
Wert in Tabelle
OOH
01H
02H
03H
04H
05H
06H
07H
08H
09H
OAH
OBH
OCH
ODH
OEH
OFH
1OH
Bedeutung
Laufwerk nicht vorhanden
Erstes 5 1/4 Zoll Laufwerk
Zweites 5 1/4 Zoll Laufwerk
Drittes 5 1/4 Zoll Laufwerk
Viertes 5 1/4 Zoll Laufwerk
Erstes 8 Zoll Laufwerk
Zweites 8 Zoll Laufwerk
Drittes 8 Zoll Laufwerk
Viertes 8 Zoll Laufwerk
Erster Winchestertei1
Zweiter Winchestertei1
Dritter Winchestertei1
Vierter Winchestertei1
Fünfter Winchestertei1
Sechster Winchestertei1
Siebter Winchestertei1
RamDisk
Ein Wert von 06H in der zwe it en Tab ell enpo si tio n bedeutet
also, daß unter der Bezeichnung B das zweite 8 Zol1-Laufwerk
ang esprochen wird. Es ist möglich meh rer en Name n dasselbe
physikalische Laufwerk zuzuordnen. Das Ansprechen von mehre­
ren L a u f w e r k e n unter einem Name n ist logi scher weise nicht
möglich.
Für die 112 verschiedenen Funktionstastentexte stehen insge­
samt 1536 Bytes (1.5k) zur Verfügung.
Als Trennzeichen zwischen zwei Texten ist der Wert OOH einge­
setzt. Am Anfang der Tabelle steht ebenfalls eine 0. Daher
sind 113 Bytes der FKYTAB bereits vorgelegt, es bleiben 1423
Bytes frei.
Der Zugriff auf den Text der Funktionstaste Nummer x ist ganz
einfach:
Hinter dem x. Wert OOH in der Tabelle beginnt der Text der
Funktionstaste mit der Nummer x. Der nächste Nullwert kenn­
zeichnet das Ende dieses Textes.
Als Controlsequenzen werden die Videobefehle bezeichnet, die
nur ein Byte benötigen. Jeder Befehl ist durch die Controlse­
quenz, den he x a d e z i m a l e n Wert, den dez im al en Wert und die
Abkürzung gemäß dem ASCII-Standard.
CTRL-G
07
Piepston
CTRL-H
08
7
BEL
Bell
ausgeben.
8
3S
Backspace
Backspace, Cusor ein Zeichen nach links ohne das Zeichen
zu löschen. Um das Zeichen an der C u r s o r p o s i t i on zu
löschen, müssen die drei Codes Backspace,Space,Backspace
benutzt werden.
CTRL-I
09
HT
Horizontal Tab
TAB, Cursor zur nächsten Tabulatorposition. CTRL-I hat
dieselbe Fuktion wie ESC i, wird aber von den meisten
P r o g r a m m e n (z.B. BASIC) abgefangi:n. Für CTRL-I gelten
daher meist nicht die durch ESC 1 gesetzten Tabulatorpo­
sitionen, sondern folgende: 0,8,16,24,32,40,48,56,64,72.
CTRL-J
OA
10
LF
Linefeed
Cursor eine Zeile nach unten. Nach Erreichen der unters­
ten Zeile, wird der B i 1d s c h i r m i n h a 1t eine Zeile nach
oben verschoben, (vgl. SYN)
CTRL-K
OB
1 1 V':
Cursor Up
Cursor eine Zeile nach oben. Nach Erreichen der obersten
Zeile, wird dieser Code ignoriert.
CTRL-L
OC
12
FF
Cursor Forward
Cursor ein Zeichen nach rechts. Nach Erreichen der letz­
ten Bildschirmposition, wird dieser Code ignoriert.
Cursor zum Anfang der aktuellen Zeile. Um den Cursor an
den Anfang der nächsten Zeile zu positionieren, müssen
die beiden Codes CR und LF ausgegeben werden.
CTRL-N
OE
14
SO
Disable XON/XOFF
X O N / X O F F - P r o t o k o 11 auf der z weit en seriellen Schnitt
stelle (SIO B) abschalten.
CTRL-0
OF
15
SI
Enable XON/XOFF
X O N / X O F F - P r o t o k o 11 auf der zw ei ten seriellen Schnitt
stelle (SIO B) einschalten.
CTRL-V
16
22
SYN
Cursor Down
Cursor eine Zeile nach unten. Nach Erreichen der unters­
ten nicht ge sch ützte n Zeile, wird dieser Code ingnoriert. (vgl. LF)
CTRL-Z
1A
26
SUB
Clear Screen
Bi lds c h i r m löschen und Cursor in die linke obere Ecke,
Dieser Code wirkt nur auf die ungeschützten Zeilen.
CTRL-ß
1E
30
RS
Home
Cursor in die linke obere Ecke.
CTRL-_
1F
31
VS
New Line
Entspricht der Sequenz CR und LF.
Als Escapesequenzen werden alle Terminalkommandos bezeichnet,
die ein ’darstellbares* Zeichen beinhalten. Als U n t e r s c h e i ­
dung zu den darstellbaren Zeichen wird der Escape-Code (ESC,
1B hex, 27 dezimal) vorangestellt.
Neben der Escapes equ enz gemäß dem AS CII-Standard sind auch
die entsprechenden hexadezimalen und dezimalen Werte aufge­
führt .
ESC ’*
1B 22
27 34
Keyboard Unlock
Tastatur ein. Die Tastatur wird freigegeben.
ESC #
1B 23
Keyboard Lock
27 35
Tastatur aus. Die Tastatur ist bis zum Empfang von ESC "
für Zeicheneingaben gesperrt. Bei ausgeschaltetem Inter­
rupt s i nd auch s ä m t l i c h e a n d e r e n T a s t a t u r f u n k t i o n e n
ge s p e r r t .
ESC $
1B 24
27 36
Graphics On
Graphikmodus aktivieren. Statt der Großbuchstaben werden
Graphikzeichen ausgegeben.
ESC %
1B 25
27 37
Graphics Off
Graphikmodus ausschalten.
ESC )
1B 29
Inverse Schrift
tiert .
ESC (
1B 28
Half Intensity On
27 41
ein.
27 40
Inverse Schrift aus.
Lee rzeichen werde n nicht
Half Intensity Off
(entspricht ESC GO)
inver­
Tabulator setzen. Die Spaltenposition
als Tabulatorposition übernommen.
ESC 2
1B 32
27 50
des Cursors
wird
Clear Tab Stop
Tabulator löschen. Die Spaltenposition des Cursors wird
als Tabulatorposition gelöscht.
ESC 3
1B 33
27 51
Clear All Tab Stops
Alle Tabulatoren löschen. Sämtliche gesetzte Tabulator­
positionen werden gelöscht. Die Sequenz ESC i bzw. ESC I
sind wirkungslos.
ESC >
1B 3E
27 62
Key Click On
Tas te nkl ic k ein. Bei jedem erkannten Tas te ndr uck wird
ein kurzer Klickton erzeugt.
ESC <
1B 3C
27 60
Tastenklick
ESC i
1B 69
Key Click Off
aus.
27 105
Tab
Cursor v o rw ärt s zur nächsten TAB-Pos. Der
soweit nach rechts bewegt, bis die nächste
sition erreicht ist. Im Gegensatz zu CTRL-I
diese Funktion imm er auf die durch ESC
Tabulatorposit ionen
ESC I
1B 49
27 73
Cursor wird
Tabulatorpo­
bezieht sich
1 gesetzten
Back Tab
Cursor rückwärts zur nächsten TAB-Pos. Entspricht ESC i,
nur daß hier der Cursor nach links bewegt wird.
V e r s i o n s n u m m e r und
Speicherg röße zurückmelden. Die
Rückmeldung besteht aus 5 Zeichen, der Versionshauptnum­
mer, einem Punkt, der Versionsunternummer, einem Komma
und der Anzahl der vor handenen Speich erb löc ke -1. Für
die CBIOS Version 2.6 auf einem 256K Gerät ist die
Rückmeldung also *2.6,3*
ESC P
1B 50
27 80
Page Print with CR LF
Bildschirm ausdrucken. Dieser Befehl druckt den gesamten
Bildschirminhalt über den aktuellen LST:-Kanal aus.
(weiteres siehe Tastaturfunktion CTRL-PRINT)
ESC N
1B 4E
27 78
Page Edit
Seiteneditierung einschalten. Der 'Bereich* der Editier­
befehle wird bis zum Ende der Bil d s c h i r m s e i t e a u s g e ­
dehnt. In der Statuszeile wird INSP oder EDTP angezeigt.
ESC O
1B 4F
27 79
Line Edit
Zeileneditierung einschalten. Der 'Bereich* der Editier­
befehle wird durch das Ende der Cursorzeile begrenzt. In
der Statuszeile wird INSL oder EDTL angezeigt.
ESC E
1B 45
27 69
Insert Line
Zeile einfügen. Die aktuelle Zeile und alle tieferen
Zeilen werden nach unten verschoben. Die letzte B i l d ­
schirmzeile fällt weg und die aktuelle Zeile durch Leer­
zeichen ersetzt.
ESC R
13 52
27 82
Delete Line
Zeile löschen. Die aktuelle Zeile wird gelöscht und alle
tieferen Zeilen nach oben verschoben. Die letzte B i l d ­
schirmzeile wird durch Leerzeichen ersetzt.
Zeichen einfügen. Das Zeichen an der Cursorposition und
alle Zeichen rechts davon werden eine Spalte nach rechts
verschoben. Je nach aktuellem Editierbereich (siehe ESC
N und ESC O) geht das letzte Zeichen der Zeile bzw.
Seite verloren. An der Cur so rpos ition wird ein L e e r ­
zeichen eingesetzt.
ESC W
1B 57
27 87
Delete Character
Zeichen löschen. Das Zeichen an der Cursorposition wird
gelöscht und alle Zeichen rechts davon eine Spalte nach
links verschoben. Je nach aktue llem Edi tie rb er ei ch
(siehe ESC N und ESC O) wird am Zeilen- bzw. Seitenende
ein Leerzeichen eingesetzt.
ESC T
1B 54
27 84
Clear End of Line
Löschen bis zum Zeilenende. Alle Zeichen rechts von der
Cursorposition bis zum Zeilenende werden mit dem durch
ESC e g e w ä h l t e n Zeichen bzw. dem Lee rz eic hen (Space)
ersetzt.
ESC t
1B 74
27 106
Clear to End cf Line to Null
Löschen bis zum Zeilenende. Alle Zeichen rechts von der
Cursorposition bis zum Zeilenende werden mit dem Null­
code ersetzt.
ESC Y
1B 59
27 89
Clear to End of Page
Löschen bis zum Seitenende. Alle Zeichen rechts von der
Cursorposition bis zum Seitenende werden mit dem durch
ESC e g e w ä h l t e n Zeichen bzw. dem Lee rze ic he n (Space)
ersetzt.
ESC y
1B 79
27 121
Clear to End of Page to Null
Löschen bis zum Seitenende. Alle Zeichen rechts von der
Cursorposition bis zum Seitenende werden mit dem Null­
code ersetzt.
Seite löschen. Die g e sam te B i l d s c hir ms eit e wird durch
den Nullcode ersetzt und der Cursor in die Homeposition
(linke obere Ecke) gebracht.
1B 3A
ESC
27 58
Clear Unprotected to Null
Seite löschen. Die ges am te B i lds ch irm se ite wird durch
den Nullcode ersetzt und der Cursor in die Homeposition
(linke obere Ecke) gebracht.
ESC +
ESC ,
ESC ;
Seite
durch
setzt
Ecke)
ESC e x
27 43
27 44
27 59
1B 2B
1B 2C
1B 3B
Clear Unprotected
löschen. Die gesamte Bildschirmseite wird mit dem
ESC e ge w ä h l t e n Zeichen bzw. dem Leerzeichen e r ­
und der Cursor in die H o m e p o s i t i o n (linke obere
gebracht.
1B 65
27 101
Load Substitute for Space
Leerzeichen durch x ersetzen. Das an der Stelle x einge­
setzte Zeichen ersetzt in allen folgenden Befehlen das
Leerzeichen.
ESC . X
1B 2E
27 46
Set Cursor Attribute
Cursorzeichen wählen. Der Parameter x bestimmt das Cur­
sorsymbol nach folgender Tabelle:
ASCII
0
1
2
3
4
Dez.
48
49
50
51
52
Hex.
30
31
32
33
34
Cursorzeichen
Cursor aus
Blinkender Block
Stehender Block
Blinkender Strich
Stehender Strich
Der Cursor wird zu der durch die Par am et er z und s
bestimmten Zeilen- und Spaltenposition gebracht. Falls
einer der Pa ra me te r die Sei ten grenz en überschreitet,
wird er durch den maxi mal erlaubten Wert ersetzt. Der
jedem Parameter entsprechende Zeilen- bzw. Spaltenwert
ist in der ASCII-Tabelle im Anhang E aufgeführt.
ESC ?
1B 3F
27 63
Read Cursor Address in Page
Die aktuelle Cursorposition wird als Zeilen- und Spal­
tenwert zurückgemeldet. Der Zusammenhang zwischen rück­
gemeldeten ASCII-Werten und dem entsprechenden Zeilenbzw. S p a l t en wer t ist in der ASCII-T abe lle im Anhang E
aufgeführt.
ESC
p z s
1B 2D
27 45
Absolute Cursor Address
Der Cursor wird zu der durch die P a ram et er p, z und s
b e s t i m m t e n Seiten-, Zeilen- und Spa lt enpo si tio n g e ­
bracht. Für den Seitenparameter p gelten folgende Werte:
ASCII
0
1
2
3
Dez.
48
49
50
51
Hex.
30
31
32
33
Gewählte
0
1
2
3
Bei anderen Werten, wird der Dezimalwert modulo 4 genom­
men. Falls einer der anderen beiden P a r a met er die S e i ­
tengrenzen überschreitet, wird er durch den ma xi ma l
erlaubten Wert ersetzt. Der jedem Parameter entsprechen­
de Zeilen- bzw. Spaltenwert ist in der ASCII-Tabelle im
Anhang E aufgeführt.
ESC /
1B 2F
27 47
Read Cursor Address
Die aktuelle C u r s o r po si tio n wird als Seiten-, Zeilenund S p a lt enw er t zurückgemeldet. Der Zusammenhang z w i ­
schen rückgemeldeten ASCII-Werten und dem entsprechenden
Zeilen- bzw. Sp a l t e n w e r t ist in der A S C I I - T a b e 11e im
Anhang E aufgeführt.
Der jeder Seitennummer entsprechende ASCII-Wert ist in
der Tabelle bei ESC - aufgeführt.
Nächste Seite wählen. Die zyklisch nächste Seite wird
zur Darstellung gebracht. Dabei befindet sich der Cursor
wieder an derselben Stelle, die er zuletzt innerhalb
dieser Seite hatte.
ESC J
1B 4A
27 74
Back Page
Vorherige Seite wählen. Die zyklisch vorherige Seite
wird zur Darstell ung gebracht. Dabei befindet sich der
Cursor wieder an derselben Stelle, die er zuletzt inner­
halb dieser Seite hatte.
ESC G
X
1B 47
27 71
Set Video Attribute
Zeichenattribut wählen.
gende Werte erkannt:
ASCII
0
4
ESC j
Dez.
48
52
1B 6A
Hex.
30
34
27 106
Attribut
Keines, ]
Invers,
lung
Cursor up
Cursor eine Zeile höher,
ESC Z x
1B5A
2790
Für den Parameter x werden fol-
(entspricht CTRL-K)
Tra nsm it Üser/Sta tus Line
Benutzer- oder Statuszeile zurückmelden. Je nach Parame­
ter X werden die 80 Zeichen der Benutzer- oder der
Statuszeile zurückgemeldet. Für x gilt:
ASCII
0
1
Dez. Hex.
48
30
49
31
Zurückgemeldete
Benutzerzeile
Statuszeile
Zeile
Be nutz erz eil e laden. Alle folgenden Zeichen bis zum
Endezeichen CR (13 dez, OD hex) werden in die Benutzer­
zeile übernommen. Falls mehr als 80 Zeichen geladen
werden, so wird das 80. Zeichen mit dem zuletzt gelade­
nen Zeichen ersetzt.
Eine Dar ste llu ng der Benutze rze ile in der 25. B i l d ­
schirmzeile erfolgt erst nach dem ESC g Code.
ESC g
1B 67
27 103
Display User Line
B e n u t z e r z e i 1e anzeigen. Die durch ESC f geladenen Z e i ­
chen werden in der 25. Bildschirmzeile angezeigt.
ESC h
1B 68
27 104
Display Status Line
St atu sze ile anzeigen. In der 25. Bil d s c h i r m z e i l e wird
die Statuszeile angezeigt.
ESC o
1B 6F
27111
Blank Display
Bi lds c h i r m aus. Bis zum Erkennen des ESC n Codes wird
die Ausgabe des Videosignals unterdrückt.
ESC n
1B 6E
27110
Bildschirm
gegeben.
ESC U
1B 55
ein.
27 85
Restore Display
Die Ausgabe des Videosignals wird
frei
En t e r M o n i t o r M o d e
Monitormodus aktivieren. Alle B e f e h l s s e q u e n z e n w e r d e n
bis zum E m p f a n g des ESC u bzw. ESC X C o d e s n i ch t als
Befehle, sondern als Zeichen interpretiert. Die Befe hl s­
c o d e s 00 bis 31 (dez) w e r d e n dabei als Kürzel d a r g e ­
stellt. (siehe ASCII-Tabelle)
ESC X
ESC u
1B 58
1B 75
27 88
27 1 1 7
Exit M o n i t o r M o d e
Monitormodus ausschalten. Alle
als Befehle interpretiert.
Befehlssequenzen
werden
Einfügemodus einschalten. Alle folgenden Zeichen über­
schreib en nicht das an der Curs orpos ition befindliche
Zeichen, sondern werden dort eingefügt. Alle Zeichen
rechts von der Cu rso rposi tion bis zum Ende der Zeile
bzw. Spalte werden ein Zeichen nach rechts verschoben.
In der Statuszeile erscheint INSL oder INSP.
ESC r
1B 72
27 1 14
Insert Mode Off
Einfügemodus ausschalten. Alle folgenden Zeichen über­
schreiben das an der Cursorposition befindliche Zeichen
( N o r m a l f a l 1) . In der Statuszeile erscheint EDTL oder
EDTP.
ESC b
1B 62
27 98
Reverse Video
D u r c h E i n b l e n d u n g der w e i s s e n G r a p h i k s e i t e
gesamte BiIdschirmdarstellung invertiert.
ESC d
1B 64
27 1 00
wird
die
Normal Video
Invertierte Bildschirmdarstellung aufheben.
ESC
1B 76
V
27 1 1 8
V e r t i c a l W r a p Z'n
Vertikalen Überlauf einschalten. Seim Überschreiten des
Zeilenendes, wird die Zeichenau sgabe in der nächsten
Bildschirmzeile fortgesetzt.
ESC w
1B 77
27 1 1 9
V e r t i c a l W r a p Off
Ve rti kal en Überlauf ausschalten. Beim Erreichen der
letzten Ze ile npo sition (80. Spalte) bleibt der Cursor
dort stehen und alle folgenden Zeichen werden auf dieser
Position dargestellt. Der Anfang der nächsten Zeile wird
erst über die beiden Befehlscodes CR und LF erreicht.
ESC 6
1B 36
27 54
Send Line
Zeile zurückmelden. Die aktuelle Cursorzeile wird z u ­
rückgemeldet .
Alle zur B i l d s c h i r m a u s g a b e gesandten Zeichen und B e ­
fehlscodes werden parallel auch auf der zweiten seriel­
len Schnittstelle (SIO B) ausgegeben. In der Statuszeile
zeigt PRT2 diese parallele Ausgabe an.
ESC
1B 60
27 96
Aux Port On w i t h o u t D i s p l a y
Alle zur Bi lds c h i r m a u s g a b e gesandten Zeichen und B e ­
fehlscodes werden auf die zweite serielle Schnittstelle
(SIO B) umgeleitet. In der Statuszeile zeigt PRT1 diese
Umleitung der Zeichenausgabe an.
ESC
ESC
1B 61
1B 41
27 97
27 65
Aux Port Off Line
Die Z e i c h e n a u s g a b e der B i l d s c h i r m z e i c h e n und B e f e h l s ­
codes auf die zweite serielle Schnittstelle wird abge­
schaltet .
ESC ö X y
1B 7C
27 124
Load Function Key
Funktionstaste programmieren, x ist ein Zeichen zwischen
’V und ’§ ’ für Fl bis F16, bzw 1 23 (80 hex) und 239 (EF
hex) für Fl bis F112. Der Wert y b e s t i m m t das E n d z e i ­
chen. Alle folgenden Zeichen bis zum Endzeichen werden
in die gewählte Funktionstaste übernommen.
ESC spc X y
13
27 32
Diese nicht Televideo kompatible Sscapesequenz dient zur
Einstellung der Tastaturfunktionen CTRL-Pl bis CTRL-P5,
X ist dabei ein Zeichen zw is che n ’V (für Pi) und ’5 ’
(für P5). Bei y = *V wird die gew äh l t e Funktion ein-,
bei y = '0* ausgeschaltet.
S y s t e m p a r a m e t e r setzen. Über d i e s e nicht T e l e v i d e o kompatible Escapesequenz werden verschiedene Sys te me in ­
s t e l l u n g e n v e r ä n d e r t werden. Zur Zeit w e r d e n für den
Parameter x folgenden Werte erkannt:
ASCII
0
1
2
3
Dez.
48
49
50
51
Hex.
30
31
32
33
4
5
52
53
34
35
6
54
36
7
55
37
8
56
38
9
57
39
Ausgeführte Aktion
25. Bildschirmzeile einschalten.
25. Bildschirmzeile ausschalten.
Deutschen Zeichensatz laden.
Amerikanischen Zeichensatz laden.
(ASCII-Standard)
Funktionstasten aktivieren.
Funktionstasten ausschalten. Bei aus­
gescha lte ten Fun ktion stast en wird
nicht der über FKEY bzw ESC ö g e w ä h l ­
te Text ausgegeben, sondern der im
T A S T E N - P r o g r a m m eingestellte Wert
erzeugt.
Uhranzeige in der Statuszeile e i n ­
schalten .
Uhranzeige in der Statuszeile a u s ­
schalten.
Wie d e r h o l u n g s f u n k t i o n auch auf die
Tasten
des separaten Zeh nerblocks
ausweiten.
Wiederholungsfunktion auf die Haupt­
tastatur begrenzen.
ESC ä a b c d 1B 7B 27 123
ESC ü a b c d
1B 7D 27 125
SIO A p r o g r a m m i e r e n
SIO B programmieren
Die nachfolgenden Parameter (a-d) bestimmen die Übertra­
gungsart der gewählten Schnittstelle. Der erste Wert (a)
b e s t i m m t die Baudrate, der zwe ite (b) die Anzahl der
Stopbits, der dritte (c) die Parität und der vierte (d)
die Wordlänge. Liegt ein Wert nicht in den angegebenen
Grenzen, so bleibt die diesbezügliche Einstellung unver­
ändert .
Für die vier Parameter gelten folgende Werte:
ASCII
0
1
2
3
4
5
5
7
8
9
z
/
<
=
>
7
Dez. Hex.
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
Beispielprogramm
BASIC -Programm:
10
20
30
40
50
50
a
Baudrate
9600
50
75
1 10
134.5
150
300
600
1 200
1800
2400
2400
4800
4800
9600
19200
zum
b
Stopbits
1
2
1.5
c
d
Parität
Wortlänge
Keine, None
8 Bit
Ungerade, Odd
7 Bit
Gerade, Even
5 Bit
5 Bit
Einl esen von Datum
und Zeit
in ein
PRINT CHR${27) ”Z0'’; : REM Statuszeile rückmelden
A$ = INPUT$(80) : REM 80 Zeichen von Tastatur ein] esen
TIME$ = RIGHT$(A$,8)
DATE$ = LEFT$( RIGHT$(A $ ,22), 1 2 )
PRINT TIME$ : REM Ausgabe der Uhrzeit
PRINT DATES : REM Ausgabe des Datums
C. Freadforaate
C.1 OnterstQtzte Freadforaate
In der ausgelieferten Genie IIIs CP/M-Version werden zur Zeit
die folgenden Formate unterstützt. Eine Unterscheidung zw i­
schen 5 1/4 und 8 2ol 1 -Form aten wird vom P D - P r o g r a m m nicht
vorgenommen.
Name
Genauere Bezeichnung
S40 DD
S80 DSDD
D80 DSDD
GENIE III A DSDD
GENIE III A DD
GENIE III B 4K
GENIE III C
OMIKRON 40
OMIKRON
IBM 3740
ECMA 70 V
ECMA 70 R
TELEVIDEO SS 80
ALTOS 80 DSDD
EPSON QX-10 40
OLIVETTI 40
OSBORNE 1 40
RAIR DSDD 40
TELEVIDEO DS 40
GENIE III S80
NCR D-MATE V 40
KAYPRO II
NASCOM C XDOS
FRANZIS DD 40
OSBORNE DD 40
MONTEZUMA 40
GENIE III B 2K
FUJITSU 8/16
J&K ZDOS 80 DSDD
PHILIPS P2012
ITT 3030
IBM CP/M-86
WAVEMATE BULLET
GENIE I 80 DSDD
MICRODECISION 40
NCR D-MATE V
MZ 3500 EOS 40
MZ 80B 40
TANDY 11/12 HDEN
40 Track Standardformat
80 Track Systemformat
80 Track Datenformat
Genie III CP/M 2 . 2 h , doppelseitig
Genie III CP/M 2 . 2 h , einseitig
Genie III CP/M 2.2B, 4k Blockgröße
Genie III CP/M 2.2C
Tandy Model I Omikron CP/M 1.4, 40 Track
Tandy Model I Omikron CP/M 1.4, 80 Track
8” CP/M Standardformat
ECMA-Standard, 80 Track, Vorderseite
dito, aber Rückseite
Televideo
Altos
EPSON QX-10
Olivetti
Osborne I, single density
Rair
Televideo
Genie III CP/M 2.2X, Systemformat
NCR Decision Mate V, 40 Track
Kaypro II
Nascom C, XDOS
Franzisverlag Standard
Osborne I, double density
Tandy Model III Montezuma CP/M
Genie III CP/M 2.2B, 2k Blockgröße
Fujitsu 8/15 Bit Microcomputer
Janich&Klass CP/M+ Systemformat
Philips P2012
ITT 3030
IBM CP/M-86
Wavemate Bullet
Genie I, 54K CP/M, doppelseitig
Microdecision
NCR Decision Mate V, 80 Track
Sharp MZ 3500, EOS System
Sharp MZ 80B
Tandy Model II oder 12, High Density
WAVE-MATE 8”DSDD
LNW80 DD 40
MEGABYTE 8
TAYLORIX 8
GENIE I DD 40
MICRO K 64 DSDD
GENIE III B 4KDS
Wavemate Bullet 8” Standard
LNW-80 64k CP/M
8” High-Capacity (kein best. System)
Taylorix 8** Format
Genie 1 , 64K CP/M, einseitig
CP/M-Format des Micro-K 64
Genie III CP/M 2.2B, doppelseitig
Weitere Fremdformate werden über den Genie IIIs CP/M-Servicedienst angepasst. Zu diesem Zweck gehen Sie bitte folgender­
maßen vor:
Besch re ibe n Sie die F r e m d d i s k e t t e mit möglichst vielen und
langen Textdateien. Die Diskette muß über 50 % belegt sein.
Fügen Sie einen Ausdruck des Inh alt sverz eichn isses und der
STAT DSK:-Parameter dieser Diskette bei.
Schicken Sie diese Diskette zusammen mit einer im Format S80
DSDD formatierten Diskette an folgende Adresse:
Klaus Kampf
Jakobstr. 236
5100 Aachen
Die Kosten pro Anpassung liegen zur Zeit bei DM 30.- pro
Fremddiskette.
Die Rücksendung erfolgt als Brief. Falls Sie die Rücksendung
als Ein sc hr eib en oder Wer tbrief erhalten wollen, fügen Sie
bitte entsprechend Rückporto bei. (Einschreiben 2.- DM, Wert­
brief 4.- DM)
C.2 Systembedingte Grenzen der Formate
Das CP/M Betriebssystem legt sich bei jedem Diskettenzugriff
eine Tabelle an, die ihm Aufschluß über den Füllungsgrad der
Diskette geben. Da das CP/M die Diskette blockweise verwal­
tet, ist die Länge dieser Tabelle abhängig von der Anzahl der
Blöcke auf der Diskette. Um einen möglichst großen Benutzer­
speicher zu erhalten, wurde die Länge dieser Tabellen b e ­
grenzt. Damit ergeben sich für die Unterstützung von Fremd­
formaten folgende Grenzen:
Maximal 512 Blöcke pro Diskette. Bei der maximalen Blockläge
von 16384 Bytes pro Block (16k) ergibt sich damit die maximal
vom CP/M verwaltbare Laufwerkskapazität von 8 Megabyte.
Maxim al 512 *Checked Directory Entries*. Damit ist jeder
Block durch einen Directory-Eintrag zu erreichen.
Maximal 64 physikalische Sektoren pro Spur.
Aufgrund des verwendeten Diskettencontrollers können die CP/M
Disketten der folgenden Geräte nicht direkt gelesen werden:
Apple (und kompatible)
Victor/Sirius (CP/M-86)
Das Datenfil e PDRIVE.SYS beinhaltet alle Inf or mat ion en der
verschiedenen Fremdformate.
Für jedes der 80 möglichen Fremdformate stehen 15 Zeichen für
die Formatbezeichnung zur Verfügung. Die eigentliche Informa­
tion über das Fremdformat gliedert sich in drei Teile:
1. Der Disk Parameter Block (DPB)
2. Das Pdrive-Byte
3. Die Sektortabelle
Der Disk Par am ete r Block beinhaltet alle Daten über den
logischen Aufbau des Formats. Dazu gehören z.B. Blockgröße,
Anzahl der Blöcke, Anzahl der Directory-Einträge etc. Nähere
I n f o rm at ion en dazu e n t n e h m e n Sie bitte der entsprech enden
Literatur (siehe Anhang F).
Das Pdrive-Byte kennzeichnet das physikalsiche Diskettenfor­
mat und ist folgendermaßen aufgebaut:
Bit Nr:
Information
Aufzeichnungsdichte
0=single Density, 1=double Density
Aufzeichnungsart
0=normale Aufzeichnung,
1^invertierte Aufzeichnung
2&3
Physikalsiche Sektorlänge
00= 128 Bytes, 01=256 Bytes
10= 512 Bytes, 11=1024 Bytes
4,5,6
Art des doppelseitigen Zugriffs
000= Zugriff nach Sektortabelle
(Die Vorder- und Rückseite bilden eine lo g i ­
sche Spur)
001 = Ungerade Spurnummern auf der Rückseite
010 = Vorderseite Track 0 bis Track 79
Rückseite Track 0 bis Track 79
011 = Sektor-Offset auf der Rückseite
(Die S e k t o r n u m m e r n werden durchgezählt aber
die Rückseite als getrennte logische Spur
verwaltet)
1 00 = Vorderseite Track 0 bis 79
Rückseite Track 79 bis 0
101= reserviert
110= reserviert
111= reserviert
0=einfacher Step, 1=doppelter Step
(Lesen von 40 Spur Disketten in 80 Spur Laufwerken)
Di© Sek tor tab ell e dient dem logischen Versatz beim Zugriff
auf die Sektoren. Dadurch kann der Diskettenzugriff erheblich
beschleunigt werden. Die Sektortabelle umfasst 54 Bytes für
maximal 64 Sektornummern. Im Gegensatz zu anderen CP/M-Systemen sind in der Sektortabelle die physikalischen Sektornum­
mern aufgeführt.
Das Datenfile PDRIVE.SYS ist nun fol ge nder maßen aufgebaut;
Die ersten 1280 Bytes (=10 Records) dienen zur Au fn ahm e der
achtzig 16 Zeichen langen Namen. Der Rest des Files beinhal­
tet die F o r m a t info r m a t ion. Pro For mat sind 128 Bytes (=1
Record) reserviert. In den ersten 15 Bytes steht der Disk
Para m e t e r Block (DPB), danach folgt das Pdrive-Byte und a n ­
schließend die Sektortabelle. Die nächsten 32 Bytes sind
unbenutzt und in den letzten 16 Bytes steht noch einmal der
Formatname.
Anhang D
Tastaturtabellen
D.1 Nuasern und Belegxingen der einzelnen Tasten
Die f o l g e n d e T a b e l l e gibt A u f s c h l u ß über die N u m m e r
Taste und ihre Belegung in der Ausgelieferten Version.
jeder
Die C o d e s 01H bis 7FH (1 bis 127 dez) w e r d e n u n v e r ä n d e r t
übergeben. OOH bedeutet die Sperrung der betroffenen Taste(nk o m b i n a t i o n ) . 80H bis EFH (128 bis 239 dez) s t e h e n für die
112 Funktionstasten. Die Werte FOH bis FFH (240 bis 255 dez)
stehen für Spezialfunktionen der Tasten.
Tasten ­
nu mme r
OOH,
OIH,
02H,
03H,
04H,
05H,
06H,
07H,
08H,
09H,
OAH,
OBH,
OCH,
ODH,
OEH,
OFH,
1OH,
1 1H,
12H,
13H,
14H,
15H,
16H,
17H,
18H,
19H,
IAH,
1BH,
ICH,
IDH,
1EH,
1FH,
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Tastenbeschr i f tung
'A'
'B'
•C’
•D'
'E'
'F'
'G'
■H’
'I ’
’J'
•K’
'L'
'M'
•N'
'0'
.p .
’Q ’
'R'
'S’
» fp 1
'ü'
’V
'W ’
'X'
•Y'
'Z ’
'Ä'
'Ö'
•ü'
'ß '
t
1
Werte beim Tastendruck
Taste
SHIFT
CTRL
60H
61H
62H
63H
64H
65H
55H
67H
58H
69H
6AH
6BH
6CH
6DH
6EH
5FH
70H
71H
72H
73H
74H
75H
76H
77H
78H
79H
7AH
7BH
7CH
7DH
7EH
7FH
40H
41H
42H
43H
44H
45H
46H
47H
48H
49H
4AH
4BH
4CH
4DH
4EH
4FH
50H
51H
52H
53H
54H
55H
56H
57H
58H
59H
5AH
5BH
5CH
5DH
5EH
5FH
OOH
OIH
02H
03H
04H
05H
06H
07H
08H
09H
OAH
OBH
OCH
ODH
OEH
OFH
1OH
1 1H
12H
13H
14H
15H
16H
17H
18H
19H
IAH
1BH
1CH
1DH
1EH
1FH
SHIFTÍ
OOH
OIH
02H
03H
04H
05H
06H
07H
08H
09H
OAH
OBH
OCH
ODH
OEH
OFH
1OH
1 1H
12H
13H
14H
15H
16H
17H
18H
19H
IAH
1BH
ICH
1DH
1EH
1FH
Tasten ­
nummer
20H,
21H,
22H,
23H,
24H,
25H,
26H,
27H,
28H,
29H,
2AH,
2BH,
2CH,
2DH,
2EH,
2FH,
30H,
31H,
32H,
33H,
34H,
35H,
36H,
37H,
38H,
39H,
3AH,
3BH,
3CH,
3DH,
3EH,
3FH,
40H,
41H,
42H,
43H,
44H,
45H,
45H,
47H,
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
54
65
65
67
68
69
70
71
Tastenbeschr i ftung
'0/ ’
'1/!'
’2 / " ’
' 3 / f f '
’4 / $ ’
'5/%'
'6/&'
'7/’'
’8/('
'9/)'
'
’
’//?'
'ENTER'
'CLEAR'
'BREAK'
KOCHPFEIL
TIEFPFEIL
LINKSPFEIL
RECHTSPFEIL
LEERTASTE
'SHIFT'
'CTRL'
' ES C
'P5'
'P4'
'P3'
'P2'
'PI'
'F 1 '
'F2'
'F3'
'F4'
'F5'
'F6'
'F7'
'F8'
Werte beim Tastendruck
Taste
SHIFT
CTRL
30H
31H
32H
33H
34H
35H
36H
37H
38H
39H
3AH
3BH
2CH
2DH
2EH
2FH
ODH
FOH
03H
05H
18H
08H
04H
20H
OOH
OOH
1BH
OOH
OOH
OOH
OOH
OOH
80H
81H
82H
83H
84H
85H
86H
87H
20H
21H
22H
23H
24H
25H
25H
27H
28H
29H
2AH
2BH
3CH
3DH
3EH
3FH
ODH
F1H
03H
12H
03H
01H
05H
09H
OOH
OOH
1BH
OOH
OOH
OOH
OOH
OOH
88H
89H
8AH
8BH
3CH
8DH
8EH
8FH
A9H
AOH
A1H
A2H
A3H
A4H
A5H
A6H
A7H
A8H
OOH
OOH
OOH
OOH
OOH
OOH
ODH
F2H
03H
17H
1AH
7FH
07H
F6H
OOH
OOH
1BH
OOH
OOH
OOH
OOH
OOH
90H
91H
92H
93H
94H
95H
96H
97H
SHIFT&CTRL
89H
80H
81H
82H
83H
84H
85H
86H
87H
88H
OOH
OOH
OOH
OOH
OOH
OOH
ODH
F3H
03H
OOH
OOH
OOH
OOH
OOH
OOH
OOH
1BH
OOH
OOH
OOH
OOH
OOH
98H
99H
9AH
9BH
9CH
9DH
9EH
9FH
Die folgenden Tasten liegen im separaten Zehnerblock:
Tasten­
nu mm er
48H, 72
49H, 73
4 AH, 74
4BH, 75
4CH, 76
4DH, 77
4EH, 78
4FH, 79
50H, 80
51H; 81
52H, 82
53H, 83
54H, 84
55H, 85
56H, 86
57H, 87
Ta ste n­
beschriftung
'0 '
’1 ’
•2’
'3 ’
• 4 '5'
'6 '
'7 '
’8 '
'9 '
’ 00 '
'ALPHA LOCK'
'PRINT'
Werte beim Tastendruck
Taste
SHIFT
CTRL
30H
31H
32H
33H
34H
35H
36H
37H
38H
39H
F4H
OOH
2CH
2DH
2EH
2BH
30H
31H
32H
33H
34H
35H
36H
37H
38H
39H
F4H
OOH
2CH
2DH
2EH
2BH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
F5H
SHIFT&CTRL
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
F5H
D.2 Spezielle Codes
Die Tastencodes FOH bis FFH erzeugen folgende
Spezialfunktionen:
Tastencode
FOH
F1H
F2H
F3H
F4H
FSH
F6H
F7H
bis
FFH
Funktion
Wiederholung einer als fehlerhaft gemeldeten
Diskettenoperation
Abbruch einer als fehlerhaft gemeldeten Dis­
kettenoperation
Überg ehe n einer als fehlerhaft g e m e l d e t e n
Diskettenoperation
Löschen des Tastaturpuffers
Erzeugung der Zeichenfolge '00'
Ausdrucken des Bildschirminhalts
Umschalten des Zeichensatzes
Reserviert
D.3 Belegung der Sondertasten
Die folgende Tabelle gibt nochmals eine kurze Übersicht über
die Spezialtasten und ihre Funktion. Zusätzlich ist noch die
entsprechende CTRL-Sequenz aufgeführt.
Tastenkombination
Wert Funktion
entspr:
BREAK
SHIFT
-BREAK
CTRL
-BREAK
SHIFT-CTRL-BREAK
03H
03H
03H
03H
Warmstart
dito
dito
dito
CTRL-C
CLEAR
FOH
-CLEAR
-CLEAR
F1H
F2H
SHIFT-CTRL-CLEAR
F3H
Wiederholung nach
Fehler
Abbruch nach Fehler
Übergehen eines
Fehlers
Löschen des Tastatur­
puffers
ENTER
SHIFT
-ENTER
CTRL
-ENTER
SHIFT-CTRL-ENTER
ODH
ODH
ODH
ODH
Carriage Return
dito
dito
dito
CTRL-M
LEERTASTE
-LEERTASTE
-LEERTASTE
20H
09H
F6H
SHIFT-i
CTRL-I
SHIFT-CTRL-LEERTASTE
OOH
Leerzeichen
Tabulator
Zeichensatz Um ­
schaltung
keine
ESC
SHIFT
-ESC
CTRL
-ESC
SHIFT-CTRL-ESC
1BH
1BH
1BH
1BH
Escapecode
dito
dito
dito
CTRL-A
HOCHPFEIL
SHIFT
-HOCHPFEIL
CTRL
-HOCHPFEIL
SHIFT-CTRL-HOCHPFEIL
05H
17H
12H
OOH
Eine Zeile höher
Eine Seite zurück
Eine Zeile zurück
keine
CTRL-E
CTRL-W
CTRL-R
TIEFPFEIL
SHIFT
-TIEFPFEIL
CTRL
-TIEFPFEIL
SHIFT-CTRL-TIEFPFEIL
18H
03H
1AH
OOH
Eine Zeile tiefer
Eine Seite vor
Eine Zeile vor
keine
CTRL-X
CTRL-C
CTRL-Z
SHIFT
CTRL
SHIFT
CTRL
LINKSPFEIL
08H
SHIFT
-LINKSPFEIL
01H
CTRL
-LINKSPFEIL
7FH
SHIFT-CTRL-LINKSPFEIL
RECHTSPFEIL
SHIFT
-RECHTSPFEIL
CTRL
-RECHTSPFEIL
SHIFT-CTRL-RECHTSPFEIL
OOH
04H
06H
07H
OOH
Ein Zeichen nach
links
Ein Wort nach
links
Zeichen links
löschen
keine
Ein Zeichen nach
rechts
Ein Wort nach
rechts
Zeichen löschen
keine
CTRL-H
CTRL-A
SHIFT-'
CTRL-D
CTRL-F
CTRL-G
E.1 Zeichensatz
Diese Tabelle gibt Aufschluß über den ges am ten Zeichensatz des
Genie IIIs CP/M. Für die Werte 20H bis 6FH (32 bis 111) ist auch
der entsprechende Zeilen bzw. Spaltenwert für die Escapesequenzen
zur Cursorpositionierung angegeben.
Die Zeichen bei den Werten AOH bis FFH werden invers dargestellt.
OOH,
04H,
08H,
OCH,
1OH,
14H,
18H,
ICH,
20H,
24H,
28H,
2CH,
30H,
34H,
38H,
3CH,
40H,
44H,
48H,
4CH,
50H,
54H,
58H,
SCH,
60H,
64H,
68H,
6CH,
70H,
74H,
78H,
7CH,
80H,
84H,
38H,
8CH,
90H,
94H,
98H,
9CH,
0:
4:
8:
12:
16:
20:
24: N
28:
32, 0
36, 4
40, 8
44, 1 2
48, 16
52, 20
56, 24
60, 28
64, 32
68 , 36
72, 40
76, 44
80 , 48
84, 52
88 , 55
92, 60
96, 64
1 0 0 , 68
104, 72
108, 76
1 12 ,
116
120
124
128
132
136
140
144
148
152
156
$
(
/
0
4
8
<
§
D
H
L
P
T
X
Ö
d
h
1
P
t
X
ö
1:
01H,
5:
05H,
9:
09H,
ODH,
13:
17:
1 1H,
15H,
21 :
25:
1 9H,
29:
1DH,
21H,
33,
37,
25H,
29H,
41 ,
45,
2DH,
31H,
49,
53,
35H,
57,
39H,
3DH,
61 ,
55,
41H,
45H,
69,
49H,
73,
77,
4DH,
51H,
81 ,
85,
55H,
59H,
89,
5DH,
93,
97,
61H,
65H, 101
69H, 105,
6DH, 109,
71H, 1 13
75H, 1 17
79H, 121
7DH, 125
81H, 1 29
85H, 133
89H, 137
8DH, 141
91H, 145
95H, 149
99H, 153
9DH, 157
\
,
1
5
9
13
17
21
25
29
33
37
41
45
49
53
57
61
65
59
73
77
1
%
)
-
1
5
9
=
A
E
I
M
Q
u
Y
Ü
a
e
i
m
q
u
y
ü
02H,
06H,
OAH,
OEH,
12H,
16H,
IAH,
1EH,
22H,
26H,
2AH,
2EH,
32H,
35H,
3AH,
3EH,
42H,
45H,
4 AH,
4EH,
52H,
55H,
SAH,
5EH,
62H,
55H,
5AH,
5EH,
7 2H,
76H,
7AH,
7EH,
82H,
85H,
8AH,
8EH,
92H,
95H,
9AH,
9EH,
2: -*x
6:
10: ‘■p
14: ^0
18: \
22:
25: H
30: ‘‘s
34,
2
38,
5
42, 10
46, 14
50, 18
54, 22
58, 26
52, 30
56, 34
70, 38
74, 42
78, 46
82, 50
86, 54
90 , 58
94, 62
98, 66
102, 70
106, 74
110, 78
114:
118:
122:
125:
130:
134 :
138:
142 :
146 :
150:
154:
158:
I!
&
*
•
2
6
•
>
B
F
J
N
R
V
Z
b
f
J
n
r
V
z
ß
3:
03H,
7:
07H,
11 :
OBH,
15:
OFH,
19:
13H,
23:
17H,
27:
1BH,
31 :
1FH,
35,
23H,
39,
27H,
2BH,
43,
47,
2FH,
51 ,
33H,
55,
37H,
59,
3BH,
63,
3FH,
57,
43H,
71 ,
47H,
4BH,
75,
79,
4FH,
83
,
53H,
87
,
57H,
5BH,
91 ,
95,
5FH,
99,
53H,
57H, 103,
5BH, 107,
6FH, 111,
73H, 115:
77H, 119:
7BH, 123:
7FH, 127 :
83H, 131:
87H, 135 :
8BH, 139:
8FH, 143:
93H, 147 :
97H, 151 :
9BH, 155:
9FH, 159:
3
7
11
15
19
23
27
31
35
39
43
47
51
55
59
53
57
71
75
79
+
/
3
7
o
G
G
K
0
S
w
Ä
c
g
k
o
s
w
ä
AOH,
A4H,
A8H,
ACH,
BOH,
B4H,
B8H,
BCH,
COH,
C4H,
C8H,
CCH,
DOH,
D4H,
D8H,
DCH,
EOH,
E4H,
E8H,
ECH,
FOH,
F4H,
F8H,
FCH,
160
164
1 68
1 72
176
180
184
188
192
196
200
204
208
212
216
220
224
228
232
236
240
244
248
252
$
{
/
0
4
8
<
§
D
H
L
P
T
X
ö
d
h
1
P
t
X
ö
A1H,
A5H,
A9H,
ADH,
B1H,
B5H,
B9H,
BDH,
C1H,
C5H,
C9H,
CDH,
D1H,
D5H,
D9H,
DDH,
E1H,
E5H,
E9H,
EDH,
F1H,
F5H,
F9H,
FDH,
161
165
169
173
177
181
185
189
193
197
201
205
209
21 3
217
221
225
229
233
237
241
245
249
253
%
)
1
5
9
A
E
I
M
Q
u
Y
Ü
a
e
i
m
q
u
y
ü
A2H,
A6H,
AAH,
AEH,
B2H,
B6H,
BAH,
BEH,
C2H,
C6H,
CAH,
GEH,
D2H,
D6H,
DAH,
DEH,
E2H,
E6H,
EAH,
EEH,
F2H,
F6H,
FAH,
FEH,
162
166
170
174
178
182
1 86
190
194
1 98
202
210
206
214
218
222
226
230
234
238
242
246
250
254
&
♦
2
6
>
B
F
J
N
R
V
Z
b
f
j
n
r
V
z
ß
A3H,
A7H,
ABH,
AFH,
B3H,
B7H,
BBH,
BFH,
C3H,
C7H,
CBH,
CFH,
D3H,
D7H,
DBH,
DFH,
E3H,
E7H,
EBH,
EFH,
F3H,
F7H,
FBH,
FFH,
163
167
171
175
179
183
187
191
195
199
203
207
21 1
215
219
223
227
231
235
239
243
247
251
255
+
/
3
7
f
7
C
G
K
O
s
w
Ä.
c
g
k
o
s
w
ä
Zusammenhang zwischen Hexwert und zugehörigem Grossbuchstaben
im Graphikmodus
Hexwert
80H
81H
82H
83H
84H
85H
86H
87H
88H
89H
8AH
8BH
8CH
8DH
8EH
8FH
90H
91H
92H
93H
94H
95H
96H
97H
98H
99H
9AH
9BH
9CH
9DH
9EH
9FH
Dezimalwert
128
129
130
131
1 32
133
134
1 35
136
137
138
1 39
140
141
142
143
144
145
145
147
148
149
150
151
152
153
154
155
156
157
ICO
ivJ
159
Buchstabe im
Graphikmodus
§
A
B
C
D
E
F
G
H
I
J
K
L
M
N
0
P
Q
R
Graphi
L
r
J
L
r
1
J
+
1
i
T
M
V
s
T
U
V
w
X
Y
Z
Ä
Ö
0
J
2
z»
22
03
s
t
♦
+t
1
0
1
2
3
4
5
5
7
8
9
A
B
C
D
E
F
NUL
SOH
STX
ETX
EOT
ENG
ACK
BEL
BS
HT
LF
VT
FF
CR
50
51
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
VS
Höherwertiges Digit
2
3
4
SPC
0
1
2
$
%
&
t
(
)
♦
3
4
5
5
7
8
9
>
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
5
P
Q
R
S
T
U
V
w
X
Y
Z
Ä
ö
ü
a
b
c
d
e
f
g
h
i
j
k
1
m
n
o
P
q
r
s
t
u
V
w
X
y
z
ä
ö
ü
ß
DEL
F.1 Literaturhinweise zu CP/M
- Vom Umgang mit CP/M, Bernd Pol, IWT Verlag
- CP/M mit MP/M, Roney Zaks, Sybex Verlag
F.2 Literaturhinweise zu Hardware
-
Technisches Handbuch zum Genie Ills, TCS Computer
Programmierung des Z80, Rodney Zaks, Sybex Verlag
Harddisk Controller Manual *XEBEC S1410', Xebec
Datenblätter Z80, -SIO, -PIO, Zilog, Intel
Datenblatt HD46505, 6845 CRTC, Hitachi
Download PDF

advertising