docs: read the triforce font load from code

LoadFileToIPL reads a standalone font with no size check, keeping what fits in the IPL image. The sizes stay as the IPL dump fonts' lengths and the notes say so. No HLE stands in for a missing font: the IPL read raises an alert and the game runs on, so hle_fallback goes.
This commit is contained in:
Abdessamad Derraz committed 2026-11-09 17:25:10 +01:00
1 parent d9aaa9bdba
commit 3d662cbd15
1 file changed
+19 -11
+19 -11
View File
@@ -279,21 +279,23 @@ files:
the byte-swapped data (Source/Core/Core/HW/DSPLLE/DSPLLE.cpp:100-102).
# -- GameCube fonts --
# Sys/GC/ only. Skipped when an IPL dump is available, the fonts are then read
# out of the dump at 0x1aff00 and 0x1fcf00 instead.
# Sys/GC/ only. With Load IPL dump on and a GC/<region>/IPL.bin found, the
# fonts are read out of the dump at 0x1aff00 and 0x1fcf00 instead.
- name: "font_western.bin"
path: "Sys/GC/font_western.bin"
description: "Windows-1252 font used by GameCube and Wii text rendering"
size: 9589
required: false
installed_on: [retrobat]
hle_fallback: true
source_ref: "source Source/Core/Common/CommonPaths.h:142, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:131, 203-247"
source_ref: "source Source/Core/Common/CommonPaths.h:142, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:131, 161-176, 203-247, 330-344"
note: >
Size is the official font length the code reads from an IPL dump, 0x2575
(Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:234-236). A standalone file is
read without any check. The fork's tree carries no font, RetroBat's
dolphin-triforce package installs the free replacement here.
Read without any size check into the IPL image at 0x1fcf00, keeping at
most 0x3100 bytes. The size is the IPL dump font's, 0x2575, the length
the code reads out of a dump (EXI_DeviceIPL.cpp:234-236). The fork's
tree carries no font, and RetroBat's dolphin-triforce package installs
Dolphin's free replacement here. Without a font a game that reads it
gets an alert that text may be missing or the game may crash, and runs
on.
- name: "font_japanese.bin"
path: "Sys/GC/font_japanese.bin"
@@ -301,9 +303,15 @@ files:
size: 303693
required: false
installed_on: [retrobat]
hle_fallback: true
source_ref: "source Source/Core/Common/CommonPaths.h:143, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:130, 203-247"
note: "Size is the official font length read from an IPL dump, 0x4a24d. The fork's tree carries no font, RetroBat's dolphin-triforce package installs the free replacement here."
source_ref: "source Source/Core/Common/CommonPaths.h:143, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:130, 161-176, 203-247, 330-344"
note: >
Read without any size check into the IPL image at 0x1aff00, keeping at
most 0x50100 bytes. The size is the IPL dump font's, 0x4a24d, the length
the code reads out of a dump (EXI_DeviceIPL.cpp:234-236). The fork's
tree carries no font, and RetroBat's dolphin-triforce package installs
Dolphin's free replacement here. Without a font a game that reads it
gets an alert that text may be missing or the game may crash, and runs
on.
# -- GBA BIOS --
- name: "gba_bios.bin"