Tutorial - Die Sidekick64 Erweiterung für den Commodore 64

Für die Übertragung von Daten vom PC auf den Commodore 64 stehen verschiedene Lösungen zur Verfügung, darunter SD2IEC, PI1541 und 1541 Ultimate. Jede dieser Optionen bietet Vor- und Nachteile, deren Funktionsumfang sich in der Regel im Preis widerspiegelt. Zu den jüngsten Erweiterungen für den Commodore 64 und andere Commodore-Computer zählt die Sidekick64. Diese Cartridge bietet neben der Funktion eines Laufwerks auch ein GeoRAM, die Unterstützung von bis zu acht SID-Soundchips und einen MOD-Player. Die Sidekick64 ist als fertige Lösung im Internet erhältlich. In diesem Tutorial wird jedoch der Aufbau eines Sidekick64 erläutert.

Quelle dieser Anleitung: Sidekick64 von FRNTC (Lizenz: CC BY-NC-SA 4.0)


Bevor es losgeht, noch ein paar Hinweise (Wichtig!)
  • Es wird vorausgesetzt, dass der Anwender über Erfahrung im Löten von SMD-Bauteilen verfügt.  
  • Die korrekte Ausrichtung der Bauteile ist wichtig.  Kurzschlüsse während des Lötvorgangs sind zu vermeiden, da diese sowohl die Sidekick64 als auch den Commodore-Computer beschädigen können.  
  • Das Modul ist ausschließlich bei ausgeschaltetem Computer in den Modulschacht einzustecken.  
  • Für die Sidekick64-Cartridge wird die Verwendung eines externen Netzteils empfohlen. Sollte die Sidekick64-Cartridge Spannung vom C64 beziehen, ist die Verwendung eines externen Netzteils absolut zu vermeiden, da dies zu einer Beschädigung der Hardware führen würde.  
  • Die SD-Karte wird im Rahmen dieses Tutorials vollständig gelöscht. Es wird daher empfohlen, ein Backup aller vorhandenen Daten zu erstellen.  
  • Arbeite ausschließlich im spannungslosen Zustand an der Hardware.
  • Um statische Aufladung zu vermeiden, trage ein Antistatik-Armband.
  • Für Schäden, die direkt oder indirekt aus dieser Anleitung entstehen, wird keine Haftung übernommen.

Die Funktionsübersicht

Die Funktionsvielfalt dieser Cartridge ist sehr umfangreich. Im Folgenden sind die wesentlichen Funktionen aufgeführt:
  • Kompatibel mit C64, C128 und mit Adapter auch mit VIC-20, C16, C116 und Plus/4.
  • Programme können über ein grafisches Menü geladen werden. 
  • D64-Images sowie PRG-Dateien und Cartridge-Images werden unterstützt.
  • Audio Player (MOD, YM und WAV Dateien) mit SID und HDMI Ausgang, Stereo mit bis zu 48kHz Ausgang. TED-Sound und Digiblaster Emulation für C16/+4.
  • GeoRAM-Emulation bis zu 4MB.
  • Emulation von bis zu 8 SIDs, SFX Sound Expander und MIDI.
  • Unterstützt Freezer Cartridges, Easyflash/GMOD, Kernals, C128 Function-ROMs.
  • VIC-Emulation (VIC-20), die Bild und Ton über den HDMI-Ausgang des Raspberry Pi ausgibt.
  • VIC-20 Speichererweiterung (RAM1/2/3, BLK 1, 2, 3, 5, IO2/3).
  • Und einiges mehr

Die Komponenten

Zunächst ist die unbestückte Platine, gegebenenfalls einschließlich der Adapterplatinen für den Commodore VIC-20 und Plus/4, zu beschaffen. Für die ausschließliche Verwendung der Sidekick64-Cartridge im C64 sind keine Adapterplatinen erforderlich. Es existieren zwei Varianten der Sidekick64-Platine: eine für den Raspberry Pi Zero 2 und eine für den 3A+/3B+. Da die Version für den Raspberry Pi Zero 2 laut Entwickler ausschließlich mit dem C64/C128/VIC-20 kompatibel ist, wird in dieser Anleitung die Version für den 3A+/3B+ verwendet.




Nach Auswahl eines der beiden Sidekick64-Boards ist die Beschaffung des entsprechenden Raspberry Pi, entweder der Variante A oder B, erforderlich:


