[ Zu JKCEMU ]


JKCEMU als AC1-Emulator



Bildschirmfoto der AC1-Emulation

1. Emulierte Hardware

Den AC1 gibt es prinzipiell in drei verschiedenen Ausbaustufen: Ur-AC1 (erste veröffentlichte Ausbaustufe), AC1-ACC (die Weiterentwicklung des Amateur Computerclubs Berlin) und AC1-SCCH (die Weiterentwicklung des Studio Computerclubs Halle). Hinzu kommt ein mit AC1-2010 bezeichneter Entwurf aus dem Jahr 2010, der auf dem SCCH-Konzept basiert.

Da der AC1 als Bauanleitung veröffentlicht wurde, sind auch viele andere Konfigurationen und Weiterentwicklungen anzutreffen.

Emuliert werden:

1.1. 64 KByte RAM

Bei AC1-ACC, AC1-SCCH und AC1-2010 werden 64 KByte RAM emuliert. Die unteren 8 KByte liegen parallel zum ROM für das Monitorprogramm, Bildwiederholspeicher und SRAM und können über die IO-Ports 1Ch bis 1Fh sowie bei AC1-SCCH und AC1-2010 auch über IO-Port 14h ein- und wieder ausgeblendet werden.

Achtung! Bei AC1-SCCH und AC1-2010 können die 64 KByte RAM auch dann beschrieben werden, wenn in dem betreffenden Adressbereich ROM eingeblendet ist (sogenanntes "Durchschreiben").

1.2. Floppy-Disk-Modul

Das Floppy-Disk-Modul wird an folgenden E/A-Adressen emuliert:
E/A-Adresse (hexadezimal) ZugriffBedeutung
40 R FDC-Statusregister
41 RW FDC-Datenregister
42, 43 W WAIT-Mode (bis zum nächsten FDC-Interrupt warten)
44, 45 W
  • Bit 1: WAIT-Freigabe (siehe Port 42/43)
  • Bit 4: Terminal Count
48 W Terminal Count (unabhängig vom ausgegebenen Wert)


1.3. SCCH-Modul 1

Das SCCH-Modul 1 stellt zusätzlichen ROM zur Verfügung, und zwar:
Gesteuert wird das Modul über das Ausgabetor 14h:
Bit 0: Programmpaket X im Bereich E000-FFFF einblenden
Bit 1: Grafik/Sound-BASIC im Bereich 4000-5FFF einblenden
Bit 3: Ein Segment der ROM-Disk im Bereich C000-FFFF bzw. 8000-FFFF einblenden,
Die Bits 0, 4, 5 und 6 legen das entsprechende 16K- bzw. 32K-Segment fest.

JKCEMU liefert keinen Inhalt für das Programmpaket X und die ROM-Disk mit. Diesen müssen Sie in den Einstellungen durch Einbinden von ROM-Dateien festlegen.

1.4. SCCH-Modul 3

Das SCCH-Modul 3 stellt je nach Bestückung 64, 128, 256, 320 oder 512 KByte zusätzlichen RAM zur Verfügung, der über E/A-Befehle in den Arbeitsspeicher eingeblendet werden kann. Konkret wird über die Bits 0 bis 3 des E/A-Tors 15h einer von 16 möglichen 64 KByte größen Blöcken ausgewählt, der dann entsprehend der Bits 4 bis 7 des gleichen IO-Ports nur lesend, nur schreibend oder lesend und schreibend (dann aber nur 32 KByte) eingeblendet wird.

Der Adressraum für den zusätzlichen RAM beträgt 1 MByte (16 x 64 KByte). Obwohl das Originalmodul nur mit max. 512 KByte bestückt werden kann, emuliert JKCEMU die theoretisch möglichen 1 MByte. Das hat den Vorteil, dass Software, die diesen zusätzlichen RAM verwendet, nicht speziell für den Einsatz in JKCEMU konfiguriert werden muss, denn auf jeder Adresse, wo die jeweilige Software RAM voraussetzt, wird sie in JKCEMU auch RAM vorfinden.

