n64js vs RustyN64
n64js
github.comRustyN64
github.comSide by side
| Figure | n64js | RustyN64 |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Nintendo 64 Emulators | 7.8 (#11) | 8.1 (#6) |
| Graphics | The repository says graphics use high-level emulation and that many ROMs have graphical issues. | The low-level RDP rasterizer and VI scan-out bit-match Angrylion across 164 conformance vectors, according to the project. |
| Intended audience | The maker describes the project as a JavaScript emulator showcase and a way to explore what modern browsers can do. | The project invites contributions in code, testing, documentation, and design, and describes itself as preserving video game history. |
| License | The repository includes an MIT license that permits use, modification, distribution, and sale subject to its notice conditions. | RustyN64 is dual-licensed under MIT or Apache License 2.0. |
| Product | n64js is an N64 emulator written mostly in pure ES6 JavaScript. | RustyN64 is a cycle-accurate Nintendo 64 emulator written in pure Rust. |
Plans
In their own words
n64js
n64js is a free N64 emulator written mostly in pure ES6 JavaScript, with a hosted version on GitHub Pages. It uses WebGL and provides keyboard controls plus a controller-configuration interface. Many ROMs run close to full speed, but graphical problems remain and imprecise cycle counting affects compatibility. Save data can persist through localStorage, with save import and export listed as implemented features. Saving and loading require native Uint8Array base64 methods supported in Chrome or Edge 140+, Firefox 133+, or Safari 18.2+, including iOS. The live site reports Chrome, Firefox, and Safari tested on macOS 13.5; Edge is untested. Low-level audio emulation is implemented, while high-level audio remains in progress. Savestates are listed as a TODO. Debug options include Off, Simple, and Mattias CRT display effects. The MIT-licensed repository also documents Bun scripts for headless emulation and programmatic controller input.
RustyN64
RustyN64 is a free Nintendo 64 emulator written in pure Rust, built for cycle-accurate emulation. Its core schedules the CPU and coprocessors against a shared 187.5 MHz master-clock timeline. Version 0.7.0 is described as its first playable release, showing video, sound and controller input with homebrew ROMs. The project says its low-level graphics path matches Angrylion across 164 conformance vectors, while its accuracy battery remains stubbed at 0%. Identical seeds, ROMs and input sequences are stated to produce identical framebuffer and audio output. The desktop frontend offers save states, rewind and run-ahead, disabled by default. A WebAssembly browser entry point runs a homebrew ROM and displays video on a 2D canvas; a fuller browser shell remains roadmap work. Commercial support is limited: one title can boot and execute game code but has not yet reached a rendered frame. Desktop builds are listed for Linux x64, macOS ARM64 and Windows x64. Desktop use requires a wgpu-supported GPU backend, and commercial ROMs are not included.