{
  "commit": "d38cd580364b2c788e633b9e51c15e1668f726c0",
  "count": 1,
  "generated_at": "2026-11-03T13:36:34Z",
  "items": [
    {
      "id": "puae",
      "profile": {
        "core_classification": "community_fork",
        "core_version": "5.3.1",
        "cores": [
          "puae",
          "uae"
        ],
        "display_name": "Commodore - Amiga (PUAE)",
        "emulator": "PUAE (P-UAE)",
        "files": [
          {
            "aliases": [
              "amiga-os-110-ntsc.rom",
              "Kickstart v1.1 rev 31.34 (1985)(Commodore)(A1000)(NTSC).rom"
            ],
            "hle_fallback": true,
            "name": "kick31034.A1000",
            "note": "Kickstart 1.1 rev 31.34 (1985) NTSC. A1000 only.",
            "required": false,
            "size": 262144,
            "source_ref": "libretro/libretro-core.h:170-174",
            "system": "commodore-amiga"
          },
          {
            "aliases": [
              "amiga-os-110-pal.rom",
              "Kickstart v1.1 rev 32.34 (1986)(Commodore)(A1000)(PAL).rom"
            ],
            "hle_fallback": true,
            "name": "kick32034.A1000",
            "note": "Kickstart 1.1 rev 32.34 (1986) PAL. A1000 only.",
            "required": false,
            "size": 262144,
            "source_ref": "libretro/libretro-core.h:176-179",
            "system": "commodore-amiga"
          },
          {
            "aliases": [
              "amiga-os-120.rom",
              "Kickstart v1.2 rev 33.180 (1986)(Commodore)(A500-A2000)[!].rom",
              "Kickstart v1.2 rev 33.180 (1986)(Commodore)(A500-A1000-A2000).rom"
            ],
            "hle_fallback": true,
            "name": "kick33180.A500",
            "note": "Kickstart 1.2 rev 33.180 (1986). A500/A2000. Also used by WHDLoad.",
            "required": false,
            "size": 262144,
            "source_ref": "libretro/libretro-core.h:182-185",
            "system": "commodore-amiga"
          },
          {
            "aliases": [
              "amiga-os-130.rom",
              "Kickstart v1.3 rev 34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[!].rom",
              "Kickstart v1.3 rev 34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV).rom"
            ],
            "name": "kick34005.A500",
            "note": "Kickstart 1.3 rev 34.5 (1987). Default for A500/A2000OG/CDTV models. Also used by WHDLoad.",
            "required": true,
            "size": 262144,
            "source_ref": "libretro/libretro-core.h:187-190",
            "system": "commodore-amiga"
          },
          {
            "aliases": [
              "amiga-os-204.rom",
              "Kickstart v2.04 rev 37.175 (1991)(Commodore)(A500+)[!].rom",
              "Kickstart v2.04 rev 37.175 (1991)(Commodore)(A500+).rom"
            ],
            "hle_fallback": true,
            "name": "kick37175.A500",
            "note": "Kickstart 2.04 rev 37.175 (1991). Default for A500+ model.",
            "required": false,
            "size": 262144,
            "source_ref": "libretro/libretro-core.h:192-195",
            "system": "commodore-amiga"
          },
          {
            "aliases": [
              "amiga-os-205-a600.rom",
              "Kickstart v2.05 rev 37.350 (1992)(Commodore)(A600HD)[!].rom"
            ],
            "hle_fallback": true,
            "name": "kick37350.A600",
            "note": "Kickstart 2.05 rev 37.350 (1992). A600HD.",
            "required": false,
            "size": 262144,
            "source_ref": "libretro/libretro-core.h:198-201",
            "system": "commodore-amiga"
          },
          {
            "aliases": [
              "amiga-os-310-a600.rom",
              "Kickstart v3.1 rev 40.63 (1993)(Commodore)(A500-A600-A2000)[!].rom",
              "Kickstart v3.1 rev 40.63 (1993)(Commodore)(A500-A600-A2000).rom"
            ],
            "hle_fallback": true,
            "name": "kick40063.A600",
            "note": "Kickstart 3.1 rev 40.63 (1993). Default for A600/A2000 models. Also used by WHDLoad.",
            "required": false,
            "size": 524288,
            "source_ref": "libretro/libretro-core.h:203-206",
            "system": "commodore-amiga"
          },
          {
            "aliases": [
              "amiga-os-300-a1200.rom",
              "Kickstart v3.0 rev 39.106 (1992)(Commodore)(A1200)[!].rom"
            ],
            "hle_fallback": true,
            "name": "kick39106.A1200",
            "note": "Kickstart 3.0 rev 39.106 (1992). A1200.",
            "required": false,
            "size": 524288,
            "source_ref": "libretro/libretro-core.h:209-212",
            "system": "commodore-amiga"
          },
          {
            "aliases": [
              "amiga-os-310-a1200.rom",
              "Kickstart v3.1 rev 40.68 (1993)(Commodore)(A1200)[!].rom",
              "Kickstart v3.1 rev 40.68 (1993)(Commodore)(A1200).rom"
            ],
            "name": "kick40068.A1200",
            "note": "Kickstart 3.1 rev 40.68 (1993). Default for A1200/A1200OG models. Also used by WHDLoad.",
            "required": true,
            "size": 524288,
            "source_ref": "libretro/libretro-core.h:214-217",
            "system": "commodore-amiga"
          },
          {
            "aliases": [
              "amiga-os-300-a4000.rom",
              "Kickstart v3.0 rev 39.106 (1992)(Commodore)(A4000)[!].rom"
            ],
            "hle_fallback": true,
            "name": "kick39106.A4000",
            "note": "Kickstart 3.0 rev 39.106 (1992). A4000.",
            "required": false,
            "size": 524288,
            "source_ref": "libretro/libretro-core.h:220-223",
            "system": "commodore-amiga"
          },
          {
            "aliases": [
              "amiga-os-310-a4000.rom",
              "Kickstart v3.1 rev 40.68 (1993)(Commodore)(A4000).rom"
            ],
            "hle_fallback": true,
            "name": "kick40068.A4000",
            "note": "Kickstart 3.1 rev 40.68 (1993). Default for A4030/A4040 models.",
            "required": false,
            "size": 524288,
            "source_ref": "libretro/libretro-core.h:225-228",
            "system": "commodore-amiga"
          },
          {
            "aliases": [
              "amiga-os-130-cdtv-ext.rom",
              "CDTV Extended-ROM v1.0 (1991)(Commodore)(CDTV)[!].rom",
              "CDTV Extended-ROM v1.0 (1992)(Commodore)(CDTV).rom"
            ],
            "name": "kick34005.CDTV",
            "note": "CDTV Extended ROM v1.0 (1991). Required as extended ROM for CDTV model. Main kickstart is kick34005.A500.",
            "required": true,
            "size": 262144,
            "source_ref": "libretro/libretro-core.h:231-234",
            "system": "commodore-cdtv"
          },
          {
            "aliases": [
              "amiga-os-310-cd32.rom",
              "Kickstart v3.1 rev 40.60 (1993)(Commodore)(CD32).rom"
            ],
            "name": "kick40060.CD32",
            "note": "CD32 Kickstart 3.1 rev 40.60 (1993). Main ROM for CD32 and CD32FR models.",
            "required": true,
            "size": 524288,
            "source_ref": "libretro/libretro-core.h:236-239",
            "system": "commodore-amiga-cd32"
          },
          {
            "aliases": [
              "amiga-os-310-cd32-ext.rom",
              "CD32 Extended-ROM rev 40.60 (1993)(Commodore)(CD32).rom"
            ],
            "name": "kick40060.CD32.ext",
            "note": "CD32 Extended ROM rev 40.60 (1993). Required when main ROM is <= 512 KB (not combined).",
            "required": true,
            "size": 524288,
            "source_ref": "libretro/libretro-core.h:241-244",
            "system": "commodore-amiga-cd32"
          },
          {
            "name": "rom.key",
            "note": "Amiga Forever ROM decryption key. Copied to saves/WHDLoad/Devs/Kickstarts/ for WHDLoad.",
            "required": false,
            "source_ref": "libretro/libretro-core.c:5963-5978",
            "system": "commodore-amiga"
          },
          {
            "name": "WHDLoad.key",
            "note": "WHDLoad license key. Copied to saves/WHDLoad/L/ for registered WHDLoad use.",
            "required": false,
            "source_ref": "libretro/libretro-core.c:5979-5994",
            "system": "commodore-amiga",
            "unsourceable": "per-user signed registration key, never distributed generically, WHDLoad free since v18.2"
          },
          {
            "name": "WHDLoad.prefs",
            "note": "WHDLoad preferences. Copied to saves/WHDLoad/S/ when present.",
            "required": false,
            "source_ref": "libretro/libretro-core.c:5995-6018",
            "system": "commodore-amiga"
          },
          {
            "name": "capsimg.so",
            "note": "Linux, macOS and Android builds. Opened on the first IPF image. Android reads it from the RetroArch cores directory only.",
            "required": false,
            "source_ref": "sources/src/caps/caps.c:37-41, sources/src/caps/caps.c:71-96, sources/src/caps/caps.c:467-487",
            "system": "commodore-amiga"
          },
          {
            "name": "capsimg.dll",
            "note": "Windows build. Opened on the first IPF image.",
            "required": false,
            "source_ref": "sources/src/caps/caps.c:37-41, sources/src/caps/caps.c:71-96, sources/src/caps/caps.c:467-487",
            "system": "commodore-amiga"
          },
          {
            "crc32": "27324b7d",
            "md5": "6c5b44c1a2bcee664129f850bfe4ed8a",
            "name": "drive_click_A500.wav",
            "note": "A500 set, head step. Hashes are those of sources/uae_data/drive_click_A500.wav in the core repository.",
            "path": "uae_data/drive_click_A500.wav",
            "required": false,
            "sha1": "34f05541606ee8acd033eadbda082b90051253cc",
            "size": 3313326,
            "source_ref": "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4174-4202, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235",
            "system": "commodore-amiga"
          },
          {
            "crc32": "5f7cb73b",
            "md5": "7401f854a75f9ede18769168ab896a2a",
            "name": "drive_spin_A500.wav",
            "note": "A500 set, motor with a disk. Hashes are those of sources/uae_data/drive_spin_A500.wav in the core repository.",
            "path": "uae_data/drive_spin_A500.wav",
            "required": false,
            "sha1": "a117647990e2e9debb7ac65a0db429a59bb630f0",
            "size": 134294,
            "source_ref": "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4174-4202, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235",
            "system": "commodore-amiga"
          },
          {
            "crc32": "2c673174",
            "md5": "f9d954879fee8e96baa93d6139077cdb",
            "name": "drive_spinnd_A500.wav",
            "note": "A500 set, motor without a disk. Hashes are those of sources/uae_data/drive_spinnd_A500.wav in the core repository.",
            "path": "uae_data/drive_spinnd_A500.wav",
            "required": false,
            "sha1": "786cf1cbd8eabaeb150dabb6b8a1aeca0ed71634",
            "size": 352430,
            "source_ref": "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4174-4202, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235",
            "system": "commodore-amiga"
          },
          {
            "crc32": "cb552e00",
            "md5": "aebeacc7e7bc52ef890785c835bec3d0",
            "name": "drive_startup_A500.wav",
            "note": "A500 set, motor start. Hashes are those of sources/uae_data/drive_startup_A500.wav in the core repository.",
            "path": "uae_data/drive_startup_A500.wav",
            "required": false,
            "sha1": "db8de831a59a44dc6070166e2005c330a793a48d",
            "size": 34450,
            "source_ref": "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4174-4202, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235",
            "system": "commodore-amiga"
          },
          {
            "crc32": "4ac3c05e",
            "md5": "1a4b2d6254918ff769f26beeede75655",
            "name": "drive_snatch_A500.wav",
            "note": "A500 set, disk insertion. Hashes are those of sources/uae_data/drive_snatch_A500.wav in the core repository.",
            "path": "uae_data/drive_snatch_A500.wav",
            "required": false,
            "sha1": "b8dd63077e12bdeacd3ad70ba41614dc52aa8023",
            "size": 34450,
            "source_ref": "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4174-4202, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235",
            "system": "commodore-amiga"
          },
          {
            "crc32": "59069982",
            "md5": "b64bee23f356635f67fb08b543df9797",
            "name": "drive_click_LOUD.wav",
            "note": "LOUD set, head step. Hashes are those of sources/uae_data/drive_click_LOUD.wav in the core repository.",
            "path": "uae_data/drive_click_LOUD.wav",
            "required": false,
            "sha1": "fa5df7c9fe3ee70cafbe232ff4f453982c6d1ce2",
            "size": 3308526,
            "source_ref": "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4174-4202, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235",
            "system": "commodore-amiga"
          },
          {
            "crc32": "1969eea0",
            "md5": "56d8e36a2f04b5e8c5a1f1530cfc886c",
            "name": "drive_spin_LOUD.wav",
            "note": "LOUD set, motor with a disk. Hashes are those of sources/uae_data/drive_spin_LOUD.wav in the core repository.",
            "path": "uae_data/drive_spin_LOUD.wav",
            "required": false,
            "sha1": "5b1d8c880f8d8fcd9309a7889817611cc27e16e0",
            "size": 20216,
            "source_ref": "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4174-4202, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235",
            "system": "commodore-amiga"
          },
          {
            "crc32": "49e72ce7",
            "md5": "43ab05c6d969cb40805970a5b2352875",
            "name": "drive_spinnd_LOUD.wav",
            "note": "LOUD set, motor without a disk. Hashes are those of sources/uae_data/drive_spinnd_LOUD.wav in the core repository.",
            "path": "uae_data/drive_spinnd_LOUD.wav",
            "required": false,
            "sha1": "d1709931cfe05b3bd31b6ef3d9697a22c934549b",
            "size": 241790,
            "source_ref": "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4174-4202, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235",
            "system": "commodore-amiga"
          },
          {
            "crc32": "d746cc1e",
            "md5": "743b4b9f0ca645c4c2a34953b5e01e45",
            "name": "drive_startup_LOUD.wav",
            "note": "LOUD set, motor start. Hashes are those of sources/uae_data/drive_startup_LOUD.wav in the core repository.",
            "path": "uae_data/drive_startup_LOUD.wav",
            "required": false,
            "sha1": "38e63f700ee6a5be71ded6c057267562c00f3e31",
            "size": 43492,
            "source_ref": "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4174-4202, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235",
            "system": "commodore-amiga"
          },
          {
            "crc32": "b015251a",
            "md5": "40cdf89f35b68cfefd4df5fb0256e02f",
            "name": "drive_snatch_LOUD.wav",
            "note": "LOUD set, disk insertion. Hashes are those of sources/uae_data/drive_snatch_LOUD.wav in the core repository.",
            "path": "uae_data/drive_snatch_LOUD.wav",
            "required": false,
            "sha1": "0417e6e7fee2aebae972ce4d00101a0ce363af32",
            "size": 39864,
            "source_ref": "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4174-4202, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235",
            "system": "commodore-amiga"
          }
        ],
        "model_kickstart_map": {
          "A1200": {
            "ext": null,
            "kickstart": "kick40068.A1200"
          },
          "A1200OG": {
            "ext": null,
            "kickstart": "kick40068.A1200"
          },
          "A2000": {
            "ext": null,
            "kickstart": "kick40063.A600"
          },
          "A2000OG": {
            "ext": null,
            "kickstart": "kick34005.A500"
          },
          "A4030": {
            "ext": null,
            "kickstart": "kick40068.A4000"
          },
          "A4040": {
            "ext": null,
            "kickstart": "kick40068.A4000"
          },
          "A500": {
            "ext": null,
            "kickstart": "kick34005.A500"
          },
          "A500OG": {
            "ext": null,
            "kickstart": "kick34005.A500"
          },
          "A500PLUS": {
            "ext": null,
            "kickstart": "kick37175.A500"
          },
          "A600": {
            "ext": null,
            "kickstart": "kick40063.A600"
          },
          "CD32": {
            "ext": "kick40060.CD32.ext",
            "kickstart": "kick40060.CD32"
          },
          "CD32FR": {
            "ext": "kick40060.CD32.ext",
            "kickstart": "kick40060.CD32"
          },
          "CDTV": {
            "ext": "kick34005.CDTV",
            "kickstart": "kick34005.A500"
          }
        },
        "notes": "PUAE is a port of UAE (Unix Amiga Emulator) to libretro. It emulates the\nAmiga 500, 500+, 600, 1200, 2000, 4000, CD32, and CDTV. Kickstart ROMs\nare loaded from the RetroArch system directory.\n\nAROS (open-source Kickstart replacement) is available as a built-in fallback\nwhen no Kickstart ROM is found. Compatibility is limited compared to real ROMs.\n\nThe core scans the system directory for files starting with \"kick\", \"amiga-os\",\nor \"KS ROM\". Each filename is matched against a table of known naming\nconventions: standard (kick*.A*), Amiga Forever (amiga-os-*.rom), and\nTOSEC (Kickstart v*.rom). The first valid match is used.\n\nDefault kickstart per model (automatic selection):\n  A500, A500OG, A2000OG, CDTV -> kick34005.A500 (KS 1.3)\n  A500+                        -> kick37175.A500 (KS 2.04)\n  A600                         -> kick40063.A600 (KS 3.1)\n  A1200, A1200OG               -> kick40068.A1200 (KS 3.1)\n  A2000                        -> kick40063.A600 (KS 3.1)\n  A4030, A4040                 -> kick40068.A4000 (KS 3.1)\n  CD32, CD32FR                 -> kick40060.CD32 (KS 3.1)\n  CDTV (ext)                   -> kick34005.CDTV\n  CD32 (ext)                   -> kick40060.CD32.ext\n\nExtended ROM handling: CD32 and CDTV require an extended ROM in addition\nto the main kickstart. If the main ROM filesize is <= 512 KB, the extended\nROM is loaded separately. Combined ROMs (main + ext in one file) skip the\nextended ROM search.\n\nWHDLoad support copies kick33180.A500, kick34005.A500, kick40063.A600,\nkick40068.A1200 into saves/WHDLoad/Devs/Kickstarts/ for use by WHDLoad\nslave files. Also copies rom.key (Amiga Forever decryption) and WHDLoad.key\n(license) from the system directory.\n\nROM search order (libretro-core.c retro_config_kickstart):\n  1. Exact filename in system directory\n  2. Amiga Forever naming (amiga-os-*.rom)\n  3. TOSEC modified naming (with [!] suffix)\n  4. TOSEC naming (without [!] suffix)\n\nThe CAPS library is opened at run time on the first IPF image, from\nsystem/capsimg.so (capsimg.dll on Windows), then by its bare name through\nthe loader search path. Android builds look only in the RetroArch cores\ndirectories. Without it IPF images are refused with a message and every\nother format works (sources/src/caps/caps.c:37-41, 71-96, 467-487).\n\nData files are read from system/uae_data/, or system/uae/ when uae_data/\ndoes not exist (libretro/libretro-core.c:746-751). The \"Floppy Sound\nType\" option picks the floppy drive samples embedded in the core\n(internal, the default) or the external A500 or LOUD set from that folder\n(libretro/libretro-core.c:1871-1885, libretro/libretro-core.c:4174-4202).\nEach sample is drive_<click|spin|spinnd|startup|snatch>_<set>, with .wav\nappended when the bare name does not open. When none of the five opens,\nfloppy sound is turned off for that drive (sources/src/driveclick.c:77-104,\nsources/src/driveclick.c:200-235). The same folder is scanned for files\nending in rom, offered as cartridge images by the Cartridge option.\n\nSource: libretro/libretro-core.h:140-245, libretro/libretro-core.c:5609-5777,\nlibretro/libretro-core.c:6044-6093\n",
        "platform_details": {
          "aros_fallback": true,
          "naming_conventions": {
            "amiga_forever": "amiga-os-{version}.rom",
            "standard": "kick{rev}.{model}",
            "tosec": "Kickstart v{version} rev {rev} ({year})(Commodore)({model}).rom"
          },
          "rom_sizes": {
            "ROM_SIZE_128": 131072,
            "ROM_SIZE_256": 262144,
            "ROM_SIZE_512": 524288
          },
          "scan_prefixes": [
            "kick",
            "amiga-os",
            "KS ROM"
          ],
          "source_ref": "libretro/libretro-core.c:2650-2677"
        },
        "profiled_date": "2026-03-24",
        "source": "https://github.com/libretro/libretro-uae",
        "source_commit": "7387937066b1b693816c3b4e2b7a0c601d41363d",
        "systems": [
          "commodore-amiga",
          "commodore-amiga-cd32",
          "commodore-cdtv"
        ],
        "type": "libretro",
        "upstream": "https://github.com/GnoStiC/PUAE",
        "version_basis": {
          "kind": "file",
          "path": "retrodep/sysconfig.h",
          "pattern": "^#define VERSION \"([^\"]+)\""
        },
        "whdload_kickstarts": [
          "kick33180.A500",
          "kick34005.A500",
          "kick40063.A600",
          "kick40068.A1200"
        ]
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
