Hinweise zur Emulation des LLC2

Der LLC2 ist ein von Dr. Gerd Maudrich 1985 entwickelter Eigenbau-Computer.

1. Emulierte Hardware


1.1. Speicher

Die unteren 48 KByte RAM sind nach dem Einschalten bzw. nach einem RESET nicht sichtbar. Erst mit einem Ein-/Ausgabebefehl auf die Adresse E0h werden der ROM aus- und der RAM eingeblendet. Mit diesem Mechanismus lädt sich das Monitorprogramm vom ROM in den RAM um.

1.2. SCCH-Modul 1

Das SCCH-Modul 1 stellt zusätzlichen ROM zur Verfügung, und zwar:
Gesteuert wird das Modul über das Ausgabetor ECh:
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 einblenden,
Die Bits 0, 4, 5 und 6 legen das entsprechende 16K-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.3. 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 EDh 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.4. 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.5. Inversschaltung über System-PIO B5

Bei dieser Schaltung wird der Inversmodus mit Bit 5 am Tor B der System-PIO (IO-Adresse E9h) aktiviert. Im Inversmodus werden dann alle Zeichen invertiert ausgegeben, bei denen Bit 7 gesetzt ist.

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.

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. Floppy-Disk-Modul

Das Floppy-Disk-Modul wird an folgenden E/A-Adressen emuliert:
E/A-Adresse (hexadezimal) ZugriffBedeutung
A0 R FDC-Statusregister
A1 RW FDC-Datenregister
A2, A3 RW simulierter DMA-Zugriff auf FDC-Datenregister
A4, A5 R Input Gate für Laufwerks- und FDC-Signale:
  • Bit 4: Indeximpuls (negiert)
  • Bit 5: Ready-Signal
  • Bit 6: Interrupt-Signal (negiert)
  • Bit 4: DMA-Request (negiert)
A6, A7 W Bit 0...3: Auswahl Laufwerk
A8, A9 RW Terminal Count,
Der ausgegebene bzw. gelesene Wert hat keine Bedeutung.


1.9. V24-Schnittstelle mit Drucker

Es wird die zusätzliche PIO (E/A-Adressen E4h-E7h) mit der darüber realisierten V24-Schnittstelle und einem daran angeschlossenen Drucker emuliert. Die Druckerschnittstelle ist dabei auf die Parameter eingestellt, die das integrierte Monitorprogramm nach einem RESET einnimmt. So können über die Funktionen des Monitorprogramms Zeichen auf dem emulierten Drucker ausgegeben werden, ohne die V24-Parameter ändern zu müssen.

Zum einfachen Ausprobieren der Druckeremulation können Sie im 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. Grafik/Sound-BASIC

Der Grafik/Sound-BASIC-Interpreter Version 3.2 liegt in einem Hintergrund-ROM im Adressbereich 4000h-5FFFh. Standardmäßig befindet sich in diesem Adressbereich RAM. Über das Bit 1 des IO-Ports ECh 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.

3.2. Speichern von BASIC-Programmen

JKCEMU bietet spezielle Unterstützung für das Speichern und Laden von BASIC-Programmen. Zum Speichern nutzen Sie bitte die Funktion BASIC-Programm speichern... im Menü Datei und speichern das Programm als Headersave-Datei mit dem Dateityp B.

Nur wenn Sie das BASIC-Programm so speichern, werden beim Laden des Programms die Systemzellen des BASIC-Interpreters richtig angepasst. In jedem anderen Fall können Sie zwar das BASIC-Programm laden, aber im Interpreter nicht richtig nutzen.