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.
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:
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.
Dieses bei KC-Emulatoren weit verbreitete Format wird mit
folgenden Einschränkungen unterstützt:
KC-TAP ist ein Container-Format, welches mehrere gedanklich
auf Kassette hintereinander liegende Dateien enthalten kann.
Der Emulator 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 (BIN-Datei) handelt es sich um einen reinen
binären Speicherabzug ohne weitere Zusatzinformationen,
d.h. ohne jegliche Adressangaben.
Man muss sich somit die Anfangsadresse des Speicherbereichs separat merken
und diese Adresse dann beim Laden wieder angeben.
Da das etwas umständlich ist, kann man die Anfangsadresse
bzw. die Adressen in den Dateinamen schreiben.
Der Emulator versucht beim Laden einer BIN-Datei,
aus dem Namen die Adressen zu extrahieren.
Es können sowohl nur die Anfangsadresse,
Anfangs- und Endadresse als auch
Anfangs-, End- und Startadresse angegeben werden.
Die Startadresse (nur bei Maschinencodeprogrammen sinnvoll)
ist rein informativ und wird beim Laden in der Statuszeile angezeigt.
Damit der Emulator die Adressen erkennt, müssen sie mit einem
Unterstrich getrennt als vierstellige Hexadezimalzahlen
(Groß-/Kleinschreibung ist egal) an den Basisnamen der Datei,
also vor dem Punkt mit der Endung, angehängt werden:
Dateiname
Bedeutung
dateiname_AADR.bin
BIN-Datei mit Anfangsadresse im Namen
dateiname_AADR_EADR.bin
BIN-Datei mit Anfangs- und Endadresse im Namen
dateiname_AADR_EADR_SADR.bin
BIN-Datei mit Anfangs-, End- und Startadresse im Namen
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.
Die Daten sind in Form von Datensätzen gruppiert,
die jeweils eine eigene Adresse haben.
Die Adresse der ersten Zeile wertet der Emulator als Anfangsadresse.
Die Adressen müssen nicht zwingend aufsteigend
oder aneinander anschließend sein,
d.h., die Daten in der Datei können fragmentiert sein
und Lücken enthalten.
Auch kann es Daten vor der (vermeintlichen) Anfangsadresse geben.
Diese werden allerdings nicht in den Arbeitsspeicher geladen.
Die Funktionen zum Laden einer Datei finden Sie im Menü
Datei.
Es gibt zwei Funktionen: Laden...
und Laden mit Optionen....
Der einzige Unterschied zwischen beiden ist,
dass bei Laden mit Optionen... immer der Dialog zur Eingabe
der Ladeoptionen erscheint, während bei Laden...
dieser Dialog nur dann angezeigt wird,
wenn die zu ladende Datei keine Ladeadresse enthält.
Alternativ kann man eine Datei auch durch Klicken auf das
entsprechende Symbol in der Werkzeugleiste oder mittels
Drag&Drop laden.
Beides entspricht dem Menüpunkt Laden....
Die Ladeoptionen beziehen sich hauptsächlich auf den Adressbereich,
in den die ausgewählte Datei geladen werden soll.
Das Feld Laden ab Adresse muss ausgefüllt sein
und wird mit der in der Datei stehenden Ladeadresse vorbelegt.
Enthält die Datei keine Ladeadresse,
wird das Feld mit dem Wert E000 vorbelegt.
Das ist die Adresse, auf die üblicherweise BASIC-Programme
geladen werden.
Der Emulator erkennt das Format der zu ladenden Datei automatisch.
Wenn auch höchst unwahrscheinlich könnte es aber vorkommen,
dass eine BIN-Datei mit einer Byte-Folge beginnt,
die der Emulator als das Format eines anderen Dateityps erkennt.
Für diesen Fall gibt es die Option Als BIN-Datei laden.
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.