@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr  Sound-Monitor Version 1.2 Professional ====================================== Programmautor: Torsten Karwoth } Hermann von Vechelde Strae 19 3300 Braunschweig Tel. (0531) - 69 66 89 Ich hoffe, d}as alle die, die jemals diese Anleitung zu Gesicht bekommen, auch damit klarkommen mgen. Ich habe versucht alles so genau w}ie mglich aufzu- schreiben, aber Nobody is perfect, und ich bin NICHT Nobody! Nach dem das Programm vollstndig gel}aden wurde, erscheint der Arbeitsbild- schirm, auf welchem alle ntigen Informationen dargestellt werden. Etwa in der Mitte }befinden sich zwei Menzeilen, eine (die Obere) fr das Hauptmen und die untere Zeile fr das jeweilige Untermen. Zu Beac }hten ist, das nach dem laden des Programmes Inverse Schrift blinkt! Mchte jemand das Blinken abstellen, so ist mit g }edrckter SELECT-Taste die RESET-Taste zu bettigen (SELECT bleibt gedrckt). Bildschirm-Aufteilung: Titelzeile } Sound Monitor XL V1.1 Professional. Lautstrke/Kanal Vol0 ||I| Vol1 ||I| Vol2 ||I| Vol3 ||I| Graphic-Equalizer } ======================================== oder Hllkurven- ======================================== Editor } ======================================== ======================================== Anzeige }LOOP Lp: ^-<-<-<-<-<-<-<-<-" HK #00 Hllkurve Anz. Spezialeffekte Eff------------------------------ }VC #00 Voice Control DeCrement main volume Dc: #PLAY# IRQ-Play an! Trackspeicher: P}osition: FC FD FE FF<00>01 02 03 04 05 Pattern Kanal 1 Pattern 1 00 00 00 <><00>00 00 00 00 00 Pattern Kanal 2 } Pattern 2 00 00 00 <><00>00 00 00 00 00 Pattern Kanal 3 Pattern 3 00 00 00 <><00>00 00 00 00 00 Pattern Kanal 4 } Pattern 4 00 00 00 <><00>00 00 00 00 00 Hauptmen EDITIEREN SPIELEN DISK  OPTION  QUIT Unterm}en Speicher aufraeumen  Musik packen: aus  Nr Kanal 1 Kanal 2 Kanal 3 }Kanal 4 Pattern-Editor bzw. 04 F-2 00VF --- 0000 --- 0000 --- 0000 Fileauswahl bei Disk- 05 --- 0000 --- 0000 --- 00}00 --- 0000 operationen. 06 --- 0000 C-2 00VF --- 0000 --- 0000 07 --- 0000 --- 0000 ---} 0000 --- 0000 Cursorzeile im Pattern- 08 F-1 00VF --- 0000 --- 0000 --- 0000 Editor. 09 --- 0000 }--- 0000 --- 0000 --- 0000 0A --- 0000 C-2 00VF --- 0000 --- 0000 0B --- 00}00 --- 0000 --- 0000 --- 0000 0C F-2 00VF --- 0000 C-2 02VF --- 0000 |/ \|/} |/|| Position im Pattern -----" | | || Note ("logische" Note) ------" | || Hllkurvennummer (immer gerade)-" || Internes} Controlbyte/Befehl ------"| Parameter fr Befehl --------------" Befehle: Da ich den ganzen Kram (Note, Hllkurve, Param}eter) in 2 Bytes Packen mute, ist in Zeilen mit Noten&Hllkurven nur die "V"olume-Anweisung mglich (und auch vorgegeben)}. Beispiel: Bei "A-2 04VF" kann das "V" nicht editiert werden. Bei "--- 00xy" ist bei x ein beliebiger Befehl mit einem beli}ebigen Parameter (y) mglich. Standart-Befehle: V ... Volume x Die Lautstrke wird entsprechend der eingestellten }Laut- strke eingesetzt (siehe obere Bildschirmzeile); der Pa- rameter ist edit }ierbar. U ... Note Up Die aktuelle Note wird gendert ( der nchsthhere Ton wird gespielt!}), OHNE die Hllkurve zu ndern bzw. zu un- terbrechen. Parameter wird ignoriert. D ... Note Down "} siehe Note Up. Q ... Quit Pattern Das aktuelle Pattern wird nicht zuende gespielt, sondern ab#}gebrochen. Der Quit-Befehl spielt noch die Zeile , in der er steht, d. H. steht er z. B. in Zeile 12,$} Kanal 1, so werden die Noten in dieser Zeile auf den anderen Ka- nlen noch g%}espielt, in Zeile 13 wird abgebrochen! Spezalbefehle mit 1 Parameter: S ... Set Flag x Dieser Befehl setzt eins von 1&}6 ($0-$F) mglichen Flags. Diese knnen in eigenen Programmen abgefragt werden ! So '} knnen bestimmte Aktionen whrend des Abspielens der Mu- sik ausgelst werden. Die Flagtabelle i(}st 16 Byte gro! C ... Clear Flag x Dieser Befehl lscht Flag x. W ... Wait until x Hlt die Musik an (nicht die Hll)}kurven) , bis Flag x von einem eigenen Programm gesetzt wird. Im SoundMonitor wird *} ein Ton mit der "Blinkfrequenz" ausgegeben und die Musik wird angehalten. Im Editor kann das Setze+}n dieses Flags mit der SHIFT-Taste simuliert werden und die Musik luft weiter! ,} Beispiel: An Position 1E kann einer anderen (eigenen) Routine mit dem Befehl S0 (Set Flag 0) mitgeteilt werden, da die -}Musik nun in den Wartezustand geht. An Position 1F (im Pattern) kann mit "W1" auf das Setzen von Flag 1 gewartet werden (.}mu im eigenen Programm geschehen!). Dies kann ja auch am Ende einer Musik geschehen, damit man erfhrt da die Musik nun z/}uende ist! Spezialbefehle mit Byte-Parameter (Lo-/High-Byte wird bergeben): Leider knnen nur Nibbles (4-Bit-Parameter)0} in einem Stck bergeben werden! Da einige befehle aber Byte-Parameter brauchen, habe ich getrennte Kommandos fr das Low1}-Nibble und High-Nibble eingefhrt: L x Lower Control Setzt das Low-Nibble im Audio-Control-Register * H x Higher 2}Control Setzt das High-Nibble im Audio-Control-Register * Beispiel: L3 und H0 ergeben den Wert 03! T x TiMe High x3} Setzt die Geschwindigkeit ** M x TiMe Low x ...dito 4} ** Beispiel: T1 und M9 setzen die Geschwindigkeit auf ($)19, was dez. 25 bedeutet, d.H Die Pause zwischen zwei 5}aufeinanderfolgenden Zeilen betrgt 25/50 Sekunden. Normalwert ist 07 (00 ergibt 256!). J x JumP to Pos. x Sprungbefehl (H6}igh-Nibble) *** M x JumP to Pos. x Sprungbefehl (Low-Nibble) *** Be7}ispiel: J2 und PE springen zu Position (im Trackspeicher) 2E. Erklrung zu )* )** und )*** * Diese Befehle knnen hinte8}reinander (in einem Kanal!) oder auch gleichzeitig nebeneinander (in 2 Kanlen) gegeben werden. ** Diese Befehle SOLLTEN ne9}beneinander gegeben werden! *** Diese Befehle MSSEN nebeneinander gegeben werden, da nachfolgenden Befehle im aktuellen Pat:}tern nicht mehr bercksichtigt werden. Was das heit? Nun, Wenn z. B. mit einem JumP-Befehl nach Trackposition 3A gespr;}ungen werden soll, geschieht das mit "J3" (Hherwertiges Nibble) und "PA" (niederwertiges Nibble) . Dieser Befehl MU in<} einer Zeile stehen ! Sollte J3 in z.B. Zeile 12 und PA in Zeile 13, so wird Zeile 13 nicht mehr mit aus- gefhrt! Es erf=}olg ein Sprung nach 30, da das Low-Nibble nicht gendert wurde. Beispiel: ... 12 --- 00J3 --- 00PA ... statt ... 12 --- 0>}0J3 --- 0000 ... falsch! 13 --- 00PA --- 0000 -"- ... Sonderbefehl fr 16Bit-Sound/Filter-Ansteuerung: AK bede?}utet "Aktueller Kanal" (Kanal, in dem der Befehl steht). E x Echo and modify E0 E-Kommando abschaltetn (fr @}diesen Kanal) E1 ... E4 Kopiere Sound aus AK nach Kanal 1-4 ohne Modifikation. E5 ... E8 Kopiere Sound aus AK nach 1*igemA} Rechtsschieben nach Kanal 1-4. Dies ergibt recht ordentlichen Synthesizer-Sound! E9 ... EC Kopiere Sound aus AK nach 2*igeB}m Rechtsschieben nach Kanal 1-4. Ergibt teilw. "hohlklingenden" Synthesizer-Sound! ED Der Ton auf dem aktuellen Kanal wird C}1-mal rechtsgeschoben (1 Oktave up) EE Der Ton -"- -"- -"- -"- -"- 2-mal -"- EF -"- -"- -"- -"- -"- D} -"- -"- 3-mal -"- Hier hilft wirklich nur ausprobieren! Dieser Befehl wirk nur in dem jeweiligen Kanal! Er mE}u in diesem mit E0 auch wieder ausgeschaltet werden, nicht in einem anderen (wo er garnicht stand). Kurz gesagt: Er ModiF}fiziert den Tonwert und kopiert ihn in einen anderen Kanal, ohne eine evtl. dort gespielte Hllkurve zu verndern. So G}einfach es sich anhrt, so schwierig ist es, ihn zu beschreiben! Normalerweise sollten die "Zielkanle" nicht benutzt werdenH}, gibt aber auch ei- nige effekte. Abstrzen kann nichts, es kann hchstens scheie klingen... Position im Pattern: ReiI}cht von 00 (0) bis 1F (31). In ein Pattern Passen max. 32 Noten (Takte). Achtung!!! Wer folgende Ausfhrungen nicht ganz veJ}rsteht (ist auch schwierig zu erklren), sollte es einfach vergessen und bei "Menauswahl" weiterlesen! Da ich die Musik mK}glichst Speichersparend ablegen wollte, musste ich mir einen kleinen Trick einfallen lassen, um alle Daten in 2 Byte zu PacL}ken! ein Kanal bentigt immerhin 64 Bytes/Pattern; ein ganzes Pattern (4 Kanle) belegt daher auch 256 Byte! Beim EinsetzM}en in den Trackspeicher werden immer 256 Bytes neu belegt, egal ob sich nichts oder z.B. nur in einem Kanal Musikdaten geN}ndert haben! Mit der Funktion "Speicher aufraeumen" im Men "OPTION" (wird auch beim speichern aufgerufen) wird dann eine "GO}arbage Collection", also eine Art "Mll- sammlung" durchgefhrt. Doppelte Pattern werden gelscht (also wenn z.B. Pat- ternP} 04, Pattern 12 und Pattern 23 gleiche Daten enthalten, werden die Eintr- ge 12 und 23 durch 04 ersetzt, was einem lscQ}hen von Nr. 12 und 23 gleich- kommen wrde. Die dabei entstehende Lcke wird mit den letzten Pattern ber- schrieben. "KoR}mpliziert aber einfach", drum hier nochmal: Beispiel: ========= 1. Position im Track 00 01 02 03 04 05 06 07 08 S} 09 Irgendein Kanal 01 02 03 04 05 06 07 08 00 00 (64-Byte-Pattern) Im Beispiel 1 sehen wir die Position imT} Track, darunter die Pattern-Nummer, welche in dem jeweiligen Kanal gespielt wird. Nehmen wir an, Pattern 03, 04 und 06 U} enthalten gleiche Daten, was ja Speicherverschwendung ist. Als erstes wird der Trackspeicher nach benutzten und unbenutzeV}n Pattern durchsucht! Als Benutze Nummern werde 00 bis 08 gefunden (00 ist immer leer)! Danach werden alle Lcken ElimW}iniert. Wenn in Position 04 statt Pattern 05 das Pattern 09 benutzen wrden, werden die Pattern 00-04 und 06-09 als belegX}t gekennzeichet, da Pattern 05 nicht benutzt wird. Da wir ja keine unbenutzten Speicherbereiche in unserer Musik haben wY}ollen, mssen die Lcken eliminiert werden. Darum durchsuchen wir einfach den Trackspeicher nach einer unbenutzen NummeZ}r (von vorn nach hinten). Wir finden Pattern 05 unbenutzt. Jetzt wird das letzte benutzte Pattern (im Beispiel 09) nac[}h 05 kopiert und im Trackspeicher alle 09 in 05 umgendert, schon ist die Lcke im Speicher verschwunden. Das machen wir imm\}er weiter, bis keine nderungen mehr mglich sind. 2. Die Pattern mit gleichem Inhalt (03, 04 und 06) werden "minimiert": Au]}s dem obengenannten Beispiel wird also: Position im Track 00 01 02 03 04 05 06 07 08 09 Irgendein Kanal... 01 02^} 03 03 05 03 07 08 00 00 Anschlieend noch alle Lcken schlieen... 07 wird zu 04, ebenso wie 08 zu 05 wird... Pos_}ition im Track 00 01 02 03 04 05 06 07 08 09 Irgendein Kanal: 01 02 03 03 04 03 04 05 00 00 Im Speich`}er werden also statt 00-08 nur Pattern 00-05 belegt! Menauswahl: ============ Mit den Tasten ">" bzw. "<" wechsa}elt man im Hauptmen, der gewhlte Meneintrag erscheint Invertiert. Unter dem Hauptmen wird immer das dazu passeb}nde Untermen dargestellt. Nach dem Laden erscheint im Hauptmen also "EDITIEREN SPIELEN DISK OPTION QUIT", wobei "Ec}DITIEREN" in inverser Schrift dargestellt wird. Im Untermen erscheint der Text "Huellkurve Pattern Daten-Tabelle",d} wobei "Huellkurve" in inverser Schrift erscheint. Mit den Pfeiltasten (Cursortasten ohne CONTROL) wechselt man im Untee}rmen. Drcken Sie die Pfeiltaste rechts, "Pattern" wird invertiert und "Huellkurve" erscheint wieder normal. Mit drf}cken der RETURN-Taste ("EDITIEREN" und "Pattern" sind invertiert) gelangen Sie jetzt in den Pattern-Editor, wobei das Mg}en aktiv bleibt und evtl. blinkt. Im Pattern-Editor (unteres Bildschirmdrittel) erscheint jetzt ein Cursor. Mih}t der ESCape-Taste wird der Pattern-Editor verlassen; Jetzt knnen Sie wieder aus dem Men whlen. Auf der Diskette sini}d einige Demostcke. Zum Laden whlen Sie "DISK" und "laden" und drcken Sie RETURN. Es Erscheinen alle Musikfiles (*.SNj}G-Files) im Fenster des Pattern-Editors. Jetzt knnen Sie einen Namen eingeben oder mit den Pfeiltasten ein File k}aus dem Inhaltsverzeichnis whlen. Durch (nochmaliges) drcken von RETURN wird das Musikstck in den Speicher geladen.l} Nach dem laden whlen Sie im Men "SPIELEN" und "Alles (Pos. 0)", dann drcken Sie RETURN. Wenn ein Musikstck in eigem}nen Programmen benutzt werden soll, darf es nicht gepackt sein (Siehe "OPTION"-Men)! Editieren: ========== 1 - Hllkurve n}Editieren Alle neuen Hllkurve (besonders FM-Kurven) sollten mit "SHIFT/CLEAR" initiali- siert bzw. gelscht werden (bei o}FM-kurven liegt der Ursprung in der Mitte der Grafik). Anmerkung zum HK-Editor: Es knnen maximal 64 Hllkurven in einem p}Musikstck verwendet werden, wobei es 32 "normale" und 32 FM-Hllkurven (Lautstrkeverlauf und Frequenzmodulation) gibt! Allq}e geraden Nummern sind "normale" und alle un- geraden sind FM-Hllkurven. Jeweils eine normale und eine FM-HK gehren zusam-r} men! Die Hllkurven werden mittels einer "Equalizergraphik" erstellt, was sich nach kurzer Eingewhnungszeit als sehr eis}nfach erweisen wird. U.A. tummeln sich folgende Abk. auf dem Screen: LP (Loop) : Hier werden Schleifen grafisch dargest}tellt. Im Prinzip ist eine Schleife nichts anderes als ein unbedingter Rckwrtsspung! Der Sprungstart wird mit einem u} abweisenden Pfeil, verbunden mit einer "Pfeil-linie" zum Sprungziel, gekennzeichnet. Setzen mit "CONTROL/," bzw. "CONv}TROL/." (fuer "[" oder "]")! Das Sprungziel mu immer vor dem Sprungstart liegen. EFF (Effekt): Es gibt 3 Effekte, welche dw}urch eine mehr oder weniger Starke Si- nusschwingung dargestellt wird: gerade Linie kein Effekt kleine Sinuskux}rve Effekt 1 mittlere Sinuskurve Effekt 2 groe Sinuskurve Effekt 3 nderung mit ";:" oder "/?" ! y} Effekt bei der Lautstrke-Hllkurve: EFF 1: Die Tonfrequenz wird 1-mal nach rechts verschoben! EFF 2: -"- -"- z}-"- 2-mal -"- -"- -"- EFF 3: -"- -"- "-" 3-mal -"- -"- -"- Das entspricht dem Teilen durch {}2,4 oder 8! Der Ton klingt (oktavenweise) hher! Effekt bei der Frequenz-Modulation: Intensitt der FM-Modulation! Beispiel|}: Die Tonfrequenz (Zahlenwert, welcher in das SOUND-Register geschrieben wird) sei im Beispiel der Wert 108 fr eine fiktive}} Note: subtraktion -- Wert 108 - -- - addition -- "Wert" wrde folgendermaen gen~}dert: Ohne Effekt: 108,107,107,108,108,109,109,108 1 Teilstrich = nderung um 1 Effekt 1: 108,106,106,108,108,110,}110,108 1 Teilstrich = nderung um 2 Effekt 2: 108,104,104,108,108,112,112,108 1 Teilstrich = nderung um 4 Effekt} 3: 108,100,100,108,108,116,116,108 1 Teilstrich = nderung um 8 Die Frequenzmodulation kann hier sehr feinfhlig ode}r auch "grob" eingestellt werden. DC (DeCrement main volume): Die Lautstrke des Kanals, auf welchem die Hll- kurve gesp}ielt wird, wird um eins vermindert. Besonders effektiv in Schleifen. nderung mit der ATARI-bzw. INVERSE-Taste! HK : Aktue}lle eingestellte Hllkurve. Hllkurve ndern mit "<" oder ">"! VC : Voice Control: VC bei normaler Hllkurve: Nummer Noten}/Ton-Tabelle: Tabelle 0: Reine Tne Tabelle 1: "weiche" Basstne Tabelle 2: "harte" Basstne Tabelle 3: keine Wandlun}g, Noten-Werte (0-ca. 49) werden direkt in die Sound-register geschrieben (extra fr hohe Frequenzen) nderung mit "SHIFT" +} ";:" oder "SHIFT" + "/?"! VC bei FM-Kurven: Voice-Control/Stimmen-kontrolle! Hier wird die "Verzerrung" des Tones einge}stellt (Hex.). So ergibt "A0" oder "E0" reine Tne (wie BASIC mit dez. 10 oder 14) ! Bei der Tonerzeugung beim XL ist} Atari meiner Meinung nach nicht gerade den idealsten Weg gegangen. So klingen die "Basstne" bei der Verzerrung 12 (dez.) m}al weich, wenn man den Dezimalwert des Tones um eins ndert klingen sie auf einmal hart oder garnicht! Daher habe ich dur}ch Ausprobieren die bestmglichen Sound-Tabellen erstellt, in welcher getrennt die Werte fr klare Tne (Verzer- rung 14), }weiche Basstne (Verzerrung 12) und harte Basstne (auch 12) gespei- chert sind. Bedingt durch die Art der Tonerzeugung k}lingen die Tne in ver- schiedenen Frequenzen! Sie knnen ja mal bei Verzerrung 12 (Hex C0) die Sound- Tabelle "00" whlen} und ein paar Noten spielen, dann hren Sie schon was ich meine! Der Cursor kann mit den Cursortasten gesteuert werden (r}echts/links). Mit den Tasten "hoch/runter" kann die Lautstrke in der aktuellen Position bzw. die Frequenzmodulation ei}ngestellt werden! Mit RETURN knnen Sie ein im Pattern- Feld (unteres Bildschirmdrittel) stehendes Pattern Spielen und glei}chzeitig die Hllkurve Editieren! Das Pattern-feld wird allerdings nicht gescrollt. Das Spielen wird auch mit einem blin}kenden "#PLAY#" angezeigt. Verlassen des HK-Editors mit ESCape! 2 - Pattern Editieren Hier wird ein Pattern erstellt bz}w. editiert. Ein Pattern enthlt alle Noten und Funktionen fr alle 4 Audio-Kanle. Ein Musikstck kann aus bis zu 255} dieser Pattern je Kanal bestehen, die Anzahl der Pattern ist aber auch auf 255 begrenzt. Alle Editier-Funktionen finden} in einem Zwischenspeicher statt, welcher mit dem SET-Befehl (SHIFT + TABulator) in den TRACK-Speicher an der entsprech}enden Position geschrieben wird. Der Zeiger auf die Position wird dann automatisch erhht. Mit den Tasten "<" oder ">"} knnen Sie die Hllkurve whlen, welche mit der nchsten Note gespielt werden soll. Tne werden im Editor beim Einge}ben immer ber Kanal 0 abgespielt (auch wenn z.B. Kanal 2 editiert wird!), so da es bei Benutzung der Filtertechnik }(Audio-Control- Register) zu fehlerhaften Tnen kommt. Das Pattern kann jederzeit mit RETURN bis zum nchsten Tastendru}ck gespielt werden. Noten werden auf der Tastatur eingegeben, hnlich wie beim Soundtracker fr den Amiga. Um z.B. die} Note "A-2" und "F#2" einzu- geben, brauchen Sie nicht A,-,2 oder so eintippen, sondern knnen einfach die Taste "y}" (A-2) oder "5" (F#2) ! Weitere Oktave erhlt man mit "SHIFT/z" bis "SHIFT/q". Zustzlich habe ich noch (fr Spez}ialeffekte wie hohe Tne beim Schlagzeugrhythmus) die Tasten 1 bis 0 (1-2-3...9-0) belegt, welche mit SHIFT gedrckt }zu der Anzeige z.B. (Shift/4) "[4]" fhrt, d.h. der Wert 4 wird in das Sound-Register geschrieben! Wenn Sie ein Pattern }in den TRACK-Speicher setzen, wird nicht berprft, ob es nicht schon existiert. Neue Pattern werden also nicht berpr}ft, ob Sie schon im Speicher exisitieren und es kommt zu mehreren verschiedenen Pattern-Nummern mit gleichem Inhalt. Dahe}r sollte man von Zeit zu Zeit die Funktion OPTION/ Speicher aufrumen whlen, welche eine sogenannte "garbage Collecti}on" durch- fhrt. Dort werden Pattern mit gleichem Inhalt sowie nicht mehr benutzte Pattern erkannt und alle benutzten} Pattern im Speicher hintereinander abgelegt. Diese Routine luft aber sehr schnell und wird auch automatisch vor dem} Abspeichern aufgerufen. Sollte kein Speicher mehr frei sein so kommt es beim Versuch, ein Pattern in den Trackspeicher zu} setzen, zu kurzen Pieptnen! dann ist die Funktion "Speicher aufrumen" aufzurufen! Sollte dann immer noch kein Speicher } frei sein, haben Sie 255 unterschiedliche Pattern benutzt (maximalwert)! Wenn Sie die Hllkurve whlen, erha}lten Sie in der "DC " - Zeile die Meldung "Frequenz-Modulation HK #xy" bei ungeraden (= FM) Hllkurven. Jeweils eine ger}ade sowie die darauffolgende ungerade Hllkurve gehren zusammen! Im Pattern- Editor erscheint beim Eingeben ein}er Note z.B. "A-2 02VF", wobei "A-2" die Note, "02" die Hllkurve (auch wenn Sie die dazugehrende FM-Hllkurve 0}3 eingestellt haben), und "VF" die Anweisung "Lautstrke 15" bedeutet. Sie knnen auch die Lautstrke nachtrglich n}dern, indem Sie den Cursor auf das "F" (von "02VF") stellen und einen Hexadezimalwert eintippen. Sie knnen so auch di}e Hllkurve nachtrglich ndern. Achtung: Sie knnen jetzt auch ungerade Hllkurven eingeben, was aber nichts vernnftige}s bringt. Am oberen Bildschirmrand befinden sich 4 "Lautstrkeregler", welche mit CONTROL + Cursor rechts/links eingestell}t werden knnen! Die dort eingestellte Lautstrke wird auch beim Eingeben einer Note mit bernommen, so da man die }Lautstrke nur einmal einstellen mu und nicht immer nachtrglich ndern braucht. Wird das Pattern im Pattern-Edit}or abgespielt, wird die Lautstrke der jeweiligen Kanle auf die eingestellten Werte begrenzt! Wird die Musik komplett }abgespielt, wird nicht begrenzt! Diese Funktion ist ideal zum "Probehren" bzw. testen, da einzelne Tracks i}m Editor leise- bzw. stummgeschaltet werden kann! Ein Pattern wird mit SET (SHIFT/ TAB) in den Trackspeicher an de}r angezeigte Position eingesetzt, d.h. evtl. vorhandene Pattern in dieser Position werden berschrieben! Um ein Pa}ttern aus dem Trackspeicher zu Editieren, mssen Sie es mit CONTROL/INVerse bzw. CONTROL/ ATARI in den Editor holen (und }nach dem ndern mit SET wieder zurckschreiben). Die Tracknummer (Position im Trackspeicher) wird mit SHIFT + Cu}rsor links/rechts verndert. Gltig ist dabei die Position in der Mitte (zwischen den grer/kleiner-Zeichen). Es gibt }auch noch folgende Funktionen, welche ausschlielich das Pattern im Editor betreffen, also nicht die Daten im Trackspeicher} verndern: Kopieren: CONTROL/ESCape kopiert den Kanal des Patterns, in dem der Cursor steht, in einen Hintergrundspei}cher, ohne das Pattern zu verndern. CONTROL/SHIFT/ESCape kopiert das komplette Pattern in einen Hintergrundspei- cher, oh}ne das Pattern zu verndern. Der Hintergrundspeicher fr das komplette Pattern ist unabhngig vom Speicher fr einen einzeln}en Kanal. Lschen: CONTROL/CLEAR lscht den Kanal, in dem der Cursor steht. CONTROL/SHIFT/CLEAR lscht das komplette Patter}n im Editor. Einfgen: CONTROL/INSERT ersetzt den Kanal in dem der Cursor steht durch ein vorher mit CONTROL/ESCape kopier}ten Kanal! CONTROL/SHIFT/INSERT ersetzt das komplette Pattern im Editor durch ein kopier- tes Pattern. EDITIEREN - Daten-Ta}belle!: =========================== Diese Datentabelle ist eigentlich der Trackspeicher. Hier knnen folgende Editierungen v}orgenommen werden: Mit den Tasten "<" bzw. ">" kann gescrollt werden. Die Aktuelle Position im Track wird in den Zei}chen "<" und ">" angezeigt. Eine Position kann auch direkt eingegeben werden (mit 0-9, A-F), die Anzeige ist Hexadezimal. }Mit CONTROL/INSERT kann ein leerer Track eingefgt werden, in welcher Spter im Pattern-Editor mit der SET-Funktion ein neuer} Track eingesetzt werden kann. Sollte der Trackspeicher so voll sein, das der letzte Eintrag verloren gehen wrde, erklingen }zur Warnung ein paar Pieptne! Mit CONTROL/DELETE wird der Track unter dem Cursor gelscht, die rechts lie- genden Tracks wer}den herangerckt. SPIELEN - Pattern: ================== Das Pattern im Editor wird gespielt. Dies entspricht haargenau }dem Abspielen im Men "EDITIEREN - Pattern" (mit RETURN). SPIELEN - Alles: ================ Das Musikstck wird ab der mom}entanen Trackposition abgespielt. SPIELEN - Alles (Position 0): ============================= Das Musikstck wird ab Po}sition 0 (also von Anfang an) gespielt. Sollte man sich z.B. an Trackposition 20 im Editor befinden, so wird mit der Fu}nktion "SPIELEN - Alles" ab diser Position gespielt. Mit dieser Funktion kann von Anfang an gespielt werden, ohne den Tr}ackpointer auf 00 zurcksetzen zu mssen. Anmerkung zu den letzten beiden Funktionen: Wird die Musik mit einem Tastendruck} beendet, wird der Trackpointer (Positions- zeiger) wieder auf den alten Wert gesetzt. Das alte Pattern im Editor wird w}iederhergestellt. Wird die Musik mit RESET unterbrochen, geht das aktuelle Pattern im Editor ver- loren, da es whrend des Sp}ielens berschrieben wird! DISK - Laden: ============= Bei den folgenden Disk-Operationen kann mit SHIFT/Zahlentaste das L}aufwerk gewhlt werden. Mit ESCape wird abgebrochen. Ein Musikstck kann geladen werden. Gepackte Musikfiles sind ca. 30-40%} kerzer als "normale"; sie werden whrend des ladens entpackt. DISK - Speichern: ================= Ein Musikstck kann }gespeichert werden. Sollte die Option "Musik packen" auf "ein" gestellt sein, so wird das File gepackt gespeichert! Vor d}em speichern wird noch eine oben beschriebene "Garbage Collection" durchgefhrt, die doppelt definierte Pattern (Pattern mit }gleichem Inhalt) entfernt. ACHTUNG! Gepackte Files knnen mit dem Replay-Programm NICHT abgespielt werden! DISK - Inhalts}verzeichnis: ========================== Das Inhaltsverzeichnis wird ausgegeben. Die Auswahl eines Filenamens hat keine Funkt}ion. OPTION - Speicher aufraeumen: ============================= Es wird eine Garbage Collection durchgefhrt. OPTION - }Musik packen:ein/aus: ============================== Die Musik wird je nach eingestellter Option gepackt gespeichert oder} normal. Nur normal gespeicherte Musikdateien werden vom REPLAY-Programm Wiedergegeben ! Bei Anwahl der folgenden Funkti}onen wird der Bildschirm rot sowie eine Folge von Signaltnen ertnt (blde Formulierung...)! Mit RETURN wird die gewhlte} Funktion ausgefrt, jede andere Taste stopt die Ausfhrung! QUIT - zum DOS: =============== Es wird ins DUP-Men gesprung}en. Die Musik im Speicher geht verloren ! QUIT - Kaltstart: ================= Es wird ein Kaltstart durchgefhrt (und geb}ootet)! QUIT - Musik loeschen: ====================== Die Musik im Speicher wird gelscht. Hoffe, da ich nichts vergess}en habe... Torsten Karwoth Hermann von vechelde Strae 19 3300 Braunschweig Tel. (0531) - 696689 da ich nichts vergessgReplay.DOC==========Programmautor: Torsten KarwothHermann von Vechelde Strasse 193300 BraunschweigTel. (0531) - 69 66 }89Zum Einbau von mit dem SoundMonitor V1.2 Professional erstellten Musikstuecken in eigene Programme befindet sich auf der }Programmdiskette eine eigenstaendige Abspielroutine.Diese Abspielroutine ist in zwei Formaten vorhanden: Als SRC- File (ASCI}I-Code) sowie als ASM-File (Interner Code beim MacroAssembler XE). Die Routine wird mit einem Aufruf der Initialisierungsrout}ine (JSR Mp.Init) Initialisiert, wobei die Anfangsadresse der Musik im X-Register (Low-Byte) und Y-Register (Hi-Byte) ueberge}ben wird. Die Musikdaten duerfen nicht gepackt sein (siehe SoundMonitor, Menue OPTION/Musik packen:aus) ! Dann nur noch alle }1/50 sekunden nach Mp.Play springen (in eigener Interruptroutine) ! Zum Beenden der Musik wieder nach Mp.Init springen, Musik}interrupt aber vorher ausschalten.ACHTUNG: Beim Aufruf von Mp.Init immer (!) die Song-Adresse in X/Y uebergeben (auch zum Au}sschalten), da sich die Routine sonst "aufhaengen" kann !!!Die RePlay-Routine benoetigt die ZeroPage-Register 0 und 1 ! Au{ ; ; RePlay V1.2 ; =========== ; ; Fuer mit SoundMonitor Professional ; erstelle Musikstuecke! (V1.2) ; ; K}ann So assembliert werden, dann ; aber ueber Sprungtabelle aufrufen! ; ORG $3000 ; Anpassen! ; Sprungtabelle JMP Mp.}Init JMP Mp.Play ; ; MusicPlayer V1.2 ; belegt ZP-Adresse $00 & $01 ! ; Parametertabelle Abspielroutine ; Mp.po}s:DFB 0 ; Position Mp.ptp:DFB 0,0 ; Pos. im Pattern Mp.spd:DFB 0 ; Zaehler Geschw. Mp.tim:DFB 0 ; Abspielgeschw. Mp.len:D}FB 0 ; Laenge Musikstueck Mp.par:ASC %00000000% ; Audio-Werte Mp.ctl:DFB 0 ; Audio-Control Mp.TrkAd:DFW 0 ; Abspielreihenf}olge Mp.TrkBa:DFW 0 ; Basisadresse Trackspeicher Mp.HulBa:DFW 0 ; Basisadresse Huellk. ; FlagTab:ASC % %} ; 16 ; Mp.pat:DFB 0,0,0,0 ; Pattern-Nr. Mp.hkp:DFB 0,0,0,0 ; Zeiger Huellkurve Mp.fmp:DFB 0,0,0,0 ; Zeiger FM-Kurve M}p.hkn:DFB 0,0,0,0 ; Huellkurve Mp.ton:DFB 0,0,0,0 ; Tonfreq. Mp.vol:DFB 0,0,0,0 ; Kanal-Volume Mp.not:DFB 0,0,0,0 ; Noten-}Nr. Mp.eff:DFB 0,0,0,0 ; Effekt Mp.cnt:DFB 0 ; Interner Zaehler Mp.wrk:DFW 0 ; Arbeitsbereich ! Mp.ende:DFB 0 ; ; In}itialisierungsroutine ; Adresse des ungep. Songs in X/Y! Mp.Init:STX 0 STY 1 LDX #Mp.ende-FlagTab LDA #0 Mp.i1:STA Fla}gTab,X DEX BPL Mp.i1 LDA #7 STA Mp.tim LDA #0 STA Mp.ctl LDA #1 STA Mp.spd LDA #32 STA Mp.ptp LDA #3 STA $D20F }LDA #0 STA $D208 STA mp.ctl LDX #7 Mp.i3:STA $D200,X STA Mp.par,X DEX BPL Mp.i3 LDY #3 LDA (0),Y STA Mp.len ; Ba}sisadresse Trk-Abspielreihenfolge LDA 0 CLC ADC #5 STA Mp.TrkAd LDA 1 ADC #0 STA Mp.TrkAd+1 LDA Mp.len STA Mp.wrk }LDA #0 STA Mp.wrk+1 LDX #1 Mp.i4:ASL Mp.wrk ROL Mp.wrk+1 DEX BPL Mp.i4 LDA Mp.wrk CLC ADC Mp.trkAd STA Mp.TrkBa }LDA Mp.wrk+1 ADC Mp.TrkAd+1 STA Mp.TrkBa+1 LDY #2 LDA (0),Y ; Anzahl Pattern STA Mp.wrk LDA #0 STA Mp.wrk+1 LDX #5 M}p.i5:ASL Mp.wrk ROL Mp.wrk+1 DEX BPL Mp.i5 LDA Mp.wrk CLC ADC Mp.TrkBa STA Mp.HulBa LDA Mp.wrk+1 ADC Mp.TrkBa+1 S}TA Mp.HulBa+1 LDA #$FF STA Mp.pos ; ; Routine laeuft in Mp.PLay 'rein ; fuer 1. Initialisierungsphase ! ; ; Mp.}Play alle 1/50 sekunden aufrufen! ; Mp.Play:LDX #8 Mp.p1:LDA Mp.par,X STA $D200,X DEX BPL Mp.p1 DEC Mp.spd BEQ Mp.}p1a JMP Mp.DoSnd Mp.p1a:LDA Mp.ptp+1 BEQ Mp.p1a1 SEC SBC #1 STA Mp.pos LDA #31 STA Mp.ptp LDA #0 STA Mp.ptp+1 Mp.}p1a1:LDA Mp.tim STA Mp.spd ; naechste Note im Pattern ! INC Mp.ptp LDA Mp.ptp CMP #32 BCC Mp.p2 ; naechstes Pattern} LDA #0 STA Mp.ptp INC Mp.pos LDX Mp.pos CPX Mp.len ; Ende ? BNE Mp.p1b LDX #0 STX Mp.pos Mp.p1b: TXA CLC ADC Mp}.TrkAd STA 0 LDA #0 ADC Mp.TrkAd+1 STA 1 LDY #0 LDX #0 Mp.p1c:LDA (0),Y STA Mp.pat,X LDA 0 CLC ADC Mp.len STA 0} BCC Mp.p1d INC 1 Mp.p1d:INX CPX #4 BCC Mp.p1c Mp.p2: LDA #3 ; Kanal STA Mp.cnt Mp.p3: LDX Mp.cnt LDA #0 STA 1 L}DA Mp.pat,X LDY #5 Mp.p3a:ASL ROL 1 DEY BPL Mp.p3a CLC ADC Mp.TrkBa STA 0 LDA 1 ADC Mp.TrkBa+1 STA 1 LDY Mp.p}tp LDA (0),Y ; Note + >hk STA Mp.wrk LSR LSR CMP #0 BEQ Mp.parOn STA Mp.not,X LDA #0 STA Mp.hkp,X STA Mp.fmp,X} LDA Mp.ptp CLC ADC #32 TAY LDA (0),Y ; parameter+}r 1. Initialisierungsphase !#(Mp.Play alle 1/50 sekunden aufrufen!(Mp.PlayMp.p1 Mp.par / ?}  Mp.p1 Mp.spd Mp.p1a Mp.DoSndMp.p1a Mp.ptp Mp.p1a1, + @} / Mp.pos  / Mp.ptp  / Mp.ptpMp.p1a1 Mp.tim/ Mp.spdnaechste Note A}im Pattern ! Mp.ptp Mp.ptp   Mp.p2naechstes Pattern  / Mp.ptp Mp.pos B} Mp.pos Mp.lenEnde ? Mp.p1b  0 Mp.pos Mp.p1b 5  Mp.TrkAd / C}   Mp.TrkAd /    Mp.p1c/ Mp.pat    Mp.len  D}/  Mp.p1d   Mp.p1d   Mp.p1c Mp.p2 Kanal/ Mp.cnt Mp.p3  E}Mp.cnt  /   Mp.pat  Mp.p3a '   Mp.p3a  Mp.TrkBa / F}    Mp.TrkBa /   Mp.ptpNote + >hk/ Mp.wrk     M G}p.parOn/ Mp.not  / Mp.hkp/ Mp.fmp Mp.ptp   3parameter+852/-)(%#! w}?Mp.VolTb?5 x}555555 y}5555 z}555555 {} 55 55 |} 55 55 }} 55 55 5 ~}FnVol/ Mp.Vol NoFn* FnSetFnS1/ FlagTab*FnClr  FnS1 FnUN/  } Mp.Not, +  FnUn0 FnUn1Fnun0FnUn1/ Mp.Not*FnDN/  M }p.Not   /  FnUn1 .  FnUn1FnLAC/  Mp.ctl  FnAC"  }/ Mp.ctl*FnHAC /  Mp.ctl   FnAC FnQt Mp.pos }   / Mp.ptp*FnEff/ Mp.Eff*FnJpH /  Mp.ptp }   Fnjp1FnJpL/  Mp.ptp  Fnjp1" / Mp.ptp*FnTiH } /  Mp.tim   Fnti1FnTiL/  Mp.tim  Fnti1"  }/ Mp.tim/ Mp.spd*FnAR/ Mp.ctl*FnWt FlagTab FnWt1 Mp.ptp }  / Mp.spdFnWt1*Mp.ctl*FnWt FlagTab FnWt1 Mp.ptp : ; ; TEST-Source ; ; In page 2 READen und zusammen mit ; REPLAY Assemblieren. Eine Musik ; mit READ nach l}aden und ; mit GO TEST das Programm starten! ; adr:EQU $8000 ; Adresse Musikdaten ; test:LDA #0 STA 538 ; Interrup}t aus LDX #adr JSR mp.init LDX #int STX 552 ; interrupt- STY 553 ; adresse! INC 538 ; interrupt} einschalten RTS ; int:JSR mp.play INC 538 RTS >int STX 552 ; interrupt- STY 553 ; adresse! INC 538 ; interrupt:ReadMeFirst.DOC===============Der Sound-Monitor V1.2 Professional ermoeglicht das einfache Erstellen von gut klingenden Mu}sikstuecken auf dem ATARI XL.Huellkurven und Frequenzmodulationwerden anhand einer "Equalizer-Grafik" erstellt. Das kreierte} Musikstueck kann problemlos mit einer mitgelieferten Abspielroutine in eigene Programme eingebaut werden, und einfachste Bed}ienung sichert schnelle Erfolgserlebnisse. Die Abspielroutine ist einmal als .ASM-File (fuer meinen Macro-Assembler XE) sowie} als .SRC-File vorhanden, welches nach Aenderung (Grossschrift u.A.) auch auf anderen Assemblern verwendet werden kann.Prog}rammautor:Torsten KarwothHermann von Vechelde Strasse 193300 BraunschweigTel. (0531) - 69 66 89endet werden kann.Proged M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%E} DD˙`  }J)Lr J  ((  p L ()   JE}L= ( L 0q A    IB JC;? D W E} LL  ` W )LA!  ߰")-݆ p" E} $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ`E}$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H E}p h  hyhy D L> L JJ    ! LA*` BFE}7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!LE}EE !E^ ^ E E7EȩEdE/EȩE  DE} .L }  ;F d  ;?F7F? ( .   Z D LL d E} . D  L    p  E` , d)  D L) 0BM݊L݉E} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ GE} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >GE} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISKE}.COMLu L1 L ;LHL  T`  `8  ɐ     `TU E} L ? .  t`GBJ ~DEHI B V0dVE}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEhE}DEL8HI4 0 HI,0 0  9 .G VLOE},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D8:MEM.SAV J y08 B|DEHIE} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHIE} VY8 B V  @  /DE `E:D8:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO E}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -E}LLu ÝDEHILV 9 .l 9 .l  `` s$B BHE}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu D} 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGI}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRESI}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N'I}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx I}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECTI} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DLI}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BDI}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.I}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPECI}COPY--FROM, TO?OPTION NOT ALLOWED697 FREE SECTORS COPYING---D8:COPY32.COMl# 0|D .L/%#I}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SYI}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E I}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT AI}LLOWED IN DESTINATION 0 <.|K67$@&@<$@,.7<@,D6.L%4INSERAT%6. KleM}inanzeigenV'4INFO'6.Infos aus dem Club`4PDECKE6.PD-Eckej34BSWICH36.Bankswitching auf dem 1M}30 XEt24QUICK226.Stellungnahme RAINDORF-SOFT~04PROG06.Anleitung zu den Programmen$4TIPS$6.TM}ips und Tricks*4BPSERVI*6.Bauplanaenderungen (| -(| A0(((( | zurueck M} |2((( <F( -%$6-?:<%$<%$<,( P$x***** BILDSCHIRMM}%@!A@r%+AR6-?:<,$@***** Bildschirm-AusgabeE, 6- A%-@8M}@#,( J6-@:7$&,,%$@:7$,,T=6-?:<<<,#6-P:'@,=%&@$%@Y<6-P:'@M},.%&$@%@<%@^ Ah"@'$i6-P:',6-&$j- 6-$%67<,.>:M},-67%<%,.>:,r!!@a*@2A|"BU5A0! 6-%!*BU5!6- AM}#"@ A(# A@E)"A0 6-& A***** GET KEYK:)M}$l***** Hauptmenuev 6- A..(& Bildschirm Drucker Info Neustart EndeXX"Um den MultitaskingM}kurs zu lesen, bitte Diskette umdrehen und NEUSTART anwaehlen" 6-6-?:<%8,<8,, AE"@C*!M}(6-?:<%8,<8,,06-&E6-?:<%8,<8,,K"@B* @.6-?:<%8,<8,,66-%K6-?:<%8,<8,,M}AUA@ "6- A& " A# A@ " %T"@6-?:,*AAM}`6@:+D BDDT% D:MENUE.BAS!@@!-@( (|o HeftrM}and |(|o Kleinschrift | (|o Seitennumerierung|(| ok, Text drucken |(| zurueck M} | )()@*-@(4-@(>-@(H( M}6-(6-?:<%@%$<@,R A\Y"@E*!26-?:<%@%$<@,:6-&Y6-?:<%@%M}$<@,fY"@a* 26-?:<%@%$<@,:6-%Y6-?:<%@%$<@,p"@'A"@M}zAUA!0 "6- A&"A"@4 "6-&-@4(>:A&@$,4 "M}6-&-@4(>:A&@$,4 "6-&-@4(>:A&@$, A!04@N}-@06-?:<<%$<,4  A@***** Info '@@'-@@$ !!(N}. !!(|ABBUC TextfLrmatierung|L !!(V !!(| Formatro4tine 100% MS|` !!(| vor/N}zurueck blaettern|j !!(| sow(e Seitenwahl |t !!(| neue, schnellere Aus-|~ !!(| gabe durch voellig | !!(N}| neue Print-Routine | !!( !!(| (c) 1989 by HiassofT | !!(N}  A@( .-@@*6-?:<<%$<,.  $( ***** Text-Auswahl2 0 -%,6-?::,6-%'67%,.>:,@ A(@J  4 6.=:N },T  6-A:,A) U  !6-%V '7$&<$,46-' A) W  !6-]  "6-^ (-@8N}@#!AR(( h $ ***** Seite Drucken $AYBBr$6-?:, C@P:+(N} PA Rl76-@C6-@d (l 6-@g #(#6-P:$@P, 6-&  6N}-6-B % 6. 67@Q,. %67,. "A0 ""(@7<+&@,', )$(@- - - N}  - - -)( $6-?:<<<,( $6-% BU5A0`& (@@0 A *****N} MS-Teil laden  D:WRAP.OBJ ? ))))&)-)?6-%$&&$% 6-P:',6-&$N} RAPAR'AS3AV?AWR6-?:C:hLV,,  $(c) 89-08-20 HiassofTN} D:LESER1.BAS177 FREE SECTORS6NEUSOFT READMETdP(c) 89-08-20 HiassofTLdHKLHLsHLIL&JLaKLJLpKhӍH ӢBDPEHoI VIiOϽHΠɛϩϭH`hhR}hhh̩Hhh HXХYѩͭӍH ӭH 'ЈɛjH:H0"Ԫ)H) i@`8 HЈHmHԐLR}nIȘHI BԝD՝EeԅԐ VLIЋ ̈HBHԪ)H) i@`8 HЈHmHԐR}i(АLIHI BԝD՝EȘeԅԐ VHI V)LHԅխH'Јi(АLIR}H`hhhhhԩ`hhhhhhhԑ̈`hhh JJJJy0J1XJYJ&JOK \R}K`BOB@DJFO BJAyJJJodervor뀀R}[abbrechen3%)4%L_HHH+5K7K ԌЍhhh@$4  :KBK ԌЍL.Kh@R}ԩ_L\hhhhhIԈ`L_HHH+5K7K ԌЍhhh@$4  :KBK ԌЍL.Kh@P!7K8P?@     Y`  Y0 l `7L 䙣ލV}Ȏ!"` !"H h`lDD SAB.RESEL:D"NUR䙣ލTk