Tutorial: Die C64 SD2IEC & EPYX Fast Load Cartridge

Ein SD2IEC sowie ein Fastloader sind Bestandteil der Standardausstattung und zu erschwinglichen Preisen erhältlich. Eine Cartridge, die beide Komponenten integriert, wäre jedoch von Vorteil. Diesen Gedanken verfolgte vermutlich der Entwickler der SD2IEC & EPYX Fast Load Cartridge, der ein kombiniertes Modul konzipiert hat. Bei Bedarf kann sowohl das SD2IEC als auch der Fastloader separat verwendet werden. Diese Anleitung erläutert den Aufbau und die Funktionsweise der SD2IEC & EPYX Fast Load Cartridge.

Quelle dieser Anleitung:  www.pcbway.com/project/shareproject von (DIY) C64iSTANBUL

Was wird benötigt?


Bevor es los geht, noch ein paar Hinweise (Wichtig!)
  • Die Cartridge darf ausschließlich in den Modulport gesteckt werden, wenn der Computer ausgeschaltet ist.
  • Die Cartridge ist mit der bestückten Seite nach oben, d.h. mit den ICs nach oben, in den Modulport einzuführen.
  • Die Polarität der beiden LEDs und der 4148-Diode ist zu beachten.
  • Zwischen dem SD-Karten-Slot und der Platine muss eine Isolationsschicht angebracht werden, um einen Kurzschluss zu verhindern.
  • Kurzschlüsse bei der Herstellung der Cartridge sind zu vermeiden, da diese sowohl die Cartridge als auch den Commodore 64 beschädigen können.
  • Es ist sicherzustellen, dass die Kerbe der IC-Sockel sowie die Kerbe der eingesetzten ICs mit der Kerbe auf der Platine übereinstimmen.
  • Es wird empfohlen, ein Antistatikarmband zu tragen, um statische Ladungen zu verhindern.
  • Ich übernehme keine Verantwortung über Schäden die direkt oder indirekt durch diese Anleitung entstanden sind.

Die Komponenten

Zunächst ist die unbestückte Platine zu beschaffen. Die entsprechenden Gerber-Daten wurden vom Entwickler bereits auf pcbway.com hochgeladen, wo die leere Platine direkt bestellt werden kann: www.pcbway.com.



Nun zu den Komponenten. Folgendes wird benötigt:

ATMega 1284 oder ATMega 644 (DIP40)
Siehe Hinweis weiter unten.

27C512, W27C512, 27C64, 27C128 oder 27C256 (DIP28)
Siehe Hinweis weiter unten.

74LS07 (DIP14)
IC-Sockel, 14-polig
IC-Sockel, 28-polig
IC-Sockel, 40-polig
2x8 pin SD-Karten-Modul (Nicht die Micro-SD Variante!)
LED Rot 3mm (Nicht die 5mm Variante)
LED Grün 3mm (Nicht die 5mm Variante)
270Ω 1/4W Widerstand x2
10KΩ 1/4W Widerstand
2,7KΩ 1/4W Widerstand
Quarz 8Mhz
4148 Schalt-Diode
Keramik-Kondensator 33pF x2
Keramik-Kondensator 100nF x2
Keramikkondensator 0,47μF
DIN-Stecker, 6-polig
Jumper
Kurzhubtaster horizontal x4
Steckbrückenkabel (40 Stück Set)
Stiftleiste 1x12
SD-Karte

Es sei darauf hingewiesen, dass in dieser Anleitung ein ATMega 644P Mikrocontroller eingesetzt wurde. Laut meiner Recherche ist anzunehmen, dass auch die folgenden ATMega Mikrocontroller kompatibel sind: 644-20PU, 644V-10PU und 644P-20PU. Diese Mikrocontroller wurden in dieser Anleitung nicht getestet.

Anmerkung zum EPROM: EPROMs, die mit einem „W“ im Namen versehen sind, stellen EEPROMs dar und sind lösch- und wiederbeschreibbar. Im Gegensatz dazu erfordern EPROMs die Verwendung eines UV-Geräts zur Löschung, bevor eine erneute Beschreibung möglich ist.

