EZNSF tool for building NES ROM from NSF
BotB Academy Bulletins
 
 
74713
Level 25 Chipist
rainwarrior
 
 
 
post #74713 :: 2016.12.05 5:48pm :: edit 2018.08.10 10:34pm
  
  VirtualMan, petet, raphaelgoulart, b00daw, puke7, RatShack, m9m, Modus Ponens, Razerek, TMM12, commandycan, ViLXDRYAD, Blaze Weednix, Dimeback and Savestate liēkd this
I had a really bad bout of insomnia over the weekend, so I decided to get around to making a tool that I'd promised a long time ago.

EZNSF is intended to make it easy to turn an NSF into a ROM you can play in an emulator or on a flash cart, etc.

Basically just make an NSF with Famitracker, edit a little album description text file, run the utility, and out pops a ROM. The default mapper is the newish Mapper 31, which makes NSF bankswitching possible to support. Several good emulators, as well as the Everdrive N8 now support mapper 31
, but there is also an NROM output option for those that need it.

https://github.com/bbbradsmith/eznsf/releases/download/1.0/eznsf.zip


https://github.com/bbbradsmith/eznsf


There's a lot more explanation in the readme file. Everything's open source. It requires Python 3.
 
 
74714
Level 30 Chipist
Savestate
 
 
 
post #74714 :: 2016.12.05 5:49pm
  
  rainwarrior and ViLXDRYAD liēkd this
!!!
woah this is cooool
 
 
74717
Level 25 Chipist
HertzDevil
 
 
 
post #74717 :: 2016.12.05 6:06pm :: edit 2016.12.05 6:06pm
i am just glad this is not called "ez8bit" because "ez8" is good whereas that is not
 
 
74718
Level 25 Chipist
rainwarrior
 
 
 
post #74718 :: 2016.12.05 6:43pm :: edit 2016.12.05 6:44pm
  
  Doxic, puke7, HertzDevil and Dimeback liēkd this
 
 
74758
Level 10 Mixist
RatShack
 
 
post #74758 :: 2016.12.06 1:00pm
  
  TMM12, rainwarrior, Dimeback and puke7 liēkd this
Awesome work! Was just talking about how Everdrives don't have an NSF player last night. If software timing ever gets introduced it would be the greatest thing ever.
 
 
74759
Level 23 Pedagogist
ViLXDRYAD
 
 
 
post #74759 :: 2016.12.06 1:30pm
  
  rainwarrior liēkd this
My hero <3

once more you managed to achieve incredibly cool stuff for the chiptune community, i am very grateful! props, rainwarrior! =' D
 
 
74798
Level 25 Chipist
rainwarrior
 
 
 
post #74798 :: 2016.12.07 3:32pm :: edit 2016.12.09 1:58am
If by "software timing" you mean update rates other than the video refresh rate (60/50hz), that's not something I will ever attempt to add to this.

It's completely open source, though, if you think you know a practical way to do it. (I don't.)
 
 
74800
Level 27 Renderist
b00daw
 
 
 
 
post #74800 :: 2016.12.07 6:32pm
Intentional double-negative?
 
 
74837
Level 25 Chipist
rainwarrior
 
 
 
post #74837 :: 2016.12.09 1:58am
  
  Doxic, Savestate, Dimeback, Blaze Weednix and b00daw liēkd this
Not not not anymore, sucker!
 
 
74858
Level 10 Mixist
RatShack
 
 
post #74858 :: 2016.12.09 3:35pm
If by "software timing" you mean update rates other than the video refresh rate (60/50hz), that's not something I will ever attempt to add to this.

It's completely open source, though, if you think you know a practical way to do it. (I don't.)


I thought I had read something on this topic but I'm not finding it. PowerPak probably uses its FPGA to generate the interrupts for non-standard rate playback. I'll take your word on this, you're the lizard of NES dev after all.
 
 
74864
Level 27 Renderist
b00daw
 
 
 
 
post #74864 :: 2016.12.09 7:40pm
Won't work on PowerPak unless someone creates a mapper 31 for it.
 
 
74871
Level 25 Chipist
rainwarrior
 
 
 
