NES Sound Format - NSF 2

NSF 2

Currently, NSF is at version 01h. NSF version 2 is a proposal that has been in discussion for a few years and hasn't been finalized as of yet. The reason why version 2 has been proposed is because the current NSF format doesn't support every possible configuration of a NES audio driver, which means that there are some NSFs that cannot be ripped without extensive hacking, or maybe it's impossible. There are also a handful that need to be reripped for this format.

The general idea is to support a initialization routine that never returns, IRQ and a proper NMI instead of a play entry point address call. Generally speaking, the initialization routine should return in 4 or less frames. If the routine does not return in time or not at all then the NSF will not play. The reason why you would need a non-returning routine is for PCM playback and a few NSFs that require a non-returning initialization.

There are some audio drivers that have a play call in the NMI as well as audio code in the IRQ. Since the NSF format currently does not support an additional IRQ address setting, those rips will not play either without extensive modification.

There are only approximately about 40 games that require this function to be ripped properly in NSF format. So, it's unknown as to when this format will be finalized. Quietust has implemented some features of this proposal in his emulator Nintendulator which allows both Battletoads and Battletoads & Double Dragon to play with raw PCM drums. There may be other players that support the watch-dog timer and/or non-returning features as well.

Read more about this topic:  NES Sound Format