BCS3
Der BCS3 ist ein von Eckhard Schiller entwickelter Selbstbaucomputer,
dessen Bauanleitung 1985 in der Zeitschrift
Radio Fernsehen Elektronik erschienen ist.
Dieser Computer zeichnet sich durch ein ausgefuchstes Konzept aus,
welches trotzt minimalem Bauelementeaufwand eine akzeptable
Rechenleistung bietet.
Hinweise zur Emulation
- 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 das auf diese Art und Weise entstandene Bildsignal.
Der Kassettenrecorderanschluss wird ausgangsseitig vom gleichen
CTC-Kanal bedient, der auch die Zeilensynchronimpulse (HSync-Impulse)
für die Bildschirmausgabe liefert.
Aus diesem Grund hören Sie (normalerweise) ein Pfeifen,
wenn Sie eine Audiofunktion
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.
Da die HSync-Impulse stören können,
vorallem wenn man das BASIC-Programm in eine Sound- bzw. Tape-Datei
speichern möchte, gibt es in den Einstellungen die Option
HSync-Signale aus Audioausgabe entfernen.
Ist die Option eingeschaltet, was standardmäßig der Fall ist,
werden sie HSync-Impulse herausgefiltert
und Sie hören nur die eigentliche Tonausgabe.
Achtung! BASIC-SE 2.4 enthält keine Unterstützung
für das Speichern auf bzw. Laden von 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 Emulators (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.