[ Zu JKCEMU ]


JKCEMU als Z1013-Emulator

Der Mikrorechnerbausatz Z1013 ist ein Einplatinenrechner, der ab 1985 im VEB Robotron-Elektronik Riesa hergestellt wurde. Zielgruppe für diesen Bausatz waren Amateure und Bastler, die an die fertig bestückte Leiterplatte nur noch die mitgelieferte Folientastatur sowie einen selbst bereitzustellenden (also nicht mitgelieferten) 12V-Transformator anlöten mussten.

Die ursprüngliche Idee des Z1013 lag darin, elektronische Bauteile, die den Anforderungen der Industrie nicht gerecht werden (so genannte Anfallbauelemente, die zwar funktional in Ordnung sind, aber z.B. die benötigten Taktfrequenzen nicht erreichen), in Form eines relativ niedrig getakteten Computer-Bausatzes der Bevökerung nutzbar zu machen. Dadurch hatte der Z1013 anfangs nur eine Taktfrequenz von 1 MHz (Modell Z1013.01) und war mit 650 Mark der billigste in der DDR verfügbare Rechner, der eine Bildschirmsteuerung besaß und somit als vollwertiger Heimcomputer gelten kann. Außerdem war er auch von Anfang an über einen offiziellen Weg für private Anwender erwerbbar, allerdings nur im Robotron-Laden in Erfurt und mit ca. einem Jahr Wartezeit.

Die Idee, für den Z1013 Anfallauelemente zu verwenden, hat sich für den Hersteller jedoch als ungünstig erwiesen, da aus Garantiegründen die Bauelemente letztendlich ausgemessen werden mussten. Aus diesem Grund wurde der Z1013 ab 1987 mit "vollwertigen" Bauelementen und 2 MHz Taktfrequenz ausgeliefert (Modell Z1013.16). Dadurch stieg aber auch der Preis auf 965 Mark. 1989 kam das Modell Z1013.64 heraus, welches 64 KByte RAM besaß und im Preis auf 590 Mark gefallen war.


Bildschirmfoto der Z1013-Emulation

1. Emulierte Hardware

Da der Z1013 als Bausatz ausgeliefert wurde, sind für diesen besonders häufig Modifizierungen und Erweiterungen entwickelt wurden. Das trifft insbesondere auf Tastatur, Monitorprogramm und RAM-Größe zu. JKCEMU emuliert die gängigen Tastaturen mit jeweils einem oder mehreren dazu passenden Monitorprogrammen. In den Einstellungen wählen Sie die gewünschte Kombination aus Monitorprogramm und Tastatur aus.

Emuliert werden:

1.1. Folienflachtastatur

Folienflachtastatur

Die Ziffern auf der Folienflachtastatur sind standardmäßig nur über die Shift-1-Taste erreichbar. Man kann aber im Monitorprogramm und über Systemaufrufe die Shift-Ebenen so umschalten, dass Ziffern ohne Shift-Taste eingegeben werden können. Dafür ist dann bei einigen Buchstaben die Shift-1-Taste zu betätigen. Dieses Umkodieren der Zeichen stört aber im Emulator. Aus diesem Grund erkennt JKCEMU die Umschaltung der Shift-Ebenen automatisch und emuliert dann das Drücken der Shift-1-Taste entsprechend anders. Das hat zur Folge, dass die Monitorkommandos A und H scheinbar keine Wirkung haben.

Insgesamt enthält die Folienflachtastatur vier Shift-Tasten, die von einigen Spielprogrammen auch direkt abgefragt und zur Steuerung der Spielfigur verwendet werden. Damit Sie solche Programme auch im Emulator ohne Einschränkungen bedienen können, werden diese vier Shift-Tasten auch als Einzeltasten emuliert, und zwar mit den Funktionstasten F1 bis F4.

Für die Folienflachtastatur steht eine Tastaturansicht zur Verfügung.

1.2. Alphatastatur

Unter der Alphatastatur versteht man die Tastatur, die vom A.2-Monitorprogramm vorausgesetzt wird. Dabei handelt es sich jedoch nicht um eine fertige Tastatur, sondern nur um eine Schaltung zum Anschluss einer Tastatur mit einer 8x8-Matrix. Der Schaltplan dazu und die vorgeschriebene Anordnung der Tasten in der Matrix sind in der Ergänzungsanleitung zum Z1013.16 angegeben. Dort ist auch eine schematisch Tastenanordnung angegeben. Diese steht im Emulator als Tastaturansicht zur Verfügung.

