Der C128 macht viele Dinge einfacher als sein Vorgänger, der C64 – besonders beim Umgang mit Disketten. In diesem Artikel schauen wir uns die wichtigsten Diskettenbefehle an, von der Formatierung bis zum Laden von Programmen.
Diskette formatieren mit HEADER
Auf dem C64 musste man über Umwege eine Diskette formatieren, aber der C128 hat dafür den praktischen HEADER-Befehl. Einfach eingeben:
HEADER "NEUE DISK", I, D, U
- „NEUE DISK“ = Diskettenname
- I = optionaler Index (z. B. für Versionierung)
- D = Laufwerk bei Doppeldisk Station (0 oder 1, Standard: 0)
- U = Geräteadresse (Standard: 8)
Die Parameter sind optional – wenn man sie weglässt, werden Standardwerte verwendet. Der oben angegebene Buchstabe muss angegeben werden, gefolgt von dem entsprechenden Wert. Beispiel für die Formartierung einer Diskette mit dem Namen „Spiele“ und dem Index „A0“ auf einem Single 1571 Laufwerk mit der Geräteadresse 8:
HEADER "SPIELE", IA0, U8
Der D Parameter ist nur für Doppeldisk Stationen relevant und kann bei Singlelaufwerken weggelassen werden.
2. Basic-Programme speichern & laden
Speichern mit DSAVE:
DSAVE "PROGRAMM", D, U
- „PROGRAMM“ = Dateiname
- D = Laufwerk bei Doppeldisk Station (0 oder 1, Standard: 0)
- U = Geräteadresse (Standard: 8)
Laden mit DLOAD:
DLOAD "PROGRAMM", D, U
Der Vorteil: Beim Laden bleibt der Basic-Speicher erhalten.
Ein Beispiel zum Laden und Speichern eines BASIC Programms auf dem Single 1571 Laufwerk mit der Geräteadresse 8:
DSAVE "MEIN PROGRAMM"
DLOAD "MEIN PROGRAMM"
Der Unit Parameter U muss nur angegeben werden, wenn das zu Ladende Programm auf einem Laufwerk mit einer anderen Geräteadresse als 8 liegt. Auch bei DLOAD/DSAVE ist der D Parameter ist nur für Doppeldisk Stationen relevant.
3. Maschinencode: BSAVE & BLOAD
Speichern mit BSAVE:
BSAVE "BINAERPROGRAMM", D, U, ON B, P TO P
- „BINAERPROGRAMM“ = Programmname
- D = Laufwerk bei Doppeldisk Station (0 oder 1, Standard: 0)
- U = Geräteadresse (Standard: 8)
- B = Speicherbank (0 = untere 64 KB, 1 = obere 64 KB)
- P TO P = Start- & Endadresse (Endadresse des Programms +1)
Ein Beispiel für ein Maschinenprogramm das auf den Adressen 8000-8005 auf Speicherbank 0 liegt und auf dem Single-Laufwerk mit der Geräteadresse 8 gespeichert werden soll:
BSAVE "BINAERPROGRAMM", ON B0, P8000 TO P8006
Auch hier dürfen die Parameter D und U weggelassen werden, wenn es sich um das Laufwerk 8 handelt und ein Single Laufwerk, oder Laufwerk 0 in der Diskstation verwendet wird.
Achtung: Beim Speichern die Endadresse +1 angeben, sonst fehlt der letzte Befehl!
Laden & Ausführen mit BLOAD/BOOT:
BLOAD "BINAERPROGRAMM", D, U, ON B, P
- „BINAERPROGRAMM“ = Programmname
- D = Laufwerk bei Doppeldisk Station (0 oder 1, Standard: 0)
- U = Geräteadresse (Standard: 8)
- B = Speicherbank (Standard: 0 = untere 64 KB, 1 = obere 64 KB)
- P = Startadresse (falls Abweichend von der bei BSAVE angegebenen Adresse)
Beispiel für das Laden eines Binärprogramms das vom Single-Laufwerk mit der Geräteadresse 8 an die Speicheradresse 9000 geladen werden soll:
BLOAD "BINAERPROGRAMM", P9000
Wird auch der P Parameter weggelassen, wird das Programm an die in der Datei in den ersten 2 Bytes angegebenen Adresse geladen.
Soll das Programm nach dem Laden sofort ausgeführt werden kann der Befehl BOOT verwendet werden.
BOOT "BINAERPROGRAMM", D, U
- „BINAERPROGRAMM“ = Programmname
- D = Laufwerk bei Doppeldisk Station (0 oder 1, Standard: 0)
- U = Geräteadresse (Standard: 8)
Beispiel für das Laden und Starten eines Binärprogramms das vom Single-Laufwerk mit der Geräteadresse 8 geladen werden soll:
BOOT "BINAERPROGRAMM"
Eine Angabe, wohin das Programm im Speicher geladen werden soll ist beim BOOT Befehl nicht möglich. Hier wird immer die in den ersten 2 Bytes angegebenen Adresse und die aktuell mittels BANK Befehl gewählte Speicherbank verwendet.