Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
homecomputer:ac1:modul-1 [2023/01/31 12:08] – angelegt volkerphomecomputer:ac1:modul-1 [2024/03/27 20:06] (aktuell) – [Technik] frieder
Zeile 1: Zeile 1:
 ====== Modul-1 ====== ====== Modul-1 ======
 +
 +===== Downloads =====
 +
 +  * {{ :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:ac1-modul-1-roms.zip |}} Meine Paket-X-Software incl. angepasster JKCEMU zum testen Stand 27.2.2024
 +  * {{ :homecomputer:ac1:ac1-modul-1.zip |}} Die Quellen zu meiner Software incl. Softwaresammlung, Doku etc.
 +
 +===== Technik =====
  
 Das originale [[http://www.ac1-info.de/ac1_scch/ac1_scch_baugruppen.htm|SCCH-Modul-1 (ROMDISK)]] stellt zusätzlichen ROM zur Verfügung, und zwar:  Das originale [[http://www.ac1-info.de/ac1_scch/ac1_scch_baugruppen.htm|SCCH-Modul-1 (ROMDISK)]] stellt zusätzlichen ROM zur Verfügung, und zwar: 
Zeile 6: Zeile 14:
   * je nach Ausbau 256 oder 512 KByte für ROM-Disk "ROM1" + "ROM2"   * je nach Ausbau 256 oder 512 KByte für ROM-Disk "ROM1" + "ROM2"
  
-Gesteuert wird das Modul über das Ausgabetor 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, 
-  Die Bits 0, 4, 5 und 6 legen das entsprechende 16K- bzw. 32K-Segment fest.+    Bit 0 aktiviert dabei ROM1 bzw. ROM2  
 +    * die Bits 4, 5 und 6 legen das entsprechende 16K- bzw. 32K-Segment fest. 
 +Oder (andere Hardware, nur 1 ROM): 
 +  * Bit 3: Ein Segment der ROM-Disk im Bereich C000-FFFF bzw. 8000-FFFF einblenden,  
 +    * die Bits 0,4,5,6 legen das entsprechende 16K- bzw. 32K-Segment fest.
  
 Das [[http://www.ac1-info.de/ac1_2010/modul_1.htm|Modul-1 des AC1-2010]] ist gegenüber dem Original erweitert: Das [[http://www.ac1-info.de/ac1_2010/modul_1.htm|Modul-1 des AC1-2010]] ist gegenüber dem Original erweitert:
Zeile 19: Zeile 32:
 {{:homecomputer:ac1:modul1.jpg?300|}} {{:homecomputer:ac1:modul1.jpg?300|}}
  
-Gesteuert wird das Modul über das Ausgabetor 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 52: Zeile 65:
 Voraussetzung für die Nutzung des Modul-1 ist ein AC1 mit SCCH-Monitor V8 oder 10/88 oder kompatibel. 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 Konfigurationsregister #14 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.+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. 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.
  
Zeile 58: Zeile 71:
  
 Zum Zerlegen vorhandener ROM-Bänke und der Extraktion der darauf liegenden Software habe ich ein paar Perl-Programme geschrieben. 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!
 +
 +{{: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();''
 +
 +
  
  • homecomputer/ac1/modul-1.1675166938.txt.gz
  • Zuletzt geändert: 2023/01/31 12:08
  • von volkerp