Mit Ausnahme der Taste Graph E/A sind alle Tasten bzw. Zeichen der Alphatastatur gewöhnlich auch auf der Tastatur des Emulatorrechners zu finden. Die Taste Graph E/A lässt sich mit der Funktionstaste F1 betätigen.

1.3. Peters-Platine

Die Peters-Platine ermöglicht über E/A-Port 4 die Abschaltung des ROMs sowie die Umschaltung des Zeichensatzes, der Taktfrequenz und der Bildschirmorganisation.

Bedeutung der Bits von E/A-Port 4:
Bit Bedeutung bei Wert 0 (Standard) Bedeutung bei Wert 1
4 ROM eingeblendet ROM aus- und dafür RAM eingeblendet
5 Standardzeichensatz alternativer Zeichensatz,
Der Emulator schaltet auf einen Zeichensatz mit deutschen Umlauten nach ISO 646 und inversen Zeichen um.

Achtung! Wurde in den Z1013-Einstellungen, Bereich Sonstiges, eine alternative Zeichensatzdatei eingebunden, gilt folgendes:
  • Ist die extern eingebundene Zeichensatzdatei kleiner als 4 KByte, wird diese für den Standard- und den alternativen Zeichensatz verwendet, d.h., eine Umschaltung über Port 4 hat keine Wirkung.
  • Ist die extern eingebundene Zeichensatzdatei 4 KByte groß, werden die unteren 2 KByte als Standard- und die oberen 2 KByte als alternativer Zeichensatz verwendet. In dem Fall zeigt die Umschaltung des Zeichensatzes eine Wirkung.
6 Taktfrequenz 2 MHz Taktfrequenz 4 MHz,

Achtung! Der Emulator schaltet nur dann auf 4 MHz um, wenn in den Einstellungen der Standardwert von 2 MHz angegeben ist.
7 Bildschirm 32x32 Zeichen Bildschirm 64x16 Zeichen


1.4. Mega-ROM-Modul

Das vom Z9001, KC85/1 und KC87 her bekannte und an den Z1013 angepasste Mega-ROM-Modul bietet 2,5 MByte Speicher, aufgeteilt auf 256 einzelne 10 KByte Segmente. Das jeweils aktive Segment wird im Adressbereich C000h-E7FFh eingeblendet. Die Umschaltung des aktive Segments erfolgt über einen Ausgabebefehl auf E/A-Adresse FFh. Eine softwaremäßige Abschaltung des Moduls wie beim Z9001, KC85/1 und KC87 ist mit der Z1013-Variante nicht möglich.

Im JKCEMU ist kein Inhalt für das Mega-ROM-Modul enthalten. Sie müssen deshalb in den Einstellungen eine entsprechende ROM-Datei auswählen.

Das Mega-ROM-Modul ist nicht mit dem KC-BASIC-Modul kombinierbar.

1.5. Drucker

Es gibt zwei Möglichkeiten, einen Drucker zu emulieren:
  1. Abfangen der entsprechenden Sprungverteileraufrufe
  2. Emulation einer Centronics-Schnittstelle am Anwendertor

Bei der ersten Variante werden die Aufrufe für Druckausgaben am Sprungverteiler abgefangen und an den aktuellen Druckauftrag anhängt. Ein Druckertreiber ist nicht nötig. Allerdings funktioniert diese Variante nur bei Programmen, die für Druckerausgaben auch den Sprungverteiler verwenden.

Bei der zweiten Variante ist entweder ein Druckertreiber erforderlich oder aber das Anwendungsprogramm bedient selbst die Centronics-Schnittstelle. Datenausgaben an der emulierten Centronics-Schnittstelle werden an den aktuellen Druckauftrag anhängt.

1.6. Joysticks (Spielhebel)

Für den Z1013 wurden mehrere Hardware-Varianten für den Anschluss von Joysticks veröffentlicht sowie eine entsprechende Software-Schnittstelle definiert. JKCEMU kann sowohl die drei gängigen Hardware-Varianten als auch die Software-Schnittstelle emulieren. Es hängt allerdings vom konkreten Spiel- bzw. Anwendungsprogramm ab, welche Art der Emulation Sie aktivieren müssen.

Manche Programme fragen direkt das Anwendertor ab, an dem die Spielhebel angeschlossen sind. In dem Fall müssen Sie in den Einstellungen im Bereich Z1013 im Reiter Anwendertor die richtige Joystick-Hardware auswählen.

