Heimcomputer Z9001, KC85/1, KC87
MEGA-Modul nach Alexander Schön:


Wegen der vielen Mailanfragen:
Es betrifft das uneingeschränkte CP/M, wie es von Robotron und Rossendorf bereitgestellt wurde. Das arbeitet bisher nur mit einem 64K-RAM-Modul und dem schaltbaren ROM-Modul von Rossendorf, dem Bootmodul von Robotron, der TU-ROM-Bank, dem MEGA-Modul von UR1968, dem 64K-SRAM-Modul bzw. dem Kombimodul zusammen, ohne beim Start senkrechte Streifen auf den Bildschirm zu zaubern. Alle mir bekannten weiteren (heute ist der 06.04.2014) MEGA-Module können sich nicht selbst abschalten und benötigen nachträgliche Erweiterungen oder den Notpatch über X1/27AB.
Abgerüstete Mini-CP/Ms mit 48K sind davon nicht betroffen, waren aber hier auch NIE genannt worden!
Wer also den Tip 13 umsetzt und auf eine 800K-Diskette eine Systemdatei kopiert, hat ohne ROM-Abschaltung ein Problem.


Erfahrungen mit ROM-Bank/MEGA-Modulen:
Ein Fehlerbericht

Allgemeines
Der MEGA-Modul in seiner Urform stammt von Alexander Schön und ist eine sehr interessante Lösung:
- Bankschaltadresse ist FFH, einfache Dekodierung mit einem DL030
- Aufteilung des ROM-Bereichs auf drei EPROMs (4K, 4K, 2K)
- Durch die Aufteilung stehen immer 10K-Bänke zur Verfügung
- BASIC-Programme werden gepackt und beim Aufruf wieder entpackt und BASIC gestartet
- "Grafische" Nutzerführung durch ein Menü mit Ordnern
Der MEGA-Modul ist eine ROM-Bank und enthält Maschinencode-, BASIC-Programme und Treiber. Das Umschalten der ROM-Bänke wird über einen OUT-Befehl zum Setzen der Bankadresse erreicht. Der Aufruf der einzelnen Programme erfolgt entweder direkt durch Aufruf am Prompt oder nach Aufruf von "MENU" über ein Menü. Darin kann man Spiele, Dienstprogramme, Werkzeuge (Tools) usw. wählen.
Der Aufwand für die Organisation ist nicht unerheblich. Um viele Programme unterzubringen, wurde z. B. ein Teil der Programme gepackt. Aus diesem Grund ist eine nachträgliche Neuaufnahme von Programmen umständlich und nur mit vollem Verständnis der Organisation und Verwaltung möglich.
Die Nachteile sind, daß die Programme in einer großen Tabelle abgelegt und in 4K und 2K große Stücke zerlegt in die EPROMs geladen werden müssen. Beides erschwert die Erweiterung um eigene Programme und stört bei der Suchroutine im erweiterten System-ROM.
____________________
Volker Pohlers hat nach langer Zeit erkannt, daß die Suchroutine in der TU-ROM-Bank ohne diese Tabelle auskommt und diese Routine (CPROM) abgewandelt nach außen in die ROM-Bank verlagert. Diese wird beim Start durch die Suche nach dem '#' angesprungen. Da die originale CPROM-Routine nur nach dem "herkömmlichen" Kommandorahmen sucht, hat er sie um einen neuen Kommandorahmen (FA-Rahmen) erweitert. Im FA-Rah­men werden vereinbart:
- ob, und wenn ja wohin, ein Programm in den RAM geladen wird
- ob es ein gepacktes Programm ist
- ob es ein BASIC-Programm ist
- ob das umzuladende Programm über mehrere Bänke verteilt ist
- usw.
Die Bank 00 mit dem Steuerungsprogramm wird nach jedem Programmaufruf sofort wieder eingestellt. Gepackte Programme werden entpackt und gegebenenfalls dem BASIC-Interpreter zugeführt. Bei auf mehrere Bänke verteilten Programmen werden die Bänke automatisch weitergeschaltet und das Programm in den RAM geladen.
DOSX:
Für die Arbeit mit Disketten ist DOSX nutzbar. Damit kann unter bestimmten Voraussetzungen auf Disketten statt auf Kassetten zugegriffen werden. Ein FDC-Modul und ein Diskettenlaufwerk in irgendeiner Form sind notwendig.
Grafik:
Durch Aufruf von "GRAF" werden die BASIC-Routinen für Grafik in den RAM geladen und können unter BASIC genutzt werden. Mit "CRT40P" bzw. "CRT80P" kann die Ausgabe auf den Grafikbildschirm im 40-Zeilenmodus bzw. im 80-Zeilenmodus erfolgen. Der Effekt ist nett, aber die Bildschirmausgabe ist hardwarebedingt langsamer und eher als Demo gedacht.
Technisches:
Bei allen MEGA-Modulen (außer dem MEGA-Modul von UR1968) ist der ROM-Bereich nicht mit Schaltern von außen oder programmtechnisch abschaltbar. Das beeinträchtigt die Nutzung zusammen mit anderen Modulen.
Alle MEGA-Module (außer dem MEGA-Modul von UR1968) können sich nicht selbst abschalten, um den RAM ab C000H für die Nutzung des Original-CP/Ms von Robotron bzw. Rossendorf freizugeben.
Beim sogenannten "MEGA-FLASH-Modul Z+K" (eine Version des MEGA-Moduls, hier nicht beschrieben) gibt es Abstürze auf einigen Rechnern. Die Ursachen hierfür liegen anscheinend bei Problemen mit der Steuerung des RAM-Zugriffs. Fakt ist, daß nicht angewählte RAM-Bereiche willkürlich beschrieben werden, wenn aus dem ROM darauf zugegriffen wird. Z.B. bei der Initialisierung des ZMs werden Bytes auch im Bereich 7FA0H bis 7FFFH geändert! Es treten immer dann Abstürze auf, wenn das Programm im ROM-Bereich läuft oder z.B. der BASIC-Interpreter im ROM genutzt wird. Bei Nutzung externer RAM-Module tritt der Effekt nicht auf. Der Effekt liegt nicht am RAM, kann aber durch Aussuchen der RAM-Schaltkreise verringert werden. Der Fehler ist ein echtes Zeitproblem und ohne vorliegende Schaltung nicht so ohne weiteres lokalisierbar. Wird /ROMDI in diesem Modul fest auf L (KC87) oder H (Z9001) gelegt, ist der Effekt ebenfalls verringert.
Nachtrag:
Die in den ZIP-Archiven liegenden einzelnen Binärdateien können durch Zusammenfügen auch in den Modulen mit Organisation 4-4-2 verwendet werden (ROM1+ROM2 und ROM3+ROM4 und ROM5).

