Skip to content
SPECIFICTION
Get listed

rust-wasm-snes

github.com

Web
Visit github.com
Spec score 7.0 #22 of 30 in SNES Emulators

Spec sheet

Purpose
A cycle-accurate Super Nintendo emulator written in Rust, compiled to WebAssembly, and running in a browser.Read 4 Oct 2026 · github.com
Support
The repository exposes GitHub Issues and Pull Requests for project activity.Read 4 Oct 2026 · github.com
License
The project is licensed under MIT.Read 4 Oct 2026 · github.com
Headquarters
Melbourne, AustraliaRead 28 Sep 2026 · github.com
Audio
Its S-DSP implementation supports eight voices, BRR decoding, ADSR/GAIN envelopes, Gaussian interpolation, and eight-tap FIR echo.Read 4 Oct 2026 · github.com
Audio verification
The project compares audio output against blargg’s snes_spc reference implementation using principal-component analysis and reports 1.01× amplitude versus the reference.Read 4 Oct 2026 · github.com
Build and run
The README documents a WebAssembly build with wasm-pack and a local Python server at http://localhost:8090.Read 4 Oct 2026 · github.com
Build targets
The README documents a browser WebAssembly build and a native build for debug tooling, headless ROM runners, audio comparison, and benchmarking.Read 4 Oct 2026 · github.com
CPU
The emulator implements all 256 65C816 CPU opcodes with master-cycle accuracy.Read 4 Oct 2026 · github.com
CPU and sound
The project describes support for all 256 65C816 CPU opcodes and all 256 SPC700 opcodes, with cycle-aware timing and an S-DSP supporting eight voices and BRR decoding.Read 4 Oct 2026 · github.com
Debugging tools
The project documents trace comparison against Mesen2 and includes tooling for waveform comparison and execution-trace diffs.Read 4 Oct 2026 · github.com
Experimental mode
An experimental off-main-thread worker scaffold is provided and requires COOP/COEP headers for SharedArrayBuffer.Read 4 Oct 2026 · github.com
Game compatibility
The README says A Link to the Past works with its overworld and Mode 7, while Super Mario World has a known mode-07 input stall.Read 4 Oct 2026 · github.com
Graphics
PPU support is partial: modes 0, 1, and 3 work, while mode 7 is partial.Read 4 Oct 2026 · github.com
Graphics support
The PPU has partial mode coverage: modes 1 and 3 work, while mode 7 is partial.Read 4 Oct 2026 · github.com
Known limits
Mega Man X boots and plays but has broken audio; Super Mario Kart needs a DSP-1 coprocessor, and Chrono Trigger needs HiROM support.Read 4 Oct 2026 · github.com
License and ROMs
The project is MIT-licensed; ROM files are not included, and the README says users should bring their own.Read 4 Oct 2026 · github.com
Live demo
The repository links to a live demo with an in-browser ROM picker listing 746 titles via Internet Archive, served through a Cloudflare CORS proxy.Read 4 Oct 2026 · github.com
ROM picker
The in-browser ROM picker lists 746 titles via Internet Archive, served through a Cloudflare CORS proxy.Read 4 Oct 2026 · github.com
ROM requirement
ROM files are not included, and the README says to bring your own; the browser ROM picker uses publicly archived Internet Archive material.Read 4 Oct 2026 · github.com
Save states
It serializes full emulator state, including CPU, bus, PPU, APU, and SRAM, into a roughly 484 KB binary snapshot.Read 4 Oct 2026 · github.com
Security and compliance
The repository’s Security and quality tab displays zero.Read 4 Oct 2026 · github.com

Where Specifiction places it

Alternatives to rust-wasm-snesAll alternatives →