Benutzt dagegen das Spiel- bzw. Anwendungsprogramm die Software-Schnittstelle, dann aktivieren Sie auf der Unterseite Sonstiges die Option Sprungverteileraufrufe für Joystick-Abfragen abfangen. In dem Fall emuliert JKCEMU den Joystick-Treiber, der normalerweise bei Joystick-Abfragen über den Sprungverteiler aufgerufen wird. Alternativ können Sie aber auch diese Option ausschalten und selbst einen passenden Joystick-Treiber laden, der die Verbindung zwischen der Software-Schnittstelle und der (emulierten) Hardware herstellt.

1.7. Floppy-Disk-Modul

Das Floppy-Disk-Modul wird an folgenden Ein-/Ausgabeadressen emuliert:
E/A-AdresseBedeutung
F0h Statusregister
F1h Datenregister
F8h Terminal Count
FAh RESET


1.8. USB-Anschluss (Vinculum VDIP Modul)

Das USB-Modul wird an den E/A-Basisadressen DCh und FCh emuliert. Ist das Mega-ROM-Modul aktiviert, wird das USB-Modul nur an der Basisadresse DCh emuliert, da es sonst einen Konflikt mit der E/A-Adresse FFh geben würde.

1.9. Echtzeituhrmodul

Es wird eine Echtzeituhr RTC-62421 bzw. RTC-72421 an den E/A-Adressen 70h bis 7Fh emuliert. Die Uhr kann nur gelesen, nicht aber gestellt werden.

2. Im ROM enthaltene Software


Die ROM-Inhalte können Sie in den Einstellungen durch Angabe externer ROM-Dateien ersetzen.

Achtung! Wenn Sie auf diese Art und Weise ein anderes Monitorprogramm einbinden, müssen Sie sicherstellen, dass in den Einstellungen die richtige Tastaturhardware ausgewählt ist.

3. Enthaltene Diskettenabbilder

JKCEMU enthält für die Z1013-Emulation folgende Diskettenabbilder:
Die Laufwerkszuordnung bei beiden Diskettenabbildern ist:

A:RAM-Floppy
B: erstes Diskettenlaufwerk, 820-KByte-Format
C: erstes Diskettenlaufwerk, 624-KByte-Format
D: erstes Diskettenlaufwerk, 780-KByte-Format
Achtung! Dieses Format haben die Diskettenabbilder selbst, d.h., sie sind unter dem Laufwerk D: ansprechbar.
E: erstes Diskettenlaufwerk, 800-KByte-Format

Auf der CP/M-Boot-Diskette für 80x25 Zeichen sind in User-Ebene 15 auch die Quelltexte für das BIOS enthalten. Anleitungen dazu finden Sie als Textdateien in User-Ebene 0. Diese Dateien können mit dem CP/M-Kommando TYPE gelesen werden.

4. Sonstiges

4.1. BASIC-Programme speichern, laden und öffnen

JKCEMU bietet eine spezielle Unterstützung für das Speichern und Laden von BASIC-Programmen sowie für das Öffnen von im Arbeitsspeicher befindlichen BASIC-Programmen im Texteditor. Die entsprechenden Funktionen finden Sie im Menü Datei.

Folgende BASIC-Interpreter werden unterstützt:

Beim Speichern von BASIC-Programmen erscheint ein Fenster zur Auswahl des Dateiformats. Speichern Sie bitte Tiny-BASIC-Programme als Headersave-Datei (*.z80) mit dem Dateityp b und KC-BASIC-Programme entweder als KC-BASIC-Programmdatei (*.sss) oder als Headersave-Datei (*.z80) mit dem Dateityp B.

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.

4.2. Einfügen von Text

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 Z1013 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 INKEY. 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 INKEY-Systemfunktion abfragen, funktioniert das Einfügen von Text nicht, und Sie müssen die Option ausschalten.

Bei dieser Option muss JKCEMU die Startadresse der INKEY-Funktion kennen. Das ist für die im Emulator integrierten Monnitorprogramme der Fall. Sollten Sie jedoch ein anderes Betriebssystem starten oder durch Einbinden eines externen ROM-Images ein anderes Monitorprogramm verwenden, bei dem die INKEY-Funktion auf einer anderen Adresse beginnt, müssen Sie die Option ebenfalls ausschalten.

© 2008-2016 Jens Müller