I've been trying to find a way to rip isolated sound effects from the GEN game Quackshot. Unfortunately the sound test function only plays music, and the music can't be turned off in-game. Does anybody know of a way to do this?
You should be able to rip sound effects with Gens Kmod. You can disable sound channels with it and isolate the sound effects. I've been using this to rip voice sounds from ToeJam&Earl Panic in Funkotron.
yeeeaaaahh... kinda. If the SFX are strictly PCM (like a voice sample), yes. If the SFX rely on FM at all but I've turned off FM so as to not hear the music, then I also turn off FM for the SFX.
Quackshot uses a variant of the SMPS sound driver, the same one used by most Sonic games. You can disable the music by looking for the bytes 'DA A9 04' (a conditional branch to the start-music subroutine) in the ROM, and replacing them with 'D8 00 00' (a conditional return and two nops). EDIT: Also, if you'd like to 'enable' SFX in the sound test, go to offset 0x4C20 in the ROM. Starting there are the values '84 88 8E 89 85 86 8A 96 87 8B'. These "sound IDs" represent what sound each option in the sound test plays (Duckburg plays 84, Mexico plays 88, etc). According to the SMPS driver, music sound IDs range from 0x80 to 0x9F, SFX sound IDs are 0xA0 to 0xEF, and Special SFX sound IDs are 0xF0 to 0xF7. Simply change any of those sound IDs to the SFX you want to hear, and you can play it in the sound test. On an unrelated note, QuackShot seems to use an object system almost exactly the same as S1's. Its earlier version of the routine SST is a funny sight.
Clownacy: thanks for the detail... Now, for someone like me who has no idea how to do any of what you suggested: could you do some sort of ROM hack or IPS patch, since it sounds like you know exactly what to do? Thanks either way.
Just use a hex-editor. All you gotta do is open the ROM in it, then CTRL+F to find the bytes I'm talking about. Actually, I just remembered cheat codes exist. Disable the checksum, so the game doesn't red-screen: 00040A:4E71 00040C:4E71 Disable music: 078940:D800 078942:00FE Change the Duckburg entry of the sound test to whatever you want (replace XX with the sound ID of the sound you want to play): 004C20:XX84
Clownacy: I input these codes in Kega, but it didn't have any effect. Do I have no idea what I'm doing? Nevermind: I finally figured it out!