{
  "count": 1,
  "generated_at": "2026-10-20T02:57:31Z",
  "items": [
    {
      "id": "supersnes9x",
      "profile": {
        "core_classification": "enhanced_fork",
        "core_version": "1.63.29",
        "cores": [
          "supersnes9x"
        ],
        "display_name": "Nintendo - SNES / SFC / SGB / GB / GBC (SuperSnes9x)",
        "emulator": "SuperSnes9x",
        "files": [
          {
            "aliases": [
              "BS-X.bios"
            ],
            "description": "Satellaview BS-X BIOS",
            "min_size": 1048576,
            "name": "BS-X.bin",
            "note": "Required for BS-X carts. BS-X.bios is accepted by the slot code in bsx.cpp only.",
            "required": true,
            "source_ref": "libretro/libretro.cpp:1145-1176, libretro/libretro.cpp:1308-1311, bsx.cpp:1204-1235",
            "system": "nintendo-satellaview",
            "validation": [
              "size"
            ]
          },
          {
            "description": "Sufami Turbo BIOS",
            "min_size": 262144,
            "name": "STBIOS.bin",
            "note": "Required for Sufami Turbo carts. The Sufami Turbo subsystem reads 1 MB and rejects a 256 KB file.",
            "required": true,
            "source_ref": "libretro/libretro.cpp:1145-1176, libretro/libretro.cpp:1302-1305, libretro/libretro.cpp:1445-1455",
            "system": "nintendo-sufami-turbo",
            "validation": [
              "size"
            ]
          },
          {
            "aliases": [
              "SGB2.sfc",
              "Super Game Boy 2 (Japan).sfc"
            ],
            "description": "Super Game Boy 2 SNES BIOS",
            "name": "sgb2.sfc",
            "note": "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.",
            "required": false,
            "source_ref": "memmap.cpp:1088-1155, memmap.cpp:1655-1665",
            "system": "nintendo-sgb"
          },
          {
            "aliases": [
              "SGB.sfc",
              "sgb1.sfc",
              "SGB1.sfc",
              "Super Game Boy (World).sfc"
            ],
            "description": "Super Game Boy SNES BIOS",
            "name": "sgb.sfc",
            "note": "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'.",
            "required": false,
            "source_ref": "memmap.cpp:1088-1155, memmap.cpp:1655-1665",
            "system": "nintendo-sgb"
          },
          {
            "aliases": [
              "sgb2_bios.bin"
            ],
            "description": "Super Game Boy 2 GB-side boot ROM",
            "hle_fallback": true,
            "name": "sgb2.boot.rom",
            "note": "Read in SGB2 BIOS mode and used only when it contains the 3E F1 handshake bytes, else the embedded boot ROM runs.",
            "required": false,
            "size": 256,
            "source_ref": "memmap.cpp:1165-1213, memmap.cpp:1858-1883",
            "system": "nintendo-sgb",
            "validation": [
              "size"
            ]
          },
          {
            "aliases": [
              "sgb1.boot.rom",
              "sgb_bios.bin"
            ],
            "description": "Super Game Boy GB-side boot ROM",
            "hle_fallback": true,
            "name": "sgb.boot.rom",
            "note": "Read in SGB1 BIOS mode and used only when it contains the 3E F1 handshake bytes, else the embedded boot ROM runs.",
            "required": false,
            "size": 256,
            "source_ref": "memmap.cpp:1165-1213, memmap.cpp:1858-1883",
            "system": "nintendo-sgb",
            "validation": [
              "size"
            ]
          },
          {
            "aliases": [
              "KROM.BIN",
              "krom1.bin"
            ],
            "description": "Super Famicom Box supervisor ROM (HD64180)",
            "min_size": 65536,
            "name": "KROM1.BIN",
            "note": "Required for Super Famicom Box images: LoadSFCBox returns false without it.",
            "required": true,
            "source_ref": "sfcbox.cpp:1350-1398, sfcbox.h:20, memmap.cpp:2561-2562",
            "system": "nintendo-sfcbox",
            "validation": [
              "size"
            ]
          },
          {
            "description": "Super Famicom Box OSD character ROM",
            "min_size": 9216,
            "name": "MB90082.BIN",
            "note": "Absent, the supervisor overlay is not drawn.",
            "required": false,
            "source_ref": "sfcbox.cpp:1400-1403, sfcbox.h:25",
            "system": "nintendo-sfcbox",
            "validation": [
              "size"
            ]
          }
        ],
        "notes": "Snes9x fork that adds a Game Boy core behind a Super Game Boy subsystem, the\nSuper Famicom Box (HD64180 supervisor) and other boards. The libretro build\ncompiles sfcbox.cpp, hd64180.cpp and the sgb/ tree.\nref: snes9x.h:11-13, libretro/Makefile.common:53-69\n\nBIOS_DIR is the frontend's system directory. LoadBIOS, used for BS-X.bin and\nSTBIOS.bin, tries the content directory first and requires the read to fill\nthe whole buffer it is given.\nref: libretro/libretro.cpp:2320-2326, libretro/libretro.cpp:1145-1176\n\nGame Boy content: with the snes9x_sgb_bios option at its default (auto) the\ncore looks for an SGB2 BIOS, then an SGB1 BIOS, in the content directory,\nBIOS_DIR, then the working directory. A candidate is accepted only when its\nheader at 0x7FC0 reads \"Super GAMEBOY\", the next byte deciding SGB2. Without\none the built-in BIOS-less Game Boy core runs the cart. In BIOS mode a\n256-byte GB-side boot ROM is read too, and used only when it contains the\n3E F1 handshake sequence. Otherwise an embedded SGB boot ROM is used.\nref: libretro/libretro.cpp:657-671, memmap.cpp:1088-1155,\n     memmap.cpp:1165-1213, memmap.cpp:1655-1686, memmap.cpp:1858-1883\n\nSatellaview: a BS-X cart loads only with BS-X.bin (1 MB). The BS-X slot code\nreads BS-X.bin or BS-X.bios from BIOS_DIR.\nref: libretro/libretro.cpp:1308-1311, bsx.cpp:1204-1235, bsx.cpp:1301-1307\n\nSufami Turbo: a cart loads only with STBIOS.bin (256 KB). The Sufami Turbo\nsubsystem asks LoadBIOS for 0x100000 bytes, so a 256 KB STBIOS.bin fails that\npath, while the plain content path and the two-cart path ask for 0x40000.\nref: libretro/libretro.cpp:1302-1305, libretro/libretro.cpp:1413-1425,\n     libretro/libretro.cpp:1445-1455\n\nSuper Famicom Box: the supervisor ROM is looked for in BIOS_DIR, the content\ndirectory, its BIOS and ../BIOS subfolders, then the directory of the loaded\nfile. Without it the image is refused. The OSD font is optional.\nref: sfcbox.cpp:1350-1407, memmap.cpp:2561-2562\n",
        "pin_frozen": "ROCKNIX 20261001 builds this revision. Later commits on shanytc/snes9x rework the Super Famicom Box loader and are not part of that build.",
        "profiled_date": "2026-10-17",
        "source": "https://github.com/shanytc/snes9x",
        "source_commit": "691e47b40fb38fa522a5471462344a2f0206b7a8",
        "systems": [
          "nintendo-snes",
          "nintendo-satellaview",
          "nintendo-sufami-turbo",
          "nintendo-sfcbox",
          "nintendo-sgb",
          "nintendo-gb",
          "nintendo-gbc"
        ],
        "type": "libretro",
        "upstream": "https://github.com/snes9xgit/snes9x"
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
