HARDWAREMONTAGES ★ Musikalischer Leiharbeiter ★

MOS6581 - Der Soundchip des C-64 am CPC (CPC Amstrad International)Hardware Montages
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

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.
Die Tabelle in der linken Ecke zeigt den Anschluß der Stromversorgung am jeweiligen IC an

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.
Beide Verstärker-ICs sollten gekühlt werden

< 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:
1 = Dreiecksschwingung
2 = Sägezahnschwingung
4 = Rechteckschwingung
8 = Rauschen

< 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,
0 = stumm,
15 = volle Lautstärke

< Anschlag > : Werte 0 bis 15,
0 = hart
15 = weich

< Abschwellen > : Werte 0 bis 15
0 = schnell
15 = langsam

< Ausklingen > : Werte 0 bis 15
0 = schnell
15 = langsam

< 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.
Zum Abschluß...

...noch ein paar Hinweise, wo der Soundchip und die anderen Bauteile zu beschaffen sind:

Conrad electronic
Klaus-Conrad-Str. 1
8452 Hirschau

Radio RIM GmbH
Postfach 20 20 26
Bayerstr. 25
8000 München 2

Elektronische Geräte und Bauteile
Klaus Reichelt
Postfach 10 40
Marktstr. 101-103
2940 Wilhelmshaven 1

Der Chip ist im übrigen bei fast jedem Fachhändler zu finden, der C-64-Reparaturen vornimmt.

Die Bauteilliste zum Schaltplan:

Widerstände:
R8,R16 10 Ohm
R10 510 0hm
R2 2 kOhm
R1,R9 2,2 kOhm
R6, R14 4,7 kOhm
R3, R4, R5, R11, R12, R13 100 kOhm
R7, R15 150 kOhm

Kondensatoren:
C7 100 nF
C9, C13 470 nF
C1,C2 470 pF
(Elko) 04,06,011,012 10 µF
(Elko) 03,010 22 µF
(Elko) 05 100 µF
(Elko) 08,014 2200µF

Halbleiter:
D1, D2, D3, D4 Diode 1 N 4001
IC1 SN 74 LS 30
IC2 SN 74 LS 32
IC3 SN 74 LS 245
IC4 SN 7490
IC5 MOS 6581
IC6, IC7 TDA 2030

Potentiometer:
P1 22 kOhm log (Trimmpoti)
P2 22 kOhm log

Sonstiges:
IC-Sockel: 3 x 14polig
1 x 20polig 1 x 28polig

Lautsprecher:
4 Ohm /10 Watt

Abb. 5: Die Bauteileliste für die Schaltung. Alle Bauteile sind bis auf den Soundchip Standard-Bauelemente

Maik Wojcieszak/jb, CPCAI

★ PUBLISHER: CPC Amstrad International
★ YEAR: 1989
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ AUTHOR: Maik Wojcieszak
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» MOS6581-Der  Soundchip  des  C64  am  CPC    (CPC  Amstrad  International)    GERMANDATE: 2020-07-04
DL: 252
TYPE: ZIP
SiZE: 6Ko
NOTE: 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Hardware » Synthetiseur Vocal TMPI
» Hardware » Audio - Interface Midi Interface - Dx7 Software (Amstrad Action)
» Hardware » MARC : Mesures Audio Régies par CPC (Radio-Plans n°506, 507)
» Hardware » Audio - Synthetiseur Vocal SSA-1
» Applications » Bus I2C CPCBooster Plus Pack
» Hardware » Audio - Interface Siren Software - Sound Blaster
Je participe au site:
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 462 millisecondes et consultée 1700 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.