sNES - A s&box NES Emulator
by
The Ratman
| Summary | NES Emulator - Proof of Concept - Healvly based on sGBA by Asphaltian |
|---|---|
| Description |
[Image] sNES A Nintendo Entertainment System (NES) emulator for s&box, written entirely in C#. Credits: This project is based on sGBA by Asphaltian / softsplit. The s&box integration layer, UI framework, shader pipeline, and project structure were originally created by them. The emulator core has been rewritten for the NES (Ricoh 2A03 CPU, PPU, APU). Features • Cycle-accurate CPU with proper instruction timing (all official + unofficial opcodes) • PPU with sprite rendering, scrolling, sprite-0 hit detection, and sprite overflow • APU with pulse, triangle, noise, and DMC channels • Automatic PAL/NTSC detection and timing adjustment • Battery-backed SRAM persistence • Suspend points (save states) with thumbnail previews • NTSC overscan cropping (240×224 output) • Gamepad support (D-pad, analogue stick, triggers) Development • Clone this repository. • Open the project in the s&box editor. • Select the Emulator GameObject in minimal.scene and set the ROM Path property. • Press Play. Note: Copyrighted ROMs are not included — you must provide your own legally obtained .nes ROM files. Controls | NES | Keyboard | Gamepad | |-----|----------|---------| | D-Pad | Arrow Keys | D-Pad / Left Stick | | A | Z | Cross / A | | B | X | Circle / B | | Start | Enter | Options / Menu | | Select | Backspace | Create / View | PS5 controllers: Disable Steam Input for s&box so the DualSense is detected natively. Supported Formats • .nes — iNES / NES 2.0 format (standard) ROMs with 512-byte copier headers are automatically detected and handled. PAL and NTSC regions are detected from the ROM header, and timing is adjusted accordingly. Supported Mappers | # | Name | Notes | |---|------|-------| | 0 | NROM | Basic mapper (Super Mario Bros, Donkey Kong) | | 1 | MMC1 | Bank switching (Zelda, Mega Man 2, Metroid) | | 2 | UxROM | PRG switching (Mega Man, Castlevania) | | 3 | CNROM | CHR switching (Arkanoid, Paperboy) | | 4 | MMC3 | Scanline IRQ, PRG/CHR banking (Super Mario Bros 3, Kirby's Adventure, Mega Man 4, 7 Grand Dad) | | 5 | MMC5 | Extended (Castlevania III) | | 7 | AxROM | Single-screen mirroring (Battletoads) | | 9 | MMC2 | Latch-based CHR (Punch-Out!!) | | 10 | MMC4 | Latch-based CHR (Fire Emblem) | | 11 | Color Dreams | (Crystal Mines) | | 16 | Bandai | IRQ + EEPROM | | 18 | Jaleco SS 88006 | (Holy Diver) | | 21 | VRC4a/c | Konami (Wai Wai World 2) | | 23 | VRC4e/f | Konami | | 25 | VRC4b/d | Konami | | 30 | UNROM 512 | Homebrew (Battle Kid 2) | | 34 | BNROM/NINA-001 | | | 47 | MMC3 multicart | (Super Spike V'Ball + Nintendo World Cup) | | 64 | RAMBO-1 | Tengen (Shinobi) | | 66 | GxROM | (Super Mario Bros + Duck Hunt) | | 69 | FME-7 | Sunsoft (Batman: Return of the Joker) | | 85 | VRC7 | Konami (Lagrange Point) | | 118 | TxSROM | MMC3 variant (Armadillo) | Tested Games The following games have been verified to work: • Super Mario Bros • Zelda II: The Adventure of Link • Kirby's Adventure • Castlevania • Mega Man 4 • 7 Grand Dad (bootleg) Known Limitations• Battletoads may show palette or colour artefacts due to timing-sensitive CHR RAM updates. Contributing If you would like to contribute, please see the contributing guide. Report bugs or request features via issues. License This project is licensed under the MIT License. Notes Included homebrew ROMs: • BladeBuster by Memblers (romhacking.net) • Space Mutants Extendo UnCut Edition by DG & JK (romhacking.net) • 7 Grand Dad Additional ROMs not included — provide your own legally obtained files Based on sGBA by Asphaltian Reference: nesdev.org Credits sGBA | Asphaltian — base emulator architecture BladeBuster | Memblers — included homebrew ROM Space Mutants | DG & JK — included homebrew ROM NES hardware reference | nesdev.org Box art | libretro-thumbnails[Image]
sNES
A Nintendo Entertainment System (NES) emulator for s&box, written entirely in C#.
Credits: This project is based on sGBA by Asphaltian / softsplit. The s&box integration layer, UI framework, shader pipeline, and project structure were originally created by them. The emulator core has been rewritten for the NES (Ricoh 2A03 CPU, PPU, APU).
Features
• Cycle-accurate CPU with proper instruction timing (all official + unofficial opcodes)
• PPU with sprite rendering, scrolling, sprite-0 hit detection, and sprite overflow
• APU with pulse, triangle, noise, and DMC channels
• Automatic PAL/NTSC detection and timing adjustment
• Battery-backed SRAM persistence
• Suspend points (save states) with thumbnail previews
• NTSC overscan cropping (240×224 output)
• Gamepad support (D-pad, analogue stick, triggers)
Development
• Clone this repository.
• Open the project in the s&box editor.
• Select the Emulator GameObject in minimal.scene and set the ROM Path property.
• Press Play.
Note: Copyrighted ROMs are not included — you must provide your own legally obtained .nes ROM files.
Controls
| NES | Keyboard | Gamepad |
|-----|----------|---------|
| D-Pad | Arrow Keys | D-Pad / Left Stick |
| A | Z | Cross / A |
| B | X | Circle / B |
| Start | Enter | Options / Menu |
| Select | Backspace | Create / View |
PS5 controllers: Disable Steam Input for s&box so the DualSense is detected natively.
Supported Formats
• .nes — iNES / NES 2.0 format (standard)
ROMs with 512-byte copier headers are automatically detected and handled. PAL and NTSC regions are detected from the ROM header, and timing is adjusted accordingly.
Supported Mappers
| # | Name | Notes |
|---|------|-------|
| 0 | NROM | Basic mapper (Super Mario Bros, Donkey Kong) |
| 1 | MMC1 | Bank switching (Zelda, Mega Man 2, Metroid) |
| 2 | UxROM | PRG switching (Mega Man, Castlevania) |
| 3 | CNROM | CHR switching (Arkanoid, Paperboy) |
| 4 | MMC3 | Scanline IRQ, PRG/CHR banking (Super Mario Bros 3, Kirby's Adventure, Mega Man 4, 7 Grand Dad) |
| 5 | MMC5 | Extended (Castlevania III) |
| 7 | AxROM | Single-screen mirroring (Battletoads) |
| 9 | MMC2 | Latch-based CHR (Punch-Out!!) |
| 10 | MMC4 | Latch-based CHR (Fire Emblem) |
| 11 | Color Dreams | (Crystal Mines) |
| 16 | Bandai | IRQ + EEPROM |
| 18 | Jaleco SS 88006 | (Holy Diver) |
| 21 | VRC4a/c | Konami (Wai Wai World 2) |
| 23 | VRC4e/f | Konami |
| 25 | VRC4b/d | Konami |
| 30 | UNROM 512 | Homebrew (Battle Kid 2) |
| 34 | BNROM/NINA-001 | |
| 47 | MMC3 multicart | (Super Spike V'Ball + Nintendo World Cup) |
| 64 | RAMBO-1 | Tengen (Shinobi) |
| 66 | GxROM | (Super Mario Bros + Duck Hunt) |
| 69 | FME-7 | Sunsoft (Batman: Return of the Joker) |
| 85 | VRC7 | Konami (Lagrange Point) |
| 118 | TxSROM | MMC3 variant (Armadillo) |
Tested Games
The following games have been verified to work:
• Super Mario Bros
• Zelda II: The Adventure of Link
• Kirby's Adventure
• Castlevania
• Mega Man 4
• 7 Grand Dad (bootleg)
Known Limitations• Battletoads may show palette or colour artefacts due to timing-sensitive CHR RAM updates.
Contributing
If you would like to contribute, please see the contributing guide.
Report bugs or request features via issues.
License
This project is licensed under the MIT License.
Notes
Included homebrew ROMs:
• BladeBuster by Memblers (romhacking.net)
• Space Mutants Extendo UnCut Edition by DG & JK (romhacking.net)
• 7 Grand Dad
Additional ROMs not included — provide your own legally obtained files Based on sGBA by Asphaltian Reference: nesdev.org
Credits
sGBA | Asphaltian — base emulator architecture
BladeBuster | Memblers — included homebrew ROM
Space Mutants | DG & JK — included homebrew ROM
NES hardware reference | nesdev.org
Box art | libretro-thumbnails
|
| Votes | 👍272 👎28 ❤️548 |
| Error Rate | 0% |
| Loading Screen Media | https://cdn.sbox.game/org/ratman/snes/loadingscreen/3c5ef55a-10e2-4f9d-aa72-5be88611ad9d.png |
| Reviews |
9 reviews
33.3% Recommended (3)
55.6% Promise (5)
11.1% Needs Work (1)
|
| Usage |
3,009 players
3,516 sessions
118 hours playtime
2 minutes avg session
Totals captured
|
| Data | {} |
Loading history…
Play Fund
Explore Play FundBased on Facepunch's official Top 20 Play Fund Packages data, other packages will not have Play Fund data available.