Y.A.N.E. - Yet Another N.E.S. Emulator
Nintendo Entertainment System emulator and emulation library.
Can be used as either a standalone emulator or as a ready-out-of-the-box rust crate for emulating an N.E.S.
See examples for more examples.
Usage as an app
Download the correct release for your operating system and add it to your $PATH.
If cargo's install directory is already in your $PATH, you can simply run cargo install yane.
> cargo install yane
...
> yane -h
An N.E.S. emulator.
Usage: yane [COMMAND]
Commands:
setup Initialize the configuration files at $HOME/.yane/
ines Load and run an iNES (.nes) file
savestate Load and run a savestate (.yane.bin) file.
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
> yane ines path/to/my/rom.nes --muted --debug --keymap-file=my/custom/keymap.yaml
Usage as a library
// Load an iNes (.ines) file
let ines = include_bytes!;
// Create a new N.E.S. console with the game inserted
let mut nes = with_cartridge;
let config = default;
// Advance the N.E.S. by 1 frame (i.e. until the VBlank interval)
nes.advance_frame;
// Reset the N.E.S.
nes.reset;
See the documentation on the library portion or the examples folder for more.