megamusic: have mostly done mockingboard routine

This commit is contained in:
Vince Weaver 2018-10-27 00:57:29 -04:00
parent 8486b21ee6
commit c73b5080ee
2 changed files with 32 additions and 22 deletions

View File

@ -150,22 +150,19 @@ page1_loop: ; delay 115+(7 loop)+4 (bit)+4(extra)
; -1 (+1-2) from above ; -1 (+1-2) from above
; -25 inc framecount ; -25 inc framecount
; -7 see if timeout ; -7 see if timeout
;-1009 play_music ;-1023 play_music
; -10 keypress ; -10 keypress
;================ ;================
; 3498 ; 3484
jsr play_music ; 6+1003 jsr play_music ; 6+1017
; Try X=57 Y=12 cycles=3493 R5 ; Try X=231 Y=3 cycles=3484
nop ldy #3 ; 2
lda $0 faloop1:ldx #231 ; 2
ldy #12 ; 2
faloop1:ldx #57 ; 2
faloop2:dex ; 2 faloop2:dex ; 2
bne faloop2 ; 2nt/3 bne faloop2 ; 2nt/3
dey ; 2 dey ; 2

View File

@ -1,15 +1,17 @@
; takes ; takes
; 3 + 79 + ; 3 + 83 +
; 80 + 82 + 88 + ; 80 + 82 + 88 +
; 80 + 82 + 88 + ; 80 + 82 + 88 +
; 80 + 82 + 88 + ; 80 + 82 + 88 +
; 80 + 80 + ; 80 + 80 +
; 11 = 1003 ; 21 = 1017
play_music: play_music:
; self-modify the code ; self-modify the code
ldy MB_PATTERN ; 3 lda MB_PATTERN ; 3
and #$1f ; 2
tay ; 2
lda mal_pattern,Y ; 4 lda mal_pattern,Y ; 4
sta mb_smc1+1 ; 4 sta mb_smc1+1 ; 4
@ -34,7 +36,7 @@ play_music:
lda mnh_pattern,Y ; 4 lda mnh_pattern,Y ; 4
sta mb_smc11+1 ; 4 sta mb_smc11+1 ; 4
;======= ;=======
; 79 ; 83
@ -153,8 +155,19 @@ mb_smc11:
inc MB_FRAME ; 5 inc MB_FRAME ; 5
rts ; 6 bne mb_no_change ; 3
; -1
inc MB_PATTERN ; 5
jmp mb_done_change ; 3
mb_no_change:
lda $0 ; 3
nop ; 2
nop ; 2
mb_done_change:
rts ; 6
;=======
; 21
.align $100 .align $100
; patterns 31 long ; patterns 31 long
@ -162,42 +175,42 @@ mal_pattern:
.byte <mal00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal00
mah_pattern: mah_pattern:
.byte <mah00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mah00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal00
mbl_pattern: mbl_pattern:
.byte <mbl00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mbl00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal00
mbh_pattern: mbh_pattern:
.byte <mbh00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mbh00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal00
mcl_pattern: mcl_pattern:
.byte <mcl00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mcl00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal00
mch_pattern: mch_pattern:
.byte <mch00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mch00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal00
mnl_pattern: mnl_pattern:
.byte <mnl00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mnl00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal00
mnh_pattern: mnh_pattern:
.byte <mnh00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mnh00,<mal00,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02
.byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02 .byte <mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal02,<mal00
.align $100 .align $100