Caricamento del resto di questo confronto.

Comparing MegaTraxx and ST 2.0 playroutines

Creato Il diff non scade mai
533 rimozioni
840 linee
249 aggiunte
536 linee
****************************
***********************************
****************************
***********************************
*** ___ ***
** **
*** /\/\ | ***
** SoundTracker V2.0 Playroutine **
*** / \EGA |RAXX ***
** **
*** ***
** Coding : The Exterminator **
*** Coding : ***
** **
*** The Exterminator ***
** ļæ½ The Jungle Command **
*** ***
** **
*** DemoTune : ***
***********************************
*** The Psychos ***
***********************************
*** ***
*** For : ***
*** The Jungle Command ***
*** ***
*** ļæ½ The Jungle Command ***
*** ***
****************************
****************************


*For DemoTune : Load the file 'DemoSounds' to $50000
* (Use the 'ri'-command)


mt_speed=$5b

mt_speed=$1f4


bsr mt_init
bsr mt_init
move.w #$4000,$dff09a
move.w #$4000,$dff09a
move.l $00006c,mt_oldirq
move.l $00006c,mt_oldirq
move.l #mt_newirq,$00006c
move.l #mt_newirq,$00006c
move.w #$c000,$dff09a
move.w #$c000,$dff09a


mt_wait:
mt_wait:
btst #6,$bfe001
btst #6,$bfe001
bne.s mt_wait
bne.s mt_wait


move.w #$000f,$dff096
move.w #$000f,$dff096
move.w #$4000,$dff09a
move.w #$4000,$dff09a
move.l mt_oldirq,$00006c
move.l mt_oldirq,$00006c
move.w #$c000,$dff09a
move.w #$c000,$dff09a
clr.l d0
clr.l d0
rts
rts


mt_init:
mt_init:
move.l #$50000,mt_sample1
move.l #$00000,mt_sample1
move.l #$51430,mt_sample2
move.l #$00000,mt_sample2
move.l #$52120,mt_sample3
move.l #$00000,mt_sample3
move.l #$525a0,mt_sample4
move.l #$00000,mt_sample4
move.l #$53550,mt_sample5
move.l #$00000,mt_sample5
move.l #$53960,mt_sample6
move.l #$00000,mt_sample6
move.l #$56b60,mt_sample7
move.l #$00000,mt_sample7
move.l #$57ed0,mt_sample8
move.l #$00000,mt_sample8
move.l #$59260,mt_sample9
move.l #$00000,mt_sample9
move.l #$5c7b0,mt_sample10
move.l #$00000,mt_sample10
move.l #$00000,mt_sample11
move.l #$00000,mt_sample11
move.l #$00000,mt_sample12
move.l #$00000,mt_sample12
move.l #$00000,mt_sample13
move.l #$00000,mt_sample13
move.l #$00000,mt_sample14
move.l #$00000,mt_sample14
move.l #$00000,mt_sample15
move.l #$00000,mt_sample15


move.l #mt_sample1,a0
move.l #mt_sample1,a0
clr.l d0
clr.l d0
mt_clear:
mt_clear:
move.l (a0,d0),a1
move.l (a0,d0),a1
clr.l (a1)
clr.l (a1)
addq #4,d0
addq #4,d0
cmp.l #$3c,d0
cmp.l #$3c,d0
bne.s mt_clear
bne.s mt_clear


move.w #0,$dff0a8
move.w #0,$dff0a8
move.w #0,$dff0b8
move.w #0,$dff0b8
move.w #0,$dff0c8
move.w #0,$dff0c8
move.w #0,$dff0d8
move.w #0,$dff0d8
eor.w #$c000,mt_voice0+12
clr.l mt_partnrplay
clr.l mt_partnrplay
clr.l mt_partnote
clr.l mt_partnote
clr.l mt_partpoint
clr.l mt_partpoint


move.b mt_partinfo,mt_maxpart+1
move.b mt_sampleinfo+$1d6,mt_maxpart+1
move.b mt_partinfo+1,mt_kn1+1
move.b mt_sampleinfo+$1d7,mt_kn1+1
rts
rts




mt_newirq:
mt_newirq:
movem.l d0-d7/a0-a6,-(a7)
movem.l d0-d7/a0-a6,-(a7)
bsr mt_music
bsr mt_music
movem.l (a7)+,d0-d7/a0-a6
movem.l (a7)+,d0-d7/a0-a6


