★ HARDWARE ★ MONTAGES ★ Musikalischer Leiharbeiter ★ |
MOS6581 - Der Soundchip des C-64 am CPC (CPC Amstrad International) | Hardware Montages |
Der CPC mag ja ein Super-BASIC haben, seine Floppy enorm schnei! sein, sein Z80-Prozessor leistungsfähiger als andere — nur der Sound des eingebauten Sound-ICs läßt eingefleischte Musikfans mit dem Kopf schütteln und den Ohren wackeln. Schaut man sich bei der Konkurrenz mit dem großen C einmal den eingebauten Soundchip an, oder noch besser, hört man einige Demos zum Beispiel von Spielen an, glaubt man kaum, daß man es mit einem 8-Bitter zu tun hat. Diejenigen, die den MOS6581 (das Soundwunder) kennen, wissen, wovon hier die Rede ist. Aber nicht neidisch werden: Hier ist eine Bauanleitung, mit deren Hilfe dieser Soundchip sich an den CPC anschließen läßt. Bitte genau lesen: Zuvor ein paar allgemeine Bemerkungen, die jedoch sehr wichtig sind: Diese Bauanleitung ist vor allem für diejenigen gedacht, die schon Erfahrung im Bauen elektronischer Schaltungen haben, und denen die Arbeit mit dem Lötkolben leichtfällt. Deshalb haben wir auch bewußt auf den Abdruck eines Platinen-Layouts verzichtet, weil die Schaltung ohne Probleme auf einer Lochraster-Platine aufbaubar ist. Für diejenigen, die gerne ein Layout hätten, halten wir dieses bereit, es kann durch Zusendung eines frankierten Rückumschlages angefordert werden, die Schaltpläne werden ebenfalls mitgeliefert. Die Bauteile sind, bis auf den MOS6581, Standardbauteile und bei jedem Elektronikladen zu bekommen. Der MOS6581 ist dank der großen Verbreitung des C-64 ebenfalls bei vielen Firmen zu beziehen, einige haben wir am Ende des Textes zusammengestellt. Und nun wünschen wir Ihnen viel Vergnügen beim Bau Ihres 'Soundwunders'. Abb. 1: Das Schaltbild für den Anschluß des Soundchips SID am CPC. Der Aufbau der Schaltung Das Herzstück der Schaltung bildet der MOS6581, der für die Klangerzeugung zuständig ist. Er enthält drei Tongeneratoren. Die fünf Adreßleitungen, die zur Auswahl der Register zur Verfügung stehen, werden direkt vom Expansionport an das IC5 gelegt. Der Datenbus ist durch IC3 (8 bidirektionale Bustreiber) gegen den Expansionport gepuffert. Der Grundtakt für Zugriffe und Tonerzeugung wird durch IC4 (Dekadenzähler) aus dem Systemtakt generiert. Dies geschieht durch Halbierung der Frequenz. Das bedeutet, daß dem MOS-Baustein eine Frequenz von 4 MHz zur Verfügung steht. Die Bausteinauswahl durch den Computer, also die Erzeugung des Chip-Select-Si-gnals, wird von IC1 (achtfach NAND-Gatter) und IC2 (4 OR-Gatter) übernommen. Am NAND-Gatter liegt der obere Adreßbus an. Das bedeutet, wenn an die Adresse &FFxx ein Zugriff erfolgt, wird der Ausgang LOW. Da der CS allerdings nur bei einem IO-Zugriff wirksam werden soll, wird der Ausgang des NAND-Gatters über ein OR-Gatter mit dem IO-Request Signal gekoppelt. Der MOS-Baustein kann ein externes Signal verarbeiten, durch Filter beeinflussen und seine Lautstärke bestimmen. Deshalb wird das Soundsignal vom CPC-eigenen Generator an den entsprechenden Eingang gekoppelt. Da allerdings der Baustein ein sehr stark getriebenes Signal benötigt, wird zur Koppelung ein Verstärker benötigt. Dieser Verstärker wird in der Schaltung Primärverstärker genannt. Das Trimmpoti PI muß so eingestellt sein, daß am Ausgang des Verstärkers das Signal einen Wert von 2Vss (Spitzenwert) hat. Dies kann mit dem Oszilloskop eingemessen werden. Abb. 2: Die Pinbelegung des MOS6581 mit der Registerbeschreibung Der zweite Verstärker dient als Endstufe für den Tonausgang des MOS-Bausteins. Der Lautstärkeregler befindet sich am Gehäuse. Allerdings müssen bei voller Lautstärke im Dauerbetrieb die Verstärker-ICs gekühlt werden. Der Anschluß des Gerätes an den CPC ist recht einfach. Zuerst muß das Verbindungskabel zum Expansionport richtig angeschlossen werden. Wenn das geschehen ist, dann wird eine 12V Spannungsversorgung benötigt. Hier kann ein externes Netzgerät benutzt werden, aber auch die Spannung vom Monitor zum Laufwerk (beim CPC 664/6128) kann abgegriffen werden. In dem Fall kann das eingebaute Diskettenlaufwerk über den Synthesizer versorgt werden. Durch die begrenzte Leistung des Monitor-Netzteils ist allerdings eher zu einem externen Netzteil zu raten. Zum Schluß muß noch der Lautsprecher angeschlossen werden. Jetzt ist die Schaltung betriebsbereit. Die Software Dieser Teil der Beschreibung soll sich nur auf die Befehlserweiterung beziehen. Zu diesem Programm gehört ein BASIC-Lader (SIDLAD.BAS), ein Startprogramm (SIDMAN.BAS) und ein Binärteil (SIDMAN.BIN). Der Binärteil wird vom BASIC-Lader erzeugt. Er wird vom Startprogramm nachgeladen und die Befehle werden initialisiert. Drei neue Befehle stehen dann dem Programmierer zur Verfügung: 1. OFF Dieser Befehl fordert keine Parameter. Wenn er ausgeführt wird, werden alle laufenden Generatoren ausgeschaltet. 2. VOL, < Lautstärke > Der Parameter kann die Werte 0 bis 15 annehmen und gibt die Gesamtlautstärke der Generatoren und der externen Signalquelle (Interner Tongenerator) an. Hierbei bedeutet 0 = stumm und 15 = volle Lautstärke. 3.SOUND, < Tongenerator > , < Tonhöhe >, < Wellenform > , < Länge > , < Lautstärke > ], [ < Anschlag > ], [ < Abschwellen >], [< Ausklingen>], [< Tastverhältnis >] Dieser Befehl ist für die Steuerung der Tongeneratoren zuständig. Nur die ersten vier Parameter sind notwendig, um einen Ton zu spielen. Für alle anderen werden Standardwerte gesetzt. Im folgenden möchte ich die Parameter in Stichworten beschreiben und ihre Wertebereiche eingrenzen. Für nähere Auskünfte kann die beiliegende Registerbeschreibung herangezogen werden. Abb. 3: Der Schaltplan des Primär- und Sekundärverstärkers. < Tongenerator > : Der MOS-Baustein hat drei Generatoren, also kann der Parameter die Werte 1 bis 3 annehmen. < Tonhöhe > : Hier müssen die aus der Frequenz errechneten Werte eingesetzt werden. Die Umrechnungsformel lautet: Freq*2 ^ 24/2000000 < Wellenform >: Hier können die Werte 0 bis 15 eingesetzt werden. Sinnvoll sind allerdings nur folgende Werte: < Länge > : Dieser Parameter gibt die Länge des Tones in 1/100sek. an. Die folgenden vier Parameter geben den Lautstärkenverlauf des Tones an (siehe Registerbeschreibung (5) ) < Lautstärke>: Werte 0 bis 15, < Anschlag > : Werte 0 bis 15, < Abschwellen > : Werte 0 bis 15 < Ausklingen > : Werte 0 bis 15 < Tastverhältnis> : Werte 0 bis 4095, Dieser Wert gibt das Verhältnis zwischen High- und Lowphase des Rechtecksignals an. Dadurch kann die Klangfarbe zusätzlich beeinflußt werden. Abb. 4: Das Blockschaltbild der gesamten Schaltung Beispiel für die Soundprogrammierung Schauen wir uns doch einmal das Experimentierprogramm (Listing 1) genauer an: Damit der Synthesizer einen Ton spielen kann, muß ihm dieser genau beschrieben werden. Die Merkmale, die berücksichtigt werden müssen, sind die Tonhöhe, die Klangfarbe und die Art des Anschlags. Durch Beeinflussung der beiden letzten Eigenschaften ist es möglich, verschiedene Instrumente zu simulieren. In einem Musikprogramm sollte eine gewisse Ordnung herrschen. Die Art des Anschlags sollte zusammen mit der Lautstärke und dem Tastverhältnis angegeben werden. Letzteres wird nur benötigt, wenn als Wellenform die Rechteckschwingung ausgewählt wird. Wurde der Klang in dieser Weise beschrieben, muß noch die Tonhöhe bestimmt werden. Diese wird physikalisch mit der Frequenz, die in Hertz gemessen wird, angegeben. Der SID ist aber nicht in der Lage, diesen Wert korrekt zu verarbeiten. Man muß die Frequenz erst mit einer Formel (Wert= Frequenz* 2^24/ 2000000) in den richtigen Parameter umrechnen. Zum Schluß wird die Wellenform angegeben und das Key-Bit gesetzt. Damit wird der Ton gestartet. Mit einer Warteschleife wird seine Dauer bestimmt. Nach Ablauf der Schleife wird das Key-Bit wieder auf 'O' gesetzt, um den Ton zu unterbrechen. Das Experimentierprogramm steuert in dieser Weise den ersten Tongenerator. Einige Änderungen der Werte geben Aufschluß über die klanglichen Möglichkeiten des SID. ...noch ein paar Hinweise, wo der Soundchip und die anderen Bauteile zu beschaffen sind: Conrad electronic Radio RIM GmbH Elektronische Geräte und Bauteile Der Chip ist im übrigen bei fast jedem Fachhändler zu finden, der C-64-Reparaturen vornimmt. Die Bauteilliste zum Schaltplan: Widerstände: Kondensatoren: Halbleiter: Potentiometer: Sonstiges: Lautsprecher: Abb. 5: Die Bauteileliste für die Schaltung. Alle Bauteile sind bis auf den Soundchip Standard-Bauelemente
|