Skip to content

ethanhawksley/nintendrust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nintendrust

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.

Versions

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.

Running the web 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-pack

Clone the repository locally.

git clone https://github.com/ethanhawksley/nintendrust
cd nintendrust

Compile the Rust code to WASM.

wasm-pack build --target web

Finally, 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!

Running the desktop version

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 native

Compile and run the program.

cargo run --release

The 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";
    // ...
}

Author

Ethan Hawksley

About

Rust NES emulator compiled to WebAssembly, with a scanline-accurate PPU

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors