Datei/Diskettenbefehle
Diese Befehle veranlassen das DOS des Laufwerks zu diversen Verwaltungsoperationen. Eine Möglichkeit diese Befehle zu übertragen ist:
OPEN 1,8,15,"Befehl":CLOSE 1
Teilweise gibt es eine Kurz- und eine Langversion des Befehls, beide sind was ihr Ergebnis betrifft identisch. Zahlen werden als normale Zeichen eingetragen.
COPY : Datei kopieren
"COPYdr:d=dr:s"
"Cdr:d=dr:s"
dr : Laufwerksnummer, 0 oder 1, kann bei Einzellaufwerken weggelassen werden
d : Zieldateiname (16 Zeichen max.)
s : Quelldateiname (16 Zeichen max.)
RENAME : Datei umbenennen
"Rdr:d=s"
dr : Laufwerksnummer, 0 oder 1, kann bei Einzellaufwerken weggelassen werden
d : Zieldateiname (16 Zeichen max.)
s : Quelldateiname (16 Zeichen max.)
SCRATCH : Datei löschen
"Sdr:f"
dr : Laufwerksnummer, 0 oder 1, kann bei Einzellaufwerken weggelassen werden
f : Dateiname (16 Zeichen max.)
NEW : Diskette Formatieren
"NEWdr:n,i"
"Ndr:n,i"
dr : Laufwerksnummer, 0 oder 1, kann bei Einzellaufwerken weggelassen werden
n : Name (16 Zeichen max.)
i : Index (2 Zeichen)
Lässt man den Index weg, so wird eine Schnellformatierung durchgeführt.
DUPLICATE : Diskette kopieren
"Dddr:sdr"
sdr : Quellaufwerk
ddr : Ziellaufwerk
VALIDATE : Diskette prüfen
"V"
INITIALIZE : Laufwerk initialisieren
"I"
Kann nach Diskettenwechseln nützlich sein, speziell wenn die Indexnummer der Diskette gleich ist.
Blockbefehle
Die Parameterübertragung an diese Befehle ist etwas anders, statt ASCII-Zahlen werden Binärzahlen übertragen. Die Parameter werden deshalb mit chr$(n) übergeben. Je nach Befehl gibt es verschiedene Parameteranzahlen, als Trenner zwischen den chr$-Befehlen kann ein Semikolon verwendet werden, etwa so:
OPEN 1,8,15:PRINT#1,"Befehl";CHR$(Parameter);...:CLOSE 1
Da die Parameter fast bei jedem Befehl gleich sind, gibt's hier eine komplette Liste, der Übersicht wegen.
sa : Kanalnummer in DOS, identisch mit Sekundäradresse im entsprechenden OPEN Befehl
dr : Laufwerksnummer, 0 oder 1
t : Spurnummer, 1 bis 154 (je nach Modell)
s : Sektornummer, 0 bis 112 (je nach Modell)
p : Zeigerposition des Pufferzeigers
BLOCK-READ : Block lesen
"BLOCK-READ:";sa;dr;t;s
"B-R:";sa;dr;t;s
BLOCK-WRITE : Block schreiben
"BLOCK-WRITE:";sa;dr;t;s
"B-W:";sa;dr;t;s
BLOCK-EXECUTE : Block ausführen
"BLOCK-EXECUTE:";sa;dr;t;s
"B-E:";sa;dr;t;s
BLOCK-ALLOCATE : Block belegen
"BLOCK-ALLOCATE:";dr;t;s
"B-A:";dr;t;s
BLOCK-FREE : Block freigeben
"BLOCK-FREE:";dr;t;s
"B-F:";dr;t;s
BUFFER-POINTER : Pufferzeiger
"BUFFER-POINTER:";sa;p
"B-P:";sa;p
Speicherbefehle
MEMORY-READ : Speicher lesen
"M-R";adl;adh
adl : lowbyte der Adresse
adh : hibyte der Adresse
MEMORY-EXECUTE : Speicher ausführen
"M-E";adl;adh
adl : lowbyte der Adresse
adh : hibyte der Adresse
USER : Benutzerbefehl
"Ux";sa;dr;t;s
x : Index in die Benutzertabelle
sa : Kanalnummer in DOS, identisch mit Sekundäradresse im entsprechenden OPEN Befehl
dr : Laufwerksnummer, 0 oder 1
t : Spurnummer, 1 bis 154 (je nach Modell)
s : Sektornummer, 0 bis 112 (je nach Modell)