Files
libretro/emulators/amiberry.yml
T
Abdessamad Derraz b3b3880c19 chore: say which repository each source_ref cites
Profiles that read two repositories, a libretro port and its upstream,
now prefix each citation with source or upstream, decided by which tree
carries the cited value at its pin. The emulator pages use the word to
tell libretro glue, emulator code as the port carries it, and the
upstream emulator apart.
2026-10-20 09:23:41 +02:00

300 lines
11 KiB
YAML

emulator: Amiberry
type: standalone + libretro
core_classification: official_port
source: "https://github.com/BlitterStudio/amiberry"
upstream: "https://github.com/tonioni/WinUAE"
profiled_date: "2026-03-26"
source_commit: "648aeeab6ee1148b6d0176b8f49f6f6e12150cbe"
core_version: "v8.1.2"
display_name: "Commodore - Amiga (Amiberry)"
cores: [amiberry]
systems:
- commodore-amiga
- commodore-cd32
- commodore-cdtv
notes: |
Amiberry is an Amiga emulator based on WinUAE, available as both standalone
and libretro core. No built-in kickstart: requires a real Kickstart ROM or
external AROS replacement files (aros-ext.bin + aros-rom.bin).
Libretro core option "amiberry_kickstart" overrides ROM selection: auto,
kick.rom, kick13.rom, kick20.rom, kick31.rom, kick205.rom, kick40068.A1200,
kick40068.A4000, cd32.rom, cdtv.rom. "auto" selects per model.
ref: libretro/libretro.cpp:687,754-773
Libretro Kickstart directory detection (in order): save_dir/Kickstarts,
save_dir/whdboot/save-data/Kickstarts, system_dir/Kickstarts,
system_dir/whdboot/save-data/Kickstarts,
system_dir/amiberry/whdboot/save-data/Kickstarts,
system_dir/save-data/Kickstarts, else system_dir. system_dir stays first
in the ROM multipath, the detected directory follows it.
ref: libretro/libretro.cpp:4390-4428
Standalone ROM path: configurable via amiberry.conf "rom_path" setting.
Batocera sets this to /userdata/bios/amiga/. Fallback search order:
{home_dir}/roms/kick.rom, {home_dir}/kick.rom, ../shared/rom/kick.rom,
../System/rom/kick.rom, then ROM database guess.
ref: src/memory.cpp:2106-2148
ROM identification uses SHA1 against the WinUAE ROM database but does
not reject unknown ROMs. Cloanto encrypted ROMs supported with rom.key.
ref: src/rommgr.cpp:121-1109,1742-1815
Munt MT-32/CM-32L emulation compiled in (WITH_MIDIEMU). ROMs loaded from
mt32-roms/ subdirectory of the ROM path. Split ROM pairs supported
(e.g. pcm_mt32_l.rom + pcm_mt32_h.rom).
ref: src/midiemu.cpp:82-165
Keyboard MCU emulation (keyboard_mode setting) loads MCU ROMs via ROM
database scanning. Three MCU types supported: 6570-036 (A500/A600/A1000),
68HC05 (A1200), D8039HLC (A2000).
ref: src/kbmcu/keyboard_mcu_6500_1.cpp:385, src/kbmcu/keyboard_mcu_6805.cpp:544,
src/kbmcu/keyboard_mcu_d8039hlc.cpp:235
WHDLoad autoboot reads the whdboot/ directory: boot-data.zip (or a
boot-data directory), WHDLoad or JST, AmiQuit, and game-data/whdload_db.json
with game-data/whdload_db.xml as fallback. These ship with the standalone
build but must be obtained separately for the libretro core.
ref: src/osdep/amiberry_whdbooter.cpp:1563-1565,1714-1733,1776-1785
files:
# --- Kickstart ROMs ---
# Libretro: find_kickstart_in_system_dir() with per-model candidate lists
# Standalone: get_kickstart_filehandle() with ROM database + config
# ref: libretro/libretro.cpp:1785-1848, src/memory.cpp:2106-2148
- name: kick13.rom
system: commodore-amiga
required: true
size: 262144
note: "A500 Kickstart v1.3 rev 34.005, default for A500 model"
source_ref: "source libretro/libretro.cpp:1799 (candidates_a500)"
- name: kick12.rom
system: commodore-amiga
required: false
size: 262144
note: "A500 Kickstart v1.2 rev 33.180, for A500OG model"
source_ref: "source libretro/libretro.cpp:1798 (candidates_a500og)"
- name: kick20.rom
system: commodore-amiga
required: false
size: 524288
aliases: [kick204.rom]
note: "A500+ Kickstart v2.04 rev 37.175"
source_ref: "source libretro/libretro.cpp:1800 (candidates_a500p)"
- name: kick205.rom
system: commodore-amiga
required: false
size: 524288
note: "A600 Kickstart v2.05 rev 37.350, also used for WHDLoad"
source_ref: "source libretro/libretro.cpp:1801 (candidates_a600)"
- name: kick31.rom
system: commodore-amiga
required: false
size: 524288
note: "Kickstart v3.1 (generic), first candidate for A1200 and A4000"
source_ref: "source libretro/libretro.cpp:1802-1803 (candidate arrays)"
- name: kick40068.A1200
system: commodore-amiga
required: false
size: 524288
note: "A1200 Kickstart v3.1 rev 40.68, fallback after kick31.rom"
source_ref: "source libretro/libretro.cpp:767 (option label), source libretro/libretro.cpp:1802 (candidates_a1200)"
- name: kick40068.A4000
system: commodore-amiga
required: false
size: 524288
note: "A4000 Kickstart v3.1 rev 40.68, fallback after kick31.rom"
source_ref: "source libretro/libretro.cpp:768 (option label), source libretro/libretro.cpp:1803 (candidates_a4000)"
- name: kick.rom
system: commodore-amiga
required: false
note: "Generic name, any Kickstart ROM. Last resort fallback for all models."
source_ref: "source libretro/libretro.cpp:1792-1797 (candidates_generic)"
# --- CD32 ROMs ---
- name: cd32.rom
system: commodore-cd32
required: false
size: 524288
aliases: [amiga-os-310-cd32.rom, kick40060.CD32]
note: "CD32 Kickstart v3.1 rev 40.60"
source_ref: "source libretro/libretro.cpp:1804 (candidates_cd32)"
- name: cd32ext.rom
system: commodore-cd32
required: false
size: 524288
aliases: [amiga-ext-310-cd32.rom, "CD32 Extended.ROM"]
note: "CD32 extended ROM rev 40.60. Not needed if using a combined 1MB ROM."
source_ref: "source libretro/libretro.cpp:1862 (candidates_cd32 in find_ext_rom_in_system_dir)"
# --- CDTV ROMs ---
- name: cdtv.rom
system: commodore-cdtv
required: false
aliases: [kick34005.CDTV]
note: "CDTV extended ROM v1.00, used as kickstart candidate"
source_ref: "source libretro/libretro.cpp:1805 (candidates_cdtv)"
- name: cdtvext.rom
system: commodore-cdtv
required: false
aliases: ["CDTV Extended.ROM"]
note: "CDTV extended ROM file"
source_ref: "source libretro/libretro.cpp:1864 (candidates_cdtv in find_ext_rom_in_system_dir)"
# --- AROS replacement ROMs ---
# ref: src/memory.cpp:1925-1946 find_kickstart_replacement_directory,
# src/memory.cpp:1949-2030 load_kickstart_replacement
# Both files must sit together in one of the configured ROM directories:
# the search accepts a directory only when it holds both of them.
- name: aros-ext.bin
mode: libretro
system: commodore-amiga
required: false
hle_fallback: true
note: >
AROS extended ROM replacement, used when no Kickstart ROM is found. Looked
up in the configured ROM directories, and only in a directory that also
holds aros-rom.bin. The core zip carries the library alone.
source_ref: "source src/memory.cpp:1933 (paired existence check), source src/memory.cpp:1958-1959 (load)"
- name: aros-ext.bin
mode: standalone
system: commodore-amiga
required: false
hle_fallback: true
bundled: true
not_bundled_on: [recalbox, rocknix]
size: 524288
sha1: "e8b274faca7ffa4c064706ba15318885d8645695"
md5: "d2ce6748e8e42222662e14359f68dad5"
note: >
AROS extended ROM replacement, used when no Kickstart ROM is found. Looked
up in the configured ROM directories, and only in a directory that also
holds aros-rom.bin. Shipped in roms/ of the 8.1.2 Windows zip and deb. The
Recalbox and ROCKNIX packages leave it out.
source_ref: "source src/memory.cpp:1933 (paired existence check), source src/memory.cpp:1958-1959 (load)"
- name: aros-rom.bin
mode: libretro
system: commodore-amiga
required: false
hle_fallback: true
note: >
AROS main ROM replacement, used with aros-ext.bin as Kickstart fallback.
Looked up in the configured ROM directories, and only in a directory that
also holds aros-ext.bin. The core zip carries the library alone.
source_ref: "source src/memory.cpp:1934 (paired existence check), source src/memory.cpp:1987-1988 (load)"
- name: aros-rom.bin
mode: standalone
system: commodore-amiga
required: false
hle_fallback: true
bundled: true
not_bundled_on: [recalbox, rocknix]
size: 524288
sha1: "7a0168bd3eea08b64acfddc5d1cfc0d538e1ac1e"
md5: "48d38fc3fcf2ad7bca5ec5191d02e451"
note: >
AROS main ROM replacement, used with aros-ext.bin as Kickstart fallback.
Looked up in the configured ROM directories, and only in a directory that
also holds aros-ext.bin. Shipped in roms/ of the 8.1.2 Windows zip and deb.
The Recalbox and ROCKNIX packages leave it out.
source_ref: "source src/memory.cpp:1934 (paired existence check), source src/memory.cpp:1987-1988 (load)"
# --- Cloanto key ---
- name: rom.key
system: commodore-amiga
required: false
note: "Decryption key for Cloanto Amiga Forever encrypted ROMs"
source_ref: "source src/rommgr.cpp:1444-1525"
# --- Keyboard MCU ROMs ---
# Loaded when keyboard_mode is set to MCU emulation.
# Found via ROM database scanning (SHA1/CRC32 identification).
# ref: src/kbmcu/keyboard_mcu_*.cpp
- name: "6570-036.rom"
system: commodore-amiga
required: false
size: 2048
note: "6500-1/6570-036 keyboard MCU ROM for A500/A600/A1000 models"
source_ref: "source src/kbmcu/keyboard_mcu_6500_1.cpp:385-408, source src/rommgr.cpp:136-137"
- name: "68HC05.rom"
system: commodore-amiga
required: false
size: 8192
note: "68HC05 keyboard MCU ROM for A1200"
source_ref: "source src/kbmcu/keyboard_mcu_6805.cpp:544-567, source src/rommgr.cpp:138-139"
- name: "D8039HLC.rom"
system: commodore-amiga
required: false
size: 2048
note: "D8039HLC keyboard MCU ROM for A2000"
source_ref: "source src/kbmcu/keyboard_mcu_d8039hlc.cpp:235-258, source src/rommgr.cpp:140-141"
# --- Munt MT-32/CM-32L MIDI ROMs ---
# Located in mt32-roms/ subdirectory of the ROM path.
# Code appends .rom extension and tries uppercase .ROM as fallback.
# Split ROM pairs (e.g. pcm_mt32_l.rom + pcm_mt32_h.rom) also supported.
# ref: src/midiemu.cpp:82-117 load_rom, src/midiemu.cpp:127-165 midi_emu_add_roms
- name: mt32-roms/mt32_control.rom
system: commodore-amiga
required: false
aliases:
- mt32-roms/ctrl_mt32.rom
- mt32-roms/ctrl_mt32_1_07.rom
- mt32-roms/ctrl_mt32_1_06.rom
- mt32-roms/ctrl_mt32_1_05.rom
- mt32-roms/ctrl_mt32_1_04.rom
- mt32-roms/ctrl_mt32_bluer.rom
- mt32-roms/ctrl_mt32_2_04.rom
- mt32-roms/ctrl_mt32_2_07.rom
- mt32-roms/ctrl_mt32_2_06.rom
- mt32-roms/ctrl_mt32_2_03.rom
note: "Roland MT-32 control ROM for Munt MIDI emulation"
source_ref: "source src/midiemu.cpp:38-62, source src/midiemu.cpp:159-164"
- name: mt32-roms/pcm_mt32.rom
system: commodore-amiga
required: false
aliases: [mt32-roms/mt32_pcm.rom]
note: "Roland MT-32 PCM ROM for Munt MIDI emulation"
source_ref: "source src/midiemu.cpp:140-148"
- name: mt32-roms/cm32l_control.rom
system: commodore-amiga
required: false
aliases:
- mt32-roms/ctrl_cm32l.rom
- mt32-roms/ctrl_cm32ln_1_00.rom
- mt32-roms/ctrl_cm32l_1_02.rom
- mt32-roms/ctrl_cm32l_1_00.rom
note: "Roland CM-32L control ROM for Munt MIDI emulation"
source_ref: "source src/midiemu.cpp:25-37, source src/midiemu.cpp:159-164"
- name: mt32-roms/pcm_cm32l.rom
system: commodore-amiga
required: false
aliases: [mt32-roms/cm32l_pcm.rom]
note: "Roland CM-32L PCM ROM for Munt MIDI emulation"
source_ref: "source src/midiemu.cpp:149-158"