Files
libretro/emulators/ishiiruka.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

233 lines
9.1 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]
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 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"