More NSF Requests

Discuss NSF files, FamiTracker, MML tools, or anything else related to NES music.

Moderator: Moderators

User avatar
Gil-Galad
Posts: 321
Joined: Sat Nov 13, 2004 9:43 pm
Location: Ohio, USA
Contact:

Post by Gil-Galad »

ugetab wrote:I know where there are 2 versions available:
http://planetemu.net/index.php?section= ... 237&page=a

I put together a searchable list of NSFs in a text file, sorted under site.

Try using the search feature to find pieces of the game name, if you're missing anything else:
http://www.angelfire.com/nc/ugetab/NSFList.txt
There is also more NSF's in the NSF collection and several that are not on the list. One of them is Final Lap (N106) for instance. Thanks for the long overdue list and yeah that was a heck of a lot of work.
User avatar
Norrin_Radd
Posts: 111
Joined: Mon Jun 20, 2005 5:00 am
Location: BC, Canada
Contact:

Post by Norrin_Radd »

Great list ugetab :D:D

This will make it much easier then having all four pages open in seperate windows as I was doing lol.
Last edited by Norrin_Radd on Wed Nov 09, 2005 4:29 pm, edited 1 time in total.
kingshriek
Posts: 98
Joined: Tue Sep 13, 2005 7:53 am
Contact:

Post by kingshriek »

I've been busy with a move recently, hence the lack of updates. I did manage to rip Nobunaga's Ambition.

Nobunaga's Ambition NSF

I also have a rip of Door Door, but it behaves differently in different players. In NSFplug, it freezes after the first note. In GNSF, the channels are out of sync with eachother. It appears to play just fine in NotSoFatso and FCEUltra. I can't figure out exactly what is wrong with it.

Door Door NSF (inconsistent behavior amongst different players - needs to be fixed)

I've looked at Battletoads some more, and unfortunately, I haven't been able to make much progress in adding the PCM. The PCM loop is rather complicated and has been very resistant in my attempts to make it a finite routine.

@ugetab: Thank you for your NSF rips and the NSF compilation list. I just want to point out that the link you have listed for my page is out of date (I used it as a temporary page when my main one was down). For my current one, use -> http://h1.ripway.com/kingshriek/
User avatar
Norrin_Radd
Posts: 111
Joined: Mon Jun 20, 2005 5:00 am
Location: BC, Canada
Contact:

Post by Norrin_Radd »

Thanks for the new NSFs kingshriek! I noticed you have a GBS rip on your site now too. Never heard of the game before but the music is definitely rad sounding

Sorry to hear about the move. Moving is easily on my top 3 list for worst things I've ever had to do. I hope you made it through unscathed.
ugetab
Posts: 335
Joined: Sat Oct 29, 2005 12:03 am
Contact:

Post by ugetab »

I updated the list with the NSFColl.zip file contents from Kevin Horton's site:
http://www.angelfire.com/nc/ugetab/NSFList.txt

It wasn't really hard to compile. I used Excel's web page importing feature to handle the tables, and just copied the names to the document(paste special>unformatted text). For NSFColl.zip, I just used cmd, browsed to the unzipped archive, and did a 'dir /B /S > NSFColl.txt', and trimmed out the folder names and the path. A bit of minor formatting with a free word processor removed excess spaces before and after the names in the whole document. It wouldn't be hard to completely redo a section the next time it needs to be updated.


Also, since it would feel like a waste just to include that info...

I don't know how much help, if any, this will be...but here's a few codes that may lead to the games being more rippable, and at least, provide the music through codes and an FCE emulator...

