Skip to content

Triforce - RetroBIOS

Type standalone
Classification Enhanced forks
Source https://github.com/REG-Linux/dolphin-triforce
Upstream https://github.com/dolphin-emu/dolphin
Version 2407
Profiled 2026-08-08
Cores triforce, dolphin-triforce
Systems sega-triforce, nintendo-wii-arcade, nintendo-gamecube, nintendo-wii
Technical notes

crediar's Dolphin fork, which adds the Triforce arcade boards (AM-Baseboard on the serial interface, AM-Mediaboard on the disc interface) and the Wii Arcade boards on top of GameCube and Wii emulation. The tree self-reports Dolphin 2407 (CMake/ScmRevGen.cmake:34-35) and builds DolphinQt. crediar publishes the source on crediar.dev; the commit profiled here is the REG-Linux mirror of it, whose Data/Sys tree matches the Hancock33 and ReaverTeknoGods mirrors byte for byte. ES-DE looks for dolphin-emu-triforce on Linux and Triforce.exe or Triforce/DolphinWX.exe on Windows, RetroBat installs it as dolphin-triforce.

segaboot.gcm is the Triforce firmware. DVDInterface::Init calls AMMediaboard::Init only when EXI serial port 1 holds the AM Mediaboard, so the read happens on every Triforce launch and never otherwise (Source/Core/Core/HW/DVD/DVDInterface.cpp:289-294). Init resolves the file under Sys/Triforce, with no User fallback, and copies min(file size, 2 MiB) into the firmware buffer without checking anything (Source/Core/Core/HW/DVD/AMMediaboard.cpp:215-233). A missing file raises a modal alert and returns before the buffer is filled, leaving it at 0xFF. The guest reads that buffer whenever the firmware is mapped (Source/Core/Core/HW/DVD/AMMediaboard.cpp:1083-1090), which is how the Service and Test menus are reached. The tree ships the copy documented below, SegaBoot v3.11 with a RELSAB header, and the mediaboard answers GetSegaBootVersion for both 3.09 and 3.11 layouts (Source/Core/Core/HW/DVD/AMMediaboard.cpp:1268-1269, 1397-1398).

Triforce mode also swaps the GameCube boot ROM name: GetBootROMPath returns IPL_TRI.bin instead of IPL.bin, User first then Sys (Source/Core/Core/Config/MainSettings.cpp:614-625). Load_BS2 reads at most 2 MiB, CRC32s what it read against a table of Redump dumps and accepts 0xD1883221 as the Triforce revision (Source/Core/Core/Boot/Boot.cpp:391-436). On that match it patches OSReport and maps SegaBoot as firmware so the guest IPL can chain into it (Source/Core/Core/Boot/Boot.cpp:482-489). SkipIPL defaults to true (Source/Core/Core/Config/MainSettings.cpp:37) and EmulatedBS2 otherwise copies the disc straight into DIMM memory and clears the firmware mapping (Source/Core/Core/Boot/Boot_BS2Emu.cpp:332-347), so games run without any IPL.

Boot ROM directories follow the legacy naming: GetDirectoryForRegion defaults to RegionDirectoryStyle::Legacy (Source/Core/Core/Config/MainSettings.h:369-370) and every boot ROM caller takes the default, so NTSC-J resolves to JAP. FindIPLDump probes USA, EUR and JAP and stops there (Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:180-189).

Wii Arcade runs as IOSC console type RVA, reached three ways: the RVA expansion device in slot A (Source/Core/Core/IOS/IOSC.cpp:213-218), an RVA.txt file in the System Menu title data (Source/Core/Core/Boot/Boot_BS2Emu.cpp:387-397), or a ticket issued by Root-CA10000000-XS10000000 (Source/Core/Core/IOS/ES/Formats.cpp:490-493). That console type switches to the development common key and root key held in the binary (Source/Core/Core/IOS/IOSC.cpp:603-615).

Save data the emulator creates on first run is keyed on the disc, so none of it can be supplied: tridimm_.bin and backup_.bin (Source/Core/Core/HW/DVD/AMMediaboard.cpp:201-202), the baseboard backup tribackup_.bin (Source/Core/Core/HW/EXI/EXI_DeviceAMBaseboard.cpp:77-100), the card reader image tricard_.bin (Source/Core/Core/HW/SI/SI_DeviceAMBaseboard.cpp:1147-1310), and the three Wii Arcade SRAM images under User/Arcade, sized 0x1400, 0x1A40 and 0x8000 by game type (Source/Core/Core/HW/EXI/EXI_DeviceRVA.cpp:1249-1285).

Recognised Triforce titles are F-Zero AX, F-Zero AX Monster Ride, Mario Kart Arcade GP 1 and 2, Virtua Striker 3 and 4, Gekitou Pro Yakyuu and Key of Avalon (Source/Core/Core/HW/DVD/AMMediaboard.h:25-36).

26 files | 1 required, 25 optional | 21 in repo, 5 missing | 21 with HLE fallback

segaboot.gcm required in repo
SegaBoot, the Triforce system disc image held on the AM-Mediaboard

IPL_TRI.bin optional in repo HLE fallback north-america
Triforce boot ROM, NTSC-U directory

IPL_TRI.bin optional in repo HLE fallback europe
Triforce boot ROM, PAL directory

IPL_TRI.bin optional in repo HLE fallback japan
Triforce boot ROM, NTSC-J directory

trinetcfg.bin optional missing
Mediaboard network configuration

trinetctrl.bin optional missing
Mediaboard network control block

triextra.bin optional missing
Mediaboard extra settings block

RVA.txt optional missing
Marker that switches the emulated console to Wii Arcade mode

IPL.bin optional in repo HLE fallback north-america
GameCube NTSC-U boot ROM

IPL.bin optional in repo HLE fallback europe
GameCube PAL boot ROM

IPL.bin optional in repo HLE fallback japan
GameCube NTSC-J boot ROM

dsp_rom.bin optional in repo HLE fallback
DSP instruction ROM

dsp_coef.bin optional in repo HLE fallback
DSP coefficient ROM

font_western.bin optional in repo HLE fallback
Windows-1252 font used by GameCube and Wii text rendering

font_japanese.bin optional in repo HLE fallback
Shift-JIS font used by GameCube and Wii text rendering

gba_bios.bin optional in repo HLE fallback
GBA BIOS for the GameCube to Game Boy Advance link

SYSCONF optional in repo HLE fallback
Wii system configuration

setting.txt optional in repo HLE fallback
Wii region, area and serial settings

nand.bin optional in repo HLE fallback
BootMii NAND backup, imported through the NAND importer

keys.bin optional in repo HLE fallback
OTP and SEEPROM dump holding the console keys

clientca.pem optional in repo HLE fallback
SSL client certificate extracted from IOS13

clientcakey.pem optional in repo HLE fallback
SSL client private key extracted from IOS13

rootca.pem optional in repo HLE fallback
SSL root certificate extracted from IOS13

WiiSD.raw optional in repo HLE fallback
Virtual SD card image for the Wii SD slot

Wii System Menu optional missing HLE fallback
Wii System Menu WAD, installed into the emulated NAND

codehandler.bin optional in repo HLE fallback
Gecko code handler used to apply cheat codes

Generated on 2026-08-23T16:12:06Z