Der Aufbau

Der Aufbau gestaltet sich relativ unkompliziert, da die Bezeichnungen der Komponenten bereits auf der Platine aufgedruckt sind. Allerdings werden wir ein paar Stolperfallen vorfinden. Bevor es also mit dem Aufbau losgeht, ein paar Hinweise:

Der SD-Karten-Slot ist die Komponente, die als letzte aufgelötet werden sollte. Unterhalb dieses Slots befinden sich die Lötpunkte anderer Komponenten, die nach dem Löten des SD-Karten-Slots nicht mehr zugänglich sind. Zusätzlich sollte zwischen dem SD-Karten-Slot und der Platine eine Isolationsschicht aufgebracht werden, um einen Kurzschluss mit den darunterliegenden Lötpunkten zu verhindern.



Die Widerstände mit einem Wert von 270Ω dienen als Vorwiderstände für die Leuchtdioden. Diese werden auf der Platine an der Position „560“ aufgelötet.



Stelle sicher, dass die Kerbe des IC-Sockels mit der Kerbe auf der Platine übereinstimmt, um eine fehlerhafte Montage der ICs zu vermeiden.



Achte auf die korrekte Polarität der beiden LEDs sowie der 4148 Diode. Das längere Beinchen der LEDs ist der positive Pol. Der schwarze Strich auf der 4148 Diode muss mit dem entsprechenden Strich auf der Platine übereinstimmen. Bei allen anderen Komponenten ist die Polarität nicht von Bedeutung.


Das IEC-Kabel

Das Verbindungskabel zwischen Cartridge und IEC-Port muss auch noch gelötet werden. Auf der Cartridge, neben dem ATMega, sehen wir zwei VIA-Reihen. Eine davon bestücken wir mit Stiftleisten. Welche das ist, ist nicht relevant.



Die Nummerierung dieser Stiftleiste entspricht der Pin-Belegung des IEC-Ports. Folglich ist es erforderlich, den DIN-Stecker an den entsprechenden Pins zu löten.


Den Bootloader flashen

Der ATMega ist ab Werk natürlich nicht programmiert. Dies müssen wir erledigen. Zwar könnten wir direkt die Firmware flashen, was problemlos funktionieren würde, allerdings wären wir später nicht mehr in der Lage die Firmware über die SD-Karte zu aktualisieren. Deshalb müssen wir zuerst den Bootloader flashen. Lade die Datei newboot-0.4.1-binaries.zip herunter und entpacke sie. Dann öffnen wir das Minipro-Programm und wählen unter "Select IC" die ATMega-Variante die wir programmieren möchten.



Öffne nun die Bootloader-Datei "newboot-0.4.1-larsp-m644p.hex" oder "newboot-0.4.1-larsp-m1284p.hex", je nachdem welche ATMega-Variante verwendet wird. Es öffnet sich ein kleines Fenster, in dem wir auf „Code Memory“ klicken und mit „OK“ bestätigen.


Bevor wir mit der Programmierung starten können, müssen noch die Fuses (Config) so angepasst werden wie im folgenden Bild zu sehen ist. Das Häkchen neben "Check ID" muss entfernt werden.



Ein Klick auf den Button "P" startet nun den Flashvorgang. Die Firmware wird später mittels SD-Karte geflasht.

Das Epyx ROM programmieren

Mit den (E)EPROM gehen wir gleich vor wie mit dem ATMega, mit dem einzigen Unterschied, dass wir keine Fuses setzen müssen. Wir laden also auch hier die nötige Firmware für den Fastloader herunter: archive.org. Aus dem ZIP-Archiv extrahieren wir ausschließlich die BIN-Datei, die mit unserem (E)EPROM kompatibel ist.



Anschließend wird das Minipro-Programm gestartet und unter „Select IC“ das zu programmierende (E)EPROM ausgewählt. In diesem Fall wird ein 27W256 verwendet. Daher wird in der Datenbank nach 27256 gesucht.



