Inhaltsverzeichnis

Modul-1

Downloads

Technik

Das originale SCCH-Modul-1 (ROMDISK) stellt zusätzlichen ROM zur Verfügung, und zwar:

Gesteuert wird das Modul über Port 14h:

Oder (andere Hardware, nur 1 ROM):

Das Modul-1 des AC1-2010 ist gegenüber dem Original erweitert:

Gesteuert wird das Modul über Port 14h:

Die ROM-Disk wird in Bänken zu je 32 kB in den Bereich 8000h…FFFFh eingeblendet. Die oberen (beim AC1 nicht verwendeten) 4 Bytes des ROM- Konfigurationsregisters #14 steuern die dabei einzelnen Bänke. Wird mit Bit3 des Registers die ROM-Disk aktiviert, so steuert Bit0 (wie im Original) die Auswahl des EPROMs. Folgende Zuordnungen ergeben sich damit:

00	RAM
01	Programm "X", 	E000-FFFF
02	BASIC,		2000-5FFF (4000-5FFF bei JP1 offen (8k) )
n8	Bank Nr. n ROM1	8000-FFFF
n9	Bank Nr. n ROM2	8000-FFFF
also
08h EPROM1 Bank0 09h EPROM2 Bank0
18h EPROM1 Bank1 19h EPROM2 Bank1
... ...
F8h EPROM1 Bank15 F9h EPROM2 Bank15, jeweils 8000-FFFF

Modul-1 - Ergänzungen:

Software

Voraussetzung für die Nutzung des Modul-1 ist ein AC1 mit SCCH-Monitor V8 oder 10/88 oder kompatibel.

Mit dem Kommando X wird mit Port 14h,Bit 1 der „PAKET-X“-Eprom aktiviert und die Modul-Software namens „Paket X“ auf dem auf Adresse E000 gestartet. Die Software listet die in der ROM-Bank abgelegten Programme auf. Nach Auswahl wird das entsprechende Programm in den RAM geladen, die ROMBANK deaktiviert und das Programm gestartet. BASIC-Programme können als Systemabzug gespeichert werden. Ein modifiziertes BASIC 3.2 auf dem Modul wird dazu benötigt. Je nach Softwareversion des „Paket X“ sind auch gepackte Programme möglich, die im ROM weniger Speicherplatz benötigen.

Das Hinzufügen weiterer Programme in die ROMBANK ist etwas komplexer. Der reine Binärabzug muss in ROM1 oder ROM2 so abgelegt werden, dass er vollständig in ein Segment passt. Zusätzlich muss im „PAKET-X“-Eprom ein Eintrag für das Programm geschrieben werden sowie passender Umlade- und Startcode. Es stehen dafür diverse Routinen bereit (je nach Softwareversion des „Paket X“ unterschiedliche Parameter, Funktionsadressen, Funktionen, …)

Zum Zerlegen vorhandener ROM-Bänke und der Extraktion der darauf liegenden Software habe ich ein paar Perl-Programme geschrieben. Die Programme erwarten 2 oder 3 Parameter

perl splitrom_xx.pl paketx.bin rom1.bin [rom2.bin]

splitrom_x1.pl ist die Version f. Programmpaket X Version 1.0, 8/89 H.Fey und einem ROM (Bit0 zählt Banken hoch) splitrom_x2.pl ist für Paket X V2 mit 2 ROMs (Bit0 wählt den ROM aus) und splitrom_x2b.pl für Paket X V2 mit einem ROM ab C000 (Bit0 zählt Banken hoch).

neue Software

Aufgrund meiner Erfahrungen mit ROM-Modulen für Z9001, Z1013 und den TINY habe ich eine „Paket X“-Version programmiert, die nicht mehr angepasst werden muss, wenn Programme in der ROM-Bank ausgetauscht werden. Der Eprom „PAKET-X“ muss nur einmal programmiert werden. Die Zahl der erlaubten Programme hat sich auf 999 vergrößert. Programme können mit ZX7 optimal gepackt werden und verbrauchen dann ca.30% weniger Speicherplatz im ROM. Ein erster Test-ROM enthält über 300 Programme; und es ist noch Platz!

s.o. Downloads oder github: https://github.com/hcddr/ac1/tree/master/modul1/romdiskverwaltung-neu

JKCEMU

der JKCEMU 0.9.8.2 emuliert das Paket X nur in der Modellversion AC1-SCCH. Es werden die ROM-Bänke 08,09..78,79 unterstützt, das ROM-Image darf maximal 256 kByte groß sein und muss die einzelnen ROM-Bänke in der Reihenfolge 08,09..78,79 enthalten (wie im originalen SCCH-Modul-1 mit einem ROM). Es sind 16k- und 32K-Bänke möglich.

Die beiden Dateien prog_x_e000_001.bin und x_rom_001.bin von http://www.ac1-info.de/ac1_scch/ac1_scch_baugruppen.htm können genutzt werden; die ROMs anderer Pakete müssen angepasst werden!

Die Emulation des 1MB-Modul-1 nach Hänke/Weidlich ist mit dem originalen JKCEMU nicht möglich. Man muss erst den Quellcode ändern: