do Zielonego wyslalem, ale do Ciebie  Świety e-maila nie mam, podaj go to tez wysle pseudo player do synthow
;-------------------
;- Synth Player v1.0
;- 20.02.2004
;-------------------
   opt h+
   org $b000
tmp     equ $00
tempo           equ 6           ; tempo, ilosc pelnych przebiegow length_Loop
length_Loop     equ 255         ; dlugosc petli playera, ile ma odegrac wartosci z sampla
audc1           equ $d201       ;rejestry Pokeya
audc2           equ $d203
audc3           equ $d205
audc4           equ $d207
;------------------------------------
;- PROCEDURKA PLAYER-a DLA 4 KANALOW
;------------------------------------
player equ *
;- kanal #1
        clc
delay0  lda #0
delay0m adc #0
        sta delay0+1
   
        lda adres0+1
        adc #0
        sta adres0+1
        
adres0  ldx $ffff       ; adres 1-ego sampla
volume0 lda $ff00,x     ; adres tablicy glosnosci dla 1-ego sampla
ch0     sta audc1
;- kanal #2
        clc
delay1  lda #0
delay1m adc #0
        sta delay1+1
        
        lda adres1+1
        adc #0
        sta adres1+1
adres1  ldx $ffff       ; adres 2-ego sampla
volume1 lda $ff00,x     ; adres tablicy glosnosci dla 2-ego sampla
ch1     sta audc2
;- kanal #3
        clc
delay2  lda #0
delay2m adc #0
        sta delay2+1
        
        lda adres2+1
        adc #0
        sta adres2+1
adres2  ldx $ffff       ; adres 3-ego sampla
volume2 lda $ff00,x     ; adres tablicy glosnosci dla 3-ego sampla
ch2     sta audc3
;- kanal #4
        clc
delay3  lda #0
delay3m adc #0
        sta delay3+1
        
        lda adres3+1
        adc #0
        sta adres3+1
adres3  ldx $ffff       ; adres 4-ego sampla
volume3 lda $ff00,x     ; adres tablicy glosnosci dla 4-ego sampla
ch3     sta audc4
        dey
        beq test
        jmp player
*-----------------
test    ldy #length_Loop
        dec tmp       ; tempo wyrazone w liczbie powtorzen petli playera
        beq HEAD
        jmp player
;-----------------------------------
;- dekodowanie patternu
;- ustawienie nowych czestotliwosci
;- glosnosci itp.
;-----------------------------------
HEAD
        inc timer+1     ; licznik na potrzeby testow, ustawia po kolei 32 glosnosci i 32 czestotliwosci
timer   lda #0
        and #$1f
        tay
        
        tax
;        ldx #0          ; numer sampla i czestotliwosc
* track 0
        lda Adr_Volume,y
        sta volume0+2
        lda frq,x
        sta delay0m+1
        lda #0
        sta delay0+1
        
        lda Adr_Instr,x
        sta adres0+2
        lda #0          ; mlodszy adres sampla =0
        sta adres0+1
        
* track 1
        lda Adr_Volume,y
        sta volume1+2
        lda frq,x
        sta delay1m+1
        lda #0
        sta delay1+1
        lda Adr_Instr,x
        sta adres1+2
        lda #0
        sta adres1+1
* track 2
        lda Adr_Volume,y
        sta volume2+2
        lda frq,x
        sta delay2m+1
        lda #0
        sta delay2+1
        lda Adr_Instr,x
        sta adres2+2
        lda #0
        sta adres2+1
* track 3
        lda Adr_Volume,y
        sta volume3+2
        lda frq,x
        sta delay3m+1
        lda #0
        sta delay3+1
        lda Adr_Instr,x
        sta adres3+2
        lda #0
        sta adres3+1
* let's go
        lda #tempo
        sta tmp
        
        ldy #length_Loop
        jmp player
*----
*- tutaj startuje program po wczytaniu do pamieci
*----
main
        lda 20
        cmp 20
        beq *-2
        sei             ;wylaczenie ROM-u i wszystkich przerwan
        lda #0
        sta $d40e
        sta $d400
        lda #$fe
        sta $d301
        
        lda #0          ;zerujemy POKEY
        sta $d208
        lda #3
        sta $d20f
        ldx #33        
        ldy #0          ;ustawiamy 4-bit w tablicach glosnosci dla Pokeya
cnv0    lda volume,y    ;w przypadku Covoxa, nie musielibysmy tego robic
        ora #%00010000
cnv1    sta volume,y
        iny
        bne cnv0
        inc cnv0+2
        inc cnv1+2
        dex
        bne cnv0
        
        jmp timer       ;startujemy od zera (timer=0)
   
   
*----
*- tablice na 4-ej stronie
*----
        org $0400
        
*----
*- instrumenty, czyli 256-bajtowe sample (32)
*----
Sampl00                 ; fala prostokatna
 :128 dta b($0f)
 :128 dta b($00)
Sampl01                 ; fala trojkatna
 :8 dta b(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0)
;- adresy instrumentow
Adr_Instr
 :32 dta h(Sampl01)
*----
*- tablice z opuznieniami dla kazdej z czestotliwosci (nuty)
*----
;- oryginalna z INERTI (2 bajtowe wartosci L, H)
; dta l(50),l(53),l(57),l(60),l(63)
; dta l(67),l(71),l(76),l(80)
; dta l(85),l(90),l(95),l(101)
; dta l(107),l(113),l(120),l(127)
; dta l(135),l(143),l(151),l(160)
; dta l(170),l(180),l(190),l(202)
; dta l(214),l(227),l(240),l(254)
; dta l(270),l(286),l(302),l(320)
; dta l(339),l(360),l(381),l(404)
; dta l(428),l(453),l(480),l(508)
; dta l(539),l(571),l(605),l(641)
; dta l(679),l(719),l(762)
*- i dla obecnego playera, wziete z kosmosu :), trzeba je dobrac porzadniej
*- 48 wartosci
frq
 dta l(050,053,056,059,062,065,068,071,074,077,080,083)
 dta l(086,089,092,095,098,101,104,107,110,113,116,119)
 dta l(122,125,128,131,134,137,140,143,146,149,152,155)
 dta l(158,161,164,167,107,173,176,179,182,185,188,191)
        
*----
*- tablica ze starszymi adresami glosnosci (33)
*----
Adr_Volume
 dta h(volume,volume+$100,volume+$200,volume+$300,volume+$400,volume+$500,volume+$600,volume+$700)
 dta h(volume+$800,volume+$900,volume+$a00,volume+$b00,volume+$c00,volume+$d00,volume+$e00,volume+$f00)
 dta h(volume+$1000,volume+$1100,volume+$1200,volume+$1300,volume+$1400,volume+$1500,volume+$1600,volume+$1700)
 dta h(volume+$1800,volume+$1900,volume+$1a00,volume+$1b00,volume+$1c00,volume+$1d00,volume+$1e00,volume+$1f00)
 dta h(volume+$2000)
*----
*- 33 tablice z glosnosciami, kazda po 256 bajtow
*- dla Pokeya, trzeba ustawic 4-bit we wszystkich tablicach
*----
        org $1000
volume  ins 'volume.tab'
*---
        run main
						*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C