Files
libretro/emulators/ishiiruka.yml
T
Abdessamad Derraz fe3236ad97 fix: let the NTSC-U IPL answer Latin America
Dolphin and its forks map the Brazilian disc country code B, and the
SYSCONF countries of the Americas, to NTSC-U (DiscIO/Enums.cpp), whose
boot ROM is read from GC/USA. Tagged north-america alone, the IPL a
Brazilian disc boots left a --region brazil,europe pack. GC/USA/IPL.bin
in six profiles and triforce's IPL_TRI.bin now carry latin-america.
2026-10-21 10:13:22 +02:00

233 lines
9.3 KiB
YAML

emulator: Ishiiruka
type: standalone + libretro
core_classification: enhanced_fork
source: "https://github.com/libretro/ishiiruka"
upstream: "https://github.com/Tinob/Ishiiruka"
profiled_date: "2026-03-24"
source_commit: "f228bde5fbf4861ba749a229803addcd6238663f"
core_version: "Git"
display_name: "Nintendo - GameCube / Wii (Ishiiruka)"
cores:
- ishiiruka
systems: [nintendo-gamecube, nintendo-wii]
# Ishiiruka is a performance-focused Dolphin fork (custom GPU backends, async shader compilation).
# BIOS/firmware handling identical to Dolphin 5.0-era code.
# Libretro: User is <save>/User, Sys is <system>/dolphin-emu/Sys
# (Source/Core/DolphinLibretro/Boot.cpp:43-49). path: is where the libretro
# core reads a file (the GC ROMs fall back to Sys), standalone_path: where
# the standalone app reads it under its User directory.
# Core options use "ishiiruka_" prefix (ishiiruka_dsp_hle, ishiiruka_efb_scale, etc.)
pack_structure:
libretro: "dolphin-emu"
standalone: ""
data_directories:
- ref: dolphin-sys
mode: libretro
destination: "Sys"
source_ref: "Source/Core/Common/CommonPaths.h:130-131"
files:
# -- GameCube IPL (Boot ROM) --
# Region-specific, placed in GC/<region>/IPL.bin
# Checked in User/GC/<region>/ then Sys/GC/<region>/
- name: "IPL.bin"
path: "dolphin-emu/Sys/GC/USA/IPL.bin"
standalone_path: "GC/USA/IPL.bin"
system: nintendo-gamecube
region: [north-america, latin-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. Discs with the Brazilian country code B map to NTSC-U, so Latin America reads this directory too (Source/Core/DiscIO/Enums.cpp:162-166)."
source_ref: "source Source/Core/Core/ConfigManager.cpp:876-883, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:105"
- 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/HW/EXI/EXI_DeviceIPL.cpp:185"
- 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"
source_ref: "source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:187"
# -- DSP ROMs --
# Used by DSP LLE for accurate audio. dsp_coef.bin also used by HLE for polyphase resampling.
# 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", "0x128ea7a2"]
adler32_byteswap: true
adler32_pairs_with: "dsp_coef.bin"
adler32_pairs: [["0x66f334fe", "0xf3b93527"], ["0x128ea7a2", "0xa4a575f5"]]
note: "DSP instruction ROM for LLE audio. Free replacement included"
source_ref: "upstream Source/Core/Common/CommonPaths.h:112, source Source/Core/Core/HW/DSPLLE/DSPLLE.cpp:142-150, source Source/Core/Core/DSP/DSPCore.cpp:48, 67, source Source/Core/Core/DSP/DSPCore.cpp:38-105"
- 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", "0x128ea7a2"]]
note: "DSP coefficient ROM for LLE audio and HLE polyphase resampling. Free replacement included"
source_ref: "upstream Source/Core/Common/CommonPaths.h:113, upstream Source/Core/Core/HW/DSPLLE/DSPLLE.cpp:143-153, source Source/Core/Core/HW/DSPHLE/UCodes/AX.cpp:43-72, source Source/Core/Core/DSP/DSPCore.cpp:48, 68, source Source/Core/Core/DSP/DSPCore.cpp:38-105"
# -- 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).
# Loaded from: 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:109, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:123, 193-227"
- 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:110, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:122, 193-227"
# -- Gecko Code Handler --
- name: "codehandler.bin"
path: null
required: false
hle_fallback: true
note: "Gecko/Ocarina cheat code handler. Shipped with Ishiiruka in Sys/"
source_ref: "upstream Source/Core/Common/CommonPaths.h:127, source Source/Core/Core/GeckoCode.cpp:86"
# -- Wii System Files --
# Auto-generated/managed by Dolphin's Wii emulation.
- name: "SYSCONF"
path: "Wii/shared2/sys/SYSCONF"
load_from:
libretro: save_dir
required: false
hle_fallback: true
note: "Wii system configuration. Auto-generated, can be imported from NAND backup"
source_ref: "source Source/Core/Common/CommonPaths.h:59, 95, source Source/Core/Common/SysConf.cpp:40"
- 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 during Wii boot emulation"
source_ref: "upstream Source/Core/Common/CommonPaths.h:125, source Source/Core/Core/Boot/Boot_BS2Emu.cpp:229-266"
# -- Wii SD Card Image --
- name: "sd.raw"
path: "Wii/sd.raw"
load_from:
libretro: save_dir
required: false
hle_fallback: true
note: "Virtual SD card image for Wii homebrew. Auto-created (128MB) if not present"
source_ref: "upstream Source/Core/Common/CommonPaths.h:122, source Source/Core/Core/IOS/SDIO/SDIOSlot0.cpp:63-73"
# -- Wii NAND Backup (BootMii) --
- name: "nand.bin"
path: null
required: false
hle_fallback: true
mode: standalone
note: "BootMii NAND backup. Can be imported to populate Wii NAND with channels, saves, system menu"
source_ref: "source Source/Core/DiscIO/NANDImporter.cpp:29-47"
- name: "keys.bin"
path: null
size: 1024
required: false
hle_fallback: true
mode: standalone
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:23-24, 82-93"
# -- NAND Certificates (auto-extracted) --
- name: "clientca.pem"
path: "Wii/clientca.pem"
required: false
hle_fallback: true
mode: standalone
note: "SSL client certificate. Auto-extracted from IOS13 content during NAND import"
source_ref: "source Source/Core/DiscIO/NANDImporter.cpp:199-264"
- name: "clientcakey.pem"
path: "Wii/clientcakey.pem"
required: false
hle_fallback: true
mode: standalone
note: "SSL client private key. Auto-extracted from IOS13 content during NAND import"
source_ref: "upstream Source/Core/DiscIO/NANDImporter.cpp:235"
- name: "rootca.pem"
path: "Wii/rootca.pem"
required: false
hle_fallback: true
mode: standalone
note: "SSL root CA certificate. Auto-extracted from IOS13 content during NAND import"
source_ref: "upstream Source/Core/DiscIO/NANDImporter.cpp:236"
notes:
hle_available: true
hle_note: >
HLE covers GameCube IPL (boot ROM), DSP, and Wii system functions.
ipl_regions: ["USA", "EUR", "JAP"]
dsp_rom_note: >
DSP ROMs verified at load time via Adler32 hash.
Official Nintendo hashes: irom=0x66f334fe, drom=0xf3b93527.
Free replacement ROMs (v0.1 through v0.4) shipped in Sys/GC/.
font_note: >
Fonts loaded from three sources: IPL dump, standalone files in Sys/GC/,
or bundled free alternatives. Free alternatives have different padding
metrics than original Nintendo fonts.
nand_note: >
Wii NAND content managed internally. BootMii NAND backup (nand.bin + optional
keys.bin) import supported in standalone mode only.
dolphin_fork: true
fork_base: "Dolphin 5.0-era"
fork_differences: >
Dolphin fork with custom GPU backends, async shader compilation, post-processing.
BIOS/firmware handling identical to upstream Dolphin of the same era. No GBA link
support (no mGBA integration). No Realtek Bluetooth firmware support.
libretro_path: "system/dolphin-emu/"
data_dir_standalone: "ishiiruka"
data_dir_note: >
Standalone builds use "ishiiruka" as DOLPHIN_DATA_DIR (CommonPaths.h:24,27),
but the libretro core overrides this to use "dolphin-emu" paths (Boot.cpp:46,49).
library_name: "Ishiiruka"
valid_extensions: "elf|dol|gcm|iso|tgc|wbfs|ciso|gcz|wad"