Skip to content

MichaelBurge/nes-emulator

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

About

A NES emulator made to learn the Rust programming language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published