Sound Hacking/NeoGeo Pocket

From vgmrips

Advanced Hacks

Crush Roller

The following hack changes the music that plays when entering the "Collection" screen.

offset  hex patch       description
001CD6  30 -> 00        stop music on title screen
001EA0  83 -> 00        prevent "select" sound effect from playing on title screen
003FAD  11 -> xx        set sound bank ID for "Collection" screen
003FB7  31 -> xx        set music ID for "Collection" screen

Valid sound bank IDs are 00~1D.

You must set the music ID to bankID+20 or the game will remain silent. (i.e. bank ID 00 → music ID 20, bank ID 1D → music ID 3D)

Further hacking info:

The game loads new songs the following way:

LD      (0x4EE8), BankID
CALL    0x2001E3            ; LoadSoundBank
LD      (0x4EE8), MusicID
CALL    0x2001CE            ; PlaySoundByID

A safe way to figure out where a specific music/sound effect is played is to set a breakpoint at 2001CE, trigger a music/S.E., wait for the emulator to stop and then execute a "Step Out". You end up right below the instruction that triggered the sound.

There is also an archive CrushRoller_SoundAnalysis.7z with extracted music/SFX data. The file sound/SndGrp_Groups.asm lists the contents of each sound bank.