A NES emulator made to learn the Rust programming language
$ 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
On Windows, you may need to statically-link SDL by enabling the appropriate feature:
$ cargo run --release --bin nes-emulator --features 'sdl2/bundled'
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.