{
  "commit": "fbe5ba4e3e790ab07eddc5b57e0f45a02cbcd60e",
  "count": 1,
  "generated_at": "2026-10-24T00:06:47Z",
  "items": [
    {
      "id": "uae4all-rpi",
      "profile": {
        "built_by": [
          "recalbox"
        ],
        "core_classification": "community_fork",
        "core_version": "0.7",
        "cores": [
          "uae4all"
        ],
        "display_name": "Commodore - Amiga (UAE4ALL)",
        "emulator": "UAE4ALL (libretro, Chips-fr)",
        "files": [
          {
            "description": "Kickstart 1.3 rev 34.5, A500",
            "hle_fallback": true,
            "name": "kick34005.A500",
            "required": true,
            "size": 262144,
            "source_ref": "libretro/core/libretro-core.cpp:76, libretro/core/libretro-core.cpp:284, src/memory.cpp:954-978, src/memory.cpp:1234-1240",
            "system": "commodore-amiga"
          }
        ],
        "notes": "Chips-fr's libretro port of UAE4ALL, an Amiga 500 emulator with the FAME\n68000 core. It reports itself as uae4all 0.7 and loads adf, adz and zip\nimages (libretro/core/libretro-core.cpp:425-428). Recalbox builds it from\nthis commit with Makefile.libretro at tag 10.1.1\n(recalbox package/libretro-uae4all/libretro-uae4all.mk:8-9, 19-22).\nIts two patches switch the CPU core to Cyclone and lower the cycle unit,\nneither touches file loading.\n\nThe Kickstart path is fixed: retro_init takes the frontend system\ndirectory (libretro/core/libretro-core.cpp:309-313) and the option update\njoins it with A500_ROM, kick34005.A500 (libretro/core/libretro-core.cpp:76,\n85-88, 284). No other name is tried. The joined path is cut at 63\ncharacters (romfile[64], src/disk.cpp:50). Recalbox sets the system\ndirectory of every Amiga system to bios/amiga/bios\n(recalbox projects/configgen/configgen/generators/libretro/libretroRetroarch.py:517-519).\n\nread_kickstart (src/memory.cpp:853-888) fills a 512 KB ROM space\n(src/include/memory.h:53). It accepts 8 KB (A1000 bootstrap), 256 KB\n(mirrored) or 512 KB, and rejects any other size. A checksum mismatch only\nwrites a log line (src/memory.cpp:836-851). No hash is checked, so any\nKickstart of an accepted size works under that name. An AMIROMTYPE1\nheader is skipped but decode_cloanto_rom is empty (src/memory.cpp:831-834,\n860-865), so encrypted Amiga Forever ROMs do not boot and rom.key is never\nread. extfile is never set, so no extended ROM is loaded\n(src/memory.cpp:890-896).\n\nWithout the ROM the core shows \"No Kickstart file found.\" and runs the\nUAE ersatz replacement (src/memory.cpp:1234-1240, src/ersatz.cpp:35-41).\nIt stubs a few exec calls and boots the bootblock in DF0 with read-only\ntrackdisk access, so only self-booting trackloader disks start, and the\ncore quits with no disk in DF0 (src/ersatz.cpp:75-112).\n\nA .uae content file is read for its floppy0= and floppy1= lines only\n(libretro/core/libretro-core.cpp:101-128, 281-282). The data/ assets\n(menu images, click.wav, music.mod, vkbd bitmaps) belong to the\nstandalone GUI. Makefile.libretro defines NO_VKBD (Makefile.libretro:28),\nwhich stubs vkbd_init (src/vkbd/vkbd.cpp:17-23), and does not compile\nsrc/menu/menu.cpp or src/sound.cpp (Makefile.libretro:100-132). The\nbios/uae_data folder the Recalbox package creates is never opened by this\ncore (recalbox package/libretro-uae4all/libretro-uae4all.mk:27).\n",
        "profiled_date": "2026-10-20",
        "source": "https://github.com/Chips-fr/uae4all-rpi",
        "source_commit": "ae7eb74cfbe726a45f5b791484948676dcba1aef",
        "systems": [
          "commodore-amiga"
        ],
        "type": "libretro"
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
