Hinweise zur Emulation des BCS3
- Je nach Einstellung 2, 4 oder 5 KByte ROM
- 1 KByte RAM
- Kassettenrecorderanschluss
- Optional eine Speichererweiterung mit 16 KByte RAM
Beim BCS3 wird das Bildsignal maßgeblich durch eine
zyklisch aufgerufene Software-Routine erzeugt.
Diese Routine liest die auszugebenden Zeichen aus dem Arbeitsspeicher
und steuert die Hardware so an,
dass daraus das gewünschte Bildsignal entsteht.
JKCEMU visualisiert jedoch nicht das so entstandene Bildsignal,
sondern liest selbst die anzuzeigenden Zeichen aus dem Speicher aus
und stellt sie entsprechend dar.
Für die in JKCEMU enthaltenen Betriebssystemversionen ist bekannt,
wo im Speicher die entsprechenden Zeichen stehen.
Wenn Sie jedoch durch Einbinden einer externen ROM-Datei
im Emulator eine andere Betriebssystemversion benutzen,
muss diese den gleichen Adressbereich für den Bildspeicher benutzen.
Anderenfalls werden die falschen Zeichen angezeigt.
Der Kassettenrecorderanschluss wird ausgangsseitig vom gleichen
CTC-Kanal bedient, der auch die Zeilensynchronimpulse für
die Bildschirmausgabe liefert.
Aus diesem Grund hören Sie ein Pfeifen, wenn Sie eine
Audio-Funktion
zur Ausgabe von Tönen aktivieren.
Das Pfeifen sind die mit halber Frequenz ausgegebenen
Zeilensynchronimpulse.
Erst beim BASIC-Befehl SAVE werden die für die
Datenspeicherung bekannten Töne erzeugt.
Sobald das BASIC-Programm auf dem Kassettenrecorderanschluss
ausgegeben wurde, wird die Bildausgabe wieder aktiv,
und Sie hören auch wieder das Pfeifen.
Achtung! BASIC-SE valign="top"2.4 enthält keine
Unterstützung für das Speichern und Laden auf Kassette.
Die Befehle LOAD und SAVE springen zur Adresse
0800 bzw.0803, d.h., außerhalb des ROM-Bereichs.
Man kannt dort seine eigenen Routinen zum Laden und Speichern installieren.
Da sich dort aber standardmäßig kein gültiger Programmcode
befindet, führen die Befehle LOAD und SAVE
zu einem undefinierten Verhalten.
Je nach Einstellung:
-
BASIC-SE 2.4
für 27 sichtbare Zeichen pro Zeile und 2,5 MHz Taktfrequenz
-
BASIC-SE 3.1
für 29 sichtbare Zeichen pro Zeile
und 2,5 MHz Taktfrequenz
-
BASIC-SE 3.1
für 40 sichtbare Zeichen pro Zeile
und 3,5 MHz Taktfrequenz
-
S/P-BASIC V3.3
für 29 sichtbare Zeichen pro Zeile
und 2,5 MHz Taktfrequenz
-
Maschinenkode-Editor
(nur in Verbindung mit BASIC-SE 3.1
für 29 sichtbare Zeichen pro Zeile)
-
Beim Systemstart prüft das BASIC,
ob der Speicher bereits initialisiert ist
und führt in Abhängigkeit davon entweder
einen Kalt- oder Warmstart aus.
Bei einem Warmstart werden die Systemzellen im Arbeitsspeicher
nicht neu initialisiert.
Demzufolge führt ein RESET gewöhnlich zu einem Warmstart,
da der Speicher bereits initialisiert ist.
-
Bei einem Kaltstart müssen Sie als erstes
die Anzahl der sichtbaren Zeilen
(BASIC-SE 3.1: 4 bis 29, S/P-BASIC 3.3: 4 bis 28) eingeben
und ENTER betätigen,
bevor Sie in die BASIC-Eingabeaufforderung gelangen.
-
Der Speicherplatz für das BASIC-Programm beginnt hinter
dem Bildspeicher, d.h., je mehr sichtbare Zeilen es gibt,
desto weiter hinten beginnt das BASIC-Programm.
Achtung! Wenn Sie z.B. bei 8 sichtbaren Zeilen
ein BASIC-Programm mit den Emulatorfunktionen speichern
und es bei 12 Zeilen wieder laden,
müssen Sie das BASIC-Programm auf eine andere Adresse laden,
sonst überschreiben Sie den Bildspeicher!
Und das dürfte den BCS3 zum Absturz bringen!
Speichern und Laden Sie deshalb die BASIC-Programme so,
wie es weiter unter beschrieben ist.
-
S/P-BASIC V3.3 ist nicht abwärtskompatibel
zu BASIC-SE 3.1,
und dieses ist auch nicht abwärtskompatibel zur Version 2.4,
d.h., BASIC-Programme laufen nur mit der Version,
mit der sie auch eingetippt wurden.
Die Token und damit das Binärformat ist bei allen drei
Versionen unterschiedlich.
Speichern Sie die BASIC-Programme mit der entsprechenden Funktion
des Emulator (Menü Datei →
BASIC-Programm speichern...).
Da das BASIC-Programm abhängig von der sichtbaren Zeilenzahl
eventuell auf eine andere Adresse wieder eingeladen werden muss,
sollte die Ladeadresse nicht in der Datei stehen.
Verwenden Sie deshalb am besten
Speicherabbilddateien ohne Kopfdaten
(BIN-Dateien).
Beim Laden eines BASIC-Programms sollten Sie immer so vorgehen,
dass der Dialog mit den Ladeoptionen angezeigt wird
(siehe Ladeoptionen).
JKCEMU ermittelt nämlich die zu verwendende Ladeadresse
und schreibt sie in das entsprechende Feld in den Ladeoptionen.
Dazu muss aber der Dialog auch angezeigt werden.
Bei Speicherabbilddateien ohne Kopfdaten ist das immer der Fall.
Der BCS3 ist von seinem Konzept her als reiner BASIC-Rechner ausgelegt.
Zur Verwaltung und Benutzung von Maschinencodeprogrammen,
d.h. von solchen Programmen, die auch ein BASIC-Compiler erzeugt,
bieten die verschiedenen Betriebssystemversionen des BCS3
keine Unterstütztung.
Aus diesem Grund kann auch der JKCEMU BASIC-Compiler keinen
Programmcode für den BCS3 erzeugen.