Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
homecomputer:ac1:modul-1 [2023/01/31 12:37] – [Software] volkerphomecomputer:ac1:modul-1 [2026/08/12 08:09] (aktuell) – downloads volkerp
Zeile 4: Zeile 4:
  
   * {{ :homecomputer:ac1:modul_1.zip |}} ROM-Inhalte und die extrahierten Programme von 7 verschiedenen Zusammenstellungen\\ außerdem reass. Quellcode der Softwareversion "Paket X.2 (ROM - Disk Verwaltung)".   * {{ :homecomputer:ac1:modul_1.zip |}} ROM-Inhalte und die extrahierten Programme von 7 verschiedenen Zusammenstellungen\\ außerdem reass. Quellcode der Softwareversion "Paket X.2 (ROM - Disk Verwaltung)".
-  * {{ :homecomputer:ac1:modul_1_paket_vp.zip |}} Meine Paket-X-Verwaltungs-Software +  * {{ :homecomputer:ac1:ac1-modul-1-roms.zip |}} Meine Paket-X-Software incl. angepasster JKCEMU-AC1 zum testen Stand 12.08.2026 
 +  * {{ :homecomputer:ac1:ac1-modul-1.zip |}} Die Quellen zu meiner Software incl. Softwaresammlung, Doku etc. Stand 12.08.2026
  
 +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/Sound-BASIC im Bereich 4000-5FFF einblenden +  * Bit 1: Grafik/Sound-BASIC im Bereich 4000-5FFF einblenden 
 +  * 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/Sound-BASIC im Bereich 4000-5FFF einblenden +  * Bit 1: Grafik/Sound-BASIC im Bereich 4000-5FFF bzw. 2000-5FFF einblenden (je nach Jumper JP1) 
   * 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"-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. 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.+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! 
 + 
 +{{:homecomputer:ac1:modul1-vp.png|}} 
 + 
 +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: 
 +  * src\jkcemu\emusys\AC1.java: in writeIOByte 32 Bänke erlauben: ''int bank = (value & 0x01) | ((value >> 3) & 0x0E)'' -> ''...((value >> 3) & 0x1E);'' 
 +  * src\jkcemu\emusys\ac1_llc2\AbstractSCCHSys.java: in loadScchROMs die ROM-Größe anpassen: ''this.scchRomdiskBytes = readROMFile(this.scchRomdiskFile, 0x40000, "SCCH-Modul 1 ROM-Disk" );'' ->  ''0x100000'' (1 MB) 
 +  * Das ROM-Image muss aus den beiden ROM1 und ROM2 in 64K-Teilen verschachtelt werden: Reihenfolge 08,09..78,79,...,F8,F9. Oder man modifiziert den Zugriff in src\jkcemu\emusys\AC1.java in loadScchROMs, so dass beide ROMs einfach hintereinander kopiert werden können 
 +  * src\jkcemu\emusys\AC1.java: Hier sollte dem AC1 auch eine NMI-Taste gegönnt werden: ''case KeyEvent.VK_F3:  this.emuThread.getZ80CPU().fireNMI();'' 
 + 
 +===== 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: 
 + 
 +{{:homecomputer:ac1:testrom.png|}} 
 + 
 +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 
 + 
 +<code> 
 +;------------------------------------------------------------------------------ 
 +; Variante 1 laufende Banknummern liegen im ROM hintereinander (orig Modul1, jkcemu) 
 +; nächste Bank 08,09,18,19,...F8,F9 
 +;------------------------------------------------------------------------------ 
 + db 08h,09h,18h,19h,28h,29h,38h,39h 
 + db 48h,49h,58h,59h,68h,69h,78h,79h 
 + db 88h,89h,98h,99h,0A8h,0A9h,0B8h,0B9h 
 + db 0C8h,0C9h,0D8h,0D9h,0E8h,0E9h,0F8h,0F9h 
 + 
 +;------------------------------------------------------------------------------ 
 +; 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,18h,28h,38h,48h,58h,68h,78h 
 + db 88h,98h,0A8h,0B8h,0C8h,0D8h,0E8h,0F8h 
 + db 09h,19h,29h,39h,49h,59h,69h,79h 
 + db 89h,99h,0A9h,0B9h,0C9h,0D9h,0E9h,0F9h 
 + 
 +;----------------------------------------------------------------------------- 
 +; Variante 3 
 +;------------------------------------------------------------------------------ 
 + db 08h,09h,28h,29h,88h,89h,0a8h,0a9h 
 +</code>
  
  • homecomputer/ac1/modul-1.1675168651.txt.gz
  • Zuletzt geändert: 2023/01/31 12:37
  • von volkerp