[ Zu JKCEMU ]


JKCEMU als AC1-Emulator

Der Amateurcomputer 1 (AC1) ist ein Selbstbaucomputer, dessen Bauanleitung ab 1983 in Form einer Beitragsserie in der Zeitschrift Funkamateur erschienen ist.

Screenshot der AC1-Emulation

1. Emulierte Hardware

Den AC1 gibt es prinzipiell in drei verschiedenen Ausbaustufen: Ur-AC1, Standard-AC1 und SCCH-AC1. Da er als Bauanleitung veröffentlicht wurde, sind aber auch viele andere Konfigurationen anzutreffen.

Emuliert werden:

1.1. 64 KByte DRAM

Bei Standard- und SCCH-AC1 werden 64 KByte DRAM emuliert. Diese befinden sich physisch in einem globalen RAM-Bereich, der von allen emulierten Systemen gemeinsam genutzt wird. 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 beim SCCH-AC1 auch über IO-Port 14h ein- und wieder ausgeblendet werden.

Achtung! Beim SCCH-AC1 kann der DRAM auch dann beschrieben werden, wenn in dem betreffenden Adressbereich ROM eingeblendet ist ("Durchschreiben" auf den DRAM).

1.2. Floppy-Disk-Controller

Bei Standard- und SCCH-AC1 wird eine Floppy-Disk-Ansteuerung entsprechend der Computerclubs Berlin und Dessau an folgenden IO-Adressen emuliert:
IO-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, Rubrik ROM, durch Einbinden von ROM-Image-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 IO-Befehle in den Arbeitsspeicher eingeblendet werden kann. Konkret wird über die Bits 0 bis 3 des IO-Ports 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 max. 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.

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-2010 Jens Müller