cleanup overlay animation code
This commit is contained in:
@@ -90,26 +90,23 @@ JML $07A493 ; returnPos ; do not !
|
|||||||
|
|
||||||
pushpc
|
pushpc
|
||||||
|
|
||||||
;===============================================
|
|
||||||
; Entrance Animation
|
|
||||||
;===============================================
|
|
||||||
; don't forget to set $C8 to zero (STZ.b $C8)
|
|
||||||
; don't forget to set $B0 to zero (STZ.b $B0)
|
|
||||||
|
|
||||||
; Rename this into something unique
|
|
||||||
org $1BCADE
|
org $1BCADE
|
||||||
JSL EntranceAnimation
|
JSL ZoraTemple_EntranceAnimation
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
org $1BCBA6
|
||||||
|
JSL Castle_EntranceAnimation
|
||||||
|
RTS
|
||||||
|
|
||||||
pullpc
|
pullpc
|
||||||
|
|
||||||
;===============================================
|
;===============================================
|
||||||
; Entrance Animation
|
; Entrance Animation
|
||||||
;===============================================
|
;===============================================
|
||||||
; don't forget to set $C8 to zero (STZ.b $C8)
|
; don't forget to set $C8 to zero (STZ.b $C8)
|
||||||
; don't forget to set $B0 to zero (STZ.b $B0)
|
; don't forget to set $B0 to zero (STZ.b $B0)
|
||||||
|
|
||||||
; Rename this into something unique
|
ZoraTemple_EntranceAnimation:
|
||||||
EntranceAnimation:
|
|
||||||
{
|
{
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $0618 : CMP.w #$0630 : BCC +
|
LDA $0618 : CMP.w #$0630 : BCC +
|
||||||
@@ -119,7 +116,6 @@ EntranceAnimation:
|
|||||||
+
|
+
|
||||||
SEP #$20
|
SEP #$20
|
||||||
|
|
||||||
|
|
||||||
LDA.b $B0 ; Get animation state
|
LDA.b $B0 ; Get animation state
|
||||||
ASL A
|
ASL A
|
||||||
TAX ; x2
|
TAX ; x2
|
||||||
@@ -127,426 +123,529 @@ EntranceAnimation:
|
|||||||
JSR.w (.AnimationFrames, X)
|
JSR.w (.AnimationFrames, X)
|
||||||
|
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
|
.AnimationFrames
|
||||||
|
dw Frame0
|
||||||
|
dw Frame1
|
||||||
|
dw Frame2
|
||||||
|
dw Frame3
|
||||||
|
dw Frame4
|
||||||
|
dw Frame5
|
||||||
|
dw Frame6
|
||||||
|
dw Frame7
|
||||||
}
|
}
|
||||||
|
|
||||||
.AnimationFrames
|
; =========================================================
|
||||||
dw Frame0
|
|
||||||
dw Frame1
|
|
||||||
dw Frame2
|
|
||||||
dw Frame3
|
|
||||||
dw Frame4
|
|
||||||
dw Frame5
|
|
||||||
dw Frame6
|
|
||||||
dw Frame7
|
|
||||||
|
|
||||||
;===================================================
|
|
||||||
; Shake screen
|
; Shake screen
|
||||||
;===================================================
|
; =========================================================
|
||||||
; if you already have that function delete this one
|
|
||||||
ShakeScreen:
|
ShakeScreen:
|
||||||
REP #$20
|
{
|
||||||
LDA.b $1A
|
REP #$20
|
||||||
AND.w #$0001
|
LDA.b $1A
|
||||||
ASL A
|
AND.w #$0001
|
||||||
TAX
|
ASL A
|
||||||
|
TAX
|
||||||
|
|
||||||
LDA.l $01C961, X
|
LDA.l $01C961, X
|
||||||
STA.w $011A
|
STA.w $011A
|
||||||
|
|
||||||
LDA.l $01C965, X
|
LDA.l $01C965, X
|
||||||
STA.w $011C
|
STA.w $011C
|
||||||
|
|
||||||
.exit
|
.exit
|
||||||
SEP #$20
|
SEP #$20
|
||||||
RTS
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
Frame0:
|
Frame0:
|
||||||
LDA.b $C8 : BEQ .doInit ; Load the timer
|
{
|
||||||
JMP .notfirstframe
|
LDA.b $C8 : BEQ .doInit ; Load the timer
|
||||||
.doInit
|
JMP .notfirstframe
|
||||||
; Init code for the frame here
|
.doInit
|
||||||
REP #$30 ; 16 bit mode
|
; Init code for the frame here
|
||||||
LDA.w #$0965
|
REP #$30 ; 16 bit mode
|
||||||
LDX.w #$0490
|
LDA.w #$0965
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0490
|
||||||
LDA.w #$0175
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0492
|
LDA.w #$0175
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0492
|
||||||
LDA.w #$0965
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$049C
|
LDA.w #$0965
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$049C
|
||||||
LDA.w #$0175
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$049E
|
LDA.w #$0175
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$049E
|
||||||
LDA.w #$02D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0510
|
LDA.w #$02D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0510
|
||||||
LDA.w #$0730
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0512
|
LDA.w #$0730
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0512
|
||||||
LDA.w #$02D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$051C
|
LDA.w #$02D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$051C
|
||||||
LDA.w #$0730
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$051E
|
LDA.w #$0730
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$051E
|
||||||
LDA.w #$00CE
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0410
|
LDA.w #$00CE
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0410
|
||||||
LDA.w #$00D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0412
|
LDA.w #$00D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0412
|
||||||
LDA.w #$00CE
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$041C
|
LDA.w #$00CE
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$041C
|
||||||
LDA.w #$00D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$041E
|
LDA.w #$00D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$041E
|
||||||
SEP #$30 ; 8 bit mode
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
INC.b $14 ; Do tiles transfer
|
SEP #$30 ; 8 bit mode
|
||||||
.notfirstframe
|
INC.b $14 ; Do tiles transfer
|
||||||
INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer
|
.notfirstframe
|
||||||
BNE .wait
|
INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer
|
||||||
INC.b $B0 ; increase frame
|
BNE .wait
|
||||||
STZ.b $C8 ; reset timer for next frame
|
INC.b $B0 ; increase frame
|
||||||
.wait
|
STZ.b $C8 ; reset timer for next frame
|
||||||
RTS
|
.wait
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
Frame1:
|
Frame1:
|
||||||
LDA.b $C8 : BEQ .doInit ; Load the timer
|
{
|
||||||
JMP .notfirstframe
|
LDA.b $C8 : BEQ .doInit ; Load the timer
|
||||||
.doInit
|
JMP .notfirstframe
|
||||||
; Init code for the frame here
|
.doInit
|
||||||
REP #$30 ; 16 bit mode
|
; Init code for the frame here
|
||||||
LDA.w #$0965
|
REP #$30 ; 16 bit mode
|
||||||
LDX.w #$0510
|
LDA.w #$0965
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0510
|
||||||
LDA.w #$0183
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0512
|
LDA.w #$0183
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0512
|
||||||
LDA.w #$02D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0590
|
LDA.w #$02D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0590
|
||||||
LDA.w #$0730
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0592
|
LDA.w #$0730
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0592
|
||||||
LDA.w #$0965
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$051C
|
LDA.w #$0965
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$051C
|
||||||
LDA.w #$0183
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$051E
|
LDA.w #$0183
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$051E
|
||||||
LDA.w #$02D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$059C
|
LDA.w #$02D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$059C
|
||||||
LDA.w #$0730
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$059E
|
LDA.w #$0730
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$059E
|
||||||
LDA.w #$00CE
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0490
|
LDA.w #$00CE
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0490
|
||||||
LDA.w #$00D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0492
|
LDA.w #$00D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0492
|
||||||
LDA.w #$00CE
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$049C
|
LDA.w #$00CE
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$049C
|
||||||
LDA.w #$00D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$049E
|
LDA.w #$00D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$049E
|
||||||
SEP #$30 ; 8 bit mode
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
INC.b $14 ; Do tiles transfer
|
SEP #$30 ; 8 bit mode
|
||||||
.notfirstframe
|
INC.b $14 ; Do tiles transfer
|
||||||
JSR ShakeScreen ; make the screen shake
|
.notfirstframe
|
||||||
INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer
|
JSR ShakeScreen ; make the screen shake
|
||||||
BNE .wait
|
INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer
|
||||||
INC.b $B0 ; increase frame
|
BNE .wait
|
||||||
STZ.b $C8 ; reset timer for next frame
|
INC.b $B0 ; increase frame
|
||||||
.wait
|
STZ.b $C8 ; reset timer for next frame
|
||||||
RTS
|
.wait
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
Frame2:
|
Frame2:
|
||||||
LDA.b $C8 : BEQ .doInit ; Load the timer
|
{
|
||||||
JMP .notfirstframe
|
LDA.b $C8 : BEQ .doInit ; Load the timer
|
||||||
.doInit
|
JMP .notfirstframe
|
||||||
; Init code for the frame here
|
.doInit
|
||||||
REP #$30 ; 16 bit mode
|
; Init code for the frame here
|
||||||
LDA.w #$00CE
|
REP #$30 ; 16 bit mode
|
||||||
LDX.w #$0510
|
LDA.w #$00CE
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0510
|
||||||
LDA.w #$00D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0512
|
LDA.w #$00D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0512
|
||||||
LDA.w #$00CE
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$051C
|
LDA.w #$00CE
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$051C
|
||||||
LDA.w #$00D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$051E
|
LDA.w #$00D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$051E
|
||||||
LDA.w #$0965
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0590
|
LDA.w #$0965
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0590
|
||||||
LDA.w #$0183
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0592
|
LDA.w #$0183
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0592
|
||||||
LDA.w #$02D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0610
|
LDA.w #$02D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0610
|
||||||
LDA.w #$0730
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0612
|
LDA.w #$0730
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0612
|
||||||
LDA.w #$0965
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$059C
|
LDA.w #$0965
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$059C
|
||||||
LDA.w #$0183
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$059E
|
LDA.w #$0183
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$059E
|
||||||
LDA.w #$02D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$061C
|
LDA.w #$02D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$061C
|
||||||
LDA.w #$0730
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$061E
|
LDA.w #$0730
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$061E
|
||||||
SEP #$30 ; 8 bit mode
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
INC.b $14 ; Do tiles transfer
|
SEP #$30 ; 8 bit mode
|
||||||
.notfirstframe
|
INC.b $14 ; Do tiles transfer
|
||||||
INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer
|
.notfirstframe
|
||||||
BNE .wait
|
INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer
|
||||||
INC.b $B0 ; increase frame
|
BNE .wait
|
||||||
STZ.b $C8 ; reset timer for next frame
|
INC.b $B0 ; increase frame
|
||||||
.wait
|
STZ.b $C8 ; reset timer for next frame
|
||||||
RTS
|
.wait
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
Frame3:
|
Frame3:
|
||||||
LDA.b $C8 : BEQ .doInit ; Load the timer
|
{
|
||||||
JMP .notfirstframe
|
LDA.b $C8 : BEQ .doInit ; Load the timer
|
||||||
.doInit
|
JMP .notfirstframe
|
||||||
; Init code for the frame here
|
.doInit
|
||||||
REP #$30 ; 16 bit mode
|
; Init code for the frame here
|
||||||
LDA.w #$0530
|
REP #$30 ; 16 bit mode
|
||||||
LDX.w #$0616
|
LDA.w #$0530
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0616
|
||||||
LDA.w #$02E4
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0618
|
LDA.w #$02E4
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0618
|
||||||
LDA.w #$05A1
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0594
|
LDA.w #$05A1
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0594
|
||||||
LDA.w #$05A1
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$059A
|
LDA.w #$05A1
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$059A
|
||||||
LDA.w #$0530
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0596
|
LDA.w #$0530
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0596
|
||||||
LDA.w #$02E4
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0598
|
LDA.w #$02E4
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0598
|
||||||
LDA.w #$0599
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0614
|
LDA.w #$0599
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0614
|
||||||
LDA.w #$0599
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$061A
|
LDA.w #$0599
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$061A
|
||||||
LDA.w #$0094
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0494
|
LDA.w #$0094
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0494
|
||||||
LDA.w #$0094
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$049A
|
LDA.w #$0094
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$049A
|
||||||
LDA.w #$05A1
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0514
|
LDA.w #$05A1
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0514
|
||||||
LDA.w #$05A1
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$051A
|
LDA.w #$05A1
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$051A
|
||||||
LDA.w #$0530
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0516
|
LDA.w #$0530
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0516
|
||||||
LDA.w #$02E4
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0518
|
LDA.w #$02E4
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0518
|
||||||
SEP #$30 ; 8 bit mode
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
INC.b $14 ; Do tiles transfer
|
SEP #$30 ; 8 bit mode
|
||||||
.notfirstframe
|
INC.b $14 ; Do tiles transfer
|
||||||
INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer
|
.notfirstframe
|
||||||
BNE .wait
|
INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer
|
||||||
INC.b $B0 ; increase frame
|
BNE .wait
|
||||||
STZ.b $C8 ; reset timer for next frame
|
INC.b $B0 ; increase frame
|
||||||
.wait
|
STZ.b $C8 ; reset timer for next frame
|
||||||
RTS
|
.wait
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
Frame4:
|
Frame4:
|
||||||
LDA.b $C8 : BEQ .doInit ; Load the timer
|
{
|
||||||
JMP .notfirstframe
|
LDA.b $C8 : BEQ .doInit ; Load the timer
|
||||||
.doInit
|
JMP .notfirstframe
|
||||||
; Init code for the frame here
|
.doInit
|
||||||
REP #$30 ; 16 bit mode
|
; Init code for the frame here
|
||||||
LDA.w #$056D
|
REP #$30 ; 16 bit mode
|
||||||
LDX.w #$0396
|
LDA.w #$056D
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0396
|
||||||
LDA.w #$056D
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0398
|
LDA.w #$056D
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0398
|
||||||
LDA.w #$056D
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0416
|
LDA.w #$056D
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0416
|
||||||
LDA.w #$056D
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0418
|
LDA.w #$056D
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0418
|
||||||
LDA.w #$056D
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0496
|
LDA.w #$056D
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0496
|
||||||
LDA.w #$056D
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0498
|
LDA.w #$056D
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0498
|
||||||
LDA.w #$056D
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0414
|
LDA.w #$056D
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0414
|
||||||
LDA.w #$056D
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$041A
|
LDA.w #$056D
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$041A
|
||||||
LDA.w #$06AF
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0394
|
LDA.w #$06AF
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0394
|
||||||
LDA.w #$06AF
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$039A
|
LDA.w #$06AF
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$039A
|
||||||
SEP #$30 ; 8 bit mode
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
INC.b $14 ; Do tiles transfer
|
SEP #$30 ; 8 bit mode
|
||||||
.notfirstframe
|
INC.b $14 ; Do tiles transfer
|
||||||
JSR ShakeScreen ; make the screen shake
|
.notfirstframe
|
||||||
INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer
|
JSR ShakeScreen ; make the screen shake
|
||||||
BNE .wait
|
INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer
|
||||||
INC.b $B0 ; increase frame
|
BNE .wait
|
||||||
STZ.b $C8 ; reset timer for next frame
|
INC.b $B0 ; increase frame
|
||||||
.wait
|
STZ.b $C8 ; reset timer for next frame
|
||||||
RTS
|
.wait
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
Frame5:
|
Frame5:
|
||||||
LDA.b $C8 : BEQ .doInit ; Load the timer
|
{
|
||||||
JMP .notfirstframe
|
LDA.b $C8 : BEQ .doInit ; Load the timer
|
||||||
.doInit
|
JMP .notfirstframe
|
||||||
; Init code for the frame here
|
.doInit
|
||||||
REP #$30 ; 16 bit mode
|
; Init code for the frame here
|
||||||
LDA.w #$02C0
|
REP #$30 ; 16 bit mode
|
||||||
LDX.w #$0292
|
LDA.w #$02C0
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0292
|
||||||
LDA.w #$02BD
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$029C
|
LDA.w #$02BD
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$029C
|
||||||
LDA.w #$00D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$031C
|
LDA.w #$00D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$031C
|
||||||
LDA.w #$00CE
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0392
|
LDA.w #$00CE
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0392
|
||||||
LDA.w #$00D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$039C
|
LDA.w #$00D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$039C
|
||||||
LDA.w #$00CE
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0412
|
LDA.w #$00CE
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0412
|
||||||
LDA.w #$00D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$041C
|
LDA.w #$00D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$041C
|
||||||
LDA.w #$0965
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0492
|
LDA.w #$0965
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0492
|
||||||
LDA.w #$0175
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$049C
|
LDA.w #$0175
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$049C
|
||||||
LDA.w #$00C7
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0512
|
LDA.w #$00C7
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0512
|
||||||
LDA.w #$00C8
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$051C
|
LDA.w #$00C8
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$051C
|
||||||
LDA.w #$057D
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0592
|
LDA.w #$057D
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0592
|
||||||
LDA.w #$057D
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$059C
|
LDA.w #$057D
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$059C
|
||||||
LDA.w #$0156
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0612
|
LDA.w #$0156
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0612
|
||||||
LDA.w #$0156
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$061C
|
LDA.w #$0156
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$061C
|
||||||
LDA.w #$00CE
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0312
|
LDA.w #$00CE
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0312
|
||||||
SEP #$30 ; 8 bit mode
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
INC.b $14 ; Do tiles transfer
|
SEP #$30 ; 8 bit mode
|
||||||
LDA.b #$07 : STA.w $012D
|
INC.b $14 ; Do tiles transfer
|
||||||
.notfirstframe
|
LDA.b #$07 : STA.w $012D
|
||||||
JSR ShakeScreen ; make the screen shake
|
.notfirstframe
|
||||||
INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer
|
JSR ShakeScreen ; make the screen shake
|
||||||
BNE .wait
|
INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer
|
||||||
INC.b $B0 ; increase frame
|
BNE .wait
|
||||||
STZ.b $C8 ; reset timer for next frame
|
INC.b $B0 ; increase frame
|
||||||
.wait
|
STZ.b $C8 ; reset timer for next frame
|
||||||
RTS
|
.wait
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
Frame6:
|
Frame6:
|
||||||
LDA.b $C8 : BEQ .doInit ; Load the timer
|
{
|
||||||
JMP .notfirstframe
|
LDA.b $C8 : BEQ .doInit ; Load the timer
|
||||||
.doInit
|
JMP .notfirstframe
|
||||||
; Init code for the frame here
|
.doInit
|
||||||
REP #$30 ; 16 bit mode
|
; Init code for the frame here
|
||||||
LDA.w #$02BF
|
REP #$30 ; 16 bit mode
|
||||||
LDX.w #$0192
|
LDA.w #$02BF
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0192
|
||||||
LDA.w #$0312
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$019C
|
LDA.w #$0312
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$019C
|
||||||
LDA.w #$02B9
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0212
|
LDA.w #$02B9
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0212
|
||||||
LDA.w #$02B6
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$021C
|
LDA.w #$02B6
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$021C
|
||||||
LDA.w #$06B0
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0214
|
LDA.w #$06B0
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0214
|
||||||
LDA.w #$06B1
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0216
|
LDA.w #$06B1
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0216
|
||||||
LDA.w #$06B2
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0218
|
LDA.w #$06B2
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0218
|
||||||
LDA.w #$06B3
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$021A
|
LDA.w #$06B3
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$021A
|
||||||
LDA.w #$06B5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0294
|
LDA.w #$06B5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0294
|
||||||
LDA.w #$00DF
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0296
|
LDA.w #$00DF
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0296
|
||||||
LDA.w #$00E0
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0298
|
LDA.w #$00E0
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0298
|
||||||
LDA.w #$06B6
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$029A
|
LDA.w #$06B6
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$029A
|
||||||
LDA.w #$02D5
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0314
|
LDA.w #$02D5
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0314
|
||||||
LDA.w #$0223
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0316
|
LDA.w #$0223
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0316
|
||||||
LDA.w #$0205
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$0318
|
LDA.w #$0205
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$0318
|
||||||
LDA.w #$0730
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
LDX.w #$031A
|
LDA.w #$0730
|
||||||
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
LDX.w #$031A
|
||||||
SEP #$30 ; 8 bit mode
|
JSL $1BC97C ; Overworld_DrawMap16_Persist
|
||||||
INC.b $14 ; Do tiles transfer
|
SEP #$30 ; 8 bit mode
|
||||||
.notfirstframe
|
INC.b $14 ; Do tiles transfer
|
||||||
JSR ShakeScreen ; make the screen shake
|
.notfirstframe
|
||||||
INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer
|
JSR ShakeScreen ; make the screen shake
|
||||||
BNE .wait
|
INC.b $C8 : LDA.b $C8 : CMP.b #$1E ; Load and compare timer
|
||||||
INC.b $B0 ; increase frame
|
BNE .wait
|
||||||
STZ.b $C8 ; reset timer for next frame
|
INC.b $B0 ; increase frame
|
||||||
.wait
|
STZ.b $C8 ; reset timer for next frame
|
||||||
RTS
|
.wait
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
Frame7:
|
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
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
; Castle Drawbridge
|
; Castle Drawbridge
|
||||||
|
|||||||
Reference in New Issue
Block a user