{
  "commit": "d38cd580364b2c788e633b9e51c15e1668f726c0",
  "count": 1,
  "generated_at": "2026-11-03T13:36:34Z",
  "items": [
    {
      "id": "irogb",
      "profile": {
        "core_classification": "official_port",
        "core_version": "v1.0.0",
        "cores": [
          "irogb"
        ],
        "display_name": "Nintendo - Game Boy / Color (IroGB)",
        "emulator": "IroGB",
        "files": [
          {
            "description": "Game Boy (DMG) boot ROM",
            "hle_fallback": true,
            "name": "dmg_boot.bin",
            "note": "Opened with irogb_bios set to dmg, or to auto when cgb_boot.bin is absent.",
            "required": false,
            "size": 256,
            "source_ref": "src/frontend/libretro/libretro_host.cpp:91, src/frontend/libretro/libretro_host.cpp:106, src/frontend/libretro/libretro_host.cpp:61-84, src/memory/boot.cpp:10-24",
            "system": "nintendo-gb",
            "validation": [
              "size"
            ]
          },
          {
            "description": "Game Boy Color (CGB) boot ROM",
            "hle_fallback": true,
            "name": "cgb_boot.bin",
            "note": "Opened with irogb_bios set to cgb or auto. Under auto it also boots DMG cartridges in CGB mode.",
            "required": false,
            "size": 2304,
            "source_ref": "src/frontend/libretro/libretro_host.cpp:97, src/frontend/libretro/libretro_host.cpp:104, src/frontend/libretro/libretro_host.cpp:61-84, src/memory/boot.cpp:10-24, src/gbc.cpp:330-340",
            "system": "nintendo-gbc",
            "validation": [
              "size"
            ]
          }
        ],
        "notes": "IroGB is a Game Boy and Game Boy Color emulator by Alex Sutila. The\nlibretro frontend lives in src/frontend/libretro of the same repository\nas the SDL3, raylib and Python frontends. The buildbot builds the\nrepository default branch, release, with cmake -DBUILD_LIBRETRO=ON\n-DNO_CORE_FILESYSTEM=ON (.gitlab-ci.yml:10-14).\n\nBoot ROMs are read from the root of the system directory\n(src/frontend/libretro/libretro_host.cpp:61-84). The irogb_bios core\noption picks the file: dmg opens dmg_boot.bin, cgb opens cgb_boot.bin,\nauto (the default) tries cgb_boot.bin then dmg_boot.bin, none opens\nnothing (src/frontend/libretro/libretro_host.cpp:86-113). Under auto a\nDMG cartridge boots through the CGB boot ROM whenever cgb_boot.bin is\npresent and gets the CGB colouring of monochrome games. The\nirogb_monochrome_dmg option turns that off.\n\nBootROM accepts a file of exactly 256 or 2304 bytes and rejects any\nother size (src/memory/boot.cpp:10-24). The size also picks the machine:\na 2304-byte image starts in CGB mode (src/gbc.cpp:330-340). 256 bytes\ncovers DMG, DMG0, MGB and SGB dumps, 2304 bytes CGB, CGB0, AGB0 and AGB\ndumps (includes/memory/boot.hpp:9-30). Only the two names above are\never opened. No hash is checked.\n\nWithout a boot ROM, or when the file fails to open or has another size,\nthe core continues with skip_bios(), which loads post-boot CPU and MMIO\nvalues, unmaps the boot ROM and sets CGB mode from the cartridge header\n(src/gbc.cpp:342-349, src/gbc.cpp:387-405, src/gbc.cpp:489-490).\n\nThe .info declares cgb_bios.bin, but the code opens cgb_boot.bin.\n",
        "profiled_date": "2026-09-03",
        "source": "https://github.com/AlexSutila/IroGB",
        "source_commit": "7b6bb9b1f9cbf04e49eea0dc89c54635c2b54056",
        "systems": [
          "nintendo-gb",
          "nintendo-gbc"
        ],
        "type": "libretro",
        "upstream": "https://github.com/AlexSutila/IroGB",
        "version_basis": {
          "kind": "file",
          "path": "src/frontend/libretro/libretro_host.cpp",
          "pattern": "info->library_version\\s+=\\s+\"([^\"]+)"
        }
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
