diff --git a/megamusic/falling_apple.s b/megamusic/falling_apple.s index 75baddd4..09247460 100644 --- a/megamusic/falling_apple.s +++ b/megamusic/falling_apple.s @@ -150,22 +150,19 @@ page1_loop: ; delay 115+(7 loop)+4 (bit)+4(extra) ; -1 (+1-2) from above ; -25 inc framecount ; -7 see if timeout - ;-1009 play_music + ;-1023 play_music ; -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 - lda $0 - - ldy #12 ; 2 -faloop1:ldx #57 ; 2 + ldy #3 ; 2 +faloop1:ldx #231 ; 2 faloop2:dex ; 2 bne faloop2 ; 2nt/3 dey ; 2 diff --git a/megamusic/play_music.s b/megamusic/play_music.s index fa8756d0..6bc632f7 100644 --- a/megamusic/play_music.s +++ b/megamusic/play_music.s @@ -1,15 +1,17 @@ ; takes - ; 3 + 79 + + ; 3 + 83 + ; 80 + 82 + 88 + ; 80 + 82 + 88 + ; 80 + 82 + 88 + ; 80 + 80 + - ; 11 = 1003 + ; 21 = 1017 play_music: ; self-modify the code - ldy MB_PATTERN ; 3 + lda MB_PATTERN ; 3 + and #$1f ; 2 + tay ; 2 lda mal_pattern,Y ; 4 sta mb_smc1+1 ; 4 @@ -34,7 +36,7 @@ play_music: lda mnh_pattern,Y ; 4 sta mb_smc11+1 ; 4 ;======= - ; 79 + ; 83 @@ -153,8 +155,19 @@ mb_smc11: 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 ; patterns 31 long @@ -162,42 +175,42 @@ mal_pattern: .byte