HARDWARE ★ CPC-Digiblaster v2.0|CPC Amstrad International) ★

CPC-Digiblaster (CPC Amstrad International)
★ 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 ★ 

CPC-Digiblaster
Der Sound aus dem Druckerport

Wenn es um die Soundfähigkeit des Computers geht, können CPC-Besitzer nur neidisch auf die 16-Bit-Kollegen Amiga, Atari ST, Mac und PC (mit Soundblaster-Karte) blicken. Wir können da mit einer unkomplizierten Schaltung weiterhelfen.


Fertig: So könnte zum Beispiel Ihr CPC-Digiblaster aussehen

Leider ist der CPC nur in der Lage, blecherne Rechteckfrequenzen auszugeben. Der Amiga und andere Computer hingegen arbeiten mit digitalisierten Instrumenten, die intern über Digital-/ Analog-Wandler ausgegeben werden. Genaugenommen verfügt auch der Soundchip des CPC über Möglichkeiten, digitalisierte Klänge wiederzugeben. Hierfür wird das Lautstärkeregister benötigt. Dieses Register kann 16 verschiedene Lautstärkewerte annehmen. Es wäre also möglich, Samples mit 4 Bit abzuspielen. Doch auch hier enttäuscht der Soundchip!

Um für das menschliche Ohr einen linearen Lautstärkeanstieg zu erzeugen, verläuft die Spannung am Soundausgang logarithmisch. Die auszugebenden Werte müssen deshalb linearisiert werden. Effektiv kommt man dabei nur noch auf 3 Bit. Der Amiga hat mit seinen 8-Bit-Samples die Nase vorn. Wer nun sagt: “Na schön, halb so gut wie der Amiga ist immer noch gut genug“, hat sich getäuscht. Mit 3 Bit lassen sich acht verschiedene Werte darstellen, mit 8 Bit ganze 256! Mit dem CPC ist also gerade eine Wiedergabe von leisen Digitalisierungen nicht möglich. Langer Rede kurzer Sinn: Von der umständlichen Programmierung mal abgesehen kann der CPC-Soundchip seinen Kollegen nicht das Wasser reichen. Doch ausgerechnet die magere Druckerschnittstelle bügelt dieses Manko aus.

Um 8-Bit-Samples auszugeben, benötigen wir eine 8-Bit-Schnittstelle und eine Schaltung, die diese Bits in einen passenden Spannungswert umwandelt. Der Druckerport stellt uns 8 Bit sowie einen Spannungspegel von 5 Volt zur Verfügung (Bit 7 = Strobe).

Der Druckerport macht's möglich

Um einen D-/A-Wandler aufzubauen, benötigt man normalerweise ein entsprechendes IC, welches alleine schon zwischen 15 und 20 DM kostet. Außerdem braucht ein solches IC natürlich eine Spannungsversorgung, die uns der Druckeranschluß nicht bietet. Die hier vorgestellte Schaltung (siehe Schaltbild) kostet 3 bis 12 DM und kommt ohne Spannungsversorgung aus, da sie nur aus passiven Bauelementen besteht. Dies hat jedoch auch einen kleinen Nachteil: Die erzeugte Spannung verläuft nicht exakt linear. Daher ist dieser D-/A-Wandler nicht für Steuerungsaufgaben verwendbar.

Beim Aufbau ist folgendes zu beachten:
Die Dioden müssen richtig herum eingelötet werden, wobei die Seite mit dem schwarzen Ende vom Druckerport wegzeigen muß. Die Widerstände sollten möglichst toleranzarm sein (1%). Über den regelbaren Widerstand läßt sich die Lautstärke einstellen. Den Ausgang der Schaltung stellt eine 3,5-mm-Klinkcnbuchse (stereo) dar. Für die Verbindung zu einem Verstärker kann das Kabel für den im CPC eingebauten Soundausgang benutzt werden. Es kann auch direkt ein Kopfhörer angeschlossen werden.

Aller guten Dinge sind drei

Natürlich bringt der D-/A-Wandler nichts ohne ein Beispielprogramm. Da digitalisierte Instrumente sehr lang sind, ist ein Abdruck der Samples nicht möglich. Die Demoprogramme auf der DATABOX heißen DIGI1 und DIGI2 und können einfach mit RUN gestartet werden.

Zum Abtippen generiert Ihnen der Datalader DATA1 ein kleines Beispielprogramm, das verschiedene Tonhüllkurven über den D-/A-Wandler ausgibt. Seltsamerweise ergab sich bei der Programmierung dieses Beispielprogramms eine bessere Klangqualität, wenn das Upper-ROM eingeschaltet war.

Die Programmierung

