[ Zu JKCEMU ]


JKCEMU als A5105-Emulator

Der Bildungscomputer A5105, häufig auch kurz nur Bildungscomputer, BIC oder BIC A5105 genannt, wurde von Robotron für das Bildungssystem der DDR entwickelt und im Herbst 1989 eingeführt. Das System bestand standardmäßig aus folgenden Komponenten:
Restbestände des A5105 wurden auch als ALBA-PC 1505 verkauft. Dieser bestand aus dem Computergrundgerät K1505, dem Netzteil K0309 und dem HF-Modulator 690034. Optional wurde auch ein FDC-Modul mit Diskettenlaufwerk angeboten.


Bildschirmfoto der A5105-Emulation

1. Emulierte Hardware

Emuliert werden:

1.1. Tastatur

Einige Tasten das A5105 sind auf der Tastatur des Emulatorrechners üblicherweise nicht zu finden oder anders beschriftet. Diese Tasten werden deshalb folgendermaßen gemappt:
A5105-TasteJKCEMU-Taste
PF1F1
PF2F2
PF3F3
PF4F4
PF5F5
HOMEF6 oder Pos1
STOPF7
INS MODEEinfg
DELEntf

1.1.1. AutoInput

Wenn Sie die AutoInput-Funktion bei gleichzeitig aktivierter Option Einfügen von Text durch Abfangen des Systemaufrufs nutzen, kann es passieren, dass das erste Zeichen nicht automatisch eingegeben wird. Um das zu verhindern, geben Sie am besten vor dem ersten Befehl die Steuertaste Enter / Return ein.

1.2. Sound-Generator

Zum Hören der vom Sound-Generator ausgegebenen Töne müssen Sie die Audio-Funktion Töne ausgeben aktivieren. Alle anderen Audio-Funktionen beziehen sich auf den emulierten Kassettenrecorderanschluss.

Der Sound-Generator wird immer mit der originalen Taktfrequenz emuliert, d.h., wenn Sie in den Einstellungen eine andere Taktfrequenz angeben, wirkt sich das nur auf die Emulation des Mikroprozessors aus.

1.2.1. Sound-Beispielprogramme

Hier finden Sie einige Beispielprogramme, die die Fähigkeiten des Sound-Generators demonstrieren. Das Programm Hubschrauber basiert auf dem entsprechenden Beispielprogramm in der Dokumentation BILDUNGSCOMPUTER robotron A5105 - Das Musiksystem. Die anderen Programme stammen vom JKCEMU-Entwickler selbst.

100 PRINT:PRINT "Hubschrauber"
110 SOUND 0,111
120 SOUND 1,0
130 SOUND 6,30
140 SOUND 8,16
150 SOUND 11,44
160 SOUND 12,1
170 SOUND 13,14
180 SOUND 7,9
190 PRINT:PRINT "Abbruch mit beliebiger Taste"
200 IF LEN(INKEY$)=0 THEN 200
210 SOUND 7,0
220 END
  10 PRINT:PRINT "Explosion"
20 SOUND 5,20
30 SOUND 11,0
40 SOUND 12,31
50 SOUND 13,0
60 SOUND 9,16
70 SOUND 7,16
80 END
  100 PRINT:PRINT "Meeresrauschen"
110 SOUND 6,20
120 SOUND 8,0
130 SOUND 9,16
140 SOUND 10,8
150 SOUND 11,0
160 SOUND 12,50
170 SOUND 13,14
180 SOUND 7,48
190 PRINT:PRINT "Abbruch mit beliebiger Taste"
200 IF LEN(INKEY$)=0 THEN 200
210 SOUND 7,0
220 END
  100 PRINT:PRINT "Schranke"
110 SOUND 2,200
120 SOUND 3,1
130 SOUND 9,16
140 SOUND 11,0
150 SOUND 12,40
160 SOUND 13,8
170 SOUND 7,2
180 PRINT:PRINT "Abbruch mit beliebiger Taste"
190 IF LEN(INKEY$)=0 THEN 190
200 SOUND 7,0
210 END


1.3. V24-Schnittstelle mit Drucker

Es wird ein an der V24-Schnittelle des Grundgerätes angeschlossener Drucker emuliert. Sowohl diese Schnittstelle als auch die emulierten V24-Parameter entsprechen den Standardeinstellungen des A5105, d.h. eine spezielle Druckereinstellung ist im A5105-Betriebssystem nicht notwendig.

