NSF with expansions into ROM?

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

Moderator: Moderators

Post Reply
oldschoolgamer
Posts: 35
Joined: Fri Mar 06, 2015 4:53 am

NSF with expansions into ROM?

Post by oldschoolgamer »

Hi. So basically, I make chiptune a lot, and would simply like to be able to play my music on the real hardware. It's not even about inserting it into a game for now, I simply just want it to play the music. I know that FamiStudio has an option to export an NSF and also a ROM, but ROM export only works for either 2A03 alone or else with FDS.

Right now, I only have a PAL NES, but that's ok because I can just speed and pitch correct the music, I've already written out the table as to what pitch each note needs to be in order to sound correct when run on a PAL system (while being exported with the NTSC pitch table). The reason I needed to do this is because when using FDS, it only supports NTSC for ROM export, but using the table I wrote and exporting it to NTSC with the pitched notes, then forcing it to PAL in an emulator makes it play at the correct pitch, so it should theoretically work on the flash cart I got (some cheap knock off N8).

The PAL vs NTSC thing shouldn't be too much of an issue for what I'm trying to do if the emulator testing I've done is anything to go by, but the problem is that I can't find a way to implement an NSF containing expansions other than FDS into a ROM. Is it possible to implement an NSF into a ROM with these expansions such as VRC6, or am I better off just spending all the extra money buying another cart like the Powerpak or N8 Pro to play NSF files themselves if I see them in stock? Ideally I'd like to find a solution to just implement them into a ROM, but I don't know how complicated this will be.
calima
Posts: 1745
Joined: Tue Oct 06, 2015 10:16 am

Re: NSF with expansions into ROM?

Post by calima »

Adding VRC6 export to famistudio shouldn't be a massive undertaking, but if you're not a programmer, buying a N8 pro may be easier. Krikzz has been getting things running again, and stocks are improving.
User avatar
rainwarrior
Posts: 8734
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: NSF with expansions into ROM?

Post by rainwarrior »

If your exported ROM doesn't need bankswitching then converting to VRC6 should just be a matter of a small initialization stub to set up the banks to look like NROM.

NSFs don't tend to need bankswitching unless they have many DPCM samples, or have a very large amount of music data... though I dunno if Famistudio avoids creating a bankswitching NSF when possible like Famitracker does.
oldschoolgamer
Posts: 35
Joined: Fri Mar 06, 2015 4:53 am

Re: NSF with expansions into ROM?

Post by oldschoolgamer »

Thanks for the replies. The N8 Pro is something I'd possibly look into in the future, but I wanted to see if it was possible in the meantime. It turns out that FamiStudio 4.0.0 will support VRC6 ROM exports with mapper 24 when it's eventually released, though I only discovered this after making this post. It will likely be some time before it releases though, as it hasn't even started being beta tested yet. I'm also unsure as to how bank switching works for NSF exports in FamiStudio, but it seems that for ROM exports it doesn't use it as far as I can tell. I have only used a lot of DPCM in one song because I wanted to combine bass and drums, that one maxes out DPCM memory, but that's not a VRC6 one. When I export that high usage DPCM one with FamiStudio, it ends up saying that it it can only support 11264 Bytes:

Code: Select all

Warning: DPCM samples size (16384) is larger than the maximum allowed for ROM export (11264). Truncating.
I'm assuming this means the ROM export doesn't use bank switching, but considering they're using mapper 24 for VRC6 in the new version when it releases, I'm wondering if this will change.
calima
Posts: 1745
Joined: Tue Oct 06, 2015 10:16 am

Re: NSF with expansions into ROM?

Post by calima »

DPCM bank switching is complicated, so probably won't be supported. You have to split the samples and make sure only one set is used at one time.
Post Reply