Page 1 of 1

NSF File Structure

Posted: Wed Dec 12, 2018 10:09 am
by SusiKette
I figured people here would know something about the NSF file. This page has some information about it, but it doesn't explain everything. First off, I know I'm supposed to write the NSF file to the player's ROM space starting from $8000. Does this include the header of the file or only the part starting from $80 in the file? Once the file is written, are the Load, Init and Play addresses in the header the location where they are located in the ROM space? On that note, what exactly is located to those addresses? I have some kind of understanding of the Init and Play parts but the Load part is what I don't understand. The "Loading a tune into RAM" part doesn't seem to mention the address at all.

I only need the player to support NSF files exported from FamiTracker and only support VRC6 and NTSC mode for now. Since I'm working on single-track NSF files I probably don't need to implement bank swapping either. I only plan on implementing mandatory features since it's not intended to support everything. Only the things I need it to support in order to work in my project.