More NSF Requests
Moderator: Moderators
Ninja Gaiden 2 is fixed. It took a fairly extensive debugging process to figure out that the ripper played with the last 16 bytes of the 9000-9FFF range. They were probably attempting to add some extra code, and forgot to restore the original coding. The song plays correctly now.
I should probably start using the Compare feature in my hex editor when attempting any fixes, so I can tell for certain where things are changed, relative to the original data bank.
http://www.angelfire.com/nc/ugetab/
I should probably start using the Compare feature in my hex editor when attempting any fixes, so I can tell for certain where things are changed, relative to the original data bank.
http://www.angelfire.com/nc/ugetab/
-
- Posts: 1510
- Joined: Thu May 19, 2005 11:30 am
If you mean by "fixed channels" the drum samples, then I guess you're out of luck. I wonder why no one bothers to update the NSF spec to allow for raw DAC output (without halting the song or doing some tricks), as we already have at least three cases where that would be needed.Here's my updated NSF request list.
Battletoads (fixed channels)
-
- Posts: 13
- Joined: Thu Dec 01, 2005 9:32 am
OK, since nobody seems to believe me about Mappy Land, here are some music samples from the game: (copy and paste into address bar)
http://www.freewebs.com/speedyboris/NES ... %201-1.mp3
http://www.freewebs.com/speedyboris/NES ... 20Over.mp3
http://www.freewebs.com/speedyboris/NES ... 0Level.mp3
http://www.freewebs.com/speedyboris/NES ... nd-Die.mp3
http://www.freewebs.com/speedyboris/NES ... %201-1.mp3
http://www.freewebs.com/speedyboris/NES ... 20Over.mp3
http://www.freewebs.com/speedyboris/NES ... 0Level.mp3
http://www.freewebs.com/speedyboris/NES ... nd-Die.mp3
-
- Posts: 1510
- Joined: Thu May 19, 2005 11:30 am
-
- Posts: 40
- Joined: Sun Oct 09, 2005 11:22 pm
http://www.qmtpro.com/~nes/nsf/battletoads_pcm.zip - Battletoads, reripped with RAW PCM (and properly ordered tunes)
May not work with all NSF players, since its INIT routine loops forever instead of returning, but it is supported by the latest build of Nintendulator 0.965 (which fixed a bug in the NSF BIOS to preserve the X register during the PLAY routine interrupt).
It doesn't include the "pause music", though - apparently, it's not part of the music engine.
May not work with all NSF players, since its INIT routine loops forever instead of returning, but it is supported by the latest build of Nintendulator 0.965 (which fixed a bug in the NSF BIOS to preserve the X register during the PLAY routine interrupt).
It doesn't include the "pause music", though - apparently, it's not part of the music engine.
Last edited by Quietust on Fri May 15, 2009 10:23 am, edited 1 time in total.
Quietust, QMT Productions
P.S. If you don't get this note, let me know and I'll write you another.
P.S. If you don't get this note, let me know and I'll write you another.
Then use Nintendulator. The NSF works fine in the emulator or the Winamp plugin(which is a touch less responsive than the emulator), so choose the one you want to use. If NotSoFatso/FCE(UXD)(SP) won't work, it's because of an NSFSpec error that hasn't been corrected within the emulators, not because it was ripped wrong. I can't fix the error with my level of understanding, so I'm also at the mercy of skilled programmers in this matter.
Yes, though it gives it about 4 frames to return before it 'gives up' (by means of a watchdog timer).Anonymous wrote:Does Nintendulator call the play routine before the init routine has a chance to return?
The method by which I ripped the RAW PCM samples is not technically supported within the NSF spec, though it is simple enough to add support for it.
The NSF also is unoptimized (weighing in at a full 32KB), mainly because my NSF optimizer (NSFtool) chokes on it. As-is, it complains that all 20 tunes are bad because the INIT routine never returns. If I hack the NSF to call the raw PCM routine at the end of the Play routine only when a sample is waiting to play (as well as hack the sample playback routine to take out the delay loop), it STILL complains since the PLAY routine takes longer than 1 frame to return.
In order to optimize this NSF, I'd need a special tool that allows the init routine to loop forever.
Quietust, QMT Productions
P.S. If you don't get this note, let me know and I'll write you another.
P.S. If you don't get this note, let me know and I'll write you another.