[ Zu JKCEMU ]


JKCEMU als Z9001-, KC85/1- und KC87-Emulator

Die Computer Z9001, KC85/1 und KC87 wurden im VEB Robotron-Meßelektronik Dresden hergestellt. Beim KC85/1 handelt es sich eigentlich nur um einen umbenannten Z9001. Es wurde allerdings im Laufe der Zeit das Betriebssystem fehlerbereinigt, sodass die ersten als Z9001 ausgelieferten Geräte die Betriebssystemversion 1.1 enthielten und später erst die Version 1.2 eingeführt wurde. Da einige Monate nach Produktionsbeginn auch die Umbenennung in KC85/1 erfolgte, kann man grob folgende Zuordnung treffen: Z9001 → Betriebssystemversion 1.1 und KC85/1 → Betriebssystemversion 1.2. Obwohl diese Zuordnung nicht ganz der Realität entspricht (der Versionssprung hat mit der Umbenennung eigentlich nichts zu tun, sie liegen nur zeitlich relativ nah beieinander.), emuliert JKCEMU beide Geräte als separate Systeme mit unterschiedlichen Betriebssystemversionen.

Das Z9001-Betriebssystem ist als Version 1.3 auch im KC87 enthalten. Deshalb meldet sich der KC87 ebenfalls als Z9001.

Screenshot der KC87-Emulation

1. Emulierte Hardware


1.1. Tastatur

Für einige Tasten auf der Z9001-Tastatur gibt es üblicherweise keine direkten gleichnamigen Tasten auf der Tastatur des Emulator-Rechners. Diese Tasten werden aber trotzdem emuliert, und zwar:
Z9001-TasteEmuliert mittels
ZeilenanfangShift-Links
ZeilenendeShift-Rechts
ESCEscape
INSEinfg
DELEntf oder Shift-Einfg
GRAPHICF1
COLORF2
LISTF3
RUNF4
STOPF5
PAUSEF6
CONTF7 oder Shift-F6
CR-LNF8 oder Shift-Escape


1.2. 64 KByte RAM-Modul

Dieses Modul stellt zusätzlichen RAM im Bereich von 4000 bis E7FF sowie einen Hintergrund-RAM im Bereich 4000-7FFF zur Verfügung. Da der Bereich ab E800 dem Farbattribut- und Bildwiederholspeicher sowie dem Betriebssystem-ROM vorbehalten ist und somit nicht durch das RAM-Modul belegt werden kann, sind nur 58 KByte des Moduls nutzbar. Insgesamt stehen somit 74 KByte RAM zur Verfügung.

Ein IO-Befehl auf Port 5 schaltet den Hintergrund-RAM ab 4000 ein. Ein IO-Befehl auf Port 4 deaktiviert diesen wieder. Port 7 dient zum Einblenden des RAMs im Bereich ab C000. Beim KC87 wird damit auch der BASIC-ROM ausgeblendet. Ein IO-Befehl auf Port 6 macht das wieder rückgängig.

1.3. Drucker

In den Einstellungen können Sie eine von zwei Möglichkeiten zur Emulation eines Druckers aktivieren: die Emulation eines V24-Druckermoduls oder das Abfangen der BOS-Aufrufe für Druckerausgaben.

1.3.1. Emulation eines V24-Druckermoduls

Haben Sie diese Option aktiviert, werden zusätzlich eine CTC und eine SIO emuliert und die am Kanal A der SIO ausgegebenen Daten an den aktiven Druckauftrag angehängt. Damit das Drucken auch in den Anwendungsprogrammen funktioniert, müssen Sie noch einen Treiber laden, der die datentechnische Verbindung zwischen dem Betriebssystem und dem Druckermodul herstellt. Das Druckermodul enthält im Adressbereich B800-BFFF auch einen ROM mit den relativ universellen Treibern V24A1, V24A2 und V24A3. Allerdings muss dieser ROM ausgeschaltet werden, wenn im gleichen Adressbereich ein RAM-Modul aktiv ist. JKCEMU emuliert deshalb diesen ROM nur, wenn die emulierte RAM-Größe max. 32 KByte beträgt.

1.3.2. BOS-Aufrufe für Druckerausgaben abfangen

Bei dieser Option können Sie auch ohne einen Treiber drucken, da JKCMEU einfach die entsprechenden Betriebssystemaufrufe abfängt. Allerdings kann man dann auch nicht die Vorteile eines Treibers nutzen wie z.B. eine spezielle Aufbereitung der Druckdaten.

1.4. Vollgrafik

Der Z9001 und seine Nachfolger haben keine Vollgrafik an Board, sondern nur eine Blockgrafik. Es gibt jedoch Vollgrafikerweiterungen.

1.4.1. Robotron-Vollgrafikerweiterung

Die von Robotron entwickelte Vollgrafikerweiterung wurde nicht als industriell hergestelltes Modul vertrieben, sondern stand nur als Bauanleitung zur Nachnutzung zur Verfügung. Die Vollgrafikerweiterung kommt mit einem separaten Bildwiederholspeicher für 320x192 Pixel daher und arbeitet mit nur zwei Farben, die aus der Farbpalette des Farbmoduls programmtechnisch ausgewählt werden können. Das Farbmodul ist somit zwingend erforderlich. Aus diesem Grund emuliert JKCEMU die Robotron-Vollgrafikerweiterung auch nur in Verbindung mit dem Farbmodul.