Das Programm spricht direkt die Hardware des Centronics-Ports an. Der Port wird über die Adresse &EFXX angesprochen (XX steht für einen beliebigen Wert, hier kann beispielsweise 00 eingetragen werden). Da der CPC-Druckerport nur eine Breite von 7 Bit hat, aber durch den Digiblaster 8 Bit genutzt werden sollen, wird hierzu das Strobe-Signal genutzt. Da dies aber hardwaremäßig negiert wird, muß es vor der Ausgabe noch softwaremäßig invertiert werden. Die softwareseitige Behandlung vereinfacht sich, da das Strobe-Signal durch das siebte Bit des Ausgabebausteins dargestellt wird. Hier ein Beispiel:

Auf den Centronics-Ausgang soll der Wert &C5 ausgegeben werden.

LD A, &C5 ;Wert laden
LD B,&EF ;Portadresse in BC laden, der Wert in Register C ist beliebig
XOR &80 ;Bit sieben des Akkus invertieren
OUT (C) ,A ;Ausgabe des Akkumulatorinhalts auf die Portadresse im Register BC

Der Akku beziehungsweise der Akkumulator ist das Register A.

Der Centronics-Anschluß des CPC hat folgende Pin-Belegung:

Pin 1 /STROBE
Pin 2 D0
Pin 3 D1
Pin 4 D2
Pin 5 D3
Pin 6 D4
Pin 7 D5
Pin 8 D6
Pin 9 GND
Pin 11 BUSY
Pin 14 GND
Pin 16 GND bis
Pin 28 GND
Pin 33 GND

Alle nicht genannten Pins sind nicht belegt.

Wenn Sie den CPC in Rückansicht vor sich stehen haben, so beginnt die Zählung der Pins rechts oben mit 1, links oben ist die Nummer 18, links unten die Nummer 19 und rechts unten die Nummer 36.

Schaltbild: Der Aufbau des D-/A-Wand!ers ist einfach nachzubauen >>

Einfache Wandlung

An dieser Stelle wollen wir auch einmal kurz erwähnen, wie eigentlich dieser D-/A-Wandler funktioniert. Das Prinzip ist sehr einfach. Wie jedem aus dem Physikunterricht bekannt sein dürfte, ist die Spannung, die über einen Widerstand abfällt, proportional zu dem durch ihn fließenden Strom. Auf dem Schaltplan erkennt man, daß jedem Datenbit ein bestimmter Widerstandswert und damit ein bestimmter Stromfluß zugeordnet ist. Jedes gesetzte Bit erzeugt also einen definierten Strom über den Einstellregler (470 Ohm), und damit liegt eine dem Bit entsprechende Spannung über dem Widerstand. Sind mehrere Bits gesetzt, so addieren sich die jeweiligen Ströme, und die Spannung über dem Einstellregler wächst proportional dazu an.

Gibt man nun schnell hintereinander auf den Druckerpoit Werte einer Sinuskurve aus, so folgt die Spannung der Kurve, und es wird ein annähernder Sinuston ausgegeben. Ebenso wird mit anderen Tonsignalen verfahren.

Wie schnell und wie oft nun solche Werte ausgegeben werden, wird durch die sogenannte Sampling-Rate bestimmt. Dieser Wert sollte mindestens dreimal höher als die höchste zu sampelnde Frequenz sein.

Es ist möglich, mehrere Instrumente gleichzeitig über einen D-/A-Wandler auszugeben. Hierzu müssen die Bytes, die gerade gespielt werden sollen, addiert und entsprechend heruntergeteilt werden. Nach meiner Kalkulation müßte vierstimmige Musik mit digitalisierten Instrumenten mit dieser Erweiterung auf dem CPC machbar sein.

Andreas Stroiczek/rs/jg , CPCAI

Wer Interesse an dieser Hardware-Bastelei hat, kann neben der abgedruckten Demo vorerst zwei Beispielsounds mit einem Gesamtumfang von über 50 kByte entnehmen. Vielleicht wird in naher Zukunft sogar noch so manch anderes Soundprogramm für unsere Erweiterung erscheinen.

★ PUBLISHER: CPC Amstrad International
★ YEAR: 1991
★ LiCENCE: FREEWARE
★ COLLECTION: CPC AMSTRAD INTERNATIONAL 1991
★ AUTHOR: Andreas Stroiczek
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» CPC-Digiblaster-Andreas  Stroiczek    (CPC  Amstrad  International)DATE: 2020-04-22
DL: 273
TYPE: ZIP
SiZE: 45Ko
NOTE: 40 Cyls
.HFE: Χ

» CPC-Digiblaster-Andreas  Stroiczek    (Source)    (CPC  Amstrad  International)DATE: 2020-04-21
DL: 292
TYPE: text
SiZE: 4Ko
NOTE:

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

Lien(s):
» Hardware » Sound - Sound Player 2
» Hardware » TechniX
» Hardware » MegaSound
» Hardware » Audio - Interface Siren Software - Sound Blaster
» Hardware » Sound - Digiblaster v3
» Hardware » Audio - Interface Sound Blaster
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» 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 428 millisecondes et consultée 1363 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.