DEV-TRONIC.de

Z80Ardu – DoubleSID Soundkarte

Früher hatten Computer maximal einen kleinen Lautsprecher verbaut, über den Pieptöne ausgegeben wurden. Die Möglichkeiten, auf diesen Geräten „Musik“ zu erstellen, waren schlichtweg nicht vorhanden. Einige Spiele holten dennoch unterschiedliche Töne aus der spärlichen Ausstattung heraus.

Als die Homecomputer Ende der 70er, Anfang der 80er Jahre herauskamen, änderte sich das. Man verbaute in diesen Computern gerne auch einen Soundchip. Häufig wurde der Chip AY-3-8910 von General Instrument eingesetzt. Dieser wurde außerdem zuvor bereits in Spielautomaten eingesetzt.

Mit dem Erscheinen des C64-Homecomputers kam der SID 6581. In Sachen Musik und Sound auf Homecomputern war das eine Revolution. Und auch heute noch ist dieser Chip unerreicht. Der SID-Chip wird 40 Jahre nach seinem Einsatz im C64 natürlich nicht mehr gebaut. Funktionierende Chips sind rar und teuer, wenn man diese erstehen will. Es gibt außerdem Fälschungen.

Ich verfüge nicht über diesen Chip. Aber zum Glück gibt es inzwischen recht passable Nachbauten, wie zum Beispiel den SwinSID. Dabei handelt es sich um eine Emulation des Originals. Der Klang kommt nicht ganz an das Original heran, dafür ist der SwinSID aber wirklich erschwinglich.

Ob das Projekt heute noch weitergeführt wird, ist mir aktuell (Ende 2023) unbekannt. Auf einschlägigen Plattformen kann man den SwinSID allerdings für einen recht überschaubaren Betrag erwerben. Und das habe ich getan. Gleich zwei davon!

Mein Ziel: Der Bau einer Soundkarte für den Z80Ardu. Die Karte wird zwei SwinSID enthalten, also 6 Tonkanäle bereitstellen. Ein SwinSID wird den linken Audiokanal, ein SwinSID den rechten Audiokanal bedienen. Die beiden Chips werden über getrennte I/O-Adressen angesprochen. Eine weitere I/O-Adresse ermöglicht es, einen SwinSID abzuschalten und beide Audiobuchsen aus einem Chip zu versorgen. So reduziert sich die Anzahl der Kanäle auf 3, die dann über beide Lautsprecherkanäle ausgegeben werden.

Der Prototyp:

Ich habe mit den beiden SwinSID einen Prototyp gebaut. Dieser funktioniert bereits. Die Elektronik, die erforderlich ist, um einen SwinSID abzuschalten, ist noch nicht entwickelt. Dieser Prototyp dient dazu, mal zu schauen, ob es prinzipiell möglich ist, die Chips mit dem mit 10 MHz getakteten Z80Ardu-Computer anzusteuern.

Ich nehme es vorweg: Die Chips können angesteuert werden. Ich habe ein kleines Programm geschrieben, welches jeweils einen Kanal des linken und des rechten Chips anspricht und einen Rechteckton und einen Sägezahnton ausgibt. Das funktioniert.

Tatsächlich kommt es abundzu zu kleinen Aussetzern, die vermutlich damit zu tun haben, dass der Z80Ardu eben mit 10 MHz läuft. Es wird also wohl erforderlich sein, in entsprechenden Programmen kleine Warteschleifen einzubauen.

Der nächste Schritt wird die Platine im Stil des Z80Ardu sein. Ich erstelle das Layout und die Schaltung auf Easyeda.com. Eigentlich habe ich das bislang immer so gemacht.

29.12.2023: Die fertige Platinen sind da

Heute sind die Platinen gekommen. Ich habe die Bauteile vom Prototyp gleich auf die neue Platine gelötet und natürlich auch gleich getestet. Es funktioniert einwandfrei. Die Platine hat übrigens zusätzlich DIP-Schalter um die I/O-Adresse einzustellen. Für jeden der beiden SwinSID getrennt.

Schaltplan und Gerberfiles folgen noch

Cookie Consent mit Real Cookie Banner