|
Dragon Diskettenlaufwerk
|
Das Diskettenlaufwerk für den Dragon 32
und Dragon 64 wird über eine
Parallelschnittstelle in Form eines Steckmoduls mit dem Rechner
verbunden. Das Steckmodul sorgt nicht nur für den Anschluss,
darin ist auch ein ROM mit dem Betriebssystem untergebracht.
Das Diskettenformat ist wie bei den meisten 8-Bittern üblich 5,25".
Die Disketten werden mit einfacher Dichte beschrieben, es werden
bei der Formatierung 40 Spuren mit 18 Sektoren zu je 256 Byte
angelegt, wodurch sich eine Gesamtkapazität von
40 x 18 x 256 = 184.320 Byte
= 180 KByte ergibt. Netto, also abzüglich des Platzes,
den das Betriebssystem für Verwaltungsaufgaben belegt, ergeben
sich ca. 175 KByte für Daten.
Das Directory enthält alle Dateien auf der Diskette, auf
Wunsch lassen sich Dateinamen, Dateitypen (BAS für BASIC, DAT
für Daten, BIN für Binärcode und BAK für Kopien) und der
freie Speicherplatz anzeigen.
Merkwürdigerweise gibt es beim Dragon-DOS keine Routine für
den Direktzugriff auf einzelne Bytes, was etwas unhandlich bei
Datenbanken u.ä. ist. Dafür gibt es aber einen "Simulated
Random Access", über den man mit ein paar BASIC-Zeilen dann
doch wahlfrei Direktzugriffe machen kann.
Für den Dragon 64 ist neben dem
Dragon-DOS auch OS9 verfügbar (das Betriebssystem für
6809-CPUs überhaupt). OS9 wird von Diskette resident in den\
Arbeitsspeicher geladen und belegt 16 KByte (daher ist es für
den Dragon 32 auch nicht
brauchbar, da der eben nur 32 KByte hat). OS9 ist ein sehr
leistungsfähiges Betriebssystem, das nicht nur Multiuser-tauglich
ist, sondern auch einen Menge Programmiersprachen verfügbar hat:
Pascal, C, Cobol und BASIC.
Diskettenbefehle
Bei vielen Befehlen werden immer die gleichen Datei-Parameter benötigt,
meist in der Form BEFEHL"D:DATEINAME.TYP".
Hier wird durch D (Drive) das Laufwerk (1-4) festgelegt und die
Standardeinstellung aufgehoben. Der DATEINAME darf bis zu acht Buchstaben
enthalten. Mit .TYP kann die Art der Daten definiert werden. Wird darauf
verzichtet, setzt das DOS selbst .BAS ein. Der obige Parametersatz wird
im folgenden als FSP ("File Specification Parameter")
bezeichnet.
DRIVE N
definiert die Standardeinstellung. N kann Werte von 1-4 annehmen.
DSKINIT
bewirkt die Formatierung einer Diskette, allgemein in der Form:
DSKINIT D,S,T.
D bezeichnet wieder das Laufwerk, S die zu formatierende Seite der
Diskette (1 oder 2, ohne Angabe automatisch 1), T (Tracks) ist die
gewünschte Anzahl von Spuren (40 oder 80, standardmäßig 40).
Wenn nur ein Laufwerk vorhanden ist, genügt die Eingabe von
DSKINIT ohne Parameter zum ordnungsgemäßen Formatieren
der Diskette.
DIR D
listet die Dateinamen (mit Typ und Länge) auf der Diskette im
Laufwerk D beispielsweise wie folgt:
DIR
PROGNAME .BAS 1654
CODEPROG .BIN 1389
PROGDATA .DAT 2581
PROGNAME .BAK 1654
167322 FREE BYTES
SAVE
dient zur Übertragung von BASIC-oder Maschinenprogrammen auf Diskette.
SAVE FSP speichert ein BASIC-Programm (ohne .BAS, da hier die
Standardeinstellung verwendet wird). Der Befehl SAVE FSP SSSS,EEEE,XXXX
speichert eine Binärdatei auf Diskette. Dabei ist SSSS die dezimale RAM-Anfangsadresse,
EEEE die Endadresse und XXXX die Startadresse des Maschinenprogramms.
LOAD
Das Einlesen von BASIC- oder Binärdateien erfolgt mit dem Befehl
LOAD FSP
Wenn es sich um ein Maschinenprogramm handelt, kann FSP noch durch
,SSSS ergänzt werden, um die neue Anfangsadresse im Arbeitsspeicher
festzulegen.
RUN FSP
bewirkt das Laden und sofortige Starten des angegebenen BASIC-Programms.
CHAIN FSP
dient zum Laden und Starten eines Programms ohne Veränderung der vorher abgelegten
Variablen. Das Hinzufügen von ,SSSS hat dieselbe Wirkung wie beim
LOAD-Befehl.
FREE D
gibt die beim Laufwerk D noch verfügbare Speicherkapazität an.
COPY
erzeugt von der Datei OLDFSP ein Duplikat namens NEWFSP, Befehlsform:
COPY OLDFSP TO NEWFSP.
Wenn keine Drive-Nummern angegeben werden, wird auf dem Standard-Laufwerk kopiert.
RENAME
dient zum Austausch von Dateinamen beim gleichen Laufwerk (Standardeinstellung, wenn
Angaben fehlen).
MERGE FSP
verbindet das spezifizierte BASIC-Programm auf Diskette mit einem anderen im
Arbeitsspeicher. Belegen beide Programme dieselbe Zeilennummer, wird der
Arbeitsspeicher überschrieben.
KILL FSP
löscht die angegebene Datei auf der Diskette.
PROTECT
bewirkt eine Software-Sperre gegen Löschen oder Überschreiben einer Datei
(außer bei Disketten-Neuformatierung mit DSKINIT) durch
PROTECT ON FSP.
Bei Ausgabe des Directorys erscheint mit dem Dateinamen dann ein inverses P-Feld.
Der Befehl PROTECT OFF FSP hebt die Sperre auf.
BACKUP
kopiert die Diskette im Laufwerk (DA) vollständig auf eine andere im Laufwerk (DB):
BACKUP DA TO DB,S,T.
S und T sind wie bei DSKINIT definiert, so dass Duplikate bei verschiedenen
Disketten- und Laufwerkformaten möglich sind. Bei nur einem Laufwerk genügt die
Eingabe BACKUP ohne Parameter, daraufhin wird auf dem Bildschirm angezeigt,
wie Quell- und Zieldiskette zu wechseln sind.
VERIFY
wird durch ON und OFF in bzw. außer Kraft gesetzt und prüft automatisch
diskettengespeicherte Dateien auf Übereinstimmung mit dem Original.
FWRITE
dient zum Eröffnen und Auffüllen einer Datei mit Variablenlisten. Bei jedem
FWRITE wird die angesprochene Datei über einen logischen Kanal erreicht,
der die weitere Auffüllung der Datei zuläßt. Die Schreibweise dieses Befehls:
FWRITE"DATEINAME"; VAR DATEINAME bezeichnet die zu beschreibende
(bzw. zu eröffnende) Datei und VAR die Liste, deren Elemente gespeichert werden
sollen. Strings gelten durch Komma oder Semikolon als innerhalb eines Datenfiles
getrennt, wenn sie nicht mit FLREAD gelesen werden. Durch
FWRITE"DATEINAME",FROM SB,FOR TB;VAR
wird die Liste VAR unter DATEINAME (beginnend mit dem Start-Byte SB) eingetragen,
wobei TB ihre Länge (in "Total Bytes") angibt. Maximal können über
FWRITE zehn Kanäle gleichzeitig offengehalten werden.
CLOSE D
schließt beim Laufwerk D wieder die mit FWRITE, FREAD oder
FLREAD eröffneten Kanäle.
CREATE"DATEINAME",FL
legt unter DATEINAME ein Datenfile mit FL (File Length) Bytes an.
FREAD
ist wie FWRITE aufgebaut. Die Liste VAR wird ganz bzw.
(wie im zweiten Beispiel bei FWRITE) ab Byte SB eingelesen, der
Lesezeiger wird um (SB + TB) Bytes weitergestellt.
FLREAD
entspricht FREAD, Komma und Semikolon gelten jedoch nicht als
Trennsymbol.
EOF
wird beim Lesen zum Kenntlichmachen des letzten Elements verwendet,
zum Beispiel: EP=EOF("DATEINAME").
Hier ist EP=0, solange der Lesezeiger noch nicht auf das letzte Datenfeld
zeigt, und springt erst beim Ende auf Eins.
LOC"DATEINAME"
gibt die Einstellung des Lesezeigers als Nummer des nächsten Bytes an,
das zu lesen ist.
SWRITE
speichert Daten auf Spur T im Sektor S, etwa die Strings A$ und B$ mit
höchstens je 128 Byte. Der Befehl lautet hier:
SWRITE D,T,S,A$,B$
SREAD
ermöglicht es, die abgespeicherten Daten wiederzufinden. A$ und B$ können
dabei neu benannt werden.
|