Page 1 of 1
SNES NSPC question
Posted: Thu Nov 12, 2015 4:06 pm
by dougeff
I've been trying to wrap my head around the SNES APU stuff...and I found out that most Nintendo games used the same music engine "N-SPC". I was wondering if anyone has written any tools for writing songs for that music engine? Or really ANY tool for writing SNES songs.
I see tools for making BRR samples. I just kinda don't want to write my own SNES music code. Just the song data.
Re: SNES NSPC question
Posted: Thu Nov 12, 2015 7:53 pm
by Khaz
The only existing tool I know of is "SNES GSS". It seems to do the job, though I have yet to learn how to do anything practical with it.
Re: SNES NSPC question
Posted: Thu Nov 12, 2015 8:10 pm
by 93143
There's also SNESMod, which is kinda the industry standard right now, but as I understand it it's more for chiptunes than games, and it's a pain because it's just a converter and doesn't do hardware simulation for playback. Thus if you want to use a native SPC effect, you have to just use the tracker command SNESMod assigns to it and hope it sounds right after conversion.
A couple of WYHIWYG trackers (besides SNESGSS) are in the works, but I haven't heard much in a while. KungFuFurby is apparently working on a custom engine with a lot of cool features, but I don't know if it will involve tools or if he just prefers to sit down and knock out a track in hex (after whipping up some BRR samples the same way)...
Oh yeah - AddMusicK (well, any variant of AddMusic) seems to target the SMW engine specifically, but with enhancements. There's been a fair amount of work done with that.
Re: SNES NSPC question
Posted: Thu Nov 12, 2015 8:47 pm
by dougeff
Thanks guys. I'll give them a try.
It's amazing how many pages of documents I've had to read to be able to do ALMOST NOTHING with the SNES. But, I will persist.
Re: SNES NSPC question
Posted: Fri Nov 13, 2015 12:23 am
by 93143
I should note that there seems to be more than one version of SNESMod floating around. KungFuFurby and Augustus Blackheart have been adding features:
viewtopic.php?f=12&t=13072
Re: SNES NSPC question
Posted: Fri Nov 13, 2015 9:04 am
by KungFuFurby
93143 wrote:There's also SNESMod, which is kinda the industry standard right now, but as I understand it it's more for chiptunes than games, and it's a pain because it's just a converter and doesn't do hardware simulation for playback. Thus if you want to use a native SPC effect, you have to just use the tracker command SNESMod assigns to it and hope it sounds right after conversion.
A couple of WYHIWYG trackers (besides SNESGSS) are in the works, but I haven't heard much in a while. KungFuFurby is apparently working on a custom engine with a lot of cool features, but I don't know if it will involve tools or if he just prefers to sit down and knock out a track in hex (after whipping up some BRR samples the same way)...
Oh yeah - AddMusicK (well, any variant of AddMusic) seems to target the SMW engine specifically, but with enhancements. There's been a fair amount of work done with that.
Addmusic is the one that's closest to creating N-SPC material.
My engine is delayed due to college work. I've got lots of concepts, just don't have the proper time to do so. Not to mention I never tested the thing even though it compiles... although I'll have to redo it anyways because of my misunderstanding with PCALL opcodes.
I have a few ideas for making converters that will go to this format so that I don't have to code everything in hex, but with no functional engine, then I can't make the converters. Plus, I'm increasingly curious about bass (although I want the original Z80-like syntax rather than the 65816-style syntax... yes, I saw some similarities in SPC700 assembly syntax to the Z80), although I'll have to compile it first (if possible).
I've also done some reverse-engineering of other sound engines, although I don't intend on making custom music for them. In one case, I reverse-engineered the sound engine because I wanted to pull off a feat thought impossible: playing back music from Paperboy 2 on the SPC700. I'm using the original sound engine, and I have already determined that I can in theory pull it off because memory constraints are not a problem (No conversions from original format are needed... not even extra commands for compression!).
You can find my WIP SPC files here.