von Frederik Holst Diesmal geht es also nun ans Eingemachte ! In der letzten Ausgabe haben wir gesehen, wie man einen SOUND Befehl in Pokes umsetzt. Doch was hat das ganze für einen Zweck, wenn man auch einen SOUND-Befehl benutzen kann, der auch noch verständlicher ist ? Nun, es gibt eine POKEY Speicherstelle, die wahre Wunder vollbringen kann. Dummerweise ist das Betriebssystem unseres kleinen XLs so eingerichtet, daß diese Stelle bei einem SOUND-Befehl auf den Ursprungswert zurückgesetzt wird. Dies ist der Grund, warum es für komplizierte Musik besser ist, sie zu poken. Ein interessanter Nebeneffekt ist auch noch, daß man so die Musik relativ einfach in Maschinensprache umsetzen kann. Nun aber zur Speicherstelle AUDCTL. Sie liegt bei 53768 ($D208). Hier eine Auflistung der Bits mit ihrer Wirkung: Bit Offset Wirkung --------------------------------------- 7 +128 Macht aus 17-Bit Poly- counter einen 9-Bit. 6 +64 Taktet #0 mit 1.79 Mhz 5 +32 Taktet #2 mit 1.79 Mhz 4 +16 Verknüpft #0 und 1 3 +8 Verknüpft #2 und 3 2 +4 Hochpassfilter #1 1 +2 Hochpassfilter #2 0 +1 Haupttakt von 64 Khz zu 15 Khz ändern. --------------------------------------- Dies sagt einem am Anfang natürlich nicht viel. Ich werde deshalb erstmal alle Bits erklären, nächstes Mal sehen wir uns einige Anwendungen dazu an: Bit 7: Der Polycounter ist sowohl für die Zufallszahlen, als auch für das Rauschen verwendbar. Setzt man nun also dieses Bit, so wird das Rauschen nur noch mit 9 Bit erzeugt, was das ganze regelmäßiger erscheinen läßt. Bit 6+5: Durch Erhöhung der Frequenz werden viel höhere Töne erzeugt als normal, siehe auch Bit 0. Bit 4+3: Durch Verkettung zweier Soundkanäle entsteht aus zwei 8-Bit Kanäle ein 16-Bit Kanal. Man verliert dadurch zwar einen Kanal, jedoch erhält man so ein viel größeres Klangspektrum. Bit 2+1: Hiermit baut man einen Hochpassfilter in den Soundkanal ein. Dieser bewirkt, daß nur hohe Töne erzeugt werden können. Bit 0: Setzt man die Taktrate von 64 auf 15 Khz, so klingt das gesamte Musikstück viel tiefer. Es ist also möglich ein Stück entweder zu erhöhen mit Bit 5 und 6 oder zu erniedrigen mit Bit 0. Nächstes Mal sehen wir uns einige Anwendungsbeispiele an.