USBSID - C64-Sound am PC per USB

Der C64 ist einer der bekanntesten Rechner der Computergeschichte. Er zeichnet sich unter Anderem durch seinen SID-Chip (Sound Interface Device) aus. Dieser Soundchip wird auch heute noch gerne verwendet, um beeindruckende Chiptunes zu erzeugen, manchmal sogar mit zwei oder mehreren SIDs zeitlich. In dieser Anleitung geht es jedoch nicht direkt um den SID, sondern um die Hardware USBSID. Mit der USBSID ist es möglich, zwei SIDs (oder Nachbauten) an den USB-Port anzuschließen und sie sozusagen als externe Soundkarte zu nutzen. Natürlich nur mit entsprechender Software und SID-Titeln.

Quelle dieser Anleitung: USBSID-Pico von LouDnl (License)


Bevor es losgeht, noch ein paar Hinweise (Wichtig!):
  • Die Spannung muss an die verwendeten SID-Varianten angepasst werden. Eine zu hohe Spannung zerstört den SID!
  • Beim Löten ist auf die Ausrichtung der ICs und Komponenten mit Polarität zu achten.
  • Die SIDs und der Pico müssen ebenfalls korrekt eingesetzt werden. Achte auf die Ausrichtung bzw. auf die Kerbe.
  • Erfahrung im SMD-Löten ist erforderlich.
  • Es wird empfohlen, statische Aufladungen durch Tragen eines Antistatik-Armbands zu vermeiden.
  • Ich übernehme keine Haftung für Schäden, die direkt oder indirekt aus dieser Anleitung entstehen.

Was kann die USBSID Hardware?

Die USBSID Hardware bietet eine Vielzahl von Funktionen. Sie ist kompatibel mit den 8580 und 6581 SID, sowie mit FPGA-Nachbauten, die auf das Board gesteckt werden können. Mit der entsprechenden Software für Windows, MacOS und Linux wird das Audiosignal anschließend über die beiden SID-Chips umgeleitet. Zwar ist die Verwendung von zwei SIDs nicht zwingend erforderlich, ermöglicht aber das Abspielen von 2SID-Titel. Darüber hinaus verfügt die USBSID Hardware (nur mit Pico2) über einen optionalen integrierten Player, mit dem SID-Titel direkt auf den Pico kopiert und von dort abgespielt werden können. Die Steuerung des Players erfolgt am PC über die Kommandozeile.

Die Komponenten

Für unser Projekt benötigen wir zunächst die unbestückte Platine. Diese können wir bequem direkt bei PCBWay bestellen. Alternativ können die Gerber-Daten auf eine beliebige Webseite eines Platinenherstellers hochgeladen und von dort bestellt werden.


Des Weiteren benötigen wir folgende Komponenten.
Das übersichtliche interaktive BOM zeigt genau, wo die einzelnen Komponenten platziert werden müssen. Wer keine originalen SID-ICs besitzt oder diese nicht verwenden möchte, kann auf eine kostengünstige Alternative wie den PD-SID zurückgreifen.


Für den Raspberry Pico gibt es je nach Variante verschiedene Optionen. Diese Liste soll bei der Auswahl helfen:

1. Pico 1 Original: Dieser Pico bietet die grundlegenden Funktionen ohne integrierten Player und ohne RGB-LED.
2. Pico 1 USB-C Clone. Wie der Pico 1 Original, jedoch mit RGB-LED. Informationen zur RGB-LED sind im zweiten Teil der Anleitung zu finden.
3. Pico 2 Original: Wie der Pico 1 Original, aber mit der Möglichkeit, die Firmware mit integriertem Player zu flashen.

Der Aufbau

Die Platine besteht hauptsächlich aus SMD-Komponenten. Ich empfehle, diese zuerst zu bestücken, gefolgt von den IC-Sockeln, Headern und der Audiobuchse. Achte besonders auf die Bauteile, bei denen die Polarität eine Rolle spielt, wie z. B. die ICs, Elektrolytkondensatoren, den Tantal-Kondensator, Dioden und den Raspberry Pico. Der Pico kann zwar direkt auf die Platine gelötet werden, dies schränkt uns jedoch beim Testen der verschiedenen Varianten des Kleinrechners ein. Wie in der Komponentenliste erwähnt, sollten runde Header (male und female) für den Pico verwendet werden.

Die Firmware flashen

Der Raspberry Pi Pico zeichnet sich durch seine unkomplizierte Firmware-Installation aus. Der Pico sollte dabei allerdings sicherheitshalber von der Platine entfernt werden, da wir die Spannung der SIDs noch nicht eingestellt haben. Halte die Boot-Taste des Pico gedrückt, während dieser per USB-Kabel an den Computer angesteckt wird. Der Pico wird dann als Laufwerk eingebunden. Kopiere die gewünschte Firmware auf dieses Laufwerk. Die passende Firmware finden wir auf der GitHub-Seite. Die Auswahl ist abhängig von der Pico-Variante und den gewünschten Funktionen. Für die erste Installation empfehlen ich die Standard-Variante.

