Magic Disk - Das 1Mb Modul für den C64
- Einige el. Komponenten (Siehe Text)
- Magic Desk Cartridge Generator
- EPROMer
- Evtl. EPROM Löschgerät



Programme die auf einer Cartridges gespeichert sind, werden sofort geladen sobald der Rechner eingeschaltet wird. Die Ladezeiten sind sehr kurz und es werden keine Laufwerke benötigt. Leider ist meistens nur ein einziges Programm im ROM gespeichert und Speicherplatz ist oft nicht ausreichend vorhanden. Die MagicDisk Cartridge hingegen kann mit einem bis zu 1Mb großen EPROM bestückt werden. Und die Programme sind nicht auf 8 oder 16Kb beschränkt. Des Weiteren wird auf dieser Cartridge ein grafisches Menü installiert mit den die einzelnen Programme gestartet werden können.

Klicke auf das Bild zum Vergrößern
Bevor es los geht noch ein paar Hinweise (Wichtig!):
- Niemals eine Cartridge oder ein EPROM ein-/ausstecken wenn der C64 eingeschaltet ist.
- Achte auf die Ausrichtung der Kerbe des EPROMs. Ein falsch rum aufgestecktes ROM kann die Cartridge sowie C64 beschädigen.
- Stecke die Cartridge in den Modul-Port mit der bestückten Seite nach oben. (Siehe entsprechende Bilder)
- Vermeide statische Ladungen durch das Berühren eines geerdeten Objektes, wie beispielsweise einen Heizkörper. Oder verwende ein antistatisches Armband.
- Ich übernehme keine Verantwortung über Schäden die direkt oder indirekt durch diese Anleitung entstanden sind.
Die Platine
Die Platine die für dieses Projekt benötigt wird ist frei verfügbar. Sie basiert auf der M.Solajic und Z.Zarko cartridge. Die Gerber-Daten können hier runtergeladen oder die Platine direkt bestellt werden: seeedstudio.com. Natürlich können die Gerber-Dateien auch auf einer anderen PCB-Herstellerseite hochgeladen werden.

Die Komponenten
Folgende Komponenten werden benötigt:
- 74HC273
- 74HC02
- 100nF Keramikkondensator x2
- Taster
- M27C801
- IC-Sockel, 32-polig
- IC-Sockel, 20-polig (Optional)
- IC-Sockel, 14-polig (Optional)
Wo die Komponenten platziert werden ist selbsterklärend. Achte aber auf die Ausrichtung der IC's und Sockel!

Klicke auf das Bild zum Vergrößern
Die Software
Für die Erstellung der EPROM-Images benötigen wir eine Python-Installation. Diese kann unter Windows ganz einfach mit einem Installer installiert werden. Lade die aktuelle Version 3.X.X runter (Download) und installiere diese. Achte darauf, dass der Haken bei "Add Python to PATH" gesetzt ist.

Als nächstes brauchen wir das Python Script das die Images erstellt. Dieses ist hier zu finden: Magic Desk Cartridge Generator. Entpacke das Archiv auf dem Desktop.

Und zuletzt benötigen wir natürlich die C64-Programme die auf der Cartridge platz finden sollen. Es können ausschließlich PRG-Dateien verwendet werden. Im Ordner "prg" von "Magic Desk Cartridge Generator" sind bereits ein paar Programme vorhanden. Für unseren ersten Test reichen diese vollkommen aus.

Alternativ können von csdb.dk weitere Programme, Spiele und Demos runtergeladen werden. Diese müssen ebenfalls in den Ordner "prg" von "Magic Desk Cartridge Generator" abgelegt werden.
Ein Image erstellen
Im "Magic Desk Cartridge Generator" Archiv das wir runtergeladen haben, befindet sich ein Python Script mit den Namen "crtgen.py". Dieses Script erzeugt das Image das anschließend auf das EPROM gebrannt wird. Das Script muss in der Eingabeaufforderung (CMD) von Windows gestartet werden, mit den folgenden Befehl:
cd [Pfad zu crtgen.py]
python crtgen.py
Der [Pfad zu crtgen.py] muss natürlich an das eigene System angepasst werden. Die Speichergröße aller Programme im Ordner "prg" inklusive menu.prg dürfen die 1Mb Grenze nicht überschreiten.

Klicke auf das Bild zum Vergrößern
Es wird eine Datei mit der Endung BIN erzeugt und im Ordner abgelegt in den sich das crtgen.py befindet.

Wenn das Image auf das EPROM gebrannt werden würde, wären die ausgewählten Programm in alphabetischer Reihenfolge aufgelistet. Die Dateinamen werden als Menü-Name verwendet. Dies und vieles mehr kann in einer optionalen Konfigurationsdatei verändert werden (siehe nächster Abschnitt), was nicht zwingend nötig aber möglich ist.
Weitere Optionen (Optional)
Mit einer optionalen Konfigurationsdatei können wir Einfluss auf das Aussehen des Menüs nehmen. Diese Datei muss wie folgt strukturiert werden. Eine Beispiel-Konfigurationsdatei (compilation.cfg) befindet sich bereits im Ordner in den sich das Script crtgen.py befindet.
Es muss nicht zwingend jede Option in die Datei eingetragen werden. Ist die Option nicht vorhanden, wird die Standard-Einstellung übernommen.
[cartridge]
;Speichergröße der erzeugten Datei: 64, 128, 256, 512, 1024. Ohne Angabe wird die Größe automatisch berechnet.
size=256
;Name der erzeugten BIN-Datei
bin=compilation.bin
;Name des Menü-Programmes
menu=menu.prg
;Text in der letzten Zeile
help=(Shift)CRSR: Scroll, Fn/Ret: Menu select
;Wellen-Animation des Menüs
wave=1
;Ross cartridge sound im Menü
sound=1
;Rahmen-, Hintergrund- und Schriftfarbe
border=14
background=6
character=14
[menu1];Titel des ersten Menüs
title=Magic Desk cartridge Games
;Reihenfolge der Programme im ersten Menü
order=05,01,02,03,04,06,07,08,09,10,11,12,13,14,15
;Position, Maße und Abstand des ersten Menüs
width=25
height=7
x=7
y=3
spacing=1
[menu2]
;Hier gelten die selben Optionen wir unter Menu1
[prg100]
;Dateiname und Menüname des Programmes mit der Nummer 00 im Menü 1
file=commando
name=Commando
[prg220]
;Dateiname und Menüname des Programmes mit der Nummer 20 im Menü 2
file=demo
name=Mega Demo

