Dies ist eine alte Version des Dokuments!


64K-RAM-Modul

Um CP/M mit maximalem Speicher (und der originalen Software) nutzen zu können, wird ein spezielles 64K-Schalt-RAM-Modul benötigt. Dieses kann über OUT-Befehle auch den ansonsten vom ROM-Modul bzw. internen BASIC genutzten Speicherbereich von C000-E7FF mit nutzen.

Das 64K-RAM-Modul enthält RAM-Speicher von 4000h-E7FFh, der Bereich von 4000h-7FFFh ist doppelt vorhanden. Diese 2. Bank, der „Schatten-RAM“ wird vom CP/M-BIOS genutzt. Hier wir ein Großteil des BIOS abgelegt, außerdem befindet sich in diesem Bereich der Floppy-Disk-Puffer. Damit ist der im Hauptspeicherbereich liegende Teil des BIOS bedeutend kleiner und so steht viel mehr Speicher für CP/M zur Verfügung (d.h. ein größerer TPA-Bereich).

Das Modul wird über I/O-Adressen abgesteuert:

  • Schreibzugriff auf Port 04h: Vordergrund-RAM aktiv (Bank 1)
  • Schreibzugriff auf Port 05h: Hintergrund-RAM aktiv (Bank 2, Shadow-RAM)
  • Schreibzugriff auf Port 06h: Abschaltung RAM-Bereich C000H-E7FFh (RAM ist nur beschreibbar (W/O))
  • Schreibzugriff auf Port 07h: Zuschaltung RAM-Bereich C000H-E7FFh (RAM ist les- und schreibbar (R/W))

Nach Reset ist Bank 1 aktiv, der hohe RAM im Bereich C000H-E7FFh ist unsichtbar (hier ist das Boot-ROM-Modul aktiv)

Hinweis: Sowohl von Rossendorf als auch von Robotron werden die im Modul vorhandenen 32k-Grund-RAM erst im Zusammenhang mit der RAM-Umschaltung aktiviert, d.h. der weggeschaltete RAM-Bereich geht von 4000H-E7FFh! Damit ist ein originales 64K-RAM-Modul leider nicht als RAM-Modul-Ersatz für den normalen OS-Betrieb mit BASIC nutzbar. Die Nach- und Umbauten vermeiden dies, so dass diese 64K-RAM-Module nach dem Einschalten des KCs 2 16K-RAM-Module vollständig ersetzen.

64K-RAM-Modul 1.6640.01080

Schreibzugriff auf Port 04h: Vordergrund-RAM aktiv (Bank 1)
Schreibzugriff auf Port 05h: Hintergrund-RAM aktiv (Bank 2, Shadow-RAM)
Schreibzugriff auf Port 06h: Abschaltung RAM-Bereich 4000H-E7FFh (RAM ist nur beschreibbar (W/O))
Schreibzugriff auf Port 07h: Zuschaltung RAM-Bereich 4000H-E7FFh (RAM ist les- und schreibbar (R/W))
Nach Reset ist Bank 1 aktiv, der hohe RAM im Bereich 4000H-E7FFh ist unsichtbar (hier ist das Boot-ROM-Modul aktiv)

64K-DRAM-Modul 5285.0015

Das Modul wird über I/O-Adressen abgesteuert:

Schreibzugriff auf Port 04h: Vordergrund-RAM aktiv (Bank 1)
Schreibzugriff auf Port 05h: Hintergrund-RAM aktiv (Bank 2, Shadow-RAM)
Schreibzugriff auf Port 06h: Abschaltung RAM-Bereich 4000H-E7FFh (RAM ist nur beschreibbar (W/O))
Schreibzugriff auf Port 07h: Zuschaltung RAM-Bereich 4000H-E7FFh (RAM ist les- und schreibbar (R/W))
Nach Reset ist Bank 1 aktiv, der hohe RAM im Bereich 4000H-E7FFh ist unsichtbar (hier ist das Boot-ROM-Modul aktiv)

Nachbau

http://www.sax.de/~zander/projekte/z9ram1b.html

