Megamodul

:!: 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.

Mega-Flash-Modul

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.

Leiterplattendesign Honi Leiterplattendesign U. Richter; mit ROM-Abschaltung Variante 1 koma2b.jpg
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.

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).

megamodul_bs.jpgmegamodul_ls.jpg
Bestückungsseite. EPROM-Reihenfolge v.l.n.r 3-1-2. Die Banknummernanzeige (obere Leiterplatte) ist für den Betrieb des Moduls nicht erforderlich.Leiterseite. Die Banknummernanzeige (Adressleitungen A11..A18 an EPROM 2) wurde handverdrahtet.Anzeige der Banknummer mit 2 Anzeigen Typ HP 5082-7340. Beide Anzeigen ziehen zusammen ca. 190mA Strom.

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_WBasic mit Lutz-Elßner-Erweiterung
BOOT, BOOTZFKBootlader für CP/M + Robotron-Floppy bzw. Rossendorf-Floppy (und spez. BIOS!)
CPMR, CPMZFKkomplettes CP/M für Robotron-Floppy bzw. Rossendorf-Floppy, RAF2008 und integrierte ROM-Disks (vp)
EPROMCCLEPROM-Brennsoftware für den Z1013-Eprommer (vp)
F83Forth F83 incl. Erweiterungen (vp)
SDXTool f. Kingstener SD-Karten-Ansteuerung
GRAF, GRAF11, GRAF14, GRAFPGrafik-Treiber für BASIC: Grafik-Zusatz (256×192 Pixel), Zeichen-Grafik (40×24  Pixel), Viertel-Grafik (80×48 Pixel), KRT-Grafik (320×192 Pixel)
EPSONuniverseller 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, GDTreiber für Mobby und VolkerH
CAOSKC-CAOS von D. Ambras Menü, außerdem mit fullscreen-BASIC-Editor
FTEST13, FDTEST18Testprogramme für System und Floppy
CPM-ROM-Disk1wurde komplett neu zusammengestellt, enthält jetzt viele Systemprogramme, s.a. Software
CPM-ROM-Disk2BASIC-Programme (soweit der Platz im Modul noch reicht)
4.2.2010 
CHKROMSelbsttest (Prüfsummenvergleich aller Bänke).
BANKTESTDer Banktest wurde überarbeitet. Mit Cursor links + rechts können die Bänke manuell weitergeschaltet werden.
UHR14Basicprogramm für GRAF14, Analoguhr
CRT40, CRT80, CRT40_ZGConsolen-Treiber für KRT-Grafik, weitere Zeichensätze für CRT40
BASICP, BASICP_WBasicversion mit modifizierten PRINT AT für die Zusammenarbeit mit CRT40 und CRT80
GRAFDEMODemoprogramm für KRT-Grafik (R_GRDEMO2)
13.2.2010Ich 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 )
CKürzel für CURSOR: Umschalten des Cursors auf sichtbar/unsichtbar bei Nutzung des TV-Antennenanschlusses bei einem Farb-Z9001
CPM: RAMTESTRasmussen 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.2010Cursorumschaltung bei S/W-KC sollte jetzt funktionieren, EPROMCCL kehrt ins MEGA-Menü zurück
RAMTESTRAM-Test Y21SO (FA 12/86), an Z9001 adaptiert (vp)
10.4.2010 
DEBUGDebugger, 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.

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.

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!

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

megamodul_irauscher_1.jpg megamodul_irauscher_2.jpg megamodul_irauscher_3.jpg

Modul, Rückseite, im Betrieb (Fotos: I. Rauscher)

 

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.