Die Ausgabe der Sound-Befehle wird vom MAIN FIRMWARE JUMPBLOCK: SOUND MANAGER Die Firmware des Schneider CPC: SOUND MANAGERSound Manager durch programmierte Software-Interrupts in der Einleitung: Sound MAIN FIRMWARE JUMPBLOCK: SOUND MANAGER Die Firmware des Schneider CPC: SOUND MANAGERSOUND Datenspeicherung und Datenstrukturen: ChainsCHAIN gesteuert. Da diese Trees: ListenListe vom MAIN FIRMWARE JUMPBLOCK: KERNEL Die Firmware des Schneider CPC: KERNELKernel 100 mal in jeder Sekunde bearbeitet wird, ist das auch das kleinste Raster, in dem man die Ton-Ausgabe beeinflusst werden kann.
Die Angabe der Der Sound Manager: NotenlängeNotenlänge wird deshalb immer in hundertstel Sekunden gemacht:
Einleitung: Sound MAIN FIRMWARE JUMPBLOCK: SOUND MANAGER Die Firmware des Schneider CPC: SOUND MANAGERSOUND 2,142,50 --> 50/100 = 1/2 Sekunde Kammerton Operationen: BD5B / 349A / 349A: FLO SUBA auf Kanal LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTB.
Es ist aber noch eine weitere Variation möglich: Gibt man eine negative Der Sound Manager: NotenlängeNotenlänge '-n' an, so wird die gewählte (oder Default-) Der Sound Manager: Amplituden-Hüllkurve BCBC: SOUND AMPL ENVELOPE: Der Parameterblock der Amplituden-Hüllkurve:Amplituden-Hüllkurve 'n' mal abgespielt.
Die Default-Amplituden-Hüllkurve mit der Nummer 0 ist so definiert, dass der Ton 200/100 = 2 Sekunden ohne Änderung gehalten wird. Die folgende Anweisung produziert deshalb einen 6 Sekunden langen Ton:
Einleitung: Sound MAIN FIRMWARE JUMPBLOCK: SOUND MANAGER Die Firmware des Schneider CPC: SOUND MANAGERSOUND 2,142,-3 ---> 3*2 Sekunden Kammerton Operationen: BD5B / 349A / 349A: FLO SUBA auf Kanal LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTB.
Außerdem wird bei einer Der Sound Manager: NotenlängeNotenlänge 0 die Amplitudenhüllkurve genau einmal abgearbeitet. Dieser Fall entspricht also dem Wert -1.
|