Hinweise zur Emulation des Z1013


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

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 zur Bedienung angegeben. Diese steht im Emulator als Tastaturansicht zur Verfügung.

1.3. Peters-Platine

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

Bedeutung der Bits von IO-Port 4:
Bit Bedeutung bei Wert 0 (Standard) Bedeutung bei Wert 1
4 ROM eingeblendet ROM aus- und dafür RAM eingeblendet,
Im Emulator extern eingebundene ROM-Images werden nicht ausgeblendet.
5 Standardzeichensatz alternativer Zeichensatz,
Der Emulator schaltet auf einen Zeichensatz mit deutschen Umlauten nach ISO 646 und inversen Zeichen um.
6 Taktfrequenz 2 MHz Taktfrequenz 4 MHz,
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.

In 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. Spielhebel (Joysticks)

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, Unterseite 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 allerdings nur an der Basisadresse DCh emuliert, da es sonst einen Konflikt mit der E/A-Adresse FFh geben würde.

1.9. Echtzeituhrmodul mit RTC-72421

Die Echtzeituhr wird an den IO-Adressen 70h bis 7Fh emuliert. Die Zeit kann nur gelesen, nicht aber gesetzt 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

Auf der CP/M-Boot-Diskette für 80x25 Zeichen sind auch in User-Ebene 15 die Quelltexte für das BIOS enthalten.

4. Sonstiges

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