post #74871 :: 2016.12.10 2:40pm
The PowerPak NSF player does not use IRQs. Its NSF mapper has a hardware timer that it polls for when to begin a new frame.

Anyhow, yes, unrelated to this project, because it relies on Mapper 31, which doesn't have such a timer.

If you want, you could do something with render timings like sprite 0 and/or the very tricky sprite overflow to split the frame into 2 or 3 parts (120/180Hz). That'd be a very specific solution for your very specific music, though.
 
 
106043
Level 28 Chipist
djmaximum
 
 
 
post #106043 :: 2018.12.17 1:44am :: edit 2018.12.17 1:47am
  
  raphaelgoulart, MiDoRi and ipi hæitd this
had a look at it and the zip file looks like a mess. I thought this would be a simple way to convert BotB nsfs into nes roms but its not that simple. all I wanted to do was to convert nsfs to nes so I could convert them into gba roms so I could play them in PockitNES. I don't think PocketNES supports nsf file playback.
 
 
106044
Level 27 Chipist
raphaelgoulart
 
 
 
post #106044 :: 2018.12.17 5:03am
  
  MiDoRi and pedipanol liēkd this
it's not a mess, really; after installing python 3 (link for it is on the readme.txt file; be sure to check "[x]add python 3.7 to PATH" and hit the "disable path length limit" button at the end if there's one), just edit the album.txt file (you can pretty much ignore everything from the "# text for the info screen" line afterwards for simplicity's sake), and then run eznsf.bat. the output will be eznsf.nes on the temp folder

also the .nsf should be in the eznsf folder (probably, idk if it'll accept if i just type "NSF C:\something\myfile.nsf")
 
 
106053
Level 25 Chipist
pedipanol
 
 
 
post #106053 :: 2018.12.17 2:40pm :: edit 2018.12.17 2:41pm
  
  MiDoRi liēkd this
LOL djmaximum, the readme is pretty clear about the usage, what makes you think it is a mess?

If you want to do the thing quickly, just list 1 track with a generic name and some random duration and it'll work just fine
 
 
106054
Level 28 Chipist
djmaximum
 
 
 
post #106054 :: 2018.12.17 2:55pm
  
  raphaelgoulart hæitd this
I thought it would be something like GBS2GB, very user friendly UI and doesn't require any additional tools that need to be installed.
 
 
106068
Level 27 Chipist
raphaelgoulart
 
 
 
post #106068 :: 2018.12.18 7:23am
requiring additional tools isn't uncommon; many applications require, for instance, .net framework, java, etc. python is just another one of those.

also, it's just editing a text file and double clicking a .bat file, it might not have a friendly UI but it's still simple enough; instead of editing those values inside of a UI, you just edit them in the .txt file, and it'll work the exact same way.
 
 
106069
Level 32 Chipist
kleeder
 
 
 
post #106069 :: 2018.12.18 9:22am
he's using macOS
 
 
106070
Level 23 Pixelist
MiDoRi
 
 
 
post #106070 :: 2018.12.18 9:52am :: edit 2018.12.18 9:55am
it's not like he doesn't have Wine, besides Python interpreter is available for pretty much anything

EDIT: Oh yeah, he's gonna need Wine though, there are Windows compiler binaries that tool uses oops
 
 
106071
Level 32 Chipist
kleeder
 
 
 
post #106071 :: 2018.12.18 9:55am
  
  raphaelgoulart and MiDoRi liēkd this
i know, i mean apple products: friendly ui > txt-editing
he's used to it ;D
 
 
106082
Level 28 Chipist
djmaximum
 
 
 
post #106082 :: 2018.12.18 8:04pm
  
  Slimeball liēkd this
I just can't beg everyone for the FTM or 0cc modules just so I could export them into a nes rom and then convert them into gba roms afterwords.
 
 
106083
Level 27 Chipist
raphaelgoulart
 
 
 
post #106083 :: 2018.12.19 5:14am
  
  pedipanol liēkd this
you don't need to; this converter converts .nsf files, not .ftm/.0cc
 
 

LOGIN or REGISTER to add your own comments!