mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-21 11:19:11 -05:00
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.
399 lines
17 KiB
YAML
399 lines
17 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
|
|
installed_on: [batocera, lakka, retrobat, retrodeck]
|
|
mode: libretro
|
|
destination: "Sys"
|
|
source_ref: "source 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"
|
|
system: nintendo-gamecube
|
|
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: "upstream Source/Core/Common/CommonPaths.h:139, source 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"
|
|
system: nintendo-gamecube
|
|
region: [europe, oceania]
|
|
size: 2097152
|
|
required: false
|
|
hle_fallback: true
|
|
note: "GameCube PAL boot ROM"
|
|
source_ref: "source 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"
|
|
system: nintendo-gamecube
|
|
region: [japan, south-korea]
|
|
size: 2097152
|
|
required: false
|
|
hle_fallback: true
|
|
note: "GameCube NTSC-J boot ROM. JAP is the legacy directory name"
|
|
source_ref: "source 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
|
|
adler32_pairs_with: "dsp_coef.bin"
|
|
adler32_pairs: [["0x66f334fe", "0xf3b93527"], ["0xe789b5a5", "0xa4a575f5"]]
|
|
note: "DSP instruction ROM for LLE audio. Free replacement (v0.4) included"
|
|
source_ref: "upstream Source/Core/Common/CommonPaths.h:136, source Source/Core/Core/HW/DSPLLE/DSPLLE.cpp:84-117, source 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
|
|
adler32_pairs_with: "dsp_rom.bin"
|
|
adler32_pairs: [["0xf3b93527", "0x66f334fe"], ["0xa4a575f5", "0xe789b5a5"]]
|
|
note: "DSP coefficient ROM for LLE audio and HLE polyphase resampling. Free replacement included"
|
|
source_ref: "upstream Source/Core/Common/CommonPaths.h:137, source Source/Core/Core/DSP/DSPCore.cpp:32-33, source Source/Core/Core/HW/DSPHLE/UCodes/AX.cpp:55-62, source 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: "upstream Source/Core/Common/CommonPaths.h:133, source 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: "upstream Source/Core/Common/CommonPaths.h:134, source 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 Source/Core/Core/HW/DVD/AMMediaboard.cpp:163, source Source/Core/Core/HW/DVD/AMMediaboard.cpp:521, source Source/Core/Core/HW/DVD/AMMediaboard.cpp:551-571, source Source/Core/Core/HW/DVD/DVDInterface.cpp:292-294, source 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: "upstream Source/Core/Common/CommonPaths.h:145, source 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: "upstream Source/Core/Common/CommonPaths.h:118, source 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: "upstream Source/Core/Common/CommonPaths.h:153, source 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 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 Source/Core/DiscIO/NANDImporter.cpp:20, source Source/Core/DiscIO/NANDImporter.cpp:77-91, source 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: "upstream Source/Core/Common/CommonPaths.h:150"
|
|
|
|
# -- Gecko Code Handler --
|
|
- name: "codehandler.bin"
|
|
path: null
|
|
mode: standalone
|
|
required: false
|
|
bundled: true
|
|
size: 2880
|
|
sha1: "e6c0050b3c67ee26198488fbbe4a5d019c15b628"
|
|
md5: "1f118b8735fcf40c20b38c3184eebfd9"
|
|
hle_fallback: true
|
|
note: "Gecko/Ocarina cheat code handler. Shipped in Sys/ of the standalone release (dolphin-2512-x64.7z)"
|
|
source_ref: "upstream Source/Core/Common/CommonPaths.h:155, source Source/Core/Core/GeckoCode.cpp:120"
|
|
|
|
- name: "codehandler.bin"
|
|
path: null
|
|
mode: libretro
|
|
required: false
|
|
installed_on: [batocera, lakka, retrobat, retrodeck]
|
|
hle_fallback: true
|
|
note: "Gecko/Ocarina cheat code handler, read from the Sys data directory the core zip does not contain. The Batocera and Lakka packages copy Data/Sys beside the core, and RetroBat installs it as bios/dolphin-emu/Sys"
|
|
source_ref: "upstream Source/Core/Common/CommonPaths.h:155, source 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 Source/Core/DolphinQt/MainWindow.cpp:1629-1631, source 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)
|