sSNES

A Super Nintendo Entertainment System (SNES) emulator for s&box, written entirely in C#.

This is a proof of concept! The emulator is functional enough to run a selection of games, but it is not a complete or accurate SNES implementation. Audio is not working in most games. Not all ROMs are expected to work, and compatibility varies significantly by game and mapper type.

Supported Formats

- `.sfc` / `.SFC` — Super Famicom / SNES ROM
- `.smc` / `.SMC` — Super Magicom format

LoROM, HiROM, and ExHiROM mappers are supported. SA-1 and SuperFX coprocessors are partially emulated.

Adding ROMs

Place your ROM files in the `roms` folder inside your local addon data directory:

sbox/data/ssnes/roms/

Subdirectories are supported, so you can organise your library into folders. The in-game browser will automatically pick them up.

Compatibility

Save Data:
From the tests I've done, ROM save data works.

LoROM games: Most standard LoROM games will boot and reach gameplay, but with significant issues:
- Rendering bugs (e.g., Link to the Past has incorrect tiles after leaving the house)
- Anti-piracy screens (e.g., Earthbound, Tetris 2)
- Some titles fail to boot entirely (e.g., Kirby)

HiROM games: Limited testing.

Enhancement chips:
- SuperFX: Not working (e.g., Starfox, Yoshi's Island)
- SA-1: Status unknown
- DSP-1: Status unknown

Audio: Functional in many games, but may have accuracy issues.

Known Issues

| Game | Issue |
|------|-------|
| Battletoads | Cannot progress past player select screen |
| Earthbound | Hits anti-piracy screen |
| Kirby (LoROM) | Does not boot |
| Link to the Past | Boots and plays, but tiles are incorrect after leaving the house |
| Starfox | Does not work (SuperFX chip) |
| Yoshi's Island | Does not work |
| Tales of Phantasia | Does not work |
| Tetris 2 | Works, but hits anti-piracy screen after pressing start |
| TillAndHatDemo (homebrew) | Does not work |

Reporting Compatibility

If you test a ROM, please report your results on the forum using the template below.

ROM: <title> (<region>)
Hash: CRC32: <value> / SHA1: <value>
Result: Working / Partially Working / Broken / Crash
Notes: <brief description of what works and what doesn't>

Example:

ROM: Super Mario World (USA)
Hash: CRC32: B19ED489 / SHA1: 6B47BB75D16514B6A476AA0C73A683A2A4C18765
Result: Partially Working
Notes: Boots and reaches gameplay. Audio not working. Minor layer priority glitches in some scenes.

Notes

- Copyrighted ROMs are not included; you must provide your own legally obtained files.
- Based on sGBA by Asphaltian. So all credits to him!