2. Im ROM enthaltende Software



3. Enthaltene Diskettenabbilder

JKCEMU enthält für die A5105-Emulation folgende Diskettenabbilder:
Für die Nutzung der Diskettenabbilder muss die Emulation der Floppy-Disk-Station aktiviert werden.

3.1. Hinweise zu den RBASIC-Disketten

Die RBASIC-Programme haben die Endung .bas und werden gestartet mit:

  run "programm.bas"

Anstelle von programm.bas ist der richtige Dateiname anzugeben. Das BIC-Demo-Programm auf der RBASIC-Systemdiskette hat keine Dateiendung und wird deshalb gestartet mit:

  run "bicdemo"

Das Verzeichnis lässt man sich anzeigen mit:

  files

oder z.B. nur die BASIC-Dateien mit:

  files "*.bas"

3.2. Hinweise zur SCPX-Systemdiskette

Das SCPX verlangt beim Booten eine beschreibbare Diskette. Da die im Emulator integrierten Diskettenabbilder aber nicht beschreibbar sind, sollte die SCPX-Systemdiskette im Fenster JKCEMU Diskettenstation zuerst exportiert und dann die so entstandene Abbilddatei ohne Schreibschutz geöffnet werden. Aus diesem Grund finden Sie die SCPX-Systemdiskette auch nur in den Untermenüs Andere Diskette einlegen und Diskette exportieren.

Sie können die SCPX-Systemdiskette aber auch über das Untermenü Andere Diskette einlegen direkt einlegen und davon booten. Allerdings erscheint dann eine Fehlerausschrift. Diese können Sie jedoch mit einem Tastendruck übergehen und so trotzdem mit SCPX arbeiten.

Die SCPX-Systemdiskette ist als Laufwerk A: sichtbar und enthält auch Treiber für die beiden RAM-Floppies (RAFBIC20.COM und RAFBIC24.COM).

4. Sonstiges

4.1. BASIC-Programme im Texteditor öffnen

Der Menüpunkt DateiBASIC-Programm im Texteditor öffnen... ist in der A5105-Emulation nicht aktiv, da das Binärformat der RBASIC-Programme nicht dokumentiert und deshalb auch nicht vollständig bekannt ist. Sie können aber trotzdem ein im Arbeitsspeicher befindliches BASIC-Programm im Texteditor öffnen, indem Sie dieses mit dem Kommando LLIST "ausdrucken" und anschließend das Druckergebnis im Texteditor öffnen. Das Druckergebnis erreichen Sie über den Menüpunkt ExtraDruckaufträge.

4.2. BASIC-Programme speichern und laden

JKCEMU bietet eine spezielle Unterstützung für das Speichern und Laden von BASIC-Programmen. Zum Speichern nutzen Sie bitte die Funktion BASIC-Programm speichern... im Menü Datei und speichern das jeweilge Programm als BASIC-/RBASIC-Programmdatei (*.bas). Alternativ ist auch das Speichern als Headersave-Datei (*.z80) mit dem Dateityp B möglich.

Wenn Sie ein BASIC-Programm in einem anderen Dateiformat speichern, erkennt JKCEMU später beim Laden der Datei nicht mehr, dass es sich um ein BASIC-Programm handelt und passt die Systemzellen des BASIC-Interpreters nicht an. Das geladene Programm lässt sich dann nicht nutzen.

Haben Sie in den Einstellungen zum A5105 die Emulation des Floppy Disk Moduls aktiviert, können Sie alternativ auch die BASIC-Programme mit Hilfe der RBASIC-Kommandos SAVE und LOAD auf einer emulierten Diskette speichern und von dort wieder laden.

4.2.1. BASIC-Programme über die emulierte Kassettenschnittstelle speichern

Wenn Sie ein BASIC-Programm über die emulierte Kassettenschnittstelle speichern möchten, also mit den Audiofunktionen Daten am Audioausgang ausgeben oder Sound- oder Tape-Datei speichern, dann tun Sie das bitte mit der Geschwindigkeit 1. Der Programmname kann 6 Zeichen lang sein. Hier im Beispiel wird das BASIC-Programm unter dem Namen prog gespeichert:

csave "prog",1

Einlesen können Sie das Programm dann mit:

cload

oder

cload "prog"

4.3. Dateien in den Arbeitsspeicher laden