Anschließend wird die Firmware geladen, die mit dem (E)EPROM kompatibel ist. In meinem Fall wähle ich die Datei 27256.BIN.



Im abschließenden Schritt deaktivieren wir die Option „Check ID“ und initiieren den Programmiervorgang durch Betätigung des Buttons „P“.



Der Jumper ist zum gegenwärtigen Zeitpunkt noch nicht erforderlich.

Ergänzungen zu EPROM (nicht EEPROM)

Die Glasscheibe sollte mit einem undurchsichtigen Klebeband abgeklebt werden, um einen Verlust der Daten zu verhindern. EPROMs erfordern eine Löschung mittels UV-Gerät, bevor eine erneute Beschriftung möglich ist.

Die letzten Vorbereitungen

Die programmierten ICs sowie der 74LS07 (DIP14) werden nun in die entsprechenden Sockel eingesetzt, wobei auf die korrekte Ausrichtung zu achten ist. Die Kerbe der integrierten Schaltungen muss mit der Kerbe auf der Platine übereinstimmen.



Zur Überprüfung der Funktionalität der Cartridge ist ein Programm für den Commodore 64 erforderlich. Dieses Programm kann jeglicher Art sein, sofern es sich um eine PRG-Datei handelt. Im nachfolgenden Beispiel wird die Demo Copper Booze verwendet. Diese Datei ist auf eine FAT16/FAT32 formatierte SD-Karte zu kopieren. Abschließend kopieren wir die Firmware in das Stammverzeichnis der SD-Karte. Lade das Archiv sd2iec-current-binaries.zip herunter und kopiere die Datei „sd2iec-XXX-larsp-m644p.bin“ oder „sd2iec-XXX-larsp-m1284p.bin“ auf die SD-Karte, abhängig von der verwendeten ATMega-Variante.

Die Firmware flashen und die Cartridge testen

Wir können nun die Cartridge testen und die Firmware installieren.  Dazu schalten wir den C64 aus, stecken die Cartridge mit der bestückten Seite nach oben in den Modulport und verbinden den DIN-Stecker mit dem IEC-Port.



Wenn der C64 eingeschaltet wird, sollten wir den Fastloader-Screen sehen. Damit wissen wir, dass dieser aktiv ist. Die Firmware der SD2IEC sollte automatisch erkannt und installiert worden sein.



Im darauffolgenden Schritt wird das Inhaltsverzeichnis der SD-Karte geladen. Der entsprechende Befehl lautet wie folgt.

LOAD"$",8
LIST


Da der Epyx Fastloader aktiv ist, reicht alternativ auch ein "$".



Im Falle einer Fehlermeldung ist es möglich, dass während des Aufbaus ein Fehler unterlaufen ist. Eine inkompatible SD-Karte kann ebenfalls die Ursache für die Fehlfunktion sein. Das Test-Programm wird mit den folgenden Befehlen geladen:

LOAD"COPPERBOOZE.PRG",8,1
RUN



Die Laufwerk-Adresse

Da am C64 mehr als nur ein Laufwerk angeschlossen werden kann, ist es in manchen Fällen notwendig, die Adresse der Laufwerke zu ändern. Aus diesem Grund ist bei der "SD2IEC & EPYX Fast Load Cartridge" die Möglichkeit vorgesehen, die Adresse mittels Jumper zu ändern. Die Laufwerk-Adressen 8, 9, 10 und 11 sind möglich. Der entsprechende Jumper muss wie folgt positioniert werden.


Tipps zum SD2IEC und EPYX Fastloader

Für die Bedienung der SD2IEC wird es eine eigene Anleitung geben. Dort werden alle wichtigen Funktionen beschrieben. 

Der EPYX Fastloader beschleunigt nicht nur den Ladevorgang von Programmen, sondern bietet darüber hinaus eine Vielzahl weiterer Funktionen, darunter erweiterte und verkürzte Befehle für das Laden und Speichern von Daten. Eine umfassende Übersicht der Funktionen finden wir hier: www.devili.iki.fi.