Files
libretro/emulators/puae2021.yml
T
Abdessamad Derraz 85ecaf7e63 fix: list PUAE's floppy sounds and capsimg
The A500 and LOUD floppy sound sets are read from uae_data/ (driveclick.c:77-104) when the option picks them, and capsimg is loaded from the system folder for IPF images (caps.c:37-96). The ten samples are collected from the core repository.
2026-10-20 10:37:31 +02:00

440 lines
18 KiB
YAML

emulator: PUAE 2021
type: libretro
core_classification: frozen_snapshot
cores: [puae2021]
source: "https://github.com/libretro/libretro-uae/tree/2.6.1"
upstream: "https://github.com/GnoStiC/PUAE"
profiled_date: "2026-03-24"
source_commit: "297b34777372fd5f117785798f99b4c7433b6034"
core_version: "2.6.1"
display_name: "Commodore - Amiga (PUAE 2021)"
systems:
- commodore-amiga
- commodore-amiga-cd32
- commodore-cdtv
notes: |
Frozen snapshot of PUAE at WinUAE 2.6.1 era. Less accurate than current PUAE
(5.x), intended for weaker devices. BIOS handling is identical to the current
version.
PUAE is a port of UAE (Unix Amiga Emulator) to libretro, continuing E-UAE.
Emulates A500, 500+, 600, 1200, 2000, 4000, CD32, and CDTV. Kickstart ROMs
are loaded from the RetroArch system directory.
AROS (open-source Kickstart replacement) is available as a built-in fallback
when no Kickstart ROM is found. Compatibility is limited compared to real ROMs.
The core scans the system directory for files starting with "kick", "amiga-os",
or "KS ROM". Each filename is matched against a table of known naming
conventions: standard (kick*.A*), Amiga Forever (amiga-os-*.rom), and
TOSEC (Kickstart v*.rom). The first valid match is used.
Default kickstart per model (automatic selection):
A500, A500OG, A2000OG, CDTV -> kick34005.A500 (KS 1.3)
A500+ -> kick37175.A500 (KS 2.04)
A600 -> kick40063.A600 (KS 3.1)
A1200, A1200OG -> kick40068.A1200 (KS 3.1)
A2000 -> kick40063.A600 (KS 3.1)
A4030, A4040 -> kick40068.A4000 (KS 3.1)
CD32, CD32FR -> kick40060.CD32 (KS 3.1)
CDTV (ext) -> kick34005.CDTV
CD32 (ext) -> kick40060.CD32.ext
Extended ROM handling: CD32 and CDTV require an extended ROM in addition
to the main kickstart. If the main ROM filesize is <= 512 KB, the extended
ROM is loaded separately. Combined ROMs (main + ext in one file) skip the
extended ROM search.
WHDLoad support copies kick33180.A500, kick34005.A500, kick40063.A600,
kick40068.A1200 into saves/WHDLoad/Devs/Kickstarts/ for use by WHDLoad
slave files. Also copies rom.key (Amiga Forever decryption) and WHDLoad.key
(license) from the system directory.
ROM search order (libretro-core.c retro_config_kickstart):
1. Exact filename in system directory
2. Amiga Forever naming (amiga-os-*.rom)
3. TOSEC modified naming (with [!] suffix)
4. TOSEC naming (without [!] suffix)
The CAPS library is opened at run time on the first IPF image, from
system/capsimg.so (capsimg.dll on Windows), then by its bare name through
the loader search path. Android builds look only in the RetroArch cores
directories. Without it IPF images are refused with a message and every
other format works (sources/src/caps/caps.c:37-41, 71-96, 467-487).
Data files are read from system/uae_data/, or system/uae/ when uae_data/
does not exist (libretro/libretro-core.c:747-752). The "Floppy Sound
Type" option picks the floppy drive samples embedded in the core
(internal, the default) or the external A500 or LOUD set from that folder
(libretro/libretro-core.c:1850-1864, libretro/libretro-core.c:4124-4152).
Each sample is drive_<click|spin|spinnd|startup|snatch>_<set>, with .wav
appended when the bare name does not open. When none of the five opens,
floppy sound is turned off for that drive (sources/src/driveclick.c:77-104,
sources/src/driveclick.c:200-235). The same folder is scanned for files
ending in rom, offered as cartridge images by the Cartridge option.
Source: libretro/libretro-core.h:140-245, libretro/libretro-core.c:5533-5701,
libretro/libretro-core.c:5788-5879
files:
# -------------------------------------------------------
# Amiga 1000
# -------------------------------------------------------
- name: "kick31034.A1000"
system: commodore-amiga
required: false
hle_fallback: true
size: 262144 # 256 KB
note: "Kickstart 1.1 rev 31.34 (1985) NTSC. A1000 only."
aliases:
- "amiga-os-110-ntsc.rom"
- "Kickstart v1.1 rev 31.34 (1985)(Commodore)(A1000)(NTSC).rom"
source_ref: "libretro/libretro-core.h:170-174"
- name: "kick32034.A1000"
system: commodore-amiga
required: false
hle_fallback: true
size: 262144 # 256 KB
note: "Kickstart 1.1 rev 32.34 (1986) PAL. A1000 only."
aliases:
- "amiga-os-110-pal.rom"
- "Kickstart v1.1 rev 32.34 (1986)(Commodore)(A1000)(PAL).rom"
source_ref: "libretro/libretro-core.h:176-179"
# -------------------------------------------------------
# Amiga 500 / 2000
# -------------------------------------------------------
- name: "kick33180.A500"
system: commodore-amiga
required: false
hle_fallback: true
size: 262144 # 256 KB
note: "Kickstart 1.2 rev 33.180 (1986). A500/A2000. Also used by WHDLoad."
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"
source_ref: "libretro/libretro-core.h:182-185"
- name: "kick34005.A500"
system: commodore-amiga
required: true
size: 262144 # 256 KB
note: "Kickstart 1.3 rev 34.5 (1987). Default for A500/A2000OG/CDTV models. Also used by WHDLoad."
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"
source_ref: "libretro/libretro-core.h:187-190"
- name: "kick37175.A500"
system: commodore-amiga
required: false
hle_fallback: true
size: 262144 # 256 KB
note: "Kickstart 2.04 rev 37.175 (1991). Default for A500+ model."
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"
source_ref: "libretro/libretro-core.h:192-195"
# -------------------------------------------------------
# Amiga 600
# -------------------------------------------------------
- name: "kick37350.A600"
system: commodore-amiga
required: false
hle_fallback: true
size: 262144 # 256 KB
note: "Kickstart 2.05 rev 37.350 (1992). A600HD."
aliases:
- "amiga-os-205-a600.rom"
- "Kickstart v2.05 rev 37.350 (1992)(Commodore)(A600HD)[!].rom"
source_ref: "libretro/libretro-core.h:198-201"
- name: "kick40063.A600"
system: commodore-amiga
required: false
hle_fallback: true
size: 524288 # 512 KB
note: "Kickstart 3.1 rev 40.63 (1993). Default for A600/A2000 models. Also used by WHDLoad."
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"
source_ref: "libretro/libretro-core.h:203-206"
# -------------------------------------------------------
# Amiga 1200
# -------------------------------------------------------
- name: "kick39106.A1200"
system: commodore-amiga
required: false
hle_fallback: true
size: 524288 # 512 KB
note: "Kickstart 3.0 rev 39.106 (1992). A1200."
aliases:
- "amiga-os-300-a1200.rom"
- "Kickstart v3.0 rev 39.106 (1992)(Commodore)(A1200)[!].rom"
source_ref: "libretro/libretro-core.h:209-212"
- name: "kick40068.A1200"
system: commodore-amiga
required: true
size: 524288 # 512 KB
note: "Kickstart 3.1 rev 40.68 (1993). Default for A1200/A1200OG models. Also used by WHDLoad."
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"
source_ref: "libretro/libretro-core.h:214-217"
# -------------------------------------------------------
# Amiga 4000
# -------------------------------------------------------
- name: "kick39106.A4000"
system: commodore-amiga
required: false
hle_fallback: true
size: 524288 # 512 KB
note: "Kickstart 3.0 rev 39.106 (1992). A4000."
aliases:
- "amiga-os-300-a4000.rom"
- "Kickstart v3.0 rev 39.106 (1992)(Commodore)(A4000)[!].rom"
source_ref: "libretro/libretro-core.h:220-223"
- name: "kick40068.A4000"
system: commodore-amiga
required: false
hle_fallback: true
size: 524288 # 512 KB
note: "Kickstart 3.1 rev 40.68 (1993). Default for A4030/A4040 models."
aliases:
- "amiga-os-310-a4000.rom"
- "Kickstart v3.1 rev 40.68 (1993)(Commodore)(A4000).rom"
source_ref: "libretro/libretro-core.h:225-228"
# -------------------------------------------------------
# Commodore CDTV
# -------------------------------------------------------
- name: "kick34005.CDTV"
system: commodore-cdtv
required: true
size: 262144 # 256 KB
note: "CDTV Extended ROM v1.0 (1991). Required as extended ROM for CDTV model. Main kickstart is kick34005.A500."
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"
source_ref: "libretro/libretro-core.h:231-234"
# -------------------------------------------------------
# Amiga CD32
# -------------------------------------------------------
- name: "kick40060.CD32"
system: commodore-amiga-cd32
required: true
size: 524288 # 512 KB
note: "CD32 Kickstart 3.1 rev 40.60 (1993). Main ROM for CD32 and CD32FR models."
aliases:
- "amiga-os-310-cd32.rom"
- "Kickstart v3.1 rev 40.60 (1993)(Commodore)(CD32).rom"
source_ref: "libretro/libretro-core.h:236-239"
- name: "kick40060.CD32.ext"
system: commodore-amiga-cd32
required: true
size: 524288 # 512 KB
note: "CD32 Extended ROM rev 40.60 (1993). Required when main ROM is <= 512 KB (not combined)."
aliases:
- "amiga-os-310-cd32-ext.rom"
- "CD32 Extended-ROM rev 40.60 (1993)(Commodore)(CD32).rom"
source_ref: "libretro/libretro-core.h:241-244"
# -------------------------------------------------------
# WHDLoad support files
# -------------------------------------------------------
- name: "rom.key"
system: commodore-amiga
required: false
note: "Amiga Forever ROM decryption key. Copied to saves/WHDLoad/Devs/Kickstarts/ for WHDLoad."
source_ref: "libretro/libretro-core.c:5887-5902"
- name: "WHDLoad.key"
system: commodore-amiga
required: false
unsourceable: "per-user signed registration key, never distributed generically, WHDLoad free since v18.2"
note: "WHDLoad license key. Copied to saves/WHDLoad/L/ for registered WHDLoad use."
source_ref: "libretro/libretro-core.c:5903-5918"
- name: "WHDLoad.prefs"
system: commodore-amiga
required: false
note: "WHDLoad preferences. Copied to saves/WHDLoad/S/ when present."
source_ref: "libretro/libretro-core.c:5919-5942"
# -------------------------------------------------------
# CAPS library for IPF floppy images
# -------------------------------------------------------
- name: "capsimg.so"
system: commodore-amiga
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"
note: "Linux, macOS and Android builds. Opened on the first IPF image. Android reads it from the RetroArch cores directory only."
- name: "capsimg.dll"
system: commodore-amiga
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"
note: "Windows build. Opened on the first IPF image."
# -------------------------------------------------------
# External floppy drive samples (Floppy Sound Type A500 or LOUD)
# -------------------------------------------------------
- name: "drive_click_A500.wav"
path: "uae_data/drive_click_A500.wav"
system: commodore-amiga
required: false
size: 3313326
sha1: "34f05541606ee8acd033eadbda082b90051253cc"
md5: "6c5b44c1a2bcee664129f850bfe4ed8a"
crc32: "27324b7d"
source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235"
note: "A500 set, head step. Hashes are those of sources/uae_data/drive_click_A500.wav in the core repository."
- name: "drive_spin_A500.wav"
path: "uae_data/drive_spin_A500.wav"
system: commodore-amiga
required: false
size: 134294
sha1: "a117647990e2e9debb7ac65a0db429a59bb630f0"
md5: "7401f854a75f9ede18769168ab896a2a"
crc32: "5f7cb73b"
source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235"
note: "A500 set, motor with a disk. Hashes are those of sources/uae_data/drive_spin_A500.wav in the core repository."
- name: "drive_spinnd_A500.wav"
path: "uae_data/drive_spinnd_A500.wav"
system: commodore-amiga
required: false
size: 352430
sha1: "786cf1cbd8eabaeb150dabb6b8a1aeca0ed71634"
md5: "f9d954879fee8e96baa93d6139077cdb"
crc32: "2c673174"
source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235"
note: "A500 set, motor without a disk. Hashes are those of sources/uae_data/drive_spinnd_A500.wav in the core repository."
- name: "drive_startup_A500.wav"
path: "uae_data/drive_startup_A500.wav"
system: commodore-amiga
required: false
size: 34450
sha1: "db8de831a59a44dc6070166e2005c330a793a48d"
md5: "aebeacc7e7bc52ef890785c835bec3d0"
crc32: "cb552e00"
source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235"
note: "A500 set, motor start. Hashes are those of sources/uae_data/drive_startup_A500.wav in the core repository."
- name: "drive_snatch_A500.wav"
path: "uae_data/drive_snatch_A500.wav"
system: commodore-amiga
required: false
size: 34450
sha1: "b8dd63077e12bdeacd3ad70ba41614dc52aa8023"
md5: "1a4b2d6254918ff769f26beeede75655"
crc32: "4ac3c05e"
source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235"
note: "A500 set, disk insertion. Hashes are those of sources/uae_data/drive_snatch_A500.wav in the core repository."
- name: "drive_click_LOUD.wav"
path: "uae_data/drive_click_LOUD.wav"
system: commodore-amiga
required: false
size: 3308526
sha1: "fa5df7c9fe3ee70cafbe232ff4f453982c6d1ce2"
md5: "b64bee23f356635f67fb08b543df9797"
crc32: "59069982"
source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235"
note: "LOUD set, head step. Hashes are those of sources/uae_data/drive_click_LOUD.wav in the core repository."
- name: "drive_spin_LOUD.wav"
path: "uae_data/drive_spin_LOUD.wav"
system: commodore-amiga
required: false
size: 20216
sha1: "5b1d8c880f8d8fcd9309a7889817611cc27e16e0"
md5: "56d8e36a2f04b5e8c5a1f1530cfc886c"
crc32: "1969eea0"
source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235"
note: "LOUD set, motor with a disk. Hashes are those of sources/uae_data/drive_spin_LOUD.wav in the core repository."
- name: "drive_spinnd_LOUD.wav"
path: "uae_data/drive_spinnd_LOUD.wav"
system: commodore-amiga
required: false
size: 241790
sha1: "d1709931cfe05b3bd31b6ef3d9697a22c934549b"
md5: "43ab05c6d969cb40805970a5b2352875"
crc32: "49e72ce7"
source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235"
note: "LOUD set, motor without a disk. Hashes are those of sources/uae_data/drive_spinnd_LOUD.wav in the core repository."
- name: "drive_startup_LOUD.wav"
path: "uae_data/drive_startup_LOUD.wav"
system: commodore-amiga
required: false
size: 43492
sha1: "38e63f700ee6a5be71ded6c057267562c00f3e31"
md5: "743b4b9f0ca645c4c2a34953b5e01e45"
crc32: "d746cc1e"
source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235"
note: "LOUD set, motor start. Hashes are those of sources/uae_data/drive_startup_LOUD.wav in the core repository."
- name: "drive_snatch_LOUD.wav"
path: "uae_data/drive_snatch_LOUD.wav"
system: commodore-amiga
required: false
size: 39864
sha1: "0417e6e7fee2aebae972ce4d00101a0ce363af32"
md5: "40cdf89f35b68cfefd4df5fb0256e02f"
crc32: "b015251a"
source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235"
note: "LOUD set, disk insertion. Hashes are those of sources/uae_data/drive_snatch_LOUD.wav in the core repository."
model_kickstart_map:
A500: {kickstart: "kick34005.A500", ext: null}
A500OG: {kickstart: "kick34005.A500", ext: null}
A500PLUS: {kickstart: "kick37175.A500", ext: null}
A600: {kickstart: "kick40063.A600", ext: null}
A1200: {kickstart: "kick40068.A1200", ext: null}
A1200OG: {kickstart: "kick40068.A1200", ext: null}
A2000: {kickstart: "kick40063.A600", ext: null}
A2000OG: {kickstart: "kick34005.A500", ext: null}
A4030: {kickstart: "kick40068.A4000", ext: null}
A4040: {kickstart: "kick40068.A4000", ext: null}
CDTV: {kickstart: "kick34005.A500", ext: "kick34005.CDTV"}
CD32: {kickstart: "kick40060.CD32", ext: "kick40060.CD32.ext"}
CD32FR: {kickstart: "kick40060.CD32", ext: "kick40060.CD32.ext"}
whdload_kickstarts:
- "kick33180.A500" # KS 1.2, 256 KB
- "kick34005.A500" # KS 1.3, 256 KB
- "kick40063.A600" # KS 3.1, 512 KB
- "kick40068.A1200" # KS 3.1, 512 KB
platform_details:
rom_sizes:
ROM_SIZE_128: 131072 # 128 KB
ROM_SIZE_256: 262144 # 256 KB
ROM_SIZE_512: 524288 # 512 KB
aros_fallback: true
naming_conventions:
standard: "kick{rev}.{model}"
amiga_forever: "amiga-os-{version}.rom"
tosec: "Kickstart v{version} rev {rev} ({year})(Commodore)({model}).rom"
scan_prefixes: ["kick", "amiga-os", "KS ROM"]
source_ref: "libretro/libretro-core.c:2629-2656"