home *** CD-ROM | disk | FTP | other *** search
/ Energy 2 / Energy_2_1996_Taquart_pl_Side_F_a.atr / pla24d.asm < prev   
Assembly Source File  |  2023-02-26  |  8KB  |  3 lines

  1. *-------------------*¢*  Player: MPT 2.4  *¢* wersja najkrotsza *¢*    z mozliwych    *¢*  Jaskier/Taquart  *¢*-------------------*¢¢ opt 6¢ org $4000¢¢*--- strona 0¢¢maxvol equ $87 0-cisza 15-max.¢stereo equ $8b 0 -normalny POKEY¢*              128-255 -dodatkowy¢*              1-127 -obydwa¢¢addr equ $8f Addr i word musza byc na¢word equ $91 na stronie 0.Reszta nie.¢¢a equ $93      Zmiana tej etykiety¢adrtrl equ a    zmienia polozenie¢adrtrh equ a+4 tych 10-ciu komorek.¢maxptr equ a+8¢tempo  equ a+9¢¢b equ $9d      A zmiana tej nastepnych¢branch equ b      99-ciu komorek.¢volume equ b+4  Wszystkie one moga byc¢adcvol equ b+8  gdziekolwiek ale zgru-¢freq   equ b+12 powane w jednym bloku.¢frqwsk equ b+16¢adcdzw equ b+20¢poddzw equ b+24¢adrinl equ b+28¢adrinh equ b+32¢numdzw equ b+36¢numptr equ b+40¢ptrwsk equ b+44¢ilespc equ b+48¢licspc equ b+52¢p1lsb  equ b+56¢p1lic  equ b+60¢p1pom  equ b+64¢p2lic  equ b+68¢p3max  equ b+72¢p3lic  equ b+76¢trnlic equ b+80¢audzer equ b+84¢licslp equ b+88¢¢zegar  equ b+92¢pozsng equ b+93¢pozptr equ b+94¢oraaud equ b+95¢licz   equ b+96¢przech equ b+97¢licptr equ b+98¢¢*--- program¢¢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 #3¢ sta $d20f¢¢ lda volume¢ tax¢ and #$f0¢ sta addr¢ txa¢ and #15¢ asl @¢ asl @¢ asl @¢ asl @¢ ora maxvol¢ tax¢ lda voltab,x¢ ora addr¢ ldx freq¢ ldy stereo¢ bmi w2¢ stx $d200¢ sta $d201¢w2 beq w3¢ stx $d210¢ sta $d211¢w3 lda volume+1¢ tax¢ and #$f0¢ sta addr¢ txa¢ and #15¢ asl @¢ asl @¢ asl @¢ asl @¢ ora maxvol+1¢ tax¢ lda voltab,x¢ ora addr¢ ldx freq+1¢ ldy stereo+1¢ bmi w4¢ stx $d202¢ sta $d203¢w4 beq w5¢ stx $d212¢ sta $d213¢w5 lda volume+2¢ tax¢ and #$f0¢ sta addr¢ txa¢ and #15¢ asl @¢ asl @¢ asl @¢ asl @¢ ora maxvol+2¢ tax¢ lda voltab,x¢ ora addr¢ ldx freq+2¢ ldy stereo+2¢ bmi w6¢ stx $d204¢ sta $d205¢w6 beq w7¢ stx $d214¢ sta $d215¢w7 lda volume+3¢ tax¢ and #$f0¢ sta addr¢ txa¢ and #15¢ asl @¢ asl @¢ asl @¢ asl @¢ ora maxvol+3¢ tax¢ lda voltab,x¢ ora addr¢ ldx freq+3¢ ldy stereo+3¢ bmi w8¢ stx $d206¢ sta $d207¢w8 beq w9¢ stx $d216¢ sta $d217¢w9 lda audzer¢ ora audzer+1¢ ora audzer+2¢ ora audzer+3¢ ora oraaud¢ sta $d208¢ 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¢czygrc dta b(0)¢ 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¢¢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''¢¢voltab 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' !"#$%&''()*+,-./'¢¢*--- inicjacja¢¢init 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 <licptr-branch¢i9 sta branch,x¢ dex¢ bpl i9¢ ldx #8¢k9 sta $d200,x¢ dex¢ bpl k9¢ rts¢¢ end¢