{
  "commit": "d38cd580364b2c788e633b9e51c15e1668f726c0",
  "count": 1,
  "generated_at": "2026-11-03T13:36:34Z",
  "items": [
    {
      "id": "emuscv",
      "profile": {
        "core_classification": "community_fork",
        "core_version": "0.12.20220726135800",
        "cores": [
          "emuscv"
        ],
        "display_name": "EPOCH/YENO Super Cassette Vision",
        "emulator": "EmuSCV",
        "files": [
          {
            "aliases": [
              "upd7801g.bin",
              "upd7801g.bios",
              "bios.rom",
              "bios.bin"
            ],
            "md5": "635a978fd40db9a18ee44eff449fc126",
            "name": "upd7801g.s01",
            "note": "UPD7801G internal ROM (BIOS). Mapped at 0x0000-0x0FFF. Contains character font at offset 0x200.",
            "required": true,
            "size": 4096,
            "source_ref": "src/vm/scv/memory.cpp:74-243",
            "system": "scv",
            "validation": [
              "md5"
            ]
          }
        ],
        "notes": "Libretro port of eSCV by Takeda Toshiya (Common Source Code Project),\nported to libretro by MARCONATO Maxime. Upstream source mirrored at\nhttps://github.com/tautologico/common-src-project (src/vm/scv/).\n\nBIOS loading in src/vm/scv/memory.cpp:initialize() (lines 74-243).\nTries filenames in order: upd7801g.s01, upd7801g.bin, upd7801g.bios,\nbios.rom, bios.bin. First successful open wins. Upstream eSCV uses\nonly BIOS.ROM (uppercase), and the libretro port renamed and added\nfallback aliases.\n\nThe BIOS is read as 0x1000 (4096) bytes into the bios[] array, mapped\nread-only at CPU address 0x0000-0x0FFF (UPD7801 internal ROM area).\n\nWhen CHECKBIOS core option is YES, the core computes MD5 of the loaded\ndata and compares against 635a978fd40db9a18ee44eff449fc126. If the\nhash does not match, the BIOS is rejected (zeroed out,\nbios_present=false). When CHECKBIOS is AUTO (default) or NO, any file\ncontent is accepted. The log message for AUTO says \"automatic (yes)\"\nbut the code skips the check (code bug: != YES_VAL at line 80).\n\nThe font/character data is embedded within the BIOS at offset 0x200\n(memory.h get_font() returns bios + 0x200). No separate font ROM file.\n\nThe core can start without BIOS (supports_no_game=true) but shows\n\"BIOS not found\" or \"Bad BIOS\" on the OSD. Games will not run without\nit.\n\nThe .info declares firmware_count=1, firmware0_opt=false. Matches code.\n",
        "platform_details": {
          "bios_mapping": {
            "upd7801g": {
              "format": "raw binary",
              "notes": "Memory map from memory.cpp:initialize():\n  0x0000-0x0FFF  BIOS ROM (read-only)\n  0x2000-0x3FFF  VRAM (8 KB)\n  0x8000-0xFF7F  Cartridge ROM (up to 4 banks of 32 KB)\n  0xFF80-0xFFFF  CPU internal RAM (128 bytes)\nFont data lives inside the BIOS at offset 0x200, accessed via\nget_font() for the VDP character rendering (src/vm/scv/vdp.cpp).\n",
              "source_ref": "src/vm/scv/memory.cpp:249-254",
              "target": "0x0000-0x0FFF (CPU internal ROM, 4 KB)"
            }
          },
          "cartridge_loading": {
            "banking": "4 banks of 32 KB via PC5/PC6 port lines",
            "formats": "cart, bin, rom, 0 (multi-file: .0/.1/.2/.3), zip",
            "source_ref": "src/vm/scv/memory.h, src/vm/scv/memory.cpp"
          },
          "cpu": "NEC UPD7801G"
        },
        "profiled_date": "2026-03-23",
        "source": "https://github.com/wzcwzc/emuscv",
        "source_commit": "6d6e4594d79862dd5c2ff7f725c109e4266f0b03",
        "systems": [
          "scv"
        ],
        "type": "libretro",
        "upstream": "http://takeda-toshiya.my.coocan.jp/",
        "version_basis": {
          "format": "{1}.{2}.{3}",
          "kind": "file",
          "path": "Makefile.libretro",
          "pattern": "^EMUSCV_VERSION_MAJOR := (\\d+)\\s*\\nEMUSCV_VERSION_MINOR := (\\d+)\\s*\\n(?:#.*\\n)*EMUSCV_VERSION_DATETIME := \\u0027?(\\d+)"
        }
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