Für Pico 1: usbsidpico-v1.3.uf2
Für Pico 2: usbsidpico2-v1.3.uf2


Nach dem Kopieren der Firmware-Datei auf den Pico wird das Laufwerk automatisch ausgeworfen.

Die SIDs installieren

Das Wichtigste vorweg. Versorge die Platine nicht mit Spannung, bevor alle folgenden Punkte überprüft wurden. Je nach SID-Variante (8580 oder 6581) muss die entsprechende Betriebsspannung mittels Jumper eingestellt werden. ⚠ Achtung: Eine falsche Jumperkonfiguration kann die SID beschädigen! Die korrekte Jumperpositionierung ist auf der Platine übersichtlich dargestellt.

Jumper nicht gesetzt = 12V SID 6581
Jumper gesetzt = 9V SID 8580


Für beide SIDs müssen die Jumper J3, J4, J9 und J10 korrekt eingestellt werden. Jeder Steckplatz hat zwei Jumper, die sich in der gleichen Position befinden müssen. Diese Jumper bestimmen, welche Filterkondensatoren für den jeweiligen Steckplatz verwendet werden.


Nachdem wir sichergestellt haben, dass die Jumper korrekt gesetzt sind, stecken wir beide SIDs (oder auch nur einen, falls gewünscht) in den Sockel und achten dabei auf die richtige Ausrichtung der Kerbe.

Der Funktionstest

Endlich ist es soweit für den ersten Funktionstest. Wir verbinden den USBSID mit dem Rechner über ein USB-Kabel und laden das Online-Config-Tool. Dieses Tool setzt einen Chromebasierten Browser voraus und ermöglicht es uns nicht nur, Musik abzuspielen, sondern bietet auch verschiedene Optionen. Sobald der USBSID per USB-Kabel angeschlossen ist, sollte er vom Online-Config-Tool erkannt werden. Klicke dazu auf Connect. Wir navigieren zum Reiter “Config” und suchen nach “SID-Tests”. Wenn Kopfhörer an den USBSID angeschlossen sind, sollten wir je nach gewähltem SID (1 oder 2) eine Tonsequenz auf dem linken oder rechten Kanal hören.


Wenn wir den Ton hören, haben wir alles richtig gemacht und können versuchen, einen SID-Titel unter dem Reiter „Player“ abzuspielen. Standardmäßig wird der Ton nur auf einem der beiden SID wiedergegeben. Um den Ton auf beiden Seiten des Lautsprechers oder Kopfhörers zu hören, müssen wir das Audiosignal „teilen“. Öffne erneut den Reiter „Config“ und klicke auf „Mirrored“. Übernehme die Einstellungen anschließend mit “APPLY CFG” oder speichere sie mit „SAVE“. Single-SID-Titel sollten nun auf beiden Seiten des Kopfhörers zu hören sein.

2SID Titel wiedergeben

Um 2SID Titel korrekt abzuspielen, müssen beide SIDs adressiert werden. Wähle im Reiter „Config“ das Layout „Dual“ und übernehme die Einstellungen anschließend mit “APPLY CFG” oder speichere sie mit „SAVE“. Kehre zum Player zurück und wähle einen 2SID-Titel aus der Playlist. Der Ton sollte nun in Stereo auf beiden Seiten zu hören sein.

Der integrierte Player

Mit der USBSID Hardware können wir SID-Titel auf den Pico kopieren und dort ohne PC-Player abspielen. Dafür benötigen wir jedoch einen Raspberry Pi Pico 2, da dieser mehr Rechenleistung und Speicher für den Player bietet. Außerdem muss die richtige Firmware mit integriertem Player installiert sein. Wähle die Firmware mit den Zeichen „_sp“ im Dateinamen, in unserem Fall also „usbsidpico2-v1.3_sp.uf2“.

Um die SID-Titel anschließend in den Speicher des Pico 2 zu kopieren, benötigen wir ein Kommandozeilen-Tool, das im Archiv „Tools“ auf der Release-Seite zu finden ist. Dieses Tool, „send_sid“, ermöglicht uns die Übertragung der gewünschten Titel mit dem folgenden Befehl.

send_sid siddatei.sid Sendet eine SID-Datei an den USBSID und spielt sie ab.
send_sid -next Spielt den nächsten Subtune ab, falls vorhanden.
send_sid -stop Stoppt die Wiedergabe.
send_sid Ohne Parameter wird die Hilfeseite angezeigt.

Im zweiten Teil der Anleitung

Im zweiten Teil dieser Anleitung testen wir verschiedene Programme, die mit der USBSID Hardware kompatibel sind. Dabei aktivieren wir die optionalen RGB-LEDs und drucken ein Gehäuse mit den 3D Drucker.