Register - Login
Views: 99845948
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-04-22 12:24:13 AM
Jul - The Cutting Room Floor - Out of This World (SNES) New poll - New thread - New reply
Next newer thread | Next older thread
kode54
Member
Level: 17


Posts: 21/55
EXP: 22964
For next: 1779

Since: 08-29-13

From: Riverside, CA, US

Since last post: 8.4 years
Last activity: 5.3 years

Posted on 10-30-13 04:38:21 AM Link | Quote
Is there a music code for this game? I'd love to rip the entire soundtrack to SFMs. Or possibly trim the initialization code down to just starting the music and locking up, so I could optionally produce an SNSF set, not that I have a proper player for those.
kode54
Member
Level: 17


Posts: 23/55
EXP: 22964
For next: 1779

Since: 08-29-13

From: Riverside, CA, US

Since last post: 8.4 years
Last activity: 5.3 years

Posted on 11-01-13 01:02:19 AM Link | Quote
Well, thanks to Seru-kun / LuigiBlood, I have an offset into the ROM image for a music number table, 0x4152, which works with both US-NTSC and PAL versions of the game. The problem is, I have to find a musical event which does not occur while the game will be generating sound effects. The first music entry, which occurs when you first surface from the pool at the start of the game, is immediately followed by the sounds of footsteps and/or maybe the monster in the background appearing.
KungFuFurby
Member
Level: 12


Posts: 19/25
EXP: 7826
For next: 95

Since: 08-10-11


Since last post: 8.3 years
Last activity: 2.6 years

Posted on 11-03-13 02:49:43 PM Link | Quote
I'm working on that through the Title Screen (which does not use that particular array). I have the music part, but I'm hunting down what I suspect is a sample pack modifier at the moment.

It's probably the best case scenario for this particular game.
Bisqwit
90
Level: 22


Posts: 94/94
EXP: 55468
For next: 2882

Since: 03-12-12

From: Finland

Since last post: 8.5 years
Last activity: 6.6 years

Posted on 11-03-13 03:10:04 PM Link | Quote
Try disabling the invokement of sound effects.
KungFuFurby
Member
Level: 12


Posts: 20/25
EXP: 7826
For next: 95

Since: 08-10-11


Since last post: 8.3 years
Last activity: 2.6 years

Posted on 11-03-13 05:54:12 PM Link | Quote
That's easily done with a hex editor once I know what triggers the sound effects... the catch is that usually you have lots and lots of calls for sound effects.

In other news, I have a Title Screen music modifier ready. Here are the PAR codes for the US version:

Out of This World
Title Screen Music Modifier
Music ~ 80D990xx
Sample Pack ~ 80D462xx
The range for the music is 00-01, 03-05, 07, 09-0C, 0E. 02, 06, 08 are duplicates of 00. 0D is a duplicate of 0C. There is no more music after 0E.

The unused song is located at 05.
kode54
Member
Level: 17


Posts: 29/55
EXP: 22964
For next: 1779

Since: 08-29-13

From: Riverside, CA, US

Since last post: 8.4 years
Last activity: 5.3 years

Posted on 11-11-13 09:03:58 AM (last edited by kode54 at 11-11-13 12:13:13 PM) Link | Quote
Excellent. Now how do the sample packs relate to the various song numbers? Identical, or do they pair up in any particular way?

EDIT: Quick reference code for anyone attempting to patch the game for SNSF use, you just need this PAR code: 80D99580+80D996FE

EDIT 2: 09 and 0A use pack 00. 00-01, 03-05, 07, 0C, and 0E all use sample pack 01. 0B uses pack 02.
KungFuFurby
Member
Level: 12


Posts: 21/25
EXP: 7826
For next: 95

Since: 08-10-11


Since last post: 8.3 years
Last activity: 2.6 years

Posted on 11-11-13 04:07:44 PM (last edited by KungFuFurby at 11-11-13 04:16:01 PM) Link | Quote
I'm nervous about using 80 FE (which stop the game) in games that stream their note data because of their real-time nature, but the reason why it probably works here is because the music uses the interrupt routine to play back the music. Not guaranteed to work every time, but it works here.

Sample packs pair up in a particular way. None of the songs that use sample pack 01 even remotely work on sample packs 00 and 02. In other cases, samples can be swapped out.

Reply to edit 2: Oh! Really? Now that I listen to it, there is at least one sample that is swapped out in sample pack 02 that song 0B uses. Well done! I couldn't tell in the first place until you showed me the code to stop the game in its tracks. I usually don't try to stop the game like that because I see that as particularly dangerous for games that stream their note data in real time... sometimes it results in no music at all (I actually didn't test that theory on any of the games because I felt like I was probably going to get nothing... one of the games when I did fool around with the music did indeed end up on a black screen, but I got away with the music modifier because the music still played perfectly fine). The only way that can work is if the game processes the music data in the interrupt routine. So I usually take a safer route by checking where in the game I can let the music play indefinitely without SFX interruption. I have a nearly complete set of music modifier for games that cannot be dumped to the .spc format.
kode54
Member
Level: 17


Posts: 30/55
EXP: 22964
For next: 1779

Since: 08-29-13

From: Riverside, CA, US

Since last post: 8.4 years
Last activity: 5.3 years

Posted on 11-12-13 01:10:03 AM (last edited by kode54 at 11-12-13 01:47:18 AM) Link | Quote
I found that it uses pack 02 from disassembly tracing from the tail end of the opening to the beginning of the music from the demo loop. It even starts it in a roundabout way, pushing the three arguments to the sample upload function, then calling two or three other functions before finally calling the sample uploader. That made tracing it from a runtime disassembly a bit annoying.

EDIT: And I only bothered posting that BRA $-2 code because I verified that it left the title music unmolested.
Next newer thread | Next older thread
Jul - The Cutting Room Floor - Out of This World (SNES) New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

27 database queries, 5 query cache hits.
Query execution time: 0.252115 seconds
Script execution time: 0.010815 seconds
Total render time: 0.262930 seconds