32kb / 64 instruments hard limit?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
32kb / 64 instruments hard limit?
by on (#183925)
I have a bunch of tracks made in Famitracker, need to make them in to one file to work with a music player, that can compile to a rom.

The tracks combined are over 32kb.

Are there any known techniques (like we have bank switching for tiles) that can be applied to remove this limit? (32kb per song perhaps?)
Re: 32kb / 64 instruments hard limit?
by on (#183927)
Yes, use a mapper with bankswitching, and then use its bankswitching. Export the tracks separately so that each can go in its own bank.

If you want an example of a music cart using 32k banking via an AxROM mapper, my old MOON8 project has source code (bottom of the page):
http://rainwarrior.ca/music/moon8.html

Even easier maybe is the Mapper 31 that we created recently for NSF roms. In this case you can just drop an NSF file that's already using NSF style bankswitching into the ROM, but it will only run on some newer emulators. Another example with source:
http://rainwarrior.ca/projects/nes/pico.html

I meant to make a simple turnkey example to make a music ROM out of a single NSF using mapper 31, but this was a project I put off until I finish my game. :( I'll do it someday!!!
Re: 32kb / 64 instruments hard limit?
by on (#183928)
Is a 32k per song limit really a problem? I estimate that can squeeze over 30 minutes into 32k. What kind of song do you need more than 30 minutes for? Tarkus - ELP?
Re: 32kb / 64 instruments hard limit?
by on (#183947)
dougeff wrote:
Is a 32k per song limit really a problem? I estimate that can squeeze over 30 minutes into 32k. What kind of song do you need more than 30 minutes for? Tarkus - ELP?


I'm making a rom of the music that went in to my 3DS / WiiU game "Pirate Pop Plus" - some of the tracks are a little... large. All legit 2a03 though.

(play list of the 8 tracks)
https://www.youtube.com/playlist?list=P ... yUoxj6QP3M

(more info on Pirate Pop Plus)
https://youtu.be/UQO2syGhjMg
Re: 32kb / 64 instruments hard limit?
by on (#183948)
rainwarrior wrote:
Yes, use a mapper with bankswitching, and then use its bankswitching. Export the tracks separately so that each can go in its own bank.

If you want an example of a music cart using 32k banking via an AxROM mapper, my old MOON8 project has source code (bottom of the page):
http://rainwarrior.ca/music/moon8.html

Even easier maybe is the Mapper 31 that we created recently for NSF roms. In this case you can just drop an NSF file that's already using NSF style bankswitching into the ROM, but it will only run on some newer emulators. Another example with source:
http://rainwarrior.ca/projects/nes/pico.html

I meant to make a simple turnkey example to make a music ROM out of a single NSF using mapper 31, but this was a project I put off until I finish my game. :( I'll do it someday!!!


Thanks for these links, very helpful. That moon one is interesting, actually 2 of the tracks in my project are by Roger Waters' son Harry.
Re: 32kb / 64 instruments hard limit?
by on (#183949)
dougeff wrote:
Is a 32k per song limit really a problem? I estimate that can squeeze over 30 minutes into 32k. What kind of song do you need more than 30 minutes for? Tarkus - ELP?

I've made plenty of NES music that doesn't fit in 32k.

Lots of people make large, detailed compositions when their primary concern is just making music. Famicompo is full of such things. Most of the time it's because of DPCM samples, but not always. Virt's Shovel Knight soundtrack was compiled into a 600k at some point. I made a 1MB NSF for the 2A03 Puritans compilation, though my own 2 and a half minute contribution to it was only 19k, and had no DPCM at all.

YS actually did cover Tarkus in Famicompo Mini Vol. 5, only the first few minutes, but the NSF is 49k. ;) YS did a lot of long prog rock covers though, the longest I can remember was an 11 minute version of Yes' Heart of the Sunrise for Famicompo Mini Vol. 8, which was ~58k.
Re: 32kb / 64 instruments hard limit?
by on (#183950)
hawken wrote:
Thanks for these links, very helpful. That moon one is interesting, actually 2 of the tracks in my project are by Roger Waters' son Harry.

The Famicompo Pico one is more recent, and I think the code and approach is better (MOON8 was one of my first NES projects), though it does depend on the special mapper 31. If you want it on a cart, InfiniteNESLives is the only one making that mapper, though there is an Everdrive N8 implementation of mapper 31 too.
Re: 32kb / 64 instruments hard limit?
by on (#184034)
I made an NSF to NES rom tool which might help. Thread over here:
http://forums.nesdev.com/viewtopic.php?f=6&t=15204