





                               P L A T I N U M
                         Coders Corner - Der Inhalt

     
   QBasic  .  .  .  .  .  .  .  .  .  .  .  Seite  2  .  .  .  .  . Speedy
   Ein Pascal-Rtsel.  .  .  .  .  .  .  .  Seite  3  . l'Original du PTPT
   The Art of Composing.  .  .  .  .  .  .  Seite  4  . l'Original du PTPT
   The Art of Coding.  .  .  .  .  .  .  .  Seite 20  .  .  .  Master Yoda
   Part VII des ASM-Kurses.  .  .  .  .  .  Seite 24  .  .  .  Master Yoda
     








                               QBASIC
                     
                        [ Speedy / TalkTime ]

         Probiert mal folgendes Listing in QBASIC aus !

         CLS
         SCREEN 13
         FOR a = 1 TO 255: FOR b = 1 TO 10
         CIRCLE (160, 100), a,a
         NEXT b
         NEXT a
         FOR c = 255 TO 1 STEP -1: FOR d = 1 TO 10
         CIRCLE (160, 100), c,0
         NEXT d
         NEXT c
         END

         Geil, oder ?


   

                              Ein Pascal Rtsel
                         
                           [ l'Original du PTPT ]

  Ein kleines Rtsel! Schaut euch mal folgendes Programm an:

  uses GRMPFGAGGAWAGGONG;
  var a,b,c,d:word;
  begin
    HOLTERDIPOLTER(a,b,c,d);
    d:=54*ord(b=11)+85*ord(b=10)+115*ord(b=9)+146*ord(b=8)+177*ord(b=7)
      +207*ord(b=6)+238*ord(b=5)+268*ord(b=4)+299*ord(b=3)+327*ord(b=2)
      +358*ord(b=1)+389*ord((b=12)and(c>24))+24*ord((b=12)and(c<25))-c
      +ord((b<3)and(a mod 4=0))-ord((b<3)and(a mod 100=0))
      +ord((b<3)and(a mod 400=0));
    writeln(d);
  end.

  Jetzt die groe Preisfrage: Wodurch sind die Platzhalter GRMPFGAGGAWAGGONG
  und HOLTERDIPOLTER zu ersetzen, damit das Programm seinen Sinn erfllt und
  was macht das Programm dann? Ich mchte wetten, da da keiner drauf kommt!

                       Cheers,

                             l'Original du PTPT

     

                          THE ART OF COMPOSING    
                  
                        [  l'Original du PTPT  ]

         #Papst!

         Nun ja, so umfangreich, da dafr eine eigene Rubrik einge-
         richtet werden knnte, wird mein MOD-Kurs garantiert nicht;
         da ich mittlerweile ein wenig fr die Schule tun mu (ich 
         mach' jetzt Abi), habe ich nicht mehr allzuviel Zeit.
         Diesmal sieht's so aus: In der Woche zwischen dem Erhalt 
         des PLT#15 und dem Anzeigenschlu habe ich nur heute nach-
         mittag Zeit... Dementsprechend wird der erste Teil recht 
         kurz. Also, los geht's:


                        RACKE RACKE RACKE BAIBEE
                        GATTA GATTA GATTA FEELIN
                        - the art of composing -
                               - Part 1 -
                                   --

         Vorwort:
         ########

         Viele wissen, da jeder MODs schreiben kann, der einen PC hat. 
         Alles, was man braucht, ist ein Tracker und ein paar Samples, 
         die man aber auch aus jedem MOD klauen kann. Was viele nicht 
         wissen: Das Composen, das Schreiben eines MODs, ist mehr als 
         nur simples musizieren. Es ist ein Weg, seiner Kreativitt 
         freien Lauf zu lassen, ohne enge Grenzen zu haben. Es bietet 
         die Mglichkeit, Emotionen auszudrcken und auch loszuwerden.

         Bei vielen Leuten scheitert's beim Composen an zwei Dingen: 
         Entweder fehlt jegliche musikalische Begabung bzw. Kreativitt.
         Da kann man nichts machen. Oder es fehlt das Grundwissen, das 
         ntig ist, um einem Tracker schne Tne zu entlocken. 
         Da schon eher. Und genau dies versuche ich jetzt.

         Ich mu allerdings sagen, da ich selbst nicht die allergrte 
         musikalische Grundausbildung gehabt habe. Im Kindergarten die 
         Musikschule (das einzige, das davon blieb, ist ein Glockenspiel),
         dann bis zur neunten Klasse der Musikunterricht, in dem blicher-
         weise Hausaufgaben gemacht wurden. Und dann habe ich mal ein-
         einhalb Jahre lang Schlagzeugunterricht genommen. Da habe ich
         am meisten gelernt. Den Rest habe ich auf zwei Wegen gelernt: 
         erstens durch's Composen selbst, zweitens durch das Auseinander-
         pflcken von Liedern, die man berall hrt - im Radio, in 
         Discos usw. 
         Puh, eigentlich wollte ich gar kein Vorwort schreiben!


         Ausrstung:
         ###########

         Was braucht man zum Composen? 1. Einen Tracker. Ich selbst 
         arbeite mit MODEdit 2.0, ist aber Geschmackssache. Nachteil 
         von MODEdit: Er hat nur vier Stimmen. Empfehlenswert sind 
         auch der Scream Tracker 3 mit 16 Stimmen ( Wenn die nicht
         reichen... ) und sehr komfortablen Funktionen, sowie der 
         Multitrack Module Editor mit 32 Stimmen und ebenfalls viel 
         Komfort. Die verwende ich nicht, weil die sich mit irgendetwas 
         in dem Computer, den ich nutze, nicht vertragen (Wei der Geier,
         womit, jedenfalls scheine ich der einzige zu sein, bei dem
         der Scream Tracker 3.0 mit 95%iger Sicherheit in den ersten 
         10 Minuten abstrzt). Auch MODEdit ist mir schon abgestrzt.
         Neulich zweimal innerhalb von hchstens 20 Stunden. Das war 
         dann auch ein Ereignis, das ich rot im Kalender anstreichen 
         konnte.

         Was braucht der Composer noch? Auch recht wichtig: Ein Programm 
         zum Bearbeiten von Samples. Der Advanced Digiplayer hat sich 
         hier als extrem gltig erwiesen.
         Und - das wird aber jeder Composer wohl haben - natrlich 
         reine MOD-Abspiel-Programme, die zum Teil besseren Klang oder 
         interessante Funktionen bieten. Als Beispiel sei hier MODPlay 
         Pro 2.19 angefhrt, der zusammen mit dem DSMI (Soundroutine 
         von PMP / DMP) die einzigen Routinen bieten, die bis jetzt 
         auf meiner Sound Galaxy BX 2 (SB 2.0-kompatibel) jedes Sample 
         richtig abgespielt haben, was nicht mal der vielgerhmte 
         Inertia Player geschafft hat. Zudem kann man mit MP Pro sehr 
         komfortabel MODs laden und Samples daraus abspeichern.


         Theorie: (Ja, das mu sein!)
         ########

         Tracker arbeiten mit festen Notenblttern, 'Pattern' genannt. 
         Whrend normale Notenbltter von links nach rechts gelesen 
         werden, werden Patterns von oben nach unten gelesen. Die 
         Breite eines Patterns ist von der Anzahl der Stimmen abhngig;
         bei MODEdit zum Beispiel sind sie vier Spalten Breit - fr 
         jede Stimme eine. Jede Zeile enthlt 64 Zeilen, in die 
         Standardmig vier Takte gesetzt werden, jede Zeile enthlt 
         also eine 16tel Note.
         In einer Zeile einer Spalte steht jedoch nicht nur die Note 
         selbst, sondern auch, von welchem Instrument sie gespielt 
         werden soll und eventuell der Effekt. Praktisch sieht das so 
         aus:

         C-3 01 000

         Hier wird auf dem Instrument der Nummer 1 ein C der dritten 
         Oktave ohne jeden Effekt gespielt.

         Wie oben zu sehen, sind die Effekte drei Zeichen lang. Davon 
         ist das erste Zeichen der 'Name' des Effekts und der Rest das
         'Argument', die Parameter sozusagen, blicherweise in 
         hexadezimaler Form.

         Hier ganz kurz die zwei wichtigsten Effekte:

         Speed/Tempo - gibt die Geschwindigkeit an. Bei MODEdit heit 
         dieser Effekt F. Das Argument kann auf zwei Weisen ausgewertet
         werden, je nachdem, wie gro es ist. Ist der Wert des 
         Argumentes kleiner als $20, so gibt es die Lnge einer 16tel 
         Note in 50stel Sekunden an, ist er grer als $1F, so gibt er 
         die Geschwindigkeit in Beats per minute an. Mit letzterem habe 
         ich noch nicht experimentiert, kann dazu also nichts sagen. Ich
         habe bis jetzt hauptschlich die Werte F04 und F06 verwendet. 
         Sehr vielsagend, nicht wahr? Ich rechne mal vor: F06 bedeutet,
         eine 16tel Note ist 6/50 sec lang, eine 4tel also 12/25, ent-
         spricht 25/12 4tel pro sec oder 25*60/12 4tel pro min oder 
         125 4tel pro min, also 125 BPM oder 31 1/4Takte pro Minute.
         Normales Cha-Cha-Cha-Tempo.

         Volume - wirkt wie ein Lautstrkeregler. Bei MODEdit der 
         Effekt C. Die maximale Lautstrke, mit der ein Sample gespielt
         werden kann, ist 64 oder $40. Dementsprechend werden hier nur 
         Werte von $00 bis $40 akzeptiert. Will man nun beispielsweise 
         eine Bassgitarre, die in der Instrumentenliste die Nummer 11 
         trgt, langsam einblenden, she die entsprechende Spalte im 
         Pattern so aus:

         C-2 11 C00     Bassgitarre wird auf C2 angeschlagen, 
                        Lautstrke auf 0
         000 00 C04     ein wenig lauter
         000 00 C08     noch ein wenig lauter
         000 00 C0C
         000 00 C10
         ...
         000 00 C3C     fast ganz laut
         000 00 C40     ganz laut

         Wenn die Bassgitarre nur eine 25tel Sekunde lang erklingen 
         soll, she das so aus:

         F#2 11 F02     Geschwindigkeit auf 2/50 sec pro 16tel Note
                        Tonhhe: Fis
         000 00 C00     Lautstrke auf 0

         Fr den Anfang reichen diese beiden Effekte vollkomen aus.


         Praxis:
         #######

         Als erstes bauen wir uns eine einfache Schlagzeugspur. Unsere
         Instrumentenliste soll so aussehen:

         01 Bassdrum
         02 Snaredrum
         03 Closed Hihat
         04 Bass

         Wir gehen davon aus, da die Bassdrum auf C3, die Snaredrum 
         auf F2 und die Hihat auf G3 am besten klingt (ehrlich gesagt,
         habe ich noch nie eine Hihat gehrt, die so hoch gespielt 
         werden will, aber dies ist ja nur ein Beispiel; die meisten 
         werden auf C3 gespielt).
         Ein gewhnlicher Schlagzeugrhythmus weist auf '1' und '3', 
         dem ersten und dritten Viertel eines Taktes eine Bassdrum-Note,
         auf '2' und '4', also dem zweiten und vierten Viertel eines 
         Taktes eine Snare-Note auf, parallel dazu werden meist achtel 
         auf der Hihat gespielt. (Die Umschreibung 'gewhnlicher Schlag-
         zeugrhythmus' erfat hier nicht nicht den Dancefloor/
         Tekkno-Bereich, doch dazu lasse ich am Ende noch ein paar 
         Takte fallen.) Jetzt fassen wir das ganze mal Noten. Um Hihat 
         und Bass-/Snaredrum gleichzeitig erklingen lassen zu knnen, 
         brauchen wir zwei Spuren. Links davon die durchlaufende 
         Numerierung der 16tel Noten, rechts die Musiker-Zhlweise.

         00   C-3 01 F06   G-3 03 000     Viertel '1'
         01   000 00 000   000 00 000
         02   000 00 000   G-3 03 000
         03   000 00 000   000 00 000
         04   F-2 02 000   G-3 03 000     Viertel '2'
         05   000 00 000   000 00 000
         06   000 00 000   G-3 03 000
         07   000 00 000   000 00 000
         08   C-3 01 000   G-3 03 000     Viertel '3'
         09   000 00 000   000 00 000
         10   000 00 000   G-3 03 000
         11   000 00 000   000 00 000
         12   F-2 02 000   G-3 03 000     Viertel '4'
         13   000 00 000   000 00 000
         14   000 00 000   G-3 03 000
         15   000 00 000   000 00 000

         Dies war der erste Takt, die drei dahinter knnen durchaus 
         genauso aussehen (viele Tracker verfgen ber Blockoperationen,
         mit denen das in Sekundenschnelle erledigt ist). Hchstwahr-
         scheinlich mt ihr die Tonhhen anpassen. Hrt's euch ein 
         paar mal an, verndert die Geschwindigkeit usw. 
         Auf die Dauer ist dies ein sehr eintniger Rhythmus, den man 
         nur verwenden kann, wenn auf den anderen Spuren sehr viele 
         Noten gespielt werden, die das geschickt berdecken. Dann 
         kann es vielleicht sogar ratsam sein, einen derartig regel-
         migen Rhythmus zu verwenden. Doch hier gilt, wie berall 
         beim composen: Probieren geht ber studieren. Zunchst 
         wollen wir denn Rhythmus nur geringfgig modifizieren, denn 
         gleich soll eine einfache Bass-Spur hinzukommen. Dazu setzen
         wir folgendes in die 6., 22., 38. und 54. Zeile der ersten 
         Spalte:

         C-3 01 000

         Um's anschaulicher zu machen: Zwischen die Viertel '2' und '3'
         wird eine Achtelnote auf der Bassdrum gesetzt, wodurch die 
         Viertelnote der Snaredrum davor automatisch zur Achtel wird
         (Ieh gitt, schon wieder Musiktheorie!).

         Genau das, was jetzt entstand, werden wir gleich weiter-
         verwenden, denn die Bass-Spur, die gleich kommt, ist genau 
         darauf abgestimmt. Doch bis dahin haben wir noch jede Menge
         Zeit. Zunchst nutzen wir die Gelegenheit, um ein wenig 
         Gefhl fr das Schlagzeug zu bekommen. Wir knnen den Rhythmus
         beliebig variieren, solange wir zwei Regeln beachten:

         1. auf JEDER '1' und oft auf '3' eine Bassdrum, auf mglichst 
            jeder '2' und '4' eine Snaredrum

         2. es hrt sich gut an

         Die erste Regel ist ntig, um dem Rest des spteren Liedes 
         ein Taktmuster zu bieten, an das der Rest aufgehngt wird. 
         Miachtet man die erste Regel, driftet's in Richtung 
         Experimentelle Musik ab, und daran sollte man sich erst 
         versuchen, wenn man die ersten Schritte schon hinter sich 
         (weit hinter sich) hat.
         Um mal zu zeigen, was mglich ist, hier ein Beispiel, das 
         sich recht gut anhren mte:

         00   C-3 01 F06   G-3 03 000     Viertel '1'
         01   000 00 000   000 00 000
         02   000 00 000   G-3 03 000
         03   000 00 000   000 00 000
         04   F-2 02 000   G-3 03 000     Viertel '2'
         05   000 00 000   000 00 000
         06   000 00 000   G-3 03 000
         07   000 00 000   000 00 000
         08   C-3 01 000   G-3 03 000     Viertel '3'
         09   000 00 000   000 00 000
         10   C-3 01 000   G-3 03 000
         11   000 00 000   000 00 000
         12   F-2 02 000   G-3 03 000     Viertel '4'
         13   000 00 000   000 00 000
         14   000 00 000   G-3 03 000
         15   000 00 000   000 00 000
         16   C-3 01 F06   G-3 03 000     Viertel '1'
         17   000 00 000   000 00 000
         18   000 00 000   G-3 03 000
         19   000 00 000   000 00 000
         20   F-2 02 000   G-3 03 000     Viertel '2'
         21   000 00 000   000 00 000
         22   C-3 01 000   G-3 03 000
         23   000 00 000   000 00 000
         24   000 00 000   G-3 03 000     Viertel '3'
         25   000 00 000   000 00 000
         26   C-3 01 000   G-3 03 000
         27   000 00 000   000 00 000
         28   F-2 02 000   G-3 03 000     Viertel '4'
         29   000 00 000   000 00 000
         30   F-2 02 000   G-3 03 000
         31   F-2 02 000   000 00 000

         Die 16tel Noten der Snaredrum (Na, schon entdeckt?) fhren 
         auf ein Thema hin, das ich erst im nchsten Teil anschneiden 
         werde: Breaks. Nun benutzen wir aber wieder die oben in zwei 
         Schritten erstellten Schlagzeugnoten, um endlich die Bass-Spur
         da dranzuklemmen. Ber Bass kommt in die dritte Spalte. 
         Folgende Noten kommen in folgende Zeilen:

         C-2 : 00, 06, 08, 16, 22, 24
         B-1 : 28, 60
         A-1 : 32, 38, 40, 48, 54, 56

         Ob das nun klingt, hngt unter anderem vom Bass-Sample ab. 
         Experimentiert einfach ein wenig mit den Tonhhen, stellt 
         neue Tonkombinationen zusammen und hrt einmal genau hin, 
         welche Tne hier gleichzeitig erklingen.

         Bevor ich eurer Kreativitt freien Lauf lasse, gebe ich euch 
         noch ein auch recht hufiges Bass-Schema mit: In vielen 
         Liedern hrt man, da auf dem Bass Achtelnoten gespielt werden,
         mehr oder weniger ein Takt lang in einer Tonhhe, um an-
         schlieend die Tonhhe zu wechseln - wieder fr einen Takt. 
         Oder die Tonhhe wird mehrere Takte lang beibehalten. Oder es
         werden Viertel gespielt. Oder... Experimentiert ruhig auch in
         diese Richtung - schaden kann's nicht.
         Und irgendwann kommt dann der groe Moment, in dem ein Lead-
         Instrument, auf dem die Hauptmelodie gespielt wird, geladen 
         wird. Lat aber am Anfang blo die Finger von den E-Gitarren!
         Ich spreche aus Erfahrung - ich habe diesen Fehler auch 
         gemacht!

         So, nun gehe ich - weil ich's oben versprochen habe - noch 
         auf den Dancefloor-Bereich ein.
         Hier ist die Sache mit dem Rhythmus einfach: Man braucht nur 
         eine Bassdrum und eine leicht geffnete Hihat bzw. ein Becken
         fr's zischende Scheppern. Nun werden stumpf Achtel gespielt:

         Instrumenten-Liste:
         01 Bassdrum
         02 zsch
 
         Pattern:
         00 C-3 01 000
         01 000 00 000
         02 G-3 02 000
         03 000 00 000
         04 C-3 01 000
         05 000 00 000
         06 G-3 02 000
         07 000 00 000

         Und das eben acht mal hintereinander. (Einen bissigen Kommentar 
         mu ich mir jetzt echt verkneifen!) Alternativ dazu kann man auf
         den Vierteln '2' und '4' eine Snare sprechen lassen, entweder 
         parallel zur Bassdrum oder man ersetzt diese durch eine Snare,
         die viel Bass hat und so neben dem snaretypischen Sound noch 
         Rumms wie eine Bassdrum hat. Letzteres kann man sich auch mit
         einem Sample-Bearbeitungsproggi selbst erstellen, vorausge-
         setzt, Bassdrum und Snare werden auch einzeln in derselben 
         Tonhhe benutzt.

         Zum Abschlu noch zwei Tips:

         1. Wenn ihr Samples aus anderen MODs rippt, merkt euch die 
            Tonhhen!
         2. Spielt das, was ich oben als ersten Rhythmus eingefhrt 
            habe, mal auf einem echten Schlagzeug, eventuell auch 
            den Rest...

         Viel Spa noch, und verget nicht: Das Motto 'Flachkpper 
         macht Laune' lt sich auch auf's Composen bertragen!

                     Cheers,
                           l'Original du PTPT

         PS. #Papst! Na gut, ich geb's ja zu, ich habe ein wenig 
             gelogen... wurde doch ein bichen lnger... 
             ...kannst Du mir noch einmal verzeihen?

         **> Jajaja, soetwas mgen wir. Im Fernsehn wrde jetzt von 
             berzogener Sendezeit die Rede sein... - Aber Ernst 
             beiseite, eine sehr gute Idee, den MOD-Kurs zu fahren. 
             Was die Lnge der einzelnen Teile betrifft, so kannst 
             Du das machen wie Du willst. Platz findet sich im 
             Platinum immer, ebenso ein interessiertes Publikum. 
             Weiter so!
    
             Fr die Leser: Wer diesen Kurs schwarz auf wei haben 
             mchte, der kann von der Druckoption Gebrauch machen. 
             Man drcke die Taste PRINT in der unteren rechten Ecke
             des Bildschirmes oder benutze die Tastenkombination 
             STRG + P.
                                                        #Papst

     

                          THE ART OF CODING
                  
                           [ Master YODA ]

         J'Role!

         Thanx fr das Listing, meine (hchsteigene, uneffektive,...)
         Version gibt's im nexten PLATINUM (hoffentlich) s.o.

         Zu den PortW-Befehlen:

         Ich hab' leider keine Ahnung von Pascal, nehme aber 'mal an, 
         da PortW [$03C4] := $0402 in ASM so aussieht:

         MOV DX,03C4h
         MOV AX,0204h
         OUT DX,AX

         Das High- und LowByte in AX habe ich vertauscht, da es kein 
         siebtes Register, das mit dem zweiten PortW-Befehl ange-
         sprochen wrde, fr den Sequenzer-Controller gibt (nach 
         meinen Infos).

         Das Port 03C4h ist das Indexregister des Sequenzer-Cotrollers 
         (und Port 03C5 das Datenregister). Er verwaltet u.a. die vier 
         Bit-Planes und den Speicherzugriff der Videokarte.

         Das zweite Register des Controllers verwaltet den Zugriff auf 
         die einzelnen Bit-Planes. PortW [$03C4] := $0402 gibt den 
         Zugriff auf die dritte (bzw. die zweite, wenn man mit der 
         nullten beginnt) Bit-Plane frei.

         Das vierte Register entscheidet ber die RAM-Zugriffsmodi.
         PortW [$03C4] := $0704 schaltet den lineare Zugriff auf die 
         Bit-Plane und den Chain4-Modus ein.

         Port 03CEh ist das Indexregister des Grafik-Controllers 
         (03CF das Datenregister). Dieser Controller entscheidet u.a. 
         ber die Art des Zugriffs auf den Video-RAM.

         PortW [$03CE] := $0204 bedeutet, da im Read-Modus 0 auf die 
         dritte (zweite) Bit-Plane zugegriffen wird. (Das ist im 
         Chain4-Modus aber ohne Bedeutung, das Proggi drfte also 
         auch ohne diesen Befehl laufen, probier's 'mal aus.)

         PortW [$03CE] := $0005 schaltet den Write-Modus 0 und den 
         Read-Modus 0 ein.

         Mit PortW [$03CE] := $0006 wird der Video-RAM ab A000h benutzt.

         Die folgenden PortW-Befehle machen das alles wieder 
         ungeschehen...

         Jetzt hab' ich mich gefragt, was das Ganze nun eigentlich 
         soll, aus dem Pascal-Code kann ich leider nicht viel ent-
         nehmen. Es sieht aber aus, als ob irgendwelche Daten in die 
         dritte Bit-Plane geschoben werden, soll wohl ein Puffer sein.
         Entweder wird dort, der in eine Bitmap (Grafik) um gerechnete
         Font (der wohl aus dem ROM gezogen wird), gespeichert, oder
         die schon umgerechnete (Font in Bitmap) Message?!?! Warum 
         wird nun die Bit-Plane als Puffer benutzt, und nicht der 
         normale RAM? Tja, entweder  wollte der Coder konv. RAM 
         sparen, oder das Kopieren von einer Bit-Plane in eine 
         Bit-Plane geht schneller (direktes Ein- und Auslesen ber 
         die Latch-Register), als das Kopieren vom RAM in die Bit-
         Planes, keine Ahnung.
         Wie gesagt, ich hab' mich bis jetzt wenig mit der Grafik-
         programmierung beschftigt... alles nur Vermutungen! 
         Vielleicht wird ja doch irgendetwas klarer.

         So long, der unwissende Master YODA

     
 
                         Part VII des ASM-Kurses
                  
                             [ Master YODA ]

         Der Part VII des ASM-Kurses erscheint erst im nexten 
         PLATINUM, da sich mein Monitor in die ewigen Bitgrnde 
         verabschiedet hat, ein neuer macht sich erst seit drei 
         Tagen auf meinen Schreibtisch breit. Jetzt mu ich
         erst 'mal an meine Contax denken, SORRY.

         Nix fr ungut, Master YODA.

         PS: Macht 'mal ein paar Vorschlge fr neue Proggis!

     
