Expand the music index from $94 to $9F
From Sonic Retro
Revision as of 21:44, 20 December 2015 by Scarred Sun (talk | contribs) (Text replacement - "<asm>" to "<syntaxhighlight lang="asm">")
Revision as of 21:44, 20 December 2015 by Scarred Sun (talk | contribs) (Text replacement - "<asm>" to "<syntaxhighlight lang="asm">")
(Original guide by SoullessSentinel)
To add more music slots to the sound test, search for this code in the level select routine:
LevSel_NoCheat:
cmpi.w #$94,d0 ; is sound $80-$94 being played?
bcs.s LevSel_PlaySnd; if yes, branch
cmpi.w #$A0,d0 ; is sound $95-$A0 being played?
bcs.s LevelSelect; if yes, branch
Change the line:
cmpi.w #$94,d0 ; is sound $80-$94 being played?
So it reads:
cmpi.w #$A0,d0 ; is sound $80-$9F being played?
Then rebuild the ROM.
And now the sound test will have the music slots going up to $9F, instead of $94, however attempts to play empty music slots will crash the sound driver, and possibly lock up the emulator. So, make sure you include a song in every slot.
Note: The disassembly's comments are incorrect. The correct ID ranges are $80-$93 and $94-$9F.