{
  "commit": "d38cd580364b2c788e633b9e51c15e1668f726c0",
  "count": 1,
  "generated_at": "2026-11-03T13:36:34Z",
  "items": [
    {
      "id": "crocods",
      "profile": {
        "core_classification": "official_port",
        "core_version": "2024-10-16",
        "cores": [
          "crocods"
        ],
        "display_name": "Amstrad - CPC (CrocoDS)",
        "emulator": "CrocoDS",
        "files": [],
        "notes": "CrocoDS is an Amstrad CPC 6128 emulator ported to libretro. Supports\n.dsk, .sna, and .kcr file formats.\n\nAll system ROMs are compiled directly into the core binary as C byte\narrays. No external BIOS files are required.\n\nEmbedded ROMs (crocods-core/):\n  - cpc6128.bin.c: cpc6128_bin[32768] - CPC 6128 OS (16KB) + BASIC 1.1 (16KB)\n  - romdisc.bin.c: romdisc_bin[16384] - AMSDOS disk controller ROM (16KB)\n\nROM initialization in InitMemCPC() (crocods-core/vga.c:185-200):\n  - ROMINF (lower ROM, 16KB): first half of cpc6128_bin (OS)\n  - ROMEXT[0] (upper ROM slot 0, 16KB): second half of cpc6128_bin (BASIC)\n  - ROMEXT[7] (upper ROM slot 7, 16KB): romdisc_bin (AMSDOS)\n\nCalled from HardResetCPC() (crocods-core/platform.c:1024-1035) using\nthe extern byte arrays directly. No filesystem ROM loading exists in\nthe libretro path.\n\nA Multiface ROM loader exists (crocods-core/multiface.c:53-64) that\nreads LocRomMulti via fopen(), but InitMultiface() is never called\nfrom the libretro build or platform.c. Dead code in libretro context.\n\nThe core does not request retro_system_directory or declare any\nfirmware entries in the .info file. need_fullpath is false.\n\nOnly the CPC 6128 model is emulated (no CPC 464/664 selection).\n",
        "platform_details": {
          "bios_mapping": {
            "note": "All ROMs are embedded. InitMemCPC() copies cpc6128_bin and romdisc_bin\ninto ROMINF and ROMEXT arrays via memcpy. No filesystem lookup occurs.\nretro_set_environment() does not request system_directory.\n",
            "source_ref": "crocods-core/vga.c:185-200, crocods-core/platform.c:1024-1035"
          },
          "embedded_roms": {
            "note": "2 ROM sets embedded as C byte arrays:\ncpc6128_bin (32KB) - CPC 6128 OS (lower 16KB) + BASIC 1.1 (upper 16KB)\nromdisc_bin (16KB) - AMSDOS disk controller ROM, mapped to slot 7\n",
            "source_ref": "source crocods-core/cpc6128.bin.c, source crocods-core/romdisc.bin.c"
          },
          "model_rom_map": {
            "note": "CPC 6128 only: OS in ROMINF, BASIC in ROMEXT[0], AMSDOS in ROMEXT[7]\nemulator_patch_ROM() applies language patches to ROMINF after loading\n",
            "source_ref": "crocods-core/vga.c:189-192"
          }
        },
        "profiled_date": "2026-03-23",
        "source": "https://github.com/libretro/libretro-crocods",
        "source_commit": "a9c63b29443715ae2add392010fca4eae7f93e67",
        "systems": [
          "amstrad-cpc"
        ],
        "type": "libretro",
        "upstream": "https://github.com/redbug26/crocods-core",
        "version_basis": {
          "kind": "file",
          "path": "crocods-core/crocods.h",
          "pattern": "#define\\s+CROCOVERSION\\s+\"([^\"]+)\""
        }
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
