-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
RustySNES is a cycle-accurate Super Nintendo Entertainment System / Super Famicom emulator written in pure Rust. It's available as a native desktop app for Windows, macOS, and Linux; a WebAssembly build also exists but is currently a bootstrap scaffold, not yet a playable in-browser demo (see Roadmap).
Pre-compiled binaries for Windows, macOS, and Linux are attached to each tagged release. If you'd rather build from source, see Building-from-Source.
RustySNES opens as an always-on egui shell — a persistent menu bar and status bar, even before a ROM is loaded.
-
Load a ROM: go to
File→Open ROM. Select your.sfc/.smcfile (.fig/.swccopier-header dumps are also detected and stripped)..zip-archived ROMs load transparently too. - Play: the game starts immediately once loaded.
-
Save/Load state and Rewind: the
Emulationmenu hasSave State/Load State(a single quick-save slot) andRewind. Rewind is disabled by default (config.rewind.capacity: 0) until you enable it in your config file. -
Reset / Power Cycle / Pause: also in the
Emulationmenu.
| SNES button | Key |
|---|---|
| D-pad | Arrow keys |
| A | X |
| B | Z |
| X | S |
| Y | A |
| L | Q |
| R | W |
| Select | Right Shift |
| Start | Enter |
Player 2's keyboard defaults are not yet configured (a TODO in input.rs).
USB gamepads auto-bind to Player 1 via gilrs.
.sfc / .smc (LoROM, HiROM, ExHiROM, and ExLoROM header auto-detection), plus .fig/.swc copier-header dumps (the header is detected and stripped automatically). .zip archives containing one of these are also accepted — the emulator extracts the first recognized entry.
You must provide your own ROMs, legally obtained from your own cartridges or from homebrew developers. Commercial Nintendo ROMs are never provided or committed to this repository.
Some coprocessor-carrying carts (the DSP-1 family, CX4) additionally need a user-supplied firmware dump (e.g. dsp1.rom) to function — the emulator will prompt for this rather than silently degrading accuracy (see Architecture-Decision-Records, ADR 0003).
RustySNES is a cycle-accurate Super Nintendo / Super Famicom emulator written in pure Rust. Licensed under MIT OR Apache-2.0. | GitHub Repository | Web Demo | API Docs