Anschließend erstellen wir ein Image mit den von uns gewählten Optionen.
cd [Pfad zu crtgen.py]
python crtgen.py [Konfigurationsdatei]

Klicke auf das Bild zum Vergrößern
An Stelle von [Konfigurationsdatei] muss der name der Konfigurationsdatei angegeben werden.
Das Image im Emulator testen
Damit wir das erzeugte Image nicht jedes Mal auf das EPROM brennen müssen, nur um dieses zu testen, verwenden wir den Emulator VICE (Download). Dieser Unterstützt seit Version 3 die bis zu 1Mb großen Magic Desk Images.
Hinweis: In dieser Anleitung wird der Emulator WinVICE verwendet. Die GTK- sowie die SDL-Version haben eine grafische Oberfläche die sich stark von der WinVICE Version unterscheidet.
Haben wir den Emulator VICE runtergeladen und entpackt, binden wir das Magic Desk Image ein. Und zwar wird dies unter "File -> Attach cartridge image... -> Utility cartridges... -> Magic Desk image..." erledigt.

Klicke auf das Bild zum Vergrößern
Daraufhin sollte das Menü mit den importierten Programmen angezeigt werden. Auf diese Weise können wir das Image Testen ohne das EPROM jedes mal löschen und neu beschreiben zu müssen.

Klicke auf das Bild zum Vergrößern
Das Image auf einem EPROM brennen
Jetzt wo wir das Image haben, müssen wir dieses auf das EPROM kopieren. Wir benötigen, wie in der Komponenten-Liste bereits erwähnt, ein M27C801 EPROM das maximal 1Mb an Daten aufnehmen kann.

Es gibt zahlreiche Programmiergeräte/EPROMer mit den das EPROM beschrieben werden kann. In dieser Anleitung kommt der Mini Pro TL866C zum Einsatz. Dieser ist bereits unter 50€ zu finden und unterstützt zahlreiche EPROMs.

Klicke auf das Bild zum Vergrößern
Wenn der Treiber und das Programm für den Programmer installiert sind, starten wir das Programm und suchen aus der IC-Datenbank das geeignete EPROM aus. In unserem Fall geben wir für die grobe Suche die folgende EPROM-Bezeichnung ein: 27C801. Dann sollten wir aus den gefundenen IC's genau den Typ wählen den wir verwenden.

Klicke auf das Bild zum Vergrößern
Das EPROM muss korrekt im Sockel eingesetzt werden. Ein Klick auf den Button "Information" zeigt, wie das EPROM positioniert werden muss. Achte auf die Kerbe und auf Pin 1.

Versichere dich, dass das EPROM leer ist. Ein "Blank Check" gibt darüber Auskunft. Ein nicht leeres EPROM muss zuerst gelöscht werden. Siehe bei "EPROMs löschen".

Klicke auf das Bild zum Vergrößern
Dann laden wir das Image (BIN-Datei)...

Klicke auf das Bild zum Vergrößern
...und bestätigen mit OK

Klicke auf das Bild zum Vergrößern
Und schlussendlich brennen wir das Image auf das EPROM. Klicke dazu auf den Button "P" und bestätige mit "Program". Das EPROM wird nun beschrieben.

Klicke auf das Bild zum Vergrößern
Damit das EPROM seine Daten nicht verliert, sollte die Glasscheibe mit einem undurchsichtigen Klebeband zugeklebt werden.

Das EPROM ist nun einsatzbereit und kann auf den Sockel der Cartridge gesteckt werden. Wichtig! Achte auf die Ausrichtung der Kerbe des EPROMs. Sie muss mit der Kerbe auf den Modul und mit der des Sockels übereinstimmen.


EPROMs löschen
EPROMs können im Gegensatz zu EEPROMS (Electrically Erasable Programmable Read-only Memory) nicht mit neue Daten überschrieben werden, sondern müssen mit einem EPROM-Löschgerät gelöscht werden. Dieses sendet Ultraviolettstrahlung in das EPROM. Dadurch wird der Speicher gelöscht und kann anschließend neu beschrieben werden. Es gibt verschiedene Löschgeräte. Vom normalen "langsamen" Ultraviolett-Löschgerät bis zum schnellen Blitzgerät. Für meinen Bedarf reicht dieser günstige EPROM-Löscher vollkommen. Man darf in der Verarbeitung kein Meisterwerk erwarten und der Stecker muss getauscht werden da er für europäische Steckdosen ungeeignet ist, aber er funktioniert. Und es können zeitgleich mehrere EPROMS gelöscht werden.

Der Löschvorgang dürfte in den meisten Fällen 10-20 Minuten dauern, dabei muss eine eventuell vorhanden UV-Abdeckung des EPROMs entfernt werden. Danach kann das EPROM wieder beschrieben werden.
