Nintendrust is a Rust-based emulator for the NES. It implements the full 6502 official instruction set, and a scanline-accurate PPU. It is portable, supporting both desktop environments and the web.
On this repository there are two branches. The main branch contains the code for the web version of the emulator, and the native branch has the desktop version.
The program can be found running at https://hawksley.dev/nintendrust/
Alternatively, you can run the program locally, or deploy to a hosting site like GitHub Pages.
Ensure you have the Cargo package manager installed. If you are missing it, you can download it through rustup.
Then, install the wasm-pack crate.
cargo install wasm-packClone the repository locally.
git clone https://github.com/ethanhawksley/nintendrust
cd nintendrustCompile the Rust code to WASM.
wasm-pack build --target webFinally, use a http server to host the index.html file. I recommend serve.
npx serve .The program is now available to visit in your browser!
Ensure you have the Cargo package manager installed. If you are missing it, you can download it through rustup.
Clone the repository locally.
git clone https://github.com/ethanhawksley/nintendrust
cd nintendrust
git checkout nativeCompile and run the program.
cargo run --releaseThe program shall now boot into the Zooming Secretary game that comes with the repository. To use a custom ROM, alter src/main.rs to select a custom path.
// ...
fn main() {
let file_path = "Zooming_Secretary.nes";
// ...
}