Beachte, dass ausschließlich die Version 2W des Raspberry Pi Zero unterstützt wird. Frühere Versionen werden nicht unterstützt. Zusätzlich werden die folgenden Komponenten benötigt.
Beim Kauf der ICs ist es wichtig, die genauen Abmessungen zu berücksichtigen, da zwei unterschiedliche Größen existieren. Die kleineren Varianten sind nicht mit der Platine kompatibel. Außerdem kann ein OLED SSD1306 Display anstelle des ST7789 Displays eingesetzt werden. In diesem Tutorial wird jedoch das ST7789 Display verwendet, dessen Verwendung sich auf jeden Fall lohnt. Die Bauteile für die Adapterplatinen finden wir im zweiten Teil der Anleitung.

Der Aufbau

Die Positionierung der einzelnen Komponenten ist aufgrund der vorbildlichen Beschriftung der Platine leicht identifizierbar. Auf der BOM-Seite des Entwicklers finden wir eine grafische Darstellung der Platine, auf der die meisten Komponenten eingezeichnet sind. Es ist jedoch wichtig, dass das Display als letzte Komponente aufgelötet wird, da sich darunter einige Lötstellen befinden, die nach dessen Auflöten nicht mehr zugänglich sind. Des Weiteren ist auf die korrekte Ausrichtung der ICs und Leuchtdioden zu achten.

Vor dem Anlöten des Displays ist die Festlegung der Polarität mittels Lötbrücken erforderlich. Verbinde die entsprechenden Lötpads so, dass die Polarität mit der des Displays übereinstimmt.


Außerdem dürfen wir den Kondensator unter dem Display nicht vergessen. Nach Abschluss dieser Aufgabe können wir mit dem Löten der verbleibenden Bauteile fortfahren.


Die beiden Pin-Header am äußeren Rand der Platine werden nach außen gebogen. Die Gründe für diese Maßnahme werden im weiteren Verlauf erläutert.


Der Abschnitt der Platine, welcher die Art der Spannungsversorgung bestimmt, wurde absichtlich weggelassen. Folglich erfordert der Sidekick64 eine externe Stromversorgung und kann nicht versehentlich gleichzeitig vom C64 versorgt werden. Dadurch wird das Risiko einer Beschädigung der Hardware minimiert.

Der Raspberry Pi

Vor der Inbetriebnahme des Raspberry Pi ist die Einrichtung der MicroSD-Karte erforderlich. Dieser Vorgang ist unkompliziert. Zunächst ist die Formatierung der Karte notwendig. Hierfür empfehle ich die Verwendung des Tools SD Card Formatter.  Starte das Programm und wähle die entsprechende SD-Karte aus dem Dropdown-Menü aus. Achte auf die korrekte Auswahl der Karte, da eine Fehlauswahl zum unwiderruflichen Verlust der Daten des falschen Datenträgers führt.


Nach erfolgreicher Formatierung der Karte wird die aktuelle Sidekick64-Software heruntergeladen. Den gesamten Inhalt des Zip-Archivs kopieren wir anschließend auf die SD-Karte kopiert. Zur Überprüfung der Funktionalität kopieren wir einige C64-Programme in die Verzeichnisse „D64“ und „PRG“. Optional kann auch eine Auswahl an SID-Dateien in das Verzeichnis „SID“ kopiert werden. Anschließend wird die SD-Karte in den Raspberry Pi eingesetzt und dieser auf das Sidekick64-Board aufgesteckt. Stelle sicher, dass die Pin-Header-Leiste mit den Pins des Raspberry Pi übereinstimmt.

Die Jumper

Vor dem ersten Test des Moduls ist die Platzierung eines Jumpers erforderlich. Für den Commodore 64 ist die Konfiguration des Jumpers auf d=0 ausreichend.

Der Funktionstest

Nach erfolgreicher Durchführung der zuvor beschriebenen Schritte geht es zum ersten Funktionstest. Die Sidekick64-Cartridge ist mit dem Raspberry Pi nach unten ausgerichtet, in den Modulschacht des C64 zu stecken. Gemäß den Angaben des Entwicklers stellt die folgende Reihenfolge die korrekte Verwendung der Cartridge dar:
  1. Versorge zunächst den Raspberry Pi mit Spannung.
  2. Warte, bis der Raspberry Pi vollständig hochgefahren ist.
  3. Schalte den C64 ein.
Wir sollten auf dem C64 das Startmenü und auf dem kleinen Bildschirm den Schriftzug “Sidekick64” sehen. Wenn wir beides sehen, haben wir alles richtig gemacht.

Das Main Menü

Durch Betätigung der Taste F7 wird der Browser geöffnet. Dieser ermöglicht den Start beliebiger Programme mit einem Tastendruck. Das Menü ist in verschiedene Formate, wie beispielsweise D64, PRGs und CRT, untergliedert. Ordner, die keine Dateien enthalten, sind nicht zugänglich. Die Programme können wie folgt gestartet werden:
  • Markierte PRGs oder CRTs werden mit Enter gestartet.
  • Ein D64-Image kann mit der Taste M gemountet und geladen werden.
  • Mit Shift+M wird das ausgewählte Image nur gemountet, aber nicht geladen.
  • F7 beendet den Browser.

