CB2-Sound

Aus CBMPET.DE

Wechseln zu: Navigation, Suche

CB2-Sound

Um mit dem Computer Töne erzeugen zu können, benötigt man einen kleinen Verstärker. Dieser könnte etwa so aussehen :

Bild:Cb2sound.png

Ist dieser Verstärker angeschlossen und eingeschaltet, können Sie das im Interfacebaustein (VIA 6522) enthaltene Schieberegister folgendermaßen programmieren:

  • Poke 59467, 16 schaltet das Schieberegister ein. Der Rekoder kann bis zum Ausschalten (mit Poke 59467,0) nicht mehr verwendet werden.
  • Poke 59464,X bestimmt die Tonhöhe. X kann zwischen Null und 255 liegen, sollte aber größer als 15 sein, da die Frequenz sonst über dem Hörbereich liegt. Je größer X, desto tiefer der Ton.
  • Poke 59466,Y beeinflußt die Klangfarbe. Y kann zwischen 0 und 255 liegen; 15, 51 oder 85 liefern gut Ergebnisse.

Wenn Sie jetzt keinen Ton hören, schalten Sie erst den Verstärker aus und überprüfen Sie ihn. Liegt hier kein Fehler vor, dann sehen Sie nach, ob Sie alles in der angegebenen Reihenfolge eingegeben haben. Das Schieberegister muß zuerst eingschaltet werden, dann erst kann der Ton programmiert werden.

Abschalten können Sie den Ton durch Eingabe Poke 59467,0. Dadurch wird auch der Kassettenrecoder wieder betriebsfähig.

Die Frequenz des erzeugten Tones kann folgendermaßen berechnet werden :


           500000  
     f =  -------- Hz
          (X+2)*Y1

Y1 ist eine von Y abhängige Konstante :

     Für Y=15 ist Y1=8,  
     für Y=51 ist Y1=4 und  
     für Y=85 ist Y1=2.

Wenn Sie nun in einem Programm mehrere Toneffekte unterbringen und nicht jedesmal verschiedene Werte nach 59464 poken wollen, so empfiehlt sich die Anwendung einer Subroutine.

Noten

Note Wert Note Wert
C 237 B 124
C# 224 C 1 117
D 211 C 1# 111
D# 199 D 1 104
E 188 D 1# 99
F 177 E 1 93
F# 167 F 1 88
G 157 F 1# 83
G# 149 G 1 78
A 140 G 1# 73
A# 132 A 1 69

Die Dauer des Tons bestimmen Sie, indem Sie eine Variable gleich TI setzen und dann solange warten, bis TI minus der Variablen gleich der Zeit ist, die gewartet werden soll.


  • Beispiel:
   
  200 REM --- LAENGE DES TONS ABWARTEN ---
  210 T=TI
  220 IF TI-T<LG THEN 220
  230 POKE 59467,0: RETURN


Quelle: Commodore Klubmitteilungen 2-4

Persönliche Werkzeuge