In der SCPX-Betriebsart wird durch das Betriebssystem automatisch der ROM zyklisch eingeblendet. Damit bei diesem Verhalten das Laden von Dateien in den Arbeitsspeicher mit Hilfe der Emulatorfunktionen sicher funktioniert, werden Dateien immer in den RAM geladen, auch wenn dieser gerade nicht eingeblendet ist.

4.4. Zeichensatz

Der A5105 enthält einen programmierbaren Zeichengenerator, der standardmäßig mit dem alten DOS-Zeichensatz (Codepage 437) gefüllt ist. Sollte der Zeichengenerator softwaremäßig anders programmiert werden, kann das der Emulator nicht wissen. Aus diesem Grund konvertiert JKCEMU beim Kopieren aus der Bildschirmausgabe des A5105 die Zeichen immer entsprechend der Codepage 437 in den Zeichensatz des Emulatorrechners, unabhängig davon, wie der Zeichengenerator tatsächlich programmiert ist.

4.5. Größe und Seitenverhältnis der Bildschirmausgabe

Der A5105 bietet verschiedene Bildschirmauflösungen. Wenn zwischen diesen umgeschaltet wird (z.B. mit dem BASIC-Befehl screen 1 in den 80-Zeichenmodus), ändern sich auch die Größe des Emulatorfensters sowie das Seitenverhältnis. Beim Original bleibt dagegen die Größe des Bildschirmausgabebereichs immer gleich. Mit der Option Gleiche Fenstergröße in allen Bildschirmmodi können Sie das Verhalten an das des Originals anpassen. Allerdings ist dann auch das Emulatorfenster immer so groß, dass die höchste Bildschirmauflösung dargestellt werden kann.

4.6. Einfügen von Text aus der Zwischenablage

Das Einfügen von Text aus der Zwichenablage erfolgt gewöhnlich in der Form, dass für jedes einzufügende Zeichen das Drücken der entsprechenden Taste bzw. Tastenkombination simuliert wird. Dieses Prinzip ist recht langsam. Für den A5105 gibt es in den Einstellungen die Option Einfügen von Text durch Abfangen des Systemaufrufs. Bei dieser Option lauscht der Emulator auf der Einsprungadresse für die Systemfunktion CONIN. Wenn diese Systemfunktion aufgerufen wird, prüft JKCEMU, ob ein Zeichen eingefügt werden soll. Wenn ja, schreibt er das nächste einzufügende Zeichen in das entsprechende Prozessorregister und simuliert einen RETURN-Befehl. Sollten das Betriebssystem oder das Anwendungsprogramm die Tastatur nicht über die CONIN-Systemfunktion abfragen, funktioniert das Einfügen von Text nicht, und Sie müssen die Option ausschalten.

Achtung! Wenn beim Einfügen von Text aus der Zwischenablage nichts passiert, befindet sich das Betriebssystem gerade in einem für Tastatureingaben ungünstigen Status. Betätigen Sie in dem Fall eine Taste auf der Tastatur, um das Betriebssystem "aufzuwachen".

4.7. A5105-Bilddateien

Der JKCEMU Bildbetrachter unterstützt sowohl lesend als auch schreibend A5105-Bilddateien, die dem RBASIC-Grafikmodus SCREEN 5 (320x200 Pixel, 16 Farben) entsprechen. Zur Anzeige im JKCEMU Bildbetrachter müssen die Dateien die Endung *.scr haben. Umgekehrt können mit dem Bildbetrachter solche Bilddateien erzeugt werden, indem man sie einfach mit der Endung *.scr speichert. Das Laden und Anzeigen solcher Dateien auf dem A5105 ist mit folgendem kleinen RBASIC-Programm möglich:

10 SCREEN 0:CLS
20 FILES "*.scr"
30 PRINT:INPUT "Bilddatei:";F$
40 IF INSTR(F$,".")=0 THEN F$=F$+".SCR"
50 SCREEN 5,0:CLS
60 BLOAD F$,S:PAUSE 300
70 GOTO 10

Das Programm zeigt die Liste der vorhandenen Bilddateien an und fragt nach dem Namen der zu ladenden Datei. Der Dateiname kann dabei auch ohne die Endung .SCR eingegeben werden.

Eine erweiterte Version dieses Programms ist auf der im Emulator enthaltenen BIC A5105 RBASIC Systemdiskette vorhanden. Wenn Sie diese Diskette im Fenster JKCEMU Diskettenstation eingelegt haben und sich im RBASIC befinden, können Sie das Programm starten mit:

run "viewscr.bas"

© 2011-2016 Jens Müller