nSide (SFC Balanced)¶
Technical notes
Fork of higan by hex_usr (nSide v009r16, README.txt:1-4), synchronised with higan v106r25: Emulator::Version is "106.25" (nSide/emulator/emulator.hpp:16) and retro_get_system_info announces it as library_version under the name "higan (Super Famicom Balanced)" (nSide/target-libretro/libretro.cpp:87-93, nSide/target-libretro/libretro-sfc.cpp:486). The balanced profile keeps a scanline-based PPU, and the accuracy profile is refused at build time (nSide/target-libretro/GNUmakefile:1-2, nSide/target-libretro/libretro.cpp:38-39). The library is named nside_$(corename)libretro with corename sfc_balanced (nSide/target-libretro/GNUmakefile:4-13, nSide/target-libretro/GNUmakefile:18-23), which the GitLab CI publishes as nside_sfc_balanced (.gitlab-ci.yml:15, .gitlab-ci.yml:53-54). The core options keep the higan_sfc prefix so the settings are shared with higan's core (nSide/target-libretro/libretro-sfc.cpp:321-329).
System files manifest.bml, boards.bml and ipl.rom are compiled into the binary and served from memory (nSide/target-libretro/libretro-sfc.cpp:335-341, nSide/target-libretro/resource/sfc.bml:1-4, nSide/sfc-balanced/smp/smp.cpp:25-33).
Coprocessor firmware. A ROM is imported through icarus, whose manifest names each firmware memory by architecture and identifier (icarus/heuristics/super-famicom.cpp:90-115). When the image does not carry the firmware appended (icarus/heuristics/super-famicom.cpp:406-414), the importer reports {identifier}.{content}.rom as missing (icarus/core/super-famicom.cpp:46-57) and the libretro target reads that name through locate_libretro, appends it to the image and imports again (nSide/target-libretro/icarus.cpp:111-142). locate_libretro tries the system directory, then higan/ and nSide/ under the user's config and data directories (nSide/target-libretro/libretro.cpp:3-31). Identifiers come from the cartridge label: DSP1 for PILOTWINGS, DSP2 for DUNGEON MASTER, DSP3 for SD Gundam GX, DSP4 for TOP GEAR 3000 and PLANETS CHAMP TG3000, DSP1B otherwise. ST011 is used for 2DAN MORITA SHOUGI, ST010 otherwise, and ST018 and Cx4 have a single revision (icarus/heuristics/super-famicom.cpp:512-541). No hash is checked, and a file shorter than the size the manifest declares leaves the second import short and the load fails. The sizes below are those declared by the heuristics.
Super Game Boy. Loading a .gb or .gbc file selects the folder named by the higan_sfc_sgb_bios option, SGB1.sfc/ by default or SGB2.sfc/ (nSide/target-libretro/libretro-sfc.cpp:142-145, nSide/target-libretro/libretro-sfc.cpp:326). program.rom is looked up in that folder, then in SGB.sfc/ and Super GameBoy.sfc/, and the folder's manifest is generated from its program.rom and *.boot.rom files (nSide/target-libretro/libretro-sfc.cpp:179-215, icarus/core/super-famicom.cpp:1-11). The Game Boy system then opens the boot ROM the manifest names, lr35902.boot.rom, from the folder first and from the system directory root as a fallback (nSide/gb/system/system.cpp:54-65, nSide/target-libretro/program.cpp:19-81). Once a Game Boy image is loaded both files are mandatory: a missing one sets the failure flag and retro_load_game returns false (nSide/target-libretro/program.cpp:75-78, nSide/target-libretro/libretro.cpp:286). The SHA-1 values on the boot ROMs and on cx4.data.rom are those of the copies the source tree ships in icarus/firmware/.
21 files | 0 required, 21 optional | 21 in repo, 0 missing
dsp1.data.rom optional in repo #
- System: nintendo-snes
- Size: 2.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:457-501,icarus/heuristics/super-famicom.cpp:115,icarus/heuristics/super-famicom.cpp:534 - Collection copy:
bios/Nintendo/SNES/dsp1.data.rom - Platforms: lakka
dsp1.data.rom, retroarchdsp1.data.rom, retrodeckbios/dsp1.data.rom, retropiedsp1.data.rom, rommsnes/dsp1.data.rom
dsp1.program.rom optional in repo #
- System: nintendo-snes
- Size: 6.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:457-501,icarus/heuristics/super-famicom.cpp:114,icarus/heuristics/super-famicom.cpp:534 - Collection copy:
bios/Nintendo/SNES/dsp1.program.rom - Platforms: lakka
dsp1.program.rom, retroarchdsp1.program.rom, retropiedsp1.program.rom, rommsnes/dsp1.program.rom
dsp1b.data.rom optional in repo #
- System: nintendo-snes
- Size: 2.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:457-501,icarus/heuristics/super-famicom.cpp:115,icarus/heuristics/super-famicom.cpp:539 - Collection copy:
bios/Nintendo/SNES/dsp1b.data.rom - Platforms: lakka
dsp1b.data.rom, retroarchdsp1b.data.rom, retrodeckbios/dsp1b.data.rom, retropiedsp1b.data.rom, rommsnes/dsp1b.data.rom
dsp1b.program.rom optional in repo #
- System: nintendo-snes
- Size: 6.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:457-501,icarus/heuristics/super-famicom.cpp:114,icarus/heuristics/super-famicom.cpp:539 - Collection copy:
bios/Nintendo/SNES/dsp1b.program.rom - Platforms: lakka
dsp1b.program.rom, retroarchdsp1b.program.rom, retrodeckbios/dsp1b.program.rom, retropiedsp1b.program.rom, rommsnes/dsp1b.program.rom
dsp2.data.rom optional in repo #
- System: nintendo-snes
- Size: 2.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:457-501,icarus/heuristics/super-famicom.cpp:115,icarus/heuristics/super-famicom.cpp:535 - Collection copy:
bios/Nintendo/SNES/dsp2.data.rom - Platforms: lakka
dsp2.data.rom, retroarchdsp2.data.rom, retrodeckbios/dsp2.data.rom, retropiedsp2.data.rom, rommsnes/dsp2.data.rom
dsp2.program.rom optional in repo #
- System: nintendo-snes
- Size: 6.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:457-501,icarus/heuristics/super-famicom.cpp:114,icarus/heuristics/super-famicom.cpp:535 - Collection copy:
bios/Nintendo/SNES/dsp2.program.rom - Platforms: lakka
dsp2.program.rom, retroarchdsp2.program.rom, retrodeckbios/dsp2.program.rom, retropiedsp2.program.rom, rommsnes/dsp2.program.rom
dsp3.data.rom optional in repo #
- System: nintendo-snes
- Size: 2.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:457-501,icarus/heuristics/super-famicom.cpp:115,icarus/heuristics/super-famicom.cpp:536 - Collection copy:
bios/Nintendo/SNES/dsp3.data.rom - Platforms: lakka
dsp3.data.rom, retroarchdsp3.data.rom, retrodeckbios/dsp3.data.rom, retropiedsp3.data.rom, rommsnes/dsp3.data.rom
dsp3.program.rom optional in repo #
- System: nintendo-snes
- Size: 6.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:457-501,icarus/heuristics/super-famicom.cpp:114,icarus/heuristics/super-famicom.cpp:536 - Collection copy:
bios/Nintendo/SNES/dsp3.program.rom - Platforms: lakka
dsp3.program.rom, retroarchdsp3.program.rom, retrodeckbios/dsp3.program.rom, retropiedsp3.program.rom, rommsnes/dsp3.program.rom
dsp4.data.rom optional in repo #
- System: nintendo-snes
- Size: 2.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:457-501,icarus/heuristics/super-famicom.cpp:115,icarus/heuristics/super-famicom.cpp:537-538 - Collection copy:
bios/Nintendo/SNES/dsp4.data.rom - Platforms: lakka
dsp4.data.rom, retroarchdsp4.data.rom, retrodeckbios/dsp4.data.rom, retropiedsp4.data.rom, rommsnes/dsp4.data.rom
dsp4.program.rom optional in repo #
- System: nintendo-snes
- Size: 6.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:457-501,icarus/heuristics/super-famicom.cpp:114,icarus/heuristics/super-famicom.cpp:537-538 - Collection copy:
bios/Nintendo/SNES/dsp4.program.rom - Platforms: lakka
dsp4.program.rom, retroarchdsp4.program.rom, retrodeckbios/dsp4.program.rom, retropiedsp4.program.rom, rommsnes/dsp4.program.rom
cx4.data.rom optional in repo #
- System: nintendo-snes
- Size: 3.0 KB
- SHA1:
a002f4efba42775a31185d443f3ed1790b0e949a - Source:
nSide/sfc-balanced/cartridge/load.cpp:405-454,icarus/heuristics/super-famicom.cpp:110,icarus/heuristics/super-famicom.cpp:529-531 - Collection copy:
bios/Nintendo/SNES/SNES_cx4.rom - Platforms: bizhawk
SNES_cx4.rom, lakkacx4.data.rom, retroarchcx4.data.rom, retrodeckbios/cx4.data.rom, retropiecx4.data.rom, rommsnes/cx4.data.rom
st010.data.rom optional in repo #
- System: nintendo-snes
- Size: 4.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:504-548,icarus/heuristics/super-famicom.cpp:99,icarus/heuristics/super-famicom.cpp:516-521 - Collection copy:
bios/Nintendo/SNES/st010.data.rom - Platforms: lakka
st010.data.rom, retroarchst010.data.rom, retrodeckbios/st010.data.rom, retropiest010.data.rom, rommsnes/st010.data.rom
st010.program.rom optional in repo #
- System: nintendo-snes
- Size: 48.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:504-548,icarus/heuristics/super-famicom.cpp:98,icarus/heuristics/super-famicom.cpp:516-521 - Collection copy:
bios/Nintendo/SNES/st010.program.rom - Platforms: lakka
st010.program.rom, retroarchst010.program.rom, retrodeckbios/st010.program.rom, retropiest010.program.rom, rommsnes/st010.program.rom
st011.data.rom optional in repo #
- System: nintendo-snes
- Size: 4.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:504-548,icarus/heuristics/super-famicom.cpp:99,icarus/heuristics/super-famicom.cpp:519 - Collection copy:
bios/Nintendo/SNES/st011.data.rom - Platforms: lakka
st011.data.rom, retroarchst011.data.rom, retrodeckbios/st011.data.rom, retropiest011.data.rom, rommsnes/st011.data.rom
st011.program.rom optional in repo #
- System: nintendo-snes
- Size: 48.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:504-548,icarus/heuristics/super-famicom.cpp:98,icarus/heuristics/super-famicom.cpp:519 - Collection copy:
bios/Nintendo/SNES/st011.program.rom - Platforms: lakka
st011.program.rom, retroarchst011.program.rom, retrodeckbios/st011.program.rom, retropiest011.program.rom, rommsnes/st011.program.rom
st018.data.rom optional in repo #
- System: nintendo-snes
- Size: 32.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:362-402,icarus/heuristics/super-famicom.cpp:92,icarus/heuristics/super-famicom.cpp:512-514 - Collection copy:
bios/Nintendo/SNES/st018.data.rom - Platforms: lakka
st018.data.rom, retroarchst018.data.rom, retrodeck, retropiest018.data.rom, rommsnes/st018.data.rom
st018.program.rom optional in repo #
- System: nintendo-snes
- Size: 128.0 KB
- Source:
nSide/sfc-balanced/cartridge/load.cpp:362-402,icarus/heuristics/super-famicom.cpp:91,icarus/heuristics/super-famicom.cpp:512-514 - Collection copy:
bios/Nintendo/SNES/st018.program.rom - Platforms: lakka
st018.program.rom, retroarchst018.program.rom, retrodeckbios/st018.program.rom, retropiest018.program.rom, rommsnes/st018.program.rom
program.rom optional in repo #
- Path:
SGB1.sfc/program.rom - System: nintendo-sgb
- Source:
nSide/target-libretro/libretro-sfc.cpp:179-215,nSide/sfc-balanced/cartridge/load.cpp:159-162 - 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 - Also looked up as SGB.sfc/program.rom and Super GameBoy.sfc/program.rom.
lr35902.boot.rom optional in repo #
- Path:
SGB1.sfc/lr35902.boot.rom - System: nintendo-sgb
- Size: 256 B
- SHA1:
aa2f50a77dfb4823da96ba99309085a3c6278515 - Source:
nSide/gb/system/system.cpp:54-65,nSide/emulator/game.hpp:101-104,icarus/heuristics/super-famicom.cpp:103,icarus/heuristics/super-famicom.cpp:523-527 - 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 - Falls back to lr35902.boot.rom at the system directory root.
program.rom optional in repo #
- Path:
SGB2.sfc/program.rom - System: nintendo-sgb
- Source:
nSide/target-libretro/libretro-sfc.cpp:179-215,nSide/sfc-balanced/cartridge/load.cpp:159-162 - 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 - Selected by the higan_sfc_sgb_bios option.
lr35902.boot.rom optional in repo #
- Path:
SGB2.sfc/lr35902.boot.rom - System: nintendo-sgb
- Size: 256 B
- SHA1:
93407ea10d2f30ab96a314d8eca44fe160aea734 - Source:
nSide/gb/system/system.cpp:54-65,nSide/emulator/game.hpp:101-104,icarus/heuristics/super-famicom.cpp:103,icarus/heuristics/super-famicom.cpp:523-527 - 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 - Falls back to lr35902.boot.rom at the system directory root.
Generated on 2026-10-20T03:49:41Z