Helping out by Samuel at 12:12 PM EST on March 22, 2006
I want to help this site and Zophar rip the music from NES, SNES, and N64 games. I've been looking into it, but I'm kinda confused. Could somebody post step by step instructions on how to do this? I wanna be able to rip the music from roms, from the three systems I listed above. Do you have to do things differently for each system or are they the same? Please let me know. Thanks.
I first choose a random game, and make a savestate. After I analyse it in IDA, I usually look for functions that have "Seq" in them, and then I look for what calls them, and make a breakpoint there. I then proceed to kill all video controls and anything else that's unneeded.
However you will need to know MIPS r4000 assembly to do this.
I have no idea how to do any of this, but I really wanna know how. I'm very interested in it and I wanna help. What do I need? I use Windows XP. The games I wanna get done are Gauntlet Legends (N64), Super Conflict (SNES), and some NES games also.
Check SNES Music.org for the SPC set. If it's not there, you can try to use ZSNES to get the SPCs. Check the buttons and controls, as there should be a "dump SPC" key, or something. Right before the song you want starts playing, hit that button, and it will make a SPC file of that song.
For NSF (Nintendo Sound Format) files, you'll need to know the NES CPU assembly language. I don't remember the name of that chip, but if you look through the Zophar.net music section, I'm sure you can find hints and tips and such about what to look for to get started for that one.
For USF ripping, you'll need to know MIPS r4000 assembly language. Look in the PSF section of Zophar.net. There's a helpful file there that gives an idea/walkthrough of ripping PSF files. Ripping PSFs is quite similar to ripping USFs, so reading that document is a really good idea. Also, check the FAQ page in the USF section here, at USF Central. Beyond that, it's mostly guesswork. Good luck, but if you don't read through all those documents, and follow the walkthroughs provided, then I highly doubt you're going to get anywhere when trying to rip USFs/PSFs... Mouser X over and out.
Thanks. I'll look into all of that. I didn't find Super Conflict (SNES) on that site or Zophar. The music in that game kicks ass and has a lot of bass too. Too bad it isn't listed. :(
For NSF (Nintendo Sound Format) files, you'll need to know the NES CPU assembly language. I don't remember the name of that chip, but if you look through the Zophar.net music section, I'm sure you can find hints and tips and such about what to look for to get started for that one.
That's the one thing that confuses me the most is computer language. Is ripping the music time consuming? How long does it take for NES, SNES, and N64 games? I'm guessing the N64 is more difficult to work with.
Good luck! Personally, I do not have the time to put toward music ripping, but I am very happy to see a new ripper emerging. Thank you for your effort.
Yes, it is time consuming. Whether USF ripping is more or less difficult than NSF or PSF, I don't know, but SPC is usually quite easy. From here: If you play Super Nintendo games with ZSNES or SNES9x, you can easily get a flawless SPC file by capturing the song that you hear (F1 > Save SPC in ZSNES). I can rip an easy N64 game in under an hour (but not much). YMMV.
If you're interested in NSF files, check to see if they've been ripped recently: http://www.angelfire.com/nc/ugetab/NSFList.txt
http://www.angelfire.com/nc/ugetab/
or request them politely, and wait patiently for someone to rip your freebie NSF: http://nesdev.parodius.com/bbs/viewforum.php?f=6
As for how long it takes to rip an NSF, my current method, combined with about 65 NSFs worth of experience, tends to take about half an hour to locate routines(I have a lot of related code-hacking behind the methods), a few more minutes to put the banks into a pre-made template(just ripped and defaulted from another NSF), and fill in the template's fields with the gathered data. If there's a problem, the debugging process can last from 15 minutes to 6 or more hours, depending on how obvious the problem is, and how seriously I want the music ripped. The first rip, no matter how easy, is almost definately going to push your buttons in a bad way since you'll be jumping in without any techniques to use. I spent about 3 days making my first NSF, but now that I've learned some tricks with FCEUXDSP, simpler ones tend to go towards 1 to 2 hours of work. Some of the techniques can be used with BGB to aid in ripping simple GBS files.
I jumped into the debuggers I know without doing much studying, so if you're the kind of person who can just jump in and try until you succeed in something, then go for it.
Ripping SPCs is a no-brainer comparitively. Just start dumping the SPC in ZSNES moments before the song starts. Creative use of save-states followed by SPC testing can help make a better rip. On the other hand, they provide virtually no information for crafty game hackers trying to switch out music. If you're looking for music that won't play in the game, then you had better learn a little bit about Geiger's SNES9X Debugger, and make trace logs of writes to 002142/002143 right before the music changes in the game, or trace forward from any available sound test, or music changing Game Genie code's referenced command, up to the point that those values get written.
If I want any more N64 games, I'll just wait patiently for someone else to do them, because I don't have the kind of desire to go rip them myself. Same for PSX.