Skip to content

SuperSnes9x

Type libretro
Classification Enhanced forks
Source https://github.com/shanytc/snes9x
Upstream https://github.com/snes9xgit/snes9x
Version 1.63.29
Revision shanytc/snes9x@691e47b40fb3
Profiled 2026-10-17
Profile YAML, JSON
Cores supersnes9x
Systems nintendo-snes, nintendo-satellaview, nintendo-sufami-turbo, nintendo-sfcbox, nintendo-sgb, nintendo-gb, nintendo-gbc
Technical notes

Snes9x fork that adds a Game Boy core behind a Super Game Boy subsystem, the Super Famicom Box (HD64180 supervisor) and other boards. The libretro build compiles sfcbox.cpp, hd64180.cpp and the sgb/ tree. ref: snes9x.h:11-13, libretro/Makefile.common:53-69

BIOS_DIR is the frontend's system directory. LoadBIOS, used for BS-X.bin and STBIOS.bin, tries the content directory first and requires the read to fill the whole buffer it is given. ref: libretro/libretro.cpp:2320-2326, libretro/libretro.cpp:1145-1176

Game Boy content: with the snes9x_sgb_bios option at its default (auto) the core looks for an SGB2 BIOS, then an SGB1 BIOS, in the content directory, BIOS_DIR, then the working directory. A candidate is accepted only when its header at 0x7FC0 reads "Super GAMEBOY", the next byte deciding SGB2. Without one the built-in BIOS-less Game Boy core runs the cart. In BIOS mode a 256-byte GB-side boot ROM is read too, and used only when it contains the 3E F1 handshake sequence. Otherwise an embedded SGB boot ROM is used. ref: libretro/libretro.cpp:657-671, memmap.cpp:1088-1155, memmap.cpp:1165-1213, memmap.cpp:1655-1686, memmap.cpp:1858-1883

Satellaview: a BS-X cart loads only with BS-X.bin (1 MB). The BS-X slot code reads BS-X.bin or BS-X.bios from BIOS_DIR. ref: libretro/libretro.cpp:1308-1311, bsx.cpp:1204-1235, bsx.cpp:1301-1307

Sufami Turbo: a cart loads only with STBIOS.bin (256 KB). The Sufami Turbo subsystem asks LoadBIOS for 0x100000 bytes, so a 256 KB STBIOS.bin fails that path, while the plain content path and the two-cart path ask for 0x40000. ref: libretro/libretro.cpp:1302-1305, libretro/libretro.cpp:1413-1425, libretro/libretro.cpp:1445-1455

Super Famicom Box: the supervisor ROM is looked for in BIOS_DIR, the content directory, its BIOS and ../BIOS subfolders, then the directory of the loaded file. Without it the image is refused. The OSD font is optional. ref: sfcbox.cpp:1350-1407, memmap.cpp:2561-2562

8 files | 3 required, 5 optional | 8 in repo, 0 missing | 2 with HLE fallback

BS-X.bin required in repo #
Satellaview BS-X BIOS

STBIOS.bin required in repo #
Sufami Turbo BIOS

sgb2.sfc optional in repo #
Super Game Boy 2 SNES BIOS

sgb.sfc optional in repo #
Super Game Boy SNES BIOS

sgb2.boot.rom optional in repo HLE fallback #
Super Game Boy 2 GB-side boot ROM

sgb.boot.rom optional in repo HLE fallback #
Super Game Boy GB-side boot ROM

KROM1.BIN required in repo #
Super Famicom Box supervisor ROM (HD64180)

MB90082.BIN optional in repo #
Super Famicom Box OSD character ROM

Generated on 2026-10-20T03:49:43Z