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.
Inzwischen (2021) gibt es einen
weiteren MEGA-Modul
.
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-Rahmen 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
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.
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.
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
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
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 Dokumentationen 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 Originalleiterbildes 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.
Hinweis:
Der MEGA-FLASH-Modul kann sich, wie seine Vorgänger, immer noch nicht selbst abschalten und seinen Arbeitsspeicherbereich 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: 10. 01. 2025
24,602 Bytes
zur Startseite