dc.w $4ef9
dc.w $4ef9
mt_oldirq:
mt_oldirq:
dc.l 0
dc.l 0




mt_music:
mt_music:
lea mt_vibes,a6
cmp.w #$0c39,(a6)
bne.s mt_novibessave
move.l a6,d0
move.l d0,mt_modsave
mt_novibessave:
movem.l d0-d7/a0-a6,-(a7)
addq.l #1,mt_counter
addq.l #1,mt_counter
cmp.l #6,mt_counter
cmp.l #6,mt_counter
bne.s mt_notsix
bne.s mt_notsix
clr.l mt_counter
clr.l mt_counter
bra.L mt_rout2
bra.L mt_rout2


mt_notsix:
mt_notsix:
lea mt_aud1temp,a6
lea mt_aud1temp,a6
move.l #$dff0a6,a5
move.b (a6),d7
lsr.b #4,d7
tst.b d7
beq.s mt_arpg1
jsr mt_portrout
bra.s mt_arp1
mt_arpg1:
tst.b 3(a6)
tst.b 3(a6)
beq.s mt_arp1
beq.s mt_arp1
bsr mt_arprout
move.l #$dff0a0,a5
bsr.s mt_arprout

mt_arp1:
mt_arp1:
lea mt_aud2temp,a6
lea mt_aud2temp,a6
move.l #$dff0b6,a5
move.b (a6),d7
lsr.b #4,d7
tst.b d7
beq.s mt_arpg2
jsr mt_portrout
bra.s mt_arp2
mt_arpg2:
tst.b 3(a6)
tst.b 3(a6)
beq.s mt_arp2
beq.s mt_arp2
bsr mt_arprout
move.l #$dff0b0,a5
bsr.s mt_arprout

mt_arp2:
mt_arp2:
lea mt_aud3temp,a6
lea mt_aud3temp,a6
move.l #$dff0c6,a5
move.b (a6),d7
lsr.b #4,d7
tst.b d7
beq.s mt_arpg3
jsr mt_portrout
bra.s mt_arp3
mt_arpg3:
tst.b 3(a6)
tst.b 3(a6)
beq.s mt_arp3
beq.s mt_arp3
bsr mt_arprout
move.l #$dff0c0,a5
bsr.s mt_arprout

mt_arp3:
mt_arp3:
lea mt_aud4temp,a6
lea mt_aud4temp,a6
move.l #$dff0d6,a5
move.b (a6),d7
lsr.b #4,d7
tst.b d7
beq.s mt_arpg4
jsr mt_portrout
bra.s mt_arp4
mt_arpg4:
tst.b 3(a6)
tst.b 3(a6)
beq.s mt_arp4
beq.s mt_arp4
bsr mt_arprout
move.l #$dff0d0,a5
bsr.s mt_arprout
mt_arp4:
mt_arp4:
bra.L mt_stop
bra.L mt_stop


mt_portrout:

clr.w d6
mt_arprout:
move.b 3(a6),d6
tst.w 24(a6)
cmp.b #2,d7
beq.s mt_noslide
beq.s mt_portup

add.w d6,22(a6)
clr.w d0
bra.s mt_write
move.b 25(a6),d0
lsr.b #4,d0
tst.b d0
beq.s mt_voldwn2
bsr.L mt_pushvol1
bra.s mt_noslide

mt_voldwn2:
clr.w d0
move.b 25(a6),d0
bsr.L mt_pushvol2

mt_noslide:
move.b 2(a6),d0
and.b #$0f,d0
tst.b d0
beq.L mt_arpegrt
cmp.b #3,d0
beq.L mt_arpegrt
cmp.b #4,d0
beq.L mt_arpegrt
cmp.b #5,d0
beq.L mt_arpegrt
cmp.b #1,d0
beq.s mt_portup
cmp.b #6,d0
beq.s mt_portup
cmp.b #7,d0
beq.s mt_portup
cmp.b #8,d0
beq.s mt_portup
cmp.b #2,d0
beq.s mt_portdwn
cmp.b #9,d0
beq.s mt_portdwn
cmp.b #10,d0
beq.s mt_portdwn
cmp.b #11,d0
beq.s mt_portdwn
cmp.b #13,d0
beq.s mt_volup
rts

mt_portup:
mt_portup: