PUAE (P-UAE)
PUAE (P-UAE) emulates Commodore Amiga, Commodore Amiga CD32 and Commodore CDTV. It reads 29 files, 5 of them required: without a required file it does not start games. A required file is needed only by the machines that use it. Each file below cites the line of source code that reads it.
About this profile
Install this emulator's files
The installer finds your setup and its BIOS folder, then downloads only the files this emulator reads there and checks each one.
Open the Start menu. Type PowerShell and open it. Paste the line. Press Enter.
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator puaeOpen Terminal, in Applications, then Utilities. Paste the line. Press Return.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator puaeOpen a terminal. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator puaeSwitch to Desktop Mode. Open Konsole. Paste with Ctrl+Shift+V. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator puaeInstall Termux, a terminal app. Run pkg install python and termux-setup-storage once. Then paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator puaeOpen a terminal on the device. Or connect from a computer with SSH, a terminal over the network. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator puaePlatform details
-
rom_sizes:
- ROM_SIZE_128: 131072
- ROM_SIZE_256: 262144
- ROM_SIZE_512: 524288
-
aros_fallback: yes
-
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:2650-2677
Technical notes
PUAE is a port of UAE (Unix Amiga Emulator) to libretro. It emulates the Amiga 500, 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):
- Exact filename in system directory
- Amiga Forever naming (amiga-os-*.rom)
- TOSEC modified naming (with [!] suffix)
- 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/). 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/).
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/,
sources/). The same folder is scanned for files
ending in rom, offered as cartridge images by the Cartridge option.
Source: libretro/, libretro/,
libretro/
29 files: 5 required, 24 optional. 9 have an HLE fallback.
In this collection: 28 in repo, 0 missing and 1 unsourceable.
Required
Section titled “Required”| File | Status |
|---|---|
kick34005.A500
Source
| required for Commodore Amiga in repo |
kick40068.A1200
Source
| required for Commodore Amiga in repo |
kick34005.CDTV
Source
| required for Commodore CDTV in repo |
kick40060.CD32
Source
| required for Commodore Amiga CD32 in repo |
kick40060.CD32.ext
Source
| required for Commodore Amiga CD32 in repo |
Optional
Section titled “Optional”| File | Status | Hash |
|---|---|---|
kick31034.A1000
Source
| in repo HLE fallback | - |
kick32034.A1000
Source
| in repo HLE fallback | - |
kick33180.A500
Source
| in repo HLE fallback | - |
kick37175.A500
Source
| in repo HLE fallback | - |
kick37350.A600
Source
| in repo HLE fallback | - |
kick40063.A600
Source
| in repo HLE fallback | - |
kick39106.A1200
Source
| in repo HLE fallback | - |
kick39106.A4000
Source
| in repo HLE fallback | - |
kick40068.A4000
Source
| in repo HLE fallback | - |
rom.key
Source | in repo | - |
WHDLoad.key
Source | unsourceable | - |
WHDLoad.prefs
Source | in repo | - |
capsimg.so
| in repo | - |
capsimg.dll
| in repo | - |
drive_click_A500.wav
Hashes and source
| in repo | MD5 6c5b44c1a2bc |
drive_spin_A500.wav
Hashes and source
| in repo | MD5 7401f854a75f |
drive_spinnd_A500.wav
Hashes and source
| in repo | MD5 f9d954879fee |
drive_startup_A500.wav
Hashes and source
| in repo | MD5 aebeacc7e7bc |
drive_snatch_A500.wav
Hashes and source
| in repo | MD5 1a4b2d625491 |
drive_click_LOUD.wav
Hashes and source
| in repo | MD5 b64bee23f356 |
drive_spin_LOUD.wav
Hashes and source
| in repo | MD5 56d8e36a2f04 |
drive_spinnd_LOUD.wav
Hashes and source
| in repo | MD5 43ab05c6d969 |
drive_startup_LOUD.wav
Hashes and source
| in repo | MD5 743b4b9f0ca6 |
drive_snatch_LOUD.wav
Hashes and source
| in repo | MD5 40cdf89f35b6 |
Profile data
Section titled “Profile data”Model kickstart map
-
A500:
- kickstart: kick34005.A500
- ext: none
-
A500OG:
- kickstart: kick34005.A500
- ext: none
-
A500PLUS:
- kickstart: kick37175.A500
- ext: none
-
A600:
- kickstart: kick40063.A600
- ext: none
-
A1200:
- kickstart: kick40068.A1200
- ext: none
-
A1200OG:
- kickstart: kick40068.A1200
- ext: none
-
A2000:
- kickstart: kick40063.A600
- ext: none
-
A2000OG:
- kickstart: kick34005.A500
- ext: none
-
A4030:
- kickstart: kick40068.A4000
- ext: none
-
A4040:
- kickstart: kick40068.A4000
- ext: none
-
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
- kick34005.A500
- kick40063.A600
- kick40068.A1200
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start