1.5. SCCH-Inversschaltung

Die SCCH-Inversschaltung erkennt die im Bildwiederholspeicher stehenden Bytes mit den Werten 10h und 11h. Bei 11h wird die Inversdarstellung ein- und bei 10h wieder ausgeschaltet. Unabhängig davon wird am Zeilenende die Inversdarstellung immer ausgeschaltet.

1.6. Inverstaste (F1)

Die SCCH-Inversschaltung enthält im Original auch einen Schalter, mit dem der gesamte Bildschirm invertiert werden kann. JKCEMU emulierte diesen Schalter mit der Taste F1. Obwohl im Original nicht üblich, wird der Inversschalter auch beim Ur-AC1 und beim AC1-ACC emuliert.

1.7. Grafiktaste (F2)

Mit der Grafiktaste (F2) ist die Eingabe von Grafikzeichen über die Tastatur möglich. Dies muss allerdings vom jeweiligen Anwendungsprogramm auch so unterstützt werden. Das in JKCEMU enthaltene Grafik/Sound-BASIC unterstützt die Grafiktaste.

1.8. Zeichensatzumschaltung

Die Zeichensatzumschaltung wird nur beim Monitorprogramm 10/88 emuliert. Über die System-PIO kann zwischen dem Zeichensatz des AC1-ACC (PIO B3=0) und dem SCCH-Zeichensatz (PIO B3=1) umgeschaltet werden. Die Umschaltung funktioniert auch, wenn Sie in den Einstellungen eine alternative Zeichensatzdatei angegeben haben. Wenn diese Datei größer als 2 KByte ist, wird zwichen den unteren und den oberen 2 KByte umgeschaltet.

1.9. V24-Schnittstelle mit Drucker

Es wird die zusätzliche PIO (E/A-Adressen 08-0Bh) mit der darüber realisierten V24-Schnittstelle und einem daran angeschlossenen Drucker emuliert. Die Druckerschnittstelle ist dabei auf die Parameter eingestellt, die die integrierten SCCH-Monitorprogramme nach einem RESET einnehmen. So können über die Funktionen der SCCH-Monitorprogramme Zeichen auf dem emulierten Drucker ausgegeben werden, ohne die V24-Parameter ändern zu müssen.

Zum einfachen Ausprobieren der Druckeremulation können Sie in einem SCCH-Monitorprogramm mit Ctrl-X die Bildschirmausgabe zusätzlich auf den Drucker leiten. Mit Ctrl-Y schalten Sie das wieder aus.

2. Im ROM enthaltene Software


3. BASIC

3.1. Laden, Speichern und Öffnen von BASIC-Programmen

JKCEMU bietet spezielle Unterstützung für das Laden und Speichern 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 im Headersave-Format, welches bereits vorausgewählt ist. Nur dann ist sichergestellt, dass Sie das BASIC-Programm später auch wieder problemlos laden können. Bei einem anderen Dateiformat werden nämlich beim Laden die Systemzellen des BASIC-Interpreters nicht angepasst, und Sie können das BASIC-Programm im Interpreter nicht richtig nutzen.

3.2. Grafik/Sound-BASIC

Der Grafik/Sound-BASIC-Interpreter Version 3.2 ist im SCCH-Mode verfügbar und liegt in einem Hintergrund-ROM im Adressbereich 4000-5FFF. Standardmäßig befindet sich in diesem Adressbereich RAM. Über das Bit 1 des IO-Ports 14h kann der ROM in den Vordergrund geholt und somit der BASIC-Interpreter in dem Adressbereich sichtbar gemacht werden.

Mit den im Emulator integrierten SCCH-Monitorprogrammen können Sie das BASIC mit dem Kommando b direkt aufrufen (Kaltstart). Dabei wird auch der BASIC-ROM in den Vordergrund geholt. Einen Warmstart des Interpreters führen Sie mit dem Kommando r aus.

© 2008-2011 Jens Müller