Sound Hacking/Sharp X68000

From vgmrips

These are only applicable to MAME unless stated otherwise.

Simple Triggers

Game Developer Music Trigger + Comments
Group X Compac Inc. maincpu.b@568c0 = 0xXX
maincpu.w@53128 = 0x4e71
01~09 = music, sfx

Note: The edit to 0x53128 is to disable the menu timer.
From there, you write to 0x568c0 to select the song/sfx,
then select between "Music On" and "Music Off" to start/stop them.

Souhou Blue Phoenix Stillrise maincpu.b@67aa2 = 0xXX 00~08 = music, 09 = stop

Note: Only works in the Music Test menu and you have to press the "B" button to activate the song.

File swapping

For this section, MAME and XM6 2.05 can be used here.

Lenam: Sword of Legend

Lenam: Sword of Legend uses a modified version of OPMDRV with a PCM packer(P.X), LZSS-compressed MML files(.MUS), and soundbank files(.SND) for the internal sound system.

Majority of the songs are stored in the System disk, while the Opening(oping.mus) and Title(TITLE.MUS) songs are in the Opening disk uncompressed. Some songs use the AKI2.SND or OPING.SND file, here's the following:

Music File(.MUS) Sound Bank(.SND)
DAN AKI2
END1 AKI2
TOWN1 AKI2
MAZE AKI2
CAS AKI2
IV1 AKI2
IV2 AKI2
IV3B AKI2
IV4 AKI2
SLEEP AKI2
TITLE OPING
OPING OPING
OVER/LM9 OPING
LM1 OPING
LM2 OPING
LM4 OPING
LM6 OPING
LM8 OPING
STOP N/A


It's important that you don't swap out the SLEEP.MUS file or the game will not start. Additionally, the driver is buggy so some songs will not play correctly at certain sections, which is why I provide this save file where you can swap between two different songs(MAZE.MUS and TOWN1.MUS) easily.

Pitapat

Pitapat uses the PMD x68k driver and plays the loading song(PP16.M) until the player starts the game. The song uses a separate sample bank(PIT_OMAKE.P), so to correctly play the other songs(PP00.M~PP15.M) swap it with the other sample bank(PITAPAT.P).

Advanced Hacks

Most of these are done while the game is loaded in.

Bakuretsu Aniki

Set breakpoint @ 0x86428

offset  hex patch               description
86428   4e71                    
8642a   70xx                    ;Load in Song

Valid Music IDs : 0b~10 = music
Note: The songs will load in as you navigate through the menu.

Dash Yarou

Set breakpoint @ 0x2af1a, then edit the following offsets and set PC @ 0x2af14

offset  hex patch               description
2af14   70xx                    ;Load in Song
2af16   6100 xxxx               ;Routine for SFX/Music
2af1a   60fe                    ;Freeze

Play Music Routine = 0xd9dc, Play SFX Routine = 0x14dc
Valid Music IDs : 00 = stop, 01~05,07~09,0b~10 = music, 13~2e = sfx

FIRE STORM

Set PC @ 0x4b038

offset  hex patch               description
4b038   700x                    ;Start/Stop Music
4b03a   72xx                    ;Load in Song
4b044   60fe                    ;Freeze

Valid Driver Commands : 0 = stop, 2 = start
Valid Music IDs : 00~08 = music

Galaga '88

Search for 0C07 003F 6708 within Disk A and change 6708 to 4e71 to play the Arrange Mode Ending song.

Gemini Wing

offset  hex patch               description
2abae   70xx                    ;Load in Song

Valid Music IDs : 01~0f,34,35,39 = music, ff = stop
Note: You will have to load in the demo, then press the "A" button to enter the main menu which will load in the song. You need to exit out of the demo quickly, so you don't have sfx playing while logging.

Grandi Florum: Mischief of Iveris

Set PC @ 0x100000

offset  hex patch               description
100000  720x                    ;Start/Stop Music
100002  74xx                    ;Load in Song
100004  4e40                    ;Start Music Routine
100006  60fe                    ;Freeze

Valid Driver Commands : 0 = stop, 1 = start
Valid Music IDs : 00~14

Gravity Response

Set breakpoint @ 0x12d2c

offset  hex patch               description
12d2e   700x                    ;Load in Song
12d34   60fe                    ;Freeze

Valid Music IDs : 00~0d = music

Mahou no Shooter Putchin Plin

Set breakpoint @ 0x8d1f2

offset  hex patch               description
8d1f2   700x                    ;Load in Song
8d20a   60fe                    ;Freeze

Valid Music IDs : 01~03 = music

Mi ni Ikuzo! Hedgehog

Set breakpoint @ 0x3adfc

offset  hex patch               description
3ae42   700x                    ;Load in Song
3aeac   60fe                    ;Freeze

Valid Music IDs : 00~03 = music

Namachuukei 68

Set breakpoint @ 0x2aff2, then edit the following offsets

offset  hex patch               description
2afec   4e71                    
2afee   4e71                    
2aff0   70xx                    ;Load in Song

Valid Music IDs : 40~4F, 62, 65 and 69~6D = music, 5f = stop
Note: The songs will load in as you navigate through the menu.

Prote Pruste

Change byte @ 0xc8e60 from 62 to 60 within the disk to disable sound effects in the sound test.

Shufflepuck Cafe

Set breakpoint @ 0x6a5dc

offset  hex patch               description
6a5e6   01xx                    ;Load in Song
6a5ea   60fe                    ;Freeze

Valid Music IDs : 00~0e = music

Star Luster

offset  hex patch               description
ac9ff   90                      ;increase sound test limit

Vulqar

Set breakpoint @ 0x1175e6

offset  hex patch               description
1175e6  700x                    ;Load in Song
1175ec  60fe                    ;Freeze

Valid Music IDs : 00~01,0b~0d = music