Megamodul
alternative Software
Ende 2011 habe ich eine alternative quelloffene Software geschrieben. Die Software kann alternativ zur hier beschriebenen Software genutzt werden. Das Modul bleibt hardwaremäßig völlig unverändert. Diese freie Software enthält ebenfalls die hier beschriebene Menü-Software.
Allgemeines
Alexander Schön hat ein Modul entwickelt, welches mit modernen EPROMs ausgestattet ca. 3,5 MByte an Software enthält (gepackt, auf dem Modul sind nur 2x1MByte und 1x512K ROMs). Ausgestattet ist das Modul mit eigener Menüsoftware und CP/M.
Weitere Seiten zum Modul: Megamodul Inhalt und Megamodul kompilieren.
v.l.n.r: Leiterplatte nach Honi, Modul von K.W. mit U.Richter-Leiterplatte mit ROM-Abschaltung (von K.W.); Entwicklerversion von A.S., aus einem normalen ROM-Modul gebaut.
Das Modul ersetzt alle ROM-Module von Robotron. Zur Nutzung dieses Moduls sind im übrigen keinerlei Modifikationen, Umbauten (oder ähnliches) am Rechner nötig!
Das Modul wurde von Alexander Schön zum privaten, nicht veräußerbaren Nachbau freigegeben, vielen Dank!
Der Vorläufer des 2,5MB-Moduls war das 320K-Modul vom selben Autor.
Nachbau
2009 hat HONI aufbauend auf der Schaltung von Ingo Rauscher (s.u.) eine Leiterplatte fertigen lassen. Das Modul enthält außerdem noch 32K SRAM und macht damit RAM-Module überflüssig. Für einen unverbauten Z9001/KC 87 reicht damit dieses eine Modul, um alle Möglichkeiten des Computers komfortabel ausnutzen zu können.
Hier gibt es die aktuellen ROMs zum Download super_new.zip!
Version 3.1.2012 Das Problem mit Cursor/C ist behoben.
Nachtrag 5.2.2012: ROM3 ist modifiziert (3 Byte, damit DIR wieder richtig funktioniert).
Neue Software:
Da ich das Modul aktiv weiterentwickelt habe, ist auch gegenüber der originalen Fassung von A.S. vom 14.7.2006 neue Software hinzugekommen:
BASIC2, BASIC2_W | Basic mit Lutz-Elßner-Erweiterung |
BOOT, BOOTZFK | Bootlader für CP/M + Robotron-Floppy bzw. Rossendorf-Floppy (und spez. BIOS!) |
CPMR, CPMZFK | komplettes CP/M für Robotron-Floppy bzw. Rossendorf-Floppy, RAF2008 und integrierte ROM-Disks (vp) |
EPROMCCL | EPROM-Brennsoftware für den Z1013-Eprommer (vp) |
F83 | Forth F83 incl. Erweiterungen (vp) |
SDX | Tool f. Kingstener SD-Karten-Ansteuerung |
GRAF, GRAF11, GRAF14, GRAFP | Grafik-Treiber für BASIC: Grafik-Zusatz (256×192 Pixel), Zeichen-Grafik (40×24 Pixel), Viertel-Grafik (80×48 Pixel), KRT-Grafik (320×192 Pixel) |
EPSON | universeller Vollgrafik-Druckertreiber f. Centronics oder seriell Druckermodul (V24) für diverser Drucker wie LX86, K6313, TD80 (K6304) und 24-Nadel-Drucker wie den LQ400 (vp) |
K6313M, SM, GD | Treiber für Mobby und VolkerH |
CAOS | KC-CAOS von D. Ambras Menü, außerdem mit fullscreen-BASIC-Editor |
FTEST13, FDTEST18 | Testprogramme für System und Floppy |
CPM-ROM-Disk1 | wurde komplett neu zusammengestellt, enthält jetzt viele Systemprogramme, s.a. Software |
CPM-ROM-Disk2 | BASIC-Programme (soweit der Platz im Modul noch reicht) |
4.2.2010 | |
CHKROM | Selbsttest (Prüfsummenvergleich aller Bänke). |
BANKTEST | Der Banktest wurde überarbeitet. Mit Cursor links + rechts können die Bänke manuell weitergeschaltet werden. |
UHR14 | Basicprogramm für GRAF14, Analoguhr |
CRT40, CRT80, CRT40_ZG | Consolen-Treiber für KRT-Grafik, weitere Zeichensätze für CRT40 |
BASICP, BASICP_W | Basicversion mit modifizierten PRINT AT für die Zusammenarbeit mit CRT40 und CRT80 |
GRAFDEMO | Demoprogramm für KRT-Grafik (R_GRDEMO2) |
13.2.2010 | Ich stelle jetzt nicht mehr eine „super_new.bin“ online, sondern 3 Dateien für die einzelnen EPROMs. Für den KC-Emulator müssen alle 3 Dateien einfach zusammenkopiert werden ( copy /y /b megarom_1.bin+megarom_2.bin+megarom_3.bin c:\Programme\KCemu\share\KCemu\roms\z9001\mega_rom.851 ) |
C | Kürzel für CURSOR: Umschalten des Cursors auf sichtbar/unsichtbar bei Nutzung des TV-Antennenanschlusses bei einem Farb-Z9001 |
CPM: RAMTEST | Rasmussen Memory Test. Das ist ein CP/M-Programm, dass den Speicher auf verschiedene Weise stresstestet und eine gute Ergänzung zum FTEST13 darstellt. Aufruf: >CPM >B:RAMTEST |
13.3.2010 | Cursorumschaltung bei S/W-KC sollte jetzt funktionieren, EPROMCCL kehrt ins MEGA-Menü zurück |
RAMTEST | RAM-Test Y21SO (FA 12/86), an Z9001 adaptiert (vp) |
10.4.2010 | |
DEBUG | Debugger, Testtool und PROMMer IH Mittweida |
Außerdem gibt es jetzt einen nachladbaren Treiber MMDISK mmdisk.zip für CP/M, der die erste ROM-Floppy als Laufwerk „M“ einbindet.
Bedienung und Software
A.Schön: Die Programme können zum einem ganz normal über die Kommandozeile aufgerufen werden. Selbst Basicprogramme starten nach dem Aufruf nach einer kurzen Phase des Entpackens (daher auch die 3,5 MB) automatisch. Jenes Entpacken geht wirklich sehr schnell und dauert nicht länger als 0-2 Sekunden. Merkt man wirklich nicht. Vor allem nicht, wenn man jahrelang einspielen von Kassette gewöhnt ist. Außerdem spart man auch wieder die Zeit für Basicstart und Run eintippen und muss sich nicht mehr mit fehlerhaften Bändern herumplagen.
Zum etwas komfortableren Umgang mit 311 Einträgen gibt es diverse Tools für besagte Kommandozeile. Wer will kann sich mir Dir die komplette Programmliste anzeigen lassen bzw. falls einem der Name nur so olala bekannt ist, kann man auch auf dem Modul danach suchen lassen. „Jokern“ (*) hilft dabei ungemein .
Wer es lieber etwas 'moderner' möchte, kann es auch einmal mit Menü probieren. 'Maus', Fenster, anim. Icons usw. sind mit Bordmitteln realisiert.
Software gibt es reichlich: Spinne, Buggy, Pegasus, KC Pascal , Pretty C, Plotter- und Druckertreiber, Script, Text, … sind nur wenige aus einer breiten Programmpalette. Alles ist soweit wie möglich aufeinander abgestimmt. Basicprogramme können beispielsweise im Speicher belassen werden und mit der IDAS ROM Version im Speicher verändert werden oder Plottertreiber werden beim Aufruf der Plotterdemos ebenfalls im Speicher belassen bzw. die Speicherkonfiguration entsprechend angeglichen. Man kann also gleich losplotten.
Daneben darf man auch mit CP/M etwas herum spielen. Hierfür werden dann jedoch 2 RAM Module benötigt. Dafür bekommt man dann auch gleich eine, wenn auch winzige, Ramfloppy an die Hand, in der bspw. Pascalprogramme gespeichert und im KC87 Modus auf Kassette ausgelagert oder auch eingeladen werden können. Zum anderen liegen auch schon 1,5 Diskettenabbilder (die 2te Disk hat dann doch nicht mehr ganz gepasst) mit reichlich KC87 CP/M Software auf dem Modul, so dass man auch mit diesem Betriebssystem ein wenig herum spielen kann.
Wie funktionierts?
A. Schön: „Das Modul basiert einfach nur auf einem ROM Modul. In dem Modul stecken 2 8Mbit EPROMs (27c800) und ein 4Mbit EPROM (27c400), zusätzlich ein 273 (Bustreiber mit Speicherfunktion und Reset), ein DL 008 und ein DL 030 (für die Port-Geschichten) + jede Menge Draht. Es werden 256 10K-ROM-Module gebankt (parallel geschaltet), das aktive Module wird durch OUT 0FFh, xx ausgewählt. Im Endeffekt wird über die Port 0FFh einfach nur die Bank eingestellt und je nachdem das ROM-Programm aktiviert oder ein normales Programm (egal ob MC oder Basic) an die richtige Stelle kopiert und gestartet, bzw. noch die Basicbank eingeschaltet. Ganz einfach…“
Die Programme sind mit bitbuster komprimiert, so dass effektiv sogar 3,5 MB an Programmen auf dem Modul vorhanden sind!
Hinweis: der alte Stromlaufplan mega-rom-modul.pdf ist nicht korrekt: U4 muss ein 74273 sein, sonst hat der Port keinen definierten Anfangswert von 00h und die Modulsoftware kann nicht gestartet werden!
Hardware
Ingo „Mobby5“ Rauscher hat das Modul erfolgreich nachgebaut, das Modul gleich um 32K SRAM erweitert und auch einen neuen Stromlaufplan entworfen.
Ingo: „Ich habe für die Dekoder einen GAL20V8 verwendet. Das Modul hat 32KB SRAM, welches man nicht mit bestücken muss, wenn man 2 RAM-Module verwenden möchte, dann ist auch der Jumper beim GAL nicht zu stecken. Der Aufbau ist auf Lochrasterplatte. Die Aufteilung des Mega-ROM-Images (aus dem KCEMU-Emulatorpaket von Torten Paul):
Es sind 5 mal 256 aufeinanderfolgende 2 KByte-Abschnitte. Also alle Bänke der ersten 2 KByte (von 10) dann wieder alle Bänke der zweiten 2 KByte (von 10) usw. Das ROM-Image wir dann einfach nur der Länge nach in 3 Teile gesplittet. 1. und 2. Teil = 1MB, 3. Teil = 0,5 MB.“
Downloads
- kc87megarom.rar Unterlagen (Stromlaufplan, GAL-Quellcode, orig. ROM von A.S.)
- super_new.zip dmeine modfizierten ROMs (von 2011, besser ist die neue Software → Mega-Flash-Modul)
Modul, Rückseite, im Betrieb (Fotos: I. Rauscher)
Mega-Modul und 64K-RAM-Modul
Zum Betrieb des Mega-Moduls mit dem 64K-RAM-Modul des CP/M-Systems muss das Mega-Modul ein wenig modifiziert werden, damit der ROM-Bereich abschaltbar wird und der 64K-RAM den Bereich C000h-E7FFh nutzen kann. Der RAM des Mega-Moduls wird abgeschaltet (via Jumper).
Variante 1: zusätzlicher DL074
Das originale Schalt-ROM-Modul wird mit Schreibbefehlen auf Adressen FC00h und F800h ab- bzw. angeschaltet. Mit einem zusätzlichen DL074 und einem geänderten GAL lässt sich das Mega-Modul auf diese Funktionalität erweitern. Ingo Rauscher hat auch das entwickelt.
Download kc87_megarommitabschaltung.rar
Diese Variante hat den Vorteil, nicht auf ein umgebautes 64K-RAm-Modul angewiesen zu sein (s.u.). Auch die Reihenfolge, in der die Module gesteckt werden, bleibt im Gegensatz zu den beiden nachfolgenden Varianten unabhängig von anderen Modulen.
Variante 2: zusätzlicher Transistor
Eine andere Variante stellt U. Zander auf seiner Seite zum Megamodul bereit http://www.sax.de/~zander/z9001/module/mega.html: Mit einem speziellen 64K-Modul und einer zu beachtenden Steckreihenfolge der Module beschränkt sich der Umbau auf einen Transistor und 3 Widerstände. Die Abschaltung des Mega-Moduls erfolgt dann parallel zum 64K-RAM-Modul mittels OUT 7-Befehl.
Variante 3: neuer GAL
Eine weitere Variante stammt von mir. Analog der Lösung von U. Zander wird das 58K-RAM-Signal des 64K-RAM-Nachbau-Moduls von D7A/6 an X1:27B gelegt. Dazu ist nur ein kurzes Stückchen Draht nötig. Am Megamodul wird statt der Lösung mit zusätzlichem SMD-Transistor der GAL umprogrammiert und PIN14 als Schaltsignal genutzt. Dazu muss man leider auch die Leiterplatte bearbeiten, da PIN 14 im Originalzustand leider auf beiden Leiterseiten mit Masse verbunden ist. Bei mir hat folgende Vorgehensweise funktioniert: Der GAL wird aus der Fassung genommen, die Fassung zwischen Pin14 und 15 durchtrennt, so dass man das 2Pin-Stückchen von PIN 13 und Pin 14 auslöten kann. Nun kann man den Anschluss von Pin 14 von Masse trennen. Dann wird das herausgenommene Stück der Fassung wieder eingelötet. Von X1:27A wird ein Draht an den GAL Pin 14 gelegt, außerdem ein Widerstand von diesem Pin 14 an +5V, z.B. an Pin 24 des GAL. Zuletzt wird der GAL umprogrammiert und wieder in seine Fassung gesteckt.
Mega-Modul von hinten, 64K-RAM-Modul von hinten
Download: gal-vp.zip
Bei beiden Varianten (U. Zander und meine) muss im Z9001 das Mega-Modul vor dem 64K-RAM-Modul gesteckt werden, damit das Abschalt-Signal vom RAM-Modul an das Mega-Modul gelangt! Und der RAM des Mega-Moduls muss natürlich abgeschaltet sein.