Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| homecomputer:ac1:modul-1 [2023/01/31 12:37] – [Software] volkerp | homecomputer:ac1:modul-1 [2026/08/12 08:09] (aktuell) – downloads volkerp | ||
|---|---|---|---|
| Zeile 4: | Zeile 4: | ||
| * {{ : | * {{ : | ||
| - | * {{ : | + | * {{ : |
| + | * {{ : | ||
| + | Hinweis zum Nutzen des angepassten JKCEMU-AC1: | ||
| + | * bnkanf EQU 8000h, nxtbnkprc equ 1 | ||
| + | * ROM-Datei für Programmpaket X: paket_x.bin | ||
| + | * ROM-Datei für ROM-Disk: packedroms.bin | ||
| + | * ROM-Disk einblenden ab: 8000h | ||
| + | |||
| + | oder: | ||
| + | * bnkanf EQU 8000h, nxtbnkprc equ 2 | ||
| + | * ROM-Datei für Programmpaket X: paket_x.bin | ||
| + | * ROM-Datei für ROM-Disk: jkcemu_xrom.bin | ||
| + | * ROM-Disk einblenden ab: 8000h | ||
| + | * ROM-Disk für physisches Modul-1 am AC1-2010: packedroms.bin | ||
| + | |||
| + | ggf vorab mit testrom.bin die zu nutzende Verschachtelung testen! | ||
| ===== Technik ===== | ===== Technik ===== | ||
| Zeile 15: | Zeile 30: | ||
| Gesteuert wird das Modul über Port 14h: | Gesteuert wird das Modul über Port 14h: | ||
| * Bit 0: Programmpaket X im Bereich E000-FFFF einblenden | * Bit 0: Programmpaket X im Bereich E000-FFFF einblenden | ||
| - | * Bit 1: Grafik/ | + | * Bit 1: Grafik/ |
| + | * Bit 2: CP/M-Modus (Monitor und BWS aus, alles RAM, AC1-2010: Signal C22) | ||
| * Bit 3: Ein Segment der ROM-Disk im Bereich C000-FFFF bzw. 8000-FFFF einblenden, | * Bit 3: Ein Segment der ROM-Disk im Bereich C000-FFFF bzw. 8000-FFFF einblenden, | ||
| * Bit 0 aktiviert dabei ROM1 bzw. ROM2 | * Bit 0 aktiviert dabei ROM1 bzw. ROM2 | ||
| Zeile 32: | Zeile 48: | ||
| Gesteuert wird das Modul über Port 14h: | Gesteuert wird das Modul über Port 14h: | ||
| * Bit 0: Programmpaket X im Bereich E000-FFFF einblenden | * Bit 0: Programmpaket X im Bereich E000-FFFF einblenden | ||
| - | * Bit 1: Grafik/ | + | * Bit 1: Grafik/ |
| * Bit 3: Ein Segment der ROM-Disk im Bereich 8000-FFFF einblenden | * Bit 3: Ein Segment der ROM-Disk im Bereich 8000-FFFF einblenden | ||
| * Bit 0 aktiviert dabei ROM1 bzw. ROM2 | * Bit 0 aktiviert dabei ROM1 bzw. ROM2 | ||
| Zeile 79: | Zeile 95: | ||
| Aufgrund meiner Erfahrungen mit ROM-Modulen für Z9001, Z1013 und den TINY habe ich eine "Paket X" | Aufgrund meiner Erfahrungen mit ROM-Modulen für Z9001, Z1013 und den TINY habe ich eine "Paket X" | ||
| - | 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. | + | 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. [[# | ||
| + | |||
| + | ===== JKCEMU ===== | ||
| + | |||
| + | der JKCEMU 0.9.8.2 emuliert das Paket X nur in der Modellversion AC1-SCCH. | ||
| + | Es werden die ROM-Bänke 08, | ||
| + | |||
| + | Die beiden Dateien prog_x_e000_001.bin und x_rom_001.bin von http:// | ||
| + | |||
| + | Die Emulation des 1MB-Modul-1 nach Hänke/ | ||
| + | * src\jkcemu\emusys\AC1.java: | ||
| + | * src\jkcemu\emusys\ac1_llc2\AbstractSCCHSys.java: | ||
| + | * Das ROM-Image muss aus den beiden ROM1 und ROM2 in 64K-Teilen verschachtelt werden: Reihenfolge 08, | ||
| + | * src\jkcemu\emusys\AC1.java: | ||
| + | |||
| + | ===== Test-ROM ===== | ||
| + | |||
| + | Verschiedene Varianten des Modul-1 blenden den ROM unterschiedlich ein. Um die Variante bei unbekannter Hardware zu ermitteln, bietet sich ein Test-ROM an. | ||
| + | |||
| + | Der Test-ROM ist ein 1MB-ROM. Er ist fortlaufend in 16K große Teile (Bänke) zerlegt. | ||
| + | In jeder Bank stehen die laufende Bank-Nr. und die Anfangsadresse der Bank im ROM. | ||
| + | |||
| + | Mit Out-Befehlen wird eine beliebe X-Bank aktiviert und geschaut, welcher Teil des ROMs aktiv ist: | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Hier erkennt man am letzten Beispiel, dass auf X-Port 19h der ROM-Bank-Teil Nr. 6 (hex) aktiviert wird. Dieser beginnt im ROM ab Adr. 00018000. | ||
| + | |||
| + | Bekannte Varianten der Ansteuerung | ||
| + | |||
| + | < | ||
| + | ; | ||
| + | ; Variante 1 laufende Banknummern liegen im ROM hintereinander (orig Modul1, jkcemu) | ||
| + | ; nächste Bank 08, | ||
| + | ; | ||
| + | db 08h, | ||
| + | db 48h, | ||
| + | db 88h, | ||
| + | db 0C8h, | ||
| + | |||
| + | ; | ||
| + | ; Variante 2 Banknummern erst ROM1 x8 dann ROM2 x9 (1-MByte-Modul-1 AC1-2010, 2 ROMs) | ||
| + | ; nächste Bank 08...F8, dann 09..F9 | ||
| + | ; | ||
| + | db 08h, | ||
| + | db 88h, | ||
| + | db 09h, | ||
| + | db 89h, | ||
| + | |||
| + | ; | ||
| + | ; Variante 3 | ||
| + | ; | ||
| + | db 08h, | ||
| + | </ | ||