Modulfirmware/EPROM-Inhalt
Aktuelle Softwareinhalte ext. Link zu V. Pohlers 7,997,756 Bytes 19. 06. 2016
Version 04/10/2010   (5x2) 1,913,342 Bytes 03. 10. 2010
Version 01/03/2012   (4-4-2) 1,910,317 Bytes 02. 05. 2012
Version 08/06/2013   (5x2) 2,056,414 Bytes 08. 06. 2013
Version 15/06/2016   (5x2) 2,036,746 Bytes 20. 06. 2016
Programmverzeichnis (Stand 2010)
Gesamtinhalt 52,467 Bytes 17. 02. 2010


Modul von Mobby5 / HONI zum Modul von UR1968 zum Modul nach Harwardt zum Modul-UZ
Dokumentation
Schaltplan 26,675 Bytes 17. 02. 2010
Lageplan 49,716 Bytes 17. 02. 2010
GAL-Inhalt *) 1,028 Bytes 14. 01. 2010
JEDEC-Datei *) 1,147 Bytes 13. 11. 2008

Bilder
B-Seite L-Seite
Leiterplatte B-Seite Leiterplatte L-Seite

Der Modul von Alexander Schön wurde von I. Rauscher schaltungstechnisch überarbeitet, S. Hohendorf gestaltete die Platine und liegt in der im Bild dargestellten Form vor. Wahlweise kann er zusätzlich mit einem SRAM bestückt werden. Dadurch werden zwei RAM-Module ersetzt. Theoretisch hätte mit einem größeren SRAM-Schaltkreis auch die Funktionalität für CP/M mit 58K-RAM und Hintergrund-RAM erreicht werden können. Platinenplatz wäre vorhanden gewesen.
Über Steckbrücken kann man einen Betrieb ohne SRAM wählen und /ROMDI für den Z9001 abschalten.

Änderungen Hinweis:
Ein Zusammenspiel mit den CP/M-Modulen (FDC und RAM) funktioniert in dieser Ausbaustufe nicht. Der Modul kann sich nicht selbst abschalten und den RAM freigeben. Dafür ist eine kleine Schaltung notwendig, die nachträglich eingebaut werden muß (Bild rechts). Dazu ist die ursprüngliche Verbindung von D6/15 nach D3/19 aufzutrennen und die Zusatzschaltung einzufügen. Weiterhin ist eine Verbindung zum 64K-RAM-Modul notwendig, die über die Modulschachtverdrahtung möglich ist. Dabei ist es zwingend notwendig, daß der MEGA-Modul vor dem RAM-Modul gesteckt wird. Tauscht man die Modulreihenfolge, sind auch die Anschlüsse A und B zu vertauschen. Auf der L-Seite der Platine ist die Zusatzbeschaltung, in SMD-Technik ausgeführt, zu sehen.
Es gibt als Ergänzung eine interne Huckepackplatine für den MEGA-Modul. Damit wird ein Abschalten der ROM-Bank für eine ungehinderte Arbeit mit den CP/M-Originalen erreicht.

