I hope this is the right spot for my hack idea/question (apologies if it's not). So, I've been trying to figure out how to replace musing in Sonic 3. I've been looking at the Sonic and Knuckles Disassembly and I think I know where to start. I wanted to use the 10 Sonic 3 prototype/PC tracks in the final game. I grabbed the Sonic 3 prototype 1993-11-03 SMPS rip and what I tried replacing (for instance) "skdisasm-master/Sound/Music/Sonic 3/Sonic 3 Knuckles.bin" with the "S3Proto_1993-11-03_SMPS-Rip/1F Knuckles' Theme.s3k" file and just rename the .s3k file to "Sonic 3 Knuckles.bin". When I try running "python buildS3.py", I get this: Building 's3built.bin' Cleaning previous build Assembling .p file ERROR: Assembler returned 2. Finished! When I look in the "skdisasm-master/Build/" folder and look at s3builtErrors.txt, I see this: > > >s3.asm(120159) ORG(4): error: too much stuff before org $200000 ($7F20 bytes) > > > error "too much stuff before org $\{$200000} ($\{(-.diff)} bytes)" Am I going about this the complete wrong way?
It's probably best to use the Flamedriver disassembly and the ASM versions of the music. Edit: oh wait, Sonic 3... Yeah unless you can get flamedriver working in it, you're going to have a really tough time doing anything with the binary blob that is the current S3 sound driver, sorry.
The problem with using the S3 sound driver as a binary file is that the sound driver has pointers to each sound file coded into it, so you either have to keep everything in exactly the same location, which means songs can only be as big as they were originally or smaller, or you have to dig into the binary blob, find the pointers, and update them manually.