Schalt-ROM-Modul
Das Schalt-ROM-Modul (oder BOOT-Modul) ist ein spezielles 10K-ROM-Modul, das abschaltbar ist, so dass der parallel dazu vorhandene RAM anstelle des ROMs genutzt werden kann (vergleichbar mit der Modul-Technik am KC-85/3).
Im Schalt-ROM-Modul steckt ein 2K großer „Bootstrap-Lader“. Dieses Programm enthält Treiber für das Floppy-Modul und lädt das eigentliche CP/M (eine CP/A-Implementierung) von der Boot-Floppy in das RAM-Modul, schaltet das Boot-Modul ab und initialisiert das CP/M.
Ein Schalt-ROM-Modul hat folgende Eigenschaften, damit es mit der CP/M-Software arbeiten kann:
- Mit einem Schreibzugriff auf Adresse FC00h wird der ROM abgeschaltet. („LD (0FC00h),A“)
- Mit einem Schreibzugriff auf Adresse F800h wird der ROM zugeschaltet. („LD (0F800h),A“)
- Nach Reset ist der ROM eingeschaltet
- Es wird der Adressbereich C000h-E7FFh (max.) genutzt.
Es gibt verschiedene Möglichkeiten, die BOOT-ROM-Modul-Funktionalität zu realisieren:
- das originale Robotron-Boot-Modul
- das originale EPROM-SCHALTBAR-Modul des ZfK Rossendorf
- Umbau eines normalen ROM-Moduls
- Nutzung des BIC-Floppy-Modul-Nachbaus
- Nutzung eines Megamoduls oder Mega-Flash-Moduls
Robotron
Boot-Modul 1.6640.01090
Das Boot-Modul belegt im zugeschalteten Zustand den Adreßbereich C000H bis C7FFH. Das Abschalten erfolgt mit einem Ladebefehl auf die Adresse FC00H, das Zuschalten durch RESET oder einen Ladebefehl auf die Adresse F800H. Die Daten werden dabei nicht ausgewertet.
Da beim KC 87 der eingebaute BASIC-INTERPRETER ebenfalls auf Adresse C000H beginnt, wird dieser abgeschaltet, wenn der ROM-Modul eingeschaltet ist.
Der Adress-Bereich des ROM-Moduls ist C000h-E7FFh.
ZfK Rossendorf
EPROM-SCHALTBAR-Modul 5285.0010
Der Modul belegt im ausgeschalteten Mode den Adressbereich von 0C000H bis 0E7FFH (nicht mehr veränderbar). Gegenüber dem ROBOTRON-Modul besitzt er aber die Möglichkeit, per Software (Speicher-Schreibbefehle auf bestimmten Adressbereich) zugeschaltet (aktiviert) bzw. abgeschaltet werden zu können. Ein abgeschalteter Modul erscheint dann wie ein nicht gesteckter Modul!
Es können (bei Erweiterung der Anzahl der Steckplätze) 8 (max. 11, aber Wickelstifte sind nur für 8 Module vorhanden) Module gleichzeitig gesteckt und verwaltet werden. Dies entspricht einer EPROM-Kapazität von 80(110) KByte. Es kann jeweils nur ein Modul aktiv sein.
Für CP/M-Betrieb wird nur genau ein Modul mit den Standard-Ansprechadressen für Zu-/Abschaltung des Schalt-ROM-Moduls unterstützt.
Umbau eines ROM-Moduls zum Schaltmodul
mit diesem Umbau wird ein normales ROM-Modul kompatibel zum BOOT-Modul der CP/M-Module.
Das originale Schalt-ROM-Modul von ZfK Rossendorf unterscheidet sich ein wenig von der Robotron-Variante. In der Ausführung für CP/M agieren aber beide Module gleichartig:
Das Modul belegt den Adressbereich von 0C000h-0E7FFh. Mit einem Schreibzugriff auf Adresse 0FC00h wird das Modul abgeschaltet. Ein 64K-RAM-Modul kann dann seinen RAM in diesen Bereich einblenden. Durch Reset oder mit einem Schreibzugriff auf Adresse 0F800h wird das Modul wieder ein geschaltet.
Beim Rossendorf-Schalt-ROM-Modul ZtK 9905 erscheint beim Abschalten des Moduls beim KC87 das eingebaute BASIC! Da das Rossendorfer Modul außerdem mit verschiedenen Adressen arbeiten kann (durch Wickelbrücken einstellbar), sind so (theoretisch) 11 EPROM-Module am KC gleichzeitig betreibbar.
Ulrich Zander hat eine Umbau-Variante auf http://www.sax.de/~zander/z9001/ex/schrom.html beschrieben.
Meine Variante basiert auf dem orig. Robotron-Schalt-ROM. Die beiden Negatoren können vom vorhandenen DL004 genutzt werden, dann benötigt man nur noch einen zusätzlichen Schaltkreis DL074. Dessen Signal /DIEN kann außerdem auf den /ROMDI-Pin des Steckverbinders gelegt werden, damit ist die Schaltfunktion wie beim Rossendorfer Modul realisiert.
Etwas knifflig ist nur das Durchtrennen der PIN1 (CS) der beiden 8216. Der DL074 wird huckepack auf den DL004 gelötet (s. Bilder).
Zum Testen des Moduls kann ein spezieller Test-ROM → schaltrom.zip gebrannt werden. Das Modul muss sich bei ordnungsgemäßer Funktion mit „EOS>“ melden. Es kopiert Code in den RAM und erstellt so die beiden Befehle F8 und FC. Sie führen einen Schreibzugriff auf die Adresse F800h respektive FC00h durch und zeigen den Speicher ab C000h an. Ein korrektes Modul sollte folgendes Bild ergeben:
BIC-Floppy-Modul
Eine weitere Variante ist der CP/M-Betrieb mit dem Floppy-Modul für den BIC. Die neuaufgelegte Platine von U.Zander ist durch Jumper auf 100% Kompatibilität zum robotron-Floppy-Modul umsteckbar.
Auf das Bootmodul kann man verzichten, wenn der Umbau des 64K-RAM-Moduls und des BIC-Floppy-Moduls nach einer Schaltung von J. Felgentreu erfolgt. Es wird lediglich 1 zusätzlicher Widerstand benötigt!
Das Floppy-Modul für den BIC besitzt einen Steckplatz für einen ROM. In diesen wird der BOOT-ROM gesteckt. Eine kleine zusätzliche Schaltung sorgt dann für das Abschalten des ROMs und die Freigabe als RAM-Bereich.
Details s. http://felgentreu.dyndns.org/Projekt/kc87.HTM
umgebautes BIC-Floppy-Modul mit BOOT-ROM
Das Steuersignal zum Abschalten des ROMs wird vom RAM-Modul über die Signalleitung 27 an das Floppy-Modul durchgeleitet. Deshalb müssen diese Module in der Reihenfolge RAM-Modul - Floppy-Modul gesteckt werden!
Der Umbau umfaßt folgende Anpassungen zum Orginalkonzept:
Anpassung des 64K RAM Modules zur Teildecodierung der Adresse und zur Generierung des /ROMDI Signales (nur KC85.1 und KC87)
Anpassung des Adressdecoders auf dem FDC Modul und Installation eines Bootroms (U2764) auf der Adresse C000-C7FF