[ Zu JKCEMU ]


JKCEMU als BCS3-Emulator

Der BCS3 ist ein von Eckhard Schiller entwickelter Selbstbaucomputer, dessen Bauanleitung 1985 in der Zeitschrift Radio Fernsehen Elektronik erschienen ist. Der BCS3 zeichnet sich durch ein ausgefuchstes Konzept aus, welches trotzt minimalem Bauelementeaufwand eine akzeptable Rechenleistung bietet. Obwohl die Ausgabe der Bilddaten softwaremäßig erfolgt, werden dafür nur etwa 40% der Rechenleistung verwendet, und das bei nur 2,5 MHz Taktfrequenz! Der Sinclair ZX80/81 ist dagegen höher getaktet und verbraucht prozentual mehr Rechenleistung für die Bilderzeugung. Als weitere Besonderheit enthält der BCS3 in seinem kleinen ROM einen einfachen, aber vergleichsweise sehr schnellen BASIC-Interpreter.

Screenshot der BCS3-Emulation

1. Emulierte Hardware



1.1. Bildschirmausgabe

Beim BCS3 wird das Bildsignal maßgeblich durch eine zyklich 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. Für die in JKCEMU enthaltenen Betriebssystemversionen ist bekannt, wo im Speicher die auszugebenden Zeichen stehen. Standardmäßig liest JKCEMU diese Zeichen selbst aus und stellt sie entsprechend dar.

1.2. Kassettenrecorderanschluss

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 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.

2. Im ROM enthaltene Software

Je nach Einstellung:
Die einzelnen BASIC-Versionen und der Maschinenkode-Editor sind in der JKCEMU-Hilfe beschrieben.

2.1. Hinweise zu BASIC-SE 3.1 und S/P-BASIC V3.3



3. Sonstiges

3.1. Speichern und Laden von BASIC-Programmen

Speichern Sie die BASIC-Programme mit der entsprechenden Funktion des Emulator (Menü DateiBASIC-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. 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.

3.2. JKCEMU-BASIC-Compiler

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.

© 2009-2010 Jens Müller