EZNSF tool for building NES ROM from NSF
BotB Academy Bulletins
 
 
Level 26 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.
 
 
Level 30 Chipist
Savestate
 
 
 
post #74714 :: 2016.12.05 5:49pm ::
  
  rainwarrior and ViLXDRYAD liēkd this
!!!
woah this is cooool
 
 
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
 
 
Level 26 Chipist
rainwarrior
 
 
 
post #74718 :: 2016.12.05 6:43pm :: edit 2016.12.05 6:44pm ::
  
  Doxic, puke7, HertzDevil and Dimeback liēkd this
 
 
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.
 
 
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
 
 
Level 26 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.)
 
 
Level 27 Renderist
b00daw
 
 
 
 
post #74800 :: 2016.12.07 6:32pm ::
Intentional double-negative?
 
 
Level 26 Chipist
rainwarrior
 
 
 
post #74837 :: 2016.12.09 1:58am ::
  
  Doxic, Savestate, Dimeback, Blaze Weednix and b00daw liēkd this
Not not not anymore, sucker!
 
 
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.
 
 
Level 27 Renderist
b00daw
 
 
 
 
post #74864 :: 2016.12.09 7:40pm ::
Won't work on PowerPak unless someone creates a mapper 31 for it.
 
 
Level 26 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.
 
 
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.
 
 
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")
 
 
Level 26 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
 
 
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.
 
 
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.
 
 
Level 32 Chipist
kleeder
 
 
 
post #106069 :: 2018.12.18 9:22am ::
he's using macOS
 
 
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
 
 
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
 
 
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.
 
 
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!