Das Schneider CPC Systembuch

Die Abteilungen des Betriebssystems

Der Sound Manager

Hardware-Hüllkurven

Außerdem ist es möglich, den Hüllkurven-Generator des Die ICs im Überblick: Der PSG AY-3-8912
Die Anschlussbelegungen der wichtigsten ICs im CPC: Der PSG AY-3-8912
PSG
selbst zu programmieren. Das kann innerhalb eines ENV-Befehles geschehen. Dazu wird nur das Layout der drei Datentypen: Bytes
Datenbreite: Bytes
Bytes
eines Abschnittes etwas verändert.

Zunächst einmal: Wird in einem Abschnitt eine PSG-Hüllkurve definiert, so werden die Die Tonausgabe: Das Kontrollregister (Reg. 7)
Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)
Register
11, 12 und 13 des Die ICs im Überblick: Der PSG AY-3-8912
Die Anschlussbelegungen der wichtigsten ICs im CPC: Der PSG AY-3-8912
PSG
damit programmiert: Hüllkurven-Form und Länge der Veränderungs-Periode. Danach wird sofort (ohne auch nur eine hundertstel Sekunde zu warten) der nächste Abschnitt der Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Hüllkurve bearbeitet. Dieser sollte deshalb eine Pause sein (Schritthöhe = 0), die so lang definiert werden muss, wie die Der Sound Manager: Hardware-HüllkurvenHardware-Hüllkurve abgearbeitet werden soll. Folgt kein weiterer Abschnitt, so arbeitet Die Abteilungen des Betriebssystems: Der Sound Managerder Sound Manager automatisch die Default-Amplituden-Hüllkurve 0 ab, in der eine Wartezeit von 2 Sekunden definiert ist.

Die Programmierung der Der Sound Manager: Hardware-HüllkurvenHardware-Hüllkurven ist zwar in allen drei CPC-Handbüchern erwähnt. In keinem einzigen steht aber, wie man es machen muss. Und der Syntax ist derartig originell, dass man auch nicht mit Try&Error darauf kommen kann. Ein Hardware-Hüllkurven-Abschnitt muss in Einleitung: BASIC
Anhang: Basic
Basic
mit einem Gleichheits-Zeichen '=' gekennzeichnet werden:

ENV 5,  =10,400,   10,0,200
          ^  ^       ^
          |  |     Pause danach
          |  |
     Nummer  Der Sound Manager: PeriodenlängePeriodenlänge
      Der Sound Manager: Hardware-HüllkurvenHardware-Hüllkurve

In Maschinensprache wird ein solcher Abschnitt dadurch gekennzeichnet, dass Hardware-Basteleien: Das 8. Bitdas 7. Bit der Schrittzahl gesetzt ist. Für Software-Abschnitte ist ja nur eine Schrittzahl von 0 bis 127 erlaubt, also genau die Werte, bei denen Hardware-Basteleien: Das 8. Bitdas 7. Bit noch nicht gesetzt ist.

Das siebte Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
wird dann ausmaskiert und Die Tonausgabe: Das Kontrollregister (Reg. 7)
Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)
Register
13 des Die ICs im Überblick: Der PSG AY-3-8912
Die Anschlussbelegungen der wichtigsten ICs im CPC: Der PSG AY-3-8912
PSG
(Hüllkurven-Nummer) damit beschrieben.

Die folgenden beiden Datentypen: Bytes
Datenbreite: Bytes
Bytes
(normalerweise Schritthöhe und -länge) werden nicht mehr getrennt betrachtet, sondern zusammen als ein Datenbreite: WordsWord. Dieser Wert wird dann in die Periodenlängen-Register 11 und 12 des Die ICs im Überblick: Der PSG AY-3-8912
Die Anschlussbelegungen der wichtigsten ICs im CPC: Der PSG AY-3-8912
PSG
geschrieben (natürlich doch wieder getrennt: MSB und LSB des Wortes in je ein Die Tonausgabe: Das Kontrollregister (Reg. 7)
Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)
Register
).

    ; Der Sound Manager: Amplituden-Hüllkurve
BCBC: SOUND AMPL ENVELOPE: Der Parameterblock der Amplituden-Hüllkurve:
Amplituden-Hüllkurve
(PSG-kontrolliert) ; ---------------------------------------- ; DEFB #80+HKN ; Hüllkurven-Nummer DEFW LWP ; Länge der Wiederholungsperiode

Valid HTML   Valid CSS