Hacking for VGMs

Got a new set? Wanna point something out with an old set? Wanna update an existing set? Here's your place to do it!
ValleyBell
Board Regular
Posts: 128
Joined: Mon Aug 30, 2010 7:10 am

Hacking for VGMs

Post by ValleyBell »

Mickey's Ultimate Challenge, for helping Jason Ee with his pack:

Code: Select all

007A57      song ID for title screen (default: 09h)

verified BGM numbers are 01h..0Dh, the GEMS sequence file contains 80h songs in total

Make the game stay on the title screen forever (overwrite existing bytes):

Code: Select all

offset      byte code   ASM code            comment
------      ---------   --------            -------
007B8C      4EB8 05A6   JSR     $0005A6.w   ; wait for VSync
007B90      60FA        BRA.S   *-4         ; and do that forever


Additional patches for quick screen fading (i.e. less annoyance when booting the ROM)

Code: Select all

00712A      6A00 -> 6000    ; SEGA screen
00786C      6A00 -> 6000    ; Copyright screen
007926      6A00 -> 6000    ; Hi Tech Expressions screen
007A02      6A00 -> 6000    ; Designer Software screen
You do not have the required permissions to view the files attached to this post.
The789Guy
New Around Here
Posts: 18
Joined: Sat Sep 26, 2020 11:49 am
Location: Mesquite, TX

Hacking for VGMs

Post by The789Guy »

Does anyone have/know any Game Genie or PAR music modifier codes for Kawasaki Superbike Challenge? I was able to rip the main menu and options themes, but I still need to rip the race results theme, and there might be some unused songs.
The789Guy
New Around Here
Posts: 18
Joined: Sat Sep 26, 2020 11:49 am
Location: Mesquite, TX

Hacking for VGMs

Post by The789Guy »

ClayFighter (U) [!]

Interplay logo music / sound effect / DAC/PCM sample modifier:

000B36:4475
000B2C:00??
ValleyBell
Board Regular
Posts: 128
Joined: Mon Aug 30, 2010 7:10 am

Hacking for VGMs

Post by ValleyBell »

Patch to disable the menu screen timer in Death and Return of Superman, The (U):

Code: Select all

003FD6  536D -> 382D  ; disable timer
012BDF  32 -> 00 ; skip the copyright screen (which can't be skipped otherwise)

The timer is located at address FF9540 (in 68k RAM) and it used for all screens, it seems.
The789Guy
New Around Here
Posts: 18
Joined: Sat Sep 26, 2020 11:49 am
Location: Mesquite, TX

Hacking for VGMs

Post by The789Guy »

Dude, thanks.
ValleyBell
Board Regular
Posts: 128
Joined: Mon Aug 30, 2010 7:10 am

Hacking for VGMs

Post by ValleyBell »

Kawasaki Superbike Challenge

With a PAR code, you can easily rip songs from the menu screen.
  1. so to the Game Options menu
  2. turn the music off
  3. edit RAM address FFE8CF to the song you want to play
  4. turn the music on -> it will play the song ID from FFE8CF
The "PlaySong" function is located at ROM offset 0DFE4C.

Adventures of Rocky and Bullwinkle and Friends, The

You can patch the ROM to play a certain song at the SEGA screen.

Code: Select all

03C29E  05 A4 -> 00 02 ; ignore bad ROM checksum
04C0F7  03 -> xx ; where xx = sound IF
068B9C  6A -> 60 ; make it freeze on the SEGA screen

The "PlaySong" function is located at ROM offset 05618A.
The789Guy
New Around Here
Posts: 18
Joined: Sat Sep 26, 2020 11:49 am
Location: Mesquite, TX

Hacking for VGMs

Post by The789Guy »

To simplify:

PAR code FFE8CF -- play song code.

With GEMSPlay, I found out that 00 and 05 are the song codes.
User avatar
nensondubois
Posts: 23
Joined: Sun Sep 23, 2007 12:13 am
Contact:

Hacking for VGMs

Post by nensondubois »

Waterworld (E) (Prototype).gen
Title screen music modifier
0013B4:70??
Unused songs: 02, 03, 04, 05, 0B
ValleyBell
Board Regular
Posts: 128
Joined: Mon Aug 30, 2010 7:10 am

Hacking for VGMs

Post by ValleyBell »

Newman-Haas Indy Car Racing

General ROM locations:

Code: Select all

StopMusic:              070000
PlayMusic:              070004 (Register D0 = sound ID)
UpdateMusic:            070008
LoadZ80Driver:          07000C
SilencePSG:             070014
UpdateSFX:              07001C
StopSFX:                070028
DoCarEngineSFX:         070030
Music Pointer Lists:    07173C (20h bytes per song, 6 songs)
Sound RAM:              FF8400


You can play a song on the title screen by applying the following patch:

Code: Select all

offset  hex bytes       ASM code        description
1C8C72  4E71            NOP             ; skip SEGA screen
1CA4B6  4E71            NOP             ; skip license screen
1C8A8E  4E71            NOP             ; skip Aklaim screen
1C018E  303C 00xx       MOVE.W  #xx, D0 ; set song ID to play (0..5)
1C01A0  60FE            BRA     *       ; freeze game after starting the song (to prevent screen changes etc.)
Post Reply