RAM aktiviert Die Aktivierung und Umschaltung des RAMs ist auf dem Monitorbild rechts zu sehen. Mit "Z" wird die RAM-Obergrenze angezeigt:
- MC000 E7FF C000 schreibt den ROM-Inhalt auf sich selbst.
  Der RAM liegt beschreibbar im Hintergrund.
- Z zeigt das RAM-Ende Wert vor dem ROM-Bereich an: BFFF
- QI7 schaltet mit IN7 den ROM ab und den RAM ein
- Z zeigt den Wert D7FF an, liegt im RAM vor dem ZM-Code
- QI6 schaltet mit IN6 den RAM wieder ab und den ROM ein
- Kontrolle mit Z ergibt den Anfangswert BFFF

Portadresse FFH
Adreßbereich C000H - E7FFH

*) Der GAL-Inhalt und die JEDEC-Datei stammen von I. Rauscher.


MEGA-Modul von UR1968

Einen weiteren MEGA-Modul gibt es von UR1968 (U. Richter).
Auch dieser Modul entspricht weitgehend dem Modul von Alexander Schön, verfügt über zusätzliche 32K SRAM und ersetzt zwei RAM-Module. Die Steckbrücke JP1 schaltet den SRAM aktiv. Eine Steckbrücke JP2 für das /ROMDI-Signal fehlt in dieser Version. Auf der abgebildeten Musterplatine wurde der Kontakt zu 9B durchgekniffen und eine Steckbrücke drübergelötet. Ist diese geöffnet, arbeitet der Modul auch am Z9001.
Die Abschaltung des ROMs - und damit Freigabe des RAM-Bereiches - funktioniert problemlos.
Die Gestaltung des Leiterbildes ist sehr laienhaft ausgeführt. Das Signal /RESET geht zum Beispiel einmal um die Leiterplatte herum.

Dokumentation
Schaltplan 28,234 Bytes 12. 07. 2016
Lageplan 127,635 Bytes 13. 07. 2016
Leiterbilder 178,094 Bytes 13. 07. 2016
Stückliste 0 Bytes 14. 03. 2015
GAL-Logik 847 Bytes 10. 11. 2009
GAL-Inhalt 1,146 Bytes 10. 11. 2009

Bilder
B-Seite L-Seite B-Seite L-Seite
Leiterplatte B-Seite Leiterplatte L-Seite Leerplatine B-Seite Leerplatine L-Seite

Weiteres demnächst.

Portadresse FFH
Adreßbereich C000H - E7FFH



MEGA-FLASH-Modul nach Harwardt

Dokumentation
Schaltplan 43,700 Bytes 05. 07. 2016
Lageplan 120,991 Bytes 05. 07. 2016
Leiterbilder 165,458 Bytes 05. 07. 2016
Korrektur 64,937 Bytes 05. 07. 2016

Bilder
B-Seite L-Seite Leerplatine B-Seite Leerplatine L-Seite B-Seite Verion Z+K L-Seite Version Z+K
B-Seite L-Seite Leerplatine B-Seite Leerplatine L-Seite Vers. Z+K, B-Seite Vers. Z+K, L-Seite

Der vorliegende MEGA-FLASH-Modul von Harwardt ist eine Entwicklungsversion einer ROM-Bank und mit dem MEGA-Modul von A. Schön kompatibel. Die Aufteilung der Programme erfolgt wieder in 2K-Blöcken, aber diesmal in 5 EPROMs. Die Schaltung kommt ohne GAL aus. Es ist kein RAM integriert. Es gibt mehrere Versionen, die sich alle etwas unterscheiden, auch mit integriertem RAM. Der Modul läßt sich für die korrekte Zusammenarbeit mit dem Robotron-CP/M nicht abschalten, um den RAM-Bereich freizugeben.
Dieser Modul wurde inzwischen mehrmals schaltungstechnisch überarbeitet: ohne System-RAM, mit System-RAM, Verwendung von EPROM, dann auch für FLASH bzw. SRAM usw. usw. und liegt in der in den Bildern gezeigten Form eines Entwicklungsmusters vor. Er ist wohl auch am Z1013 einsetzbar. Leider sind die bisher zur Verfügung stehenden schaltungstechnischen Unterlagen und auch die programmtechnischen Dokumentatio­nen fehlerbehaftet und unvollständig bzw. ist nicht alles offengelegt (Stand 2016). Fehlende Schaltungen auf der Internetseite des Entwicklers erschweren die Inbetriebnahme deutlich, besonders wenn Fehler gesucht werden müssen!

