home *** CD-ROM | disk | FTP | other *** search
/ Syzygy Magazine 7 / Syzygy_Magazine_7_1999___pl_Disk_2_of_2_Side_B.atr / r3s.arc / MPTR3S.ASM next >
Assembly Source File  |  1999-09-10  |  8KB  |  3 lines

  1. * MPT Player coded by Jaskier/Tqa¢* 4 channels - spatial stereo system¢* by Jurgi & Charlie /Tristesse!¢* (R) R3S (Real Spatial Stereo System)¢¢* You just have to declare the adress¢* of a music, just like that:¢¢* music  equ $8000¢¢* Then initialize the player using¢* this instruction:¢¢* jsr init¢¢* After that, you can simply play¢* the music (once in every frame)¢* with instruction:¢¢* jsr play¢¢* Of course, you can stop by:¢¢* jsr stop¢¢* sptvol is a constans regarding¢* the volume of the echo...¢¢sptvol equ 9¢¢*--- strona 0¢¢czygrc equ $80¢mvolum equ $82¢addr   equ $84¢word   equ $86¢licslp equ $88¢¢*--- program¢¢voltab equ *¢ dta d'                '¢ dta d'        !!!!!!!!'¢ dta d'    !!!!!!!!""""'¢ dta d'   !!!!!"""""###'¢ dta d'  !!!!""""####$$'¢ dta d'  !!!"""###$$$%%'¢ dta d'  !!"""##$$$%%&&'¢ dta d'  !!""##$$%%&&'''''¢ dta d' !!""##$$%%&&''''('¢ dta d' !!""#$$%%&''''(()'¢ dta d' !!"##$%%&''''())*'¢ dta d' !!"#$$%&''''()**+'¢ dta d' !""#$%&&''()**+,'¢ dta d' !"##$%&''()**+,-'¢ dta d' !"#$%&''''()*+,-.'¢ dta d' !"#$%&''()*+,-./'¢¢play lda czygrc¢ bne *+3¢ rts¢ ldx #0¢ stx oraaud¢ inc licz¢ lda pozptr¢ cmp maxptr¢ bcc r1¢ dec zegar¢ beq p1¢ jmp r5¢p1 stx pozptr¢p2 lda #0¢ sta ptrwsk,x¢ sta licspc,x¢ lda adrtrl,x¢ sta addr¢ lda adrtrh,x¢ sta addr+1¢ ldy pozsng¢p3 lda (addr),y¢ iny¢ cmp #$ff¢ beq p5¢ cmp #$fe¢ bne p6¢p4 jmp stop¢p5 lda (addr),y¢ bmi p4¢ asl @¢ tay¢ sty pozsng¢ jmp p3¢p6 sta numptr,x¢ lda (addr),y¢ sta poddzw,x¢p7 inx¢ cpx #4¢ bne p2¢ iny¢ sty pozsng¢ jmp r5¢r1 dec zegar¢ bpl r5¢ lda tempo¢ sta zegar¢ ldx #3¢r2 dec licspc,x¢ bpl r4¢ lda numptr,x¢ asl @¢ tay¢aptrlz lda $ffff,y¢ sta addr¢ iny¢aptrhz lda $ffff,y¢ sta addr+1¢ ora addr¢ beq r4¢ lda ptrwsk,x¢ sta licptr¢ jsr newdzw¢ ldy licptr¢ iny¢ tya¢ sta ptrwsk,x¢ lda ilespc,x¢ sta licspc,x¢r4 dex¢ bpl r2¢ inc pozptr¢r5 ldx #3¢r6 jmp dzwiek¢r8 lda audzer,x¢ and filtry,x¢ beq r9¢ ldy #$28¢ lda (addr),y¢ clc¢ adc numdzw,x¢ jsr czest¢ sec¢ adc p1pom,x¢ sta freq+2,x¢r9 dex¢ bpl r6¢¢ lda audzer+1¢ and #$10¢ beq w1¢ ldy numdzw+1¢ lda bsfrql,y¢ sta freq¢ lda bsfrqh,y¢ sta freq+1¢¢w1 lda mvolum¢   asl @¢   asl @¢   asl @¢   asl @¢   sta volh¢   ldx #3¢w2 lda volume,x¢   and #$f¢   ora volh¢   tay¢   lda volume,x¢   and #$f0¢   ora voltab,y¢   sta volume,x¢   dex¢   bpl w2¢¢     ldx #7¢_buf lda bufor1,x¢     sta bufor2,x¢     dex¢     bpl _buf¢¢ ldx #3¢ stx $d21f¢ stx $d20f¢¢ ldx bufor2¢ ldy freq¢ stx $d210¢ sty $d200¢ sty bufor1¢¢ ldx bufor2+1¢ ldy volume¢ stx $d211¢ sty $d201¢ jsr chnvol¢ sty bufor1+1¢¢ ldx bufor2+2¢ ldy freq+1¢ stx $d212¢ sty $d202¢ sty bufor1+2¢¢ ldx bufor2+3¢ ldy volume+1¢ stx $d213¢ sty $d203¢ jsr chnvol¢ sty bufor1+3¢¢ ldx bufor2+4¢ ldy freq+2¢ stx $d204¢ sty $d214¢ sty bufor1+4¢¢ ldx bufor2+5¢ ldy volume+2¢ stx $d205¢ sty $d215¢ jsr chnvol¢ sty bufor1+5¢¢ ldx bufor2+6¢ ldy freq+3¢ stx $d206¢ sty $d216¢ sty bufor1+6¢¢ ldx bufor2+7¢ ldy volume+3¢ stx $d207¢ sty $d217¢ jsr chnvol¢ sty bufor1+7¢¢ lda audzer¢ ora audzer+1¢ ora audzer+2¢ ora audzer+3¢ ora oraaud¢ sta $d208¢ sta $d218¢ rts¢¢chnvol equ *¢ tya¢ and #$f0¢ sta _ora+1¢ tya¢ asl @¢ asl @¢ asl @¢ asl @¢ ora #sptvol¢ tay¢ lda voltab,y¢_ora ora #$ff¢ tay¢ rts¢¢dzwiek lda adrinl,x¢ sta addr¢ lda adrinh,x¢ sta addr+1¢ ora addr¢ bne d0¢ sta volume,x¢ sta audzer,x¢ jmp r9¢d0 ldy licslp,x¢ cpy #$20¢ beq d3¢ lda (addr),y¢ sec¢ sbc adcvol,x¢ bit sprvol¢ beq d1¢ and #$f0¢d1 sta volume,x¢ iny¢ lda (addr),y¢ sta przech¢ iny¢ sty licslp,x¢ and #7¢ beq d4¢ tay¢ lda akcadl-1,y¢ sta akjmpz+1¢ lda akcadh-1,y¢ sta akjmpz+2¢ lda przech¢ lsr @¢ lsr @¢ lsr @¢ lsr @¢ lsr @¢ ora #$28¢ tay¢ lda #0¢ sta audzer,x¢ lda (addr),y¢ clc¢akjmpz jsr $ffff¢ jmp r9¢d3 lda p3max,x¢ beq d4¢ dec p3lic,x¢ bne d4¢ sta p3lic,x¢ lda volume,x¢ and #15¢ beq d4¢ dec volume,x¢d4 ldy #$23¢ lda (addr),y¢ sta audzer,x¢ lda trnlic,x¢ clc¢ adc #$25¢ tay¢ and #3¢ sta trnlic,x¢ dey¢ lda (addr),y¢ adc adcdzw,x¢ sta numdzw,x¢ jsr czest+2¢ sta freq,x¢ lda p2lic,x¢ beq d5¢ dec p2lic,x¢ jmp r8¢d5 lda branch,x¢ sta p1jmpz+1¢p1jmpz bpl *¢ jmp typ0dz¢ brk¢ jmp typ1dz¢ brk¢ jmp typ2dz¢ brk¢ jmp typ3dz¢ brk¢ jmp typ4dz¢ brk¢ jmp typ5dz¢ brk¢ jmp typ6dz¢sprvol dta b($10)¢ jmp typ7dz¢¢newdzw lda #0¢ sta adcvol,x¢ ldy licptr¢ dey¢new iny¢ lda (addr),y¢ cmp #$fe¢ bne q0¢ sty licptr¢ rts¢q0 cmp #$e0¢ bcc q1¢ lda maxptr¢ sta pozptr¢ bne new¢q1 cmp #$d0¢ bcc q2¢ and #15¢ sta tempo¢ sta zegar¢ bpl new¢q2 cmp #$c0¢ bcc q3¢ and #15¢ eor #15¢ sta adcvol,x¢ bpl new¢q3 cmp #$80¢ bcc q4¢ and #$3f¢ sta ilespc,x¢ bpl new¢q4 cmp #$40¢ bcc q5¢ iny¢ sty licptr¢ and #$1f¢ asl @¢ tay¢ainslz lda $ffff,y¢ sta adrinl,x¢ iny¢ainshz lda $ffff,y¢ sta adrinh,x¢ jmp newdzw¢¢q5 sty licptr¢ sta przech¢ clc¢ adc poddzw,x¢ sta adcdzw,x¢ lda adrinl,x¢ sta word¢ lda adrinh,x¢ sta word+1¢ ora word¢ beq typ0dz-1¢ ldy #$20¢ lda (word),y¢ and #15¢ sta p1lsb,x¢ lda (word),y¢ and #$70¢ lsr @¢ lsr @¢ sta branch,x¢ iny¢ lda (word),y¢ asl @¢ asl @¢ pha¢ and #$3f¢ sta p2lic,x¢ pla¢ and #$c0¢ sta frqwsk,x¢ iny¢ lda (word),y¢ sta p3max,x¢ sta p3lic,x¢ lda #0¢ sta licslp,x¢ sta trnlic,x¢ sta p1lic,x¢ sta p1pom,x¢ lda adcdzw,x¢ sta numdzw,x¢ jsr czest¢ sta freq,x¢ rts¢¢typ0dz lda licz¢ and #7¢ lsr @¢ lsr @¢ bcc t2¢ bne typ1dz¢ lda p1lsb,x¢t1 clc¢ sta p1pom,x¢ adc freq,x¢ sta freq,x¢ jmp r8¢t2 lda #0¢ sta p1pom,x¢ jmp r8¢typ1dz lda freq,x¢ sec¢ sbc p1lsb,x¢ sta freq,x¢ sec¢ lda #0¢ sbc p1lsb,x¢ sta p1pom,x¢ jmp r8¢typ2dz lda p1lic,x¢ clc¢ sta p1pom,x¢ adc freq,x¢t3 sta freq,x¢ clc¢ lda p1lic,x¢ adc p1lsb,x¢ sta p1lic,x¢ jmp r8¢typ3dz lda numdzw,x¢ sec¢ sbc p1lic,x¢t4 sta numdzw,x¢ jsr czest¢ jmp t3¢typ4dz lda #0¢ sec¢ sbc p1lic,x¢ sta p1pom,x¢ lda freq,x¢ sec¢ sbc p1lic,x¢ jmp t3¢typ5dz lda numdzw,x¢ clc¢ adc p1lic,x¢ jmp t4¢typ6dz jsr t5¢ jmp t1¢typ7dz jsr t5¢ clc¢ adc numdzw,x¢ jsr a3¢ jmp r8¢t5 ldy p1lic,x¢ lda p1lsb,x¢ bmi t6¢ iny¢ iny¢t6 dey¢ tya¢ sta p1lic,x¢ cmp p1lsb,x¢ bne t7¢ lda p1lsb,x¢ eor #$ff¢ sta p1lsb,x¢t7 lda p1lic,x¢ rts¢czest and #$3f¢ ora frqwsk,x¢ tay¢t1frqz lda $ffff,y¢ rts¢¢a0 adc freq,x¢a1 sta freq,x¢ rts¢a2 adc adcdzw,x¢a3 sta numdzw,x¢ jsr czest¢ sta freq,x¢ rts¢a4 sta freq,x¢ lda audora,x¢ bpl a7¢a5 sta freq,x¢ lda #$80¢ bne a7¢a6 sta freq,x¢ lda #1¢a7 ora oraaud¢ sta oraaud¢ rts¢a8 and $d20a¢ sta freq,x¢a9 rts¢¢*--- initiation¢¢init lda #$f¢ sta mvolum¢ lda <music¢ ldx >music¢ sta ainslz+1¢ sta ainshz+1¢ stx ainslz+2¢ stx ainshz+2¢ clc¢ adc #$40¢ sta aptrlz+1¢ sta aptrhz+1¢ bcc i2¢ inx¢i2 stx aptrlz+2¢ stx aptrhz+2¢ clc¢ adc #$80¢ sta t1frqz+1¢ bcc i4¢ inx¢i4 stx t1frqz+2¢ inx¢ sta j4+1¢ stx j4+2¢ ldx #9¢j4 lda $ffff,x¢ sta adrtrl,x¢ dex¢ bpl j4¢ jsr stop¢ lda maxptr¢ sta pozptr¢ lda #1¢ sta czygrc¢ sta zegar¢ dec tempo¢ rts¢¢stop lda #0¢ sta czygrc¢ ldx <volh-adcvol¢i9 sta adcvol,x¢ dex¢ bpl i9¢ ldx #8¢k9 sta $d200,x¢ sta $d210,x¢ dex¢ bpl k9¢ rts¢¢filtry dta b(4),b(2),b(0),b(0)¢akcadl dta l(a1),l(a0),l(a2)¢ dta l(a4),l(a5),l(a6),l(a8)¢akcadh dta h(a1),h(a0),h(a2)¢ dta h(a4),h(a5),h(a6),h(a8)¢audora dta b($40),b(0),b($20),b(0)¢¢bsfrql equ *-1¢ dta b($f2),b($33),b($96)¢ dta b($e2),b($38),b($8c),b(0)¢ dta b($6a),b($e8),b($6a),b($ef)¢ dta b($80),b(8),b($ae),b($46)¢ dta b($e6),b($95),b($41),b($f6)¢ dta b($b0),b($6e),b($30),b($f6)¢ dta b($bb),b($84),b($52),b($22)¢ dta b($f4),b($c8),b($a0),b($7a)¢ dta b($55),b($34),b($14),b($f5)¢ dta b($d8),b($bd),b($a4),b($8d)¢ dta b($77),b($60),b($4e),b($38)¢ dta b($27),b($15),b(6),b($f7)¢ dta b($e8),b($db),b($cf),b($c3)¢ dta b($b8),b($ac),b($a2),b($9a)¢ dta b($90),b($88),b($7f),b($78)¢ dta b($70),b($6a),b($64),b($5e)¢¢bsfrqh equ *-1¢ dta c' ♪♪
  2.  
  3.     ✓✓◆◆◆╱╱'¢ dta c'❎❎❎⇦⇦⇦⇦⇨⇨⇨⇨⇨⇩⇩⇩⇩'¢ dta c'⇩⇩⇩⇧⇧⇧⇧⇧⇧⇧⇧⇧⇧⇧⇧'¢ dta c''¢¢adrtrl org *+4¢adrtrh org *+4¢maxptr org *+1¢tempo  org *+1¢adcvol org *+4¢freq   org *+4¢frqwsk org *+4¢adcdzw org *+4¢poddzw org *+4¢adrinl org *+4¢adrinh org *+4¢numdzw org *+4¢numptr org *+4¢ptrwsk org *+4¢ilespc org *+4¢licspc org *+4¢p1lsb  org *+4¢p1lic  org *+4¢p1pom  org *+4¢p2lic  org *+4¢p3max  org *+4¢p3lic  org *+4¢trnlic org *+4¢audzer org *+4¢volume org *+4¢branch org *+4¢zegar  org *+1¢pozsng org *+1¢pozptr org *+1¢oraaud org *+1¢licz   org *+1¢przech org *+1¢licptr org *+1¢vol    org *+1¢volh   org *+1¢bufor1 org *+8¢bufor2 org *+8¢¢