Kombi-Modul

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):

Damit sind alle Komponenten auf einem Modul, um mit diesem CP/M am Z9001 nutzen zu können!

  • Das 64K-SRAM-Modul ist eine Vorversion des Kombi-Moduls. Es fehlt die Floppyansteuerung, und die 58k-RAM-Bänke werden anders umgeschaltet.
  • Für das Modul gibt es eine Variante der Mega-Flash-Software, 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 bis 1MB große ROM ist in 16..128 Bänke aufgeteilt, die abwechselnd 10K bzw. 6K groß sind.

DIP-Schalter:

v.l.n.r.
1 (über x3) - ON	MODOFF	schaltet die ROM-Bank des Moduls aus 
                              (z.B. bei Verwendung des MEGA-Moduls)
2 (über x4) - ON	KC87	schaltet /ROMDI aktiv für den Betrieb am KC87
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.

Anzeige:

gelbe LED                      Hintergrund-RAM 4000-7FFF aktiv
grüne LED                      RAM 8000-BFFF aktiv
rote LED                       Hi-RAM C000-E7FF aktiv
7-Segment-Anzeige              aktive ROM-Bank-Nummer
Dezimalpunkt der Zehnerstelle  ROM-Bank ist aktiv
Dezimalpunkt der Einerstelle   2. RAM-Bereich ist aktiv

I/O-Adresse Bedeutung
04H Setzen RAM-Bank 0 (Vordergrund-RAM), Adressbereich 4000H bis 7FFFH
05H Setzen RAM-Bank 1 (Hintergrund-RAM), Adressbereich 4000H bis 7FFFH
06H Hi-RAM ist W/O, Adressbereich C000H bis E7FFH
07H Hi-RAM ist R/W, Adressbereich C000H bis E7FFH
60H-6FH RTC (CMOS-Uhr)
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)
77H nn Modul-Disable/Enable (0 = aus, 1 = ein)
78H Weiterschalten der ROM-Bank beim Suchen, 0 bis max. 7FH (128 Bänke)
98h FDC Datenregister
99h FDC Steueregister
0A0h FDC (Motor Laufwerk 0 ein/aus, Motor Laufwerk 1 ein/aus, Terminal Count aktivieren/deakt., FDC Reset)
Hi-RAM 10K Hi-RAM 10K Hi-RAM 10K 16K 16K 16K Bank 0 16K Bank 1 16K Bank 0 16K Bank 1 16K Bank 0 16K Bank 1 16K ROM 10K Hi-RAM¹ ROM 10K Hi-RAM¹ ROM 6k ROM 6k RAM E800 C000 ... 8000 4000 1. 64K-RAM 2. 64K-RAM 8. 64K-RAM ROM E800 D7FF ... C000 Bank 0 Bank 1 Bank 126 Bank 127 Hi-RAM¹ - Bereich aus dem aktuellen 64K-RAM 1..8

Beim Steuern der Zustände mit OUT-Befehlen werden bis auf OUT 75H und OUT 76H keine Werte übergeben. OUT 75H wird zur Steuerung der ROM-Bänke benutzt, OUT 76H zur Steuerung der RAM-Bänke.

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 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.

Mit Schalter 3 (48K) kann der RAM-Bereich 4000-BFFF komplett deaktiviert werden.

RAM/ROM-Bereich C000H bis E7FFH (10K):

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 (aus der jeweils aktiven RAM-Bank 1..8).

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.

Der Treiber ist für Kombi-Modul mit 512k RAM oder 128K RAM sowie für das 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.

  • 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.

1)
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
  • z9001/module_sonstige/kombimodul.txt
  • Zuletzt geändert: 2024/12/05 13:23
  • von volkerp