{
  "commit": "d38cd580364b2c788e633b9e51c15e1668f726c0",
  "count": 1,
  "generated_at": "2026-11-03T13:36:34Z",
  "items": [
    {
      "id": "gpsp",
      "profile": {
        "core_classification": "community_fork",
        "core_version": "v1.1.0",
        "cores": [
          "gpsp"
        ],
        "display_name": "Nintendo - Game Boy Advance (gpSP)",
        "emulator": "gpSP",
        "files": [
          {
            "description": "Official GBA BIOS",
            "hle_fallback": true,
            "name": "gba_bios.bin",
            "note": "Built-in open-source BIOS used as fallback. Real BIOS needed for full SWI accuracy and boot animation.",
            "required": false,
            "size": 16384,
            "source_ref": "source libretro/libretro.c:1254, source gba_memory.c:3270-3281",
            "system": "nintendo-gba"
          }
        ],
        "notes": "gpSP is a Game Boy Advance emulator originally by Exophase, forked by\nnotaz for GP2X/Pandora, now maintained by davidgfnet for libretro.\nShips a built-in open-source BIOS (bios/open_gba_bios.bin) compiled\nfrom bios/source/ that covers most games.\n\nThe core option gpsp_bios controls BIOS selection:\n  auto     (default) - try official gba_bios.bin, fall back to built-in\n  builtin  - always use the built-in open-source BIOS\n  official - try gba_bios.bin, warn and fall back to built-in if missing\n\nBIOS loading path (libretro/libretro.c:1239-1276):\n  1. Resolve system directory (RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY)\n  2. Append \"/gba_bios.bin\"\n  3. load_bios() reads 0x4000 (16 KB) into bios_rom[]\n  4. Sanity check: bios_rom[0] must be 0x18 (ARM branch opcode)\n  5. On failure, memcpy open_gba_bios_rom[] as fallback\n\nThe official BIOS improves compatibility for games that rely on\nprecise SWI behavior or BIOS checksum verification.\n\nUpstream (notaz/Exophase) required the official BIOS with no fallback.\nThe built-in open-source BIOS is a davidgfnet/libretro addition.\n",
        "platform_details": {
          "gba": {
            "bios_size": 16384,
            "hle_bios": true,
            "note": "The built-in BIOS (open_gba_bios_rom, 16 KB) is an open-source\nreimplementation compiled from bios/source/. It implements most\nSWI calls (SoftReset, RegisterRamReset, Halt, VBlankIntrWait,\narithmetic, decompression, sound, multiboot).\n\nNo hash or checksum verification is performed. The only check\nis bios_rom[0] == 0x18 (ARM branch at reset vector).\n\nThe bios_type enum (main.h:56-61) defines three modes:\n  auto_detect  - try official first, fall back to built-in\n  builtin_bios - skip file load entirely, use open_gba_bios_rom\n  official_bios - try file, warn on failure, still fall back\n",
            "source_ref": "libretro/libretro.c:1239-1276, source bios/source/core.s"
          }
        },
        "profiled_date": "2026-03-23",
        "source": "https://github.com/libretro/gpsp",
        "source_commit": "5819380c2ffb0900219d700a382ee68c464ebb99",
        "systems": [
          "nintendo-gba"
        ],
        "type": "libretro",
        "upstream": "https://github.com/davidgfnet/gpsp",
        "version_basis": {
          "kind": "file",
          "path": "gpsp_config.h",
          "pattern": "#define\\s+GPSP_VERSION\\s+\"([^\"]+)\""
        }
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
