dos33fsprogs/megamusic/play_music.s
2018-10-27 00:25:20 -04:00

133 lines
1.7 KiB
ArmAsm

; takes
; 3 + 80 + 82 + 88 + 80 + 82 + 88 + 80 + 82 + 88 + 80 + 80 + 11 = 924
play_music:
ldy MB_FRAME ; 3
;=======
; mal
lda mal00,Y ; 4
sta MB_VALUE ; 3
ldx #0 ; 2
jsr write_ay_both ; 6+65
;=========
; 80
; mah
lda mah00,Y ; 4
and #$f ; 2
sta MB_VALUE ; 3
ldx #1 ; 2
jsr write_ay_both ; 6+65
;========
; 82
lda mah00,Y ; 4
lsr ; 2
lsr ; 2
lsr ; 2
lsr ; 2
sta MB_VALUE ; 3
ldx #8 ; 2
jsr write_ay_both ; 6+65
;=======
; 88
; mbl
lda mbl00,Y ; 4
sta MB_VALUE ; 3
ldx #2 ; 2
jsr write_ay_both ; 6+65
;=======
; 80
; mbh
lda mbh00,Y ; 4
and #$f ; 2
sta MB_VALUE ; 3
ldx #3 ; 2
jsr write_ay_both ; 6+65
;=======
; 82
lda mbh00,Y ; 4
lsr ; 2
lsr ; 2
lsr ; 2
lsr ; 2
sta MB_VALUE ; 3
ldx #9 ; 2
jsr write_ay_both ; 6+65
;======
; 88
; mcl
lda mcl00,Y ; 4
sta MB_VALUE ; 3
ldx #4 ; 2
jsr write_ay_both ; 6+65
;======
; 80
; mch
lda mch00,Y ; 4
and #$f ; 2
sta MB_VALUE ; 3
ldx #5 ; 2
jsr write_ay_both ; 6+65
;=======
; 82
lda mch00,Y ; 4
lsr ; 2
lsr ; 2
lsr ; 2
lsr ; 2
sta MB_VALUE ; 3
ldx #10 ; 2
jsr write_ay_both ; 6+65
;========
; 88
; mnl
lda mnl00,Y ; 4
sta MB_VALUE ; 3
ldx #6 ; 2
jsr write_ay_both ; 6+65
;=======
; 80
; mnh
lda mnh00,Y ; 4
sta MB_VALUE ; 3
ldx #7 ; 2
jsr write_ay_both ; 6+65
;=======
; 80
inc MB_FRAME ; 5
rts ; 6
.align $100
mal00:
.incbin "music/mock.al.00"
mal02:
.incbin "music/mock.al.02"
mah00:
.incbin "music/mock.ah.00"
mbl00:
.incbin "music/mock.bl.00"
mbh00:
.incbin "music/mock.bh.00"
mcl00:
.incbin "music/mock.cl.00"
mch00:
.incbin "music/mock.ch.00"
mnl00:
.incbin "music/mock.nl.00"
mnh00:
.incbin "music/mock.nh.00"