Im Hauptbildschirm befinden sich in der rechten unteren Ecke drei Menüpunkte: F1 GeoRAM, F3 SID+FM Emulation und F5 Einstellungen. Die Bedienung dieser Menüpunkte gestaltet sich auf den ersten Blick nicht so intuitiv, wie erwartet. Die Aktivierung der GeoRAM- bzw. SID+FM-Emulation erfolgt durch Betätigung der entsprechenden Tasten. Daraufhin wird die gewählte Funktion aktiviert. Im Browser (F7) kann nun ein gewünschtes Programm geladen werden, wobei die GeoRAM- bzw. SID+FM-Unterstützung erhalten bleibt. Eine erneute Betätigung von F1 oder F3 führt zu einem Reset des C64, wodurch die entsprechende Erweiterung nutzbar ist, der Browser jedoch nicht mehr zugänglich ist. Diese Funktion ist insbesondere dann vorteilhaft, wenn die GeoRAM- oder SID+FM-Unterstützung erforderlich ist, jedoch Programme von einem anderen Laufwerk geladen werden sollen.


Die aktuell aktive Funktion oder Erweiterung wird auf dem ST7789 Display angezeigt.


Um zum Hauptmenü des SideKick64 zurückzukehren, ist es erforderlich, den dritten Taster der Cartridge gedrückt zu halten.

Kernals and SID-Emulation

Zur Verwendung des Kernel-Ersatzes und der SID-Emulation ist die Verbindung zweier zusätzlicher Drahtbrücken erforderlich. Die beiden Pins auf der linken Seite der Platine sind mit der C64/C128-Platine wie folgt zu verbinden.

"SID CS" verbinden mit SID (Pin 8)
"CPU P1" verbinden mit Pin 28 der CPU 6510/8500 im C64 (oder Pin 29 des 8502 für C128)

Die Drahtbrücken können alternativ zu den Beinchen der genannten ICs an der entsprechenden Leiterbahn auf der Platine angelötet werden. Die Identifizierung der jeweiligen Leiterbahn ist von der jeweiligen Platine abhängig. Ein Beispiel hierfür ist das C64C ASSY 250469.


Es ist nun möglich, ein Kernal zu laden oder die Emulation von bis zu acht SIDs zu testen. In diesem Test wird ein beliebiger 2SID-Titel abgespielt. Vor dem Laden dieses Titels über den Browser ist es erforderlich, die Einstellungen (F7 Settings) zu öffnen und die folgenden Optionen entsprechend zu konfigurieren.
  • SID+FM (reSID=fmopl/TinySoundfont)
  • SID#1+SID#2 8580 oder 6581
  • Address - Abhängig vom jeweiligen SID-Titel
  • Output HDMI für Audioausgabe über HDMI oder PWM für Audioausgabe über Audio-Buchse.
Der Sound Expander und die MIDI-Emulation sind auch ohne die SID CS Leitung funktionsfähig. 


Die Konfiguration sollte mit der Taste F5 gespeichert werden, und die 2SID-Datei kann anschließend geladen werden. Für diesen Test ist es empfehlenswert, das über den DIN-Stecker des C64 ausgegebene Audiosignal auf Stumm zu schalten.

Die GeoRAM Emulation

Wie bereits erläutert, verfügt die Sidekick64-Cartridge über die Fähigkeit, eine GeoRAM zu emulieren. Die Speichergröße kann in den Einstellungen konfiguriert werden. Es stehen Speichergrößen von 512 KB bis 4 MB zur Auswahl.


Zum Zeitpunkt der Erstellung dieser Anleitung waren einige Probleme mit der GeoRAM-Emulation festzustellen. Die verwendete Firmware-Version war v0.51d. Die GeoRAM wurde von der im Browser gestarteten Anwendung nicht erkannt, wenn sie sich innerhalb eines D64-Images befand. Lediglich PRGs, wie beispielsweise der GeoRAM Checker, können die GeoRAM nutzen. Scheinbar ist der Zugriff auf die GeoRAM beim Mounten des D64-Images nicht möglich, sondern lediglich bei Zugriff auf einzelne Dateien. Bei der Ausführung der Anwendung von einem anderen Laufwerk, d.h. außerhalb des Browsers, verlief die GeoRAM-Emulation ohne Probleme.


Die GeoRAM-Erweiterung wurde stets als 4MB-Erweiterung dargestellt, unabhängig von der konfigurierten Speichergröße. Das ST7789 Display hingegen zeigte die korrekte Speichergröße an.