From 93553232ce1a75267c81f270dcf13f7d987bf366 Mon Sep 17 00:00:00 2001 From: scawful Date: Sun, 6 Oct 2024 12:33:34 -0400 Subject: [PATCH] Cleanup overworld overlays jump table organization --- Overworld/overlays.asm | 1039 ++++++++++++++++++++-------------------- 1 file changed, 519 insertions(+), 520 deletions(-) diff --git a/Overworld/overlays.asm b/Overworld/overlays.asm index 96953fb..bd207c0 100644 --- a/Overworld/overlays.asm +++ b/Overworld/overlays.asm @@ -8,9 +8,9 @@ ; -> Overworld_AnimateEntrance ; ========================================================= -; Trigger Zora Temple from Tablet +; Trigger Zora Temple from Tablet org $1EE061 - CMP.b #$1E ; Zora Temple Map + CMP.b #$1E ; Zora Temple Map ; InitiateDesertCutscene org $07866D @@ -41,7 +41,7 @@ pullpc NewDesertCheck: { ; set link in praying mode - ; LDA.b #$02 : STA.w $037A + ; LDA.b #$02 : STA.w $037A ; LDA #$FF : STA $8C ; LDA #$00 : STA $7EE00E ; STZ $1D : STZ $9A @@ -66,7 +66,7 @@ pushpc org $1BCADE JSL ZoraTemple_EntranceAnimation -RTS +RTS org $1BCBA6 JSL Castle_EntranceAnimation @@ -78,12 +78,33 @@ RTS pullpc -;=============================================== -; Entrance Animation -;=============================================== +; Zarby Notes ; don't forget to set $C8 to zero (STZ.b $C8) ; don't forget to set $B0 to zero (STZ.b $B0) +ShakeScreen: +{ + REP #$20 + LDA.b $1A + AND.w #$0001 + ASL A + TAX + + LDA.l $01C961, X + STA.w $011A + + LDA.l $01C965, X + STA.w $011C + + .exit + SEP #$20 + RTS +} + + +; ========================================================= +; Zora Temple Hidden Waterfall + ZoraTemple_EntranceAnimation: { ; If $B0 is 8, then we move the camera back to the origin @@ -91,7 +112,7 @@ ZoraTemple_EntranceAnimation: REP #$20 LDA $0618 : CMP.w #$0630 : BCC + DEC.b $E8 ; Increment camera vertical - DEC.w $0618 : DEC.w $0618 + DEC.w $0618 : DEC.w $0618 DEC.w $061A : DEC.w $061A + SEP #$20 @@ -122,527 +143,505 @@ ZoraTemple_EntranceAnimation: dw Frame6 dw Frame7 dw Frame8 -} -; ========================================================= -; Shake screen -; ========================================================= + Frame0: + { + LDA.b $C8 : BEQ .doInit ; Load the timer + JMP .notfirstframe + .doInit + ; Init code for the frame here + REP #$30 ; 16 bit mode + LDA.w #$0965 + LDX.w #$0490 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0175 + LDX.w #$0492 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0965 + LDX.w #$049C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0175 + LDX.w #$049E + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$02D5 + LDX.w #$0510 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0730 + LDX.w #$0512 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$02D5 + LDX.w #$051C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0730 + LDX.w #$051E + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00CE + LDX.w #$0410 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00D5 + LDX.w #$0412 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00CE + LDX.w #$041C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00D5 + LDX.w #$041E + JSL $1BC97C ; Overworld_DrawMap16_Persist + SEP #$30 ; 8 bit mode + INC.b $14 ; Do tiles transfer + .notfirstframe + INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer + BNE .wait + INC.b $B0 ; increase frame + STZ.b $C8 ; reset timer for next frame + .wait + RTS + } -ShakeScreen: -{ - REP #$20 - LDA.b $1A - AND.w #$0001 - ASL A - TAX + Frame1: + { + LDA.b $C8 : BEQ .doInit ; Load the timer + JMP .notfirstframe + .doInit + ; Init code for the frame here + REP #$30 ; 16 bit mode + LDA.w #$0965 + LDX.w #$0510 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0183 + LDX.w #$0512 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$02D5 + LDX.w #$0590 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0730 + LDX.w #$0592 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0965 + LDX.w #$051C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0183 + LDX.w #$051E + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$02D5 + LDX.w #$059C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0730 + LDX.w #$059E + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00CE + LDX.w #$0490 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00D5 + LDX.w #$0492 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00CE + LDX.w #$049C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00D5 + LDX.w #$049E + JSL $1BC97C ; Overworld_DrawMap16_Persist + SEP #$30 ; 8 bit mode + INC.b $14 ; Do tiles transfer + .notfirstframe + JSR ShakeScreen ; make the screen shake + INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer + BNE .wait + INC.b $B0 ; increase frame + STZ.b $C8 ; reset timer for next frame + .wait + RTS + } - LDA.l $01C961, X - STA.w $011A + Frame2: + { + LDA.b $C8 : BEQ .doInit ; Load the timer + JMP .notfirstframe + .doInit + ; Init code for the frame here + REP #$30 ; 16 bit mode + LDA.w #$00CE + LDX.w #$0510 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00D5 + LDX.w #$0512 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00CE + LDX.w #$051C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00D5 + LDX.w #$051E + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0965 + LDX.w #$0590 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0183 + LDX.w #$0592 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$02D5 + LDX.w #$0610 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0730 + LDX.w #$0612 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0965 + LDX.w #$059C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0183 + LDX.w #$059E + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$02D5 + LDX.w #$061C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0730 + LDX.w #$061E + JSL $1BC97C ; Overworld_DrawMap16_Persist + SEP #$30 ; 8 bit mode + INC.b $14 ; Do tiles transfer + .notfirstframe + INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer + BNE .wait + INC.b $B0 ; increase frame + STZ.b $C8 ; reset timer for next frame + .wait + RTS + } - LDA.l $01C965, X - STA.w $011C + Frame3: + { + LDA.b $C8 : BEQ .doInit ; Load the timer + JMP .notfirstframe + .doInit + ; Init code for the frame here + REP #$30 ; 16 bit mode + LDA.w #$0530 + LDX.w #$0616 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$02E4 + LDX.w #$0618 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$05A1 + LDX.w #$0594 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$05A1 + LDX.w #$059A + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0530 + LDX.w #$0596 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$02E4 + LDX.w #$0598 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0599 + LDX.w #$0614 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0599 + LDX.w #$061A + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0094 + LDX.w #$0494 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0094 + LDX.w #$049A + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$05A1 + LDX.w #$0514 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$05A1 + LDX.w #$051A + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0530 + LDX.w #$0516 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$02E4 + LDX.w #$0518 + JSL $1BC97C ; Overworld_DrawMap16_Persist + SEP #$30 ; 8 bit mode + INC.b $14 ; Do tiles transfer + .notfirstframe + INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer + BNE .wait + INC.b $B0 ; increase frame + STZ.b $C8 ; reset timer for next frame + .wait + RTS + } - .exit - SEP #$20 - RTS -} + Frame4: + { + LDA.b $C8 : BEQ .doInit ; Load the timer + JMP .notfirstframe + .doInit + ; Init code for the frame here + REP #$30 ; 16 bit mode + LDA.w #$056D + LDX.w #$0396 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$056D + LDX.w #$0398 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$056D + LDX.w #$0416 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$056D + LDX.w #$0418 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$056D + LDX.w #$0496 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$056D + LDX.w #$0498 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$056D + LDX.w #$0414 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$056D + LDX.w #$041A + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$06AF + LDX.w #$0394 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$06AF + LDX.w #$039A + JSL $1BC97C ; Overworld_DrawMap16_Persist + SEP #$30 ; 8 bit mode + INC.b $14 ; Do tiles transfer + .notfirstframe + JSR ShakeScreen ; make the screen shake + INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer + BNE .wait + INC.b $B0 ; increase frame + STZ.b $C8 ; reset timer for next frame + .wait + RTS + } -Frame0: -{ - LDA.b $C8 : BEQ .doInit ; Load the timer - JMP .notfirstframe - .doInit - ; Init code for the frame here - REP #$30 ; 16 bit mode - LDA.w #$0965 - LDX.w #$0490 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0175 - LDX.w #$0492 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0965 - LDX.w #$049C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0175 - LDX.w #$049E - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$02D5 - LDX.w #$0510 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0730 - LDX.w #$0512 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$02D5 - LDX.w #$051C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0730 - LDX.w #$051E - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00CE - LDX.w #$0410 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00D5 - LDX.w #$0412 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00CE - LDX.w #$041C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00D5 - LDX.w #$041E - JSL $1BC97C ; Overworld_DrawMap16_Persist - SEP #$30 ; 8 bit mode - INC.b $14 ; Do tiles transfer - .notfirstframe - INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer - BNE .wait - INC.b $B0 ; increase frame - STZ.b $C8 ; reset timer for next frame - .wait - RTS -} + Frame5: + { + LDA.b $C8 : BEQ .doInit ; Load the timer + JMP .notfirstframe + .doInit + ; Init code for the frame here + REP #$30 ; 16 bit mode + LDA.w #$02C0 + LDX.w #$0292 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$02BD + LDX.w #$029C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00D5 + LDX.w #$031C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00CE + LDX.w #$0392 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00D5 + LDX.w #$039C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00CE + LDX.w #$0412 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00D5 + LDX.w #$041C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0965 + LDX.w #$0492 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0175 + LDX.w #$049C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00C7 + LDX.w #$0512 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00C8 + LDX.w #$051C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$057D + LDX.w #$0592 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$057D + LDX.w #$059C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0156 + LDX.w #$0612 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0156 + LDX.w #$061C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00CE + LDX.w #$0312 + JSL $1BC97C ; Overworld_DrawMap16_Persist + SEP #$30 ; 8 bit mode + INC.b $14 ; Do tiles transfer + LDA.b #$07 : STA.w $012D + .notfirstframe + JSR ShakeScreen ; make the screen shake + INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer + BNE .wait + INC.b $B0 ; increase frame + STZ.b $C8 ; reset timer for next frame + .wait + RTS + } -Frame1: -{ - LDA.b $C8 : BEQ .doInit ; Load the timer - JMP .notfirstframe - .doInit - ; Init code for the frame here - REP #$30 ; 16 bit mode - LDA.w #$0965 - LDX.w #$0510 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0183 - LDX.w #$0512 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$02D5 - LDX.w #$0590 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0730 - LDX.w #$0592 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0965 - LDX.w #$051C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0183 - LDX.w #$051E - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$02D5 - LDX.w #$059C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0730 - LDX.w #$059E - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00CE - LDX.w #$0490 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00D5 - LDX.w #$0492 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00CE - LDX.w #$049C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00D5 - LDX.w #$049E - JSL $1BC97C ; Overworld_DrawMap16_Persist - SEP #$30 ; 8 bit mode - INC.b $14 ; Do tiles transfer - .notfirstframe - JSR ShakeScreen ; make the screen shake - INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer - BNE .wait - INC.b $B0 ; increase frame - STZ.b $C8 ; reset timer for next frame - .wait - RTS -} + Frame6: + { + LDA.b $C8 : BEQ .doInit ; Load the timer + JMP .notfirstframe + .doInit + ; Init code for the frame here + REP #$30 ; 16 bit mode + LDA.w #$02BF + LDX.w #$0192 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0312 + LDX.w #$019C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$02B9 + LDX.w #$0212 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$02B6 + LDX.w #$021C + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$06B0 + LDX.w #$0214 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$06B1 + LDX.w #$0216 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$06B2 + LDX.w #$0218 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$06B3 + LDX.w #$021A + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$06B5 + LDX.w #$0294 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00DF + LDX.w #$0296 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00E0 + LDX.w #$0298 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$06B6 + LDX.w #$029A + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$02D5 + LDX.w #$0314 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0223 + LDX.w #$0316 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0205 + LDX.w #$0318 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0730 + LDX.w #$031A + JSL $1BC97C ; Overworld_DrawMap16_Persist + SEP #$30 ; 8 bit mode + INC.b $14 ; Do tiles transfer + .notfirstframe + JSR ShakeScreen ; make the screen shake + INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer + BNE .wait + INC.b $B0 ; increase frame + STZ.b $C8 ; reset timer for next frame + .wait + RTS + } -Frame2: -{ - LDA.b $C8 : BEQ .doInit ; Load the timer - JMP .notfirstframe - .doInit - ; Init code for the frame here - REP #$30 ; 16 bit mode - LDA.w #$00CE - LDX.w #$0510 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00D5 - LDX.w #$0512 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00CE - LDX.w #$051C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00D5 - LDX.w #$051E - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0965 - LDX.w #$0590 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0183 - LDX.w #$0592 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$02D5 - LDX.w #$0610 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0730 - LDX.w #$0612 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0965 - LDX.w #$059C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0183 - LDX.w #$059E - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$02D5 - LDX.w #$061C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0730 - LDX.w #$061E - JSL $1BC97C ; Overworld_DrawMap16_Persist - SEP #$30 ; 8 bit mode - INC.b $14 ; Do tiles transfer - .notfirstframe - INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer - BNE .wait - INC.b $B0 ; increase frame - STZ.b $C8 ; reset timer for next frame - .wait - RTS -} + Frame7: + { + LDA.b $C8 : BEQ .doInit ; Load the timer + JMP .notfirstframe + .doInit + ; Init code for the frame here + REP #$30 ; 16 bit mode + LDA.w #$00C7 + LDX.w #$0014 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0158 + LDX.w #$0016 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0158 + LDX.w #$0018 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00C8 + LDX.w #$001A + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00C7 + LDX.w #$0094 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0158 + LDX.w #$0096 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0158 + LDX.w #$0098 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00C8 + LDX.w #$009A + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00C7 + LDX.w #$0114 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0158 + LDX.w #$0116 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0158 + LDX.w #$0118 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00C8 + LDX.w #$011A + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00C7 + LDX.w #$0194 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0158 + LDX.w #$0196 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$0158 + LDX.w #$0198 + JSL $1BC97C ; Overworld_DrawMap16_Persist + LDA.w #$00C8 + LDX.w #$019A + JSL $1BC97C ; Overworld_DrawMap16_Persist + SEP #$30 ; 8 bit mode + INC.b $14 ; Do tiles transfer + LDA.b #$0D : STA.w $012D + .notfirstframe + JSR ShakeScreen ; make the screen shake + INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer + BNE .wait + INC.b $B0 ; increase frame + STZ.b $C8 ; reset timer for next frame + .wait + RTS + } -Frame3: -{ - LDA.b $C8 : BEQ .doInit ; Load the timer - JMP .notfirstframe - .doInit - ; Init code for the frame here - REP #$30 ; 16 bit mode - LDA.w #$0530 - LDX.w #$0616 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$02E4 - LDX.w #$0618 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$05A1 - LDX.w #$0594 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$05A1 - LDX.w #$059A - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0530 - LDX.w #$0596 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$02E4 - LDX.w #$0598 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0599 - LDX.w #$0614 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0599 - LDX.w #$061A - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0094 - LDX.w #$0494 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0094 - LDX.w #$049A - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$05A1 - LDX.w #$0514 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$05A1 - LDX.w #$051A - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0530 - LDX.w #$0516 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$02E4 - LDX.w #$0518 - JSL $1BC97C ; Overworld_DrawMap16_Persist - SEP #$30 ; 8 bit mode - INC.b $14 ; Do tiles transfer - .notfirstframe - INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer - BNE .wait - INC.b $B0 ; increase frame - STZ.b $C8 ; reset timer for next frame - .wait - RTS -} + Frame8: + { + JSR ShakeScreen ; make the screen shake + INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer + BNE .wait + STZ.w $04C6 + STZ.b $B0 + STZ.w $0710 + STZ.w $02E4 + STZ.w $0FC1 + STZ.w $011A + STZ.w $011B + STZ.w $011C + STZ.w $011D + ; set the overlay + LDX.b $8A + LDA.l $7EF280,X + ORA.b #$20 + STA.l $7EF280,X + .wait + RTS + } -Frame4: -{ - LDA.b $C8 : BEQ .doInit ; Load the timer - JMP .notfirstframe - .doInit - ; Init code for the frame here - REP #$30 ; 16 bit mode - LDA.w #$056D - LDX.w #$0396 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$056D - LDX.w #$0398 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$056D - LDX.w #$0416 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$056D - LDX.w #$0418 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$056D - LDX.w #$0496 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$056D - LDX.w #$0498 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$056D - LDX.w #$0414 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$056D - LDX.w #$041A - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$06AF - LDX.w #$0394 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$06AF - LDX.w #$039A - JSL $1BC97C ; Overworld_DrawMap16_Persist - SEP #$30 ; 8 bit mode - INC.b $14 ; Do tiles transfer - .notfirstframe - JSR ShakeScreen ; make the screen shake - INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer - BNE .wait - INC.b $B0 ; increase frame - STZ.b $C8 ; reset timer for next frame - .wait - RTS -} - -Frame5: -{ - LDA.b $C8 : BEQ .doInit ; Load the timer - JMP .notfirstframe - .doInit - ; Init code for the frame here - REP #$30 ; 16 bit mode - LDA.w #$02C0 - LDX.w #$0292 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$02BD - LDX.w #$029C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00D5 - LDX.w #$031C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00CE - LDX.w #$0392 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00D5 - LDX.w #$039C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00CE - LDX.w #$0412 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00D5 - LDX.w #$041C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0965 - LDX.w #$0492 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0175 - LDX.w #$049C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00C7 - LDX.w #$0512 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00C8 - LDX.w #$051C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$057D - LDX.w #$0592 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$057D - LDX.w #$059C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0156 - LDX.w #$0612 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0156 - LDX.w #$061C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00CE - LDX.w #$0312 - JSL $1BC97C ; Overworld_DrawMap16_Persist - SEP #$30 ; 8 bit mode - INC.b $14 ; Do tiles transfer - LDA.b #$07 : STA.w $012D - .notfirstframe - JSR ShakeScreen ; make the screen shake - INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer - BNE .wait - INC.b $B0 ; increase frame - STZ.b $C8 ; reset timer for next frame - .wait - RTS -} - -Frame6: -{ - LDA.b $C8 : BEQ .doInit ; Load the timer - JMP .notfirstframe - .doInit - ; Init code for the frame here - REP #$30 ; 16 bit mode - LDA.w #$02BF - LDX.w #$0192 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0312 - LDX.w #$019C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$02B9 - LDX.w #$0212 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$02B6 - LDX.w #$021C - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$06B0 - LDX.w #$0214 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$06B1 - LDX.w #$0216 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$06B2 - LDX.w #$0218 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$06B3 - LDX.w #$021A - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$06B5 - LDX.w #$0294 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00DF - LDX.w #$0296 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00E0 - LDX.w #$0298 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$06B6 - LDX.w #$029A - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$02D5 - LDX.w #$0314 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0223 - LDX.w #$0316 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0205 - LDX.w #$0318 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0730 - LDX.w #$031A - JSL $1BC97C ; Overworld_DrawMap16_Persist - SEP #$30 ; 8 bit mode - INC.b $14 ; Do tiles transfer - .notfirstframe - JSR ShakeScreen ; make the screen shake - INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer - BNE .wait - INC.b $B0 ; increase frame - STZ.b $C8 ; reset timer for next frame - .wait - RTS -} - -Frame7: -{ - LDA.b $C8 : BEQ .doInit ; Load the timer - JMP .notfirstframe - .doInit - ; Init code for the frame here - REP #$30 ; 16 bit mode - LDA.w #$00C7 - LDX.w #$0014 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0158 - LDX.w #$0016 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0158 - LDX.w #$0018 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00C8 - LDX.w #$001A - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00C7 - LDX.w #$0094 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0158 - LDX.w #$0096 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0158 - LDX.w #$0098 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00C8 - LDX.w #$009A - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00C7 - LDX.w #$0114 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0158 - LDX.w #$0116 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0158 - LDX.w #$0118 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00C8 - LDX.w #$011A - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00C7 - LDX.w #$0194 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0158 - LDX.w #$0196 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$0158 - LDX.w #$0198 - JSL $1BC97C ; Overworld_DrawMap16_Persist - LDA.w #$00C8 - LDX.w #$019A - JSL $1BC97C ; Overworld_DrawMap16_Persist - SEP #$30 ; 8 bit mode - INC.b $14 ; Do tiles transfer - LDA.b #$0D : STA.w $012D - .notfirstframe - JSR ShakeScreen ; make the screen shake - INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer - BNE .wait - INC.b $B0 ; increase frame - STZ.b $C8 ; reset timer for next frame - .wait - RTS -} - -Frame8: -{ - JSR ShakeScreen ; make the screen shake - INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer - BNE .wait - STZ.w $04C6 - STZ.b $B0 - STZ.w $0710 - STZ.w $02E4 - STZ.w $0FC1 - STZ.w $011A - STZ.w $011B - STZ.w $011C - STZ.w $011D - ; set the overlay - LDX.b $8A - LDA.l $7EF280,X - ORA.b #$20 - STA.l $7EF280,X - .wait - RTS } ; ========================================================= @@ -928,7 +927,7 @@ Castle_Frame3: RTS } -;=============================================== +; ========================================================= TailPalace_EntranceAnimation: {