Page 1 of 1

NSF emulator in Go

Posted: Fri Jan 24, 2014 3:07 am
by dolmant
I have a fairly working NSF emulator written in Go. Tested on mac and linux. Doesn't have a lot a features, and has a poor lowpass and no highpass, but it works. Comes with megaman 3 to demo.

Some docs to get it running: http://godoc.org/github.com/mjibson/mog/codec/nsf
Code: https://github.com/mjibson/mog/tree/master/codec/nsf

After port audio is installed

$ go test github.com/mjibson/mog/codec/nsf

Doesn't yet support: DMC, bankswitching.

Re: NSF emulator in Go

Posted: Fri Jan 24, 2014 6:41 pm
by zzo38
I do not see the support of expansion audio either.

Re: NSF emulator in Go

Posted: Sat Jan 25, 2014 1:02 am
by dolmant
I have not yet come across that in my research, so I wasn't even aware it was missing. Thanks for pointing it out.

Re: NSF emulator in Go

Posted: Sat Jan 25, 2014 8:08 am
by tepples
Expansion audio isn't used in any game released in the Americas or Europe. So unless you need to cover NSFs of Japan-only games or homebrew NSFs composed by fans of Japan-only games, you can put it off for much later.

Re: NSF emulator in Go

Posted: Sat Jan 25, 2014 8:38 am
by rainwarrior
Expansions are very commonly used in NSFs being made today. A quick glance at the last Famicompo shows that about 40% of the original entries used an expansion, and I think it was even higher in previous years. At the Famitracker forums, I think most of the tunes posted use expansions, generally.

Re: NSF emulator in Go

Posted: Sat Jan 25, 2014 8:47 am
by tepples
Do these Famitracker forum users test their NSFs on a Famicom, on a modded NES, or only on an emulator?

Re: NSF emulator in Go

Posted: Sat Jan 25, 2014 8:50 am
by rainwarrior
All of those things are done by various users.

Jrlepage is the only person who regularly plays expansion NSFs on hardware though, since he imported a TNS-HFC3 to do it: http://famitracker.com/forum/posts.php?id=3633

Many users have a PowerPak and a modded NES. Some of us have a Famicom as well.

Most users just use emulation.

Similar to anywhere else, really.