Dies ist eine alte Version des Dokuments!
Mega-Modul
Das Mega-Modul wurde ursprünglich von A. Schön für den Z9001 entwickelt → megamodul. Das Nachfolge-Modul megaflash von Bübchen ist ebenso nutzbar.
Speicherbereich: | C000h-E7FFh |
---|---|
Ports: | 0FFh (out Banknr.) |
Speicher: | 256 x 10K = 2,5 MByte |
Ds Modul besteht aus 256 Speicherbänken von je 10K. Immer eine Speicherbank liegt aktiv im Speicherbereich des Prozessors von C000h-E7FFh. Die jeweils aktive Bank wird durch Ausgabe der Banknummer auf Port FFh eingestellt (nur schreibender Zugriff).
Nach Reset ist Bank 00h aktiv. In dieser Bank liegt das Hauptprogramm des Moduls.
Alpha-Version
Für erste Tests (im Emulator JKCEMU) habe ich eine Headerdisk-kompatible Software geschrieben. Im ROM liegen die Programme einfach als Z80-Files direkt hintereinander.
Start:
# J C000
Das kopiert die Headerdisk-Software nach BC00h-BFFFh und installiert die Befehle für den Zusatzmonitor. Folgene Zusatzkommandos stehen dann zur Verfügung:
@F (FILES) - Anzeige der Files auf dem aktuellen Disk
Mit STOP wird die Anzeige unterbrochen, jede andere Taste blättert weiter
@R (READ) - File entsprechend abgefragter Filenummer laden. Mit Autostart bei Typ=C
@RRR - wie @R, aber Autostartverbot
@RN - wie @R, aber Abfrage nach Name+Typ
@RNN - wie @RN, aber Autostartverbot
@R aadr - Laden; nach Adresse aadr
Download
Ab Version 0.9 unterstützt der JKCEMU das Megamodul am Z1013 direkt, es muss keine gepatchte Version genutzt werden.
- jkcemu.jar gepatchte Version JKCEMU 0.81+Megamodul, 17.9.11
Software
Wenn der Inhalt des Moduls individuell angepasst werden soll:
Benötigt wird der Arnold-Assembler (und ggf. Perl).
Im makefile müssen die Pfade zu AS und P2BIN eingetragen werden. In z80files.inc stehen die Files, die in den ROM sollen (nur der Pfad ist wichtig, die restl. Parameter werden noch nicht gebraucht). Dann einfach
make roms
auf der Kommandozeile tippen.
Die Quellcodedatei für die Alpha-Header-Software ist uni-copy\hd_mega.asm.
Umbau
Das Mega-Flash-Modul ist ohne Umbau direkt am Z013 nutzbar.
Das Mega-Modul in der originalen Version für den Z9001 erzeugt leider kein geeignetes MEMDI-Signal. Durch Umprogrammieren des GAL und ein Stück Draht lässt sich das leicht ändern:
Am Megamodul wird PIN14 als Schaltsignal MEMDI genutzt. Der Jumper bleibt offen.
Dazu muss man leider auch die Leiterplatte bearbeiten, da PIN 14 im Originalzustand 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 trennt man den Anschluss von Pin 14 von Masse. Dann wird das herausgenommene Stück der Fassung wieder eingelötet. Von X1:MEMDI wird ein Draht an den GAL Pin 14 gelegt. Zuletzt wird der GAL umprogrammiert und wieder in seine Fassung gesteckt.
- GAL-Programm