{
  "commit": "fbe5ba4e3e790ab07eddc5b57e0f45a02cbcd60e",
  "count": 1,
  "generated_at": "2026-10-24T00:06:47Z",
  "items": [
    {
      "id": "capricerpi",
      "profile": {
        "core_classification": "community_fork",
        "core_version": "1.3c",
        "cores": [
          "capricerpi"
        ],
        "display_name": "Amstrad - CPC (CapriceRPI)",
        "emulator": "CapriceRPI",
        "files": [
          {
            "description": "ParaDOS disc ROM, loaded into expansion slot 7 with --parados",
            "name": "parados.rom",
            "note": "Read from the rom directory under the working directory, only when --parados is given. RetroPie's launch line does not pass it. A missing or invalid file leaves AMSDOS in slot 7.",
            "path": "rom/parados.rom",
            "required": false,
            "size": 16384,
            "source_ref": "src/cap32.cpp:2982-3016, 4342-4344, 4751-4757",
            "system": "amstrad-cpc"
          }
        ],
        "mode": "standalone",
        "notes": "Raspberry Pi port by KaosOverride of Ulrich Doewich's Caprice32 4.1.0,\nthe SDL 1.2 code base, not the later ColinPitrat line the libretro core\nfollows. RetroPie builds src/ with RELEASE=TRUE and launches\ncapriceRPI %ROM% with no other option.\n\nThe CPC 464, 664 and 6128 firmware and AMSDOS are compiled in from\nsrc/roms/*.h (bin2c output). setup_builtin_roms copies the model's 32 KB\nimage into the lower ROM (src/roms/builtin_roms.h:9-27), and the\nfopen of cpc464.rom, cpc664.rom and cpc6128.rom that Caprice32 had is\ncommented out in emulator_patch_ROM (src/cap32.cpp:2805-2822) and in the\nmodel switch (src/cap32.cpp:1474-1479). AMSDOS is copied into slot 7 from\namsdos_rom for the 664 and 6128, or for a 464 when a disk forces it\n(src/cap32.cpp:2973-2979). The embedded images hash to md5\na993f85b88ac4350cf4d41554e87fe4f (464), 5a384a2310f472c7857888371c00ed66\n(664), b96280dc6c95a48857b4b8eb931533ae (6128) and\n25629dfe870d097469c217b95fdc1c95 (AMSDOS).\n\ncap32.cfg is never read. getConfigValueInt and getConfigValueString have\ntheir file parsing commented out and return the default\n(src/cap32.cpp:4060-4122), so expansion slots 2 to 15, the Multiface II\nROM and every path keep their built-in defaults. The ROM path is\n<cwd>/rom (src/cap32.cpp:4342-4344), chAppPath being getcwd() despite\nthe comment (src/cap32.cpp:4799).\n\nThe only external ROM is ParaDOS. The --parados option, with an optional\ndrive layout 1 to 4, names parados.rom in slot 7 (src/cap32.cpp:2982-2984,\n4751-4757). The loader reads 16 KB and keeps it when the first byte is\n0x01 or 0x02, retrying past a 128-byte header, and otherwise clears the\nslot and carries on (src/cap32.cpp:2986-3016). With a drive layout the\nlast two bytes of the image are rewritten as ParaDOS's configuration\nbyte and checksum (src/cap32.cpp:3021-3052).\n\nDisks, tapes and snapshots are user content. printer.dat and screen.png\nare written beside the working directory (src/cap32.cpp:4329-4340).\n",
        "profiled_date": "2026-10-20",
        "source": "https://github.com/KaosOverride/CapriceRPI",
        "source_commit": "7d86ebdc6a5e645220c6f30cf407ac57c3256054",
        "systems": [
          "amstrad-cpc"
        ],
        "type": "standalone",
        "upstream": "https://sourceforge.net/projects/caprice32/"
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
