mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-18 09:23:26 -05:00
Recalbox builds seven board images with different emulators. The new target scraper reads each board's defconfig against the package every system.ini core names. The names that reached no profile are mapped to the projects Recalbox builds or profiled from their source, and the mupen64plus video plugins are set aside.
376 lines
15 KiB
YAML
376 lines
15 KiB
YAML
emulator: Dolphin
|
|
type: standalone + libretro
|
|
core_classification: community_fork
|
|
source: "https://github.com/libretro/dolphin"
|
|
upstream: "https://github.com/dolphin-emu/dolphin"
|
|
logo: "https://raw.githubusercontent.com/dolphin-emu/dolphin/master/Data/dolphin-emu.svg"
|
|
profiled_date: "2026-03-23"
|
|
source_commit: "4d23cf151640eb810cb1b8e9d9fc922cf59c0b87"
|
|
core_version: "Git"
|
|
display_name: "Nintendo - GameCube / Wii (Dolphin)"
|
|
cores:
|
|
- dolphin
|
|
- "dolphin-gui"
|
|
systems: [nintendo-gamecube, nintendo-wii, sega-triforce]
|
|
|
|
# path: is where the libretro core reads a file, standalone_path: where the
|
|
# standalone app reads it under its User directory.
|
|
# Libretro: User is <save>/User, Sys is <system>/dolphin-emu/Sys
|
|
# (Source/Core/DolphinLibretro/Boot.cpp:248-254). The GC ROMs and
|
|
# segaboot.gcm fall back to Sys (Source/Core/Core/Config/MainSettings.cpp:761-768,
|
|
# Source/Core/Core/HW/DVD/AMMediaboard.cpp:500-513); the Wii and GBA files
|
|
# are read under User only.
|
|
|
|
pack_structure:
|
|
libretro: "dolphin-emu"
|
|
standalone: ""
|
|
|
|
data_directories:
|
|
- ref: dolphin-sys
|
|
destination: "Sys"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:128-141"
|
|
|
|
files:
|
|
# -- GameCube IPL (Boot ROM) --
|
|
# Region-specific, placed in GC/<region>/IPL.bin
|
|
# Checked in User/GC/<region>/ then Sys/GC/<region>/
|
|
# Regions: USA, EUR, JAP (legacy), JPN, DEV
|
|
- name: "IPL.bin"
|
|
path: "dolphin-emu/Sys/GC/USA/IPL.bin"
|
|
standalone_path: "GC/USA/IPL.bin"
|
|
region: [north-america]
|
|
size: 2097152
|
|
required: false
|
|
hle_fallback: true
|
|
note: "GameCube NTSC-U boot ROM. HLE available but real IPL needed for GC menu boot and accurate fonts"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:139, Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:108"
|
|
|
|
- name: "IPL.bin"
|
|
path: "dolphin-emu/Sys/GC/EUR/IPL.bin"
|
|
standalone_path: "GC/EUR/IPL.bin"
|
|
region: [europe, oceania]
|
|
size: 2097152
|
|
required: false
|
|
hle_fallback: true
|
|
note: "GameCube PAL boot ROM"
|
|
source_ref: "Source/Core/Core/Config/MainSettings.cpp:776-782"
|
|
|
|
- name: "IPL.bin"
|
|
path: "dolphin-emu/Sys/GC/JAP/IPL.bin"
|
|
standalone_path: "GC/JAP/IPL.bin"
|
|
region: [japan]
|
|
size: 2097152
|
|
required: false
|
|
hle_fallback: true
|
|
note: "GameCube NTSC-J boot ROM. JAP is the legacy directory name"
|
|
source_ref: "Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:185"
|
|
|
|
# -- DSP ROMs --
|
|
# Used by DSP LLE for accurate audio.
|
|
# Dolphin ships free replacement ROMs, but real dumps improve accuracy.
|
|
# Searched in: User/GC/ then Sys/GC/
|
|
- name: "dsp_rom.bin"
|
|
path: "dolphin-emu/Sys/GC/dsp_rom.bin"
|
|
standalone_path: "GC/dsp_rom.bin"
|
|
size: 8192
|
|
required: false
|
|
hle_fallback: true
|
|
validation: [size, adler32]
|
|
known_hash_adler32: ["0x66f334fe", "0xe789b5a5"]
|
|
adler32_byteswap: true
|
|
note: "DSP instruction ROM for LLE audio. Free replacement (v0.4) included"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:136, Source/Core/Core/HW/DSPLLE/DSPLLE.cpp:84-117, Source/Core/Core/DSP/DSPCore.cpp:28-102"
|
|
|
|
- name: "dsp_coef.bin"
|
|
path: "dolphin-emu/Sys/GC/dsp_coef.bin"
|
|
standalone_path: "GC/dsp_coef.bin"
|
|
size: 4096
|
|
required: false
|
|
hle_fallback: true
|
|
validation: [size, adler32]
|
|
known_hash_adler32: ["0xf3b93527", "0xa4a575f5"]
|
|
adler32_byteswap: true
|
|
note: "DSP coefficient ROM for LLE audio and HLE polyphase resampling. Free replacement included"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:137, Source/Core/Core/DSP/DSPCore.cpp:32-33, Source/Core/Core/HW/DSPHLE/UCodes/AX.cpp:55-62, Source/Core/Core/DSP/DSPCore.cpp:28-102"
|
|
|
|
# -- GameCube Fonts --
|
|
# Bundled free alternatives exist but have padding differences causing misplaced text.
|
|
# If IPL dump is present, fonts are extracted from it instead (preferred).
|
|
# Searched in: Sys/GC/
|
|
- name: "font_western.bin"
|
|
path: "dolphin-emu/Sys/GC/font_western.bin"
|
|
standalone_path: "GC/font_western.bin"
|
|
size: 9589
|
|
required: false
|
|
hle_fallback: true
|
|
note: "Windows-1252 font for GC/Wii text rendering. Free alternative bundled, real one from IPL dump preferred"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:133, Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:130,202-239"
|
|
|
|
- name: "font_japanese.bin"
|
|
path: "dolphin-emu/Sys/GC/font_japanese.bin"
|
|
standalone_path: "GC/font_japanese.bin"
|
|
size: 303693
|
|
required: false
|
|
hle_fallback: true
|
|
note: "Shift-JIS font for Japanese text. Free alternative bundled, real one from IPL dump preferred"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:134, Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:129,234"
|
|
|
|
# -- Triforce firmware --
|
|
# Loaded from User/Triforce/ only, no Sys fallback.
|
|
- name: "segaboot.gcm"
|
|
path: "dolphin-emu/Sys/Triforce/segaboot.gcm"
|
|
standalone_path: "Triforce/segaboot.gcm"
|
|
system: sega-triforce
|
|
required: true
|
|
note: "SegaBoot, the Triforce system disc image. Read on every Triforce boot, min(size, 2 MiB) copied into the firmware buffer, nothing validated"
|
|
source_ref: "Source/Core/Core/HW/DVD/AMMediaboard.cpp:163, Source/Core/Core/HW/DVD/AMMediaboard.cpp:521, Source/Core/Core/HW/DVD/AMMediaboard.cpp:551-571, Source/Core/Core/HW/DVD/DVDInterface.cpp:292-294, Source/Core/Core/System.h:147"
|
|
|
|
# -- GBA BIOS (for GC-GBA link) --
|
|
# Used by integrated mGBA core for GameCube-GBA connectivity.
|
|
# Loaded from User/GBA/gba_bios.bin (no Sys fallback).
|
|
- name: "gba_bios.bin"
|
|
path: "GBA/gba_bios.bin"
|
|
load_from:
|
|
libretro: save_dir
|
|
required: false
|
|
hle_fallback: true
|
|
note: "GBA BIOS for GC-GBA link feature (uses integrated mGBA). Path configurable in settings"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:145, Source/Core/Core/HW/GBACore.cpp:346-363"
|
|
|
|
# -- Wii System Files --
|
|
# Generated/managed by Dolphin's Wii NAND emulation.
|
|
# Not typically user-supplied, but needed for full Wii functionality.
|
|
|
|
- name: "SYSCONF"
|
|
path: "Wii/shared2/sys/SYSCONF"
|
|
load_from:
|
|
libretro: save_dir
|
|
required: false
|
|
hle_fallback: true
|
|
note: "Wii system configuration. Auto-generated by Dolphin, can be imported from NAND backup"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:118, Source/Core/Common/FileUtil.cpp:905"
|
|
|
|
- name: "setting.txt"
|
|
path: "Wii/title/00000001/00000002/data/setting.txt"
|
|
load_from:
|
|
libretro: save_dir
|
|
size: 256
|
|
required: false
|
|
hle_fallback: true
|
|
note: "Wii region/language settings. Auto-generated by Dolphin during Wii boot emulation"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:153, Source/Core/Core/Boot/Boot_BS2Emu.cpp:384-460"
|
|
|
|
# -- Wii NAND Backup (BootMii) --
|
|
- name: "nand.bin"
|
|
path: null
|
|
required: false
|
|
hle_fallback: true
|
|
note: "BootMii NAND backup. Can be imported to populate Wii NAND with channels, saves, system menu"
|
|
source_ref: "Source/Core/DiscIO/NANDImporter.cpp:27-45,47-92"
|
|
|
|
- name: "keys.bin"
|
|
path: null
|
|
size: 1024
|
|
required: false
|
|
hle_fallback: true
|
|
note: "OTP/SEEPROM dump (Wii encryption keys). Needed if not appended to nand.bin for NAND import"
|
|
source_ref: "Source/Core/DiscIO/NANDImporter.cpp:20, Source/Core/DiscIO/NANDImporter.cpp:77-91, Source/Core/DiscIO/NANDImporter.h:35-38"
|
|
|
|
# -- Wii SD Card Image --
|
|
- name: "WiiSD.raw"
|
|
path: "Load/WiiSD.raw"
|
|
load_from:
|
|
libretro: save_dir
|
|
required: false
|
|
hle_fallback: true
|
|
note: "Virtual SD card image for Wii homebrew. Auto-created by Dolphin, supports SD/SDHC up to 4GB"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:150"
|
|
|
|
# -- Gecko Code Handler --
|
|
- name: "codehandler.bin"
|
|
path: null
|
|
required: false
|
|
hle_fallback: true
|
|
note: "Gecko/Ocarina cheat code handler. Shipped with Dolphin in Sys/, not user-supplied"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:155, Source/Core/Core/GeckoCode.cpp:120"
|
|
|
|
# -- Wii System Menu (WAD) --
|
|
- name: "Wii System Menu"
|
|
path: null
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Wii System Menu WAD. Installed to NAND via Tools > Install WAD, needed for Wii Menu boot"
|
|
source_ref: "Source/Core/DolphinQt/MainWindow.cpp:1629-1631, Source/Core/DolphinQt/MenuBar.cpp:1218-1232"
|
|
|
|
# -- NAND Certificates (auto-extracted) --
|
|
- name: "clientca.pem"
|
|
path: "Wii/clientca.pem"
|
|
load_from:
|
|
libretro: save_dir
|
|
required: false
|
|
hle_fallback: true
|
|
note: "SSL client certificate. Auto-extracted from IOS13 content during NAND import"
|
|
source_ref: "Source/Core/DiscIO/NANDImporter.cpp:220-304"
|
|
|
|
- name: "clientcakey.pem"
|
|
path: "Wii/clientcakey.pem"
|
|
load_from:
|
|
libretro: save_dir
|
|
required: false
|
|
hle_fallback: true
|
|
note: "SSL client private key. Auto-extracted from IOS13 content during NAND import"
|
|
source_ref: "Source/Core/DiscIO/NANDImporter.cpp:256"
|
|
|
|
- name: "rootca.pem"
|
|
path: "Wii/rootca.pem"
|
|
load_from:
|
|
libretro: save_dir
|
|
required: false
|
|
hle_fallback: true
|
|
note: "SSL root CA certificate. Auto-extracted from IOS13 content during NAND import"
|
|
source_ref: "Source/Core/DiscIO/NANDImporter.cpp:257"
|
|
|
|
# -- Realtek Bluetooth firmware (Wiimote passthrough) --
|
|
# Required for real Wiimote connectivity via USB Bluetooth adapters with Realtek chipsets.
|
|
# Dolphin can auto-download these from gitlab.com/kernel-firmware/linux-firmware.
|
|
# Placed in Load/Firmware/rtl_bt/ (standalone) or User/Load/Firmware/rtl_bt/ (libretro save dir).
|
|
# Each device needs _fw.bin (required) and _config.bin (optional, some devices).
|
|
# ref: Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:382-425,427-481
|
|
|
|
- name: "rtl8723a_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8723a_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8723A BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:414"
|
|
|
|
- name: "rtl8723b_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8723b_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8723B BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:389"
|
|
|
|
- name: "rtl8723d_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8723d_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8723D BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:418"
|
|
|
|
- name: "rtl8761a_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8761a_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8761A BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:393"
|
|
|
|
- name: "rtl8761bu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8761bu_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8761BU BT firmware for Wiimote passthrough (most common USB dongle)"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:395"
|
|
|
|
- name: "rtl8821a_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8821a_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8821A BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:397"
|
|
|
|
- name: "rtl8821c_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8821c_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8821C BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:426"
|
|
|
|
- name: "rtl8822b_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8822b_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8822B BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:430"
|
|
|
|
- name: "rtl8822cu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8822cu_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8822CU BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:401"
|
|
|
|
- name: "rtl8851bu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8851bu_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8851BU BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:405"
|
|
|
|
- name: "rtl8852au_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8852au_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8852AU BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:407"
|
|
|
|
- name: "rtl8852bu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8852bu_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8852BU BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:409"
|
|
|
|
- name: "rtl8852cu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8852cu_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8852CU BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:411"
|
|
|
|
- name: "rtl8852btu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8852btu_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8852BT/8852BE-VT BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:413"
|
|
|
|
- name: "rtl8922au_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8922au_fw.bin"
|
|
required: false
|
|
mode: standalone
|
|
note: "Realtek 8922AU BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:415"
|
|
|
|
notes:
|
|
hle_available: true
|
|
hle_note: >
|
|
Dolphin provides HLE for GameCube IPL (boot ROM), DSP, and Wii system functions.
|
|
No BIOS files are strictly required for most games. DSP ROMs (dsp_rom.bin + dsp_coef.bin)
|
|
are the most impactful optional files - Dolphin ships free replacements but real dumps
|
|
from hardware provide better audio accuracy in some titles.
|
|
ipl_regions: ["USA", "EUR", "JAP", "JPN", "DEV"]
|
|
ipl_region_note: >
|
|
IPL.bin is region-specific, placed in GC/<REGION>/IPL.bin.
|
|
JAP is the legacy directory name, JPN is the modern default.
|
|
DEV is for development/debug units.
|
|
dsp_rom_note: >
|
|
DSP ROMs are verified at load time via Adler32 hash.
|
|
Official Nintendo hashes: irom=0x66f334fe, drom=0xf3b93527.
|
|
Multiple free replacement versions exist (v0.1 through v0.4).
|
|
font_note: >
|
|
Fonts can come from three sources: real IPL dump (preferred), standalone font files
|
|
in Sys/GC/, or bundled free alternatives. The free fonts have different padding that
|
|
causes text positioning issues in some games.
|
|
nand_note: >
|
|
Wii NAND content (channels, saves, system menu) is managed by Dolphin internally.
|
|
Users can import a BootMii NAND backup (nand.bin + optional keys.bin) to populate it.
|
|
Most Wii games do not require a real NAND dump.
|
|
bt_passthrough_note: >
|
|
Bluetooth passthrough allows connecting real Wiimotes via USB Bluetooth adapters.
|
|
Realtek chipsets (very common) require firmware files in Load/Firmware/rtl_bt/.
|
|
Dolphin can auto-download these from kernel-firmware/linux-firmware on GitLab.
|
|
15 device families supported. Each needs _fw.bin (required) + _config.bin (optional).
|
|
ref: Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:75-179 (device IDs), 382-420 (firmware names)
|