Retro: ZX Spectrum – Interface 1bis – Teil 5

Interface 1bis
Interface 1bis

Heute geht es auch schon in den Endspurt zu der Artikelreihe rund um das Interface 1bis:

Das Extended Basic

Eine gute Voraussetzung für das Extended Basic ist, wenn man sich schon mal mit dem ursprünglichen Extended Basic des Interface 1 von Sinclair Research beschäftigt hat. Die von mir nun angeführten Bereiche beschränken sich nur auf einen Teil der Befehle die tatsächlich verfügbar sind. Wer tiefer einsteigen will, sollte sich das Nachschlagewerk auf der Webseite des Projekts holen: IF1bisOpSys.pdf

Geräte und Kanäle
Wie bereits angesprochen kann das Interface 1bis auf zwei Speichergeräte zugreifen:

  • „Microdrive“ „m“, das die SD-Karte als Speichermedium und
  • „Server“ „v“, das Speicherplatz auf einem Server als Speichermedium verwendet

Das ZX Network und der RS232 Anschluss des original ZX Interface 1 haben keine Hardware-Unterstützung!

Dateinamen
Dateinamen können 1-10 Zeichen lang sein, dabei wird Groß-/Kleinschreibung unterstützt und ein Pfad kann vorangestellt werden. Dateinamen können auch Wildcards enthalten – ? und * stehen für „jedes Zeichen“ und entsprechend „jede Anzahl von Zeichen“.
Das Vergeben von Dateiendungen ist nur in ein paar speziellen Situationen sinnvoll, besonders wenn das Ziel-Verzeichnis Dateien mit dem gleichen Namen aber verschiedenen Typen enthält.

Verzeichnisse
– Erstellen eines Verzeichnisses durch den SAVE Befehl:

SAVE *“m“;2;“newdir/“

erstellt das Unterverzeichnis „newdir“ im aktuellen Verzeichnis auf Laufwerk 2

– Wechseln eines Verzeichnis mit dem LOAD Befehl:

LOAD *“v“;1;“f:/games/“

macht das „games“ Verzeichnis des Servers f Laufwerk zum aktuellen Verzeichnis

– Löschen eines Verzeichnis mit dem ERASE Befehl:

ERASE „m“;1;“/temp/empty/“

löscht das Unterverzeichnis „empty“ des „temp“ Verzeichnis von Laufwerk 1
Nur leere Verzeichnisse die nicht das aktuelle Verzeichnis sind, können gelöscht werden.

Emulator Dateien
Input Tape und Output Tape werden durch die Option t mit den Befehlen LOAD und SAVE verknüpft:

LOAD „m“;12;“/games/manicmin“ t

wird die Datei „manicmin“ im „games“ Verzeichnis von Laufwerk 12 mit Input Tape verknüpfen. Das Spiel kann diesem Befehl geladen werden:

LOAD „“

Alternativ kann die Option „T“ (Großbuchstabe) benutzt werden um das Input Tape zu verbinden und ein NEW gefolgt von einem LOAD „“ in einem Kommando umzusetzen:

LOAD „m“;12;“/games/manicmin“ T

Die Input Tape und Output Tape Verbindungen bleiben gültig bis das Input Tape zu Ende gelesen wurde, die Größe des Output Tape’s 16MB überschreitet oder die Verknüpfung der Tape Files aufgehoben wurde durch LOAD oder entsprechend den SAVE Befehl mit der Option: STOP.
Deshalb schließt folgender Befehl das Output Tape:

SAVE STOP

Um einen Snapshot zu erzeugen muss zuerst ein neue Datei erzeugt werden. Dazu benutzt wird der SAVE Befehl mit dem Zusatz z. Der Befehl:

SAVE „m“;1;“/temp/snap“ z

erzeugt die Datei „snap“ im Verzeichnis „temp“ in die der Snapshot gespeichert wird, wenn der Knopf für weniger als 0,5 Sekunden gedrückt wird.
Snapshots können geladen werden, indem der LOAD Befehl mit dem Zusatz z benutzt wird:

LOAD „m“;12;“/games/monty“ z

lädt den monty Snapshot aus dem Games-Verzeichnis in Laufwerk 12.
Wird der Zusatz Z verwendet schaltet sich das „Interface 1bis“ in den „ON Inaktiv“ Status nachdem der Snapshot geladen wurde.

Abgekürzte Schreibweise
Wenn ein Gerät oder eine Laufwerksnummer in einem Befehl angegeben werden, werden sie „aktuell“ und können in weiteren Befehlen weggelassen werden.
Nach dem Befehl:

CAT „m“;1

kann der screen1 Screen-Dump von Laufwerk 1 des Gerätes „m“ mit der gekürzten Schreibweise geladen werden:

LOAD ;“screen1“ s

und das Programm Test von Laufwerk 3 des selben Gerätes:

LOAD 3;“Test“

Dateioperationen
Laden eines Programms:

LOAD *“m“;1;“Name“

Speichern eines Programms:

SAVE *“m“;1“Name“

Speichern eines Programms mit Auto-Run:

SAVE *“m“;1;“NAME“ LINE 10

Prüfung des gespeicherten Programms:

VERIFY *“m“;1;“Name“

Löschen eines Programms:

ERASE „m“;1;“Name“

Verzeichnis wechseln:

LOAD *“m“;1;“/spiele/“

Kopieren einer Datei:

MOVE „v“;1;“a*“ TO „m“;1;“*“

kopiert alle Dateien deren Namen mit dem Buchstaben a beginnen vom aktuellen Verzeichnis des Server-Laufwerks auf das aktuelle Verzeichnis von Laufwerk 1 auf der SD-Karte.

Umbenennen von Dateien:

MOVE “m”;2;”file?” AT “m”;2;”bak/”bak?”

verschiebt alle Dateien mit Namen wie: file1, file2…filez vom aktuellen Verzeichnis in das Unterverzeichnis „bak“ und benennt sie in bak1, bak2,….bakz um

MOVE “m”;2;”test.b” AT “m”;2;”test.f”

ändert den Dateitypen von „binary“ in „PRINT“

Hier die anderen Teile der Artikelreihe: