My emulator actually loop at this place :
Code: Select all
0029AC TST.b $FFFFF62A.w
0029B0 BNE.b *+$FA => 0029AC
Edit :
if found this in a sonic dissasembly :
Code: Select all
; ---------------------------------------------------------------------------
; 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
So a infinite loop would mean that v-interrupt subroutine is not executed by the core