Im Laufe der Inbetriebnahme des vorliegenden Moduls ist die Wirkung der Steckbrücken einigermaßen klar geworden. Allerdings kann nur auf die Besonderheiten der vorliegenden Revision eingegangen werden. Es gibt wohl mindestens fünf Revisionen bisher. Große Teile des Original­leiterbildes liegen in keinem erkennbaren Raster. Die Aufgabe des zweiten Flipflops ist nicht eindeutig erklärbar, da über die Steckbrücken X6, X7 immer nur ein Ausgang angeschaltet werden kann. Das Adreßbit A19 eines größeren Speicherschaltkreises kann man damit nicht schalten. Fehler auf den 64K-Modulen von Rossendorf und Robotron, die die Zusammenarbeit behindern können, gibt es nicht.
Wenn im Hintergrund liegender RAM beschrieben werden kann, ist das eine Eigenschaft des RAMs und nicht des MEGA-FLASH-Moduls und irgendwie fehlt eine Verknüpfung mit /M1. Nach dessen Einbindung arbeitet der Modul korrekt.
Weiteres siehe hier.
Zitat:
"Die Mega-Flash Module gehen unter anderem auf das Mega-Modul von Ingo Rauscher und Stefan Hohendorf zurück. Im Gegensatz zu diesen wird aber der Speicherbereich von C000H an von dem Modul nur belegt wenn ein Programm aus diesem Modul in den Speicherbereich eingeblendet wird! Ansonsten ist der Bereich in den die EPROMs eingeblendet werden frei!" (Rechtschreibung nicht korrigiert)
... ??? Ich verstehe das so: der EPROM ist nur da, wenn ich hingucke. Gucke ich weg, ist er weg. Na toll!
Vielleicht wird aber auch nur gemeint, daß /ROMDI immer bei einem Speicherzugriff auf Adressen im Bereich C000H bis E7FFH aktiviert wird, um beim KC87 das BASIC abzuschalten ...   Im vorliegenden Modul wird /ROMDI hart gesetzt.


Stand 15.06.2016:
Aus den Quellen der neuesten Firmware ist zu entnehmen, daß eine weitere Version dieses Moduls (R3 = Revision 3?) geplant ist. Ein "Entwickler" sollte vorher überlegen, was er wie in die Praxis umsetzt. Auch diese ist nur eine Variation von Alexander Schöns Modul, diesmal mit nur einem EPROM/FLASH, der in 8K-Blöcken organisiert ist. Das ist mit Sicherheit eine patentwürdige Erfindung! Ob der Modul mit Schalter oder programmtechnisch abschaltbar ist, ist bisher nicht bekannt.

Änderungen Hinweis:
Der MEGA-FLASH-Modul kann sich, wie seine Vorgänger, immer noch nicht selbst abschalten und seinen Arbeits­speicher­bereich für den RAM freigeben. Dafür muß über eine vorhandene Verbindung im Modulträger vom 64K-RAM-Modul (X1:B27) zum MEGA-FLASH-Modul (X1:A27) ein Signal geführt werden (Bild rechts). Es ist dabei zwingend notwendig, daß der MEGA-FLASH-Modul vor dem RAM-Modul gesteckt wird. Das bedeutet, man steckt den RAM-Modul als letzten Modul (an der Rückwand) und den MEGA-FLASH-Modul direkt davor (in Richtung Tastatur). Weitere Module, die eventuell die Interruptkette nutzen, müssen davor gesteckt werden, da die Verbindung X1:B27-->A27 benutzt wird.
Glücklicherweise ist dieser Patch auf dem Modul vorbereitet! Es ist zu hoffen, daß in Folgerevisionen dieser notwendige gerätetechnische Patch für die uneingeschränkte Arbeit unter CP/M endlich verschwindet.

Portadresse FFH
Adreßbereich C000H - E7FFH

Wichtig:
Eine Version dieses Moduls ("Megaflashromram+ZK" oder so ähnlich) hat integrierte 32K RAM. Anscheinend gibt es Probleme bei der Steuerung des RAM-Zugriffs.

Letzte Bearbeitung: 23. 12. 2021
24,496 Bytes

zur Startseite