README.md

October 30, 2018 ยท View on GitHub

Summary

This is an example application for github.com/blahness/nes.

Dependencies

  github.com/blahness/nes/
  github.com/DerelictOrg/DerelictSDL2/

Installation

For a pre-built package

For Windows there are stand-alone binary builds available at the GitHub release page. Note: the 32-bit (x86) version was compiled with DMD so it's not very optimized.

Fetching with Dub

  dub fetch nes_test

To run:

  dub run nes_test --build=release -- <rom>

Or for a 64-bit version:

  dub run nes_test --arch=x86_64 --build=release -- <rom>

<rom> should be the actual path of .nes rom to run

Building from source

Clone or download this repo, cd to the folder that contains the source folder & run:

  dub build --build=release

Or for a 64-bit version:

  dub build --arch=x86_64 --build=release

Notes

If you're on Windows I'd also add --arch=x86_mscoff when using dub run or build to create 32-bit versions. The linker produces a very slow executable otherwise.

The app expects the SDL2 runtime binaries (minimum version 2.0.5) to be available. You can find them here: https://www.libsdl.org/download-2.0.php.

Usage

  nes_test <rom>
  Use nes_test -h for more options.

The app will create a save & state folder in its current directory on first run if they don't already exist. Battery backed RAM is saved only on program exit.

Controls

Joysticks are supported, although the button mapping is currently hard-coded. Keyboard controls are indicated below.

NintendoEmulator
Up, Down, Left, RightArrow Keys or WSAD
StartEnter
SelectRight Shift or Space
AZ or N
BX or M
Fullscreen/Windowed ToggleF11
Exit FullscreenEscape
ResetCtrl + R
Save StateF5
Load StateF1