ZENSF advanced tool for building NES ROM from NSFs

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
ZENSF advanced tool for building NES ROM from NSFs
by on (#224095)
A few years ago I made the EZNSF tool, that turns a single NSF into an NES ROM.

I wanted a more advanced version of this to help me build compilation albums from several NSFs, though (e.g. 2A03 Puritans, Famicompo Pico).

ZENSF: https://github.com/bbbradsmith/zensf

I don't think this tool will make it easy for beginners (try EZNSF instead) but the goal here was to make a solid framework for this kind of stuff that I can easily reuse and customize.

You provide it a list of NSFs to use, and its first step emulates and analyzes them to find stuff that needs to be modified for the compilation (bankswitch code). The modifications themselves have to be done by hand, but this tool will disassemble for you and tell you exactly where the modifications need to go. After that first step, the rest is a bit easier, just compiling art and the NSF banks to be used by the final build.

On top of it all is custom menu code, which can be modified for personalization of behaviour, animation, etc. without disturbing the whole music playback framework underneath.

I needed this for my continuing work on NES music compilation albums, but I figured others could use it so I made it open source. If you think you can use it, please do.