; ---------------------------------------------------------------------------
; Subroutine to delay the program by ($FFFFF62A) frames
; ---------------------------------------------------------------------------
; ||||||||||||||| S U B R O U T I N E |||||||||||||||||||||||||||||||||||||||
DelayProgram: ; XREF: PauseGame
move #$2300,sr
loc_29AC:
tst.b ($FFFFF62A).w
bne.s loc_29AC
rts
; End of function DelayProgram
I imagine the data located at the adress ($FFFFF62A) is decremented at each V-interrupt until it reach 0 value.
So a infinite loop would mean that v-interrupt subroutine is not executed by the core
Last edited by mickagame on Tue Feb 09, 2021 7:40 pm, edited 1 time in total.
PC = 0x000018A8
PC = 0x000018AA
PC = 0x000018AC
V-Int!
PC = 0x000018B0
Write Addr : 0x00FFFDF6, data : 0xFFF62A -> 0x0000FF1F
PC = 0x000018B4
Write Addr : 0x00FFFDF6, data : 0xFFF62A -> 0x0000001F
PC = 0x000018B6
PC = 0x000018B8
PC = 0x000018BA
PC = 0x000018A8
PC = 0x000018AA
PC = 0x000018AC
PC = 0x000018B0
Write Addr : 0x00FFFDF6, data : 0xFFF62A -> 0x0000FF1F
PC = 0x000018B4
Write Addr : 0x00FFFDF6, data : 0xFFF62A -> 0x0000001F
PC = 0x000018B6
PC = 0x000018B8
PC = 0x000018BA