QUICK Ecke 28 von Harald Schönfeld So, heute zeige ich wie man 4 stimmige Melodien vorspielen kann. Die Routine vom letzten Mal kann man dazu natürlich sehr gut benutzten. Grundsätzlich braucht man nur alles was sich auf Kanal 0 bezieht 3 Mal zu kopieren. Alle Variablen die für Kanal Null spezifisch sind müssen auch für Kanal 1,2 und Kanal 3 angelegt werden. Besonders wichtig ist wieder der Block mit den 3 Variablen TH0, L0 und V0 die ja an bestimmte Stellen gelegt wurden. Direkt im Anschluß daran werden nun auch die Drillinge für die 3 anderen Kanäle gelegt: BYTE +( TH0=1536 L0=1537 V0=1538 TH1=1539 L1=1540 ... )+ Alle anderen notwendigen Variablen werden einfach zusätzlich definiert. So gibt es z.B. neben NP0 nun auch NP1, NP2 und NP3 usw. Grundsätzlich wäre es auch möglich alle Variablen in Variablenfelder der Dimension 4 zu legen. Dadurch könnte man dann einfach eine Schleife schreiben, die alle 4 Tonkanäle durchläuft. Das gäbe zwar einen kurzen Programmtext, aber die Ausführungszeit wäre deutlich länger. Ich bin deshalb den Weg gegangen, alle Programmteile im VBI 3 mal zu kopieren und entsprechend die Variablen für die 3 anderen Soundkanäle zu benutzen. Das ist auch nicht soo lang, spart aber Zeit für das eigentliche Programm - was immer das auch sein mag. Der Player-Befehl Der PLAYER-Befehl dient im alten Programm dazu 3 Bytes aus dem Melodiedatenfeld in die 3 Variablen für den 0. Kanal zu kopieren. Jetzt muß er diese Aufgabe für alle 4 Kanäle übernehmen. Dabei gilt es folgendes zu beachten: Man kann bei PLAYER-Befehl die Zieladresse nicht in einem Stück angeben. Man kann nur sagen in welche Page die Daten kopiert werden sollen, kann aber zum Glück noch einen Index angeben um den dieser Pageanfang dann erhöht wird. Bisher wurde einfach in die Page 6 + 0 kopiert. Das liegt genau bei 1536. Um die Variablen für den nächsten Kanal zu erreichen muß man nun in die Page 6 + Index 3 kopieren, dann landet man bei 1539. Das Wichtigste Was nützen 4 Soundkanäle ohne neue Noten? Man muß natürlich auch 3 neue "Unterprogramme" eingeben, die die Noten für die Kanäle 1 bis 3 enthalten. Wie das Programm dann aussieht, kann man im Quelltext QE28.QIK sehen. Soviel für heute - das nächste Mal zeige ich wie man mit beliebigen Hüllkurven ein tolles Klangbild erzielen kann.