Das Schneider CPC Systembuch

Einleitung

Sound

Für die Einleitung: SoundTonerzeugung wird im Schneider CPC ein spezielles IC eingesetzt, ein digitaler, programmierbarer Soundgenerator.

Dieses IC verfügt über drei getrennte Kanäle. Für jeden Kanal ist die Lautstärke und Frequenz des Tonsignals getrennt einstellbar. Im Schneider CPC werden die Kanäle jedoch wieder vermischt: Alle drei Kanäle zusammengefasst, werden dem eingebauten Lautsprecher zugeleitet. Für den Stereo-Ausgang, mit dem man die Geräusche über die Stereoanlage abspielen kann, werden die drei Kanäle in zwei Gruppen zusammengefasst: Kanal Operationen: BD5B / 349A / 349A: FLO SUBA und die Hälfte von Kanal LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL
LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL
LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPT
B
gehen zum linken Lautsprecher, Kanal C und wieder die Hälfte von LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL
LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL
LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPT
B
zum rechten Lautsprecher. Der Anschluss an eine Stereoanlage ist übrigens sehr empfehlenswert, da der im Schneider CPC eingebaute Lautsprecher bei der Wiedergabe tiefer Töne völlig überfordert ist.

Weiterhin verfügt das IC über einen Rauschgenerator, der in seiner Grundfrequenz eingestellt werden kann. Dieses Rauschen kann dann einem oder mehreren Kanälen zugemischt werden. Der Rauschgenerator ist dabei nicht nur für statistische Zwecke implementiert Datenbreite: Wordsworden, sondern sehr nützlich: Schussgeraeusche, aber auch Beckenklänge einer Schlagzeugbegleitung lassen sich nur mit seiner Hilfe realisieren.

Mit einem Hüllkurvengenerator ist es darüber hinaus auch möglich, einem Kanal eine veränderbare Lautstärke zuzuordnen. Der Hüllkurvengenerator verfügt dazu über acht verschiedene Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Hüllkurvenformen, die auch noch mit unterschiedlicher Geschwindigkeit ablaufen können. Hiermit ist es dann möglich, das Ausklingen eines Glockenklanges oder ein Vibrato zu programmieren.

Obwohl der Soundgenerator ansich schon sehr leistungsfähig ist, sind seine Möglichkeiten durch eine entsprechend ausgeklügelte Treibersoftware noch einmal erheblich erweitert Datenbreite: Wordsworden.

So ist es im Schneider CPC ohne weiteres Möglich, bis zu 15 verschiedene, eigene Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Hüllkurven für die Lautstärke zu programmieren. Dabei kann eine Die Tonausgabe: Die möglichen Hüllkurvenformen (Reg. 13)Hüllkurve bis zu fünf Abschnitte haben, in denen jeweils Länge, Steilheit und Raster eines Lautstärkeanstiegs oder -Abfalls festgelegt werden.

Damit aber nicht genug: Das selbe ist noch einmal für die Frequenz möglich.

Mit wirkungsvollen Befehlen kann man dann Töne zum Soundchip senden. Die Software nimmt dabei pro Kanal bis zu vier Töne in einer Der Key Manager: WarteschlangeWarteschlange auf. Damit ist es ein Leichtes, kurze Zeiten, in denen sich das Hauptprogramm 'mal gerade nicht um die Einleitung: SoundTonerzeugung kümmern kann, zu überbrücken.

Mit einem Interrupt-Mechanismus kann darüber hinaus die Einleitung: SoundTonerzeugung komplett vom Hauptprogramm abgekoppelt werden, auch in Einleitung: BASIC
Anhang: Basic
Basic
!! Hierbei wird immer dann ein Grundlagen: UnterprogrammeUnterprogramm aufgerufen, wenn in der Der Key Manager: WarteschlangeWarteschlange eines Kanals ein Platz leergeworden ist, weil ein Ton fertig abgespielt wurde. Hauptprogramm merkt davon nichts - außer an der verbrauchten Rechenzeit.

Da speziell bei diesem 'Der Sound Manager: Bedienen bei BedarfBedienen bei Bedarf' die Einleitung: SoundTonerzeugung der einzelnen Kanäle mit der Zeit aus dem Tritt geraten kann, bietet das Betriebssystem auch noch einige Synchronisierungshilfen an. So kann man, quasi als Notbremse, alle Der Key Manager: WarteschlangeWarteschlangen leeren und den nächsten Ton direkt anspielen. Dann kann man Anhang: Die Tonausgabedie Tonausgabe 'einfrieren' und wieder 'auftauen'. Und, am wirkungsvollsten, man kann die einzelnen Kanäle mit einer Rendezvous-Technik synchronisieren. Kommt dann ein Ton um eine hundertstel Sekunde früher als sein Partner in einem anderen Kanal, so wartet er, bis auch dieser angespielt wird, ohne dass in seinem Kanal ein Ton erzeugt wird. Das hört man nicht. Wohl aber würde man es hören, wenn sich diese Hundertstel mit der Zeit aufsummieren würden!

Valid HTML   Valid CSS