          Co dla programistw Nie na wiele si przydaje programmuzyczny, jeli muzyka na nim napisana,nie moe zosta wykorzystana w grach,demach, programach. Na szczcie nadysku z MPt znajduje si program CMP.COMktry umoliwia skompilowanie playeramuzycznego w dowolne miejsce pamici(jak ju wiemy dane muzyczne mog bywczytywane z DOS'a). W kompilatorze znajduj si a trzyplayery. Pierwszy z nich umoliwiaodgrywanie wszystkich muzyczek, ktrenie wykorzystuj dwch kanaw digi.Dopuszczalny jest natomiast jeden kanadigi. Drugi z tych playerw odgrywamuzyk cztero-kanaow bez uyciafiltrw, rejestrw 16-sto bitowych ikanaw digi. Trzeci player gra tylkomuzyk z uyciem dwch kanaw digi.Pora na opis, jak uywa tych playerwwe wasnych programach. Pierwszy z nichjest najbardziej skomplikowany, gdyjest przystosowany gwnie do uycia wgrach. Dla objanienia zaoymy, eplayer zaczyna si od odresu $2000 (wasemblerze moemy uy etykiety PLAYER,dla atwiejszej pracy). Wszystkieplayery wywoujemy na przerwaniu VBLrozkazem procesora "JSR $2003" lub dlaasemblera "JSR PLAYER+3", ale zanim tozrobimy to do rejestrw A,X oraz Ymusimy wpisa odpowiednie parametrysterujce prac playera, a parametry snastpujce:- pierwszy player rozpoznaje 8 rozkazw (0-7),(numer rozkazu jest we wszystkich playerach przekazywany w A), kolejno s to:  0 - w rejestrach Y-modszy i X-starszy      bajt adresu danych muzycznych.          LDA #$00          LDY <MUZYKA          LDX >MUZYKA          JSR PLAYER  1 - rozkaz odegrania przez player      instrumentu, ktrego numer      znajduje si w bitach 4-0 rejestru      X, w bitach 7-6 r.X znajduje si      numer kanau, na ktrym ma zosta      odegrany ten instrument, a w r.Y      jest numer nuty instrumentu      przypomn, e C-1 to $00, C#1-$01.          LDA #$01          LDY #NR.NUTY          LDX #NR.INSTR+(NR.KANA{U*$40)          JSR PLAYER  2 - rozkaz wyczenia myzyki, bez      adnych parametrw, player wyczy      muzyk z wyciszeniem generatorw      d`wiku.          LDA #$02          JSR PLAYER  3 - zagraj patern, o numerze      znajdujcym si w bitach 5-0 r.X,      i znowu w bitach 7-6 r.X numer      kanau na ktrym zostanie odegrany      patern, w r.Y znajduje si      transpozycja paternu.          LDA #$03          LDY #TRANSPOZYCJA          LDX #NR.PAT+(NR.KANA{U*$40)          JSR PLAYER  4 - zagraj muzyk, w r.X znajduje si      numer pozycji w ET od, ktrej ma      zacz odgrywanie player, a w      r.Y bity 3-0 okrelaj, czy ktry      z kanaw ma by wyczony,      warto 00 oznacza, e wszystkie      kanay bd gra, ustawienie bitu      0 wyczy kana 3, ustawienie bitu      1 wyczy kana 2, ustawienie bitu      2 wyczy kana 1, ustawienie bitu      3 wyczy kana 0.          LDA #$04          LDY #%0000          LDX #NR.POZYCJI          JSR PLAYER  5 - w rejestrach Y-modszy, w      X-starszy bajt adresu tablicy w      ktrej znajduj si adresy sampli      do odegrania w trybie z jednym      kanaem digi.          LDA #$05          LDY <TABLICA.SAMPLI          LDX >TABLICA.SAMPLI          JSR PLAYER  6 - odegraj muzyk digitalizowan.      Jedynym parametrem jaki      przekazujemy w X jest bit 0,      ustawiony wczy odtwarzanie 15kHz      a skasowany - 8kHz.          LDA #$06          LDX #CZY.15kHz          JSR PLAYER      przerwanie odgrywania nastpi po      wpisaniu zera do komrki odlegej      od pocztku playera o $62D.          LDA #$0          STA PLAYER+$62D  7 - odtworzy jednego sampla, ktrego      numer znajduje si w r.Y (0-$F),      a w r.X bit 0-15kHz, bity 7-6      numer kanau.          LDA #$07          LDY #NR.SAMPLA          LDX #CZY.15kHz+(NR.KAN*$40)          JSR PLAYERNa koniec par uwag - player nierozpoznaje kodu FE (stop muzyka),parametrw sterujcych instumentem6 oraz 7.Dodatkowo mona odczyta aktualngono na danych kanaach. Odczytanwarto naley jeszcze "obrobi":player+$5AF - volume kan.0player+$5B0 - volume kan.1player+$5B1 - volume kan.2player+$5B2 - volume kan.3          LDA PLAYER+$5AF          AND #$0FKomrki z czstoci wpisywan doPOKEY'a:player+$5B3 - frequency kan.0player+$5B4 - frequency kan.1player+$5B5 - frequency kan.2player+$5B6 - frequency kan.3Troch problemw moe stwarza odegraniemuzyki z jednym kanaem digi.Naley to zrobi nastpujco:          LDA #0          ......Dane          LDA #4          ......Dane          LDA #5          ......Dane          ........Instalujemy przerwanie          ........VBLANK, w ktrym          ........wywoujemy playera.          LDA #6          ......DaneProgram gra sample  | przerwanie                    |                    | JSR PLAYER+3                    | ........                    | LDA #0                    | STA PLAYER+$62D          ........Dezaktywujemy          ........przerwanie VBLANK.          LDA #2----------------------------------------  Drugi player suy do odgrywaniamuzyki gwnie w intrach, demach lubczowkach do gier. Istniej tylko dwakody playera          LDA #$00          JSR PLAYERzainicjuje playera i przygotuje doodtwarzania, a          LDA #$01          JSR PLAYERzatrzyma odtwarzanie i wyciszygeneratory.----------------------------------------  Trzeci player suy tylko doodgrywania dwch kanaw digi (ioczywicie dwch kanaw "zwykych")          LDA #$00          JSR PLAYER ... zainicjuje playera          LDA #$01          JSR PLAYER ... rozpocznie odgrywanie kanaw digii przerwie po wciniciu klawisza SHIFT          LDA #$02          JSR PLAYER ... wyczy generatory d`wiku iprzerwie odgrywanie muzyki.