Files
libretro/emulators/uae4all-rpi.yml
T
Abdessamad Derraz e7aa9e870b fix: state libretro core versions from their code
Each libretro profile records version_basis and core_version is read
there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba
0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build
takes its version from git carry the nearest tag in describe form
(flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders
copied from .info files (Git, SVN) are replaced by the code's statement,
and a code that states none is null with kind none.
2026-10-27 19:21:27 +01:00

68 lines
3.2 KiB
YAML

emulator: UAE4ALL (libretro, Chips-fr)
type: libretro
core_classification: community_fork
cores: ["uae4all"]
built_by: [recalbox]
source: "https://github.com/Chips-fr/uae4all-rpi"
profiled_date: "2026-10-20"
source_commit: "ae7eb74cfbe726a45f5b791484948676dcba1aef"
core_version: "0.7"
version_basis:
kind: file
path: "libretro/core/libretro-core.cpp"
pattern: 'info->library_version\s+=\s+"([^"]+)'
display_name: "Commodore - Amiga (UAE4ALL)"
systems:
- commodore-amiga
notes: |
Chips-fr's libretro port of UAE4ALL, an Amiga 500 emulator with the FAME
68000 core. It reports itself as uae4all 0.7 and loads adf, adz and zip
images (libretro/core/libretro-core.cpp:425-428). Recalbox builds it from
this commit with Makefile.libretro at tag 10.1.1
(recalbox package/libretro-uae4all/libretro-uae4all.mk:8-9, 19-22).
Its two patches switch the CPU core to Cyclone and lower the cycle unit,
neither touches file loading.
The Kickstart path is fixed: retro_init takes the frontend system
directory (libretro/core/libretro-core.cpp:309-313) and the option update
joins it with A500_ROM, kick34005.A500 (libretro/core/libretro-core.cpp:76,
85-88, 284). No other name is tried. The joined path is cut at 63
characters (romfile[64], src/disk.cpp:50). Recalbox sets the system
directory of every Amiga system to bios/amiga/bios
(recalbox projects/configgen/configgen/generators/libretro/libretroRetroarch.py:517-519).
read_kickstart (src/memory.cpp:853-888) fills a 512 KB ROM space
(src/include/memory.h:53). It accepts 8 KB (A1000 bootstrap), 256 KB
(mirrored) or 512 KB, and rejects any other size. A checksum mismatch only
writes a log line (src/memory.cpp:836-851). No hash is checked, so any
Kickstart of an accepted size works under that name. An AMIROMTYPE1
header is skipped but decode_cloanto_rom is empty (src/memory.cpp:831-834,
860-865), so encrypted Amiga Forever ROMs do not boot and rom.key is never
read. extfile is never set, so no extended ROM is loaded
(src/memory.cpp:890-896).
Without the ROM the core shows "No Kickstart file found." and runs the
UAE ersatz replacement (src/memory.cpp:1234-1240, src/ersatz.cpp:35-41).
It stubs a few exec calls and boots the bootblock in DF0 with read-only
trackdisk access, so only self-booting trackloader disks start, and the
core quits with no disk in DF0 (src/ersatz.cpp:75-112).
A .uae content file is read for its floppy0= and floppy1= lines only
(libretro/core/libretro-core.cpp:101-128, 281-282). The data/ assets
(menu images, click.wav, music.mod, vkbd bitmaps) belong to the
standalone GUI. Makefile.libretro defines NO_VKBD (Makefile.libretro:28),
which stubs vkbd_init (src/vkbd/vkbd.cpp:17-23), and does not compile
src/menu/menu.cpp or src/sound.cpp (Makefile.libretro:100-132). The
bios/uae_data folder the Recalbox package creates is never opened by this
core (recalbox package/libretro-uae4all/libretro-uae4all.mk:27).
files:
- name: "kick34005.A500"
system: commodore-amiga
description: "Kickstart 1.3 rev 34.5, A500"
required: true
hle_fallback: 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"