Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Write NSFe chunks to NSF2 #41

Closed
pinobatch opened this issue Mar 8, 2019 · 1 comment
Closed

Write NSFe chunks to NSF2 #41

pinobatch opened this issue Mar 8, 2019 · 1 comment
Labels
enhancement shell NES, NSF, and NSFe shells

Comments

@pinobatch
Copy link
Owner

NSF version 2 specifies the total length in bytes of the program section. This allows NSFe chunks (see issues #39 and #40) to follow it. All chunks but INFO, DATA, and BANK should be copied to the NSFe metadata area. The header should be built from INFO, BANK, and auth if present.

NSFPlay maintainer Brad Smith wrote a tool nsfe_to_nsf2.py to turn an NSFe file into an equivalent NSF2 file with NSFe data. In channel #development of the FamiTracker.org Discord server, he released it under what amounts to the WTFPL:

<rainwarrior> do whatever you want with it
@pinobatch pinobatch added enhancement shell NES, NSF, and NSFe shells labels Mar 8, 2019
pinobatch added a commit that referenced this issue Mar 11, 2019
Do most of #41.  If NSF2 is enabled, write the length of the
program, increment the version number, and write most NSFe chunks
after the program.  Waiting for rainwarrior to help troubleshoot
why Dendy rate is so messed up.
@pinobatch
Copy link
Owner Author

NSFPlay beta correctly plays NSF2 and shows metadata the same as it does for NSFe.

(A recent commit message mentions errors with the displayed Dendy rate. These turned out to be only cosmetic, and even changing tracks caused it to clear up.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement shell NES, NSF, and NSFe shells
Projects
None yet
Development

No branches or pull requests

1 participant