mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 02:13:28 -05:00
Each platform's own packages were read at the revision our data pins, for every emulator and core it ships: Batocera, Recalbox, RetroPie, ROCKNIX, Lakka, RetroDECK, RetroBat and EmuDeck. Files a package installs where the emulator reads them are recorded with installed_on, and files a release bundles but a package leaves out with not_bundled_on, so each platform's pack brings what its users lack and nothing they already have. The standalone profiles never checked before were held against their releases the same way. Batocera's imame4all is the mame2000 core. The primary neogeo.zip was a 7.7 KB placeholder no platform pins and no pack served: removed, the real dumps stay in .variants.
323 lines
12 KiB
YAML
323 lines
12 KiB
YAML
emulator: PrimeHack
|
|
type: standalone
|
|
core_classification: enhanced_fork
|
|
source: "https://github.com/shiiion/dolphin"
|
|
upstream: "https://github.com/dolphin-emu/dolphin"
|
|
profiled_date: "2026-03-26"
|
|
source_commit: "53f53e0f5bad27ad62a807cb93b136d84f68777f"
|
|
core_version: "1.0.8"
|
|
display_name: "PrimeHack (Dolphin fork for Metroid Prime)"
|
|
cores:
|
|
- primehack
|
|
systems: [nintendo-gamecube, nintendo-wii]
|
|
analysis_date: "2026-03-26"
|
|
analysis_commit: "b10f147 (depth=1)"
|
|
mode: standalone
|
|
|
|
# PrimeHack is a Dolphin fork by shiiion adding mouselook controls for Metroid Prime Trilogy.
|
|
# BIOS loading code is identical to upstream Dolphin.
|
|
# File paths relative to Dolphin User directory:
|
|
# Standalone: User/GC/ and User/Wii/
|
|
# Sys/ is checked as fallback when not found in User/.
|
|
|
|
pack_structure:
|
|
standalone: ""
|
|
|
|
data_directories:
|
|
- ref: dolphin-sys
|
|
bundled: true
|
|
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>/
|
|
- name: "IPL.bin"
|
|
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/Core/Common/CommonPaths.h:138, Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:109-110"
|
|
|
|
- name: "IPL.bin"
|
|
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/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:184"
|
|
|
|
- name: "IPL.bin"
|
|
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/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:186"
|
|
|
|
# -- DSP ROMs --
|
|
# Used by DSP LLE for accurate audio.
|
|
# PrimeHack ships free replacement ROMs, but real dumps improve accuracy.
|
|
# Searched in: User/GC/ then Sys/GC/
|
|
- name: "dsp_rom.bin"
|
|
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: "Source/Core/Common/CommonPaths.h:135, Source/Core/Core/HW/DSPLLE/DSPLLE.cpp:87-117, Source/Core/Core/DSP/DSPCore.cpp:28-102"
|
|
|
|
- name: "dsp_coef.bin"
|
|
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. Free replacement included"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:138, Source/Core/Core/DSP/DSPCore.cpp:32-38, 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: "GC/font_western.bin"
|
|
size: 6478
|
|
required: false
|
|
bundled: true
|
|
hle_fallback: true
|
|
sha1: "483a17ff25b68a8f18cae691da99f16beefbe370"
|
|
md5: "9bef639b7426ef6948602a12b33522a8"
|
|
note: "Windows-1252 font for GC/Wii text rendering. The free alternative ships in Sys/GC/ of the 1.0.8 Windows and macOS releases, and the real one from an IPL dump is preferred"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:132, Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:131,203-218"
|
|
|
|
- name: "font_japanese.bin"
|
|
path: "GC/font_japanese.bin"
|
|
size: 259626
|
|
required: false
|
|
bundled: true
|
|
hle_fallback: true
|
|
sha1: "7fbbedcc7a1ae00414a4e9e967109cc78be1fe3b"
|
|
md5: "a1d3c0e5a40f163f4fb00a5e0774c63c"
|
|
note: "Shift-JIS font for Japanese text. The free alternative ships in Sys/GC/ of the 1.0.8 Windows and macOS releases, and the real one from an IPL dump is preferred"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:135, Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:130"
|
|
|
|
# -- GBA BIOS (for GC-GBA link) --
|
|
# Used by integrated mGBA core for GameCube-GBA connectivity.
|
|
# Loaded from User/GBA/gba_bios.bin.
|
|
- 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:144, Source/Core/Core/HW/GBACore.cpp:344-361"
|
|
|
|
# -- Wii System Files --
|
|
- name: "SYSCONF"
|
|
path: "Wii/shared2/sys/SYSCONF"
|
|
required: false
|
|
hle_fallback: true
|
|
note: "Wii system configuration. Auto-generated by PrimeHack, can be imported from NAND backup"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:118, Source/Core/Core/WiiRoot.cpp:266"
|
|
|
|
- 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 during Wii boot emulation"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:152, Source/Core/Core/Boot/Boot_BS2Emu.cpp:377-454"
|
|
|
|
# -- 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:26-89"
|
|
|
|
- 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:19,76-88"
|
|
|
|
# -- 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, supports SD/SDHC up to 4GB"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:149"
|
|
|
|
# -- Gecko Code Handler --
|
|
- name: "codehandler.bin"
|
|
path: null
|
|
required: false
|
|
bundled: true
|
|
hle_fallback: true
|
|
size: 2880
|
|
sha1: "e6c0050b3c67ee26198488fbbe4a5d019c15b628"
|
|
md5: "1f118b8735fcf40c20b38c3184eebfd9"
|
|
note: "Gecko/Ocarina cheat code handler. Shipped in Sys/ of the 1.0.8 Windows and macOS releases"
|
|
source_ref: "Source/Core/Common/CommonPaths.h:154, Source/Core/Core/GeckoCode.cpp:121"
|
|
|
|
# -- Wii System Menu (WAD) --
|
|
- name: "Wii System Menu"
|
|
path: null
|
|
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/MenuBar.cpp:335, Source/Core/DolphinQt/MenuBar.cpp:1582-1590"
|
|
|
|
# -- 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.
|
|
# PrimeHack can auto-download these from gitlab.com/kernel-firmware/linux-firmware.
|
|
# Placed in Load/Firmware/rtl_bt/.
|
|
# ref: Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:383-426,434
|
|
|
|
- name: "rtl8723a_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8723a_fw.bin"
|
|
required: false
|
|
note: "Realtek 8723A BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:388-389"
|
|
|
|
- name: "rtl8723b_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8723b_fw.bin"
|
|
required: false
|
|
note: "Realtek 8723B BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:390-391, 516-519"
|
|
|
|
- name: "rtl8723d_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8723d_fw.bin"
|
|
required: false
|
|
note: "Realtek 8723D BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:392-393"
|
|
|
|
- name: "rtl8761a_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8761a_fw.bin"
|
|
required: false
|
|
note: "Realtek 8761A BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:394-395"
|
|
|
|
- name: "rtl8761bu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8761bu_fw.bin"
|
|
required: false
|
|
note: "Realtek 8761BU BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:396-397"
|
|
|
|
- name: "rtl8821a_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8821a_fw.bin"
|
|
required: false
|
|
note: "Realtek 8821A BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:398-399"
|
|
|
|
- name: "rtl8821c_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8821c_fw.bin"
|
|
required: false
|
|
note: "Realtek 8821C BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:400-401"
|
|
|
|
- name: "rtl8822b_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8822b_fw.bin"
|
|
required: false
|
|
note: "Realtek 8822B BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:404-405"
|
|
|
|
- name: "rtl8822cu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8822cu_fw.bin"
|
|
required: false
|
|
note: "Realtek 8822CU BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:402-403"
|
|
|
|
- name: "rtl8851bu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8851bu_fw.bin"
|
|
required: false
|
|
note: "Realtek 8851BU BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:406-407"
|
|
|
|
- name: "rtl8852au_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8852au_fw.bin"
|
|
required: false
|
|
note: "Realtek 8852AU BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:408-409"
|
|
|
|
- name: "rtl8852bu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8852bu_fw.bin"
|
|
required: false
|
|
note: "Realtek 8852BU BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:410-411"
|
|
|
|
- name: "rtl8852cu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8852cu_fw.bin"
|
|
required: false
|
|
note: "Realtek 8852CU BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:412-413"
|
|
|
|
- name: "rtl8852btu_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8852btu_fw.bin"
|
|
required: false
|
|
note: "Realtek 8852BT/8852BE-VT BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:414-415"
|
|
|
|
- name: "rtl8922au_fw.bin"
|
|
path: "Load/Firmware/rtl_bt/rtl8922au_fw.bin"
|
|
required: false
|
|
note: "Realtek 8922AU BT firmware for Wiimote passthrough"
|
|
source_ref: "Source/Core/Core/IOS/USB/Bluetooth/RealtekFirmwareLoader.cpp:416-417"
|
|
|
|
notes:
|
|
hle_available: true
|
|
hle_note: >
|
|
PrimeHack provides HLE for GameCube IPL (boot ROM), DSP, and Wii system functions
|
|
(same as Dolphin). No BIOS files are strictly required for most games.
|
|
ipl_regions: ["USA", "EUR", "JAP", "JPN", "DEV"]
|
|
dsp_rom_note: >
|
|
DSP ROMs are verified at load time via Adler32 hash.
|
|
Official Nintendo hashes: irom=0x66f334fe, drom=0xf3b93527.
|
|
bt_passthrough_note: >
|
|
Bluetooth passthrough allows connecting real Wiimotes via USB Bluetooth adapters.
|
|
Realtek chipsets require firmware files in Load/Firmware/rtl_bt/.
|
|
PrimeHack can auto-download these from kernel-firmware/linux-firmware on GitLab.
|