Nascom Journal |
Juni 1981 · Ausgabe 6 |
Die gebräuchlichsten Töne werden wohl c bis h” sein, deshalb drucke ich hier gleich eine Tabelle für die entsprechenden Töne ab.
Wie bekommt man aber nun die Information in die entsprechenden Register?
Dazu sind die Steuerleitungen BC1 und BDIR des AY.... erforderlich. Sie haben folgende Funktion:
BDIR | BC1 | |
0 | 0 | Chip nicht angesprochen |
1 | 1 | Adresse einlesen |
1 | 0 | Daten einlesen |
(0 | 1) | (Lesen von Chip, für unsere Zwecke nicht nötig) |
Wichtig für die Funktion ist, daß beide Signale wechseln müssen, um die entsprechende Aufgabe zu erfüllen. Eine Änderung von 1 1 auf 1 0 geht nicht, zunächst müssen beide Leitungen auf 0 gehen. Weiterhin darf der Latchimpuls nicht länger als 50 ns dauern, deshalb sind Basic-outputbefehle zu langsam, und man muß hier Maschinenunterprogramme einfügen, wie es im Basicprogramm „Tonerzeugung“ geschehen ist.
Man geht bei der Programmierung nun so vor, daß man die entsprechende Registeradresse (über Port A) anlegt und durch einen 00/11/00 Impuls (an Port B) einliest. Dann werden die Daten für die entsprechende Adresse angelegt und mit 00/10/00 eingelesen.
Das folgende Basicprogramm liest die Daten aus Zeile 270 der Reihe nach in die Adressen 0 bis 13. Dabei erzeugt der Soundgenerator einen Dreiklang c-e-g und wiederholt ihn immer wieder mit verklingender Hüllkurve. Experimentieren Sie mit den Tonhöhen, indem Sie die ersten 6 Daten (vielleicht unter Verwendung der Tabelle) verändern.
Das gleiche Programm ist im folgenden als reines Maschinenprogramm abgedruckt. (Die Unterprogramme outa bzw. outd mußten im Basicprogramm aus oben erwähnten Gründen „gedoked“ werden.) Wenn Sie hier mit Tonhöhen experimentieren wollen, müssen Sie die Adressen 0CBB bis 0CB6 ( in absteigender Reihenfolge)verändern.
Seite 5 von 20 |
---|