BoNES is a NES emulation library for go, as well as a cli for NES related
utilities. For in depth documentation on the cli, run bones -h
for general
usage or bones [command] -h
for detailed information.
BoNES is written in go, and requires golang to be installed on your computer. I recommend installing go and compiling as described below (really quick and easy), but if you are in a hurry or just can't be bothered, you can get the pre-compiled binaries of the latest release in the releases page.
NOTE: If you can't find the binaries for your platform, you will need to compile it yourself.
Building bones on a debian based distro requires the following packages to be installed:
libgl1-mesa-dev
xorg-dev
For information about installing go, you can visit Golang's download page.
After installing the lastest version of go, you can execute the following command to get and compile from source:
go get -u github.com/m4ntis/bones/bones
Make sure that you add Go's bin directory to your PATH
environment variable
as explained the language's installation instructions.
BoNES currently implements most hardware features, but not many mappers. There are still some small timing issues that may cause some games to crash (such as super mario bros), meaning that harder to emulate games such as the ones listed here aren't yet fully supported.
Oh, and the APU is still non existant :P.
Currently being implemented:
- Timing issue fixes
- Some advanced optimization such as Catch up
- Nice-to-have interactive debugger features
- Additional mappers (You can request a specific one with an issue)