Bases Loaded 1 Title Screen Music(Uses a set of addresses to load pre-assigned values. Needs bankswithing, which I can't handle yet. Should use a JMP (Q), with an array of values to load, so the jump can be done):
8A8E 45

8A8E 5C

8A8E 6E

8A8E 80

8A8E 9C

8A8E B3

8A8E DC

8A8E F3

8A8E 05
8A8F CD
8A8E 17
8A8F CD
8A8E 29
8A8F CD
8A8E 40
8A8F CD
8A8E 60
8A8F CD

Bugs Bunny Crazy Castle Title Screen Music(Couldn't find the right Init address):
8114 ??

Monopoly Title Screen Music(Couldn't find the right Init address):
A87C ??
kingshriek
Posts: 98
Joined: Tue Sep 13, 2005 7:53 am
Contact:

Post by kingshriek »

Looking at RAM, it looks like Bases Loaded uses a driver that I've seen pop up a lot (some Jaleco titles, Datach titles, others).

For Bases Loaded, try this. In the init routine, write #$FF to $45D, $472, $487, $49C, $4B1, $4C6, $4DB (these addresses differ in different games, but they must have #$FF in them for the music to play).

For choosing the tune, the channels are done independently by writing to $FC and then JSRing to $AD8E (on the 0x12000 page). So for the title screen, do something like:
LDA #$00, STA $FC, JSR $AD8E,
LDA #$01, STA $FC, JSR $AD8E,
LDA #$02, STA $FC, JSR $AD8E,
LDA #$03, STA $FC, JSR $AD8E.

$FD may need to have the value #$84. I'm not sure about this - haven't checked.

Not all tunes use 4 channels, some will use less. For example, another tune seems to use only #$0A, #$0B, #$0C.

To handle this, you can either use 4 tables (one for each channel, write #$FF to $FC if the channel isn't used) or use a loop with a table giving the number of times to loop through for each tune based on the number of channels.

I haven't tried this particular rip at all so I don't know if this will work, but based on my experience, I think it will.
kingshriek
Posts: 98
Joined: Tue Sep 13, 2005 7:53 am
Contact:

Post by kingshriek »

Got Slalom and NARC done. Both games continuously overflow the stack and Slalom required a counter to be reset every other play routine call, so both were somewhat tricky rips.

NARC NSF
Slalom NSF
ugetab
Posts: 335
Joined: Sat Oct 29, 2005 12:03 am
Contact:

Post by ugetab »

This is probably already documented somewhere, but the way to make non-bankswitched tunes play in FCEU(and hence, it's debugger) is to give it some default banks to use.

If the load address is 0x8000 and has 0x8000 data, number 0x00 through 0x07 at 0x70 through 0x77. If the load address is 0x8000 with 0x4000 data, number 0x00 through 0x03 at 0x70 through 0x73. If it's 0xC000 with 0x4000 data, number 0x00 through 0x03 at 0x74 through 0x77. This should be pretty simple to extrapolate to anything non-standard.
User avatar
Quietust
Posts: 1920
Joined: Sun Sep 19, 2004 10:59 pm
Contact:

Post by Quietust »

The official NSF spec states that non-bankswitched 'contiguous' NSFs should have all of the default bank numbers (header offsets 0x70-0x77) set to zero, and a vast number of NSFs follow this rule - if FCEU does not support this, I would consider that to be a significant bug.
Quietust, QMT Productions
P.S. If you don't get this note, let me know and I'll write you another.
ugetab
Posts: 335
Joined: Sat Oct 29, 2005 12:03 am
Contact:

Post by ugetab »

Well, even if I end up changing it back to the correct set of null values, it's so much easier to just set a break point on the init address, and 'step over' all the jsrs to see if any of them are leading to dead code, as has been happening with that Bases Loaded rip I was working on. Seems like I may just have some chance of making it work if I can work on it with that debugger...or at least know why I won't be able to make it work.

(I have the rip playing not 15 minutes after throwing the code around in that debugger)

(It's done, thanks to the info kingshriek gave me. That was exactly what was needed for that rip to work, once I added the missing 0x4000 bytes of code needed)
User avatar
Norrin_Radd
Posts: 111
Joined: Mon Jun 20, 2005 5:00 am
Location: BC, Canada
Contact:

Post by Norrin_Radd »

Wow, impressive work on these two kingshriek! I remember you saying that NARC was un rippable! So I can believe that it was a pain in the ass. Two more down :)

ugetab you are a better man than I. Congrats on the rip. Can we look forward to seeing it soon?
ArnoldRimmer83
Posts: 40
Joined: Sun Oct 09, 2005 11:22 pm

Post by ArnoldRimmer83 »

ugetab wrote:I know where there are 2 versions available:
http://planetemu.net/index.php?section= ... 237&page=a
Two of the rips are for the arcade VS Excitebike, which has different tunes from the FDS version. The current rip of FDS Excitebike is missing a few songs, notably the main theme that plays when you're racing on a track.

Another game that could use a rensf is Rush N Attack. Its missing 3 songs, the ending theme, the game over theme, and the theme that plays when you go underground. (This was something you could do in the FDS version Green Beret, that Rush N Attack apparently removed for some reason. After destroying land mines, a ladder would sometimes appear and you could climb down it.)
ugetab
Posts: 335
Joined: Sat Oct 29, 2005 12:03 am
Contact:

Post by ugetab »

The Bases Loaded rip is with the other ones I made at http://www.angelfire.com/nc/ugetab/

I finally found the error in Bugs Bunny Crazy Castle, so that's up now as well. It just needed a lookup table address to be loaded on init.

Also, in FCEUXDSP, to be able to use the Hex Viewer on an NSF file, load a game, open the hex viewer, then load the NSF you want to debug.

Found and fixed all the init errors I made in Monopoly, so it works now.

Added Bases Loaded 2. It's unsorted, because the requester seems to want sound effects in his NSFs, and there's only 1 bit of looping music after the main collection of them, that I heard.
User avatar
Norrin_Radd
Posts: 111
Joined: Mon Jun 20, 2005 5:00 am
Location: BC, Canada
Contact:

Post by Norrin_Radd »

Whoa! Big updates today :)

ugetab, I have your site in my favorites now too. Thanks for the bases loaded!

Gil some of these ones you found are fantastic. The Aa Yakyuu Jinsei Icchokusen one is quite tastey! As well, Dino Riki is some hi quality stuff!
Post Reply