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
z9001:module_sonstige:kombimodul [2017/04/08 10:26] – [Tabelle] volkerpz9001:module_sonstige:kombimodul [2021/03/02 14:46] (aktuell) volkerp
Zeile 1: Zeile 1:
 ====== Kombi-Modul ====== ====== Kombi-Modul ======
  
-Das Kombi-Modul ist eine Entwicklung von U. Zander (http://www.sax.de/~zander/z9001/module/kombi.html).+{{:z9001:module_sonstige:kombi_modul_uz.jpg?200 |}} Das Kombi-Modul ist eine Entwicklung von U. Zander (http://www.sax.de/~zander/z9001/module/kombi.html).
 Es umfasst 4 einzelne Komponenten auf einer 95 mm x 170 mm großen Leiterplatte (Modul-Format wie Programmier-Modul): Es umfasst 4 einzelne Komponenten auf einer 95 mm x 170 mm großen Leiterplatte (Modul-Format wie Programmier-Modul):
  
-  * 512K-RAM kompatibel zu [[z9001:cpm:64kmodul|Robotron-64K-RAM-Modul]], mit den UZ-Modifikationen wie beim 64K-RAM-Nachbau ((Sowohl von Rossendorf als auch von Robotron wurden die im Modul vorhandenen 32k-Grund-RAM erst im Zusammenhang mit der RAM-Umschaltung aktiviert. Im 64K-RAM-Modul ist dieser Nachteil behoben. Außerdem gibt es 3 LEDs zur Anzeige des Modulzustands))+  * 512K-RAM kompatibel zu [[z9001:cpm:64kmodul|Robotron-64K-RAM-Modul]], mit den UZ-Modifikationen wie beim [[z9001:cpm:64kmodul#nachbau_u_zander|64K-RAM-Nachbau]] ((Sowohl von Rossendorf als auch von Robotron wurden die im Modul vorhandenen 32k-Grund-RAM erst im Zusammenhang mit der RAM-Umschaltung aktiviert. Im 64K-RAM-Nachbau ist dieser Nachteil behoben. Außerdem gibt es 3 LEDs zur Anzeige des Modulzustands))
   * Floppy-Ansteuerung kompatibel zu [[z9001:cpm:floppymodul|Robotron-Floppy-Modul]]   * Floppy-Ansteuerung kompatibel zu [[z9001:cpm:floppymodul|Robotron-Floppy-Modul]]
   * ROM-Bank analog [[z9001:module_sonstige:128k_rombank|TU-ROM-Bank]]   * ROM-Bank analog [[z9001:module_sonstige:128k_rombank|TU-ROM-Bank]]
Zeile 12: Zeile 12:
  
  
-  * Das Modul ist eine Erweiterung des [[z9001:cpm:64kmodul#k-sram-modul_u_zander|64K-SRAM-Modul]]. Hier fehlt die Floppyansteuerung, und die 58k-RAM-Bänke werden anders umgeschaltet.  +  * Das [[z9001:cpm:64kmodul#k-sram-modul_u_zander|64K-SRAM-Modul]] ist eine Vorversion des Kombi-ModulsEs fehlt die Floppyansteuerung, und die 58k-RAM-Bänke werden anders umgeschaltet.  
-  * Für das Modul gibt es eine Variante der [[z9001:software:mega|]], die an das Kombi-Modul und an das 54K-SRAM-Modul angepasst ist.+  * Für das Modul gibt es eine Variante der [[z9001:software:mega|]], die an das Kombi-Modul und an das 64K-SRAM-Modul angepasst ist.
   * Der 128K oder 512K große RAM kann bankweise im Bereich 4000...BFFF bzw. 4000..E7FF eingeblendet werden. Es gibt 2 oder 8 Bänke.   * Der 128K oder 512K große RAM kann bankweise im Bereich 4000...BFFF bzw. 4000..E7FF eingeblendet werden. Es gibt 2 oder 8 Bänke.
   * Der 128K bis 1MB große ROM ist in 16..128 Bänke aufgeteilt, die abwechselnd 10K bzw. 6K groß sind.   * Der 128K bis 1MB große ROM ist in 16..128 Bänke aufgeteilt, die abwechselnd 10K bzw. 6K groß sind.
 +
 +<WRAP clear/>
 +
 +
 +===== Beschreibung =====
  
 DIP-Schalter: DIP-Schalter:
  
   v.l.n.r.   v.l.n.r.
-  1 (x3) - ON MODOFF schaltet die ROM-Bank des Moduls aus (z.B. bei Verwendung des MEGA-Moduls) +  1 (über x3) - ON MODOFF schaltet die ROM-Bank des Moduls aus  
-  2 (x4) - ON KC87 schaltet /ROMDI aktiv für den Betrieb am KC87 +                                (z.B. bei Verwendung des MEGA-Moduls) 
-  3 (x5) - ON 48K schaltet den RAM ein +  2 (über x4) - ON KC87 schaltet /ROMDI aktiv für den Betrieb am KC87 
-  4 (x6) - ON RTCOFF schaltet die CMOS-Uhr aus+  3 (über x5) - ON 48K schaltet den RAM ein 
 +  4 (über x6) - ON RTCOFF schaltet die CMOS-Uhr aus 
 + 
 +Achtung: Die Nummern auf dem Schalterblock sind genau andersherum angeordnet! 
 + 
 +Jumper re.u.:F Flash oder E-PROM\\ 
 +Ein 128K-Flash funktioniert.
  
-Achtung: Die Nummern auf dem Schalterblock sind genau andersherum! 
  
 Anzeige: Anzeige:
  
-  gelbe LED                      Shadow-RAM 4000-7FFF aktiv+  gelbe LED                      Hintergrund-RAM 4000-7FFF aktiv
   grüne LED                      RAM 8000-BFFF aktiv   grüne LED                      RAM 8000-BFFF aktiv
   rote LED                       Hi-RAM C000-E7FF aktiv   rote LED                       Hi-RAM C000-E7FF aktiv
Zeile 41: Zeile 51:
 | 04H          | Setzen RAM-Bank 0 (Vordergrund-RAM), Adressbereich 4000H bis 7FFFH                                     | | 04H          | Setzen RAM-Bank 0 (Vordergrund-RAM), Adressbereich 4000H bis 7FFFH                                     |
 | 05H          | Setzen RAM-Bank 1 (Hintergrund-RAM), Adressbereich 4000H bis 7FFFH                                     | | 05H          | Setzen RAM-Bank 1 (Hintergrund-RAM), Adressbereich 4000H bis 7FFFH                                     |
-| 06H          | RAM ist W/O, Adressbereich C000H bis E7FFH                                                             +| 06H          | Hi-RAM ist W/O, Adressbereich C000H bis E7FFH                                                          
-| 07H          | RAM ist R/W, Adressbereich C000H bis E7FFH                                                             |+| 07H          | Hi-RAM ist R/W, Adressbereich C000H bis E7FFH                                                          |
 | 60H-6FH      | RTC (CMOS-Uhr)                                                                                         | | 60H-6FH      | RTC (CMOS-Uhr)                                                                                         |
 | 75H nn       | Setzen der ROM-Bank, nn = 0 bis max. 7FH (128 Bänke)                                                   | | 75H nn       | Setzen der ROM-Bank, nn = 0 bis max. 7FH (128 Bänke)                                                   |
 | 76H nn       | Setzen der RAM-Bank, nn = 0..1 bzw. 0..7 (max. 8 Bänke)                                                | | 76H nn       | Setzen der RAM-Bank, nn = 0..1 bzw. 0..7 (max. 8 Bänke)                                                |
-| 77H          | Modul-Disable/Enable                                                                                   |+| 77H nn       | Modul-Disable/Enable (0 = aus, 1 = ein)                                                                |
 | 78H          | Weiterschalten der ROM-Bank beim Suchen, 0 bis max. 7FH (128 Bänke)                                    | | 78H          | Weiterschalten der ROM-Bank beim Suchen, 0 bis max. 7FH (128 Bänke)                                    |
 | 98h          | FDC Datenregister                                                                                      | | 98h          | FDC Datenregister                                                                                      |
Zeile 53: Zeile 63:
  
 <ditaa noedgesep> <ditaa noedgesep>
 +RAM
 +
   E800      +---------+           +---------+                +---------+              E800      +---------+           +---------+                +---------+           
             |  Hi-RAM |            Hi-RAM |                |  Hi-RAM |                        |  Hi-RAM |            Hi-RAM |                |  Hi-RAM |           
Zeile 64: Zeile 76:
   4000      +---------+---------+ +---------+---------+      +---------+---------+    4000      +---------+---------+ +---------+---------+      +---------+---------+ 
                   1. 64K-RAM            2. 64K-RAM                 8. 64K-RAM                         1. 64K-RAM            2. 64K-RAM                 8. 64K-RAM      
 +
 +ROM
 +
 +  E800      +---------+----------+       +---------+----------+
 +            |  ROM    |  Hi-RAM¹ |        ROM    |  Hi-RAM¹ |
 +  D7FF      |         +----------+               +----------+
 +            |  10K    |  ROM 6k  |  ...  |  10K    |  ROM 6k  |
 +  C000      +---------+----------+       +---------+----------+
 +              Bank 0     Bank 1           Bank 126   Bank 127
 +
 +   Hi-RAM¹ - Bereich aus dem aktuellen 64K-RAM 1..8
 +
 </ditaa> </ditaa>
  
Zeile 70: Zeile 94:
 RAM-Bereich 4000H bis BFFFH (32K): RAM-Bereich 4000H bis BFFFH (32K):
  
-Der Bereich 4000H bis 7FFFH ist (je RAM-Bank) doppelt belegt und steht z.B. als Vordergrund-RAM und als Hintergrund-RAM unter dem Rossendorfer CP/M zur Verfügung. OUT 4 schaltet den Vordergrund-RAM ein, das ist auch der Grundzustand nach RESET. OUT 5 schaltet den Hintergrund-RAM sichtbar.\\+Der Bereich 4000H bis 7FFFH ist (je RAM-Bank) doppelt belegt und steht z.B. als Vordergrund-RAM und als Hintergrund-RAM unter dem Rossendorfer CP/M zur Verfügung. OUT 4 schaltet den Vordergrund-RAM Bank 0 ein, das ist auch der Grundzustand nach RESET. OUT 5 schaltet den Hintergrund-RAM Bank 1 sichtbar.\\
 Der Bereich 8000H bis BFFFH ist einmal (je RAM-Bank) vorhanden.  Der Bereich 8000H bis BFFFH ist einmal (je RAM-Bank) vorhanden. 
  
Zeile 79: Zeile 103:
  
 Ist mit OUT 7 Hi-RAM aktiviert, ist der Bereich C000H bis E7FFH als RAM verfügbar (je RAM-Bank). Ist mit OUT 7 Hi-RAM aktiviert, ist der Bereich C000H bis E7FFH als RAM verfügbar (je RAM-Bank).
-Ist der obere RAM nicht aktiviert, ist in diesem Bereich die ROM-Bank. Die ROM-Bank benutzt 10K und 6K große Bänke. Ist die ROM-Bank nur 6K groß, sind die verbleibenden 4K als RAM sichtbar.+Ist der obere RAM nicht aktiviert, ist in diesem Bereich die ROM-Bank. Die ROM-Bank benutzt 10K und 6K große Bänke. Ist die ROM-Bank nur 6K groß, sind die verbleibenden 4K als RAM sichtbar (aus der jeweils aktiven RAM-Bank 1..8). 
 + 
 +===== Treiber ===== 
 + 
 +Den Speicher als RAM-Disk zu nutzen ist gar nicht so einfach. Zum einen ist er ziemlich zerstückelt, aber das ist das kleinere Problem. Mit dem Umschalten der RAM-Bank wird der **gesamte** RAM ab 4000h umgeschaltet, mithin auch das BIOS, der Stack etc. Man benötigt daher Umladeroutinen, die den Lese/Schreibcode und auch den DMA-Bereich passend im Speicher umherladen. Ich nutze daher im Bereich 0043h..005Bh eine freie Stelle. Der Standard-DMA-Bereich 0080h-00FFh wird als Transferbereich genutzt, aber vorher gesichert und anschließend wieder restauriert. 
 + 
 +  * {{ :z9001:module_sonstige:rafkombi.zip |}} CP/M-Treiber für RAM-Disk 
 + 
 +{{:z9001:module_sonstige:rafkombi.gif|}} 
 + 
 +Der Treiber ist für  Kombi-Modul mit 512k RAM oder 128K RAM sowie für das [[z9001:cpm:64kmodul#k-sram-modul_u_zander|64K-SRAM-Modul]] geeignet, die vorhandene Hardware wird automatisch erkannt. Es werden alle RAM-Bänke außer Bank 0 genutzt, auch der Hintergrund-RAM wird verwendet. Pro RAM-Bank stehen 16k+16k+10k+16k = 58K Speicher zur Verfügung. 
 + 
 + 
 +===== Hinweise ===== 
 + 
 +  * Einsatz eines SRAMs mit 128Kx8: Pin 30 nicht in die Fassung stecken, aber über 4,7 kOhm an Pin 32 (5P) legen! 
 +  * "Bildverzerrungen", genauer gesagt... Brummstreifen -> Eine Messung der 5V brachte auch ein leichtes 100Hz Brummsignal zum Vorschein (teilweise ca. 300mV). Dank robbis Reparaturhinweisen wurde auch auf Anhieb der richtige Kandidat gefunden. Tauber Ladeelko C3.
  
  • z9001/module_sonstige/kombimodul.1491647214.txt.gz
  • Zuletzt geändert: 2017/04/08 10:26
  • von volkerp