Dateien laden und speichern
Der JU+TE-Computer verwendet als Massenspeicher
einen Kassettenrecorder.
Beim Emulator jedoch sollen die Dateien nicht auf Kassette,
sondern im Dateisystem des Emulator-Rechners gespeichert werden.
Aus diesem Grund kommen nicht die Funktionen des Betriebssystems
des emulierten Computers zur Anwendung,
sondern der Emulator bietet selbst entsprechende Funktionalitäten an.
Unabhängig davon ist es aber mit Hilfe der
Audio-Funktionen trotzdem möglich,
Dateien auf Kassette zu speichern.
1. Dateiformate
JTCEMU unterstützt folgende Dateiformate:
- JTC-Datei
- KC-TAP-Datei
- Binärdatei
- Intel-HEX-Datei
1.1. JTC-Datei
Das JTC-Format ist das Standardformat des Emulators und entspricht
inhaltlich dem Format, mit dem das
Betriebssystem EMR-ES 1988
Dateien auf Kassette speichert.
Dieses Format besteht aus einem 128 Byte großen Kopf,
an den sich der Datenbereich anschließt,
der wiederum ein binärer Abzug eines Speicherbereichs ist.
Der Dateikopf hat folgenden Aufbau:
- 11 Bytes Dateiname, mit Leerzeichen aufgefüllt
- 5 Bytes mit dem Wert 00
- 1 Byte mit dem Wert 02
- 2 Bytes Anfangsadresse (niederwertiges Byte zuerst)
- 2 Bytes Endadresse (niederwertiges Byte zuerst)
- 107 Bytes ungenutzt
Das JTC-Format ist kompatibel zu dem von einigen KC-Emulatoren
her bekannten KCC-Format, d.h.,
möchten Sie eine JTC-Datei in einen solchen KC-Emulator laden,
reicht es i.d.R. aus, die Datei in eine KCC-Datei umzubenennen.
Umgekehrt können KCC-Dateien geladen werden,
wenn sie dem Format von KC-Systemdateien entsprechen.
KC-BASIC-Dateien werden dagegen nicht unterstützt.
1.2. KC-TAP-Datei
Ein weit verbreitetes Format bei KC-Emulatoren ist das KC-TAP-Format.
JTCEMU unterstützt dieses Format auch,
allerdings mit folgenden Einschränkungen:
-
KC-TAP ist ein Container-Format, welches mehrere gedanklich
auf Kassette hintereinander liegende Dateien enthalten kann.
JTCEMU liest nur die erste Datei ein.
-
Es werden keine KC-BASIC-Programme und keine KC-BASIC-Datenfelder
unterstützt.
Enthält die TAP-Datei als erstes eine KC-BASIC-Datei,
wird die TAP-Datei erst gar nicht als solche erkannt.
Das KC-TAP-Format hat üblicherweise die Dateiendung .tap.
Da es aber auch bei anderen Systemen, z.B. einige C64-Emulatoren,
TAP-Dateien gibt, die völlig anders aufgebaut sind,
wird das hier gemeinte Format KC-TAP genannt.
Bei einer Binärdatei handelt es sich um einen reinen binären
Speicherabzug ohne weitere Zusatzinformationen,
d.h. ohne jegliche Adressangabe.
Man muss sich somit die Anfangsadresse des Speicherbereichs separat merken
und beim Laden immer mit angeben.
Da bei einer Binärdatei die gesamte Datei unverändert
in den Arbeitsspeicher geladen wird,
können auch alle anderen Dateiformate als Binärdatei
geladen werden.
Allerdings werden dann aber auch die Kopf- und Metadaten
mit in den Arbeitsspeicher übertragen.
1.4. Intel-HEX-Datei
Bei diesem Format handelt es sich auch um einen Speicherabzug,
jedoch sind die einzelnen Bytes hexadezimal kodiert,
d.h. die Datei ist eine reine ASCII-Datei
und kann auch in einem Texteditor geöffnet werden.
Des weiteren enthält die Datei die Anfangsadresse
des betreffenden Speicherbereichs,
d.h. beim Laden müssen Sie diese Adresse nicht mehr eingeben.
Die Funktion zum Laden einer Datei finden Sie im Menü Datei.
Alternativ können Sie auch eine Datei einfach in das Emulatorfenster
hineinziehen und dort loslassen, sofern das Betriebssystem
und die Java-Laufzeitumgebung Drag&Drop unterstützen.
Nach dem Auswählen einer Datei öffnet sich
ein Dialog zur Festlegung des Dateiformats und zur Eingabe der Ladeadresse.
Das Dateiformat sollte bereits richtig voreingestellt sein.
Enthält die Datei eine Ladeadresse,
wird diese in das Eingabefeld Laden ab Adresse geschrieben,
d.h., in dem Fall brauchen Sie normalerweise keine weiteren Eingaben
in dem Dialog tätigen.
Das Feld Bis. max. Adresse kann leer bleiben.
Anschließend drücken Sie den Knopf Laden.
3. Datei speichern
Diese Funktion finden Sie ebenfalls im Menü Datei.
Zuerst öffnet sich ein Dialog zur Eingabe der Anfangs-
und Endadresse des zu speichernden Bereichs
und zur Festlegung des Dateiformats.
Der Emulator prüft, ob sich ab Adresse E000h ein BASIC-Programm
im Speicher befindet.
Wenn ja, werden die beiden Eingabefelder mit der Anfangs-
und Endadresse dieses BASIC-Programms vorbelegt, d.h.,
beim Speichern eines BASIC-Programms brauchen Sie keine Adressen
selbst eingeben.
Beim Speichern einer JTC-, KC-TAP oder Intel-HEX-Datei wird auch
die Anfangsadresse mit gespeichert.
Möchten Sie, das in der Datei eine andere Anfangsadresse
als die tatsächliche eingetragen wird,
so geben Sie das im Feld Abweichende Anfangsadresse an.
Des weiteren gibt es das Feld Name in der Datei,
dass jedoch nur beim JTC- und KC-TAP-Format verwendet wird.
Hier geben Sie eine beliebige, max. 11-stellige Bezeichnung an,
die mit in der Datei gespeichert wird.
Nachdem Sie den Dialog bestätigt haben,
öffnet sich eine Dateiauswahlbox,
in der Sie den Namen der Datei festlegen.
Mit Bestätigen dieses Dateiauswahldialogs wird
der angegebene Speicherbereich in die gewünschte Datei geschrieben.