Tweaker and I had talked about these three strange areas of Sonic 3 that started with the same set of data before, and I finally decided to have a look at them. It turns out that all three of them are DAC banks. Because the full sample set was too large to fit into a single bank, they were spanned across three ($E0000 [$81-$9A], $E8000 [$9B-$AA], $F0000 [$AB-$C0]), with the full pointer list and setup table repeated at the beginning of each one (presumeably to avoid performing an extra subtract). For each bank, though, the setup table entries corresponding with data that is stored in ANOTHER bank don't have completely accurate settings (the size setting is 0, for one).
I went through each bank and found the start and end location of each sample and extracted them:
Raw
Decompressed
Wav Files
The raw set are the data exactly as it's stored in-game. The decompressed set were decompressed using jman's "Sonic 1" sample decompressor, and the wav file versions are the decompressed data with a wav header attatched so they can be played back with a wav file player. I get the impression that their "native" playback rate is 11khz, as opposed to the 16khz rate used by some other games, so the wav files were loaded and saved as 8bit 11khz mono. In-game, they're controlled by a playback rate modifier (the first byte in each setup entry), which is why some of them will end up sounding slightly different, and why some files are labeled as more than one sample ID (the same sample played at a different rate)
Sonic & Knuckles contains the first bank with the same data, except that sample $9B was added on. It's songs don't use any of the other samples, though, and so they weren't included, and are read from their positions in the Sonic 3 ROM when they're needed by S3&K
You'll also notice that there's a sample labeled "X" rather than with an ID. That sample is in the last bank, and does NOT have pointer and setup entries (it is unreferenced and unused). It's simply stuck between two of the other samples that ARE used. As for the rest.. how many can you recognize?
I went through each bank and found the start and end location of each sample and extracted them:
Raw
Decompressed
Wav Files
The raw set are the data exactly as it's stored in-game. The decompressed set were decompressed using jman's "Sonic 1" sample decompressor, and the wav file versions are the decompressed data with a wav header attatched so they can be played back with a wav file player. I get the impression that their "native" playback rate is 11khz, as opposed to the 16khz rate used by some other games, so the wav files were loaded and saved as 8bit 11khz mono. In-game, they're controlled by a playback rate modifier (the first byte in each setup entry), which is why some of them will end up sounding slightly different, and why some files are labeled as more than one sample ID (the same sample played at a different rate)
Sonic & Knuckles contains the first bank with the same data, except that sample $9B was added on. It's songs don't use any of the other samples, though, and so they weren't included, and are read from their positions in the Sonic 3 ROM when they're needed by S3&K
You'll also notice that there's a sample labeled "X" rather than with an ID. That sample is in the last bank, and does NOT have pointer and setup entries (it is unreferenced and unused). It's simply stuck between two of the other samples that ARE used. As for the rest.. how many can you recognize?


00