Der Chip
Für eine kompakte Beschreibung empfehle ich das übersichtliche Commodore SID 6581 Datenblatt. Das ist aktuell (2024) im Netz leicht verfügbar.
SID ist ein klassischer Computerchip mit 28 Füßchen, an deren erste vier zwei Kondensatoren angeschlossen werden, die den Klangfilter charakteristisch beeinflussen. An Füßchen fünf liegt die Resetleitung des Controllers, und an Füßchen sechs kommt der Systemtakt an.
Über diesen Takt kann der SID Chip gepitcht werden. Empfohlen wird ein Takt von 1MHz, das entspräche nach seiner Architektur dem Mittleren C von 256 Hertz, wie es aus 1/Sekunde physikalisch definert wird. Um ein a'440Hz zu erreichen, muss die Taktfrequenz etwas erhöht werden, was natürlich auch schneller zu Überhitzung führt. Für ein a'428Hz würde der Systemtakt entsprechend verlangsamt. Wie weit ein Pitchen möglich ist, ohne dass der Klang beeintächtigt wird oder Teile des Gehäuses brechen, kann ich nicht sagen, weil im Commodore 64 der Systemtakt abhängig vom Videochip nicht variabel ist. Ich selbst wäre mit einem Takt von genau 1MHz mehr als zufrieden. Das entspräche dem a'432Hz. Das ist ein idealer Orientierungswert, denn abhängig von verschiedenen Baureihen kann der Pitch minimal, zum Teil auch hörbar, von den physikalisch definierten Größen abweichen.
Über Füßchen sieben wird geschaltet, ob auf ein internes Register des SID Chip lesend oder schreibend zugegriffen wird. Die Register erlauben nur entweder lesenden oder schreibenden Zugriff. Die meisten Register können nur beschrieben werden. Vier übrige Register erlauben ausschließlich lesenden Zugriff. Am achten Füßchen kommt das Signal ChipSelect, das dem SID Chip signalisiert, ob er gerade vom Controller angesprochen wird.
Füßchen neun bis dreizehn sind die fünf Adressleitungen A0, A1, A2, A3, A4. Auf diese Weise können durch High oder Low der einzelnen Leitungen 31 verschiedene Möglichkeiten geschaltet werden. Der SID Chip verfügt über 29 interne Register, die so adressiert werden. Die übrigen beiden Adressschaltungen führen ins Leere, sie werden einfach nicht benutzt, weil im Chip kein Platz mehr für eine sinnvolle Anwendung ist. So geht es aus dem Datenblatt hervor.
Wie diese 29 einzelnen Register gemeinsam genutzt werden, was sie jeweils für eine Funktion haben, ist das eigentliche Thema der folgenden Seiten.
Zum Abschluss der linken Reihe liegt an Füßchen vierzehn die Masse. Es wird empfohlen unabhängig von anderen Komponenten den SID Chip mit eigenen Spannungen zu versorgen und auf eine eigene Masse zu leiten. Klar, das soll Störungen im Sound vermeiden.
Der SID Chip bekommt also eine eigene Masse und eine eigene, zusätzliche Arbeits und Versorgungsspannung. Diese kommen für alle Modelle MOS6581 mit 5 Volt auf Füßchen achtundzwanzig an und gleichzeitig mit 12 Volt auf Füßchen fünfundzwanzig! Alle Modelle MOS8580 erhalten dann auf das Füßchen fünfundzwanzig eine Versogungsspannung von 9 Volt!
Über Füßchen siebenundzwanzig kommt das analoge Audiosignal heraus, in sechsundzwanzig kann ein externes, analoges Audiosignal hineingehen, das dann über die internen Filter geleitet wird und so gemischt auf Füßchen siebenundzwanzig direkt wieder herauskommt. Von da aus kann es ohne Umwege an einen aktiven Lautsprecher oder einen Verstärker geleitet werden und ist sofort hörbar.
Füßchen vierundzwanzig und dreiundzwanzig erlauben den Anschluss jeweils eines Potentiometers, also zwei stufenlose Regler, Drehknöpfe. Im Inneren des SID Chip befindet sich dort jeweils ein analog/digital Wandler, deren aktuelle Ergebnisse jederzeit aus zweien der vier lesbaren Register abgefragt werden können. Die mögliche Zuordnung der beiden Potentiometer ist also frei wählbar.
Zum Abschluss finden sich auf den Füßchen zweiundzwanzig bis fünfzehn die acht Datenleitungen D7, D6, D5, D4, D3, D2, D1, D0. Dieser Eingang und Ausgang für Daten kann mit jedem Zugriff genau ein Byte lesend oder schreibend verarbeiten. Es ist nicht möglich nur einzelne Bit zu verarbeiten, es wird immer ein ganzes Byte gesendet oder empfangen.
Das funktioniert in einem Beispiel etwa so. Der Controller spricht auf Füßchen acht den SID an und schaltet über Füßchen sieben auf schreiben. Gleichzeitig kommt über die fünf Adressleitungen das Signal 1 1 0 0 0 für Register 24 von 29 und über die acht Datenleitungen das Signal 0 0 0 0 1 1 1 1 für den Wert der maximalen Lautstärke am Audio Ausgang, was über die unteren vier Bit im Register 24 geregelt wird. Die Lautstärke bleibt jetzt so lange voll, bis der Wert der unteren vier Bit in Register 24 wieder geändert wird, oder bis ein Reset auf Füßchen fünf ausgelöst wird, was alle Register löscht. Klar.
Der SID Chip hat drei voneinander unabhängige Oszyllatoren, also drei Stimmen, die in einer von jeweils vier Wellenformen, Dreieck, Sägezahn, Rechteck und tonales Rauschen, eine Frequenz zwischen 0Hz und 4000Hz gemeinsam über den regelbaren Filter oder an ihm vorbei zum Audio Ausgang schicken können. So kompliziert dieser Satz war, so einfach ist das. All das wird über die internen 29 Register unmittelbar gesteuert.
Die größere Schwierigkeit besteht wohl darin den entsprechenden Controller zu programmieren, denn das ist im natürlichen Fall der ganze Rest von einem original Commodore 64.