Prev: 64784 Up: Map Next: 64832
64802: Hold Menu Music Silence
Used by the routine at Play_MenuMusicTick.
Hold silence while both channel durations are zero, or when Continue_MenuMusicTick takes the clear-carry path into Hold_MenuMusicSilence_Loop. Burns a delay derived from 64655, then returns.
Hold_MenuMusicSilence 64802 LD A,(64655) Load the delay phase from 64655.
64805 CPL Complement it into C as a hold count.
64806 LD C,A
This entry point is used by the routine at Continue_MenuMusicTick.
Timed silent hold used by Continue_MenuMusicTick and the expired-duration path.
Hold_MenuMusicSilence_Loop 64807 PUSH BC Stash BC and AF on the stack.
64808 PUSH AF
64809 LD B,0 Clear B for the inner burn count.
Burn cycles for one silent-hold iteration.
Hold_MenuMusicSilence_Burn 64811 PUSH HL Stash HL on the stack.
64812 LD HL,0 Point HL at 0000.
64815 SRA (HL) Burn cycles with three SRA (HL) pads.
64817 SRA (HL)
64819 SRA (HL)
64821 NOP Timing pad.
64822 POP HL Restore HL from the stack.
64823 DJNZ Hold_MenuMusicSilence_Burn Decrease B and loop to Hold_MenuMusicSilence_Burn while the burn count remains.
64825 DEC C Decrease the hold count in C.
64826 JP NZ,Hold_MenuMusicSilence_Burn If the hold count remains, jump to Hold_MenuMusicSilence_Burn.
64829 POP AF Restore AF and BC from the stack.
64830 POP BC
64831 RET Return.
Prev: 64784 Up: Map Next: 64832