This is a work-in-progress N64 emulator written in Rust. I've never written a large project in Rust before this.
Currently, it is capable of running a few commercial games via HLE. My goal is to create a reasonably fast but accurate emulator.
- Fully passes all but the RDP tests in n64-systemtest, using the interpreter core
- JIT dynrec CPU core, passing almost all n64-systemtest tests
- avx256/512-based RSP core
- Full PIF emulation (requires boot rom to run)
- Basic HLE support
- WIP graphical debugger
- Audio partially supported via LLE
You'll need a PIF rom (sorry, can't help you out here. Google is your friend) in the ./bios/ directory "pifrom.v64". And you'll need a program to run. I recommend n64-systemtest.
You'll also need to have SDL2 installed. Follow the instructions at https://crates.io/crates/sdl.
Clone the repository and execute:
$ cargo run --release -- n64-systemtest.z64
Pass -h
to see a list of command line arguments. I recommend enabling docking when
using the debugger with -D
.
- "morphdemo.n64" from NuSystems
- "squaredemo.n64" from n64-sdk-demo
- "onetri.n64" N64 demo:
- First ever graphical output: