All Projects → MichaelBurge → Nes Emulator

MichaelBurge / Nes Emulator

A NES emulator made to learn the Rust programming language

Programming Languages

rust
11053 projects

nes-emulator

Building

$ rustc --version
rustc 1.32.0 (9fda7c223 2019-01-16)
$ cargo --version
cargo 1.32.0 (8610973aa 2019-01-02)

$ cargo build --release
$ cargo run --release --bin nes-emulator

The emulator loads a ROM in iNES format located at the hardcoded path roms/mario.nes.

On Windows, you may need to statically-link SDL by enabling the appropriate feature:

$ cargo run --release --bin nes-emulator --features 'sdl2/bundled'

Inputs

The emulator has been tested with an Xbox 360 controller, but should work with any controller the SDL library recognizes.

Additionally, these keyboard keys control the emulator:

  • Escape: Exits the emulator
  • Pause: (Developer use) Breaks a command-line debugger
  • F5: Saves a savestate
  • F6: Loads the most recent savestate
  • F7: Restart the current ROM and playback a video of recorded inputs
  • F8: Set video recording start point
  • Tab: Toggles "turbo mode", which removes the 60 FPS limit.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].