1.4.2. KRT-Vollgrafikerweiterung

In den Kleinstrechnertips Heft 11 wurde eine relativ einfache Vollgrafikerweiterung für den Z1013 vorgestellt. Volker Pohlers und Ulrich Zander haben diese Schaltung mit kleinen Modifikationen (andere IO-Adressen, Pixeldaten nicht invertierend) an den Z9001 angepasst und ihr in Anlehnung an Kleinstrechnertips den Name KRT-Vollgrafikerweiterung gegeben.

Im Adressbereich des Bildwiederholspeichers liegen zusätzlich 8 parallele Speicherbänke. Jede dieser Bänke enthält die Pixeldaten für eine bestimmte Pixelzeile innerhalb einer Zeichenposition (Bank 0: oberste Pixelzeile innerhalb einer Zeichenzeile, Bank 7: unterste Pixelzeile innerhalb einer Zeichenzeile). Ein Byte in diesen Speicherbänken repräsentiert 8 nebeneinander stehende Pixel (höchstwertiges Bit links).

Die Steuerung erfolgt über das Ausgabetor B8h. Ein gesetztes Bit 3 aktiviert die Vollgrafik, d.h. aus dem Adressraum wird der originale Bildwiederholspeicher ausgeblendet und dafür die mit Bit 0 bis 2 angegebene Speicherbank eingeblendet.

1.5. Boot-Modul

Das Boot-Modul meldet sich mit CP/M-System und gestattet durch Eingabe des Kommandos BOOT das Booten von Diskette. Da es nur in Verbindung mit dem Floppy Disk Modul sinnvoll ist, werden beide Module zusammen emuliert.

Achtung! Das Boot-Modul enthält einen ROM, der im gleichen Adressbereich liegt wie der BASIC-Interpreter des KC87. Aus diesem Grund ist der KC87-BASIC-ROM standardmäßig deaktiviert. Er kann zwar softwaremäßig aktiviert werden, allerdings gibt es dafür kein Benutzerkommando. Aus diesem Grund ist bei Emulation des Boot-Moduls das BASIC im KC87 praktisch nicht nutzbar.

1.6. Floppy Disk Modul

Es gibt ein Floppy Disk Modul von Robotron und eins vom Zentralinstitut für Kernforschung der DDR in Rossendorf. Beide Varianten unterscheiden sich nur in den IO-Adressen und in der Auslösung des TC-Impulses. JKCEMU emuliert beide Varianten.

Achtung! Im Emulator ist ein Abbild einer CP/A-Systemdiskette enthalten (CP/M-Variante für Z9001 von Dr. Frank Schwarzenberg). Zum Booten dieses CP/M-Systems muss zusätzlich auch das 64 KByte RAM-Modul aktiviert werden.

2. Im ROM enthaltene Software

Emuliertes SystemSoftware
Z9001Z9001-OS 1.1
KC85/1Z9001-OS 1.2
KC87 Z9001-OS 1.3
HC-BASIC 86 (Plotter-BASIC)


3. Sonstiges

3.1. Einbindung externer ROM-Images

Sie können in den Einstellungen externe ROM-Images an jeder beliebigen Adresse einbinden. Bei der Emulation des 64K-RAM-Moduls gilt allerdings zu beachten, dass ein im Adressbereich 4000 bis 7FFF eingebundenes ROM-Image immer nur dann sichtbar ist, wenn der Hintergrund-RAM ausgeblendet ist. Des weiteren ist ein im Adressbereich C000 bis E7FF eingebundenes ROM-Image nur dann sichtbar, wenn in diesem Bereich das 64K-RAM-Modul nicht eingeblendet ist.

3.2. Speichern eines BASIC-Programms

JKCEMU bietet eine spezielle Unterstützung für das Speichern und Laden von BASIC-Programmen. Wird ein Z9001 bzw. KC85/1 emuliert, d.h., im ROM ist kein BASIC-Interpreter enthalten, sucht JKCEMU das BASIC-Programm im Adressbereich des RAM-BASIC-Interpreters (ab Adresse 2C01). Beim KC87 wird dagegen das BASIC-Programm gespeichert, das im Adressbereich des ROM-BASIC-Interpreters liegt (ab Adresse 0401).

3.3. Einfügen von Text

Das Einfügen von Text aus der Zwichenablage erfolgt normalerweise in der Art und Weise, indem für jedes einzufügende Zeichen das Drücken der entsprechenden Taste simuliert wird. Dieses Prinzip ist recht langsam. Für den Z9001 gibt es in den Einstellungen die Option Einfügen von Text direkt in den Tastaturpuffer. Bei dieser Option, die standardmäßig aktiv ist, werden die einzufügenden Zeichen direkt in den Tastaturpuffer geschrieben. Das ist wesentlich schneller, da dadurch das Drücken der entsprechenden Tasten nicht simuliert werden muss.

Sollten Sie jedoch in der Emulation ein anderes als das in JKCEMU integrierte Betriebssystem verwenden, wird diese Option möglicherweise nicht mehr funktionieren, da dort die Tastaturabfrage anders gestaltet sein kann. In dem Fall müssten Sie die Option ausschalten.

© 2008-2010 Jens Müller