Neuauflage des 64K-RAM-Modul von Robotron:

U. Zander hat eine Platine des 64K-RAM-Modul nachfertigen lassen.

Die Platine wurde nicht an modernere Bauelemente angepaßt. Die einzige Erweiterung ist die Anzeige der aktuellen RAM-Konfiguration durch LEDs.

Sowohl von Rossendorf als auch von Robotron wurden die im Modul vorhandenen 32k-Grund-RAM erst im Zusammenhang mit der RAM-Umschaltung aktiviert. Im neuen 64K-RAM-Modul ist dieser Nachteil behoben.

Außerdem gibt es von U. Zander eine Umbauanleitung eines 16k-Moduls zum 64k-Modul:

http://www.sax.de/~zander/z9001/ex/ram64e.html

Schreibzugriff auf Port 04h: Vordergrund-RAM aktiv (Bank 1)
Schreibzugriff auf Port 05h: Hintergrund-RAM aktiv (Bank 2, Shadow-RAM)
Schreibzugriff auf Port 06h: Abschaltung RAM-Bereich C000H-E7FFh (RAM ist nur beschreibbar (W/O))
Schreibzugriff auf Port 07h: Zuschaltung RAM-Bereich C000H-E7FFh (RAM ist les- und schreibbar (R/W))
Nach Reset ist Bank 1 aktiv, der hohe RAM im Bereich C000H-E7FFh ist unsichtbar (hier ist das Boot-ROM-Modul aktiv)

http://www.sax.de/~zander/projekte/sram64.html

Für die Zusammenarbeit mit dem Mega-Modul muss auch auf diesem Modul die Verbindung zwischen X1:27B–27B getrennt und ein Draht von D8 Pin 6 an X1:27B gelegt werden. Alternativ gibt es eine Variante der Mega-Flash-Software, die auf diesem Modul läuft und das Mega-Flash-Modul überflüssig macht (noch in Arbeit).

Modifikationen

Klaus Junge hat durch geeignete Meßtechnik einen störenden Fehler im 64K-Schalt-RAM-Modul gefunden:

Die originale Schaltung sowohl des Rossendorfer 64K-Schalt-RAM-Moduls als auch des Robotron-64K-Schalt-RAM-Moduls habt einen Designfehler. Bei einer speziellen Konstellationen (XX04..XX07 auf dem Adressbus und gleichzeitiger Interrupt-Anforderung) liegt das M1-Signal noch vor dem IORQ-Signal an Gatter XX. Dadurch wird fälschlicherweise ein Portzugriff erkannt; das Modul schaltet um; der KC hängt sich auf.

Abhilfe schafft eine Verzögerung des M1-Signals durch 2 auf der Leiterplatte verfügbare Gatter. Der Umbau beschränkt sich auf das Trennen von 3 Leierzügen und das einfügen von 3 Drahtbrücken:


links: fehlerhaftes Signal bei Port 07h, rechts: Umbau des 64-Moduls

s.a. http://www.sax.de/~zander/z9001/tip/tipf.html

Wird ein Megamodul als Bootstrap-Lader genutzt, muss das Megamodul abschaltbar sein. U. Zander hat eine Lösung entwickelt, die das Abschaltsignal für das ROM-Modul aus dem 64K-Schalt-RAM-Modul bekommt. Über die Signalleitung 27 des Systembusses (original BAO-BAI) wird das Abschaltsignal vom RAM-Modul X1:27B an das davorsteckende Mega-Modul X1:27A durchgereicht.

Das Mega-Modul muss als erstes Modul in den Modulschacht gesteckt werden, direkt gefolgt vom 64K-RAM-Modul!

Der Umbau des 64K-Schalt-RAM-Moduls ist trivial: Das Abschaltsignal (58K-RAM-Signal) des 64K-RAM-Nachbau-Moduls wird von D7A/6 an X1:27B gelegt.


zusätzliche Verbindung am 64K-RAM-Nachbau-Modul (Leiterseite)

  • z9001/cpm/64kmodul.1398256103.txt.gz
  • Zuletzt geändert: 2014/04/23 12:28
  • von volkerp