Nascom Journal

  

Juni 1981 · Ausgabe 6

Sound­generator


Im Januar 1979 stellte die Zeitschrift Elektor zum ersten Mal den programmierbaren Soundgenerator AY-3-8910 vor. Die Hersteller gaben damals über eine Londoner Telefonnummer sogar Hörproben dieses Chips, welche mich sehr beeindruckten. Seither versuchte ich überall, dieses Wunderding zu bekommen. Endlich ist es nun auch in Deutschland erhältlich, und die Zeiten des „dünnen Piepsens“ sind nun auch für den Nascom vorbei; denn der Generator läßt sich leicht über das PIO anschließen.

Hier zunächst eine kurze Charakteristik des Generators.

Der AY-3-8910 enthält 3 (!) Tongeneratoren, (die allerdings nur Rechteckschwingungen erzeugen) , einen Rauschgenerator und einen Hüllkurvengenerator; also eine Menge Hardware,​mit der man schon komplexere Klänge erzeugen kann. Die Ton- und Rauschgeneratoren lassen sich direkt in der Lautstärke variieren oder aber (zusammen oder getrennt) in Abhängigkeit des Hüllkurvengenerators, der 8 verschiedene Hüllkurven produzieren kann, die jeweils in ihrer Zeitdauer programmierbar sind.

Sämtliche Informationen, die Tonhöhen,​Rauschspektrum oder Hüllkurvenform erzeugen, werden in 14 Register des AY-3-8910 eingespeichert und lassen den Generator so lange arbeiten, bis neue Informationen eintreffen, d.h. die CPU kann sich anderen Aufgaben widmen, während der Generator fröhlich vor sich hin summt.

Wenden wir uns zunächst den einzelnen Registern zu. Die Tonhöhen der Tongeneratoren werden durch jeweils 2 Register bestimmt: z.B. R1 Grobstimmung (Coarse Tune = CT) und R0 Feinstimmung (Fine Tune = FT).

Die absolute Tonhöhe hängt allerdings mit dem Taktsignal zusammen, mit dem der Generator betrieben wird. Bei 1 MHZ kann man über größere Bereiche die CT Information auf 0 lassen, dabei wird aber ein Frequenzfehler relativ groß, der auf der internen Teilung der Daten im Generator beruht, die natürlich keine Kommastellen berücksichtigt. Empfehlenswert ist deshalb der Betrieb mit dem 2 MHZ Systemtakt, wobei der Frequenzfehler so gering bleibt, daß keine wirklich störenden Schwebungen auftreten. (Mehr als 2 MHZ verkraftet der Generator allerdings nicht)

Wen die Formel zur Berechnung der Registerdaten zu einer gewünschten Frequenz interessiert, der kann sie dem folgenden Basic-Programm entnehmen, das nach Eingabe der gewünschten Oktave (C1 = 1; C = 2; c = 3; c’ = 4; c” = 5 etc.) sämtliche Frequenzen der zugehörigen Halbtöne mit den entsprechenden Registerdaten in dez. und hex angibt.

Als Beispiel: input „Oktave?“ 4 druckt die Töne c’ bis h’ auf dem Schirm aus, wobei man aus der Tabelle entnehmen kann, daß die Daten 1 dez. (≙ 1 hex) in Register 1 und 28 dez. (≙ 1 C hex) in Register 0 dem Kammerton a’ auf Kanal A erzeugen.

Seite 4 von 20