SuperSnes9x¶
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
- System: nintendo-satellaview
- Size: min 1.0 MB
- Aliases:
BS-X.bios - Validation: size
- Source:
libretro/libretro.cpp:1145-1176,libretro/libretro.cpp:1308-1311,bsx.cpp:1204-1235 - Collection copy:
bios/Nintendo/SNES/BS-X.bin - Platforms: batocera
BS-X.bin, misterfpgaSNES/bsx_bios.rom, recalboxsatellaview/BS-X.bin - Required for BS-X carts. BS-X.bios is accepted by the slot code in bsx.cpp only.
STBIOS.bin required in repo #
Sufami Turbo BIOS
- System: nintendo-sufami-turbo
- Size: min 256.0 KB
- Validation: size
- Source:
libretro/libretro.cpp:1145-1176,libretro/libretro.cpp:1302-1305,libretro/libretro.cpp:1445-1455 - Collection copy:
bios/Nintendo/SuFami Turbo/STBIOS.bin - Platforms: batocera
STBIOS.bin, lakkaSTBIOS.bin, recalboxsufami/STBIOS.bin, retroarchSTBIOS.bin, retrobatSTBIOS.bin, retrodeckbios/STBIOS.bin, retropieSTBIOS.bin, rommsufami-turbo/STBIOS.bin - Required for Sufami Turbo carts. The Sufami Turbo subsystem reads 1 MB and rejects a 256 KB file.
sgb2.sfc optional in repo #
Super Game Boy 2 SNES BIOS
- System: nintendo-sgb
- Aliases:
SGB2.sfc,Super Game Boy 2 (Japan).sfc - Source:
memmap.cpp:1088-1155,memmap.cpp:1655-1665 - Collection copy:
bios/Nintendo/Super Game Boy/SGB2.sfc/program.rom - Platforms: batocera
SGB2.sfc, bizhawkSNES_SGB2_(J).sfc, lakkaSGB2.sfc,SGB2.sfc/program.rom,sgb2.program.rom, misterfpgaSGB/Super Game Boy 2.sfc, recalboxsgb/SGB2.sfc, retroarchSGB2.sfc,SGB2.sfc/program.rom,sgb2.program.rom, retrobatSGB2.sfc, retrodeckbios/SGB2.sfc,bios/sgb2.boot.rom, retropieSGB2.sfc,SGB2.sfc/program.rom,sgb2.program.rom, rommsuper-gb/SGB2.sfc,super-gb/sgb2.program.rom - Preferred over sgb.sfc in auto mode. Header at 0x7FC0 must read "Super GAMEBOY2". Without an SGB BIOS, GB content runs on the BIOS-less core.
sgb.sfc optional in repo #
Super Game Boy SNES BIOS
- System: nintendo-sgb
- Aliases:
SGB.sfc,sgb1.sfc,SGB1.sfc,Super Game Boy (World).sfc - Source:
memmap.cpp:1088-1155,memmap.cpp:1655-1665 - Collection copy:
bios/Nintendo/Super Game Boy/SGB1.sfc/program.rom - Platforms: batocera
SGB1.sfc, lakkaSGB1.sfc,SGB1.sfc/program.rom,sgb1.program.rom, misterfpgaSGB/Super Game Boy.sfc, recalboxsgb/SGB1.sfc, retroarchSGB1.sfc,SGB1.sfc/program.rom,sgb1.program.rom, retrobatSGB1.sfc, retrodeckbios/SGB1.sfc,bios/sgb1.program.rom, retropieSGB1.sfc,SGB1.sfc/program.rom,sgb1.program.rom, rommsuper-gb/SGB1.sfc,super-gb/sgb1.program.rom - Used when no SGB2 BIOS is found, or alone with the option set to sgb1. Header at 0x7FC0 must read "Super GAMEBOY" not followed by '2'.
sgb2.boot.rom optional in repo HLE fallback #
Super Game Boy 2 GB-side boot ROM
- System: nintendo-sgb
- Size: 256 B
- Aliases:
sgb2_bios.bin - Validation: size
- Source:
memmap.cpp:1165-1213,memmap.cpp:1858-1883 - Collection copy:
bios/Nintendo/Game Boy/GB_sgb2.bin - Platforms: batocera
sgb2_boot.bin, bizhawkGB_sgb2.bin, lakkaSGB2.sfc/sgb2.boot.rom,sgb2_bios.bin,sgb2_boot.bin, retroarchSGB2.sfc/sgb2.boot.rom,sgb2_bios.bin,sgb2_boot.bin, retrobatsgb2_boot.bin, retrodeckbios/sgb2_boot.bin, retropieSGB2.sfc/sgb2.boot.rom,sgb2_bios.bin,sgb2_boot.bin, rommsuper-gb/sgb2.boot.rom,super-gb/sgb2_bios.bin - Read in SGB2 BIOS mode and used only when it contains the 3E F1 handshake bytes, else the embedded boot ROM runs.
sgb.boot.rom optional in repo HLE fallback #
Super Game Boy GB-side boot ROM
- System: nintendo-sgb
- Size: 256 B
- Aliases:
sgb1.boot.rom,sgb_bios.bin - Validation: size
- Source:
memmap.cpp:1165-1213,memmap.cpp:1858-1883 - Collection copy:
bios/Nintendo/Game Boy/GB_sgb.bin - Platforms: batocera
sgb_bios.bin,sgb_boot.bin, bizhawkGB_sgb.bin, lakkaSGB1.sfc/sgb1.boot.rom,sgb.boot.rom,sgb_bios.bin,sgb_boot.bin, recalboxsgb/sgb_bios.bin, retroarchSGB1.sfc/sgb1.boot.rom,sgb.boot.rom,sgb_bios.bin,sgb_boot.bin, retrobatsgb_boot.bin, retrodeckbios/sgb1.boot.rom,bios/sgb_bios.bin, retropieSGB1.sfc/sgb1.boot.rom,sgb.boot.rom,sgb_bios.bin,sgb_boot.bin, rommsuper-gb/sgb1.boot.rom,super-gb/sgb_bios.bin - Read in SGB1 BIOS mode and used only when it contains the 3E F1 handshake bytes, else the embedded boot ROM runs.
KROM1.BIN required in repo #
Super Famicom Box supervisor ROM (HD64180)
- System: nintendo-sfcbox
- Size: min 64.0 KB
- Aliases:
KROM.BIN,krom1.bin - Validation: size
- Source:
sfcbox.cpp:1350-1398,sfcbox.h:20,memmap.cpp:2561-2562 - Collection copy:
bios/Nintendo/Super Famicom Box/KROM1.BIN - Required for Super Famicom Box images: LoadSFCBox returns false without it.
MB90082.BIN optional in repo #
Super Famicom Box OSD character ROM
- System: nintendo-sfcbox
- Size: min 9.0 KB
- Validation: size
- Source:
sfcbox.cpp:1400-1403,sfcbox.h:25 - Collection copy:
bios/Nintendo/Super Famicom Box/MB90082.BIN - Absent, the supervisor overlay is not drawn.
Generated on 2026-10-20T03:49:43Z