Made in C# and targetting .NET framework 2.0.
Some time ago I put out a sample utility which let people insert .wavs to replace the samples SMW used. Problem was that changes were global which really limited its use. This is how the new one works:
-On first use, you point to a small amount of free space where a table and a small hack is inserted into the level loader.
-You create banks based on the default set which are inserted in a given bank # of your SMW ROM. You can edit banks seperately, so there's no forced global changes. For sake of convienence, it checks if they're a RATS tag in the given bank to stop you from erasing anything important.
-You assign each of the 512 levels to a bank, they all initially start by using the default ofcourse.
-A feature to export / important sample banks is there, so if you make custom music with special samples you can include a .bin file to insert into your ROM, to allow for more authentic conversions.
The increase in load time is noticeable (hey, it's a 2Mhz cpu trying to upload to a 1Mhz cpu) but it's not that bad, I think. There's no support for OW tracks, sorry.
SNESSOR or SNESSOR95 is a nice source for .wavs, particularly if you're making a port.
Here's the download, and please make backups if you want to use it...
The side effects are important to consider if you want to use this tool...
The SPC700 needs to recieve an extra 32kb of data everytime a level is loaded. It's a horribly slow process and it adds about a second or two to the load times of levels. It does not effect in game slowdown at all.
Normally in SMW if an exit is taken and the song of the old level matches the song of the new level, the song keeps playing. Since the SPC can't key notes at the same time it recieves data, the song has to be interrupted to upload the sample bank and then restarted. The hack forces the song to restart regardless.