mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
Marked files with HLE fallback based on source code analysis: - desmume: 3 files (NDSSystem.cpp fake BIOS generation) - dolphin: 31 files (HLE for IPL, DSP, fonts, Wii system) - pcsx_rearmed: 7 files (psxbios.c full HLE replacement) - easyrpg: 4 files (RTP and soundfonts optional) - dosbox_core: all MT-32/soundfont/BASS files - dosbox_pure: all MT-32/soundfont files - boytacean: 8 boot ROMs (open-source embedded in binary) - citra: shared_font.bin only (HLE for font rendering) - azahar: shared_font.bin only Not modified (no HLE): beetle_psx, duckstation, ecwolf, emuscv.
339 lines
13 KiB
YAML
339 lines
13 KiB
YAML
emulator: Dolphin
|
|
type: standalone + libretro
|
|
source: "https://github.com/dolphin-emu/dolphin"
|
|
logo: "https://raw.githubusercontent.com/dolphin-emu/dolphin/master/Data/dolphin-emu.svg"
|
|
profiled_date: "2026-03-18"
|
|
core_version: "Git"
|
|
display_name: "Nintendo - GameCube / Wii (Dolphin)"
|
|
systems: [nintendo-gamecube, nintendo-wii]
|
|
|
|
# Dolphin has HLE for most system functions, so real BIOS/firmware files
|
|
# are optional but improve accuracy. DSP ROMs are the most commonly needed.
|
|
|
|
# File paths are relative to Dolphin User directory:
|
|
# Standalone: User/GC/ and User/Wii/
|
|
# Libretro (RetroArch): system/dolphin-emu/GC/ and system/dolphin-emu/Wii/
|
|
|
|
files:
|
|
# -- GameCube IPL (Boot ROM) --
|
|
# Region-specific, placed in GC/<region>/IPL.bin
|
|
# Regions: USA, EUR, JAP (legacy), JPN, DEV
|
|
- name: "IPL.bin"
|
|
path: "GC/USA/IPL.bin"
|
|
size: 2097152 # 0x200000 (2 MB)
|
|
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: "GC/EUR/IPL.bin"
|
|
size: 2097152
|
|
required: false
|
|
hle_fallback: true
|
|
note: "GameCube PAL boot ROM"
|
|
source_ref: "Source/Core/Core/Config/MainSettings.cpp:744-750"
|
|
|
|
- name: "IPL.bin"
|
|
path: "GC/JAP/IPL.bin"
|
|
size: 2097152
|
|
required: false
|
|
hle_fallback: true
|
|
note: "GameCube NTSC-J boot ROM"
|
|
source_ref: "Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:185"
|
|
|
|
# -- DSP ROMs --
|
|
# Used by DSP LLE (low-level emulation) for accurate audio
|
|
# Dolphin ships a free replacement ROM, but dumps from real hardware are more accurate
|
|
# Searched in: User/GC/ then Sys/GC/
|
|
- name: "dsp_rom.bin"
|
|
path: "GC/dsp_rom.bin"
|
|
size: 8192 # 0x2000 (DSP_IROM_BYTE_SIZE)
|
|
required: false
|
|
hle_fallback: true
|
|
note: "DSP instruction ROM for LLE audio. Free replacement included with Dolphin, real dump improves accuracy"
|
|
known_hash_adler32: "0x66f334fe" # official Nintendo ROM
|
|
source_ref: "Source/Core/Common/CommonPaths.h:136, Source/Core/Core/HW/DSPLLE/DSPLLE.cpp:106-117"
|
|
|
|
- name: "dsp_coef.bin"
|
|
path: "GC/dsp_coef.bin"
|
|
size: 4096 # 0x1000 (DSP_COEF_BYTE_SIZE)
|
|
required: false
|
|
hle_fallback: true
|
|
note: "DSP coefficient ROM for LLE audio and HLE polyphase resampling. Free replacement included"
|
|
known_hash_adler32: "0xf3b93527" # official Nintendo ROM
|
|
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"
|
|
|
|
# -- GameCube Fonts --
|
|
# Bundled free alternatives exist but have padding differences causing misplaced text
|
|
# If IPL dump is present, fonts are extracted from it instead
|
|
# Searched in: Sys/GC/
|
|
- name: "font_western.bin"
|
|
path: "GC/font_western.bin"
|
|
size: 9589 # 0x2575
|
|
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: "GC/font_japanese.bin"
|
|
size: 303693 # 0x4A24D
|
|
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"
|
|
|
|
# -- GBA BIOS (for GC-GBA link) --
|
|
# Used by integrated mGBA core for GameCube-GBA connectivity
|
|
- name: "gba_bios.bin"
|
|
path: "GBA/gba_bios.bin"
|
|
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 --
|
|
# These are generated/managed by Dolphin's Wii NAND emulation
|
|
# Not typically user-supplied, but listed for completeness
|
|
|
|
- name: "SYSCONF"
|
|
path: "Wii/shared2/sys/SYSCONF"
|
|
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:900"
|
|
|
|
- name: "setting.txt"
|
|
path: "Wii/title/00000001/00000002/data/setting.txt"
|
|
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 # user-selected via file dialog
|
|
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:26-39,42-89"
|
|
|
|
- name: "keys.bin"
|
|
path: null # user-selected, or appended to nand.bin
|
|
size: 1024 # 0x400 (NAND_KEYS_SIZE)
|
|
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:19,76-88, Source/Core/DiscIO/NANDImporter.h:28"
|
|
|
|
# -- Wii SD Card Image --
|
|
- name: "WiiSD.raw"
|
|
path: "Load/WiiSD.raw"
|
|
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 # in Sys directory, shipped with Dolphin
|
|
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 # installed to NAND via WAD import
|
|
required: false
|
|
hle_fallback: true
|
|
note: "Wii System Menu WAD. Installed to NAND via Tools > Install WAD, needed for Wii Menu boot"
|
|
source_ref: "Source/Core/DolphinQt/MainWindow.cpp:1581-1583, Source/Core/DolphinQt/MenuBar.cpp:1174-1188"
|
|
|
|
# -- NAND Certificates (auto-extracted) --
|
|
- name: "clientca.pem"
|
|
path: "Wii/clientca.pem"
|
|
required: false
|
|
hle_fallback: true
|
|
note: "SSL client certificate. Auto-extracted from IOS13 content during NAND import"
|
|
source_ref: "Source/Core/DiscIO/NANDImporter.cpp:201-285"
|
|
|
|
- name: "clientcakey.pem"
|
|
path: "Wii/clientcakey.pem"
|
|
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:237"
|
|
|
|
- name: "rootca.pem"
|
|
path: "Wii/rootca.pem"
|
|
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:238"
|
|
|
|
# -- 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
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8723A BT firmware for Wiimote passthrough"
|
|
source_ref: "RealtekFirmwareLoader.cpp:387"
|
|
|
|
- name: "rtl8723b_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8723b_fw.bin"
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8723B BT firmware for Wiimote passthrough"
|
|
source_ref: "RealtekFirmwareLoader.cpp:389"
|
|
|
|
- name: "rtl8723d_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8723d_fw.bin"
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8723D BT firmware for Wiimote passthrough"
|
|
source_ref: "RealtekFirmwareLoader.cpp:391"
|
|
|
|
- name: "rtl8761a_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8761a_fw.bin"
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8761A BT firmware for Wiimote passthrough"
|
|
source_ref: "RealtekFirmwareLoader.cpp:393"
|
|
|
|
- name: "rtl8761bu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8761bu_fw.bin"
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8761BU BT firmware for Wiimote passthrough (most common USB dongle)"
|
|
source_ref: "RealtekFirmwareLoader.cpp:395"
|
|
|
|
- name: "rtl8821a_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8821a_fw.bin"
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8821A BT firmware for Wiimote passthrough"
|
|
source_ref: "RealtekFirmwareLoader.cpp:397"
|
|
|
|
- name: "rtl8821c_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8821c_fw.bin"
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8821C BT firmware for Wiimote passthrough"
|
|
source_ref: "RealtekFirmwareLoader.cpp:399"
|
|
|
|
- name: "rtl8822b_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8822b_fw.bin"
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8822B BT firmware for Wiimote passthrough"
|
|
source_ref: "RealtekFirmwareLoader.cpp:403"
|
|
|
|
- name: "rtl8822cu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8822cu_fw.bin"
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8822CU BT firmware for Wiimote passthrough"
|
|
source_ref: "RealtekFirmwareLoader.cpp:401"
|
|
|
|
- name: "rtl8851bu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8851bu_fw.bin"
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8851BU BT firmware for Wiimote passthrough"
|
|
source_ref: "RealtekFirmwareLoader.cpp:405"
|
|
|
|
- name: "rtl8852au_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8852au_fw.bin"
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8852AU BT firmware for Wiimote passthrough"
|
|
source_ref: "RealtekFirmwareLoader.cpp:407"
|
|
|
|
- name: "rtl8852bu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8852bu_fw.bin"
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8852BU BT firmware for Wiimote passthrough"
|
|
source_ref: "RealtekFirmwareLoader.cpp:409"
|
|
|
|
- name: "rtl8852cu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8852cu_fw.bin"
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8852CU BT firmware for Wiimote passthrough"
|
|
source_ref: "RealtekFirmwareLoader.cpp:411"
|
|
|
|
- name: "rtl8852btu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8852btu_fw.bin"
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8852BT/8852BE-VT BT firmware for Wiimote passthrough"
|
|
source_ref: "RealtekFirmwareLoader.cpp:413"
|
|
|
|
- name: "rtl8922au_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8922au_fw.bin"
|
|
required: false
|
|
hle_fallback: true
|
|
mode: standalone
|
|
note: "Realtek 8922AU BT firmware for Wiimote passthrough"
|
|
source_ref: "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.
|
|
libretro_note: >
|
|
No official libretro core exists in the main Dolphin repo.
|
|
Third-party libretro cores (dolphin_libretro) use the same file paths
|
|
under RetroArch system/dolphin-emu/.
|
|
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 (8723A/B/D, 8761A/BU, 8821A/C, 8822B/CU, 8851BU,
|
|
8852AU/BU/CU/BTU, 8922AU). Each needs _fw.bin (required) + _config.bin (optional).
|
|
ref: RealtekFirmwareLoader.cpp:75-179 (device IDs), 382-420 (firmware names)
|