diff --git a/config/overlays.mk.tmp b/config/overlays.mk.tmp deleted file mode 100644 index 9a9c16e50..000000000 --- a/config/overlays.mk.tmp +++ /dev/null @@ -1,5085 +0,0 @@ -# config/overlays.mk — GENERATED overlay-binary registry (Phase 13). -# ============================================================================= -# Holds OVERLAY_BINARIES + the per- Makefile variable blocks for every onboarded -# location overlay. `-include`d by the Makefile BEFORE its `BINARIES :=` line so the -# aliases enter the build. Regenerated idempotently by tools/new_overlay.sh (T4); the -# hand-maintained Makefile body is never edited to add an overlay. Committed (tiny -# config, not ROM-derived). Each block mirrors the resident_* block (the flat-blob -# recipe): EXE -> the extracted 0.4.dec, VRAM_BASE/TEXT_LO = the shared slot 0x80128158, -# nested asm/ + src/ + build/, per-binary undefined_*_auto + GHIDRA_PROG. -# ============================================================================= -OVERLAY_BINARIES := ov_SC01_077 ov_SC01_005 ov_SC01_006 ov_SC03_001 ov_SC01_000 ov_SC01_001 ov_SC02_000 ov_SC02_003 ov_SC03_002 ov_SC03_006 ov_SC04_000 ov_SC04_018 ov_SC04_019 ov_SC05_000 ov_SC06_000 ov_SC07_000 ov_SC01_004 ov_SC01_008 ov_SC01_009 ov_SC01_074 ov_SC01_080 ov_SC01_084 ov_SC02_004 ov_SC02_005 ov_SC02_011 ov_SC02_015 ov_SC02_016 ov_SC02_017 ov_SC02_021 ov_SC02_026 ov_SC02_027 ov_SC02_028 ov_SC02_031 ov_SC02_035 ov_SC02_039 ov_SC02_041 ov_SC03_003 ov_SC03_007 ov_SC03_010 ov_SC03_011 ov_SC03_012 ov_SC03_013 ov_SC03_014 ov_SC03_015 ov_SC03_023 ov_SC03_024 ov_SC03_028 ov_SC03_029 ov_SC03_030 ov_SC03_031 ov_SC03_089 ov_SC03_090 ov_SC03_091 ov_SC03_092 ov_SC03_093 ov_SC03_094 ov_SC03_095 ov_SC03_096 ov_SC03_097 ov_SC03_098 ov_SC03_099 ov_SC03_100 ov_SC03_101 ov_SC03_102 ov_SC03_103 ov_SC03_104 ov_SC03_105 ov_SC03_108 ov_SC03_109 ov_SC03_110 ov_SC03_111 ov_SC03_112 ov_SC03_113 ov_SC03_114 ov_SC03_115 ov_SC03_116 ov_SC03_117 ov_SC03_118 ov_SC03_119 ov_SC03_121 ov_SC03_124 ov_SC03_125 ov_SC03_126 ov_SC04_002 ov_SC04_003 ov_SC04_004 ov_SC04_005 ov_SC04_006 ov_SC04_007 ov_SC04_008 ov_SC04_009 ov_SC04_010 ov_SC04_011 ov_SC04_012 ov_SC04_015 ov_SC04_016 ov_SC04_020 ov_SC04_021 ov_SC05_001 ov_SC05_002 ov_SC05_003 ov_SC05_004 ov_SC05_005 ov_SC05_006 ov_SC05_007 ov_SC05_008 ov_SC05_009 ov_SC05_010 ov_SC05_011 ov_SC05_017 ov_SC05_018 ov_SC05_019 ov_SC06_006 ov_SC06_008 ov_SC06_010 ov_SC06_011 ov_SC06_013 ov_SC06_014 ov_SC06_015 ov_SC06_016 ov_SC06_018 ov_SC06_020 ov_SC06_022 ov_SC06_024 ov_SC06_025 ov_SC06_027 ov_SC06_029 ov_SC06_030 ov_SC06_032 ov_SC06_033 ov_SC07_001 ov_SC07_002 ov_SC07_008 ov_SC07_009 ov_SC07_006 ov_SC07_007 ov_SC07_010 ov_SC07_011 ov_MAIN_012 ov_SC02_037 ov_SC03_107 - -# --- ov_SC01_077 (location overlay SC01/FILE_077, vram 0x80128158 — Phase 13 T1) --- -# The milestone overlay (load byte-proven, Phase 3 T6b). 731,607 B (0xB29D7) -> end vram -# 0x801DAB2F. Decompressed 0.4.dec payload (LZSS repack is Gen3, not in the verify path). -ov_SC01_077_EXE := extracted/retail/SC01.CD.dir/FILE_077.dir/0.4.dec -ov_SC01_077_NAME := ov_SC01_077 -ov_SC01_077_OUT_DIR := build/ov_SC01_077 -ov_SC01_077_OUT := $(ov_SC01_077_OUT_DIR)/$(ov_SC01_077_NAME) -ov_SC01_077_ELF := $(ov_SC01_077_OUT).elf -ov_SC01_077_MAPFILE := $(ov_SC01_077_OUT).map -ov_SC01_077_LD_SCRIPT := $(ov_SC01_077_OUT).ld -ov_SC01_077_SPLAT_YAML := config/splat.ov_SC01_077.yaml -ov_SC01_077_JTBL_INTERLEAVE := --order tail.data.o,ov_SC01_077_a.o,ov_SC01_077_jr_8012ACE0.o,tail2.data.o,ov_SC01_077_jr_80135888.o,tail3.data.o,ov_SC01_077_jr_80135A4C.o,tail4.data.o,ov_SC01_077_jr_80135D20.o,tail5.data.o,ov_SC01_077_jr_801380E0.o,ov_SC01_077_o0.o,tail6.data.o,ov_SC01_077.o,tail7.data.o,ov_SC01_077_jr_8015444C.o,ov_SC01_077_jr_80154C24.o,ov_SC01_077_jr_801588CC.o,ov_SC01_077_jr_80159C84.o,tail8.data.o,ov_SC01_077_jr_8015A3C8.o,tail9.data.o,ov_SC01_077_jr_8015AE2C.o,tail10.data.o,ov_SC01_077_jr_8015C32C.o,tail11.data.o,ov_SC01_077_jr_8016AB6C.o,tail12.data.o,ov_SC01_077_jr_80171B4C.o,ov_SC01_077_jr_801734BC.o,tail13.data.o,ov_SC01_077_jr_801789AC.o,ov_SC01_077_jr_80178D40.o,tail14.data.o,ov_SC01_077_jr_8017A4AC.o,tail15.data.o,ov_SC01_077_jr_8017AE2C.o,tail16.data.o,ov_SC01_077_jr_80180B64.o,ov_SC01_077_jr_8018103C.o,ov_SC01_077_jr_80181BE4.o,tail17.data.o,ov_SC01_077_jr_801820DC.o,ov_SC01_077_jr_80182268.o,ov_SC01_077_jr_80182E7C.o,ov_SC01_077_jr_80183324.o,ov_SC01_077_jr_80183AF0.o,ov_SC01_077_jr_80183BAC.o,ov_SC01_077_jr_80183CF4.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC01_077/ov_SC01_077.o: JTBL_PADS := 0,0,4,0,4,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58,+0x70,+0x90,+0xa8 -build/src/ov_SC01_077/ov_SC01_077_a.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC01_077/ov_SC01_077_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC01_077/ov_SC01_077_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC01_077/ov_SC01_077_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC01_077/ov_SC01_077_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC01_077/ov_SC01_077_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC01_077/ov_SC01_077_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_077/ov_SC01_077_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_077/ov_SC01_077_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_077/ov_SC01_077_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC01_077/ov_SC01_077_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC01_077/ov_SC01_077_jr_80180B64.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40 -build/src/ov_SC01_077/ov_SC01_077_jr_8018103C.o: JTBL_PADS := 0,4,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18,+0x38,+0x58,+0x78 -build/src/ov_SC01_077/ov_SC01_077_jr_80182268.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40 -build/src/ov_SC01_077/ov_SC01_077_jr_80182E7C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_077/ov_SC01_077_jr_80183324.o: JTBL_PADS := 0,0,0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40,+0x60,+0x80,+0xa0 -build/src/ov_SC01_077/ov_SC01_077_jr_80183BAC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_077/ov_SC01_077_o0.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC01_077_CHECK_SHA := config/check.ov_SC01_077.sha -ov_SC01_077_SYMBOLS := config/symbols.ov_SC01_077.txt -ov_SC01_077_SIG := .run/sig.ov_SC01_077.jsonl -ov_SC01_077_GHIDRA_PROG := ov_SC01_077 -ov_SC01_077_VRAM_BASE := 0x80128158 -ov_SC01_077_TEXT_LO := 0x80128158 -ov_SC01_077_TEXT_HI := 0x801DAB2F -ov_SC01_077_ASM_DIR := asm/ov_SC01_077 -ov_SC01_077_SRC_DIR := src/ov_SC01_077 -ov_SC01_077_UNDEF_SYMS := build/ov_SC01_077/undefined_syms_auto.txt -ov_SC01_077_UNDEF_FUNCS := build/ov_SC01_077/undefined_funcs_auto.txt - -# --- ov_SC01_005 (location overlay SC01/FILE_005, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC01_005_EXE := extracted/retail/SC01.CD.dir/FILE_005.dir/0.4.dec -ov_SC01_005_NAME := ov_SC01_005 -ov_SC01_005_OUT_DIR := build/ov_SC01_005 -ov_SC01_005_OUT := $(ov_SC01_005_OUT_DIR)/$(ov_SC01_005_NAME) -ov_SC01_005_ELF := $(ov_SC01_005_OUT).elf -ov_SC01_005_MAPFILE := $(ov_SC01_005_OUT).map -ov_SC01_005_LD_SCRIPT := $(ov_SC01_005_OUT).ld -ov_SC01_005_SPLAT_YAML := config/splat.ov_SC01_005.yaml -ov_SC01_005_JTBL_INTERLEAVE := --order tail.data.o,ov_SC01_005.o,ov_SC01_005_jr_8012ACE0.o,tail2.data.o,ov_SC01_005_jr_80135888.o,tail3.data.o,ov_SC01_005_jr_80135A4C.o,tail4.data.o,ov_SC01_005_jr_80135D20.o,tail5.data.o,ov_SC01_005_jr_801380E0.o,ov_SC01_005_o0c.o,tail6.data.o,ov_SC01_005_jr_8013F350.o,tail7.data.o,ov_SC01_005_jr_8013FFD8.o,tail8.data.o,ov_SC01_005_jr_80140608.o,tail9.data.o,ov_SC01_005_jr_8015444C.o,ov_SC01_005_jr_80154C24.o,ov_SC01_005_jr_801588CC.o,ov_SC01_005_jr_80159C84.o,tail10.data.o,ov_SC01_005_jr_8015A3C8.o,tail11.data.o,ov_SC01_005_jr_8015AE2C.o,tail12.data.o,ov_SC01_005_jr_8015C32C.o,tail13.data.o,ov_SC01_005_jr_8016AB6C.o,tail14.data.o,ov_SC01_005_jr_80171B4C.o,ov_SC01_005_jr_801734BC.o,tail15.data.o,ov_SC01_005_jr_801789AC.o,ov_SC01_005_jr_80178D40.o,tail16.data.o,ov_SC01_005_jr_8017A4AC.o,tail17.data.o,ov_SC01_005_jr_8017AE2C.o,ov_SC01_005_jr_8017C340.o,tail18.data.o,ov_SC01_005_jr_8017EB44.o,ov_SC01_005_jr_8017ED5C.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC01_005/ov_SC01_005.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC01_005/ov_SC01_005_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC01_005/ov_SC01_005_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC01_005/ov_SC01_005_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_005/ov_SC01_005_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC01_005/ov_SC01_005_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC01_005/ov_SC01_005_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC01_005/ov_SC01_005_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC01_005/ov_SC01_005_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_005/ov_SC01_005_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_005/ov_SC01_005_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_005/ov_SC01_005_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC01_005/ov_SC01_005_jr_8017ED5C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28 -build/src/ov_SC01_005/ov_SC01_005_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC01_005_CHECK_SHA := config/check.ov_SC01_005.sha -ov_SC01_005_SYMBOLS := config/symbols.ov_SC01_005.txt -ov_SC01_005_SIG := .run/sig.ov_SC01_005.jsonl -ov_SC01_005_GHIDRA_PROG := ov_SC01_005 -ov_SC01_005_VRAM_BASE := 0x80128158 -ov_SC01_005_TEXT_LO := 0x80128158 -ov_SC01_005_TEXT_HI := 0x801CE061 -ov_SC01_005_ASM_DIR := asm/ov_SC01_005 -ov_SC01_005_SRC_DIR := src/ov_SC01_005 -ov_SC01_005_UNDEF_SYMS := build/ov_SC01_005/undefined_syms_auto.txt -ov_SC01_005_UNDEF_FUNCS := build/ov_SC01_005/undefined_funcs_auto.txt - -# --- ov_SC01_006 (location overlay SC01/FILE_006, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC01_006_EXE := extracted/retail/SC01.CD.dir/FILE_006.dir/0.4.dec -ov_SC01_006_NAME := ov_SC01_006 -ov_SC01_006_OUT_DIR := build/ov_SC01_006 -ov_SC01_006_OUT := $(ov_SC01_006_OUT_DIR)/$(ov_SC01_006_NAME) -ov_SC01_006_ELF := $(ov_SC01_006_OUT).elf -ov_SC01_006_MAPFILE := $(ov_SC01_006_OUT).map -ov_SC01_006_LD_SCRIPT := $(ov_SC01_006_OUT).ld -ov_SC01_006_SPLAT_YAML := config/splat.ov_SC01_006.yaml -ov_SC01_006_JTBL_INTERLEAVE := --order tail.data.o,ov_SC01_006.o,ov_SC01_006_jr_8012ACE0.o,tail2.data.o,ov_SC01_006_jr_80135888.o,tail3.data.o,ov_SC01_006_jr_80135A4C.o,tail4.data.o,ov_SC01_006_jr_80135D20.o,tail5.data.o,ov_SC01_006_jr_801380E0.o,ov_SC01_006_o0c.o,tail6.data.o,ov_SC01_006_jr_8013F350.o,tail7.data.o,ov_SC01_006_jr_8013FFD8.o,tail8.data.o,ov_SC01_006_jr_80140608.o,tail9.data.o,ov_SC01_006_jr_8015444C.o,ov_SC01_006_jr_80154C24.o,ov_SC01_006_jr_801588CC.o,ov_SC01_006_jr_80159C84.o,tail10.data.o,ov_SC01_006_jr_8015A3C8.o,tail11.data.o,ov_SC01_006_jr_8015AE2C.o,tail12.data.o,ov_SC01_006_jr_8015C32C.o,tail13.data.o,ov_SC01_006_jr_8016AB6C.o,tail14.data.o,ov_SC01_006_jr_80171B4C.o,ov_SC01_006_jr_801734BC.o,tail15.data.o,ov_SC01_006_jr_801789AC.o,ov_SC01_006_jr_80178D40.o,tail16.data.o,ov_SC01_006_jr_8017A4AC.o,tail17.data.o,ov_SC01_006_jr_8017AE2C.o,ov_SC01_006_jr_8017C340.o,tail18.data.o,ov_SC01_006_jr_8017EB44.o,ov_SC01_006_jr_8017ED5C.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC01_006/ov_SC01_006.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC01_006/ov_SC01_006_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC01_006/ov_SC01_006_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC01_006/ov_SC01_006_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_006/ov_SC01_006_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC01_006/ov_SC01_006_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC01_006/ov_SC01_006_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC01_006/ov_SC01_006_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC01_006/ov_SC01_006_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_006/ov_SC01_006_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_006/ov_SC01_006_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_006/ov_SC01_006_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC01_006/ov_SC01_006_jr_8017ED5C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28 -build/src/ov_SC01_006/ov_SC01_006_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC01_006_CHECK_SHA := config/check.ov_SC01_006.sha -ov_SC01_006_SYMBOLS := config/symbols.ov_SC01_006.txt -ov_SC01_006_SIG := .run/sig.ov_SC01_006.jsonl -ov_SC01_006_GHIDRA_PROG := ov_SC01_006 -ov_SC01_006_VRAM_BASE := 0x80128158 -ov_SC01_006_TEXT_LO := 0x80128158 -ov_SC01_006_TEXT_HI := 0x801CE061 -ov_SC01_006_ASM_DIR := asm/ov_SC01_006 -ov_SC01_006_SRC_DIR := src/ov_SC01_006 -ov_SC01_006_UNDEF_SYMS := build/ov_SC01_006/undefined_syms_auto.txt -ov_SC01_006_UNDEF_FUNCS := build/ov_SC01_006/undefined_funcs_auto.txt - -# --- ov_SC03_001 (location overlay SC03/FILE_001, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_001_EXE := extracted/retail/SC03.CD.dir/FILE_001.dir/0.4.dec -ov_SC03_001_NAME := ov_SC03_001 -ov_SC03_001_OUT_DIR := build/ov_SC03_001 -ov_SC03_001_OUT := $(ov_SC03_001_OUT_DIR)/$(ov_SC03_001_NAME) -ov_SC03_001_ELF := $(ov_SC03_001_OUT).elf -ov_SC03_001_MAPFILE := $(ov_SC03_001_OUT).map -ov_SC03_001_LD_SCRIPT := $(ov_SC03_001_OUT).ld -ov_SC03_001_SPLAT_YAML := config/splat.ov_SC03_001.yaml -ov_SC03_001_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_001.o,ov_SC03_001_jr_8012ACE0.o,tail2.data.o,ov_SC03_001_jr_80135888.o,tail3.data.o,ov_SC03_001_jr_80135A4C.o,tail4.data.o,ov_SC03_001_jr_80135D20.o,tail5.data.o,ov_SC03_001_jr_801380E0.o,ov_SC03_001_o0c.o,tail6.data.o,ov_SC03_001_jr_8013F350.o,tail7.data.o,ov_SC03_001_jr_8013FFD8.o,tail8.data.o,ov_SC03_001_jr_80140608.o,tail9.data.o,ov_SC03_001_jr_8015444C.o,ov_SC03_001_jr_80154C24.o,ov_SC03_001_jr_801588CC.o,ov_SC03_001_jr_80159C84.o,tail10.data.o,ov_SC03_001_jr_8015A3C8.o,tail11.data.o,ov_SC03_001_jr_8015AE2C.o,tail12.data.o,ov_SC03_001_jr_8015C32C.o,tail13.data.o,ov_SC03_001_jr_8016AB6C.o,tail14.data.o,ov_SC03_001_jr_80171B4C.o,ov_SC03_001_jr_801734BC.o,tail15.data.o,ov_SC03_001_jr_801789AC.o,ov_SC03_001_jr_80178D40.o,tail16.data.o,ov_SC03_001_jr_8017A4AC.o,tail17.data.o,ov_SC03_001_jr_8017AE2C.o,tail18.data.o,ov_SC03_001_jr_80184DDC.o,tail19.data.o,ov_SC03_001_jr_80184F64.o,tail20.data.o,ov_SC03_001_jr_8018631C.o,ov_SC03_001_jr_801870B0.o,ov_SC03_001_jr_80188830.o,tail21.data.o,ov_SC03_001_jr_80189030.o,tail22.data.o,ov_SC03_001_jr_8018A3A8.o,ov_SC03_001_jr_8018B8DC.o,tail23.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_001/ov_SC03_001.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_001/ov_SC03_001_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_001/ov_SC03_001_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_001/ov_SC03_001_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_001/ov_SC03_001_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_001/ov_SC03_001_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_001/ov_SC03_001_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_001/ov_SC03_001_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_001/ov_SC03_001_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_001/ov_SC03_001_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_001/ov_SC03_001_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_001/ov_SC03_001_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_001/ov_SC03_001_jr_8017AE2C.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x34 -build/src/ov_SC03_001/ov_SC03_001_jr_80184F64.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_001/ov_SC03_001_jr_8018A3A8.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38 -build/src/ov_SC03_001/ov_SC03_001_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_001_CHECK_SHA := config/check.ov_SC03_001.sha -ov_SC03_001_SYMBOLS := config/symbols.ov_SC03_001.txt -ov_SC03_001_SIG := .run/sig.ov_SC03_001.jsonl -ov_SC03_001_GHIDRA_PROG := ov_SC03_001 -ov_SC03_001_VRAM_BASE := 0x80128158 -ov_SC03_001_TEXT_LO := 0x80128158 -ov_SC03_001_TEXT_HI := 0x801EF467 -ov_SC03_001_ASM_DIR := asm/ov_SC03_001 -ov_SC03_001_SRC_DIR := src/ov_SC03_001 -ov_SC03_001_UNDEF_SYMS := build/ov_SC03_001/undefined_syms_auto.txt -ov_SC03_001_UNDEF_FUNCS := build/ov_SC03_001/undefined_funcs_auto.txt - -# --- ov_SC01_000 (location overlay SC01/FILE_000, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC01_000_EXE := extracted/retail/SC01.CD.dir/FILE_000.dir/0.4.dec -ov_SC01_000_NAME := ov_SC01_000 -ov_SC01_000_OUT_DIR := build/ov_SC01_000 -ov_SC01_000_OUT := $(ov_SC01_000_OUT_DIR)/$(ov_SC01_000_NAME) -ov_SC01_000_ELF := $(ov_SC01_000_OUT).elf -ov_SC01_000_MAPFILE := $(ov_SC01_000_OUT).map -ov_SC01_000_LD_SCRIPT := $(ov_SC01_000_OUT).ld -ov_SC01_000_SPLAT_YAML := config/splat.ov_SC01_000.yaml -ov_SC01_000_JTBL_INTERLEAVE := --order tail.data.o,ov_SC01_000.o,ov_SC01_000_jr_8012ACE0.o,tail2.data.o,ov_SC01_000_jr_80135888.o,tail3.data.o,ov_SC01_000_jr_80135A4C.o,tail4.data.o,ov_SC01_000_jr_80135D20.o,tail5.data.o,ov_SC01_000_jr_801380E0.o,ov_SC01_000_o0c.o,tail6.data.o,ov_SC01_000_jr_8013F350.o,tail7.data.o,ov_SC01_000_jr_8013FFD8.o,tail8.data.o,ov_SC01_000_jr_80140608.o,tail9.data.o,ov_SC01_000_jr_8015444C.o,ov_SC01_000_jr_80154C24.o,ov_SC01_000_jr_801588CC.o,ov_SC01_000_jr_80159C84.o,tail10.data.o,ov_SC01_000_jr_8015A3C8.o,tail11.data.o,ov_SC01_000_jr_8015AE2C.o,tail12.data.o,ov_SC01_000_jr_8015C32C.o,tail13.data.o,ov_SC01_000_jr_8016AB6C.o,tail14.data.o,ov_SC01_000_jr_80171B4C.o,ov_SC01_000_jr_801734BC.o,tail15.data.o,ov_SC01_000_jr_801789AC.o,ov_SC01_000_jr_80178D40.o,tail16.data.o,ov_SC01_000_jr_8017A4AC.o,tail17.data.o,ov_SC01_000_jr_8017AE2C.o,ov_SC01_000_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC01_000/ov_SC01_000.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC01_000/ov_SC01_000_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC01_000/ov_SC01_000_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC01_000/ov_SC01_000_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_000/ov_SC01_000_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC01_000/ov_SC01_000_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC01_000/ov_SC01_000_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC01_000/ov_SC01_000_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC01_000/ov_SC01_000_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_000/ov_SC01_000_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_000/ov_SC01_000_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_000/ov_SC01_000_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC01_000/ov_SC01_000_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC01_000_CHECK_SHA := config/check.ov_SC01_000.sha -ov_SC01_000_SYMBOLS := config/symbols.ov_SC01_000.txt -ov_SC01_000_SIG := .run/sig.ov_SC01_000.jsonl -ov_SC01_000_GHIDRA_PROG := ov_SC01_000 -ov_SC01_000_VRAM_BASE := 0x80128158 -ov_SC01_000_TEXT_LO := 0x80128158 -ov_SC01_000_TEXT_HI := 0x801A58E7 -ov_SC01_000_ASM_DIR := asm/ov_SC01_000 -ov_SC01_000_SRC_DIR := src/ov_SC01_000 -ov_SC01_000_UNDEF_SYMS := build/ov_SC01_000/undefined_syms_auto.txt -ov_SC01_000_UNDEF_FUNCS := build/ov_SC01_000/undefined_funcs_auto.txt - -# --- ov_SC01_001 (location overlay SC01/FILE_001, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC01_001_EXE := extracted/retail/SC01.CD.dir/FILE_001.dir/0.4.dec -ov_SC01_001_NAME := ov_SC01_001 -ov_SC01_001_OUT_DIR := build/ov_SC01_001 -ov_SC01_001_OUT := $(ov_SC01_001_OUT_DIR)/$(ov_SC01_001_NAME) -ov_SC01_001_ELF := $(ov_SC01_001_OUT).elf -ov_SC01_001_MAPFILE := $(ov_SC01_001_OUT).map -ov_SC01_001_LD_SCRIPT := $(ov_SC01_001_OUT).ld -ov_SC01_001_SPLAT_YAML := config/splat.ov_SC01_001.yaml -ov_SC01_001_JTBL_INTERLEAVE := --order tail.data.o,ov_SC01_001.o,ov_SC01_001_jr_8012ACE0.o,tail2.data.o,ov_SC01_001_jr_80135888.o,tail3.data.o,ov_SC01_001_jr_80135A4C.o,tail4.data.o,ov_SC01_001_jr_80135D20.o,tail5.data.o,ov_SC01_001_jr_801380E0.o,ov_SC01_001_o0c.o,tail6.data.o,ov_SC01_001_jr_8013F350.o,tail7.data.o,ov_SC01_001_jr_8013FFD8.o,tail8.data.o,ov_SC01_001_jr_80140608.o,tail9.data.o,ov_SC01_001_jr_8015444C.o,ov_SC01_001_jr_80154C24.o,ov_SC01_001_jr_801588CC.o,ov_SC01_001_jr_80159C84.o,tail10.data.o,ov_SC01_001_jr_8015A3C8.o,tail11.data.o,ov_SC01_001_jr_8015AE2C.o,tail12.data.o,ov_SC01_001_jr_8015C32C.o,tail13.data.o,ov_SC01_001_jr_8016AB6C.o,tail14.data.o,ov_SC01_001_jr_80171B4C.o,ov_SC01_001_jr_801734BC.o,tail15.data.o,ov_SC01_001_jr_801789AC.o,ov_SC01_001_jr_80178D40.o,tail16.data.o,ov_SC01_001_jr_8017A4AC.o,tail17.data.o,ov_SC01_001_jr_8017AE2C.o,ov_SC01_001_jr_8017BEBC.o,ov_SC01_001_jr_8017D2DC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC01_001/ov_SC01_001.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC01_001/ov_SC01_001_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC01_001/ov_SC01_001_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC01_001/ov_SC01_001_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_001/ov_SC01_001_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC01_001/ov_SC01_001_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC01_001/ov_SC01_001_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC01_001/ov_SC01_001_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC01_001/ov_SC01_001_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_001/ov_SC01_001_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_001/ov_SC01_001_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_001/ov_SC01_001_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC01_001/ov_SC01_001_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC01_001_CHECK_SHA := config/check.ov_SC01_001.sha -ov_SC01_001_SYMBOLS := config/symbols.ov_SC01_001.txt -ov_SC01_001_SIG := .run/sig.ov_SC01_001.jsonl -ov_SC01_001_GHIDRA_PROG := ov_SC01_001 -ov_SC01_001_VRAM_BASE := 0x80128158 -ov_SC01_001_TEXT_LO := 0x80128158 -ov_SC01_001_TEXT_HI := 0x801F31C7 -ov_SC01_001_ASM_DIR := asm/ov_SC01_001 -ov_SC01_001_SRC_DIR := src/ov_SC01_001 -ov_SC01_001_UNDEF_SYMS := build/ov_SC01_001/undefined_syms_auto.txt -ov_SC01_001_UNDEF_FUNCS := build/ov_SC01_001/undefined_funcs_auto.txt - -# --- ov_SC02_000 (location overlay SC02/FILE_000, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_000_EXE := extracted/retail/SC02.CD.dir/FILE_000.dir/0.4.dec -ov_SC02_000_NAME := ov_SC02_000 -ov_SC02_000_OUT_DIR := build/ov_SC02_000 -ov_SC02_000_OUT := $(ov_SC02_000_OUT_DIR)/$(ov_SC02_000_NAME) -ov_SC02_000_ELF := $(ov_SC02_000_OUT).elf -ov_SC02_000_MAPFILE := $(ov_SC02_000_OUT).map -ov_SC02_000_LD_SCRIPT := $(ov_SC02_000_OUT).ld -ov_SC02_000_SPLAT_YAML := config/splat.ov_SC02_000.yaml -ov_SC02_000_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_000.o,ov_SC02_000_jr_8012ACE0.o,tail2.data.o,ov_SC02_000_jr_80135888.o,tail3.data.o,ov_SC02_000_jr_80135A4C.o,tail4.data.o,ov_SC02_000_jr_80135D20.o,tail5.data.o,ov_SC02_000_jr_801380E0.o,ov_SC02_000_o0c.o,tail6.data.o,ov_SC02_000_jr_8013F350.o,tail7.data.o,ov_SC02_000_jr_8013FFD8.o,tail8.data.o,ov_SC02_000_jr_80140608.o,tail9.data.o,ov_SC02_000_jr_8015444C.o,ov_SC02_000_jr_80154C24.o,ov_SC02_000_jr_801588CC.o,ov_SC02_000_jr_80159C84.o,tail10.data.o,ov_SC02_000_jr_8015A3C8.o,tail11.data.o,ov_SC02_000_jr_8015AE2C.o,tail12.data.o,ov_SC02_000_jr_8015C32C.o,tail13.data.o,ov_SC02_000_jr_8016AB6C.o,tail14.data.o,ov_SC02_000_jr_80171B4C.o,ov_SC02_000_jr_801734BC.o,tail15.data.o,ov_SC02_000_jr_801789AC.o,ov_SC02_000_jr_80178D40.o,tail16.data.o,ov_SC02_000_jr_8017A4AC.o,tail17.data.o,ov_SC02_000_jr_8017AE2C.o,ov_SC02_000_jr_8017EA84.o,tail18.data.o,ov_SC02_000_jr_8017FB24.o,ov_SC02_000_jr_8017FCB0.o,ov_SC02_000_jr_801808C4.o,ov_SC02_000_jr_80180D6C.o,ov_SC02_000_jr_80181538.o,ov_SC02_000_jr_80181698.o,ov_SC02_000_jr_8018173C.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_000/ov_SC02_000.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_000/ov_SC02_000_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_000/ov_SC02_000_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_000/ov_SC02_000_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_000/ov_SC02_000_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_000/ov_SC02_000_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_000/ov_SC02_000_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_000/ov_SC02_000_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_000/ov_SC02_000_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_000/ov_SC02_000_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_000/ov_SC02_000_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_000/ov_SC02_000_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_000/ov_SC02_000_jr_8017AE2C.o: JTBL_PADS := 0,0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x34,+0x54,+0x74 -build/src/ov_SC02_000/ov_SC02_000_jr_8017EA84.o: JTBL_PADS := 0,4,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18,+0x38,+0x58,+0x78 -build/src/ov_SC02_000/ov_SC02_000_jr_8017FCB0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40 -build/src/ov_SC02_000/ov_SC02_000_jr_801808C4.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_000/ov_SC02_000_jr_80180D6C.o: JTBL_PADS := 0,0,0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40,+0x60,+0x80,+0xa0 -build/src/ov_SC02_000/ov_SC02_000_jr_80181538.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_000/ov_SC02_000_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_000_CHECK_SHA := config/check.ov_SC02_000.sha -ov_SC02_000_SYMBOLS := config/symbols.ov_SC02_000.txt -ov_SC02_000_SIG := .run/sig.ov_SC02_000.jsonl -ov_SC02_000_GHIDRA_PROG := ov_SC02_000 -ov_SC02_000_VRAM_BASE := 0x80128158 -ov_SC02_000_TEXT_LO := 0x80128158 -ov_SC02_000_TEXT_HI := 0x801E8867 -ov_SC02_000_ASM_DIR := asm/ov_SC02_000 -ov_SC02_000_SRC_DIR := src/ov_SC02_000 -ov_SC02_000_UNDEF_SYMS := build/ov_SC02_000/undefined_syms_auto.txt -ov_SC02_000_UNDEF_FUNCS := build/ov_SC02_000/undefined_funcs_auto.txt - -# --- ov_SC02_003 (location overlay SC02/FILE_003, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_003_EXE := extracted/retail/SC02.CD.dir/FILE_003.dir/0.4.dec -ov_SC02_003_NAME := ov_SC02_003 -ov_SC02_003_OUT_DIR := build/ov_SC02_003 -ov_SC02_003_OUT := $(ov_SC02_003_OUT_DIR)/$(ov_SC02_003_NAME) -ov_SC02_003_ELF := $(ov_SC02_003_OUT).elf -ov_SC02_003_MAPFILE := $(ov_SC02_003_OUT).map -ov_SC02_003_LD_SCRIPT := $(ov_SC02_003_OUT).ld -ov_SC02_003_SPLAT_YAML := config/splat.ov_SC02_003.yaml -ov_SC02_003_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_003.o,ov_SC02_003_jr_8012ACE0.o,tail2.data.o,ov_SC02_003_jr_80135888.o,tail3.data.o,ov_SC02_003_jr_80135A4C.o,tail4.data.o,ov_SC02_003_jr_80135D20.o,tail5.data.o,ov_SC02_003_jr_801380E0.o,ov_SC02_003_o0c.o,tail6.data.o,ov_SC02_003_jr_8013F350.o,tail7.data.o,ov_SC02_003_jr_8013FFD8.o,tail8.data.o,ov_SC02_003_jr_80140608.o,tail9.data.o,ov_SC02_003_jr_8015444C.o,ov_SC02_003_jr_80154C24.o,ov_SC02_003_jr_801588CC.o,ov_SC02_003_jr_80159C84.o,tail10.data.o,ov_SC02_003_jr_8015A3C8.o,tail11.data.o,ov_SC02_003_jr_8015AE2C.o,tail12.data.o,ov_SC02_003_jr_8015C32C.o,tail13.data.o,ov_SC02_003_jr_8016AB6C.o,tail14.data.o,ov_SC02_003_jr_80171B4C.o,ov_SC02_003_jr_801734BC.o,tail15.data.o,ov_SC02_003_jr_801789AC.o,ov_SC02_003_jr_80178D40.o,tail16.data.o,ov_SC02_003_jr_8017A4AC.o,tail17.data.o,ov_SC02_003_jr_8017AE2C.o,ov_SC02_003_jr_8017EA84.o,tail18.data.o,ov_SC02_003_jr_8017FB24.o,ov_SC02_003_jr_8017FCB0.o,tail19.data.o,ov_SC02_003_jr_801808C4.o,ov_SC02_003_jr_80180D6C.o,ov_SC02_003_jr_80181538.o,ov_SC02_003_jr_80181698.o,ov_SC02_003_jr_8018173C.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_003/ov_SC02_003.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_003/ov_SC02_003_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_003/ov_SC02_003_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_003/ov_SC02_003_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_003/ov_SC02_003_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_003/ov_SC02_003_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_003/ov_SC02_003_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_003/ov_SC02_003_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_003/ov_SC02_003_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_003/ov_SC02_003_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_003/ov_SC02_003_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_003/ov_SC02_003_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_003/ov_SC02_003_jr_8017AE2C.o: JTBL_PADS := 0,0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x34,+0x54,+0x74 -build/src/ov_SC02_003/ov_SC02_003_jr_8017EA84.o: JTBL_PADS := 0,4,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18,+0x38,+0x58,+0x78 -build/src/ov_SC02_003/ov_SC02_003_jr_8017FCB0.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_003/ov_SC02_003_jr_801808C4.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_003/ov_SC02_003_jr_80180D6C.o: JTBL_PADS := 0,0,0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40,+0x60,+0x80,+0xa0 -build/src/ov_SC02_003/ov_SC02_003_jr_80181538.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_003/ov_SC02_003_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_003_CHECK_SHA := config/check.ov_SC02_003.sha -ov_SC02_003_SYMBOLS := config/symbols.ov_SC02_003.txt -ov_SC02_003_SIG := .run/sig.ov_SC02_003.jsonl -ov_SC02_003_GHIDRA_PROG := ov_SC02_003 -ov_SC02_003_VRAM_BASE := 0x80128158 -ov_SC02_003_TEXT_LO := 0x80128158 -ov_SC02_003_TEXT_HI := 0x801E8867 -ov_SC02_003_ASM_DIR := asm/ov_SC02_003 -ov_SC02_003_SRC_DIR := src/ov_SC02_003 -ov_SC02_003_UNDEF_SYMS := build/ov_SC02_003/undefined_syms_auto.txt -ov_SC02_003_UNDEF_FUNCS := build/ov_SC02_003/undefined_funcs_auto.txt - -# --- ov_SC03_002 (location overlay SC03/FILE_002, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_002_EXE := extracted/retail/SC03.CD.dir/FILE_002.dir/0.4.dec -ov_SC03_002_NAME := ov_SC03_002 -ov_SC03_002_OUT_DIR := build/ov_SC03_002 -ov_SC03_002_OUT := $(ov_SC03_002_OUT_DIR)/$(ov_SC03_002_NAME) -ov_SC03_002_ELF := $(ov_SC03_002_OUT).elf -ov_SC03_002_MAPFILE := $(ov_SC03_002_OUT).map -ov_SC03_002_LD_SCRIPT := $(ov_SC03_002_OUT).ld -ov_SC03_002_SPLAT_YAML := config/splat.ov_SC03_002.yaml -ov_SC03_002_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_002.o,ov_SC03_002_jr_8012ACE0.o,tail2.data.o,ov_SC03_002_jr_80135888.o,tail3.data.o,ov_SC03_002_jr_80135A4C.o,tail4.data.o,ov_SC03_002_jr_80135D20.o,tail5.data.o,ov_SC03_002_jr_801380E0.o,ov_SC03_002_o0c.o,tail6.data.o,ov_SC03_002_jr_8013F350.o,tail7.data.o,ov_SC03_002_jr_8013FFD8.o,tail8.data.o,ov_SC03_002_jr_80140608.o,tail9.data.o,ov_SC03_002_jr_8015444C.o,ov_SC03_002_jr_80154C24.o,ov_SC03_002_jr_801588CC.o,ov_SC03_002_jr_80159C84.o,tail10.data.o,ov_SC03_002_jr_8015A3C8.o,tail11.data.o,ov_SC03_002_jr_8015AE2C.o,tail12.data.o,ov_SC03_002_jr_8015C32C.o,tail13.data.o,ov_SC03_002_jr_8016AB6C.o,tail14.data.o,ov_SC03_002_jr_80171B4C.o,ov_SC03_002_jr_801734BC.o,tail15.data.o,ov_SC03_002_jr_801789AC.o,ov_SC03_002_jr_80178D40.o,tail16.data.o,ov_SC03_002_jr_8017A4AC.o,tail17.data.o,ov_SC03_002_jr_8017AE2C.o,ov_SC03_002_jr_8017D604.o,tail18.data.o,ov_SC03_002_jr_80181D78.o,ov_SC03_002_jr_8018431C.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_002/ov_SC03_002.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_002/ov_SC03_002_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_002/ov_SC03_002_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_002/ov_SC03_002_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_002/ov_SC03_002_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_002/ov_SC03_002_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_002/ov_SC03_002_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_002/ov_SC03_002_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_002/ov_SC03_002_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_002/ov_SC03_002_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_002/ov_SC03_002_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_002/ov_SC03_002_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_002/ov_SC03_002_jr_8018431C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x1c -build/src/ov_SC03_002/ov_SC03_002_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_002_CHECK_SHA := config/check.ov_SC03_002.sha -ov_SC03_002_SYMBOLS := config/symbols.ov_SC03_002.txt -ov_SC03_002_SIG := .run/sig.ov_SC03_002.jsonl -ov_SC03_002_GHIDRA_PROG := ov_SC03_002 -ov_SC03_002_VRAM_BASE := 0x80128158 -ov_SC03_002_TEXT_LO := 0x80128158 -ov_SC03_002_TEXT_HI := 0x801CBB4F -ov_SC03_002_ASM_DIR := asm/ov_SC03_002 -ov_SC03_002_SRC_DIR := src/ov_SC03_002 -ov_SC03_002_UNDEF_SYMS := build/ov_SC03_002/undefined_syms_auto.txt -ov_SC03_002_UNDEF_FUNCS := build/ov_SC03_002/undefined_funcs_auto.txt - -# --- ov_SC03_006 (location overlay SC03/FILE_006, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_006_EXE := extracted/retail/SC03.CD.dir/FILE_006.dir/0.4.dec -ov_SC03_006_NAME := ov_SC03_006 -ov_SC03_006_OUT_DIR := build/ov_SC03_006 -ov_SC03_006_OUT := $(ov_SC03_006_OUT_DIR)/$(ov_SC03_006_NAME) -ov_SC03_006_ELF := $(ov_SC03_006_OUT).elf -ov_SC03_006_MAPFILE := $(ov_SC03_006_OUT).map -ov_SC03_006_LD_SCRIPT := $(ov_SC03_006_OUT).ld -ov_SC03_006_SPLAT_YAML := config/splat.ov_SC03_006.yaml -ov_SC03_006_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_006.o,ov_SC03_006_jr_8012ACE0.o,tail2.data.o,ov_SC03_006_jr_80135888.o,tail3.data.o,ov_SC03_006_jr_80135A4C.o,tail4.data.o,ov_SC03_006_jr_80135D20.o,tail5.data.o,ov_SC03_006_jr_801380E0.o,ov_SC03_006_o0c.o,tail6.data.o,ov_SC03_006_jr_8013F350.o,tail7.data.o,ov_SC03_006_jr_8013FFD8.o,tail8.data.o,ov_SC03_006_jr_80140608.o,tail9.data.o,ov_SC03_006_jr_8015444C.o,ov_SC03_006_jr_80154C24.o,ov_SC03_006_jr_801588CC.o,ov_SC03_006_jr_80159C84.o,tail10.data.o,ov_SC03_006_jr_8015A3C8.o,tail11.data.o,ov_SC03_006_jr_8015AE2C.o,tail12.data.o,ov_SC03_006_jr_8015C32C.o,tail13.data.o,ov_SC03_006_jr_8016AB6C.o,tail14.data.o,ov_SC03_006_jr_80171B4C.o,ov_SC03_006_jr_801734BC.o,tail15.data.o,ov_SC03_006_jr_801789AC.o,ov_SC03_006_jr_80178D40.o,tail16.data.o,ov_SC03_006_jr_8017A4AC.o,tail17.data.o,ov_SC03_006_jr_8017AE2C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_006/ov_SC03_006.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_006/ov_SC03_006_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_006/ov_SC03_006_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_006/ov_SC03_006_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_006/ov_SC03_006_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_006/ov_SC03_006_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_006/ov_SC03_006_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_006/ov_SC03_006_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_006/ov_SC03_006_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_006/ov_SC03_006_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_006/ov_SC03_006_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_006/ov_SC03_006_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.o: JTBL_PADS := 0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x34,+0x48 -build/src/ov_SC03_006/ov_SC03_006_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_006_CHECK_SHA := config/check.ov_SC03_006.sha -ov_SC03_006_SYMBOLS := config/symbols.ov_SC03_006.txt -ov_SC03_006_SIG := .run/sig.ov_SC03_006.jsonl -ov_SC03_006_GHIDRA_PROG := ov_SC03_006 -ov_SC03_006_VRAM_BASE := 0x80128158 -ov_SC03_006_TEXT_LO := 0x80128158 -ov_SC03_006_TEXT_HI := 0x801F78B7 -ov_SC03_006_ASM_DIR := asm/ov_SC03_006 -ov_SC03_006_SRC_DIR := src/ov_SC03_006 -ov_SC03_006_UNDEF_SYMS := build/ov_SC03_006/undefined_syms_auto.txt -ov_SC03_006_UNDEF_FUNCS := build/ov_SC03_006/undefined_funcs_auto.txt - -# --- ov_SC04_000 (location overlay SC04/FILE_000, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_000_EXE := extracted/retail/SC04.CD.dir/FILE_000.dir/0.4.dec -ov_SC04_000_NAME := ov_SC04_000 -ov_SC04_000_OUT_DIR := build/ov_SC04_000 -ov_SC04_000_OUT := $(ov_SC04_000_OUT_DIR)/$(ov_SC04_000_NAME) -ov_SC04_000_ELF := $(ov_SC04_000_OUT).elf -ov_SC04_000_MAPFILE := $(ov_SC04_000_OUT).map -ov_SC04_000_LD_SCRIPT := $(ov_SC04_000_OUT).ld -ov_SC04_000_SPLAT_YAML := config/splat.ov_SC04_000.yaml -ov_SC04_000_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_000.o,ov_SC04_000_jr_8012ACE0.o,tail2.data.o,ov_SC04_000_jr_80135888.o,tail3.data.o,ov_SC04_000_jr_80135A4C.o,tail4.data.o,ov_SC04_000_jr_80135D20.o,tail5.data.o,ov_SC04_000_jr_801380E0.o,ov_SC04_000_o0c.o,tail6.data.o,ov_SC04_000_jr_8013F350.o,tail7.data.o,ov_SC04_000_jr_8013FFD8.o,tail8.data.o,ov_SC04_000_jr_80140608.o,tail9.data.o,ov_SC04_000_jr_8015444C.o,ov_SC04_000_jr_80154C24.o,ov_SC04_000_jr_801588CC.o,ov_SC04_000_jr_80159C84.o,tail10.data.o,ov_SC04_000_jr_8015A3C8.o,tail11.data.o,ov_SC04_000_jr_8015AE2C.o,tail12.data.o,ov_SC04_000_jr_8015C32C.o,tail13.data.o,ov_SC04_000_jr_8016AB6C.o,tail14.data.o,ov_SC04_000_jr_80171B4C.o,ov_SC04_000_jr_801734BC.o,tail15.data.o,ov_SC04_000_jr_801789AC.o,ov_SC04_000_jr_80178D40.o,tail16.data.o,ov_SC04_000_jr_8017A4AC.o,tail17.data.o,ov_SC04_000_jr_8017AE2C.o,ov_SC04_000_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_000/ov_SC04_000.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_000/ov_SC04_000_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_000/ov_SC04_000_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_000/ov_SC04_000_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_000/ov_SC04_000_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_000/ov_SC04_000_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_000/ov_SC04_000_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_000/ov_SC04_000_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_000/ov_SC04_000_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_000/ov_SC04_000_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_000/ov_SC04_000_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_000/ov_SC04_000_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_000/ov_SC04_000_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_000_CHECK_SHA := config/check.ov_SC04_000.sha -ov_SC04_000_SYMBOLS := config/symbols.ov_SC04_000.txt -ov_SC04_000_SIG := .run/sig.ov_SC04_000.jsonl -ov_SC04_000_GHIDRA_PROG := ov_SC04_000 -ov_SC04_000_VRAM_BASE := 0x80128158 -ov_SC04_000_TEXT_LO := 0x80128158 -ov_SC04_000_TEXT_HI := 0x801AB057 -ov_SC04_000_ASM_DIR := asm/ov_SC04_000 -ov_SC04_000_SRC_DIR := src/ov_SC04_000 -ov_SC04_000_UNDEF_SYMS := build/ov_SC04_000/undefined_syms_auto.txt -ov_SC04_000_UNDEF_FUNCS := build/ov_SC04_000/undefined_funcs_auto.txt - -# --- ov_SC04_018 (location overlay SC04/FILE_018, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_018_EXE := extracted/retail/SC04.CD.dir/FILE_018.dir/0.4.dec -ov_SC04_018_NAME := ov_SC04_018 -ov_SC04_018_OUT_DIR := build/ov_SC04_018 -ov_SC04_018_OUT := $(ov_SC04_018_OUT_DIR)/$(ov_SC04_018_NAME) -ov_SC04_018_ELF := $(ov_SC04_018_OUT).elf -ov_SC04_018_MAPFILE := $(ov_SC04_018_OUT).map -ov_SC04_018_LD_SCRIPT := $(ov_SC04_018_OUT).ld -ov_SC04_018_SPLAT_YAML := config/splat.ov_SC04_018.yaml -ov_SC04_018_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_018.o,ov_SC04_018_jr_8012ACE0.o,tail2.data.o,ov_SC04_018_jr_80135888.o,tail3.data.o,ov_SC04_018_jr_80135A4C.o,tail4.data.o,ov_SC04_018_jr_80135D20.o,tail5.data.o,ov_SC04_018_jr_801380E0.o,ov_SC04_018_o0c.o,tail6.data.o,ov_SC04_018_jr_8013F350.o,tail7.data.o,ov_SC04_018_jr_8013FFD8.o,tail8.data.o,ov_SC04_018_jr_80140608.o,tail9.data.o,ov_SC04_018_jr_8015444C.o,ov_SC04_018_jr_80154C24.o,ov_SC04_018_jr_801588CC.o,ov_SC04_018_jr_80159C84.o,tail10.data.o,ov_SC04_018_jr_8015A3C8.o,tail11.data.o,ov_SC04_018_jr_8015AE2C.o,tail12.data.o,ov_SC04_018_jr_8015C32C.o,tail13.data.o,ov_SC04_018_jr_8016AB6C.o,tail14.data.o,ov_SC04_018_jr_80171B4C.o,ov_SC04_018_jr_801734BC.o,tail15.data.o,ov_SC04_018_jr_801789AC.o,ov_SC04_018_jr_80178D40.o,tail16.data.o,ov_SC04_018_jr_8017A4AC.o,tail17.data.o,ov_SC04_018_jr_8017AE2C.o,tail18.data.o,ov_SC04_018_jr_80183E6C.o,ov_SC04_018_jr_80185D70.o,tail19.data.o,ov_SC04_018_jr_80186570.o,tail20.data.o,ov_SC04_018_jr_801878E8.o,ov_SC04_018_jr_80188E1C.o,ov_SC04_018_jr_8018CC40.o,tail21.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_018/ov_SC04_018.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_018/ov_SC04_018_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_018/ov_SC04_018_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_018/ov_SC04_018_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_018/ov_SC04_018_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_018/ov_SC04_018_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_018/ov_SC04_018_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_018/ov_SC04_018_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_018/ov_SC04_018_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_018/ov_SC04_018_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_018/ov_SC04_018_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_018/ov_SC04_018_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.o: JTBL_PADS := 0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x34,+0x48 -build/src/ov_SC04_018/ov_SC04_018_jr_80183E6C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_018/ov_SC04_018_jr_801878E8.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38 -build/src/ov_SC04_018/ov_SC04_018_jr_80188E1C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_018/ov_SC04_018_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_018_CHECK_SHA := config/check.ov_SC04_018.sha -ov_SC04_018_SYMBOLS := config/symbols.ov_SC04_018.txt -ov_SC04_018_SIG := .run/sig.ov_SC04_018.jsonl -ov_SC04_018_GHIDRA_PROG := ov_SC04_018 -ov_SC04_018_VRAM_BASE := 0x80128158 -ov_SC04_018_TEXT_LO := 0x80128158 -ov_SC04_018_TEXT_HI := 0x801E7B27 -ov_SC04_018_ASM_DIR := asm/ov_SC04_018 -ov_SC04_018_SRC_DIR := src/ov_SC04_018 -ov_SC04_018_UNDEF_SYMS := build/ov_SC04_018/undefined_syms_auto.txt -ov_SC04_018_UNDEF_FUNCS := build/ov_SC04_018/undefined_funcs_auto.txt - -# --- ov_SC04_019 (location overlay SC04/FILE_019, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_019_EXE := extracted/retail/SC04.CD.dir/FILE_019.dir/0.4.dec -ov_SC04_019_NAME := ov_SC04_019 -ov_SC04_019_OUT_DIR := build/ov_SC04_019 -ov_SC04_019_OUT := $(ov_SC04_019_OUT_DIR)/$(ov_SC04_019_NAME) -ov_SC04_019_ELF := $(ov_SC04_019_OUT).elf -ov_SC04_019_MAPFILE := $(ov_SC04_019_OUT).map -ov_SC04_019_LD_SCRIPT := $(ov_SC04_019_OUT).ld -ov_SC04_019_SPLAT_YAML := config/splat.ov_SC04_019.yaml -ov_SC04_019_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_019.o,ov_SC04_019_jr_8012ACE0.o,tail2.data.o,ov_SC04_019_jr_80135888.o,tail3.data.o,ov_SC04_019_jr_80135A4C.o,tail4.data.o,ov_SC04_019_jr_80135D20.o,tail5.data.o,ov_SC04_019_jr_801380E0.o,ov_SC04_019_o0c.o,tail6.data.o,ov_SC04_019_jr_8013F350.o,tail7.data.o,ov_SC04_019_jr_8013FFD8.o,tail8.data.o,ov_SC04_019_jr_80140608.o,tail9.data.o,ov_SC04_019_jr_8015444C.o,ov_SC04_019_jr_80154C24.o,ov_SC04_019_jr_801588CC.o,ov_SC04_019_jr_80159C84.o,tail10.data.o,ov_SC04_019_jr_8015A3C8.o,tail11.data.o,ov_SC04_019_jr_8015AE2C.o,tail12.data.o,ov_SC04_019_jr_8015C32C.o,tail13.data.o,ov_SC04_019_jr_8016AB6C.o,tail14.data.o,ov_SC04_019_jr_80171B4C.o,ov_SC04_019_jr_801734BC.o,tail15.data.o,ov_SC04_019_jr_801789AC.o,ov_SC04_019_jr_80178D40.o,tail16.data.o,ov_SC04_019_jr_8017A4AC.o,tail17.data.o,ov_SC04_019_jr_8017AE2C.o,tail18.data.o,ov_SC04_019_jr_80181804.o,ov_SC04_019_jr_80183E6C.o,ov_SC04_019_jr_80185D70.o,tail19.data.o,ov_SC04_019_jr_80186570.o,tail20.data.o,ov_SC04_019_jr_801878E8.o,ov_SC04_019_jr_80188E1C.o,ov_SC04_019_jr_8018CC40.o,tail21.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_019/ov_SC04_019.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_019/ov_SC04_019_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_019/ov_SC04_019_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_019/ov_SC04_019_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_019/ov_SC04_019_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_019/ov_SC04_019_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_019/ov_SC04_019_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_019/ov_SC04_019_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_019/ov_SC04_019_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_019/ov_SC04_019_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_019/ov_SC04_019_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_019/ov_SC04_019_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_019/ov_SC04_019_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_019/ov_SC04_019_jr_80181804.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_019/ov_SC04_019_jr_80183E6C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_019/ov_SC04_019_jr_801878E8.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38 -build/src/ov_SC04_019/ov_SC04_019_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_019_CHECK_SHA := config/check.ov_SC04_019.sha -ov_SC04_019_SYMBOLS := config/symbols.ov_SC04_019.txt -ov_SC04_019_SIG := .run/sig.ov_SC04_019.jsonl -ov_SC04_019_GHIDRA_PROG := ov_SC04_019 -ov_SC04_019_VRAM_BASE := 0x80128158 -ov_SC04_019_TEXT_LO := 0x80128158 -ov_SC04_019_TEXT_HI := 0x801E7B27 -ov_SC04_019_ASM_DIR := asm/ov_SC04_019 -ov_SC04_019_SRC_DIR := src/ov_SC04_019 -ov_SC04_019_UNDEF_SYMS := build/ov_SC04_019/undefined_syms_auto.txt -ov_SC04_019_UNDEF_FUNCS := build/ov_SC04_019/undefined_funcs_auto.txt - -# --- ov_SC05_000 (location overlay SC05/FILE_000, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_000_EXE := extracted/retail/SC05.CD.dir/FILE_000.dir/0.4.dec -ov_SC05_000_NAME := ov_SC05_000 -ov_SC05_000_OUT_DIR := build/ov_SC05_000 -ov_SC05_000_OUT := $(ov_SC05_000_OUT_DIR)/$(ov_SC05_000_NAME) -ov_SC05_000_ELF := $(ov_SC05_000_OUT).elf -ov_SC05_000_MAPFILE := $(ov_SC05_000_OUT).map -ov_SC05_000_LD_SCRIPT := $(ov_SC05_000_OUT).ld -ov_SC05_000_SPLAT_YAML := config/splat.ov_SC05_000.yaml -ov_SC05_000_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_000.o,ov_SC05_000_jr_8012ACE0.o,tail2.data.o,ov_SC05_000_jr_80135888.o,tail3.data.o,ov_SC05_000_jr_80135A4C.o,tail4.data.o,ov_SC05_000_jr_80135D20.o,tail5.data.o,ov_SC05_000_jr_801380E0.o,ov_SC05_000_o0c.o,tail6.data.o,ov_SC05_000_jr_8013F350.o,tail7.data.o,ov_SC05_000_jr_8013FFD8.o,tail8.data.o,ov_SC05_000_jr_80140608.o,tail9.data.o,ov_SC05_000_jr_8015444C.o,ov_SC05_000_jr_80154C24.o,ov_SC05_000_jr_801588CC.o,ov_SC05_000_jr_80159C84.o,tail10.data.o,ov_SC05_000_jr_8015A3C8.o,tail11.data.o,ov_SC05_000_jr_8015AE2C.o,tail12.data.o,ov_SC05_000_jr_8015C32C.o,tail13.data.o,ov_SC05_000_jr_8016AB6C.o,tail14.data.o,ov_SC05_000_jr_80171B4C.o,ov_SC05_000_jr_801734BC.o,tail15.data.o,ov_SC05_000_jr_801789AC.o,ov_SC05_000_jr_80178D40.o,tail16.data.o,ov_SC05_000_jr_8017A4AC.o,tail17.data.o,ov_SC05_000_jr_8017AE2C.o,ov_SC05_000_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_000/ov_SC05_000.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_000/ov_SC05_000_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_000/ov_SC05_000_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_000/ov_SC05_000_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_000/ov_SC05_000_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_000/ov_SC05_000_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_000/ov_SC05_000_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_000/ov_SC05_000_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_000/ov_SC05_000_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_000/ov_SC05_000_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_000/ov_SC05_000_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_000/ov_SC05_000_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_000/ov_SC05_000_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_000_CHECK_SHA := config/check.ov_SC05_000.sha -ov_SC05_000_SYMBOLS := config/symbols.ov_SC05_000.txt -ov_SC05_000_SIG := .run/sig.ov_SC05_000.jsonl -ov_SC05_000_GHIDRA_PROG := ov_SC05_000 -ov_SC05_000_VRAM_BASE := 0x80128158 -ov_SC05_000_TEXT_LO := 0x80128158 -ov_SC05_000_TEXT_HI := 0x8019AC57 -ov_SC05_000_ASM_DIR := asm/ov_SC05_000 -ov_SC05_000_SRC_DIR := src/ov_SC05_000 -ov_SC05_000_UNDEF_SYMS := build/ov_SC05_000/undefined_syms_auto.txt -ov_SC05_000_UNDEF_FUNCS := build/ov_SC05_000/undefined_funcs_auto.txt - -# --- ov_SC06_000 (location overlay SC06/FILE_000, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_000_EXE := extracted/retail/SC06.CD.dir/FILE_000.dir/0.4.dec -ov_SC06_000_NAME := ov_SC06_000 -ov_SC06_000_OUT_DIR := build/ov_SC06_000 -ov_SC06_000_OUT := $(ov_SC06_000_OUT_DIR)/$(ov_SC06_000_NAME) -ov_SC06_000_ELF := $(ov_SC06_000_OUT).elf -ov_SC06_000_MAPFILE := $(ov_SC06_000_OUT).map -ov_SC06_000_LD_SCRIPT := $(ov_SC06_000_OUT).ld -ov_SC06_000_SPLAT_YAML := config/splat.ov_SC06_000.yaml -ov_SC06_000_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_000.o,ov_SC06_000_jr_8012ACE0.o,tail2.data.o,ov_SC06_000_jr_80135888.o,tail3.data.o,ov_SC06_000_jr_80135A4C.o,tail4.data.o,ov_SC06_000_jr_80135D20.o,tail5.data.o,ov_SC06_000_jr_801380E0.o,ov_SC06_000_o0c.o,tail6.data.o,ov_SC06_000_jr_8013F350.o,tail7.data.o,ov_SC06_000_jr_8014032C.o,tail8.data.o,ov_SC06_000_jr_80140608.o,tail9.data.o,ov_SC06_000_jr_8015444C.o,ov_SC06_000_jr_80154C24.o,ov_SC06_000_jr_801588CC.o,ov_SC06_000_jr_80159C84.o,tail10.data.o,ov_SC06_000_jr_8015A3C8.o,tail11.data.o,ov_SC06_000_jr_8015AE2C.o,tail12.data.o,ov_SC06_000_jr_8015C32C.o,tail13.data.o,ov_SC06_000_jr_8016AB6C.o,tail14.data.o,ov_SC06_000_jr_80171B4C.o,ov_SC06_000_jr_801734BC.o,tail15.data.o,ov_SC06_000_jr_801789AC.o,ov_SC06_000_jr_80178D40.o,tail16.data.o,ov_SC06_000_jr_8017A4AC.o,tail17.data.o,ov_SC06_000_jr_8017AE2C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_000/ov_SC06_000.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_000/ov_SC06_000_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_000/ov_SC06_000_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_000/ov_SC06_000_jr_8013F350.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_000/ov_SC06_000_jr_8014032C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_000/ov_SC06_000_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_000/ov_SC06_000_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_000/ov_SC06_000_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_000/ov_SC06_000_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_000/ov_SC06_000_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_000/ov_SC06_000_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_000/ov_SC06_000_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_000/ov_SC06_000_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_000_CHECK_SHA := config/check.ov_SC06_000.sha -ov_SC06_000_SYMBOLS := config/symbols.ov_SC06_000.txt -ov_SC06_000_SIG := .run/sig.ov_SC06_000.jsonl -ov_SC06_000_GHIDRA_PROG := ov_SC06_000 -ov_SC06_000_VRAM_BASE := 0x80128158 -ov_SC06_000_TEXT_LO := 0x80128158 -ov_SC06_000_TEXT_HI := 0x801B2187 -ov_SC06_000_ASM_DIR := asm/ov_SC06_000 -ov_SC06_000_SRC_DIR := src/ov_SC06_000 -ov_SC06_000_UNDEF_SYMS := build/ov_SC06_000/undefined_syms_auto.txt -ov_SC06_000_UNDEF_FUNCS := build/ov_SC06_000/undefined_funcs_auto.txt - -# --- ov_SC07_000 (location overlay SC07/FILE_000, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC07_000_EXE := extracted/retail/SC07.CD.dir/FILE_000.dir/0.4.dec -ov_SC07_000_NAME := ov_SC07_000 -ov_SC07_000_OUT_DIR := build/ov_SC07_000 -ov_SC07_000_OUT := $(ov_SC07_000_OUT_DIR)/$(ov_SC07_000_NAME) -ov_SC07_000_ELF := $(ov_SC07_000_OUT).elf -ov_SC07_000_MAPFILE := $(ov_SC07_000_OUT).map -ov_SC07_000_LD_SCRIPT := $(ov_SC07_000_OUT).ld -ov_SC07_000_SPLAT_YAML := config/splat.ov_SC07_000.yaml -ov_SC07_000_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_000.o,ov_SC07_000_jr_8012ACE0.o,tail2.data.o,ov_SC07_000_jr_80135888.o,tail3.data.o,ov_SC07_000_jr_80135A4C.o,tail4.data.o,ov_SC07_000_jr_80135D20.o,tail5.data.o,ov_SC07_000_jr_801380E0.o,ov_SC07_000_o0c.o,tail6.data.o,ov_SC07_000_jr_8013F350.o,tail7.data.o,ov_SC07_000_jr_8013FFD8.o,tail8.data.o,ov_SC07_000_jr_80140608.o,tail9.data.o,ov_SC07_000_jr_8015444C.o,ov_SC07_000_jr_80154C24.o,ov_SC07_000_jr_801588CC.o,ov_SC07_000_jr_80159C84.o,tail10.data.o,ov_SC07_000_jr_8015A3C8.o,tail11.data.o,ov_SC07_000_jr_8015AE2C.o,tail12.data.o,ov_SC07_000_jr_8015C32C.o,tail13.data.o,ov_SC07_000_jr_8016AB6C.o,tail14.data.o,ov_SC07_000_jr_80171B4C.o,ov_SC07_000_jr_801734BC.o,tail15.data.o,ov_SC07_000_jr_801789AC.o,ov_SC07_000_jr_80178D40.o,tail16.data.o,ov_SC07_000_jr_8017A4AC.o,tail17.data.o,ov_SC07_000_jr_8017AE2C.o,ov_SC07_000_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC07_000/ov_SC07_000.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC07_000/ov_SC07_000_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC07_000/ov_SC07_000_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC07_000/ov_SC07_000_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_000/ov_SC07_000_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC07_000/ov_SC07_000_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC07_000/ov_SC07_000_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC07_000/ov_SC07_000_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC07_000/ov_SC07_000_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_000/ov_SC07_000_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_000/ov_SC07_000_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_000/ov_SC07_000_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC07_000/ov_SC07_000_jr_8017BEBC.o: JTBL_PADS := 0,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40 -build/src/ov_SC07_000/ov_SC07_000_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC07_000_CHECK_SHA := config/check.ov_SC07_000.sha -ov_SC07_000_SYMBOLS := config/symbols.ov_SC07_000.txt -ov_SC07_000_SIG := .run/sig.ov_SC07_000.jsonl -ov_SC07_000_GHIDRA_PROG := ov_SC07_000 -ov_SC07_000_VRAM_BASE := 0x80128158 -ov_SC07_000_TEXT_LO := 0x80128158 -ov_SC07_000_TEXT_HI := 0x801D0CE7 -ov_SC07_000_ASM_DIR := asm/ov_SC07_000 -ov_SC07_000_SRC_DIR := src/ov_SC07_000 -ov_SC07_000_UNDEF_SYMS := build/ov_SC07_000/undefined_syms_auto.txt -ov_SC07_000_UNDEF_FUNCS := build/ov_SC07_000/undefined_funcs_auto.txt - -# --- ov_SC01_004 (location overlay SC01/FILE_004, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC01_004_EXE := extracted/retail/SC01.CD.dir/FILE_004.dir/0.4.dec -ov_SC01_004_NAME := ov_SC01_004 -ov_SC01_004_OUT_DIR := build/ov_SC01_004 -ov_SC01_004_OUT := $(ov_SC01_004_OUT_DIR)/$(ov_SC01_004_NAME) -ov_SC01_004_ELF := $(ov_SC01_004_OUT).elf -ov_SC01_004_MAPFILE := $(ov_SC01_004_OUT).map -ov_SC01_004_LD_SCRIPT := $(ov_SC01_004_OUT).ld -ov_SC01_004_SPLAT_YAML := config/splat.ov_SC01_004.yaml -ov_SC01_004_JTBL_INTERLEAVE := --order tail.data.o,ov_SC01_004.o,ov_SC01_004_jr_8012ACE0.o,tail2.data.o,ov_SC01_004_jr_80135888.o,tail3.data.o,ov_SC01_004_jr_80135A4C.o,tail4.data.o,ov_SC01_004_jr_80135D20.o,tail5.data.o,ov_SC01_004_jr_801380E0.o,ov_SC01_004_o0c.o,tail6.data.o,ov_SC01_004_jr_8013F350.o,tail7.data.o,ov_SC01_004_jr_8013FFD8.o,tail8.data.o,ov_SC01_004_jr_80140608.o,tail9.data.o,ov_SC01_004_jr_8015444C.o,ov_SC01_004_jr_80154C24.o,ov_SC01_004_jr_801588CC.o,ov_SC01_004_jr_80159C84.o,tail10.data.o,ov_SC01_004_jr_8015A3C8.o,tail11.data.o,ov_SC01_004_jr_8015AE2C.o,tail12.data.o,ov_SC01_004_jr_8015C32C.o,tail13.data.o,ov_SC01_004_jr_8016AB6C.o,tail14.data.o,ov_SC01_004_jr_80171B4C.o,ov_SC01_004_jr_801734BC.o,tail15.data.o,ov_SC01_004_jr_801789AC.o,ov_SC01_004_jr_80178D40.o,tail16.data.o,ov_SC01_004_jr_8017A4AC.o,tail17.data.o,ov_SC01_004_jr_8017AE2C.o,ov_SC01_004_jr_8017BE9C.o,tail18.data.o,ov_SC01_004_jr_8017E3A0.o,ov_SC01_004_jr_8017E5B8.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC01_004/ov_SC01_004.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC01_004/ov_SC01_004_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC01_004/ov_SC01_004_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC01_004/ov_SC01_004_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_004/ov_SC01_004_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC01_004/ov_SC01_004_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC01_004/ov_SC01_004_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC01_004/ov_SC01_004_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC01_004/ov_SC01_004_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_004/ov_SC01_004_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_004/ov_SC01_004_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_004/ov_SC01_004_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC01_004/ov_SC01_004_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC01_004_CHECK_SHA := config/check.ov_SC01_004.sha -ov_SC01_004_SYMBOLS := config/symbols.ov_SC01_004.txt -ov_SC01_004_SIG := .run/sig.ov_SC01_004.jsonl -ov_SC01_004_GHIDRA_PROG := ov_SC01_004 -ov_SC01_004_VRAM_BASE := 0x80128158 -ov_SC01_004_TEXT_LO := 0x80128158 -ov_SC01_004_TEXT_HI := 0x801903CF -ov_SC01_004_ASM_DIR := asm/ov_SC01_004 -ov_SC01_004_SRC_DIR := src/ov_SC01_004 -ov_SC01_004_UNDEF_SYMS := build/ov_SC01_004/undefined_syms_auto.txt -ov_SC01_004_UNDEF_FUNCS := build/ov_SC01_004/undefined_funcs_auto.txt - -# --- ov_SC01_008 (location overlay SC01/FILE_008, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC01_008_EXE := extracted/retail/SC01.CD.dir/FILE_008.dir/0.4.dec -ov_SC01_008_NAME := ov_SC01_008 -ov_SC01_008_OUT_DIR := build/ov_SC01_008 -ov_SC01_008_OUT := $(ov_SC01_008_OUT_DIR)/$(ov_SC01_008_NAME) -ov_SC01_008_ELF := $(ov_SC01_008_OUT).elf -ov_SC01_008_MAPFILE := $(ov_SC01_008_OUT).map -ov_SC01_008_LD_SCRIPT := $(ov_SC01_008_OUT).ld -ov_SC01_008_SPLAT_YAML := config/splat.ov_SC01_008.yaml -ov_SC01_008_JTBL_INTERLEAVE := --order tail.data.o,ov_SC01_008.o,ov_SC01_008_jr_8012ACE0.o,tail2.data.o,ov_SC01_008_jr_80135888.o,tail3.data.o,ov_SC01_008_jr_80135A4C.o,tail4.data.o,ov_SC01_008_jr_80135D20.o,tail5.data.o,ov_SC01_008_jr_801380E0.o,ov_SC01_008_o0c.o,tail6.data.o,ov_SC01_008_jr_8013F350.o,tail7.data.o,ov_SC01_008_jr_8013FFD8.o,tail8.data.o,ov_SC01_008_jr_80140608.o,tail9.data.o,ov_SC01_008_jr_8015444C.o,ov_SC01_008_jr_80154C24.o,ov_SC01_008_jr_801588CC.o,ov_SC01_008_jr_80159C84.o,tail10.data.o,ov_SC01_008_jr_8015A3C8.o,tail11.data.o,ov_SC01_008_jr_8015AE2C.o,tail12.data.o,ov_SC01_008_jr_8015C32C.o,tail13.data.o,ov_SC01_008_jr_8016AB6C.o,tail14.data.o,ov_SC01_008_jr_80171B4C.o,ov_SC01_008_jr_801734BC.o,tail15.data.o,ov_SC01_008_jr_801789AC.o,ov_SC01_008_jr_80178D40.o,tail16.data.o,ov_SC01_008_jr_8017A4AC.o,tail17.data.o,ov_SC01_008_jr_8017AE2C.o,ov_SC01_008_jr_8017BE9C.o,tail18.data.o,ov_SC01_008_jr_8017E4D8.o,ov_SC01_008_jr_8017E6F0.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC01_008/ov_SC01_008.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC01_008/ov_SC01_008_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC01_008/ov_SC01_008_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC01_008/ov_SC01_008_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_008/ov_SC01_008_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC01_008/ov_SC01_008_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC01_008/ov_SC01_008_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC01_008/ov_SC01_008_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC01_008/ov_SC01_008_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_008/ov_SC01_008_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_008/ov_SC01_008_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_008/ov_SC01_008_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC01_008/ov_SC01_008_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC01_008_CHECK_SHA := config/check.ov_SC01_008.sha -ov_SC01_008_SYMBOLS := config/symbols.ov_SC01_008.txt -ov_SC01_008_SIG := .run/sig.ov_SC01_008.jsonl -ov_SC01_008_GHIDRA_PROG := ov_SC01_008 -ov_SC01_008_VRAM_BASE := 0x80128158 -ov_SC01_008_TEXT_LO := 0x80128158 -ov_SC01_008_TEXT_HI := 0x801A35DF -ov_SC01_008_ASM_DIR := asm/ov_SC01_008 -ov_SC01_008_SRC_DIR := src/ov_SC01_008 -ov_SC01_008_UNDEF_SYMS := build/ov_SC01_008/undefined_syms_auto.txt -ov_SC01_008_UNDEF_FUNCS := build/ov_SC01_008/undefined_funcs_auto.txt - -# --- ov_SC01_009 (location overlay SC01/FILE_009, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC01_009_EXE := extracted/retail/SC01.CD.dir/FILE_009.dir/0.4.dec -ov_SC01_009_NAME := ov_SC01_009 -ov_SC01_009_OUT_DIR := build/ov_SC01_009 -ov_SC01_009_OUT := $(ov_SC01_009_OUT_DIR)/$(ov_SC01_009_NAME) -ov_SC01_009_ELF := $(ov_SC01_009_OUT).elf -ov_SC01_009_MAPFILE := $(ov_SC01_009_OUT).map -ov_SC01_009_LD_SCRIPT := $(ov_SC01_009_OUT).ld -ov_SC01_009_SPLAT_YAML := config/splat.ov_SC01_009.yaml -ov_SC01_009_JTBL_INTERLEAVE := --order tail.data.o,ov_SC01_009.o,ov_SC01_009_jr_8012ACE0.o,tail2.data.o,ov_SC01_009_jr_80135888.o,tail3.data.o,ov_SC01_009_jr_80135A4C.o,tail4.data.o,ov_SC01_009_jr_80135D20.o,tail5.data.o,ov_SC01_009_jr_801380E0.o,ov_SC01_009_o0c.o,tail6.data.o,ov_SC01_009_jr_8013F350.o,tail7.data.o,ov_SC01_009_jr_8013FFD8.o,tail8.data.o,ov_SC01_009_jr_80140608.o,tail9.data.o,ov_SC01_009_jr_8015444C.o,ov_SC01_009_jr_80154C24.o,ov_SC01_009_jr_801588CC.o,ov_SC01_009_jr_80159C84.o,tail10.data.o,ov_SC01_009_jr_8015A3C8.o,tail11.data.o,ov_SC01_009_jr_8015AE2C.o,tail12.data.o,ov_SC01_009_jr_8015C32C.o,tail13.data.o,ov_SC01_009_jr_8016AB6C.o,tail14.data.o,ov_SC01_009_jr_80171B4C.o,ov_SC01_009_jr_801734BC.o,tail15.data.o,ov_SC01_009_jr_801789AC.o,ov_SC01_009_jr_80178D40.o,tail16.data.o,ov_SC01_009_jr_8017A4AC.o,tail17.data.o,ov_SC01_009_jr_8017AE2C.o,ov_SC01_009_jr_8017BE9C.o,tail18.data.o,ov_SC01_009_jr_8017E378.o,ov_SC01_009_jr_8017E590.o,tail19.data.o,ov_SC01_009_jr_8018057C.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC01_009/ov_SC01_009.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC01_009/ov_SC01_009_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC01_009/ov_SC01_009_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC01_009/ov_SC01_009_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_009/ov_SC01_009_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC01_009/ov_SC01_009_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC01_009/ov_SC01_009_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC01_009/ov_SC01_009_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC01_009/ov_SC01_009_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_009/ov_SC01_009_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_009/ov_SC01_009_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_009/ov_SC01_009_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC01_009/ov_SC01_009_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC01_009_CHECK_SHA := config/check.ov_SC01_009.sha -ov_SC01_009_SYMBOLS := config/symbols.ov_SC01_009.txt -ov_SC01_009_SIG := .run/sig.ov_SC01_009.jsonl -ov_SC01_009_GHIDRA_PROG := ov_SC01_009 -ov_SC01_009_VRAM_BASE := 0x80128158 -ov_SC01_009_TEXT_LO := 0x80128158 -ov_SC01_009_TEXT_HI := 0x801F345F -ov_SC01_009_ASM_DIR := asm/ov_SC01_009 -ov_SC01_009_SRC_DIR := src/ov_SC01_009 -ov_SC01_009_UNDEF_SYMS := build/ov_SC01_009/undefined_syms_auto.txt -ov_SC01_009_UNDEF_FUNCS := build/ov_SC01_009/undefined_funcs_auto.txt - -# --- ov_SC01_074 (location overlay SC01/FILE_074, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC01_074_EXE := extracted/retail/SC01.CD.dir/FILE_074.dir/0.4.dec -ov_SC01_074_NAME := ov_SC01_074 -ov_SC01_074_OUT_DIR := build/ov_SC01_074 -ov_SC01_074_OUT := $(ov_SC01_074_OUT_DIR)/$(ov_SC01_074_NAME) -ov_SC01_074_ELF := $(ov_SC01_074_OUT).elf -ov_SC01_074_MAPFILE := $(ov_SC01_074_OUT).map -ov_SC01_074_LD_SCRIPT := $(ov_SC01_074_OUT).ld -ov_SC01_074_SPLAT_YAML := config/splat.ov_SC01_074.yaml -ov_SC01_074_JTBL_INTERLEAVE := --order tail.data.o,ov_SC01_074.o,ov_SC01_074_jr_8012ACE0.o,tail2.data.o,ov_SC01_074_jr_80135888.o,tail3.data.o,ov_SC01_074_jr_80135A4C.o,tail4.data.o,ov_SC01_074_jr_80135D20.o,tail5.data.o,ov_SC01_074_jr_801380E0.o,ov_SC01_074_o0c.o,tail6.data.o,ov_SC01_074_jr_8013F350.o,tail7.data.o,ov_SC01_074_jr_8013FFD8.o,tail8.data.o,ov_SC01_074_jr_80140608.o,tail9.data.o,ov_SC01_074_jr_8015444C.o,ov_SC01_074_jr_80154C24.o,ov_SC01_074_jr_801588CC.o,ov_SC01_074_jr_80159C84.o,tail10.data.o,ov_SC01_074_jr_8015A3C8.o,tail11.data.o,ov_SC01_074_jr_8015AE2C.o,tail12.data.o,ov_SC01_074_jr_8015C32C.o,tail13.data.o,ov_SC01_074_jr_8016AB6C.o,tail14.data.o,ov_SC01_074_jr_80171B4C.o,ov_SC01_074_jr_801734BC.o,tail15.data.o,ov_SC01_074_jr_801789AC.o,ov_SC01_074_jr_80178D40.o,tail16.data.o,ov_SC01_074_jr_8017A4AC.o,tail17.data.o,ov_SC01_074_jr_8017AE2C.o,ov_SC01_074_jr_8017BE9C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC01_074/ov_SC01_074.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC01_074/ov_SC01_074_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC01_074/ov_SC01_074_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC01_074/ov_SC01_074_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_074/ov_SC01_074_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC01_074/ov_SC01_074_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC01_074/ov_SC01_074_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC01_074/ov_SC01_074_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC01_074/ov_SC01_074_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_074/ov_SC01_074_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_074/ov_SC01_074_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_074/ov_SC01_074_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC01_074/ov_SC01_074_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC01_074_CHECK_SHA := config/check.ov_SC01_074.sha -ov_SC01_074_SYMBOLS := config/symbols.ov_SC01_074.txt -ov_SC01_074_SIG := .run/sig.ov_SC01_074.jsonl -ov_SC01_074_GHIDRA_PROG := ov_SC01_074 -ov_SC01_074_VRAM_BASE := 0x80128158 -ov_SC01_074_TEXT_LO := 0x80128158 -ov_SC01_074_TEXT_HI := 0x8019BD6F -ov_SC01_074_ASM_DIR := asm/ov_SC01_074 -ov_SC01_074_SRC_DIR := src/ov_SC01_074 -ov_SC01_074_UNDEF_SYMS := build/ov_SC01_074/undefined_syms_auto.txt -ov_SC01_074_UNDEF_FUNCS := build/ov_SC01_074/undefined_funcs_auto.txt - -# --- ov_SC01_080 (location overlay SC01/FILE_080, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC01_080_EXE := extracted/retail/SC01.CD.dir/FILE_080.dir/0.4.dec -ov_SC01_080_NAME := ov_SC01_080 -ov_SC01_080_OUT_DIR := build/ov_SC01_080 -ov_SC01_080_OUT := $(ov_SC01_080_OUT_DIR)/$(ov_SC01_080_NAME) -ov_SC01_080_ELF := $(ov_SC01_080_OUT).elf -ov_SC01_080_MAPFILE := $(ov_SC01_080_OUT).map -ov_SC01_080_LD_SCRIPT := $(ov_SC01_080_OUT).ld -ov_SC01_080_SPLAT_YAML := config/splat.ov_SC01_080.yaml -ov_SC01_080_JTBL_INTERLEAVE := --order tail.data.o,ov_SC01_080.o,ov_SC01_080_jr_8012ACE0.o,tail2.data.o,ov_SC01_080_jr_80135888.o,tail3.data.o,ov_SC01_080_jr_80135A4C.o,tail4.data.o,ov_SC01_080_jr_80135D20.o,tail5.data.o,ov_SC01_080_jr_801380E0.o,ov_SC01_080_o0c.o,tail6.data.o,ov_SC01_080_jr_8013F350.o,tail7.data.o,ov_SC01_080_jr_8013FFD8.o,tail8.data.o,ov_SC01_080_jr_80140608.o,tail9.data.o,ov_SC01_080_jr_8015444C.o,ov_SC01_080_jr_80154C24.o,ov_SC01_080_jr_801588CC.o,ov_SC01_080_jr_80159C84.o,tail10.data.o,ov_SC01_080_jr_8015A3C8.o,tail11.data.o,ov_SC01_080_jr_8015AE2C.o,tail12.data.o,ov_SC01_080_jr_8015C32C.o,tail13.data.o,ov_SC01_080_jr_8016AB6C.o,tail14.data.o,ov_SC01_080_jr_80171B4C.o,ov_SC01_080_jr_801734BC.o,tail15.data.o,ov_SC01_080_jr_801789AC.o,ov_SC01_080_jr_80178D40.o,tail16.data.o,ov_SC01_080_jr_8017A4AC.o,tail17.data.o,ov_SC01_080_jr_8017AE2C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC01_080/ov_SC01_080.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC01_080/ov_SC01_080_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC01_080/ov_SC01_080_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC01_080/ov_SC01_080_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_080/ov_SC01_080_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC01_080/ov_SC01_080_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC01_080/ov_SC01_080_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC01_080/ov_SC01_080_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC01_080/ov_SC01_080_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_080/ov_SC01_080_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_080/ov_SC01_080_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_080/ov_SC01_080_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC01_080/ov_SC01_080_jr_8017AE2C.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x34 -build/src/ov_SC01_080/ov_SC01_080_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC01_080_CHECK_SHA := config/check.ov_SC01_080.sha -ov_SC01_080_SYMBOLS := config/symbols.ov_SC01_080.txt -ov_SC01_080_SIG := .run/sig.ov_SC01_080.jsonl -ov_SC01_080_GHIDRA_PROG := ov_SC01_080 -ov_SC01_080_VRAM_BASE := 0x80128158 -ov_SC01_080_TEXT_LO := 0x80128158 -ov_SC01_080_TEXT_HI := 0x801C7F4F -ov_SC01_080_ASM_DIR := asm/ov_SC01_080 -ov_SC01_080_SRC_DIR := src/ov_SC01_080 -ov_SC01_080_UNDEF_SYMS := build/ov_SC01_080/undefined_syms_auto.txt -ov_SC01_080_UNDEF_FUNCS := build/ov_SC01_080/undefined_funcs_auto.txt - -# --- ov_SC01_084 (location overlay SC01/FILE_084, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC01_084_EXE := extracted/retail/SC01.CD.dir/FILE_084.dir/0.4.dec -ov_SC01_084_NAME := ov_SC01_084 -ov_SC01_084_OUT_DIR := build/ov_SC01_084 -ov_SC01_084_OUT := $(ov_SC01_084_OUT_DIR)/$(ov_SC01_084_NAME) -ov_SC01_084_ELF := $(ov_SC01_084_OUT).elf -ov_SC01_084_MAPFILE := $(ov_SC01_084_OUT).map -ov_SC01_084_LD_SCRIPT := $(ov_SC01_084_OUT).ld -ov_SC01_084_SPLAT_YAML := config/splat.ov_SC01_084.yaml -ov_SC01_084_JTBL_INTERLEAVE := --order tail.data.o,ov_SC01_084.o,ov_SC01_084_jr_8012ACE0.o,tail2.data.o,ov_SC01_084_jr_80135888.o,tail3.data.o,ov_SC01_084_jr_80135A4C.o,tail4.data.o,ov_SC01_084_jr_80135D20.o,tail5.data.o,ov_SC01_084_jr_801380E0.o,ov_SC01_084_o0c.o,tail6.data.o,ov_SC01_084_jr_8013F350.o,tail7.data.o,ov_SC01_084_jr_8013FFD8.o,tail8.data.o,ov_SC01_084_jr_80140608.o,tail9.data.o,ov_SC01_084_jr_8015444C.o,ov_SC01_084_jr_80154C24.o,ov_SC01_084_jr_801588CC.o,ov_SC01_084_jr_80159C84.o,tail10.data.o,ov_SC01_084_jr_8015A3C8.o,tail11.data.o,ov_SC01_084_jr_8015AE2C.o,tail12.data.o,ov_SC01_084_jr_8015C32C.o,tail13.data.o,ov_SC01_084_jr_8016AB6C.o,tail14.data.o,ov_SC01_084_jr_80171B4C.o,ov_SC01_084_jr_801734BC.o,tail15.data.o,ov_SC01_084_jr_801789AC.o,ov_SC01_084_jr_80178D40.o,tail16.data.o,ov_SC01_084_jr_8017A4AC.o,tail17.data.o,ov_SC01_084_jr_8017AE2C.o,ov_SC01_084_jr_8017CA80.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC01_084/ov_SC01_084.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC01_084/ov_SC01_084_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC01_084/ov_SC01_084_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC01_084/ov_SC01_084_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_084/ov_SC01_084_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC01_084/ov_SC01_084_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC01_084/ov_SC01_084_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC01_084/ov_SC01_084_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC01_084/ov_SC01_084_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_084/ov_SC01_084_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_084/ov_SC01_084_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_084/ov_SC01_084_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC01_084/ov_SC01_084_jr_8017CA80.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC01_084/ov_SC01_084_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC01_084_CHECK_SHA := config/check.ov_SC01_084.sha -ov_SC01_084_SYMBOLS := config/symbols.ov_SC01_084.txt -ov_SC01_084_SIG := .run/sig.ov_SC01_084.jsonl -ov_SC01_084_GHIDRA_PROG := ov_SC01_084 -ov_SC01_084_VRAM_BASE := 0x80128158 -ov_SC01_084_TEXT_LO := 0x80128158 -ov_SC01_084_TEXT_HI := 0x801C7BF7 -ov_SC01_084_ASM_DIR := asm/ov_SC01_084 -ov_SC01_084_SRC_DIR := src/ov_SC01_084 -ov_SC01_084_UNDEF_SYMS := build/ov_SC01_084/undefined_syms_auto.txt -ov_SC01_084_UNDEF_FUNCS := build/ov_SC01_084/undefined_funcs_auto.txt - -# --- ov_SC02_004 (location overlay SC02/FILE_004, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_004_EXE := extracted/retail/SC02.CD.dir/FILE_004.dir/0.4.dec -ov_SC02_004_NAME := ov_SC02_004 -ov_SC02_004_OUT_DIR := build/ov_SC02_004 -ov_SC02_004_OUT := $(ov_SC02_004_OUT_DIR)/$(ov_SC02_004_NAME) -ov_SC02_004_ELF := $(ov_SC02_004_OUT).elf -ov_SC02_004_MAPFILE := $(ov_SC02_004_OUT).map -ov_SC02_004_LD_SCRIPT := $(ov_SC02_004_OUT).ld -ov_SC02_004_SPLAT_YAML := config/splat.ov_SC02_004.yaml -ov_SC02_004_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_004.o,ov_SC02_004_jr_8012ACE0.o,tail2.data.o,ov_SC02_004_jr_80135888.o,tail3.data.o,ov_SC02_004_jr_80135A4C.o,tail4.data.o,ov_SC02_004_jr_80135D20.o,tail5.data.o,ov_SC02_004_jr_801380E0.o,ov_SC02_004_o0c.o,tail6.data.o,ov_SC02_004_jr_8013F350.o,tail7.data.o,ov_SC02_004_jr_8013FFD8.o,tail8.data.o,ov_SC02_004_jr_80140608.o,tail9.data.o,ov_SC02_004_jr_8015444C.o,ov_SC02_004_jr_80154C24.o,ov_SC02_004_jr_801588CC.o,ov_SC02_004_jr_80159C84.o,tail10.data.o,ov_SC02_004_jr_8015A3C8.o,tail11.data.o,ov_SC02_004_jr_8015AE2C.o,tail12.data.o,ov_SC02_004_jr_8015C32C.o,tail13.data.o,ov_SC02_004_jr_8016AB6C.o,tail14.data.o,ov_SC02_004_jr_80171B4C.o,ov_SC02_004_jr_801734BC.o,tail15.data.o,ov_SC02_004_jr_801789AC.o,ov_SC02_004_jr_80178D40.o,tail16.data.o,ov_SC02_004_jr_8017A4AC.o,tail17.data.o,ov_SC02_004_jr_8017AE2C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_004/ov_SC02_004.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_004/ov_SC02_004_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_004/ov_SC02_004_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_004/ov_SC02_004_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_004/ov_SC02_004_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_004/ov_SC02_004_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_004/ov_SC02_004_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_004/ov_SC02_004_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_004/ov_SC02_004_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_004/ov_SC02_004_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_004/ov_SC02_004_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_004/ov_SC02_004_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_004/ov_SC02_004_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_004/ov_SC02_004_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_004_CHECK_SHA := config/check.ov_SC02_004.sha -ov_SC02_004_SYMBOLS := config/symbols.ov_SC02_004.txt -ov_SC02_004_SIG := .run/sig.ov_SC02_004.jsonl -ov_SC02_004_GHIDRA_PROG := ov_SC02_004 -ov_SC02_004_VRAM_BASE := 0x80128158 -ov_SC02_004_TEXT_LO := 0x80128158 -ov_SC02_004_TEXT_HI := 0x801963C7 -ov_SC02_004_ASM_DIR := asm/ov_SC02_004 -ov_SC02_004_SRC_DIR := src/ov_SC02_004 -ov_SC02_004_UNDEF_SYMS := build/ov_SC02_004/undefined_syms_auto.txt -ov_SC02_004_UNDEF_FUNCS := build/ov_SC02_004/undefined_funcs_auto.txt - -# --- ov_SC02_005 (location overlay SC02/FILE_005, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_005_EXE := extracted/retail/SC02.CD.dir/FILE_005.dir/0.4.dec -ov_SC02_005_NAME := ov_SC02_005 -ov_SC02_005_OUT_DIR := build/ov_SC02_005 -ov_SC02_005_OUT := $(ov_SC02_005_OUT_DIR)/$(ov_SC02_005_NAME) -ov_SC02_005_ELF := $(ov_SC02_005_OUT).elf -ov_SC02_005_MAPFILE := $(ov_SC02_005_OUT).map -ov_SC02_005_LD_SCRIPT := $(ov_SC02_005_OUT).ld -ov_SC02_005_SPLAT_YAML := config/splat.ov_SC02_005.yaml -ov_SC02_005_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_005.o,ov_SC02_005_jr_8012ACE0.o,tail2.data.o,ov_SC02_005_jr_80135888.o,tail3.data.o,ov_SC02_005_jr_80135A4C.o,tail4.data.o,ov_SC02_005_jr_80135D20.o,tail5.data.o,ov_SC02_005_jr_801380E0.o,ov_SC02_005_o0c.o,tail6.data.o,ov_SC02_005_jr_8013F350.o,tail7.data.o,ov_SC02_005_jr_8013FFD8.o,tail8.data.o,ov_SC02_005_jr_80140608.o,tail9.data.o,ov_SC02_005_jr_8015444C.o,ov_SC02_005_jr_80154C24.o,ov_SC02_005_jr_801588CC.o,ov_SC02_005_jr_80159C84.o,tail10.data.o,ov_SC02_005_jr_8015A3C8.o,tail11.data.o,ov_SC02_005_jr_8015AE2C.o,tail12.data.o,ov_SC02_005_jr_8015C32C.o,tail13.data.o,ov_SC02_005_jr_8016AB6C.o,tail14.data.o,ov_SC02_005_jr_80171B4C.o,ov_SC02_005_jr_801734BC.o,tail15.data.o,ov_SC02_005_jr_801789AC.o,ov_SC02_005_jr_80178D40.o,tail16.data.o,ov_SC02_005_jr_8017A4AC.o,tail17.data.o,ov_SC02_005_jr_8017AE2C.o,tail18.data.o,ov_SC02_005_jr_8017CF90.o,tail19.data.o,ov_SC02_005_jr_80181984.o,ov_SC02_005_jr_80181D30.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_005/ov_SC02_005.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_005/ov_SC02_005_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_005/ov_SC02_005_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_005/ov_SC02_005_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_005/ov_SC02_005_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_005/ov_SC02_005_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_005/ov_SC02_005_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_005/ov_SC02_005_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_005/ov_SC02_005_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_005/ov_SC02_005_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_005/ov_SC02_005_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_005/ov_SC02_005_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_005/ov_SC02_005_jr_80181D30.o: JTBL_PADS := 0 # §8e pads — one table since wave dd banked func_80183524 (P31 S60) -build/src/ov_SC02_005/ov_SC02_005_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_005_CHECK_SHA := config/check.ov_SC02_005.sha -ov_SC02_005_SYMBOLS := config/symbols.ov_SC02_005.txt -ov_SC02_005_SIG := .run/sig.ov_SC02_005.jsonl -ov_SC02_005_GHIDRA_PROG := ov_SC02_005 -ov_SC02_005_VRAM_BASE := 0x80128158 -ov_SC02_005_TEXT_LO := 0x80128158 -ov_SC02_005_TEXT_HI := 0x801E4C59 -ov_SC02_005_ASM_DIR := asm/ov_SC02_005 -ov_SC02_005_SRC_DIR := src/ov_SC02_005 -ov_SC02_005_UNDEF_SYMS := build/ov_SC02_005/undefined_syms_auto.txt -ov_SC02_005_UNDEF_FUNCS := build/ov_SC02_005/undefined_funcs_auto.txt - -# --- ov_SC02_011 (location overlay SC02/FILE_011, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_011_EXE := extracted/retail/SC02.CD.dir/FILE_011.dir/0.4.dec -ov_SC02_011_NAME := ov_SC02_011 -ov_SC02_011_OUT_DIR := build/ov_SC02_011 -ov_SC02_011_OUT := $(ov_SC02_011_OUT_DIR)/$(ov_SC02_011_NAME) -ov_SC02_011_ELF := $(ov_SC02_011_OUT).elf -ov_SC02_011_MAPFILE := $(ov_SC02_011_OUT).map -ov_SC02_011_LD_SCRIPT := $(ov_SC02_011_OUT).ld -ov_SC02_011_SPLAT_YAML := config/splat.ov_SC02_011.yaml -ov_SC02_011_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_011.o,ov_SC02_011_jr_8012ACE0.o,tail2.data.o,ov_SC02_011_jr_80135888.o,tail3.data.o,ov_SC02_011_jr_80135A4C.o,tail4.data.o,ov_SC02_011_jr_80135D20.o,tail5.data.o,ov_SC02_011_jr_801380E0.o,ov_SC02_011_o0c.o,tail6.data.o,ov_SC02_011_jr_8013F350.o,tail7.data.o,ov_SC02_011_jr_8013FFD8.o,tail8.data.o,ov_SC02_011_jr_80140608.o,tail9.data.o,ov_SC02_011_jr_8015444C.o,ov_SC02_011_jr_80154C24.o,ov_SC02_011_jr_801588CC.o,ov_SC02_011_jr_80159C84.o,tail10.data.o,ov_SC02_011_jr_8015A3C8.o,tail11.data.o,ov_SC02_011_jr_8015AE2C.o,tail12.data.o,ov_SC02_011_jr_8015C32C.o,tail13.data.o,ov_SC02_011_jr_8016AB6C.o,tail14.data.o,ov_SC02_011_jr_80171B4C.o,ov_SC02_011_jr_801734BC.o,tail15.data.o,ov_SC02_011_jr_801789AC.o,ov_SC02_011_jr_80178D40.o,tail16.data.o,ov_SC02_011_jr_8017A4AC.o,tail17.data.o,ov_SC02_011_jr_8017AE2C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_011/ov_SC02_011.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_011/ov_SC02_011_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_011/ov_SC02_011_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_011/ov_SC02_011_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_011/ov_SC02_011_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_011/ov_SC02_011_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_011/ov_SC02_011_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_011/ov_SC02_011_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_011/ov_SC02_011_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_011/ov_SC02_011_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_011/ov_SC02_011_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_011/ov_SC02_011_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_011/ov_SC02_011_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_011_CHECK_SHA := config/check.ov_SC02_011.sha -ov_SC02_011_SYMBOLS := config/symbols.ov_SC02_011.txt -ov_SC02_011_SIG := .run/sig.ov_SC02_011.jsonl -ov_SC02_011_GHIDRA_PROG := ov_SC02_011 -ov_SC02_011_VRAM_BASE := 0x80128158 -ov_SC02_011_TEXT_LO := 0x80128158 -ov_SC02_011_TEXT_HI := 0x801EBA7F -ov_SC02_011_ASM_DIR := asm/ov_SC02_011 -ov_SC02_011_SRC_DIR := src/ov_SC02_011 -ov_SC02_011_UNDEF_SYMS := build/ov_SC02_011/undefined_syms_auto.txt -ov_SC02_011_UNDEF_FUNCS := build/ov_SC02_011/undefined_funcs_auto.txt - -# --- ov_SC02_015 (location overlay SC02/FILE_015, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_015_EXE := extracted/retail/SC02.CD.dir/FILE_015.dir/0.4.dec -ov_SC02_015_NAME := ov_SC02_015 -ov_SC02_015_OUT_DIR := build/ov_SC02_015 -ov_SC02_015_OUT := $(ov_SC02_015_OUT_DIR)/$(ov_SC02_015_NAME) -ov_SC02_015_ELF := $(ov_SC02_015_OUT).elf -ov_SC02_015_MAPFILE := $(ov_SC02_015_OUT).map -ov_SC02_015_LD_SCRIPT := $(ov_SC02_015_OUT).ld -ov_SC02_015_SPLAT_YAML := config/splat.ov_SC02_015.yaml -ov_SC02_015_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_015.o,ov_SC02_015_jr_8012ACE0.o,tail2.data.o,ov_SC02_015_jr_80135888.o,tail3.data.o,ov_SC02_015_jr_80135A4C.o,tail4.data.o,ov_SC02_015_jr_80135D20.o,tail5.data.o,ov_SC02_015_jr_801380E0.o,ov_SC02_015_o0c.o,tail6.data.o,ov_SC02_015_jr_8013F350.o,tail7.data.o,ov_SC02_015_jr_8013FFD8.o,tail8.data.o,ov_SC02_015_jr_80140608.o,tail9.data.o,ov_SC02_015_jr_8015444C.o,ov_SC02_015_jr_80154C24.o,ov_SC02_015_jr_801588CC.o,ov_SC02_015_jr_80159C84.o,tail10.data.o,ov_SC02_015_jr_8015A3C8.o,tail11.data.o,ov_SC02_015_jr_8015AE2C.o,tail12.data.o,ov_SC02_015_jr_8015C32C.o,tail13.data.o,ov_SC02_015_jr_8016AB6C.o,tail14.data.o,ov_SC02_015_jr_80171B4C.o,ov_SC02_015_jr_801734BC.o,tail15.data.o,ov_SC02_015_jr_801789AC.o,ov_SC02_015_jr_80178D40.o,tail16.data.o,ov_SC02_015_jr_8017A4AC.o,tail17.data.o,ov_SC02_015_jr_8017AE2C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_015/ov_SC02_015.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_015/ov_SC02_015_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_015/ov_SC02_015_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_015/ov_SC02_015_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_015/ov_SC02_015_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_015/ov_SC02_015_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_015/ov_SC02_015_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_015/ov_SC02_015_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_015/ov_SC02_015_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_015/ov_SC02_015_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_015/ov_SC02_015_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_015/ov_SC02_015_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_015/ov_SC02_015_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_015/ov_SC02_015_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_015_CHECK_SHA := config/check.ov_SC02_015.sha -ov_SC02_015_SYMBOLS := config/symbols.ov_SC02_015.txt -ov_SC02_015_SIG := .run/sig.ov_SC02_015.jsonl -ov_SC02_015_GHIDRA_PROG := ov_SC02_015 -ov_SC02_015_VRAM_BASE := 0x80128158 -ov_SC02_015_TEXT_LO := 0x80128158 -ov_SC02_015_TEXT_HI := 0x8019069F -ov_SC02_015_ASM_DIR := asm/ov_SC02_015 -ov_SC02_015_SRC_DIR := src/ov_SC02_015 -ov_SC02_015_UNDEF_SYMS := build/ov_SC02_015/undefined_syms_auto.txt -ov_SC02_015_UNDEF_FUNCS := build/ov_SC02_015/undefined_funcs_auto.txt - -# --- ov_SC02_016 (location overlay SC02/FILE_016, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_016_EXE := extracted/retail/SC02.CD.dir/FILE_016.dir/0.4.dec -ov_SC02_016_NAME := ov_SC02_016 -ov_SC02_016_OUT_DIR := build/ov_SC02_016 -ov_SC02_016_OUT := $(ov_SC02_016_OUT_DIR)/$(ov_SC02_016_NAME) -ov_SC02_016_ELF := $(ov_SC02_016_OUT).elf -ov_SC02_016_MAPFILE := $(ov_SC02_016_OUT).map -ov_SC02_016_LD_SCRIPT := $(ov_SC02_016_OUT).ld -ov_SC02_016_SPLAT_YAML := config/splat.ov_SC02_016.yaml -ov_SC02_016_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_016.o,ov_SC02_016_jr_8012ACE0.o,tail2.data.o,ov_SC02_016_jr_80135888.o,tail3.data.o,ov_SC02_016_jr_80135A4C.o,tail4.data.o,ov_SC02_016_jr_80135D20.o,tail5.data.o,ov_SC02_016_jr_801380E0.o,ov_SC02_016_o0c.o,tail6.data.o,ov_SC02_016_jr_8013F350.o,tail7.data.o,ov_SC02_016_jr_8013FFD8.o,tail8.data.o,ov_SC02_016_jr_80140608.o,tail9.data.o,ov_SC02_016_jr_8015444C.o,ov_SC02_016_jr_80154C24.o,ov_SC02_016_jr_801588CC.o,ov_SC02_016_jr_80159C84.o,tail10.data.o,ov_SC02_016_jr_8015A3C8.o,tail11.data.o,ov_SC02_016_jr_8015AE2C.o,tail12.data.o,ov_SC02_016_jr_8015C32C.o,tail13.data.o,ov_SC02_016_jr_8016AB6C.o,tail14.data.o,ov_SC02_016_jr_80171B4C.o,ov_SC02_016_jr_801734BC.o,tail15.data.o,ov_SC02_016_jr_801789AC.o,ov_SC02_016_jr_80178D40.o,tail16.data.o,ov_SC02_016_jr_8017A4AC.o,tail17.data.o,ov_SC02_016_jr_8017AE2C.o,ov_SC02_016_jr_8017DC70.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_016/ov_SC02_016.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_016/ov_SC02_016_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_016/ov_SC02_016_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_016/ov_SC02_016_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_016/ov_SC02_016_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_016/ov_SC02_016_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_016/ov_SC02_016_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_016/ov_SC02_016_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_016/ov_SC02_016_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_016/ov_SC02_016_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_016/ov_SC02_016_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_016/ov_SC02_016_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_016/ov_SC02_016_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_016_CHECK_SHA := config/check.ov_SC02_016.sha -ov_SC02_016_SYMBOLS := config/symbols.ov_SC02_016.txt -ov_SC02_016_SIG := .run/sig.ov_SC02_016.jsonl -ov_SC02_016_GHIDRA_PROG := ov_SC02_016 -ov_SC02_016_VRAM_BASE := 0x80128158 -ov_SC02_016_TEXT_LO := 0x80128158 -ov_SC02_016_TEXT_HI := 0x801B4AD7 -ov_SC02_016_ASM_DIR := asm/ov_SC02_016 -ov_SC02_016_SRC_DIR := src/ov_SC02_016 -ov_SC02_016_UNDEF_SYMS := build/ov_SC02_016/undefined_syms_auto.txt -ov_SC02_016_UNDEF_FUNCS := build/ov_SC02_016/undefined_funcs_auto.txt - -# --- ov_SC02_017 (location overlay SC02/FILE_017, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_017_EXE := extracted/retail/SC02.CD.dir/FILE_017.dir/0.4.dec -ov_SC02_017_NAME := ov_SC02_017 -ov_SC02_017_OUT_DIR := build/ov_SC02_017 -ov_SC02_017_OUT := $(ov_SC02_017_OUT_DIR)/$(ov_SC02_017_NAME) -ov_SC02_017_ELF := $(ov_SC02_017_OUT).elf -ov_SC02_017_MAPFILE := $(ov_SC02_017_OUT).map -ov_SC02_017_LD_SCRIPT := $(ov_SC02_017_OUT).ld -ov_SC02_017_SPLAT_YAML := config/splat.ov_SC02_017.yaml -ov_SC02_017_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_017.o,ov_SC02_017_jr_8012ACE0.o,tail2.data.o,ov_SC02_017_jr_80135888.o,tail3.data.o,ov_SC02_017_jr_80135A4C.o,tail4.data.o,ov_SC02_017_jr_80135D20.o,tail5.data.o,ov_SC02_017_jr_801380E0.o,ov_SC02_017_o0c.o,tail6.data.o,ov_SC02_017_jr_8013F350.o,tail7.data.o,ov_SC02_017_jr_8013FFD8.o,tail8.data.o,ov_SC02_017_jr_80140608.o,tail9.data.o,ov_SC02_017_jr_8015444C.o,ov_SC02_017_jr_80154C24.o,ov_SC02_017_jr_801588CC.o,ov_SC02_017_jr_80159C84.o,tail10.data.o,ov_SC02_017_jr_8015A3C8.o,tail11.data.o,ov_SC02_017_jr_8015AE2C.o,tail12.data.o,ov_SC02_017_jr_8015C32C.o,tail13.data.o,ov_SC02_017_jr_8016AB6C.o,tail14.data.o,ov_SC02_017_jr_80171B4C.o,ov_SC02_017_jr_801734BC.o,tail15.data.o,ov_SC02_017_jr_801789AC.o,ov_SC02_017_jr_80178D40.o,tail16.data.o,ov_SC02_017_jr_8017A4AC.o,tail17.data.o,ov_SC02_017_jr_8017AE2C.o,ov_SC02_017_jr_8017DF34.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_017/ov_SC02_017.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_017/ov_SC02_017_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_017/ov_SC02_017_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_017/ov_SC02_017_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_017/ov_SC02_017_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_017/ov_SC02_017_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_017/ov_SC02_017_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_017/ov_SC02_017_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_017/ov_SC02_017_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_017/ov_SC02_017_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_017/ov_SC02_017_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_017/ov_SC02_017_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_017/ov_SC02_017_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_017_CHECK_SHA := config/check.ov_SC02_017.sha -ov_SC02_017_SYMBOLS := config/symbols.ov_SC02_017.txt -ov_SC02_017_SIG := .run/sig.ov_SC02_017.jsonl -ov_SC02_017_GHIDRA_PROG := ov_SC02_017 -ov_SC02_017_VRAM_BASE := 0x80128158 -ov_SC02_017_TEXT_LO := 0x80128158 -ov_SC02_017_TEXT_HI := 0x801EFD37 -ov_SC02_017_ASM_DIR := asm/ov_SC02_017 -ov_SC02_017_SRC_DIR := src/ov_SC02_017 -ov_SC02_017_UNDEF_SYMS := build/ov_SC02_017/undefined_syms_auto.txt -ov_SC02_017_UNDEF_FUNCS := build/ov_SC02_017/undefined_funcs_auto.txt - -# --- ov_SC02_021 (location overlay SC02/FILE_021, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_021_EXE := extracted/retail/SC02.CD.dir/FILE_021.dir/0.4.dec -ov_SC02_021_NAME := ov_SC02_021 -ov_SC02_021_OUT_DIR := build/ov_SC02_021 -ov_SC02_021_OUT := $(ov_SC02_021_OUT_DIR)/$(ov_SC02_021_NAME) -ov_SC02_021_ELF := $(ov_SC02_021_OUT).elf -ov_SC02_021_MAPFILE := $(ov_SC02_021_OUT).map -ov_SC02_021_LD_SCRIPT := $(ov_SC02_021_OUT).ld -ov_SC02_021_SPLAT_YAML := config/splat.ov_SC02_021.yaml -ov_SC02_021_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_021.o,ov_SC02_021_jr_8012ACE0.o,tail2.data.o,ov_SC02_021_jr_80135888.o,tail3.data.o,ov_SC02_021_jr_80135A4C.o,tail4.data.o,ov_SC02_021_jr_80135D20.o,tail5.data.o,ov_SC02_021_jr_801380E0.o,ov_SC02_021_o0c.o,tail6.data.o,ov_SC02_021_jr_8013F350.o,tail7.data.o,ov_SC02_021_jr_8013FFD8.o,tail8.data.o,ov_SC02_021_jr_80140608.o,tail9.data.o,ov_SC02_021_jr_8015444C.o,ov_SC02_021_jr_80154C24.o,ov_SC02_021_jr_801588CC.o,ov_SC02_021_jr_80159C84.o,tail10.data.o,ov_SC02_021_jr_8015A3C8.o,tail11.data.o,ov_SC02_021_jr_8015AE2C.o,tail12.data.o,ov_SC02_021_jr_8015C32C.o,tail13.data.o,ov_SC02_021_jr_8016AB6C.o,tail14.data.o,ov_SC02_021_jr_80171B4C.o,ov_SC02_021_jr_801734BC.o,tail15.data.o,ov_SC02_021_jr_801789AC.o,ov_SC02_021_jr_80178D40.o,tail16.data.o,ov_SC02_021_jr_8017A4AC.o,tail17.data.o,ov_SC02_021_jr_8017AE2C.o,ov_SC02_021_jr_8017C294.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_021/ov_SC02_021.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_021/ov_SC02_021_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_021/ov_SC02_021_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_021/ov_SC02_021_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_021/ov_SC02_021_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_021/ov_SC02_021_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_021/ov_SC02_021_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_021/ov_SC02_021_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_021/ov_SC02_021_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_021/ov_SC02_021_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_021/ov_SC02_021_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_021/ov_SC02_021_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_021/ov_SC02_021_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_021_CHECK_SHA := config/check.ov_SC02_021.sha -ov_SC02_021_SYMBOLS := config/symbols.ov_SC02_021.txt -ov_SC02_021_SIG := .run/sig.ov_SC02_021.jsonl -ov_SC02_021_GHIDRA_PROG := ov_SC02_021 -ov_SC02_021_VRAM_BASE := 0x80128158 -ov_SC02_021_TEXT_LO := 0x80128158 -ov_SC02_021_TEXT_HI := 0x8019389F -ov_SC02_021_ASM_DIR := asm/ov_SC02_021 -ov_SC02_021_SRC_DIR := src/ov_SC02_021 -ov_SC02_021_UNDEF_SYMS := build/ov_SC02_021/undefined_syms_auto.txt -ov_SC02_021_UNDEF_FUNCS := build/ov_SC02_021/undefined_funcs_auto.txt - -# --- ov_SC02_026 (location overlay SC02/FILE_026, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_026_EXE := extracted/retail/SC02.CD.dir/FILE_026.dir/0.4.dec -ov_SC02_026_NAME := ov_SC02_026 -ov_SC02_026_OUT_DIR := build/ov_SC02_026 -ov_SC02_026_OUT := $(ov_SC02_026_OUT_DIR)/$(ov_SC02_026_NAME) -ov_SC02_026_ELF := $(ov_SC02_026_OUT).elf -ov_SC02_026_MAPFILE := $(ov_SC02_026_OUT).map -ov_SC02_026_LD_SCRIPT := $(ov_SC02_026_OUT).ld -ov_SC02_026_SPLAT_YAML := config/splat.ov_SC02_026.yaml -ov_SC02_026_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_026.o,ov_SC02_026_jr_8012ACE0.o,tail2.data.o,ov_SC02_026_jr_80135888.o,tail3.data.o,ov_SC02_026_jr_80135A4C.o,tail4.data.o,ov_SC02_026_jr_80135D20.o,tail5.data.o,ov_SC02_026_jr_801380E0.o,ov_SC02_026_o0c.o,tail6.data.o,ov_SC02_026_jr_8013F350.o,tail7.data.o,ov_SC02_026_jr_8013FFD8.o,tail8.data.o,ov_SC02_026_jr_80140608.o,tail9.data.o,ov_SC02_026_jr_8015444C.o,ov_SC02_026_jr_80154C24.o,ov_SC02_026_jr_801588CC.o,ov_SC02_026_jr_80159C84.o,tail10.data.o,ov_SC02_026_jr_8015A3C8.o,tail11.data.o,ov_SC02_026_jr_8015AE2C.o,tail12.data.o,ov_SC02_026_jr_8015C32C.o,tail13.data.o,ov_SC02_026_jr_8016AB6C.o,tail14.data.o,ov_SC02_026_jr_80171B4C.o,ov_SC02_026_jr_801734BC.o,tail15.data.o,ov_SC02_026_jr_801789AC.o,ov_SC02_026_jr_80178D40.o,tail16.data.o,ov_SC02_026_jr_8017A4AC.o,tail17.data.o,ov_SC02_026_jr_8017AE2C.o,ov_SC02_026_jr_8017C180.o,ov_SC02_026_jr_80185440.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_026/ov_SC02_026.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_026/ov_SC02_026_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_026/ov_SC02_026_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_026/ov_SC02_026_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_026/ov_SC02_026_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_026/ov_SC02_026_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_026/ov_SC02_026_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_026/ov_SC02_026_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_026/ov_SC02_026_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_026/ov_SC02_026_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_026/ov_SC02_026_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_026/ov_SC02_026_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_026/ov_SC02_026_jr_8017C180.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC02_026/ov_SC02_026_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_026_CHECK_SHA := config/check.ov_SC02_026.sha -ov_SC02_026_SYMBOLS := config/symbols.ov_SC02_026.txt -ov_SC02_026_SIG := .run/sig.ov_SC02_026.jsonl -ov_SC02_026_GHIDRA_PROG := ov_SC02_026 -ov_SC02_026_VRAM_BASE := 0x80128158 -ov_SC02_026_TEXT_LO := 0x80128158 -ov_SC02_026_TEXT_HI := 0x801D02BF -ov_SC02_026_ASM_DIR := asm/ov_SC02_026 -ov_SC02_026_SRC_DIR := src/ov_SC02_026 -ov_SC02_026_UNDEF_SYMS := build/ov_SC02_026/undefined_syms_auto.txt -ov_SC02_026_UNDEF_FUNCS := build/ov_SC02_026/undefined_funcs_auto.txt - -# --- ov_SC02_027 (location overlay SC02/FILE_027, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_027_EXE := extracted/retail/SC02.CD.dir/FILE_027.dir/0.4.dec -ov_SC02_027_NAME := ov_SC02_027 -ov_SC02_027_OUT_DIR := build/ov_SC02_027 -ov_SC02_027_OUT := $(ov_SC02_027_OUT_DIR)/$(ov_SC02_027_NAME) -ov_SC02_027_ELF := $(ov_SC02_027_OUT).elf -ov_SC02_027_MAPFILE := $(ov_SC02_027_OUT).map -ov_SC02_027_LD_SCRIPT := $(ov_SC02_027_OUT).ld -ov_SC02_027_SPLAT_YAML := config/splat.ov_SC02_027.yaml -ov_SC02_027_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_027.o,ov_SC02_027_jr_8012ACE0.o,tail2.data.o,ov_SC02_027_jr_80135888.o,tail3.data.o,ov_SC02_027_jr_80135A4C.o,tail4.data.o,ov_SC02_027_jr_80135D20.o,tail5.data.o,ov_SC02_027_jr_801380E0.o,ov_SC02_027_o0c.o,tail6.data.o,ov_SC02_027_jr_8013F350.o,tail7.data.o,ov_SC02_027_jr_8013FFD8.o,tail8.data.o,ov_SC02_027_jr_80140608.o,tail9.data.o,ov_SC02_027_jr_8015444C.o,ov_SC02_027_jr_80154C24.o,ov_SC02_027_jr_801588CC.o,ov_SC02_027_jr_80159C84.o,tail10.data.o,ov_SC02_027_jr_8015A3C8.o,tail11.data.o,ov_SC02_027_jr_8015AE2C.o,tail12.data.o,ov_SC02_027_jr_8015C32C.o,tail13.data.o,ov_SC02_027_jr_8016AB6C.o,tail14.data.o,ov_SC02_027_jr_80171B4C.o,ov_SC02_027_jr_801734BC.o,tail15.data.o,ov_SC02_027_jr_801789AC.o,ov_SC02_027_jr_80178D40.o,tail16.data.o,ov_SC02_027_jr_8017A4AC.o,tail17.data.o,ov_SC02_027_jr_8017AE2C.o,ov_SC02_027_jr_8017D898.o,ov_SC02_027_jr_8018A564.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_027/ov_SC02_027.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_027/ov_SC02_027_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_027/ov_SC02_027_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_027/ov_SC02_027_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_027/ov_SC02_027_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_027/ov_SC02_027_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_027/ov_SC02_027_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_027/ov_SC02_027_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_027/ov_SC02_027_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_027/ov_SC02_027_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_027/ov_SC02_027_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_027/ov_SC02_027_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_027/ov_SC02_027_jr_8017D898.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC02_027/ov_SC02_027_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_027_CHECK_SHA := config/check.ov_SC02_027.sha -ov_SC02_027_SYMBOLS := config/symbols.ov_SC02_027.txt -ov_SC02_027_SIG := .run/sig.ov_SC02_027.jsonl -ov_SC02_027_GHIDRA_PROG := ov_SC02_027 -ov_SC02_027_VRAM_BASE := 0x80128158 -ov_SC02_027_TEXT_LO := 0x80128158 -ov_SC02_027_TEXT_HI := 0x801DAA3F -ov_SC02_027_ASM_DIR := asm/ov_SC02_027 -ov_SC02_027_SRC_DIR := src/ov_SC02_027 -ov_SC02_027_UNDEF_SYMS := build/ov_SC02_027/undefined_syms_auto.txt -ov_SC02_027_UNDEF_FUNCS := build/ov_SC02_027/undefined_funcs_auto.txt - -# --- ov_SC02_028 (location overlay SC02/FILE_028, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_028_EXE := extracted/retail/SC02.CD.dir/FILE_028.dir/0.4.dec -ov_SC02_028_NAME := ov_SC02_028 -ov_SC02_028_OUT_DIR := build/ov_SC02_028 -ov_SC02_028_OUT := $(ov_SC02_028_OUT_DIR)/$(ov_SC02_028_NAME) -ov_SC02_028_ELF := $(ov_SC02_028_OUT).elf -ov_SC02_028_MAPFILE := $(ov_SC02_028_OUT).map -ov_SC02_028_LD_SCRIPT := $(ov_SC02_028_OUT).ld -ov_SC02_028_SPLAT_YAML := config/splat.ov_SC02_028.yaml -ov_SC02_028_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_028.o,ov_SC02_028_jr_8012ACE0.o,tail2.data.o,ov_SC02_028_jr_80135888.o,tail3.data.o,ov_SC02_028_jr_80135A4C.o,tail4.data.o,ov_SC02_028_jr_80135D20.o,tail5.data.o,ov_SC02_028_jr_801380E0.o,ov_SC02_028_o0c.o,tail6.data.o,ov_SC02_028_jr_8013F350.o,tail7.data.o,ov_SC02_028_jr_8013FFD8.o,tail8.data.o,ov_SC02_028_jr_80140608.o,tail9.data.o,ov_SC02_028_jr_8015444C.o,ov_SC02_028_jr_80154C24.o,ov_SC02_028_jr_801588CC.o,ov_SC02_028_jr_80159C84.o,tail10.data.o,ov_SC02_028_jr_8015A3C8.o,tail11.data.o,ov_SC02_028_jr_8015AE2C.o,tail12.data.o,ov_SC02_028_jr_8015C32C.o,tail13.data.o,ov_SC02_028_jr_8016AB6C.o,tail14.data.o,ov_SC02_028_jr_80171B4C.o,ov_SC02_028_jr_801734BC.o,tail15.data.o,ov_SC02_028_jr_801789AC.o,ov_SC02_028_jr_80178D40.o,tail16.data.o,ov_SC02_028_jr_8017A4AC.o,tail17.data.o,ov_SC02_028_jr_8017AE2C.o,ov_SC02_028_jr_8017D898.o,tail18.data.o,ov_SC02_028_jr_80184BD8.o,ov_SC02_028_jr_801884D8.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_028/ov_SC02_028.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_028/ov_SC02_028_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_028/ov_SC02_028_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_028/ov_SC02_028_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_028/ov_SC02_028_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_028/ov_SC02_028_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_028/ov_SC02_028_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_028/ov_SC02_028_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_028/ov_SC02_028_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_028/ov_SC02_028_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_028/ov_SC02_028_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_028/ov_SC02_028_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_028/ov_SC02_028_jr_801884D8.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_028/ov_SC02_028_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_028_CHECK_SHA := config/check.ov_SC02_028.sha -ov_SC02_028_SYMBOLS := config/symbols.ov_SC02_028.txt -ov_SC02_028_SIG := .run/sig.ov_SC02_028.jsonl -ov_SC02_028_GHIDRA_PROG := ov_SC02_028 -ov_SC02_028_VRAM_BASE := 0x80128158 -ov_SC02_028_TEXT_LO := 0x80128158 -ov_SC02_028_TEXT_HI := 0x801D363F -ov_SC02_028_ASM_DIR := asm/ov_SC02_028 -ov_SC02_028_SRC_DIR := src/ov_SC02_028 -ov_SC02_028_UNDEF_SYMS := build/ov_SC02_028/undefined_syms_auto.txt -ov_SC02_028_UNDEF_FUNCS := build/ov_SC02_028/undefined_funcs_auto.txt - -# --- ov_SC02_031 (location overlay SC02/FILE_031, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_031_EXE := extracted/retail/SC02.CD.dir/FILE_031.dir/0.4.dec -ov_SC02_031_NAME := ov_SC02_031 -ov_SC02_031_OUT_DIR := build/ov_SC02_031 -ov_SC02_031_OUT := $(ov_SC02_031_OUT_DIR)/$(ov_SC02_031_NAME) -ov_SC02_031_ELF := $(ov_SC02_031_OUT).elf -ov_SC02_031_MAPFILE := $(ov_SC02_031_OUT).map -ov_SC02_031_LD_SCRIPT := $(ov_SC02_031_OUT).ld -ov_SC02_031_SPLAT_YAML := config/splat.ov_SC02_031.yaml -ov_SC02_031_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_031.o,ov_SC02_031_jr_8012ACE0.o,tail2.data.o,ov_SC02_031_jr_80135888.o,tail3.data.o,ov_SC02_031_jr_80135A4C.o,tail4.data.o,ov_SC02_031_jr_80135D20.o,tail5.data.o,ov_SC02_031_jr_801380E0.o,ov_SC02_031_o0c.o,tail6.data.o,ov_SC02_031_jr_8013F350.o,tail7.data.o,ov_SC02_031_jr_8013FFD8.o,tail8.data.o,ov_SC02_031_jr_80140608.o,tail9.data.o,ov_SC02_031_jr_8015444C.o,ov_SC02_031_jr_80154C24.o,ov_SC02_031_jr_801588CC.o,ov_SC02_031_jr_80159C84.o,tail10.data.o,ov_SC02_031_jr_8015A3C8.o,tail11.data.o,ov_SC02_031_jr_8015AE2C.o,tail12.data.o,ov_SC02_031_jr_8015C32C.o,tail13.data.o,ov_SC02_031_jr_8016AB6C.o,tail14.data.o,ov_SC02_031_jr_80171B4C.o,ov_SC02_031_jr_801734BC.o,tail15.data.o,ov_SC02_031_jr_801789AC.o,ov_SC02_031_jr_80178D40.o,tail16.data.o,ov_SC02_031_jr_8017A4AC.o,tail17.data.o,ov_SC02_031_jr_8017AE2C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_031/ov_SC02_031.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_031/ov_SC02_031_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_031/ov_SC02_031_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_031/ov_SC02_031_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_031/ov_SC02_031_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_031/ov_SC02_031_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_031/ov_SC02_031_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_031/ov_SC02_031_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_031/ov_SC02_031_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_031/ov_SC02_031_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_031/ov_SC02_031_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_031/ov_SC02_031_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_031/ov_SC02_031_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_031_CHECK_SHA := config/check.ov_SC02_031.sha -ov_SC02_031_SYMBOLS := config/symbols.ov_SC02_031.txt -ov_SC02_031_SIG := .run/sig.ov_SC02_031.jsonl -ov_SC02_031_GHIDRA_PROG := ov_SC02_031 -ov_SC02_031_VRAM_BASE := 0x80128158 -ov_SC02_031_TEXT_LO := 0x80128158 -ov_SC02_031_TEXT_HI := 0x801B7B0F -ov_SC02_031_ASM_DIR := asm/ov_SC02_031 -ov_SC02_031_SRC_DIR := src/ov_SC02_031 -ov_SC02_031_UNDEF_SYMS := build/ov_SC02_031/undefined_syms_auto.txt -ov_SC02_031_UNDEF_FUNCS := build/ov_SC02_031/undefined_funcs_auto.txt - -# --- ov_SC02_035 (location overlay SC02/FILE_035, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_035_EXE := extracted/retail/SC02.CD.dir/FILE_035.dir/0.4.dec -ov_SC02_035_NAME := ov_SC02_035 -ov_SC02_035_OUT_DIR := build/ov_SC02_035 -ov_SC02_035_OUT := $(ov_SC02_035_OUT_DIR)/$(ov_SC02_035_NAME) -ov_SC02_035_ELF := $(ov_SC02_035_OUT).elf -ov_SC02_035_MAPFILE := $(ov_SC02_035_OUT).map -ov_SC02_035_LD_SCRIPT := $(ov_SC02_035_OUT).ld -ov_SC02_035_SPLAT_YAML := config/splat.ov_SC02_035.yaml -ov_SC02_035_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_035.o,ov_SC02_035_jr_8012ACE0.o,tail2.data.o,ov_SC02_035_jr_80135888.o,tail3.data.o,ov_SC02_035_jr_80135A4C.o,tail4.data.o,ov_SC02_035_jr_80135D20.o,tail5.data.o,ov_SC02_035_jr_801380E0.o,ov_SC02_035_o0c.o,tail6.data.o,ov_SC02_035_jr_8013F350.o,tail7.data.o,ov_SC02_035_jr_8013FFD8.o,tail8.data.o,ov_SC02_035_jr_80140608.o,tail9.data.o,ov_SC02_035_jr_8015444C.o,ov_SC02_035_jr_80154C24.o,ov_SC02_035_jr_801588CC.o,ov_SC02_035_jr_80159C84.o,tail10.data.o,ov_SC02_035_jr_8015A3C8.o,tail11.data.o,ov_SC02_035_jr_8015AE2C.o,tail12.data.o,ov_SC02_035_jr_8015C32C.o,tail13.data.o,ov_SC02_035_jr_8016AB6C.o,tail14.data.o,ov_SC02_035_jr_80171B4C.o,ov_SC02_035_jr_801734BC.o,tail15.data.o,ov_SC02_035_jr_801789AC.o,ov_SC02_035_jr_80178D40.o,tail16.data.o,ov_SC02_035_jr_8017A4AC.o,tail17.data.o,ov_SC02_035_jr_8017AE2C.o,ov_SC02_035_jr_8017BEBC.o,ov_SC02_035_jr_80183FD4.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_035/ov_SC02_035.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_035/ov_SC02_035_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_035/ov_SC02_035_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_035/ov_SC02_035_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_035/ov_SC02_035_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_035/ov_SC02_035_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_035/ov_SC02_035_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_035/ov_SC02_035_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_035/ov_SC02_035_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_035/ov_SC02_035_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_035/ov_SC02_035_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_035/ov_SC02_035_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_035/ov_SC02_035_jr_8017BEBC.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC02_035/ov_SC02_035_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_035_CHECK_SHA := config/check.ov_SC02_035.sha -ov_SC02_035_SYMBOLS := config/symbols.ov_SC02_035.txt -ov_SC02_035_SIG := .run/sig.ov_SC02_035.jsonl -ov_SC02_035_GHIDRA_PROG := ov_SC02_035 -ov_SC02_035_VRAM_BASE := 0x80128158 -ov_SC02_035_TEXT_LO := 0x80128158 -ov_SC02_035_TEXT_HI := 0x801BEA47 -ov_SC02_035_ASM_DIR := asm/ov_SC02_035 -ov_SC02_035_SRC_DIR := src/ov_SC02_035 -ov_SC02_035_UNDEF_SYMS := build/ov_SC02_035/undefined_syms_auto.txt -ov_SC02_035_UNDEF_FUNCS := build/ov_SC02_035/undefined_funcs_auto.txt - -# --- ov_SC02_039 (location overlay SC02/FILE_039, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_039_EXE := extracted/retail/SC02.CD.dir/FILE_039.dir/0.4.dec -ov_SC02_039_NAME := ov_SC02_039 -ov_SC02_039_OUT_DIR := build/ov_SC02_039 -ov_SC02_039_OUT := $(ov_SC02_039_OUT_DIR)/$(ov_SC02_039_NAME) -ov_SC02_039_ELF := $(ov_SC02_039_OUT).elf -ov_SC02_039_MAPFILE := $(ov_SC02_039_OUT).map -ov_SC02_039_LD_SCRIPT := $(ov_SC02_039_OUT).ld -ov_SC02_039_SPLAT_YAML := config/splat.ov_SC02_039.yaml -ov_SC02_039_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_039.o,ov_SC02_039_jr_8012ACE0.o,tail2.data.o,ov_SC02_039_jr_80135888.o,tail3.data.o,ov_SC02_039_jr_80135A4C.o,tail4.data.o,ov_SC02_039_jr_80135D20.o,tail5.data.o,ov_SC02_039_jr_801380E0.o,ov_SC02_039_o0c.o,tail6.data.o,ov_SC02_039_jr_8013F350.o,tail7.data.o,ov_SC02_039_jr_8013FFD8.o,tail8.data.o,ov_SC02_039_jr_80140608.o,tail9.data.o,ov_SC02_039_jr_8015444C.o,ov_SC02_039_jr_80154C24.o,ov_SC02_039_jr_801588CC.o,ov_SC02_039_jr_80159C84.o,tail10.data.o,ov_SC02_039_jr_8015A3C8.o,tail11.data.o,ov_SC02_039_jr_8015AE2C.o,tail12.data.o,ov_SC02_039_jr_8015C32C.o,tail13.data.o,ov_SC02_039_jr_8016AB6C.o,tail14.data.o,ov_SC02_039_jr_80171B4C.o,ov_SC02_039_jr_801734BC.o,tail15.data.o,ov_SC02_039_jr_801789AC.o,ov_SC02_039_jr_80178D40.o,tail16.data.o,ov_SC02_039_jr_8017A4AC.o,tail17.data.o,ov_SC02_039_jr_8017AE2C.o,ov_SC02_039_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_039/ov_SC02_039.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_039/ov_SC02_039_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_039/ov_SC02_039_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_039/ov_SC02_039_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_039/ov_SC02_039_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_039/ov_SC02_039_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_039/ov_SC02_039_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_039/ov_SC02_039_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_039/ov_SC02_039_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_039/ov_SC02_039_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_039/ov_SC02_039_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_039/ov_SC02_039_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_039/ov_SC02_039_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_039_CHECK_SHA := config/check.ov_SC02_039.sha -ov_SC02_039_SYMBOLS := config/symbols.ov_SC02_039.txt -ov_SC02_039_SIG := .run/sig.ov_SC02_039.jsonl -ov_SC02_039_GHIDRA_PROG := ov_SC02_039 -ov_SC02_039_VRAM_BASE := 0x80128158 -ov_SC02_039_TEXT_LO := 0x80128158 -ov_SC02_039_TEXT_HI := 0x801A0DFF -ov_SC02_039_ASM_DIR := asm/ov_SC02_039 -ov_SC02_039_SRC_DIR := src/ov_SC02_039 -ov_SC02_039_UNDEF_SYMS := build/ov_SC02_039/undefined_syms_auto.txt -ov_SC02_039_UNDEF_FUNCS := build/ov_SC02_039/undefined_funcs_auto.txt - -# --- ov_SC02_041 (location overlay SC02/FILE_041, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC02_041_EXE := extracted/retail/SC02.CD.dir/FILE_041.dir/0.4.dec -ov_SC02_041_NAME := ov_SC02_041 -ov_SC02_041_OUT_DIR := build/ov_SC02_041 -ov_SC02_041_OUT := $(ov_SC02_041_OUT_DIR)/$(ov_SC02_041_NAME) -ov_SC02_041_ELF := $(ov_SC02_041_OUT).elf -ov_SC02_041_MAPFILE := $(ov_SC02_041_OUT).map -ov_SC02_041_LD_SCRIPT := $(ov_SC02_041_OUT).ld -ov_SC02_041_SPLAT_YAML := config/splat.ov_SC02_041.yaml -ov_SC02_041_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_041.o,ov_SC02_041_jr_8012ACE0.o,tail2.data.o,ov_SC02_041_jr_80135888.o,tail3.data.o,ov_SC02_041_jr_80135A4C.o,tail4.data.o,ov_SC02_041_jr_80135D20.o,tail5.data.o,ov_SC02_041_jr_801380E0.o,ov_SC02_041_o0c.o,tail6.data.o,ov_SC02_041_jr_8013F350.o,tail7.data.o,ov_SC02_041_jr_8013FFD8.o,tail8.data.o,ov_SC02_041_jr_80140608.o,tail9.data.o,ov_SC02_041_jr_8015444C.o,ov_SC02_041_jr_80154C24.o,ov_SC02_041_jr_801588CC.o,ov_SC02_041_jr_80159C84.o,tail10.data.o,ov_SC02_041_jr_8015A3C8.o,tail11.data.o,ov_SC02_041_jr_8015AE2C.o,tail12.data.o,ov_SC02_041_jr_8015C32C.o,tail13.data.o,ov_SC02_041_jr_8016AB6C.o,tail14.data.o,ov_SC02_041_jr_80171B4C.o,ov_SC02_041_jr_801734BC.o,tail15.data.o,ov_SC02_041_jr_801789AC.o,ov_SC02_041_jr_80178D40.o,tail16.data.o,ov_SC02_041_jr_8017A4AC.o,tail17.data.o,ov_SC02_041_jr_8017AE2C.o,ov_SC02_041_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_041/ov_SC02_041.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC02_041/ov_SC02_041_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC02_041/ov_SC02_041_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_041/ov_SC02_041_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_041/ov_SC02_041_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC02_041/ov_SC02_041_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC02_041/ov_SC02_041_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC02_041/ov_SC02_041_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC02_041/ov_SC02_041_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_041/ov_SC02_041_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_041/ov_SC02_041_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_041/ov_SC02_041_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_041/ov_SC02_041_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_041_CHECK_SHA := config/check.ov_SC02_041.sha -ov_SC02_041_SYMBOLS := config/symbols.ov_SC02_041.txt -ov_SC02_041_SIG := .run/sig.ov_SC02_041.jsonl -ov_SC02_041_GHIDRA_PROG := ov_SC02_041 -ov_SC02_041_VRAM_BASE := 0x80128158 -ov_SC02_041_TEXT_LO := 0x80128158 -ov_SC02_041_TEXT_HI := 0x801B96D7 -ov_SC02_041_ASM_DIR := asm/ov_SC02_041 -ov_SC02_041_SRC_DIR := src/ov_SC02_041 -ov_SC02_041_UNDEF_SYMS := build/ov_SC02_041/undefined_syms_auto.txt -ov_SC02_041_UNDEF_FUNCS := build/ov_SC02_041/undefined_funcs_auto.txt - -# --- ov_SC03_003 (location overlay SC03/FILE_003, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_003_EXE := extracted/retail/SC03.CD.dir/FILE_003.dir/0.4.dec -ov_SC03_003_NAME := ov_SC03_003 -ov_SC03_003_OUT_DIR := build/ov_SC03_003 -ov_SC03_003_OUT := $(ov_SC03_003_OUT_DIR)/$(ov_SC03_003_NAME) -ov_SC03_003_ELF := $(ov_SC03_003_OUT).elf -ov_SC03_003_MAPFILE := $(ov_SC03_003_OUT).map -ov_SC03_003_LD_SCRIPT := $(ov_SC03_003_OUT).ld -ov_SC03_003_SPLAT_YAML := config/splat.ov_SC03_003.yaml -ov_SC03_003_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_003.o,ov_SC03_003_jr_8012ACE0.o,tail2.data.o,ov_SC03_003_jr_80135888.o,tail3.data.o,ov_SC03_003_jr_80135A4C.o,tail4.data.o,ov_SC03_003_jr_80135D20.o,tail5.data.o,ov_SC03_003_jr_801380E0.o,ov_SC03_003_o0c.o,tail6.data.o,ov_SC03_003_jr_8013F350.o,tail7.data.o,ov_SC03_003_jr_8013FFD8.o,tail8.data.o,ov_SC03_003_jr_80140608.o,tail9.data.o,ov_SC03_003_jr_8015444C.o,ov_SC03_003_jr_80154C24.o,ov_SC03_003_jr_801588CC.o,ov_SC03_003_jr_80159C84.o,tail10.data.o,ov_SC03_003_jr_8015A3C8.o,tail11.data.o,ov_SC03_003_jr_8015AE2C.o,tail12.data.o,ov_SC03_003_jr_8015C32C.o,tail13.data.o,ov_SC03_003_jr_8016AB6C.o,tail14.data.o,ov_SC03_003_jr_80171B4C.o,ov_SC03_003_jr_801734BC.o,tail15.data.o,ov_SC03_003_jr_801789AC.o,ov_SC03_003_jr_80178D40.o,tail16.data.o,ov_SC03_003_jr_8017A4AC.o,tail17.data.o,ov_SC03_003_jr_8017AE2C.o,ov_SC03_003_jr_8017D5C0.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_003/ov_SC03_003.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_003/ov_SC03_003_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_003/ov_SC03_003_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_003/ov_SC03_003_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_003/ov_SC03_003_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_003/ov_SC03_003_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_003/ov_SC03_003_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_003/ov_SC03_003_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_003/ov_SC03_003_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_003/ov_SC03_003_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_003/ov_SC03_003_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_003/ov_SC03_003_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_003/ov_SC03_003_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_003/ov_SC03_003_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_003_CHECK_SHA := config/check.ov_SC03_003.sha -ov_SC03_003_SYMBOLS := config/symbols.ov_SC03_003.txt -ov_SC03_003_SIG := .run/sig.ov_SC03_003.jsonl -ov_SC03_003_GHIDRA_PROG := ov_SC03_003 -ov_SC03_003_VRAM_BASE := 0x80128158 -ov_SC03_003_TEXT_LO := 0x80128158 -ov_SC03_003_TEXT_HI := 0x8018FB7D -ov_SC03_003_ASM_DIR := asm/ov_SC03_003 -ov_SC03_003_SRC_DIR := src/ov_SC03_003 -ov_SC03_003_UNDEF_SYMS := build/ov_SC03_003/undefined_syms_auto.txt -ov_SC03_003_UNDEF_FUNCS := build/ov_SC03_003/undefined_funcs_auto.txt - -# --- ov_SC03_007 (location overlay SC03/FILE_007, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_007_EXE := extracted/retail/SC03.CD.dir/FILE_007.dir/0.4.dec -ov_SC03_007_NAME := ov_SC03_007 -ov_SC03_007_OUT_DIR := build/ov_SC03_007 -ov_SC03_007_OUT := $(ov_SC03_007_OUT_DIR)/$(ov_SC03_007_NAME) -ov_SC03_007_ELF := $(ov_SC03_007_OUT).elf -ov_SC03_007_MAPFILE := $(ov_SC03_007_OUT).map -ov_SC03_007_LD_SCRIPT := $(ov_SC03_007_OUT).ld -ov_SC03_007_SPLAT_YAML := config/splat.ov_SC03_007.yaml -ov_SC03_007_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_007.o,ov_SC03_007_jr_8012ACE0.o,tail2.data.o,ov_SC03_007_jr_80135888.o,tail3.data.o,ov_SC03_007_jr_80135A4C.o,tail4.data.o,ov_SC03_007_jr_80135D20.o,tail5.data.o,ov_SC03_007_jr_801380E0.o,ov_SC03_007_o0c.o,tail6.data.o,ov_SC03_007_jr_8013F350.o,tail7.data.o,ov_SC03_007_jr_8013FFD8.o,tail8.data.o,ov_SC03_007_jr_80140608.o,tail9.data.o,ov_SC03_007_jr_8015444C.o,ov_SC03_007_jr_80154C24.o,ov_SC03_007_jr_801588CC.o,ov_SC03_007_jr_80159C84.o,tail10.data.o,ov_SC03_007_jr_8015A3C8.o,tail11.data.o,ov_SC03_007_jr_8015AE2C.o,tail12.data.o,ov_SC03_007_jr_8015C32C.o,tail13.data.o,ov_SC03_007_jr_8016AB6C.o,tail14.data.o,ov_SC03_007_jr_80171B4C.o,ov_SC03_007_jr_801734BC.o,tail15.data.o,ov_SC03_007_jr_801789AC.o,ov_SC03_007_jr_80178D40.o,tail16.data.o,ov_SC03_007_jr_8017A4AC.o,tail17.data.o,ov_SC03_007_jr_8017AE2C.o,tail18.data.o,ov_SC03_007_jr_80181F94.o,ov_SC03_007_jr_80183894.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_007/ov_SC03_007.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_007/ov_SC03_007_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_007/ov_SC03_007_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_007/ov_SC03_007_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_007/ov_SC03_007_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_007/ov_SC03_007_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_007/ov_SC03_007_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_007/ov_SC03_007_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_007/ov_SC03_007_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_007/ov_SC03_007_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_007/ov_SC03_007_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_007/ov_SC03_007_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_007/ov_SC03_007_jr_8017AE2C.o: JTBL_PADS := 0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x34,+0x64 -build/src/ov_SC03_007/ov_SC03_007_jr_80183894.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_007/ov_SC03_007_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_007_CHECK_SHA := config/check.ov_SC03_007.sha -ov_SC03_007_SYMBOLS := config/symbols.ov_SC03_007.txt -ov_SC03_007_SIG := .run/sig.ov_SC03_007.jsonl -ov_SC03_007_GHIDRA_PROG := ov_SC03_007 -ov_SC03_007_VRAM_BASE := 0x80128158 -ov_SC03_007_TEXT_LO := 0x80128158 -ov_SC03_007_TEXT_HI := 0x801EB2C7 -ov_SC03_007_ASM_DIR := asm/ov_SC03_007 -ov_SC03_007_SRC_DIR := src/ov_SC03_007 -ov_SC03_007_UNDEF_SYMS := build/ov_SC03_007/undefined_syms_auto.txt -ov_SC03_007_UNDEF_FUNCS := build/ov_SC03_007/undefined_funcs_auto.txt - -# --- ov_SC03_010 (location overlay SC03/FILE_010, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_010_EXE := extracted/retail/SC03.CD.dir/FILE_010.dir/0.4.dec -ov_SC03_010_NAME := ov_SC03_010 -ov_SC03_010_OUT_DIR := build/ov_SC03_010 -ov_SC03_010_OUT := $(ov_SC03_010_OUT_DIR)/$(ov_SC03_010_NAME) -ov_SC03_010_ELF := $(ov_SC03_010_OUT).elf -ov_SC03_010_MAPFILE := $(ov_SC03_010_OUT).map -ov_SC03_010_LD_SCRIPT := $(ov_SC03_010_OUT).ld -ov_SC03_010_SPLAT_YAML := config/splat.ov_SC03_010.yaml -ov_SC03_010_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_010.o,ov_SC03_010_jr_8012ACE0.o,tail2.data.o,ov_SC03_010_jr_80135888.o,tail3.data.o,ov_SC03_010_jr_80135A4C.o,tail4.data.o,ov_SC03_010_jr_80135D20.o,tail5.data.o,ov_SC03_010_jr_801380E0.o,ov_SC03_010_o0c.o,tail6.data.o,ov_SC03_010_jr_8013F350.o,tail7.data.o,ov_SC03_010_jr_8013FFD8.o,tail8.data.o,ov_SC03_010_jr_80140608.o,tail9.data.o,ov_SC03_010_jr_8015444C.o,ov_SC03_010_jr_80154C24.o,ov_SC03_010_jr_801588CC.o,ov_SC03_010_jr_80159C84.o,tail10.data.o,ov_SC03_010_jr_8015A3C8.o,tail11.data.o,ov_SC03_010_jr_8015AE2C.o,tail12.data.o,ov_SC03_010_jr_8015C32C.o,tail13.data.o,ov_SC03_010_jr_8016AB6C.o,tail14.data.o,ov_SC03_010_jr_80171B4C.o,ov_SC03_010_jr_801734BC.o,tail15.data.o,ov_SC03_010_jr_801789AC.o,ov_SC03_010_jr_80178D40.o,tail16.data.o,ov_SC03_010_jr_8017A4AC.o,tail17.data.o,ov_SC03_010_jr_8017AE2C.o,ov_SC03_010_jr_8017C730.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_010/ov_SC03_010.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_010/ov_SC03_010_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_010/ov_SC03_010_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_010/ov_SC03_010_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_010/ov_SC03_010_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_010/ov_SC03_010_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_010/ov_SC03_010_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_010/ov_SC03_010_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_010/ov_SC03_010_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_010/ov_SC03_010_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_010/ov_SC03_010_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_010/ov_SC03_010_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_010/ov_SC03_010_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_010_CHECK_SHA := config/check.ov_SC03_010.sha -ov_SC03_010_SYMBOLS := config/symbols.ov_SC03_010.txt -ov_SC03_010_SIG := .run/sig.ov_SC03_010.jsonl -ov_SC03_010_GHIDRA_PROG := ov_SC03_010 -ov_SC03_010_VRAM_BASE := 0x80128158 -ov_SC03_010_TEXT_LO := 0x80128158 -ov_SC03_010_TEXT_HI := 0x801A01CF -ov_SC03_010_ASM_DIR := asm/ov_SC03_010 -ov_SC03_010_SRC_DIR := src/ov_SC03_010 -ov_SC03_010_UNDEF_SYMS := build/ov_SC03_010/undefined_syms_auto.txt -ov_SC03_010_UNDEF_FUNCS := build/ov_SC03_010/undefined_funcs_auto.txt - -# --- ov_SC03_011 (location overlay SC03/FILE_011, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_011_EXE := extracted/retail/SC03.CD.dir/FILE_011.dir/0.4.dec -ov_SC03_011_NAME := ov_SC03_011 -ov_SC03_011_OUT_DIR := build/ov_SC03_011 -ov_SC03_011_OUT := $(ov_SC03_011_OUT_DIR)/$(ov_SC03_011_NAME) -ov_SC03_011_ELF := $(ov_SC03_011_OUT).elf -ov_SC03_011_MAPFILE := $(ov_SC03_011_OUT).map -ov_SC03_011_LD_SCRIPT := $(ov_SC03_011_OUT).ld -ov_SC03_011_SPLAT_YAML := config/splat.ov_SC03_011.yaml -ov_SC03_011_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_011.o,ov_SC03_011_jr_8012ACE0.o,tail2.data.o,ov_SC03_011_jr_80135888.o,tail3.data.o,ov_SC03_011_jr_80135A4C.o,tail4.data.o,ov_SC03_011_jr_80135D20.o,tail5.data.o,ov_SC03_011_jr_801380E0.o,ov_SC03_011_o0c.o,tail6.data.o,ov_SC03_011_jr_8013F350.o,tail7.data.o,ov_SC03_011_jr_8014032C.o,tail8.data.o,ov_SC03_011_jr_80140608.o,tail9.data.o,ov_SC03_011_jr_8015444C.o,ov_SC03_011_jr_80154C24.o,ov_SC03_011_jr_801588CC.o,ov_SC03_011_jr_80159C84.o,tail10.data.o,ov_SC03_011_jr_8015A3C8.o,tail11.data.o,ov_SC03_011_jr_8015AE2C.o,tail12.data.o,ov_SC03_011_jr_8015C32C.o,tail13.data.o,ov_SC03_011_jr_8016AB6C.o,tail14.data.o,ov_SC03_011_jr_80171B4C.o,ov_SC03_011_jr_801734BC.o,tail15.data.o,ov_SC03_011_jr_801789AC.o,ov_SC03_011_jr_80178D40.o,tail16.data.o,ov_SC03_011_jr_8017A4AC.o,tail17.data.o,ov_SC03_011_jr_8017AE2C.o,ov_SC03_011_jr_8017C730.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_011/ov_SC03_011.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_011/ov_SC03_011_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_011/ov_SC03_011_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_011/ov_SC03_011_jr_8013F350.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_011/ov_SC03_011_jr_8014032C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_011/ov_SC03_011_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_011/ov_SC03_011_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_011/ov_SC03_011_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_011/ov_SC03_011_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_011/ov_SC03_011_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_011/ov_SC03_011_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_011/ov_SC03_011_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_011/ov_SC03_011_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_011_CHECK_SHA := config/check.ov_SC03_011.sha -ov_SC03_011_SYMBOLS := config/symbols.ov_SC03_011.txt -ov_SC03_011_SIG := .run/sig.ov_SC03_011.jsonl -ov_SC03_011_GHIDRA_PROG := ov_SC03_011 -ov_SC03_011_VRAM_BASE := 0x80128158 -ov_SC03_011_TEXT_LO := 0x80128158 -ov_SC03_011_TEXT_HI := 0x801A2403 -ov_SC03_011_ASM_DIR := asm/ov_SC03_011 -ov_SC03_011_SRC_DIR := src/ov_SC03_011 -ov_SC03_011_UNDEF_SYMS := build/ov_SC03_011/undefined_syms_auto.txt -ov_SC03_011_UNDEF_FUNCS := build/ov_SC03_011/undefined_funcs_auto.txt - -# --- ov_SC03_012 (location overlay SC03/FILE_012, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_012_EXE := extracted/retail/SC03.CD.dir/FILE_012.dir/0.4.dec -ov_SC03_012_NAME := ov_SC03_012 -ov_SC03_012_OUT_DIR := build/ov_SC03_012 -ov_SC03_012_OUT := $(ov_SC03_012_OUT_DIR)/$(ov_SC03_012_NAME) -ov_SC03_012_ELF := $(ov_SC03_012_OUT).elf -ov_SC03_012_MAPFILE := $(ov_SC03_012_OUT).map -ov_SC03_012_LD_SCRIPT := $(ov_SC03_012_OUT).ld -ov_SC03_012_SPLAT_YAML := config/splat.ov_SC03_012.yaml -ov_SC03_012_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_012.o,ov_SC03_012_jr_8012ACE0.o,tail2.data.o,ov_SC03_012_jr_80135888.o,tail3.data.o,ov_SC03_012_jr_80135A4C.o,tail4.data.o,ov_SC03_012_jr_80135D20.o,tail5.data.o,ov_SC03_012_jr_801380E0.o,ov_SC03_012_o0c.o,tail6.data.o,ov_SC03_012_jr_8013F350.o,tail7.data.o,ov_SC03_012_jr_8013FFD8.o,tail8.data.o,ov_SC03_012_jr_80140608.o,tail9.data.o,ov_SC03_012_jr_8015444C.o,ov_SC03_012_jr_80154C24.o,ov_SC03_012_jr_801588CC.o,ov_SC03_012_jr_80159C84.o,tail10.data.o,ov_SC03_012_jr_8015A3C8.o,tail11.data.o,ov_SC03_012_jr_8015AE2C.o,tail12.data.o,ov_SC03_012_jr_8015C32C.o,tail13.data.o,ov_SC03_012_jr_8016AB6C.o,tail14.data.o,ov_SC03_012_jr_80171B4C.o,ov_SC03_012_jr_801734BC.o,tail15.data.o,ov_SC03_012_jr_801789AC.o,ov_SC03_012_jr_80178D40.o,tail16.data.o,ov_SC03_012_jr_8017A4AC.o,tail17.data.o,ov_SC03_012_jr_8017AE2C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_012/ov_SC03_012.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_012/ov_SC03_012_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_012/ov_SC03_012_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_012/ov_SC03_012_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_012/ov_SC03_012_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_012/ov_SC03_012_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_012/ov_SC03_012_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_012/ov_SC03_012_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_012/ov_SC03_012_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_012/ov_SC03_012_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_012/ov_SC03_012_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_012/ov_SC03_012_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_012/ov_SC03_012_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_012/ov_SC03_012_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_012_CHECK_SHA := config/check.ov_SC03_012.sha -ov_SC03_012_SYMBOLS := config/symbols.ov_SC03_012.txt -ov_SC03_012_SIG := .run/sig.ov_SC03_012.jsonl -ov_SC03_012_GHIDRA_PROG := ov_SC03_012 -ov_SC03_012_VRAM_BASE := 0x80128158 -ov_SC03_012_TEXT_LO := 0x80128158 -ov_SC03_012_TEXT_HI := 0x8019515F -ov_SC03_012_ASM_DIR := asm/ov_SC03_012 -ov_SC03_012_SRC_DIR := src/ov_SC03_012 -ov_SC03_012_UNDEF_SYMS := build/ov_SC03_012/undefined_syms_auto.txt -ov_SC03_012_UNDEF_FUNCS := build/ov_SC03_012/undefined_funcs_auto.txt - -# --- ov_SC03_013 (location overlay SC03/FILE_013, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_013_EXE := extracted/retail/SC03.CD.dir/FILE_013.dir/0.4.dec -ov_SC03_013_NAME := ov_SC03_013 -ov_SC03_013_OUT_DIR := build/ov_SC03_013 -ov_SC03_013_OUT := $(ov_SC03_013_OUT_DIR)/$(ov_SC03_013_NAME) -ov_SC03_013_ELF := $(ov_SC03_013_OUT).elf -ov_SC03_013_MAPFILE := $(ov_SC03_013_OUT).map -ov_SC03_013_LD_SCRIPT := $(ov_SC03_013_OUT).ld -ov_SC03_013_SPLAT_YAML := config/splat.ov_SC03_013.yaml -ov_SC03_013_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_013.o,ov_SC03_013_jr_8012ACE0.o,tail2.data.o,ov_SC03_013_jr_80135888.o,tail3.data.o,ov_SC03_013_jr_80135A4C.o,tail4.data.o,ov_SC03_013_jr_80135D20.o,tail5.data.o,ov_SC03_013_jr_801380E0.o,ov_SC03_013_o0c.o,tail6.data.o,ov_SC03_013_jr_8013F350.o,tail7.data.o,ov_SC03_013_jr_8013FFD8.o,tail8.data.o,ov_SC03_013_jr_80140608.o,tail9.data.o,ov_SC03_013_jr_8015444C.o,ov_SC03_013_jr_80154C24.o,ov_SC03_013_jr_801588CC.o,ov_SC03_013_jr_80159C84.o,tail10.data.o,ov_SC03_013_jr_8015A3C8.o,tail11.data.o,ov_SC03_013_jr_8015AE2C.o,tail12.data.o,ov_SC03_013_jr_8015C32C.o,tail13.data.o,ov_SC03_013_jr_8016AB6C.o,tail14.data.o,ov_SC03_013_jr_80171B4C.o,ov_SC03_013_jr_801734BC.o,tail15.data.o,ov_SC03_013_jr_801789AC.o,ov_SC03_013_jr_80178D40.o,tail16.data.o,ov_SC03_013_jr_8017A4AC.o,tail17.data.o,ov_SC03_013_jr_8017AE2C.o,ov_SC03_013_jr_8017C730.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_013/ov_SC03_013.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_013/ov_SC03_013_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_013/ov_SC03_013_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_013/ov_SC03_013_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_013/ov_SC03_013_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_013/ov_SC03_013_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_013/ov_SC03_013_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_013/ov_SC03_013_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_013/ov_SC03_013_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_013/ov_SC03_013_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_013/ov_SC03_013_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_013/ov_SC03_013_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_013/ov_SC03_013_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_013_CHECK_SHA := config/check.ov_SC03_013.sha -ov_SC03_013_SYMBOLS := config/symbols.ov_SC03_013.txt -ov_SC03_013_SIG := .run/sig.ov_SC03_013.jsonl -ov_SC03_013_GHIDRA_PROG := ov_SC03_013 -ov_SC03_013_VRAM_BASE := 0x80128158 -ov_SC03_013_TEXT_LO := 0x80128158 -ov_SC03_013_TEXT_HI := 0x801AD557 -ov_SC03_013_ASM_DIR := asm/ov_SC03_013 -ov_SC03_013_SRC_DIR := src/ov_SC03_013 -ov_SC03_013_UNDEF_SYMS := build/ov_SC03_013/undefined_syms_auto.txt -ov_SC03_013_UNDEF_FUNCS := build/ov_SC03_013/undefined_funcs_auto.txt - -# --- ov_SC03_014 (location overlay SC03/FILE_014, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_014_EXE := extracted/retail/SC03.CD.dir/FILE_014.dir/0.4.dec -ov_SC03_014_NAME := ov_SC03_014 -ov_SC03_014_OUT_DIR := build/ov_SC03_014 -ov_SC03_014_OUT := $(ov_SC03_014_OUT_DIR)/$(ov_SC03_014_NAME) -ov_SC03_014_ELF := $(ov_SC03_014_OUT).elf -ov_SC03_014_MAPFILE := $(ov_SC03_014_OUT).map -ov_SC03_014_LD_SCRIPT := $(ov_SC03_014_OUT).ld -ov_SC03_014_SPLAT_YAML := config/splat.ov_SC03_014.yaml -ov_SC03_014_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_014.o,ov_SC03_014_jr_8012ACE0.o,tail2.data.o,ov_SC03_014_jr_80135888.o,tail3.data.o,ov_SC03_014_jr_80135A4C.o,tail4.data.o,ov_SC03_014_jr_80135D20.o,tail5.data.o,ov_SC03_014_jr_801380E0.o,ov_SC03_014_o0e.o,tail6.data.o,ov_SC03_014_jr_8013F350.o,tail7.data.o,ov_SC03_014_jr_8013FFD8.o,tail8.data.o,ov_SC03_014_jr_80140608.o,tail9.data.o,ov_SC03_014_jr_8015444C.o,ov_SC03_014_jr_80154C24.o,ov_SC03_014_jr_801588CC.o,ov_SC03_014_jr_80159C84.o,tail10.data.o,ov_SC03_014_jr_8015A3C8.o,tail11.data.o,ov_SC03_014_jr_8015AE2C.o,tail12.data.o,ov_SC03_014_jr_8015C32C.o,tail13.data.o,ov_SC03_014_jr_8016AB6C.o,tail14.data.o,ov_SC03_014_jr_80171B4C.o,ov_SC03_014_jr_801734BC.o,tail15.data.o,ov_SC03_014_jr_801789AC.o,ov_SC03_014_jr_80178D40.o,tail16.data.o,ov_SC03_014_jr_8017A4AC.o,tail17.data.o,ov_SC03_014_jr_8017AE2C.o,tail18.data.o,ov_SC03_014_jr_8017EB7C.o,tail19.data.o,ov_SC03_014_jr_801848E4.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_014/ov_SC03_014.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o: JTBL_PADS := 0,0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18,+0x30,+0x50,+0x68 -build/src/ov_SC03_014/ov_SC03_014_o0e.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_014_CHECK_SHA := config/check.ov_SC03_014.sha -ov_SC03_014_SYMBOLS := config/symbols.ov_SC03_014.txt -ov_SC03_014_SIG := .run/sig.ov_SC03_014.jsonl -ov_SC03_014_GHIDRA_PROG := ov_SC03_014 -ov_SC03_014_VRAM_BASE := 0x80128158 -ov_SC03_014_TEXT_LO := 0x80128158 -ov_SC03_014_TEXT_HI := 0x801EB03F -ov_SC03_014_ASM_DIR := asm/ov_SC03_014 -ov_SC03_014_SRC_DIR := src/ov_SC03_014 -ov_SC03_014_UNDEF_SYMS := build/ov_SC03_014/undefined_syms_auto.txt -ov_SC03_014_UNDEF_FUNCS := build/ov_SC03_014/undefined_funcs_auto.txt - -# --- ov_SC03_015 (location overlay SC03/FILE_015, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_015_EXE := extracted/retail/SC03.CD.dir/FILE_015.dir/0.4.dec -ov_SC03_015_NAME := ov_SC03_015 -ov_SC03_015_OUT_DIR := build/ov_SC03_015 -ov_SC03_015_OUT := $(ov_SC03_015_OUT_DIR)/$(ov_SC03_015_NAME) -ov_SC03_015_ELF := $(ov_SC03_015_OUT).elf -ov_SC03_015_MAPFILE := $(ov_SC03_015_OUT).map -ov_SC03_015_LD_SCRIPT := $(ov_SC03_015_OUT).ld -ov_SC03_015_SPLAT_YAML := config/splat.ov_SC03_015.yaml -ov_SC03_015_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_015.o,ov_SC03_015_jr_8012ACE0.o,tail2.data.o,ov_SC03_015_jr_80135888.o,tail3.data.o,ov_SC03_015_jr_80135A4C.o,tail4.data.o,ov_SC03_015_jr_80135D20.o,tail5.data.o,ov_SC03_015_jr_801380E0.o,ov_SC03_015_o0e.o,tail6.data.o,ov_SC03_015_jr_8013F350.o,tail7.data.o,ov_SC03_015_jr_8013FFD8.o,tail8.data.o,ov_SC03_015_jr_80140608.o,tail9.data.o,ov_SC03_015_jr_8015444C.o,ov_SC03_015_jr_80154C24.o,ov_SC03_015_jr_801588CC.o,ov_SC03_015_jr_80159C84.o,tail10.data.o,ov_SC03_015_jr_8015A3C8.o,tail11.data.o,ov_SC03_015_jr_8015AE2C.o,tail12.data.o,ov_SC03_015_jr_8015C32C.o,tail13.data.o,ov_SC03_015_jr_8016AB6C.o,tail14.data.o,ov_SC03_015_jr_80171B4C.o,ov_SC03_015_jr_801734BC.o,tail15.data.o,ov_SC03_015_jr_801789AC.o,ov_SC03_015_jr_80178D40.o,tail16.data.o,ov_SC03_015_jr_8017A4AC.o,tail17.data.o,ov_SC03_015_jr_8017AE2C.o,tail18.data.o,ov_SC03_015_jr_8017EB7C.o,tail19.data.o,ov_SC03_015_jr_80184F14.o,tail20.data.o,ov_SC03_015_jr_80185B44.o,tail21.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_015/ov_SC03_015.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_015/ov_SC03_015_jr_80185B44.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_015/ov_SC03_015_o0e.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_015_CHECK_SHA := config/check.ov_SC03_015.sha -ov_SC03_015_SYMBOLS := config/symbols.ov_SC03_015.txt -ov_SC03_015_SIG := .run/sig.ov_SC03_015.jsonl -ov_SC03_015_GHIDRA_PROG := ov_SC03_015 -ov_SC03_015_VRAM_BASE := 0x80128158 -ov_SC03_015_TEXT_LO := 0x80128158 -ov_SC03_015_TEXT_HI := 0x801EB03F -ov_SC03_015_ASM_DIR := asm/ov_SC03_015 -ov_SC03_015_SRC_DIR := src/ov_SC03_015 -ov_SC03_015_UNDEF_SYMS := build/ov_SC03_015/undefined_syms_auto.txt -ov_SC03_015_UNDEF_FUNCS := build/ov_SC03_015/undefined_funcs_auto.txt - -# --- ov_SC03_023 (location overlay SC03/FILE_023, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_023_EXE := extracted/retail/SC03.CD.dir/FILE_023.dir/0.4.dec -ov_SC03_023_NAME := ov_SC03_023 -ov_SC03_023_OUT_DIR := build/ov_SC03_023 -ov_SC03_023_OUT := $(ov_SC03_023_OUT_DIR)/$(ov_SC03_023_NAME) -ov_SC03_023_ELF := $(ov_SC03_023_OUT).elf -ov_SC03_023_MAPFILE := $(ov_SC03_023_OUT).map -ov_SC03_023_LD_SCRIPT := $(ov_SC03_023_OUT).ld -ov_SC03_023_SPLAT_YAML := config/splat.ov_SC03_023.yaml -ov_SC03_023_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_023.o,ov_SC03_023_jr_8012ACE0.o,tail2.data.o,ov_SC03_023_jr_80135888.o,tail3.data.o,ov_SC03_023_jr_80135A4C.o,tail4.data.o,ov_SC03_023_jr_80135D20.o,tail5.data.o,ov_SC03_023_jr_801380E0.o,ov_SC03_023_o0c.o,tail6.data.o,ov_SC03_023_jr_8013F350.o,tail7.data.o,ov_SC03_023_jr_8013FFD8.o,tail8.data.o,ov_SC03_023_jr_80140608.o,tail9.data.o,ov_SC03_023_jr_8015444C.o,ov_SC03_023_jr_80154C24.o,ov_SC03_023_jr_801588CC.o,ov_SC03_023_jr_80159C84.o,tail10.data.o,ov_SC03_023_jr_8015A3C8.o,tail11.data.o,ov_SC03_023_jr_8015AE2C.o,tail12.data.o,ov_SC03_023_jr_8015C32C.o,tail13.data.o,ov_SC03_023_jr_8016AB6C.o,tail14.data.o,ov_SC03_023_jr_80171B4C.o,ov_SC03_023_jr_801734BC.o,tail15.data.o,ov_SC03_023_jr_801789AC.o,ov_SC03_023_jr_80178D40.o,tail16.data.o,ov_SC03_023_jr_8017A4AC.o,tail17.data.o,ov_SC03_023_jr_8017AE2C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_023/ov_SC03_023.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_023/ov_SC03_023_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_023/ov_SC03_023_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_023/ov_SC03_023_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_023/ov_SC03_023_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_023/ov_SC03_023_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_023/ov_SC03_023_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_023/ov_SC03_023_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_023/ov_SC03_023_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_023/ov_SC03_023_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_023/ov_SC03_023_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_023/ov_SC03_023_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_023/ov_SC03_023_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_023/ov_SC03_023_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_023_CHECK_SHA := config/check.ov_SC03_023.sha -ov_SC03_023_SYMBOLS := config/symbols.ov_SC03_023.txt -ov_SC03_023_SIG := .run/sig.ov_SC03_023.jsonl -ov_SC03_023_GHIDRA_PROG := ov_SC03_023 -ov_SC03_023_VRAM_BASE := 0x80128158 -ov_SC03_023_TEXT_LO := 0x80128158 -ov_SC03_023_TEXT_HI := 0x80198D87 -ov_SC03_023_ASM_DIR := asm/ov_SC03_023 -ov_SC03_023_SRC_DIR := src/ov_SC03_023 -ov_SC03_023_UNDEF_SYMS := build/ov_SC03_023/undefined_syms_auto.txt -ov_SC03_023_UNDEF_FUNCS := build/ov_SC03_023/undefined_funcs_auto.txt - -# --- ov_SC03_024 (location overlay SC03/FILE_024, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_024_EXE := extracted/retail/SC03.CD.dir/FILE_024.dir/0.4.dec -ov_SC03_024_NAME := ov_SC03_024 -ov_SC03_024_OUT_DIR := build/ov_SC03_024 -ov_SC03_024_OUT := $(ov_SC03_024_OUT_DIR)/$(ov_SC03_024_NAME) -ov_SC03_024_ELF := $(ov_SC03_024_OUT).elf -ov_SC03_024_MAPFILE := $(ov_SC03_024_OUT).map -ov_SC03_024_LD_SCRIPT := $(ov_SC03_024_OUT).ld -ov_SC03_024_SPLAT_YAML := config/splat.ov_SC03_024.yaml -ov_SC03_024_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_024.o,ov_SC03_024_jr_8012ACE0.o,tail2.data.o,ov_SC03_024_jr_80135888.o,tail3.data.o,ov_SC03_024_jr_80135A4C.o,tail4.data.o,ov_SC03_024_jr_80135D20.o,tail5.data.o,ov_SC03_024_jr_801380E0.o,ov_SC03_024_o0c.o,tail6.data.o,ov_SC03_024_jr_8013F350.o,tail7.data.o,ov_SC03_024_jr_8013FFD8.o,tail8.data.o,ov_SC03_024_jr_80140608.o,tail9.data.o,ov_SC03_024_jr_8015444C.o,ov_SC03_024_jr_80154C24.o,ov_SC03_024_jr_801588CC.o,ov_SC03_024_jr_80159C84.o,tail10.data.o,ov_SC03_024_jr_8015A3C8.o,tail11.data.o,ov_SC03_024_jr_8015AE2C.o,tail12.data.o,ov_SC03_024_jr_8015C32C.o,tail13.data.o,ov_SC03_024_jr_8016AB6C.o,tail14.data.o,ov_SC03_024_jr_80171B4C.o,ov_SC03_024_jr_801734BC.o,tail15.data.o,ov_SC03_024_jr_801789AC.o,ov_SC03_024_jr_80178D40.o,tail16.data.o,ov_SC03_024_jr_8017A4AC.o,tail17.data.o,ov_SC03_024_jr_8017AE2C.o,tail18.data.o,ov_SC03_024_jr_8017DF84.o,tail19.data.o,ov_SC03_024_jr_80183BF8.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_024/ov_SC03_024.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_024/ov_SC03_024_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_024/ov_SC03_024_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_024/ov_SC03_024_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_024/ov_SC03_024_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_024/ov_SC03_024_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_024/ov_SC03_024_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_024/ov_SC03_024_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_024/ov_SC03_024_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_024/ov_SC03_024_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_024/ov_SC03_024_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_024/ov_SC03_024_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_024/ov_SC03_024_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_024_CHECK_SHA := config/check.ov_SC03_024.sha -ov_SC03_024_SYMBOLS := config/symbols.ov_SC03_024.txt -ov_SC03_024_SIG := .run/sig.ov_SC03_024.jsonl -ov_SC03_024_GHIDRA_PROG := ov_SC03_024 -ov_SC03_024_VRAM_BASE := 0x80128158 -ov_SC03_024_TEXT_LO := 0x80128158 -ov_SC03_024_TEXT_HI := 0x801C184F -ov_SC03_024_ASM_DIR := asm/ov_SC03_024 -ov_SC03_024_SRC_DIR := src/ov_SC03_024 -ov_SC03_024_UNDEF_SYMS := build/ov_SC03_024/undefined_syms_auto.txt -ov_SC03_024_UNDEF_FUNCS := build/ov_SC03_024/undefined_funcs_auto.txt - -# --- ov_SC03_028 (location overlay SC03/FILE_028, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_028_EXE := extracted/retail/SC03.CD.dir/FILE_028.dir/0.4.dec -ov_SC03_028_NAME := ov_SC03_028 -ov_SC03_028_OUT_DIR := build/ov_SC03_028 -ov_SC03_028_OUT := $(ov_SC03_028_OUT_DIR)/$(ov_SC03_028_NAME) -ov_SC03_028_ELF := $(ov_SC03_028_OUT).elf -ov_SC03_028_MAPFILE := $(ov_SC03_028_OUT).map -ov_SC03_028_LD_SCRIPT := $(ov_SC03_028_OUT).ld -ov_SC03_028_SPLAT_YAML := config/splat.ov_SC03_028.yaml -ov_SC03_028_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_028.o,ov_SC03_028_jr_8012ACE0.o,tail2.data.o,ov_SC03_028_jr_80135888.o,tail3.data.o,ov_SC03_028_jr_80135A4C.o,tail4.data.o,ov_SC03_028_jr_80135D20.o,tail5.data.o,ov_SC03_028_jr_801380E0.o,ov_SC03_028_o0c.o,tail6.data.o,ov_SC03_028_jr_8013F350.o,tail7.data.o,ov_SC03_028_jr_8013FFD8.o,tail8.data.o,ov_SC03_028_jr_80140608.o,tail9.data.o,ov_SC03_028_jr_8015444C.o,ov_SC03_028_jr_80154C24.o,ov_SC03_028_jr_801588CC.o,ov_SC03_028_jr_80159C84.o,tail10.data.o,ov_SC03_028_jr_8015A3C8.o,tail11.data.o,ov_SC03_028_jr_8015AE2C.o,tail12.data.o,ov_SC03_028_jr_8015C32C.o,tail13.data.o,ov_SC03_028_jr_8016AB6C.o,tail14.data.o,ov_SC03_028_jr_80171B4C.o,ov_SC03_028_jr_801734BC.o,tail15.data.o,ov_SC03_028_jr_801789AC.o,ov_SC03_028_jr_80178D40.o,tail16.data.o,ov_SC03_028_jr_8017A4AC.o,tail17.data.o,ov_SC03_028_jr_8017AE2C.o,tail18.data.o,ov_SC03_028_jr_8017DF98.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_028/ov_SC03_028.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_028/ov_SC03_028_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_028/ov_SC03_028_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_028/ov_SC03_028_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_028/ov_SC03_028_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_028/ov_SC03_028_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_028/ov_SC03_028_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_028/ov_SC03_028_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_028/ov_SC03_028_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_028/ov_SC03_028_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_028/ov_SC03_028_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_028/ov_SC03_028_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_028/ov_SC03_028_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_028_CHECK_SHA := config/check.ov_SC03_028.sha -ov_SC03_028_SYMBOLS := config/symbols.ov_SC03_028.txt -ov_SC03_028_SIG := .run/sig.ov_SC03_028.jsonl -ov_SC03_028_GHIDRA_PROG := ov_SC03_028 -ov_SC03_028_VRAM_BASE := 0x80128158 -ov_SC03_028_TEXT_LO := 0x80128158 -ov_SC03_028_TEXT_HI := 0x801EC607 -ov_SC03_028_ASM_DIR := asm/ov_SC03_028 -ov_SC03_028_SRC_DIR := src/ov_SC03_028 -ov_SC03_028_UNDEF_SYMS := build/ov_SC03_028/undefined_syms_auto.txt -ov_SC03_028_UNDEF_FUNCS := build/ov_SC03_028/undefined_funcs_auto.txt - -# --- ov_SC03_029 (location overlay SC03/FILE_029, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_029_EXE := extracted/retail/SC03.CD.dir/FILE_029.dir/0.4.dec -ov_SC03_029_NAME := ov_SC03_029 -ov_SC03_029_OUT_DIR := build/ov_SC03_029 -ov_SC03_029_OUT := $(ov_SC03_029_OUT_DIR)/$(ov_SC03_029_NAME) -ov_SC03_029_ELF := $(ov_SC03_029_OUT).elf -ov_SC03_029_MAPFILE := $(ov_SC03_029_OUT).map -ov_SC03_029_LD_SCRIPT := $(ov_SC03_029_OUT).ld -ov_SC03_029_SPLAT_YAML := config/splat.ov_SC03_029.yaml -ov_SC03_029_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_029.o,ov_SC03_029_jr_8012ACE0.o,tail2.data.o,ov_SC03_029_jr_80135888.o,tail3.data.o,ov_SC03_029_jr_80135A4C.o,tail4.data.o,ov_SC03_029_jr_80135D20.o,tail5.data.o,ov_SC03_029_jr_801380E0.o,ov_SC03_029_o0c.o,tail6.data.o,ov_SC03_029_jr_8013F350.o,tail7.data.o,ov_SC03_029_jr_8013FFD8.o,tail8.data.o,ov_SC03_029_jr_80140608.o,tail9.data.o,ov_SC03_029_jr_8015444C.o,ov_SC03_029_jr_80154C24.o,ov_SC03_029_jr_801588CC.o,ov_SC03_029_jr_80159C84.o,tail10.data.o,ov_SC03_029_jr_8015A3C8.o,tail11.data.o,ov_SC03_029_jr_8015AE2C.o,tail12.data.o,ov_SC03_029_jr_8015C32C.o,tail13.data.o,ov_SC03_029_jr_8016AB6C.o,tail14.data.o,ov_SC03_029_jr_80171B4C.o,ov_SC03_029_jr_801734BC.o,tail15.data.o,ov_SC03_029_jr_801789AC.o,ov_SC03_029_jr_80178D40.o,tail16.data.o,ov_SC03_029_jr_8017A4AC.o,tail17.data.o,ov_SC03_029_jr_8017AE2C.o,ov_SC03_029_jr_8017DC70.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_029/ov_SC03_029.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_029/ov_SC03_029_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_029/ov_SC03_029_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_029/ov_SC03_029_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_029/ov_SC03_029_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_029/ov_SC03_029_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_029/ov_SC03_029_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_029/ov_SC03_029_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_029/ov_SC03_029_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_029/ov_SC03_029_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_029/ov_SC03_029_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_029/ov_SC03_029_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_029/ov_SC03_029_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_029_CHECK_SHA := config/check.ov_SC03_029.sha -ov_SC03_029_SYMBOLS := config/symbols.ov_SC03_029.txt -ov_SC03_029_SIG := .run/sig.ov_SC03_029.jsonl -ov_SC03_029_GHIDRA_PROG := ov_SC03_029 -ov_SC03_029_VRAM_BASE := 0x80128158 -ov_SC03_029_TEXT_LO := 0x80128158 -ov_SC03_029_TEXT_HI := 0x801D9A47 -ov_SC03_029_ASM_DIR := asm/ov_SC03_029 -ov_SC03_029_SRC_DIR := src/ov_SC03_029 -ov_SC03_029_UNDEF_SYMS := build/ov_SC03_029/undefined_syms_auto.txt -ov_SC03_029_UNDEF_FUNCS := build/ov_SC03_029/undefined_funcs_auto.txt - -# --- ov_SC03_030 (location overlay SC03/FILE_030, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_030_EXE := extracted/retail/SC03.CD.dir/FILE_030.dir/0.4.dec -ov_SC03_030_NAME := ov_SC03_030 -ov_SC03_030_OUT_DIR := build/ov_SC03_030 -ov_SC03_030_OUT := $(ov_SC03_030_OUT_DIR)/$(ov_SC03_030_NAME) -ov_SC03_030_ELF := $(ov_SC03_030_OUT).elf -ov_SC03_030_MAPFILE := $(ov_SC03_030_OUT).map -ov_SC03_030_LD_SCRIPT := $(ov_SC03_030_OUT).ld -ov_SC03_030_SPLAT_YAML := config/splat.ov_SC03_030.yaml -ov_SC03_030_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_030.o,ov_SC03_030_jr_8012ACE0.o,tail2.data.o,ov_SC03_030_jr_80135888.o,tail3.data.o,ov_SC03_030_jr_80135A4C.o,tail4.data.o,ov_SC03_030_jr_80135D20.o,tail5.data.o,ov_SC03_030_jr_801380E0.o,ov_SC03_030_o0c.o,tail6.data.o,ov_SC03_030_jr_8013F350.o,tail7.data.o,ov_SC03_030_jr_8014032C.o,tail8.data.o,ov_SC03_030_jr_80140608.o,tail9.data.o,ov_SC03_030_jr_8015444C.o,ov_SC03_030_jr_80154C24.o,ov_SC03_030_jr_801588CC.o,ov_SC03_030_jr_80159C84.o,tail10.data.o,ov_SC03_030_jr_8015A3C8.o,tail11.data.o,ov_SC03_030_jr_8015AE2C.o,tail12.data.o,ov_SC03_030_jr_8015C32C.o,tail13.data.o,ov_SC03_030_jr_8016AB6C.o,tail14.data.o,ov_SC03_030_jr_80171B4C.o,ov_SC03_030_jr_801734BC.o,tail15.data.o,ov_SC03_030_jr_801789AC.o,ov_SC03_030_jr_80178D40.o,tail16.data.o,ov_SC03_030_jr_8017A4AC.o,tail17.data.o,ov_SC03_030_jr_8017AE2C.o,tail18.data.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_030/ov_SC03_030.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_030/ov_SC03_030_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_030/ov_SC03_030_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_030/ov_SC03_030_jr_8013F350.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_030/ov_SC03_030_jr_8014032C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_030/ov_SC03_030_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_030/ov_SC03_030_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_030/ov_SC03_030_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_030/ov_SC03_030_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_030/ov_SC03_030_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_030/ov_SC03_030_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_030/ov_SC03_030_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_030/ov_SC03_030_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_030/ov_SC03_030_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_030_CHECK_SHA := config/check.ov_SC03_030.sha -ov_SC03_030_SYMBOLS := config/symbols.ov_SC03_030.txt -ov_SC03_030_SIG := .run/sig.ov_SC03_030.jsonl -ov_SC03_030_GHIDRA_PROG := ov_SC03_030 -ov_SC03_030_VRAM_BASE := 0x80128158 -ov_SC03_030_TEXT_LO := 0x80128158 -ov_SC03_030_TEXT_HI := 0x801E1C48 -ov_SC03_030_ASM_DIR := asm/ov_SC03_030 -ov_SC03_030_SRC_DIR := src/ov_SC03_030 -ov_SC03_030_UNDEF_SYMS := build/ov_SC03_030/undefined_syms_auto.txt -ov_SC03_030_UNDEF_FUNCS := build/ov_SC03_030/undefined_funcs_auto.txt - -# --- ov_SC03_031 (location overlay SC03/FILE_031, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_031_EXE := extracted/retail/SC03.CD.dir/FILE_031.dir/0.4.dec -ov_SC03_031_NAME := ov_SC03_031 -ov_SC03_031_OUT_DIR := build/ov_SC03_031 -ov_SC03_031_OUT := $(ov_SC03_031_OUT_DIR)/$(ov_SC03_031_NAME) -ov_SC03_031_ELF := $(ov_SC03_031_OUT).elf -ov_SC03_031_MAPFILE := $(ov_SC03_031_OUT).map -ov_SC03_031_LD_SCRIPT := $(ov_SC03_031_OUT).ld -ov_SC03_031_SPLAT_YAML := config/splat.ov_SC03_031.yaml -ov_SC03_031_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_031.o,ov_SC03_031_jr_8012ACE0.o,tail2.data.o,ov_SC03_031_jr_80135888.o,tail3.data.o,ov_SC03_031_jr_80135A4C.o,tail4.data.o,ov_SC03_031_jr_80135D20.o,tail5.data.o,ov_SC03_031_jr_801380E0.o,ov_SC03_031_o0c.o,tail6.data.o,ov_SC03_031_jr_8013F350.o,tail7.data.o,ov_SC03_031_jr_8013FFD8.o,tail8.data.o,ov_SC03_031_jr_80140608.o,tail9.data.o,ov_SC03_031_jr_8015444C.o,ov_SC03_031_jr_80154C24.o,ov_SC03_031_jr_801588CC.o,ov_SC03_031_jr_80159C84.o,tail10.data.o,ov_SC03_031_jr_8015A3C8.o,tail11.data.o,ov_SC03_031_jr_8015AE2C.o,tail12.data.o,ov_SC03_031_jr_8015C32C.o,tail13.data.o,ov_SC03_031_jr_8016AB6C.o,tail14.data.o,ov_SC03_031_jr_80171B4C.o,ov_SC03_031_jr_801734BC.o,tail15.data.o,ov_SC03_031_jr_801789AC.o,ov_SC03_031_jr_80178D40.o,tail16.data.o,ov_SC03_031_jr_8017A4AC.o,tail17.data.o,ov_SC03_031_jr_8017AE2C.o,ov_SC03_031_jr_8017DB5C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_031/ov_SC03_031.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_031/ov_SC03_031_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_031/ov_SC03_031_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_031/ov_SC03_031_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_031/ov_SC03_031_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_031/ov_SC03_031_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_031/ov_SC03_031_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_031/ov_SC03_031_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_031/ov_SC03_031_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_031/ov_SC03_031_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_031/ov_SC03_031_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_031/ov_SC03_031_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_031/ov_SC03_031_jr_8017DB5C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_031/ov_SC03_031_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_031_CHECK_SHA := config/check.ov_SC03_031.sha -ov_SC03_031_SYMBOLS := config/symbols.ov_SC03_031.txt -ov_SC03_031_SIG := .run/sig.ov_SC03_031.jsonl -ov_SC03_031_GHIDRA_PROG := ov_SC03_031 -ov_SC03_031_VRAM_BASE := 0x80128158 -ov_SC03_031_TEXT_LO := 0x80128158 -ov_SC03_031_TEXT_HI := 0x801C62A7 -ov_SC03_031_ASM_DIR := asm/ov_SC03_031 -ov_SC03_031_SRC_DIR := src/ov_SC03_031 -ov_SC03_031_UNDEF_SYMS := build/ov_SC03_031/undefined_syms_auto.txt -ov_SC03_031_UNDEF_FUNCS := build/ov_SC03_031/undefined_funcs_auto.txt - -# --- ov_SC03_089 (location overlay SC03/FILE_089, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_089_EXE := extracted/retail/SC03.CD.dir/FILE_089.dir/0.4.dec -ov_SC03_089_NAME := ov_SC03_089 -ov_SC03_089_OUT_DIR := build/ov_SC03_089 -ov_SC03_089_OUT := $(ov_SC03_089_OUT_DIR)/$(ov_SC03_089_NAME) -ov_SC03_089_ELF := $(ov_SC03_089_OUT).elf -ov_SC03_089_MAPFILE := $(ov_SC03_089_OUT).map -ov_SC03_089_LD_SCRIPT := $(ov_SC03_089_OUT).ld -ov_SC03_089_SPLAT_YAML := config/splat.ov_SC03_089.yaml -ov_SC03_089_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_089.o,ov_SC03_089_jr_8012ACE0.o,tail2.data.o,ov_SC03_089_jr_80135888.o,tail3.data.o,ov_SC03_089_jr_80135A4C.o,tail4.data.o,ov_SC03_089_jr_80135D20.o,tail5.data.o,ov_SC03_089_jr_801380E0.o,ov_SC03_089_o0c.o,tail6.data.o,ov_SC03_089_jr_8013F350.o,tail7.data.o,ov_SC03_089_jr_8013FFD8.o,tail8.data.o,ov_SC03_089_jr_80140608.o,tail9.data.o,ov_SC03_089_jr_8015444C.o,ov_SC03_089_jr_80154C24.o,ov_SC03_089_jr_801588CC.o,ov_SC03_089_jr_80159C84.o,tail10.data.o,ov_SC03_089_jr_8015A3C8.o,tail11.data.o,ov_SC03_089_jr_8015AE2C.o,tail12.data.o,ov_SC03_089_jr_8015C32C.o,tail13.data.o,ov_SC03_089_jr_8016AB6C.o,tail14.data.o,ov_SC03_089_jr_80171B4C.o,ov_SC03_089_jr_801734BC.o,tail15.data.o,ov_SC03_089_jr_801789AC.o,ov_SC03_089_jr_80178D40.o,tail16.data.o,ov_SC03_089_jr_8017A4AC.o,tail17.data.o,ov_SC03_089_jr_8017AE2C.o,ov_SC03_089_jr_8017CA80.o,tail18.data.o,ov_SC03_089_jr_80185E50.o,ov_SC03_089_jr_80189168.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_089/ov_SC03_089.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_089/ov_SC03_089_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_089/ov_SC03_089_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_089/ov_SC03_089_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_089/ov_SC03_089_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_089/ov_SC03_089_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_089/ov_SC03_089_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_089/ov_SC03_089_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_089/ov_SC03_089_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_089/ov_SC03_089_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_089/ov_SC03_089_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_089/ov_SC03_089_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_089/ov_SC03_089_jr_8017CA80.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC03_089/ov_SC03_089_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_089_CHECK_SHA := config/check.ov_SC03_089.sha -ov_SC03_089_SYMBOLS := config/symbols.ov_SC03_089.txt -ov_SC03_089_SIG := .run/sig.ov_SC03_089.jsonl -ov_SC03_089_GHIDRA_PROG := ov_SC03_089 -ov_SC03_089_VRAM_BASE := 0x80128158 -ov_SC03_089_TEXT_LO := 0x80128158 -ov_SC03_089_TEXT_HI := 0x801C691F -ov_SC03_089_ASM_DIR := asm/ov_SC03_089 -ov_SC03_089_SRC_DIR := src/ov_SC03_089 -ov_SC03_089_UNDEF_SYMS := build/ov_SC03_089/undefined_syms_auto.txt -ov_SC03_089_UNDEF_FUNCS := build/ov_SC03_089/undefined_funcs_auto.txt - -# --- ov_SC03_090 (location overlay SC03/FILE_090, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_090_EXE := extracted/retail/SC03.CD.dir/FILE_090.dir/0.4.dec -ov_SC03_090_NAME := ov_SC03_090 -ov_SC03_090_OUT_DIR := build/ov_SC03_090 -ov_SC03_090_OUT := $(ov_SC03_090_OUT_DIR)/$(ov_SC03_090_NAME) -ov_SC03_090_ELF := $(ov_SC03_090_OUT).elf -ov_SC03_090_MAPFILE := $(ov_SC03_090_OUT).map -ov_SC03_090_LD_SCRIPT := $(ov_SC03_090_OUT).ld -ov_SC03_090_SPLAT_YAML := config/splat.ov_SC03_090.yaml -ov_SC03_090_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_090.o,ov_SC03_090_jr_8012ACE0.o,tail2.data.o,ov_SC03_090_jr_80135888.o,tail3.data.o,ov_SC03_090_jr_80135A4C.o,tail4.data.o,ov_SC03_090_jr_80135D20.o,tail5.data.o,ov_SC03_090_jr_801380E0.o,ov_SC03_090_o0c.o,tail6.data.o,ov_SC03_090_jr_8013F350.o,tail7.data.o,ov_SC03_090_jr_8013FFD8.o,tail8.data.o,ov_SC03_090_jr_80140608.o,tail9.data.o,ov_SC03_090_jr_8015444C.o,ov_SC03_090_jr_80154C24.o,ov_SC03_090_jr_801588CC.o,ov_SC03_090_jr_80159C84.o,tail10.data.o,ov_SC03_090_jr_8015A3C8.o,tail11.data.o,ov_SC03_090_jr_8015AE2C.o,tail12.data.o,ov_SC03_090_jr_8015C32C.o,tail13.data.o,ov_SC03_090_jr_8016AB6C.o,tail14.data.o,ov_SC03_090_jr_80171B4C.o,ov_SC03_090_jr_801734BC.o,tail15.data.o,ov_SC03_090_jr_801789AC.o,ov_SC03_090_jr_80178D40.o,tail16.data.o,ov_SC03_090_jr_8017A4AC.o,tail17.data.o,ov_SC03_090_jr_8017AE2C.o,ov_SC03_090_jr_8017CA80.o,tail18.data.o,ov_SC03_090_jr_80188274.o,ov_SC03_090_jr_8018B58C.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_090/ov_SC03_090.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_090/ov_SC03_090_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_090/ov_SC03_090_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_090/ov_SC03_090_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_090/ov_SC03_090_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_090/ov_SC03_090_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_090/ov_SC03_090_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_090/ov_SC03_090_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_090/ov_SC03_090_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_090/ov_SC03_090_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_090/ov_SC03_090_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_090/ov_SC03_090_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC03_090/ov_SC03_090_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_090_CHECK_SHA := config/check.ov_SC03_090.sha -ov_SC03_090_SYMBOLS := config/symbols.ov_SC03_090.txt -ov_SC03_090_SIG := .run/sig.ov_SC03_090.jsonl -ov_SC03_090_GHIDRA_PROG := ov_SC03_090 -ov_SC03_090_VRAM_BASE := 0x80128158 -ov_SC03_090_TEXT_LO := 0x80128158 -ov_SC03_090_TEXT_HI := 0x801CBD8F -ov_SC03_090_ASM_DIR := asm/ov_SC03_090 -ov_SC03_090_SRC_DIR := src/ov_SC03_090 -ov_SC03_090_UNDEF_SYMS := build/ov_SC03_090/undefined_syms_auto.txt -ov_SC03_090_UNDEF_FUNCS := build/ov_SC03_090/undefined_funcs_auto.txt - -# --- ov_SC03_091 (location overlay SC03/FILE_091, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_091_EXE := extracted/retail/SC03.CD.dir/FILE_091.dir/0.4.dec -ov_SC03_091_NAME := ov_SC03_091 -ov_SC03_091_OUT_DIR := build/ov_SC03_091 -ov_SC03_091_OUT := $(ov_SC03_091_OUT_DIR)/$(ov_SC03_091_NAME) -ov_SC03_091_ELF := $(ov_SC03_091_OUT).elf -ov_SC03_091_MAPFILE := $(ov_SC03_091_OUT).map -ov_SC03_091_LD_SCRIPT := $(ov_SC03_091_OUT).ld -ov_SC03_091_SPLAT_YAML := config/splat.ov_SC03_091.yaml -ov_SC03_091_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_091.o,ov_SC03_091_jr_8012ACE0.o,tail2.data.o,ov_SC03_091_jr_80135888.o,tail3.data.o,ov_SC03_091_jr_80135A4C.o,tail4.data.o,ov_SC03_091_jr_80135D20.o,tail5.data.o,ov_SC03_091_jr_801380E0.o,ov_SC03_091_o0c.o,tail6.data.o,ov_SC03_091_jr_8013F350.o,tail7.data.o,ov_SC03_091_jr_8013FFD8.o,tail8.data.o,ov_SC03_091_jr_80140608.o,tail9.data.o,ov_SC03_091_jr_8015444C.o,ov_SC03_091_jr_80154C24.o,ov_SC03_091_jr_801588CC.o,ov_SC03_091_jr_80159C84.o,tail10.data.o,ov_SC03_091_jr_8015A3C8.o,tail11.data.o,ov_SC03_091_jr_8015AE2C.o,tail12.data.o,ov_SC03_091_jr_8015C32C.o,tail13.data.o,ov_SC03_091_jr_8016AB6C.o,tail14.data.o,ov_SC03_091_jr_80171B4C.o,ov_SC03_091_jr_801734BC.o,tail15.data.o,ov_SC03_091_jr_801789AC.o,ov_SC03_091_jr_80178D40.o,tail16.data.o,ov_SC03_091_jr_8017A4AC.o,tail17.data.o,ov_SC03_091_jr_8017AE2C.o,ov_SC03_091_jr_8017D898.o,ov_SC03_091_jr_8018326C.o,tail18.data.o,ov_SC03_091_jr_8018911C.o,ov_SC03_091_jr_8018C434.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_091/ov_SC03_091.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_091/ov_SC03_091_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_091/ov_SC03_091_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_091/ov_SC03_091_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_091/ov_SC03_091_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_091/ov_SC03_091_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_091/ov_SC03_091_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_091/ov_SC03_091_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_091/ov_SC03_091_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_091/ov_SC03_091_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_091/ov_SC03_091_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_091/ov_SC03_091_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_091/ov_SC03_091_jr_8018326C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_091/ov_SC03_091_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_091_CHECK_SHA := config/check.ov_SC03_091.sha -ov_SC03_091_SYMBOLS := config/symbols.ov_SC03_091.txt -ov_SC03_091_SIG := .run/sig.ov_SC03_091.jsonl -ov_SC03_091_GHIDRA_PROG := ov_SC03_091 -ov_SC03_091_VRAM_BASE := 0x80128158 -ov_SC03_091_TEXT_LO := 0x80128158 -ov_SC03_091_TEXT_HI := 0x801D26DF -ov_SC03_091_ASM_DIR := asm/ov_SC03_091 -ov_SC03_091_SRC_DIR := src/ov_SC03_091 -ov_SC03_091_UNDEF_SYMS := build/ov_SC03_091/undefined_syms_auto.txt -ov_SC03_091_UNDEF_FUNCS := build/ov_SC03_091/undefined_funcs_auto.txt - -# --- ov_SC03_092 (location overlay SC03/FILE_092, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_092_EXE := extracted/retail/SC03.CD.dir/FILE_092.dir/0.4.dec -ov_SC03_092_NAME := ov_SC03_092 -ov_SC03_092_OUT_DIR := build/ov_SC03_092 -ov_SC03_092_OUT := $(ov_SC03_092_OUT_DIR)/$(ov_SC03_092_NAME) -ov_SC03_092_ELF := $(ov_SC03_092_OUT).elf -ov_SC03_092_MAPFILE := $(ov_SC03_092_OUT).map -ov_SC03_092_LD_SCRIPT := $(ov_SC03_092_OUT).ld -ov_SC03_092_SPLAT_YAML := config/splat.ov_SC03_092.yaml -ov_SC03_092_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_092.o,ov_SC03_092_jr_8012ACE0.o,tail2.data.o,ov_SC03_092_jr_80135888.o,tail3.data.o,ov_SC03_092_jr_80135A4C.o,tail4.data.o,ov_SC03_092_jr_80135D20.o,tail5.data.o,ov_SC03_092_jr_801380E0.o,ov_SC03_092_o0c.o,tail6.data.o,ov_SC03_092_jr_8013F350.o,tail7.data.o,ov_SC03_092_jr_8013FFD8.o,tail8.data.o,ov_SC03_092_jr_80140608.o,tail9.data.o,ov_SC03_092_jr_8015444C.o,ov_SC03_092_jr_80154C24.o,ov_SC03_092_jr_801588CC.o,ov_SC03_092_jr_80159C84.o,tail10.data.o,ov_SC03_092_jr_8015A3C8.o,tail11.data.o,ov_SC03_092_jr_8015AE2C.o,tail12.data.o,ov_SC03_092_jr_8015C32C.o,tail13.data.o,ov_SC03_092_jr_8016AB6C.o,tail14.data.o,ov_SC03_092_jr_80171B4C.o,ov_SC03_092_jr_801734BC.o,tail15.data.o,ov_SC03_092_jr_801789AC.o,ov_SC03_092_jr_80178D40.o,tail16.data.o,ov_SC03_092_jr_8017A4AC.o,tail17.data.o,ov_SC03_092_jr_8017AE2C.o,tail18.data.o,ov_SC03_092_jr_80181694.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_092/ov_SC03_092.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_092/ov_SC03_092_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_092/ov_SC03_092_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_092/ov_SC03_092_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_092/ov_SC03_092_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_092/ov_SC03_092_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_092/ov_SC03_092_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_092/ov_SC03_092_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_092/ov_SC03_092_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_092/ov_SC03_092_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_092/ov_SC03_092_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_092/ov_SC03_092_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_092/ov_SC03_092_jr_80181694.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_092/ov_SC03_092_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_092_CHECK_SHA := config/check.ov_SC03_092.sha -ov_SC03_092_SYMBOLS := config/symbols.ov_SC03_092.txt -ov_SC03_092_SIG := .run/sig.ov_SC03_092.jsonl -ov_SC03_092_GHIDRA_PROG := ov_SC03_092 -ov_SC03_092_VRAM_BASE := 0x80128158 -ov_SC03_092_TEXT_LO := 0x80128158 -ov_SC03_092_TEXT_HI := 0x801B3087 -ov_SC03_092_ASM_DIR := asm/ov_SC03_092 -ov_SC03_092_SRC_DIR := src/ov_SC03_092 -ov_SC03_092_UNDEF_SYMS := build/ov_SC03_092/undefined_syms_auto.txt -ov_SC03_092_UNDEF_FUNCS := build/ov_SC03_092/undefined_funcs_auto.txt - -# --- ov_SC03_093 (location overlay SC03/FILE_093, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_093_EXE := extracted/retail/SC03.CD.dir/FILE_093.dir/0.4.dec -ov_SC03_093_NAME := ov_SC03_093 -ov_SC03_093_OUT_DIR := build/ov_SC03_093 -ov_SC03_093_OUT := $(ov_SC03_093_OUT_DIR)/$(ov_SC03_093_NAME) -ov_SC03_093_ELF := $(ov_SC03_093_OUT).elf -ov_SC03_093_MAPFILE := $(ov_SC03_093_OUT).map -ov_SC03_093_LD_SCRIPT := $(ov_SC03_093_OUT).ld -ov_SC03_093_SPLAT_YAML := config/splat.ov_SC03_093.yaml -ov_SC03_093_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_093.o,ov_SC03_093_jr_8012ACE0.o,tail2.data.o,ov_SC03_093_jr_80135888.o,tail3.data.o,ov_SC03_093_jr_80135A4C.o,tail4.data.o,ov_SC03_093_jr_80135D20.o,tail5.data.o,ov_SC03_093_jr_801380E0.o,ov_SC03_093_o0c.o,tail6.data.o,ov_SC03_093_jr_8013F350.o,tail7.data.o,ov_SC03_093_jr_8013FFD8.o,tail8.data.o,ov_SC03_093_jr_80140608.o,tail9.data.o,ov_SC03_093_jr_8015444C.o,ov_SC03_093_jr_80154C24.o,ov_SC03_093_jr_801588CC.o,ov_SC03_093_jr_80159C84.o,tail10.data.o,ov_SC03_093_jr_8015A3C8.o,tail11.data.o,ov_SC03_093_jr_8015AE2C.o,tail12.data.o,ov_SC03_093_jr_8015C32C.o,tail13.data.o,ov_SC03_093_jr_8016AB6C.o,tail14.data.o,ov_SC03_093_jr_80171B4C.o,ov_SC03_093_jr_801734BC.o,tail15.data.o,ov_SC03_093_jr_801789AC.o,ov_SC03_093_jr_80178D40.o,tail16.data.o,ov_SC03_093_jr_8017A4AC.o,tail17.data.o,ov_SC03_093_jr_8017AE2C.o,ov_SC03_093_jr_8017D898.o,ov_SC03_093_jr_801825B8.o,ov_SC03_093_jr_801859DC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_093/ov_SC03_093.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_093/ov_SC03_093_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_093/ov_SC03_093_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_093/ov_SC03_093_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_093/ov_SC03_093_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_093/ov_SC03_093_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_093/ov_SC03_093_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_093/ov_SC03_093_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_093/ov_SC03_093_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_093/ov_SC03_093_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_093/ov_SC03_093_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_093/ov_SC03_093_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_093/ov_SC03_093_jr_8017D898.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC03_093/ov_SC03_093_jr_801825B8.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_093/ov_SC03_093_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_093_CHECK_SHA := config/check.ov_SC03_093.sha -ov_SC03_093_SYMBOLS := config/symbols.ov_SC03_093.txt -ov_SC03_093_SIG := .run/sig.ov_SC03_093.jsonl -ov_SC03_093_GHIDRA_PROG := ov_SC03_093 -ov_SC03_093_VRAM_BASE := 0x80128158 -ov_SC03_093_TEXT_LO := 0x80128158 -ov_SC03_093_TEXT_HI := 0x801CC6DF -ov_SC03_093_ASM_DIR := asm/ov_SC03_093 -ov_SC03_093_SRC_DIR := src/ov_SC03_093 -ov_SC03_093_UNDEF_SYMS := build/ov_SC03_093/undefined_syms_auto.txt -ov_SC03_093_UNDEF_FUNCS := build/ov_SC03_093/undefined_funcs_auto.txt - -# --- ov_SC03_094 (location overlay SC03/FILE_094, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_094_EXE := extracted/retail/SC03.CD.dir/FILE_094.dir/0.4.dec -ov_SC03_094_NAME := ov_SC03_094 -ov_SC03_094_OUT_DIR := build/ov_SC03_094 -ov_SC03_094_OUT := $(ov_SC03_094_OUT_DIR)/$(ov_SC03_094_NAME) -ov_SC03_094_ELF := $(ov_SC03_094_OUT).elf -ov_SC03_094_MAPFILE := $(ov_SC03_094_OUT).map -ov_SC03_094_LD_SCRIPT := $(ov_SC03_094_OUT).ld -ov_SC03_094_SPLAT_YAML := config/splat.ov_SC03_094.yaml -ov_SC03_094_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_094.o,ov_SC03_094_jr_8012ACE0.o,tail2.data.o,ov_SC03_094_jr_80135888.o,tail3.data.o,ov_SC03_094_jr_80135A4C.o,tail4.data.o,ov_SC03_094_jr_80135D20.o,tail5.data.o,ov_SC03_094_jr_801380E0.o,ov_SC03_094_o0c.o,tail6.data.o,ov_SC03_094_jr_8013F350.o,tail7.data.o,ov_SC03_094_jr_8013FFD8.o,tail8.data.o,ov_SC03_094_jr_80140608.o,tail9.data.o,ov_SC03_094_jr_8015444C.o,ov_SC03_094_jr_80154C24.o,ov_SC03_094_jr_801588CC.o,ov_SC03_094_jr_80159C84.o,tail10.data.o,ov_SC03_094_jr_8015A3C8.o,tail11.data.o,ov_SC03_094_jr_8015AE2C.o,tail12.data.o,ov_SC03_094_jr_8015C32C.o,tail13.data.o,ov_SC03_094_jr_8016AB6C.o,tail14.data.o,ov_SC03_094_jr_80171B4C.o,ov_SC03_094_jr_801734BC.o,tail15.data.o,ov_SC03_094_jr_801789AC.o,ov_SC03_094_jr_80178D40.o,tail16.data.o,ov_SC03_094_jr_8017A4AC.o,tail17.data.o,ov_SC03_094_jr_8017AE2C.o,ov_SC03_094_jr_8017BEBC.o,ov_SC03_094_jr_8018501C.o,ov_SC03_094_jr_801873D8.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_094/ov_SC03_094.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_094/ov_SC03_094_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_094/ov_SC03_094_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_094/ov_SC03_094_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_094/ov_SC03_094_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_094/ov_SC03_094_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_094/ov_SC03_094_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_094/ov_SC03_094_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_094/ov_SC03_094_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_094/ov_SC03_094_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_094/ov_SC03_094_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_094/ov_SC03_094_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_094/ov_SC03_094_jr_8017BEBC.o: JTBL_PADS := 0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x4c -build/src/ov_SC03_094/ov_SC03_094_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_094_CHECK_SHA := config/check.ov_SC03_094.sha -ov_SC03_094_SYMBOLS := config/symbols.ov_SC03_094.txt -ov_SC03_094_SIG := .run/sig.ov_SC03_094.jsonl -ov_SC03_094_GHIDRA_PROG := ov_SC03_094 -ov_SC03_094_VRAM_BASE := 0x80128158 -ov_SC03_094_TEXT_LO := 0x80128158 -ov_SC03_094_TEXT_HI := 0x801D3297 -ov_SC03_094_ASM_DIR := asm/ov_SC03_094 -ov_SC03_094_SRC_DIR := src/ov_SC03_094 -ov_SC03_094_UNDEF_SYMS := build/ov_SC03_094/undefined_syms_auto.txt -ov_SC03_094_UNDEF_FUNCS := build/ov_SC03_094/undefined_funcs_auto.txt - -# --- ov_SC03_095 (location overlay SC03/FILE_095, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_095_EXE := extracted/retail/SC03.CD.dir/FILE_095.dir/0.4.dec -ov_SC03_095_NAME := ov_SC03_095 -ov_SC03_095_OUT_DIR := build/ov_SC03_095 -ov_SC03_095_OUT := $(ov_SC03_095_OUT_DIR)/$(ov_SC03_095_NAME) -ov_SC03_095_ELF := $(ov_SC03_095_OUT).elf -ov_SC03_095_MAPFILE := $(ov_SC03_095_OUT).map -ov_SC03_095_LD_SCRIPT := $(ov_SC03_095_OUT).ld -ov_SC03_095_SPLAT_YAML := config/splat.ov_SC03_095.yaml -ov_SC03_095_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_095.o,ov_SC03_095_jr_8012ACE0.o,tail2.data.o,ov_SC03_095_jr_80135888.o,tail3.data.o,ov_SC03_095_jr_80135A4C.o,tail4.data.o,ov_SC03_095_jr_80135D20.o,tail5.data.o,ov_SC03_095_jr_801380E0.o,ov_SC03_095_o0c.o,tail6.data.o,ov_SC03_095_jr_8013F350.o,tail7.data.o,ov_SC03_095_jr_8013FFD8.o,tail8.data.o,ov_SC03_095_jr_80140608.o,tail9.data.o,ov_SC03_095_jr_8015444C.o,ov_SC03_095_jr_80154C24.o,ov_SC03_095_jr_801588CC.o,ov_SC03_095_jr_80159C84.o,tail10.data.o,ov_SC03_095_jr_8015A3C8.o,tail11.data.o,ov_SC03_095_jr_8015AE2C.o,tail12.data.o,ov_SC03_095_jr_8015C32C.o,tail13.data.o,ov_SC03_095_jr_8016AB6C.o,tail14.data.o,ov_SC03_095_jr_80171B4C.o,ov_SC03_095_jr_801734BC.o,tail15.data.o,ov_SC03_095_jr_801789AC.o,ov_SC03_095_jr_80178D40.o,tail16.data.o,ov_SC03_095_jr_8017A4AC.o,tail17.data.o,ov_SC03_095_jr_8017AE2C.o,ov_SC03_095_jr_8017BEBC.o,ov_SC03_095_jr_80180A38.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_095/ov_SC03_095.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_095/ov_SC03_095_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_095/ov_SC03_095_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_095/ov_SC03_095_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_095/ov_SC03_095_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_095/ov_SC03_095_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_095/ov_SC03_095_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_095/ov_SC03_095_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_095/ov_SC03_095_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_095/ov_SC03_095_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_095/ov_SC03_095_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_095/ov_SC03_095_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_095/ov_SC03_095_jr_8017BEBC.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC03_095/ov_SC03_095_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_095_CHECK_SHA := config/check.ov_SC03_095.sha -ov_SC03_095_SYMBOLS := config/symbols.ov_SC03_095.txt -ov_SC03_095_SIG := .run/sig.ov_SC03_095.jsonl -ov_SC03_095_GHIDRA_PROG := ov_SC03_095 -ov_SC03_095_VRAM_BASE := 0x80128158 -ov_SC03_095_TEXT_LO := 0x80128158 -ov_SC03_095_TEXT_HI := 0x8019BE97 -ov_SC03_095_ASM_DIR := asm/ov_SC03_095 -ov_SC03_095_SRC_DIR := src/ov_SC03_095 -ov_SC03_095_UNDEF_SYMS := build/ov_SC03_095/undefined_syms_auto.txt -ov_SC03_095_UNDEF_FUNCS := build/ov_SC03_095/undefined_funcs_auto.txt - -# --- ov_SC03_096 (location overlay SC03/FILE_096, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_096_EXE := extracted/retail/SC03.CD.dir/FILE_096.dir/0.4.dec -ov_SC03_096_NAME := ov_SC03_096 -ov_SC03_096_OUT_DIR := build/ov_SC03_096 -ov_SC03_096_OUT := $(ov_SC03_096_OUT_DIR)/$(ov_SC03_096_NAME) -ov_SC03_096_ELF := $(ov_SC03_096_OUT).elf -ov_SC03_096_MAPFILE := $(ov_SC03_096_OUT).map -ov_SC03_096_LD_SCRIPT := $(ov_SC03_096_OUT).ld -ov_SC03_096_SPLAT_YAML := config/splat.ov_SC03_096.yaml -ov_SC03_096_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_096.o,ov_SC03_096_jr_8012ACE0.o,tail2.data.o,ov_SC03_096_jr_80135888.o,tail3.data.o,ov_SC03_096_jr_80135A4C.o,tail4.data.o,ov_SC03_096_jr_80135D20.o,tail5.data.o,ov_SC03_096_jr_801380E0.o,ov_SC03_096_o0c.o,tail6.data.o,ov_SC03_096_jr_8013F350.o,tail7.data.o,ov_SC03_096_jr_8013FFD8.o,tail8.data.o,ov_SC03_096_jr_80140608.o,tail9.data.o,ov_SC03_096_jr_8015444C.o,ov_SC03_096_jr_80154C24.o,ov_SC03_096_jr_801588CC.o,ov_SC03_096_jr_80159C84.o,tail10.data.o,ov_SC03_096_jr_8015A3C8.o,tail11.data.o,ov_SC03_096_jr_8015AE2C.o,tail12.data.o,ov_SC03_096_jr_8015C32C.o,tail13.data.o,ov_SC03_096_jr_8016AB6C.o,tail14.data.o,ov_SC03_096_jr_80171B4C.o,ov_SC03_096_jr_801734BC.o,tail15.data.o,ov_SC03_096_jr_801789AC.o,ov_SC03_096_jr_80178D40.o,tail16.data.o,ov_SC03_096_jr_8017A4AC.o,tail17.data.o,ov_SC03_096_jr_8017AE2C.o,ov_SC03_096_jr_8017BEBC.o,ov_SC03_096_jr_801805B8.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_096/ov_SC03_096.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_096/ov_SC03_096_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_096/ov_SC03_096_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_096/ov_SC03_096_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_096/ov_SC03_096_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_096/ov_SC03_096_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_096/ov_SC03_096_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_096/ov_SC03_096_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_096/ov_SC03_096_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_096/ov_SC03_096_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_096/ov_SC03_096_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_096/ov_SC03_096_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_096/ov_SC03_096_jr_8017BEBC.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC03_096/ov_SC03_096_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_096_CHECK_SHA := config/check.ov_SC03_096.sha -ov_SC03_096_SYMBOLS := config/symbols.ov_SC03_096.txt -ov_SC03_096_SIG := .run/sig.ov_SC03_096.jsonl -ov_SC03_096_GHIDRA_PROG := ov_SC03_096 -ov_SC03_096_VRAM_BASE := 0x80128158 -ov_SC03_096_TEXT_LO := 0x80128158 -ov_SC03_096_TEXT_HI := 0x8019A94F -ov_SC03_096_ASM_DIR := asm/ov_SC03_096 -ov_SC03_096_SRC_DIR := src/ov_SC03_096 -ov_SC03_096_UNDEF_SYMS := build/ov_SC03_096/undefined_syms_auto.txt -ov_SC03_096_UNDEF_FUNCS := build/ov_SC03_096/undefined_funcs_auto.txt - -# --- ov_SC03_097 (location overlay SC03/FILE_097, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_097_EXE := extracted/retail/SC03.CD.dir/FILE_097.dir/0.4.dec -ov_SC03_097_NAME := ov_SC03_097 -ov_SC03_097_OUT_DIR := build/ov_SC03_097 -ov_SC03_097_OUT := $(ov_SC03_097_OUT_DIR)/$(ov_SC03_097_NAME) -ov_SC03_097_ELF := $(ov_SC03_097_OUT).elf -ov_SC03_097_MAPFILE := $(ov_SC03_097_OUT).map -ov_SC03_097_LD_SCRIPT := $(ov_SC03_097_OUT).ld -ov_SC03_097_SPLAT_YAML := config/splat.ov_SC03_097.yaml -ov_SC03_097_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_097.o,ov_SC03_097_jr_8012ACE0.o,tail2.data.o,ov_SC03_097_jr_80135888.o,tail3.data.o,ov_SC03_097_jr_80135A4C.o,tail4.data.o,ov_SC03_097_jr_80135D20.o,tail5.data.o,ov_SC03_097_jr_801380E0.o,ov_SC03_097_o0c.o,tail6.data.o,ov_SC03_097_jr_8013F350.o,tail7.data.o,ov_SC03_097_jr_8013FFD8.o,tail8.data.o,ov_SC03_097_jr_80140608.o,tail9.data.o,ov_SC03_097_jr_8015444C.o,ov_SC03_097_jr_80154C24.o,ov_SC03_097_jr_801588CC.o,ov_SC03_097_jr_80159C84.o,tail10.data.o,ov_SC03_097_jr_8015A3C8.o,tail11.data.o,ov_SC03_097_jr_8015AE2C.o,tail12.data.o,ov_SC03_097_jr_8015C32C.o,tail13.data.o,ov_SC03_097_jr_8016AB6C.o,tail14.data.o,ov_SC03_097_jr_80171B4C.o,ov_SC03_097_jr_801734BC.o,tail15.data.o,ov_SC03_097_jr_801789AC.o,ov_SC03_097_jr_80178D40.o,tail16.data.o,ov_SC03_097_jr_8017A4AC.o,tail17.data.o,ov_SC03_097_jr_8017AE2C.o,ov_SC03_097_jr_8017D898.o,tail18.data.o,ov_SC03_097_jr_80182B9C.o,ov_SC03_097_jr_801851B8.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_097/ov_SC03_097.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_097/ov_SC03_097_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_097/ov_SC03_097_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_097/ov_SC03_097_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_097/ov_SC03_097_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_097/ov_SC03_097_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_097/ov_SC03_097_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_097/ov_SC03_097_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_097/ov_SC03_097_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_097/ov_SC03_097_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_097/ov_SC03_097_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_097/ov_SC03_097_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_097/ov_SC03_097_jr_80182B9C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_097/ov_SC03_097_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_097_CHECK_SHA := config/check.ov_SC03_097.sha -ov_SC03_097_SYMBOLS := config/symbols.ov_SC03_097.txt -ov_SC03_097_SIG := .run/sig.ov_SC03_097.jsonl -ov_SC03_097_GHIDRA_PROG := ov_SC03_097 -ov_SC03_097_VRAM_BASE := 0x80128158 -ov_SC03_097_TEXT_LO := 0x80128158 -ov_SC03_097_TEXT_HI := 0x801AAECF -ov_SC03_097_ASM_DIR := asm/ov_SC03_097 -ov_SC03_097_SRC_DIR := src/ov_SC03_097 -ov_SC03_097_UNDEF_SYMS := build/ov_SC03_097/undefined_syms_auto.txt -ov_SC03_097_UNDEF_FUNCS := build/ov_SC03_097/undefined_funcs_auto.txt - -# --- ov_SC03_098 (location overlay SC03/FILE_098, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_098_EXE := extracted/retail/SC03.CD.dir/FILE_098.dir/0.4.dec -ov_SC03_098_NAME := ov_SC03_098 -ov_SC03_098_OUT_DIR := build/ov_SC03_098 -ov_SC03_098_OUT := $(ov_SC03_098_OUT_DIR)/$(ov_SC03_098_NAME) -ov_SC03_098_ELF := $(ov_SC03_098_OUT).elf -ov_SC03_098_MAPFILE := $(ov_SC03_098_OUT).map -ov_SC03_098_LD_SCRIPT := $(ov_SC03_098_OUT).ld -ov_SC03_098_SPLAT_YAML := config/splat.ov_SC03_098.yaml -ov_SC03_098_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_098.o,ov_SC03_098_jr_8012ACE0.o,tail2.data.o,ov_SC03_098_jr_80135888.o,tail3.data.o,ov_SC03_098_jr_80135A4C.o,tail4.data.o,ov_SC03_098_jr_80135D20.o,tail5.data.o,ov_SC03_098_jr_801380E0.o,ov_SC03_098_o0c.o,tail6.data.o,ov_SC03_098_jr_8013F350.o,tail7.data.o,ov_SC03_098_jr_8013FFD8.o,tail8.data.o,ov_SC03_098_jr_80140608.o,tail9.data.o,ov_SC03_098_jr_8015444C.o,ov_SC03_098_jr_80154C24.o,ov_SC03_098_jr_801588CC.o,ov_SC03_098_jr_80159C84.o,tail10.data.o,ov_SC03_098_jr_8015A3C8.o,tail11.data.o,ov_SC03_098_jr_8015AE2C.o,tail12.data.o,ov_SC03_098_jr_8015C32C.o,tail13.data.o,ov_SC03_098_jr_8016AB6C.o,tail14.data.o,ov_SC03_098_jr_80171B4C.o,ov_SC03_098_jr_801734BC.o,tail15.data.o,ov_SC03_098_jr_801789AC.o,ov_SC03_098_jr_80178D40.o,tail16.data.o,ov_SC03_098_jr_8017A4AC.o,tail17.data.o,ov_SC03_098_jr_8017AE2C.o,ov_SC03_098_jr_8017D898.o,ov_SC03_098_jr_80184E24.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_098/ov_SC03_098.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_098/ov_SC03_098_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_098/ov_SC03_098_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_098/ov_SC03_098_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_098/ov_SC03_098_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_098/ov_SC03_098_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_098/ov_SC03_098_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_098/ov_SC03_098_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_098/ov_SC03_098_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_098/ov_SC03_098_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_098/ov_SC03_098_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_098/ov_SC03_098_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_098/ov_SC03_098_jr_8017D898.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC03_098/ov_SC03_098_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_098_CHECK_SHA := config/check.ov_SC03_098.sha -ov_SC03_098_SYMBOLS := config/symbols.ov_SC03_098.txt -ov_SC03_098_SIG := .run/sig.ov_SC03_098.jsonl -ov_SC03_098_GHIDRA_PROG := ov_SC03_098 -ov_SC03_098_VRAM_BASE := 0x80128158 -ov_SC03_098_TEXT_LO := 0x80128158 -ov_SC03_098_TEXT_HI := 0x801C58B7 -ov_SC03_098_ASM_DIR := asm/ov_SC03_098 -ov_SC03_098_SRC_DIR := src/ov_SC03_098 -ov_SC03_098_UNDEF_SYMS := build/ov_SC03_098/undefined_syms_auto.txt -ov_SC03_098_UNDEF_FUNCS := build/ov_SC03_098/undefined_funcs_auto.txt - -# --- ov_SC03_099 (location overlay SC03/FILE_099, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_099_EXE := extracted/retail/SC03.CD.dir/FILE_099.dir/0.4.dec -ov_SC03_099_NAME := ov_SC03_099 -ov_SC03_099_OUT_DIR := build/ov_SC03_099 -ov_SC03_099_OUT := $(ov_SC03_099_OUT_DIR)/$(ov_SC03_099_NAME) -ov_SC03_099_ELF := $(ov_SC03_099_OUT).elf -ov_SC03_099_MAPFILE := $(ov_SC03_099_OUT).map -ov_SC03_099_LD_SCRIPT := $(ov_SC03_099_OUT).ld -ov_SC03_099_SPLAT_YAML := config/splat.ov_SC03_099.yaml -ov_SC03_099_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_099.o,ov_SC03_099_jr_8012ACE0.o,tail2.data.o,ov_SC03_099_jr_80135888.o,tail3.data.o,ov_SC03_099_jr_80135A4C.o,tail4.data.o,ov_SC03_099_jr_80135D20.o,tail5.data.o,ov_SC03_099_jr_801380E0.o,ov_SC03_099_o0c.o,tail6.data.o,ov_SC03_099_jr_8013F350.o,tail7.data.o,ov_SC03_099_jr_8013FFD8.o,tail8.data.o,ov_SC03_099_jr_80140608.o,tail9.data.o,ov_SC03_099_jr_8015444C.o,ov_SC03_099_jr_80154C24.o,ov_SC03_099_jr_801588CC.o,ov_SC03_099_jr_80159C84.o,tail10.data.o,ov_SC03_099_jr_8015A3C8.o,tail11.data.o,ov_SC03_099_jr_8015AE2C.o,tail12.data.o,ov_SC03_099_jr_8015C32C.o,tail13.data.o,ov_SC03_099_jr_8016AB6C.o,tail14.data.o,ov_SC03_099_jr_80171B4C.o,ov_SC03_099_jr_801734BC.o,tail15.data.o,ov_SC03_099_jr_801789AC.o,ov_SC03_099_jr_80178D40.o,tail16.data.o,ov_SC03_099_jr_8017A4AC.o,tail17.data.o,ov_SC03_099_jr_8017AE2C.o,ov_SC03_099_jr_8017BEBC.o,ov_SC03_099_jr_80182F24.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_099/ov_SC03_099.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_099/ov_SC03_099_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_099/ov_SC03_099_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_099/ov_SC03_099_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_099/ov_SC03_099_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_099/ov_SC03_099_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_099/ov_SC03_099_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_099/ov_SC03_099_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_099/ov_SC03_099_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_099/ov_SC03_099_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_099/ov_SC03_099_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_099/ov_SC03_099_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_099/ov_SC03_099_jr_8017BEBC.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC03_099/ov_SC03_099_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_099_CHECK_SHA := config/check.ov_SC03_099.sha -ov_SC03_099_SYMBOLS := config/symbols.ov_SC03_099.txt -ov_SC03_099_SIG := .run/sig.ov_SC03_099.jsonl -ov_SC03_099_GHIDRA_PROG := ov_SC03_099 -ov_SC03_099_VRAM_BASE := 0x80128158 -ov_SC03_099_TEXT_LO := 0x80128158 -ov_SC03_099_TEXT_HI := 0x801BF45F -ov_SC03_099_ASM_DIR := asm/ov_SC03_099 -ov_SC03_099_SRC_DIR := src/ov_SC03_099 -ov_SC03_099_UNDEF_SYMS := build/ov_SC03_099/undefined_syms_auto.txt -ov_SC03_099_UNDEF_FUNCS := build/ov_SC03_099/undefined_funcs_auto.txt - -# --- ov_SC03_100 (location overlay SC03/FILE_100, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_100_EXE := extracted/retail/SC03.CD.dir/FILE_100.dir/0.4.dec -ov_SC03_100_NAME := ov_SC03_100 -ov_SC03_100_OUT_DIR := build/ov_SC03_100 -ov_SC03_100_OUT := $(ov_SC03_100_OUT_DIR)/$(ov_SC03_100_NAME) -ov_SC03_100_ELF := $(ov_SC03_100_OUT).elf -ov_SC03_100_MAPFILE := $(ov_SC03_100_OUT).map -ov_SC03_100_LD_SCRIPT := $(ov_SC03_100_OUT).ld -ov_SC03_100_SPLAT_YAML := config/splat.ov_SC03_100.yaml -ov_SC03_100_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_100.o,ov_SC03_100_jr_8012ACE0.o,tail2.data.o,ov_SC03_100_jr_80135888.o,tail3.data.o,ov_SC03_100_jr_80135A4C.o,tail4.data.o,ov_SC03_100_jr_80135D20.o,tail5.data.o,ov_SC03_100_jr_801380E0.o,ov_SC03_100_o0c.o,tail6.data.o,ov_SC03_100_jr_8013F350.o,tail7.data.o,ov_SC03_100_jr_8013FFD8.o,tail8.data.o,ov_SC03_100_jr_80140608.o,tail9.data.o,ov_SC03_100_jr_8015444C.o,ov_SC03_100_jr_80154C24.o,ov_SC03_100_jr_801588CC.o,ov_SC03_100_jr_80159C84.o,tail10.data.o,ov_SC03_100_jr_8015A3C8.o,tail11.data.o,ov_SC03_100_jr_8015AE2C.o,tail12.data.o,ov_SC03_100_jr_8015C32C.o,tail13.data.o,ov_SC03_100_jr_8016AB6C.o,tail14.data.o,ov_SC03_100_jr_80171B4C.o,ov_SC03_100_jr_801734BC.o,tail15.data.o,ov_SC03_100_jr_801789AC.o,ov_SC03_100_jr_80178D40.o,tail16.data.o,ov_SC03_100_jr_8017A4AC.o,tail17.data.o,ov_SC03_100_jr_8017AE2C.o,ov_SC03_100_jr_8017D898.o,ov_SC03_100_jr_80183C10.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_100/ov_SC03_100.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_100/ov_SC03_100_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_100/ov_SC03_100_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_100/ov_SC03_100_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_100/ov_SC03_100_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_100/ov_SC03_100_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_100/ov_SC03_100_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_100/ov_SC03_100_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_100/ov_SC03_100_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_100/ov_SC03_100_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_100/ov_SC03_100_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_100/ov_SC03_100_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_100/ov_SC03_100_jr_8017D898.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC03_100/ov_SC03_100_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_100_CHECK_SHA := config/check.ov_SC03_100.sha -ov_SC03_100_SYMBOLS := config/symbols.ov_SC03_100.txt -ov_SC03_100_SIG := .run/sig.ov_SC03_100.jsonl -ov_SC03_100_GHIDRA_PROG := ov_SC03_100 -ov_SC03_100_VRAM_BASE := 0x80128158 -ov_SC03_100_TEXT_LO := 0x80128158 -ov_SC03_100_TEXT_HI := 0x801C8967 -ov_SC03_100_ASM_DIR := asm/ov_SC03_100 -ov_SC03_100_SRC_DIR := src/ov_SC03_100 -ov_SC03_100_UNDEF_SYMS := build/ov_SC03_100/undefined_syms_auto.txt -ov_SC03_100_UNDEF_FUNCS := build/ov_SC03_100/undefined_funcs_auto.txt - -# --- ov_SC03_101 (location overlay SC03/FILE_101, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_101_EXE := extracted/retail/SC03.CD.dir/FILE_101.dir/0.4.dec -ov_SC03_101_NAME := ov_SC03_101 -ov_SC03_101_OUT_DIR := build/ov_SC03_101 -ov_SC03_101_OUT := $(ov_SC03_101_OUT_DIR)/$(ov_SC03_101_NAME) -ov_SC03_101_ELF := $(ov_SC03_101_OUT).elf -ov_SC03_101_MAPFILE := $(ov_SC03_101_OUT).map -ov_SC03_101_LD_SCRIPT := $(ov_SC03_101_OUT).ld -ov_SC03_101_SPLAT_YAML := config/splat.ov_SC03_101.yaml -ov_SC03_101_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_101.o,ov_SC03_101_jr_8012ACE0.o,tail2.data.o,ov_SC03_101_jr_80135888.o,tail3.data.o,ov_SC03_101_jr_80135A4C.o,tail4.data.o,ov_SC03_101_jr_80135D20.o,tail5.data.o,ov_SC03_101_jr_801380E0.o,ov_SC03_101_o0c.o,tail6.data.o,ov_SC03_101_jr_8013F350.o,tail7.data.o,ov_SC03_101_jr_8013FFD8.o,tail8.data.o,ov_SC03_101_jr_80140608.o,tail9.data.o,ov_SC03_101_jr_8015444C.o,ov_SC03_101_jr_80154C24.o,ov_SC03_101_jr_801588CC.o,ov_SC03_101_jr_80159C84.o,tail10.data.o,ov_SC03_101_jr_8015A3C8.o,tail11.data.o,ov_SC03_101_jr_8015AE2C.o,tail12.data.o,ov_SC03_101_jr_8015C32C.o,tail13.data.o,ov_SC03_101_jr_8016AB6C.o,tail14.data.o,ov_SC03_101_jr_80171B4C.o,ov_SC03_101_jr_801734BC.o,tail15.data.o,ov_SC03_101_jr_801789AC.o,ov_SC03_101_jr_80178D40.o,tail16.data.o,ov_SC03_101_jr_8017A4AC.o,tail17.data.o,ov_SC03_101_jr_8017AE2C.o,ov_SC03_101_jr_8017CA80.o,tail18.data.o,ov_SC03_101_jr_801833CC.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_101/ov_SC03_101.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_101/ov_SC03_101_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_101/ov_SC03_101_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_101/ov_SC03_101_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_101/ov_SC03_101_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_101/ov_SC03_101_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_101/ov_SC03_101_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_101/ov_SC03_101_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_101/ov_SC03_101_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_101/ov_SC03_101_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_101/ov_SC03_101_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_101/ov_SC03_101_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_101/ov_SC03_101_jr_8017CA80.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_101/ov_SC03_101_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_101_CHECK_SHA := config/check.ov_SC03_101.sha -ov_SC03_101_SYMBOLS := config/symbols.ov_SC03_101.txt -ov_SC03_101_SIG := .run/sig.ov_SC03_101.jsonl -ov_SC03_101_GHIDRA_PROG := ov_SC03_101 -ov_SC03_101_VRAM_BASE := 0x80128158 -ov_SC03_101_TEXT_LO := 0x80128158 -ov_SC03_101_TEXT_HI := 0x8019E227 -ov_SC03_101_ASM_DIR := asm/ov_SC03_101 -ov_SC03_101_SRC_DIR := src/ov_SC03_101 -ov_SC03_101_UNDEF_SYMS := build/ov_SC03_101/undefined_syms_auto.txt -ov_SC03_101_UNDEF_FUNCS := build/ov_SC03_101/undefined_funcs_auto.txt - -# --- ov_SC03_102 (location overlay SC03/FILE_102, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_102_EXE := extracted/retail/SC03.CD.dir/FILE_102.dir/0.4.dec -ov_SC03_102_NAME := ov_SC03_102 -ov_SC03_102_OUT_DIR := build/ov_SC03_102 -ov_SC03_102_OUT := $(ov_SC03_102_OUT_DIR)/$(ov_SC03_102_NAME) -ov_SC03_102_ELF := $(ov_SC03_102_OUT).elf -ov_SC03_102_MAPFILE := $(ov_SC03_102_OUT).map -ov_SC03_102_LD_SCRIPT := $(ov_SC03_102_OUT).ld -ov_SC03_102_SPLAT_YAML := config/splat.ov_SC03_102.yaml -ov_SC03_102_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_102.o,ov_SC03_102_jr_8012ACE0.o,tail2.data.o,ov_SC03_102_jr_80135888.o,tail3.data.o,ov_SC03_102_jr_80135A4C.o,tail4.data.o,ov_SC03_102_jr_80135D20.o,tail5.data.o,ov_SC03_102_jr_801380E0.o,ov_SC03_102_o0c.o,tail6.data.o,ov_SC03_102_jr_8013F350.o,tail7.data.o,ov_SC03_102_jr_8013FFD8.o,tail8.data.o,ov_SC03_102_jr_80140608.o,tail9.data.o,ov_SC03_102_jr_8015444C.o,ov_SC03_102_jr_80154C24.o,ov_SC03_102_jr_801588CC.o,ov_SC03_102_jr_80159C84.o,tail10.data.o,ov_SC03_102_jr_8015A3C8.o,tail11.data.o,ov_SC03_102_jr_8015AE2C.o,tail12.data.o,ov_SC03_102_jr_8015C32C.o,tail13.data.o,ov_SC03_102_jr_8016AB6C.o,tail14.data.o,ov_SC03_102_jr_80171B4C.o,ov_SC03_102_jr_801734BC.o,tail15.data.o,ov_SC03_102_jr_801789AC.o,ov_SC03_102_jr_80178D40.o,tail16.data.o,ov_SC03_102_jr_8017A4AC.o,tail17.data.o,ov_SC03_102_jr_8017AE2C.o,ov_SC03_102_jr_8017BEBC.o,ov_SC03_102_jr_801855D0.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_102/ov_SC03_102.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_102/ov_SC03_102_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_102/ov_SC03_102_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_102/ov_SC03_102_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_102/ov_SC03_102_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_102/ov_SC03_102_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_102/ov_SC03_102_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_102/ov_SC03_102_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_102/ov_SC03_102_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_102/ov_SC03_102_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_102/ov_SC03_102_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_102/ov_SC03_102_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_102/ov_SC03_102_jr_8017BEBC.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC03_102/ov_SC03_102_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_102_CHECK_SHA := config/check.ov_SC03_102.sha -ov_SC03_102_SYMBOLS := config/symbols.ov_SC03_102.txt -ov_SC03_102_SIG := .run/sig.ov_SC03_102.jsonl -ov_SC03_102_GHIDRA_PROG := ov_SC03_102 -ov_SC03_102_VRAM_BASE := 0x80128158 -ov_SC03_102_TEXT_LO := 0x80128158 -ov_SC03_102_TEXT_HI := 0x801B9C27 -ov_SC03_102_ASM_DIR := asm/ov_SC03_102 -ov_SC03_102_SRC_DIR := src/ov_SC03_102 -ov_SC03_102_UNDEF_SYMS := build/ov_SC03_102/undefined_syms_auto.txt -ov_SC03_102_UNDEF_FUNCS := build/ov_SC03_102/undefined_funcs_auto.txt - -# --- ov_SC03_103 (location overlay SC03/FILE_103, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_103_EXE := extracted/retail/SC03.CD.dir/FILE_103.dir/0.4.dec -ov_SC03_103_NAME := ov_SC03_103 -ov_SC03_103_OUT_DIR := build/ov_SC03_103 -ov_SC03_103_OUT := $(ov_SC03_103_OUT_DIR)/$(ov_SC03_103_NAME) -ov_SC03_103_ELF := $(ov_SC03_103_OUT).elf -ov_SC03_103_MAPFILE := $(ov_SC03_103_OUT).map -ov_SC03_103_LD_SCRIPT := $(ov_SC03_103_OUT).ld -ov_SC03_103_SPLAT_YAML := config/splat.ov_SC03_103.yaml -ov_SC03_103_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_103.o,ov_SC03_103_jr_8012ACE0.o,tail2.data.o,ov_SC03_103_jr_80135888.o,tail3.data.o,ov_SC03_103_jr_80135A4C.o,tail4.data.o,ov_SC03_103_jr_80135D20.o,tail5.data.o,ov_SC03_103_jr_801380E0.o,ov_SC03_103_o0c.o,tail6.data.o,ov_SC03_103_jr_8013F350.o,tail7.data.o,ov_SC03_103_jr_8014032C.o,tail8.data.o,ov_SC03_103_jr_80140608.o,tail9.data.o,ov_SC03_103_jr_8015444C.o,ov_SC03_103_jr_80154C24.o,ov_SC03_103_jr_801588CC.o,ov_SC03_103_jr_80159C84.o,tail10.data.o,ov_SC03_103_jr_8015A3C8.o,tail11.data.o,ov_SC03_103_jr_8015AE2C.o,tail12.data.o,ov_SC03_103_jr_8015C32C.o,tail13.data.o,ov_SC03_103_jr_8016AB6C.o,tail14.data.o,ov_SC03_103_jr_80171B4C.o,ov_SC03_103_jr_801734BC.o,tail15.data.o,ov_SC03_103_jr_801789AC.o,ov_SC03_103_jr_80178D40.o,tail16.data.o,ov_SC03_103_jr_8017A4AC.o,tail17.data.o,ov_SC03_103_jr_8017AE2C.o,ov_SC03_103_jr_8017C294.o,ov_SC03_103_jr_80183C34.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_103/ov_SC03_103.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_103/ov_SC03_103_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_103/ov_SC03_103_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_103/ov_SC03_103_jr_8013F350.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_103/ov_SC03_103_jr_8014032C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_103/ov_SC03_103_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_103/ov_SC03_103_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_103/ov_SC03_103_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_103/ov_SC03_103_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_103/ov_SC03_103_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_103/ov_SC03_103_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_103/ov_SC03_103_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_103/ov_SC03_103_jr_8017C294.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC03_103/ov_SC03_103_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_103_CHECK_SHA := config/check.ov_SC03_103.sha -ov_SC03_103_SYMBOLS := config/symbols.ov_SC03_103.txt -ov_SC03_103_SIG := .run/sig.ov_SC03_103.jsonl -ov_SC03_103_GHIDRA_PROG := ov_SC03_103 -ov_SC03_103_VRAM_BASE := 0x80128158 -ov_SC03_103_TEXT_LO := 0x80128158 -ov_SC03_103_TEXT_HI := 0x801C4DD7 -ov_SC03_103_ASM_DIR := asm/ov_SC03_103 -ov_SC03_103_SRC_DIR := src/ov_SC03_103 -ov_SC03_103_UNDEF_SYMS := build/ov_SC03_103/undefined_syms_auto.txt -ov_SC03_103_UNDEF_FUNCS := build/ov_SC03_103/undefined_funcs_auto.txt - -# --- ov_SC03_104 (location overlay SC03/FILE_104, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_104_EXE := extracted/retail/SC03.CD.dir/FILE_104.dir/0.4.dec -ov_SC03_104_NAME := ov_SC03_104 -ov_SC03_104_OUT_DIR := build/ov_SC03_104 -ov_SC03_104_OUT := $(ov_SC03_104_OUT_DIR)/$(ov_SC03_104_NAME) -ov_SC03_104_ELF := $(ov_SC03_104_OUT).elf -ov_SC03_104_MAPFILE := $(ov_SC03_104_OUT).map -ov_SC03_104_LD_SCRIPT := $(ov_SC03_104_OUT).ld -ov_SC03_104_SPLAT_YAML := config/splat.ov_SC03_104.yaml -ov_SC03_104_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_104.o,ov_SC03_104_jr_8012ACE0.o,tail2.data.o,ov_SC03_104_jr_80135888.o,tail3.data.o,ov_SC03_104_jr_80135A4C.o,tail4.data.o,ov_SC03_104_jr_80135D20.o,tail5.data.o,ov_SC03_104_jr_801380E0.o,ov_SC03_104_o0c.o,tail6.data.o,ov_SC03_104_jr_8013F350.o,tail7.data.o,ov_SC03_104_jr_8013FFD8.o,tail8.data.o,ov_SC03_104_jr_80140608.o,tail9.data.o,ov_SC03_104_jr_8015444C.o,ov_SC03_104_jr_80154C24.o,ov_SC03_104_jr_801588CC.o,ov_SC03_104_jr_80159C84.o,tail10.data.o,ov_SC03_104_jr_8015A3C8.o,tail11.data.o,ov_SC03_104_jr_8015AE2C.o,tail12.data.o,ov_SC03_104_jr_8015C32C.o,tail13.data.o,ov_SC03_104_jr_8016AB6C.o,tail14.data.o,ov_SC03_104_jr_80171B4C.o,ov_SC03_104_jr_801734BC.o,tail15.data.o,ov_SC03_104_jr_801789AC.o,ov_SC03_104_jr_80178D40.o,tail16.data.o,ov_SC03_104_jr_8017A4AC.o,tail17.data.o,ov_SC03_104_jr_8017AE2C.o,ov_SC03_104_jr_8017CA80.o,ov_SC03_104_jr_80182038.o,tail18.data.o,ov_SC03_104_jr_80186538.o,ov_SC03_104_jr_80189FE4.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_104/ov_SC03_104.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_104/ov_SC03_104_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_104/ov_SC03_104_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_104/ov_SC03_104_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_104/ov_SC03_104_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_104/ov_SC03_104_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_104/ov_SC03_104_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_104/ov_SC03_104_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_104/ov_SC03_104_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_104/ov_SC03_104_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_104/ov_SC03_104_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_104/ov_SC03_104_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_104/ov_SC03_104_jr_80186538.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_104/ov_SC03_104_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_104_CHECK_SHA := config/check.ov_SC03_104.sha -ov_SC03_104_SYMBOLS := config/symbols.ov_SC03_104.txt -ov_SC03_104_SIG := .run/sig.ov_SC03_104.jsonl -ov_SC03_104_GHIDRA_PROG := ov_SC03_104 -ov_SC03_104_VRAM_BASE := 0x80128158 -ov_SC03_104_TEXT_LO := 0x80128158 -ov_SC03_104_TEXT_HI := 0x801C0497 -ov_SC03_104_ASM_DIR := asm/ov_SC03_104 -ov_SC03_104_SRC_DIR := src/ov_SC03_104 -ov_SC03_104_UNDEF_SYMS := build/ov_SC03_104/undefined_syms_auto.txt -ov_SC03_104_UNDEF_FUNCS := build/ov_SC03_104/undefined_funcs_auto.txt - -# --- ov_SC03_105 (location overlay SC03/FILE_105, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_105_EXE := extracted/retail/SC03.CD.dir/FILE_105.dir/0.4.dec -ov_SC03_105_NAME := ov_SC03_105 -ov_SC03_105_OUT_DIR := build/ov_SC03_105 -ov_SC03_105_OUT := $(ov_SC03_105_OUT_DIR)/$(ov_SC03_105_NAME) -ov_SC03_105_ELF := $(ov_SC03_105_OUT).elf -ov_SC03_105_MAPFILE := $(ov_SC03_105_OUT).map -ov_SC03_105_LD_SCRIPT := $(ov_SC03_105_OUT).ld -ov_SC03_105_SPLAT_YAML := config/splat.ov_SC03_105.yaml -ov_SC03_105_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_105.o,ov_SC03_105_jr_8012ACE0.o,tail2.data.o,ov_SC03_105_jr_80135888.o,tail3.data.o,ov_SC03_105_jr_80135A4C.o,tail4.data.o,ov_SC03_105_jr_80135D20.o,tail5.data.o,ov_SC03_105_jr_801380E0.o,ov_SC03_105_o0c.o,tail6.data.o,ov_SC03_105_jr_8013F350.o,tail7.data.o,ov_SC03_105_jr_8013FFD8.o,tail8.data.o,ov_SC03_105_jr_80140608.o,tail9.data.o,ov_SC03_105_jr_8015444C.o,ov_SC03_105_jr_80154C24.o,ov_SC03_105_jr_801588CC.o,ov_SC03_105_jr_80159C84.o,tail10.data.o,ov_SC03_105_jr_8015A3C8.o,tail11.data.o,ov_SC03_105_jr_8015AE2C.o,tail12.data.o,ov_SC03_105_jr_8015C32C.o,tail13.data.o,ov_SC03_105_jr_8016AB6C.o,tail14.data.o,ov_SC03_105_jr_80171B4C.o,ov_SC03_105_jr_801734BC.o,tail15.data.o,ov_SC03_105_jr_801789AC.o,ov_SC03_105_jr_80178D40.o,tail16.data.o,ov_SC03_105_jr_8017A4AC.o,tail17.data.o,ov_SC03_105_jr_8017AE2C.o,tail18.data.o,ov_SC03_105_jr_8017C8D0.o,tail19.data.o,ov_SC03_105_jr_80189798.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_105/ov_SC03_105.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_105/ov_SC03_105_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_105/ov_SC03_105_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_105/ov_SC03_105_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_105/ov_SC03_105_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_105/ov_SC03_105_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_105/ov_SC03_105_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_105/ov_SC03_105_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_105/ov_SC03_105_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_105/ov_SC03_105_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_105/ov_SC03_105_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_105/ov_SC03_105_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_105/ov_SC03_105_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_105_CHECK_SHA := config/check.ov_SC03_105.sha -ov_SC03_105_SYMBOLS := config/symbols.ov_SC03_105.txt -ov_SC03_105_SIG := .run/sig.ov_SC03_105.jsonl -ov_SC03_105_GHIDRA_PROG := ov_SC03_105 -ov_SC03_105_VRAM_BASE := 0x80128158 -ov_SC03_105_TEXT_LO := 0x80128158 -ov_SC03_105_TEXT_HI := 0x801BCD1F -ov_SC03_105_ASM_DIR := asm/ov_SC03_105 -ov_SC03_105_SRC_DIR := src/ov_SC03_105 -ov_SC03_105_UNDEF_SYMS := build/ov_SC03_105/undefined_syms_auto.txt -ov_SC03_105_UNDEF_FUNCS := build/ov_SC03_105/undefined_funcs_auto.txt - -# --- ov_SC03_108 (location overlay SC03/FILE_108, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_108_EXE := extracted/retail/SC03.CD.dir/FILE_108.dir/0.4.dec -ov_SC03_108_NAME := ov_SC03_108 -ov_SC03_108_OUT_DIR := build/ov_SC03_108 -ov_SC03_108_OUT := $(ov_SC03_108_OUT_DIR)/$(ov_SC03_108_NAME) -ov_SC03_108_ELF := $(ov_SC03_108_OUT).elf -ov_SC03_108_MAPFILE := $(ov_SC03_108_OUT).map -ov_SC03_108_LD_SCRIPT := $(ov_SC03_108_OUT).ld -ov_SC03_108_SPLAT_YAML := config/splat.ov_SC03_108.yaml -ov_SC03_108_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_108.o,ov_SC03_108_jr_8012ACE0.o,tail2.data.o,ov_SC03_108_jr_80135888.o,tail3.data.o,ov_SC03_108_jr_80135A4C.o,tail4.data.o,ov_SC03_108_jr_80135D20.o,tail5.data.o,ov_SC03_108_jr_801380E0.o,ov_SC03_108_o0c.o,tail6.data.o,ov_SC03_108_jr_8013F350.o,tail7.data.o,ov_SC03_108_jr_8013FFD8.o,tail8.data.o,ov_SC03_108_jr_80140608.o,tail9.data.o,ov_SC03_108_jr_8015444C.o,ov_SC03_108_jr_80154C24.o,ov_SC03_108_jr_801588CC.o,ov_SC03_108_jr_80159C84.o,tail10.data.o,ov_SC03_108_jr_8015A3C8.o,tail11.data.o,ov_SC03_108_jr_8015AE2C.o,tail12.data.o,ov_SC03_108_jr_8015C32C.o,tail13.data.o,ov_SC03_108_jr_8016AB6C.o,tail14.data.o,ov_SC03_108_jr_80171B4C.o,ov_SC03_108_jr_801734BC.o,tail15.data.o,ov_SC03_108_jr_801789AC.o,ov_SC03_108_jr_80178D40.o,tail16.data.o,ov_SC03_108_jr_8017A4AC.o,tail17.data.o,ov_SC03_108_jr_8017AE2C.o,ov_SC03_108_jr_8017BEBC.o,tail18.data.o,ov_SC03_108_jr_8017F83C.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_108/ov_SC03_108.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_108/ov_SC03_108_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_108/ov_SC03_108_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_108/ov_SC03_108_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_108/ov_SC03_108_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_108/ov_SC03_108_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_108/ov_SC03_108_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_108/ov_SC03_108_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_108/ov_SC03_108_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_108/ov_SC03_108_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_108/ov_SC03_108_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_108/ov_SC03_108_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_108/ov_SC03_108_jr_8017F83C.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18,+0xe0 -build/src/ov_SC03_108/ov_SC03_108_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_108_CHECK_SHA := config/check.ov_SC03_108.sha -ov_SC03_108_SYMBOLS := config/symbols.ov_SC03_108.txt -ov_SC03_108_SIG := .run/sig.ov_SC03_108.jsonl -ov_SC03_108_GHIDRA_PROG := ov_SC03_108 -ov_SC03_108_VRAM_BASE := 0x80128158 -ov_SC03_108_TEXT_LO := 0x80128158 -ov_SC03_108_TEXT_HI := 0x801A1AA7 -ov_SC03_108_ASM_DIR := asm/ov_SC03_108 -ov_SC03_108_SRC_DIR := src/ov_SC03_108 -ov_SC03_108_UNDEF_SYMS := build/ov_SC03_108/undefined_syms_auto.txt -ov_SC03_108_UNDEF_FUNCS := build/ov_SC03_108/undefined_funcs_auto.txt - -# --- ov_SC03_109 (location overlay SC03/FILE_109, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_109_EXE := extracted/retail/SC03.CD.dir/FILE_109.dir/0.4.dec -ov_SC03_109_NAME := ov_SC03_109 -ov_SC03_109_OUT_DIR := build/ov_SC03_109 -ov_SC03_109_OUT := $(ov_SC03_109_OUT_DIR)/$(ov_SC03_109_NAME) -ov_SC03_109_ELF := $(ov_SC03_109_OUT).elf -ov_SC03_109_MAPFILE := $(ov_SC03_109_OUT).map -ov_SC03_109_LD_SCRIPT := $(ov_SC03_109_OUT).ld -ov_SC03_109_SPLAT_YAML := config/splat.ov_SC03_109.yaml -ov_SC03_109_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_109.o,ov_SC03_109_jr_8012ACE0.o,tail2.data.o,ov_SC03_109_jr_80135888.o,tail3.data.o,ov_SC03_109_jr_80135A4C.o,tail4.data.o,ov_SC03_109_jr_80135D20.o,tail5.data.o,ov_SC03_109_jr_801380E0.o,ov_SC03_109_o0c.o,tail6.data.o,ov_SC03_109_jr_8013F350.o,tail7.data.o,ov_SC03_109_jr_8013FFD8.o,tail8.data.o,ov_SC03_109_jr_80140608.o,tail9.data.o,ov_SC03_109_jr_8015444C.o,ov_SC03_109_jr_80154C24.o,ov_SC03_109_jr_801588CC.o,ov_SC03_109_jr_80159C84.o,tail10.data.o,ov_SC03_109_jr_8015A3C8.o,tail11.data.o,ov_SC03_109_jr_8015AE2C.o,tail12.data.o,ov_SC03_109_jr_8015C32C.o,tail13.data.o,ov_SC03_109_jr_8016AB6C.o,tail14.data.o,ov_SC03_109_jr_80171B4C.o,ov_SC03_109_jr_801734BC.o,tail15.data.o,ov_SC03_109_jr_801789AC.o,ov_SC03_109_jr_80178D40.o,tail16.data.o,ov_SC03_109_jr_8017A4AC.o,tail17.data.o,ov_SC03_109_jr_8017AE2C.o,ov_SC03_109_jr_8017C180.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_109/ov_SC03_109.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_109/ov_SC03_109_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_109/ov_SC03_109_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_109/ov_SC03_109_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_109/ov_SC03_109_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_109/ov_SC03_109_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_109/ov_SC03_109_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_109/ov_SC03_109_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_109/ov_SC03_109_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_109/ov_SC03_109_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_109/ov_SC03_109_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_109/ov_SC03_109_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_109/ov_SC03_109_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_109_CHECK_SHA := config/check.ov_SC03_109.sha -ov_SC03_109_SYMBOLS := config/symbols.ov_SC03_109.txt -ov_SC03_109_SIG := .run/sig.ov_SC03_109.jsonl -ov_SC03_109_GHIDRA_PROG := ov_SC03_109 -ov_SC03_109_VRAM_BASE := 0x80128158 -ov_SC03_109_TEXT_LO := 0x80128158 -ov_SC03_109_TEXT_HI := 0x8019A4AF -ov_SC03_109_ASM_DIR := asm/ov_SC03_109 -ov_SC03_109_SRC_DIR := src/ov_SC03_109 -ov_SC03_109_UNDEF_SYMS := build/ov_SC03_109/undefined_syms_auto.txt -ov_SC03_109_UNDEF_FUNCS := build/ov_SC03_109/undefined_funcs_auto.txt - -# --- ov_SC03_110 (location overlay SC03/FILE_110, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_110_EXE := extracted/retail/SC03.CD.dir/FILE_110.dir/0.4.dec -ov_SC03_110_NAME := ov_SC03_110 -ov_SC03_110_OUT_DIR := build/ov_SC03_110 -ov_SC03_110_OUT := $(ov_SC03_110_OUT_DIR)/$(ov_SC03_110_NAME) -ov_SC03_110_ELF := $(ov_SC03_110_OUT).elf -ov_SC03_110_MAPFILE := $(ov_SC03_110_OUT).map -ov_SC03_110_LD_SCRIPT := $(ov_SC03_110_OUT).ld -ov_SC03_110_SPLAT_YAML := config/splat.ov_SC03_110.yaml -ov_SC03_110_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_110.o,ov_SC03_110_jr_8012ACE0.o,tail2.data.o,ov_SC03_110_jr_80135888.o,tail3.data.o,ov_SC03_110_jr_80135A4C.o,tail4.data.o,ov_SC03_110_jr_80135D20.o,tail5.data.o,ov_SC03_110_jr_801380E0.o,ov_SC03_110_o0c.o,tail6.data.o,ov_SC03_110_jr_8013F350.o,tail7.data.o,ov_SC03_110_jr_8013FFD8.o,tail8.data.o,ov_SC03_110_jr_80140608.o,tail9.data.o,ov_SC03_110_jr_8015444C.o,ov_SC03_110_jr_80154C24.o,ov_SC03_110_jr_801588CC.o,ov_SC03_110_jr_80159C84.o,tail10.data.o,ov_SC03_110_jr_8015A3C8.o,tail11.data.o,ov_SC03_110_jr_8015AE2C.o,tail12.data.o,ov_SC03_110_jr_8015C32C.o,tail13.data.o,ov_SC03_110_jr_8016AB6C.o,tail14.data.o,ov_SC03_110_jr_80171B4C.o,ov_SC03_110_jr_801734BC.o,tail15.data.o,ov_SC03_110_jr_801789AC.o,ov_SC03_110_jr_80178D40.o,tail16.data.o,ov_SC03_110_jr_8017A4AC.o,tail17.data.o,ov_SC03_110_jr_8017AE2C.o,ov_SC03_110_jr_8017D898.o,ov_SC03_110_jr_8017FBC8.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_110/ov_SC03_110.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_110/ov_SC03_110_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_110/ov_SC03_110_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_110/ov_SC03_110_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_110/ov_SC03_110_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_110/ov_SC03_110_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_110/ov_SC03_110_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_110/ov_SC03_110_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_110/ov_SC03_110_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_110/ov_SC03_110_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_110/ov_SC03_110_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_110/ov_SC03_110_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_110/ov_SC03_110_jr_8017D898.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_110/ov_SC03_110_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_110_CHECK_SHA := config/check.ov_SC03_110.sha -ov_SC03_110_SYMBOLS := config/symbols.ov_SC03_110.txt -ov_SC03_110_SIG := .run/sig.ov_SC03_110.jsonl -ov_SC03_110_GHIDRA_PROG := ov_SC03_110 -ov_SC03_110_VRAM_BASE := 0x80128158 -ov_SC03_110_TEXT_LO := 0x80128158 -ov_SC03_110_TEXT_HI := 0x801A24DF -ov_SC03_110_ASM_DIR := asm/ov_SC03_110 -ov_SC03_110_SRC_DIR := src/ov_SC03_110 -ov_SC03_110_UNDEF_SYMS := build/ov_SC03_110/undefined_syms_auto.txt -ov_SC03_110_UNDEF_FUNCS := build/ov_SC03_110/undefined_funcs_auto.txt - -# --- ov_SC03_111 (location overlay SC03/FILE_111, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_111_EXE := extracted/retail/SC03.CD.dir/FILE_111.dir/0.4.dec -ov_SC03_111_NAME := ov_SC03_111 -ov_SC03_111_OUT_DIR := build/ov_SC03_111 -ov_SC03_111_OUT := $(ov_SC03_111_OUT_DIR)/$(ov_SC03_111_NAME) -ov_SC03_111_ELF := $(ov_SC03_111_OUT).elf -ov_SC03_111_MAPFILE := $(ov_SC03_111_OUT).map -ov_SC03_111_LD_SCRIPT := $(ov_SC03_111_OUT).ld -ov_SC03_111_SPLAT_YAML := config/splat.ov_SC03_111.yaml -ov_SC03_111_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_111.o,ov_SC03_111_jr_8012ACE0.o,tail2.data.o,ov_SC03_111_jr_80135888.o,tail3.data.o,ov_SC03_111_jr_80135A4C.o,tail4.data.o,ov_SC03_111_jr_80135D20.o,tail5.data.o,ov_SC03_111_jr_801380E0.o,ov_SC03_111_o0c.o,tail6.data.o,ov_SC03_111_jr_8013F350.o,tail7.data.o,ov_SC03_111_jr_8013FFD8.o,tail8.data.o,ov_SC03_111_jr_80140608.o,tail9.data.o,ov_SC03_111_jr_8015444C.o,ov_SC03_111_jr_80154C24.o,ov_SC03_111_jr_801588CC.o,ov_SC03_111_jr_80159C84.o,tail10.data.o,ov_SC03_111_jr_8015A3C8.o,tail11.data.o,ov_SC03_111_jr_8015AE2C.o,tail12.data.o,ov_SC03_111_jr_8015C32C.o,tail13.data.o,ov_SC03_111_jr_8016AB6C.o,tail14.data.o,ov_SC03_111_jr_80171B4C.o,ov_SC03_111_jr_801734BC.o,tail15.data.o,ov_SC03_111_jr_801789AC.o,ov_SC03_111_jr_80178D40.o,tail16.data.o,ov_SC03_111_jr_8017A4AC.o,tail17.data.o,ov_SC03_111_jr_8017AE2C.o,ov_SC03_111_jr_8017EC58.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_111/ov_SC03_111.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_111/ov_SC03_111_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_111/ov_SC03_111_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_111/ov_SC03_111_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_111/ov_SC03_111_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_111/ov_SC03_111_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_111/ov_SC03_111_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_111/ov_SC03_111_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_111/ov_SC03_111_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_111/ov_SC03_111_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_111/ov_SC03_111_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_111/ov_SC03_111_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_111/ov_SC03_111_jr_8017EC58.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x88 -build/src/ov_SC03_111/ov_SC03_111_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_111_CHECK_SHA := config/check.ov_SC03_111.sha -ov_SC03_111_SYMBOLS := config/symbols.ov_SC03_111.txt -ov_SC03_111_SIG := .run/sig.ov_SC03_111.jsonl -ov_SC03_111_GHIDRA_PROG := ov_SC03_111 -ov_SC03_111_VRAM_BASE := 0x80128158 -ov_SC03_111_TEXT_LO := 0x80128158 -ov_SC03_111_TEXT_HI := 0x801B9B87 -ov_SC03_111_ASM_DIR := asm/ov_SC03_111 -ov_SC03_111_SRC_DIR := src/ov_SC03_111 -ov_SC03_111_UNDEF_SYMS := build/ov_SC03_111/undefined_syms_auto.txt -ov_SC03_111_UNDEF_FUNCS := build/ov_SC03_111/undefined_funcs_auto.txt - -# --- ov_SC03_112 (location overlay SC03/FILE_112, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_112_EXE := extracted/retail/SC03.CD.dir/FILE_112.dir/0.4.dec -ov_SC03_112_NAME := ov_SC03_112 -ov_SC03_112_OUT_DIR := build/ov_SC03_112 -ov_SC03_112_OUT := $(ov_SC03_112_OUT_DIR)/$(ov_SC03_112_NAME) -ov_SC03_112_ELF := $(ov_SC03_112_OUT).elf -ov_SC03_112_MAPFILE := $(ov_SC03_112_OUT).map -ov_SC03_112_LD_SCRIPT := $(ov_SC03_112_OUT).ld -ov_SC03_112_SPLAT_YAML := config/splat.ov_SC03_112.yaml -ov_SC03_112_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_112.o,ov_SC03_112_jr_8012ACE0.o,tail2.data.o,ov_SC03_112_jr_80135888.o,tail3.data.o,ov_SC03_112_jr_80135A4C.o,tail4.data.o,ov_SC03_112_jr_80135D20.o,tail5.data.o,ov_SC03_112_jr_801380E0.o,ov_SC03_112_o0c.o,tail6.data.o,ov_SC03_112_jr_8013F350.o,tail7.data.o,ov_SC03_112_jr_8013FFD8.o,tail8.data.o,ov_SC03_112_jr_80140608.o,tail9.data.o,ov_SC03_112_jr_8015444C.o,ov_SC03_112_jr_80154C24.o,ov_SC03_112_jr_801588CC.o,ov_SC03_112_jr_80159C84.o,tail10.data.o,ov_SC03_112_jr_8015A3C8.o,tail11.data.o,ov_SC03_112_jr_8015AE2C.o,tail12.data.o,ov_SC03_112_jr_8015C32C.o,tail13.data.o,ov_SC03_112_jr_8016AB6C.o,tail14.data.o,ov_SC03_112_jr_80171B4C.o,ov_SC03_112_jr_801734BC.o,tail15.data.o,ov_SC03_112_jr_801789AC.o,ov_SC03_112_jr_80178D40.o,tail16.data.o,ov_SC03_112_jr_8017A4AC.o,tail17.data.o,ov_SC03_112_jr_8017AE2C.o,ov_SC03_112_jr_8017C294.o,tail18.data.o,ov_SC03_112_jr_801817E0.o,tail19.data.o,ov_SC03_112_jr_80181F74.o,ov_SC03_112_jr_80182BF8.o,ov_SC03_112_jr_80183AE0.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_112/ov_SC03_112.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_112/ov_SC03_112_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_112/ov_SC03_112_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_112/ov_SC03_112_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_112/ov_SC03_112_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_112/ov_SC03_112_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_112/ov_SC03_112_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_112/ov_SC03_112_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_112/ov_SC03_112_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_112/ov_SC03_112_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_112/ov_SC03_112_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_112/ov_SC03_112_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_112/ov_SC03_112_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_112_CHECK_SHA := config/check.ov_SC03_112.sha -ov_SC03_112_SYMBOLS := config/symbols.ov_SC03_112.txt -ov_SC03_112_SIG := .run/sig.ov_SC03_112.jsonl -ov_SC03_112_GHIDRA_PROG := ov_SC03_112 -ov_SC03_112_VRAM_BASE := 0x80128158 -ov_SC03_112_TEXT_LO := 0x80128158 -ov_SC03_112_TEXT_HI := 0x801AD14F -ov_SC03_112_ASM_DIR := asm/ov_SC03_112 -ov_SC03_112_SRC_DIR := src/ov_SC03_112 -ov_SC03_112_UNDEF_SYMS := build/ov_SC03_112/undefined_syms_auto.txt -ov_SC03_112_UNDEF_FUNCS := build/ov_SC03_112/undefined_funcs_auto.txt - -# --- ov_SC03_113 (location overlay SC03/FILE_113, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_113_EXE := extracted/retail/SC03.CD.dir/FILE_113.dir/0.4.dec -ov_SC03_113_NAME := ov_SC03_113 -ov_SC03_113_OUT_DIR := build/ov_SC03_113 -ov_SC03_113_OUT := $(ov_SC03_113_OUT_DIR)/$(ov_SC03_113_NAME) -ov_SC03_113_ELF := $(ov_SC03_113_OUT).elf -ov_SC03_113_MAPFILE := $(ov_SC03_113_OUT).map -ov_SC03_113_LD_SCRIPT := $(ov_SC03_113_OUT).ld -ov_SC03_113_SPLAT_YAML := config/splat.ov_SC03_113.yaml -ov_SC03_113_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_113.o,ov_SC03_113_jr_8012ACE0.o,tail2.data.o,ov_SC03_113_jr_80135888.o,tail3.data.o,ov_SC03_113_jr_80135A4C.o,tail4.data.o,ov_SC03_113_jr_80135D20.o,tail5.data.o,ov_SC03_113_jr_801380E0.o,ov_SC03_113_o0c.o,tail6.data.o,ov_SC03_113_jr_8013F350.o,tail7.data.o,ov_SC03_113_jr_8013FFD8.o,tail8.data.o,ov_SC03_113_jr_80140608.o,tail9.data.o,ov_SC03_113_jr_8015444C.o,ov_SC03_113_jr_80154C24.o,ov_SC03_113_jr_801588CC.o,ov_SC03_113_jr_80159C84.o,tail10.data.o,ov_SC03_113_jr_8015A3C8.o,tail11.data.o,ov_SC03_113_jr_8015AE2C.o,tail12.data.o,ov_SC03_113_jr_8015C32C.o,tail13.data.o,ov_SC03_113_jr_8016AB6C.o,tail14.data.o,ov_SC03_113_jr_80171B4C.o,ov_SC03_113_jr_801734BC.o,tail15.data.o,ov_SC03_113_jr_801789AC.o,ov_SC03_113_jr_80178D40.o,tail16.data.o,ov_SC03_113_jr_8017A4AC.o,tail17.data.o,ov_SC03_113_jr_8017AE2C.o,ov_SC03_113_jr_8017C294.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_113/ov_SC03_113.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_113/ov_SC03_113_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_113/ov_SC03_113_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_113/ov_SC03_113_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_113/ov_SC03_113_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_113/ov_SC03_113_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_113/ov_SC03_113_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_113/ov_SC03_113_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_113/ov_SC03_113_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_113/ov_SC03_113_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_113/ov_SC03_113_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_113/ov_SC03_113_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_113/ov_SC03_113_jr_8017C294.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x88 -build/src/ov_SC03_113/ov_SC03_113_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_113_CHECK_SHA := config/check.ov_SC03_113.sha -ov_SC03_113_SYMBOLS := config/symbols.ov_SC03_113.txt -ov_SC03_113_SIG := .run/sig.ov_SC03_113.jsonl -ov_SC03_113_GHIDRA_PROG := ov_SC03_113 -ov_SC03_113_VRAM_BASE := 0x80128158 -ov_SC03_113_TEXT_LO := 0x80128158 -ov_SC03_113_TEXT_HI := 0x801A5CEF -ov_SC03_113_ASM_DIR := asm/ov_SC03_113 -ov_SC03_113_SRC_DIR := src/ov_SC03_113 -ov_SC03_113_UNDEF_SYMS := build/ov_SC03_113/undefined_syms_auto.txt -ov_SC03_113_UNDEF_FUNCS := build/ov_SC03_113/undefined_funcs_auto.txt - -# --- ov_SC03_114 (location overlay SC03/FILE_114, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_114_EXE := extracted/retail/SC03.CD.dir/FILE_114.dir/0.4.dec -ov_SC03_114_NAME := ov_SC03_114 -ov_SC03_114_OUT_DIR := build/ov_SC03_114 -ov_SC03_114_OUT := $(ov_SC03_114_OUT_DIR)/$(ov_SC03_114_NAME) -ov_SC03_114_ELF := $(ov_SC03_114_OUT).elf -ov_SC03_114_MAPFILE := $(ov_SC03_114_OUT).map -ov_SC03_114_LD_SCRIPT := $(ov_SC03_114_OUT).ld -ov_SC03_114_SPLAT_YAML := config/splat.ov_SC03_114.yaml -ov_SC03_114_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_114.o,ov_SC03_114_jr_8012ACE0.o,tail2.data.o,ov_SC03_114_jr_80135888.o,tail3.data.o,ov_SC03_114_jr_80135A4C.o,tail4.data.o,ov_SC03_114_jr_80135D20.o,tail5.data.o,ov_SC03_114_jr_801380E0.o,ov_SC03_114_o0c.o,tail6.data.o,ov_SC03_114_jr_8013F350.o,tail7.data.o,ov_SC03_114_jr_8013FFD8.o,tail8.data.o,ov_SC03_114_jr_80140608.o,tail9.data.o,ov_SC03_114_jr_8015444C.o,ov_SC03_114_jr_80154C24.o,ov_SC03_114_jr_801588CC.o,ov_SC03_114_jr_80159C84.o,tail10.data.o,ov_SC03_114_jr_8015A3C8.o,tail11.data.o,ov_SC03_114_jr_8015AE2C.o,tail12.data.o,ov_SC03_114_jr_8015C32C.o,tail13.data.o,ov_SC03_114_jr_8016AB6C.o,tail14.data.o,ov_SC03_114_jr_80171B4C.o,ov_SC03_114_jr_801734BC.o,tail15.data.o,ov_SC03_114_jr_801789AC.o,ov_SC03_114_jr_80178D40.o,tail16.data.o,ov_SC03_114_jr_8017A4AC.o,tail17.data.o,ov_SC03_114_jr_8017AE2C.o,ov_SC03_114_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_114/ov_SC03_114.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_114/ov_SC03_114_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_114/ov_SC03_114_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_114/ov_SC03_114_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_114/ov_SC03_114_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_114/ov_SC03_114_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_114/ov_SC03_114_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_114/ov_SC03_114_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_114/ov_SC03_114_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_114/ov_SC03_114_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_114/ov_SC03_114_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_114/ov_SC03_114_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_114/ov_SC03_114_jr_8017BEBC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_114/ov_SC03_114_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_114_CHECK_SHA := config/check.ov_SC03_114.sha -ov_SC03_114_SYMBOLS := config/symbols.ov_SC03_114.txt -ov_SC03_114_SIG := .run/sig.ov_SC03_114.jsonl -ov_SC03_114_GHIDRA_PROG := ov_SC03_114 -ov_SC03_114_VRAM_BASE := 0x80128158 -ov_SC03_114_TEXT_LO := 0x80128158 -ov_SC03_114_TEXT_HI := 0x801A9867 -ov_SC03_114_ASM_DIR := asm/ov_SC03_114 -ov_SC03_114_SRC_DIR := src/ov_SC03_114 -ov_SC03_114_UNDEF_SYMS := build/ov_SC03_114/undefined_syms_auto.txt -ov_SC03_114_UNDEF_FUNCS := build/ov_SC03_114/undefined_funcs_auto.txt - -# --- ov_SC03_115 (location overlay SC03/FILE_115, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_115_EXE := extracted/retail/SC03.CD.dir/FILE_115.dir/0.4.dec -ov_SC03_115_NAME := ov_SC03_115 -ov_SC03_115_OUT_DIR := build/ov_SC03_115 -ov_SC03_115_OUT := $(ov_SC03_115_OUT_DIR)/$(ov_SC03_115_NAME) -ov_SC03_115_ELF := $(ov_SC03_115_OUT).elf -ov_SC03_115_MAPFILE := $(ov_SC03_115_OUT).map -ov_SC03_115_LD_SCRIPT := $(ov_SC03_115_OUT).ld -ov_SC03_115_SPLAT_YAML := config/splat.ov_SC03_115.yaml -ov_SC03_115_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_115.o,ov_SC03_115_jr_8012ACE0.o,tail2.data.o,ov_SC03_115_jr_80135888.o,tail3.data.o,ov_SC03_115_jr_80135A4C.o,tail4.data.o,ov_SC03_115_jr_80135D20.o,tail5.data.o,ov_SC03_115_jr_801380E0.o,ov_SC03_115_o0c.o,tail6.data.o,ov_SC03_115_jr_8013F350.o,tail7.data.o,ov_SC03_115_jr_8013FFD8.o,tail8.data.o,ov_SC03_115_jr_80140608.o,tail9.data.o,ov_SC03_115_jr_8015444C.o,ov_SC03_115_jr_80154C24.o,ov_SC03_115_jr_801588CC.o,ov_SC03_115_jr_80159C84.o,tail10.data.o,ov_SC03_115_jr_8015A3C8.o,tail11.data.o,ov_SC03_115_jr_8015AE2C.o,tail12.data.o,ov_SC03_115_jr_8015C32C.o,tail13.data.o,ov_SC03_115_jr_8016AB6C.o,tail14.data.o,ov_SC03_115_jr_80171B4C.o,ov_SC03_115_jr_801734BC.o,tail15.data.o,ov_SC03_115_jr_801789AC.o,ov_SC03_115_jr_80178D40.o,tail16.data.o,ov_SC03_115_jr_8017A4AC.o,tail17.data.o,ov_SC03_115_jr_8017AE2C.o,ov_SC03_115_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_115/ov_SC03_115.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_115/ov_SC03_115_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_115/ov_SC03_115_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_115/ov_SC03_115_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_115/ov_SC03_115_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_115/ov_SC03_115_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_115/ov_SC03_115_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_115/ov_SC03_115_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_115/ov_SC03_115_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_115/ov_SC03_115_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_115/ov_SC03_115_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_115/ov_SC03_115_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_115/ov_SC03_115_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_115_CHECK_SHA := config/check.ov_SC03_115.sha -ov_SC03_115_SYMBOLS := config/symbols.ov_SC03_115.txt -ov_SC03_115_SIG := .run/sig.ov_SC03_115.jsonl -ov_SC03_115_GHIDRA_PROG := ov_SC03_115 -ov_SC03_115_VRAM_BASE := 0x80128158 -ov_SC03_115_TEXT_LO := 0x80128158 -ov_SC03_115_TEXT_HI := 0x8019513F -ov_SC03_115_ASM_DIR := asm/ov_SC03_115 -ov_SC03_115_SRC_DIR := src/ov_SC03_115 -ov_SC03_115_UNDEF_SYMS := build/ov_SC03_115/undefined_syms_auto.txt -ov_SC03_115_UNDEF_FUNCS := build/ov_SC03_115/undefined_funcs_auto.txt - -# --- ov_SC03_116 (location overlay SC03/FILE_116, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_116_EXE := extracted/retail/SC03.CD.dir/FILE_116.dir/0.4.dec -ov_SC03_116_NAME := ov_SC03_116 -ov_SC03_116_OUT_DIR := build/ov_SC03_116 -ov_SC03_116_OUT := $(ov_SC03_116_OUT_DIR)/$(ov_SC03_116_NAME) -ov_SC03_116_ELF := $(ov_SC03_116_OUT).elf -ov_SC03_116_MAPFILE := $(ov_SC03_116_OUT).map -ov_SC03_116_LD_SCRIPT := $(ov_SC03_116_OUT).ld -ov_SC03_116_SPLAT_YAML := config/splat.ov_SC03_116.yaml -ov_SC03_116_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_116.o,ov_SC03_116_jr_8012ACE0.o,tail2.data.o,ov_SC03_116_jr_80135888.o,tail3.data.o,ov_SC03_116_jr_80135A4C.o,tail4.data.o,ov_SC03_116_jr_80135D20.o,tail5.data.o,ov_SC03_116_jr_801380E0.o,ov_SC03_116_o0c.o,tail6.data.o,ov_SC03_116_jr_8013F350.o,tail7.data.o,ov_SC03_116_jr_8013FFD8.o,tail8.data.o,ov_SC03_116_jr_80140608.o,tail9.data.o,ov_SC03_116_jr_8015444C.o,ov_SC03_116_jr_80154C24.o,ov_SC03_116_jr_801588CC.o,ov_SC03_116_jr_80159C84.o,tail10.data.o,ov_SC03_116_jr_8015A3C8.o,tail11.data.o,ov_SC03_116_jr_8015AE2C.o,tail12.data.o,ov_SC03_116_jr_8015C32C.o,tail13.data.o,ov_SC03_116_jr_8016AB6C.o,tail14.data.o,ov_SC03_116_jr_80171B4C.o,ov_SC03_116_jr_801734BC.o,tail15.data.o,ov_SC03_116_jr_801789AC.o,ov_SC03_116_jr_80178D40.o,tail16.data.o,ov_SC03_116_jr_8017A4AC.o,tail17.data.o,ov_SC03_116_jr_8017AE2C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_116/ov_SC03_116.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_116/ov_SC03_116_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_116/ov_SC03_116_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_116/ov_SC03_116_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_116/ov_SC03_116_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_116/ov_SC03_116_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_116/ov_SC03_116_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_116/ov_SC03_116_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_116/ov_SC03_116_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_116/ov_SC03_116_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_116/ov_SC03_116_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_116/ov_SC03_116_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_116/ov_SC03_116_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_116/ov_SC03_116_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_116_CHECK_SHA := config/check.ov_SC03_116.sha -ov_SC03_116_SYMBOLS := config/symbols.ov_SC03_116.txt -ov_SC03_116_SIG := .run/sig.ov_SC03_116.jsonl -ov_SC03_116_GHIDRA_PROG := ov_SC03_116 -ov_SC03_116_VRAM_BASE := 0x80128158 -ov_SC03_116_TEXT_LO := 0x80128158 -ov_SC03_116_TEXT_HI := 0x80197D4F -ov_SC03_116_ASM_DIR := asm/ov_SC03_116 -ov_SC03_116_SRC_DIR := src/ov_SC03_116 -ov_SC03_116_UNDEF_SYMS := build/ov_SC03_116/undefined_syms_auto.txt -ov_SC03_116_UNDEF_FUNCS := build/ov_SC03_116/undefined_funcs_auto.txt - -# --- ov_SC03_117 (location overlay SC03/FILE_117, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_117_EXE := extracted/retail/SC03.CD.dir/FILE_117.dir/0.4.dec -ov_SC03_117_NAME := ov_SC03_117 -ov_SC03_117_OUT_DIR := build/ov_SC03_117 -ov_SC03_117_OUT := $(ov_SC03_117_OUT_DIR)/$(ov_SC03_117_NAME) -ov_SC03_117_ELF := $(ov_SC03_117_OUT).elf -ov_SC03_117_MAPFILE := $(ov_SC03_117_OUT).map -ov_SC03_117_LD_SCRIPT := $(ov_SC03_117_OUT).ld -ov_SC03_117_SPLAT_YAML := config/splat.ov_SC03_117.yaml -ov_SC03_117_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_117.o,ov_SC03_117_jr_8012ACE0.o,tail2.data.o,ov_SC03_117_jr_80135888.o,tail3.data.o,ov_SC03_117_jr_80135A4C.o,tail4.data.o,ov_SC03_117_jr_80135D20.o,tail5.data.o,ov_SC03_117_jr_801380E0.o,ov_SC03_117_o0c.o,tail6.data.o,ov_SC03_117_jr_8013F350.o,tail7.data.o,ov_SC03_117_jr_8013FFD8.o,tail8.data.o,ov_SC03_117_jr_80140608.o,tail9.data.o,ov_SC03_117_jr_8015444C.o,ov_SC03_117_jr_80154C24.o,ov_SC03_117_jr_801588CC.o,ov_SC03_117_jr_80159C84.o,tail10.data.o,ov_SC03_117_jr_8015A3C8.o,tail11.data.o,ov_SC03_117_jr_8015AE2C.o,tail12.data.o,ov_SC03_117_jr_8015C32C.o,tail13.data.o,ov_SC03_117_jr_8016AB6C.o,tail14.data.o,ov_SC03_117_jr_80171B4C.o,ov_SC03_117_jr_801734BC.o,tail15.data.o,ov_SC03_117_jr_801789AC.o,ov_SC03_117_jr_80178D40.o,tail16.data.o,ov_SC03_117_jr_8017A4AC.o,tail17.data.o,ov_SC03_117_jr_8017AE2C.o,ov_SC03_117_jr_8017BEBC.o,tail18.data.o,ov_SC03_117_jr_80181C80.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_117/ov_SC03_117.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_117/ov_SC03_117_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_117/ov_SC03_117_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_117/ov_SC03_117_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_117/ov_SC03_117_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_117/ov_SC03_117_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_117/ov_SC03_117_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_117/ov_SC03_117_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_117/ov_SC03_117_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_117/ov_SC03_117_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_117/ov_SC03_117_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_117/ov_SC03_117_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_117/ov_SC03_117_jr_80181C80.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x68 -build/src/ov_SC03_117/ov_SC03_117_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_117_CHECK_SHA := config/check.ov_SC03_117.sha -ov_SC03_117_SYMBOLS := config/symbols.ov_SC03_117.txt -ov_SC03_117_SIG := .run/sig.ov_SC03_117.jsonl -ov_SC03_117_GHIDRA_PROG := ov_SC03_117 -ov_SC03_117_VRAM_BASE := 0x80128158 -ov_SC03_117_TEXT_LO := 0x80128158 -ov_SC03_117_TEXT_HI := 0x801CE947 -ov_SC03_117_ASM_DIR := asm/ov_SC03_117 -ov_SC03_117_SRC_DIR := src/ov_SC03_117 -ov_SC03_117_UNDEF_SYMS := build/ov_SC03_117/undefined_syms_auto.txt -ov_SC03_117_UNDEF_FUNCS := build/ov_SC03_117/undefined_funcs_auto.txt - -# --- ov_SC03_118 (location overlay SC03/FILE_118, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_118_EXE := extracted/retail/SC03.CD.dir/FILE_118.dir/0.4.dec -ov_SC03_118_NAME := ov_SC03_118 -ov_SC03_118_OUT_DIR := build/ov_SC03_118 -ov_SC03_118_OUT := $(ov_SC03_118_OUT_DIR)/$(ov_SC03_118_NAME) -ov_SC03_118_ELF := $(ov_SC03_118_OUT).elf -ov_SC03_118_MAPFILE := $(ov_SC03_118_OUT).map -ov_SC03_118_LD_SCRIPT := $(ov_SC03_118_OUT).ld -ov_SC03_118_SPLAT_YAML := config/splat.ov_SC03_118.yaml -ov_SC03_118_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_118.o,ov_SC03_118_jr_8012ACE0.o,tail2.data.o,ov_SC03_118_jr_80135888.o,tail3.data.o,ov_SC03_118_jr_80135A4C.o,tail4.data.o,ov_SC03_118_jr_80135D20.o,tail5.data.o,ov_SC03_118_jr_801380E0.o,ov_SC03_118_o0c.o,tail6.data.o,ov_SC03_118_jr_8013F350.o,tail7.data.o,ov_SC03_118_jr_8013FFD8.o,tail8.data.o,ov_SC03_118_jr_80140608.o,tail9.data.o,ov_SC03_118_jr_8015444C.o,ov_SC03_118_jr_80154C24.o,ov_SC03_118_jr_801588CC.o,ov_SC03_118_jr_80159C84.o,tail10.data.o,ov_SC03_118_jr_8015A3C8.o,tail11.data.o,ov_SC03_118_jr_8015AE2C.o,tail12.data.o,ov_SC03_118_jr_8015C32C.o,tail13.data.o,ov_SC03_118_jr_8016AB6C.o,tail14.data.o,ov_SC03_118_jr_80171B4C.o,ov_SC03_118_jr_801734BC.o,tail15.data.o,ov_SC03_118_jr_801789AC.o,ov_SC03_118_jr_80178D40.o,tail16.data.o,ov_SC03_118_jr_8017A4AC.o,tail17.data.o,ov_SC03_118_jr_8017AE2C.o,tail18.data.o,ov_SC03_118_jr_8017FB84.o,tail19.data.o,ov_SC03_118_jr_801863CC.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_118/ov_SC03_118.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_118/ov_SC03_118_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_118/ov_SC03_118_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_118/ov_SC03_118_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_118/ov_SC03_118_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_118/ov_SC03_118_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_118/ov_SC03_118_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_118/ov_SC03_118_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_118/ov_SC03_118_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_118/ov_SC03_118_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_118/ov_SC03_118_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_118/ov_SC03_118_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_118/ov_SC03_118_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_118/ov_SC03_118_jr_801863CC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x68 -build/src/ov_SC03_118/ov_SC03_118_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_118_CHECK_SHA := config/check.ov_SC03_118.sha -ov_SC03_118_SYMBOLS := config/symbols.ov_SC03_118.txt -ov_SC03_118_SIG := .run/sig.ov_SC03_118.jsonl -ov_SC03_118_GHIDRA_PROG := ov_SC03_118 -ov_SC03_118_VRAM_BASE := 0x80128158 -ov_SC03_118_TEXT_LO := 0x80128158 -ov_SC03_118_TEXT_HI := 0x801D484F -ov_SC03_118_ASM_DIR := asm/ov_SC03_118 -ov_SC03_118_SRC_DIR := src/ov_SC03_118 -ov_SC03_118_UNDEF_SYMS := build/ov_SC03_118/undefined_syms_auto.txt -ov_SC03_118_UNDEF_FUNCS := build/ov_SC03_118/undefined_funcs_auto.txt - -# --- ov_SC03_119 (location overlay SC03/FILE_119, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_119_EXE := extracted/retail/SC03.CD.dir/FILE_119.dir/0.4.dec -ov_SC03_119_NAME := ov_SC03_119 -ov_SC03_119_OUT_DIR := build/ov_SC03_119 -ov_SC03_119_OUT := $(ov_SC03_119_OUT_DIR)/$(ov_SC03_119_NAME) -ov_SC03_119_ELF := $(ov_SC03_119_OUT).elf -ov_SC03_119_MAPFILE := $(ov_SC03_119_OUT).map -ov_SC03_119_LD_SCRIPT := $(ov_SC03_119_OUT).ld -ov_SC03_119_SPLAT_YAML := config/splat.ov_SC03_119.yaml -ov_SC03_119_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_119.o,ov_SC03_119_jr_8012ACE0.o,tail2.data.o,ov_SC03_119_jr_80135888.o,tail3.data.o,ov_SC03_119_jr_80135A4C.o,tail4.data.o,ov_SC03_119_jr_80135D20.o,tail5.data.o,ov_SC03_119_jr_801380E0.o,ov_SC03_119_o0c.o,tail6.data.o,ov_SC03_119_jr_8013F350.o,tail7.data.o,ov_SC03_119_jr_8013FFD8.o,tail8.data.o,ov_SC03_119_jr_80140608.o,tail9.data.o,ov_SC03_119_jr_8015444C.o,ov_SC03_119_jr_80154C24.o,ov_SC03_119_jr_801588CC.o,ov_SC03_119_jr_80159C84.o,tail10.data.o,ov_SC03_119_jr_8015A3C8.o,tail11.data.o,ov_SC03_119_jr_8015AE2C.o,tail12.data.o,ov_SC03_119_jr_8015C32C.o,tail13.data.o,ov_SC03_119_jr_8016AB6C.o,tail14.data.o,ov_SC03_119_jr_80171B4C.o,ov_SC03_119_jr_801734BC.o,tail15.data.o,ov_SC03_119_jr_801789AC.o,ov_SC03_119_jr_80178D40.o,tail16.data.o,ov_SC03_119_jr_8017A4AC.o,tail17.data.o,ov_SC03_119_jr_8017AE2C.o,tail18.data.o,ov_SC03_119_jr_8017FB84.o,tail19.data.o,ov_SC03_119_jr_801863CC.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_119/ov_SC03_119.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_119/ov_SC03_119_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_119/ov_SC03_119_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_119/ov_SC03_119_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_119/ov_SC03_119_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_119/ov_SC03_119_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_119/ov_SC03_119_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_119/ov_SC03_119_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_119/ov_SC03_119_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_119/ov_SC03_119_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_119/ov_SC03_119_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_119/ov_SC03_119_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_119/ov_SC03_119_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_119/ov_SC03_119_jr_801863CC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x68 -build/src/ov_SC03_119/ov_SC03_119_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_119_CHECK_SHA := config/check.ov_SC03_119.sha -ov_SC03_119_SYMBOLS := config/symbols.ov_SC03_119.txt -ov_SC03_119_SIG := .run/sig.ov_SC03_119.jsonl -ov_SC03_119_GHIDRA_PROG := ov_SC03_119 -ov_SC03_119_VRAM_BASE := 0x80128158 -ov_SC03_119_TEXT_LO := 0x80128158 -ov_SC03_119_TEXT_HI := 0x801D484F -ov_SC03_119_ASM_DIR := asm/ov_SC03_119 -ov_SC03_119_SRC_DIR := src/ov_SC03_119 -ov_SC03_119_UNDEF_SYMS := build/ov_SC03_119/undefined_syms_auto.txt -ov_SC03_119_UNDEF_FUNCS := build/ov_SC03_119/undefined_funcs_auto.txt - -# --- ov_SC03_121 (location overlay SC03/FILE_121, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_121_EXE := extracted/retail/SC03.CD.dir/FILE_121.dir/0.4.dec -ov_SC03_121_NAME := ov_SC03_121 -ov_SC03_121_OUT_DIR := build/ov_SC03_121 -ov_SC03_121_OUT := $(ov_SC03_121_OUT_DIR)/$(ov_SC03_121_NAME) -ov_SC03_121_ELF := $(ov_SC03_121_OUT).elf -ov_SC03_121_MAPFILE := $(ov_SC03_121_OUT).map -ov_SC03_121_LD_SCRIPT := $(ov_SC03_121_OUT).ld -ov_SC03_121_SPLAT_YAML := config/splat.ov_SC03_121.yaml -ov_SC03_121_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_121.o,ov_SC03_121_jr_8012ACE0.o,tail2.data.o,ov_SC03_121_jr_80135888.o,tail3.data.o,ov_SC03_121_jr_80135A4C.o,tail4.data.o,ov_SC03_121_jr_80135D20.o,tail5.data.o,ov_SC03_121_jr_801380E0.o,ov_SC03_121_o0c.o,tail6.data.o,ov_SC03_121_jr_8013F350.o,tail7.data.o,ov_SC03_121_jr_8013FFD8.o,tail8.data.o,ov_SC03_121_jr_80140608.o,tail9.data.o,ov_SC03_121_jr_8015444C.o,ov_SC03_121_jr_80154C24.o,ov_SC03_121_jr_801588CC.o,ov_SC03_121_jr_80159C84.o,tail10.data.o,ov_SC03_121_jr_8015A3C8.o,tail11.data.o,ov_SC03_121_jr_8015AE2C.o,tail12.data.o,ov_SC03_121_jr_8015C32C.o,tail13.data.o,ov_SC03_121_jr_8016AB6C.o,tail14.data.o,ov_SC03_121_jr_80171B4C.o,ov_SC03_121_jr_801734BC.o,tail15.data.o,ov_SC03_121_jr_801789AC.o,ov_SC03_121_jr_80178D40.o,tail16.data.o,ov_SC03_121_jr_8017A4AC.o,tail17.data.o,ov_SC03_121_jr_8017AE2C.o,ov_SC03_121_jr_8017BEBC.o,tail18.data.o,ov_SC03_121_jr_8017DF2C.o,tail19.data.o,ov_SC03_121_jr_8017E1D0.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_121/ov_SC03_121.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_121/ov_SC03_121_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_121/ov_SC03_121_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_121/ov_SC03_121_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_121/ov_SC03_121_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_121/ov_SC03_121_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_121/ov_SC03_121_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_121/ov_SC03_121_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_121/ov_SC03_121_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_121/ov_SC03_121_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_121/ov_SC03_121_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_121/ov_SC03_121_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_121/ov_SC03_121_jr_8017E1D0.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_121/ov_SC03_121_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_121_CHECK_SHA := config/check.ov_SC03_121.sha -ov_SC03_121_SYMBOLS := config/symbols.ov_SC03_121.txt -ov_SC03_121_SIG := .run/sig.ov_SC03_121.jsonl -ov_SC03_121_GHIDRA_PROG := ov_SC03_121 -ov_SC03_121_VRAM_BASE := 0x80128158 -ov_SC03_121_TEXT_LO := 0x80128158 -ov_SC03_121_TEXT_HI := 0x801AEFAF -ov_SC03_121_ASM_DIR := asm/ov_SC03_121 -ov_SC03_121_SRC_DIR := src/ov_SC03_121 -ov_SC03_121_UNDEF_SYMS := build/ov_SC03_121/undefined_syms_auto.txt -ov_SC03_121_UNDEF_FUNCS := build/ov_SC03_121/undefined_funcs_auto.txt - -# --- ov_SC03_124 (location overlay SC03/FILE_124, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_124_EXE := extracted/retail/SC03.CD.dir/FILE_124.dir/0.4.dec -ov_SC03_124_NAME := ov_SC03_124 -ov_SC03_124_OUT_DIR := build/ov_SC03_124 -ov_SC03_124_OUT := $(ov_SC03_124_OUT_DIR)/$(ov_SC03_124_NAME) -ov_SC03_124_ELF := $(ov_SC03_124_OUT).elf -ov_SC03_124_MAPFILE := $(ov_SC03_124_OUT).map -ov_SC03_124_LD_SCRIPT := $(ov_SC03_124_OUT).ld -ov_SC03_124_SPLAT_YAML := config/splat.ov_SC03_124.yaml -ov_SC03_124_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_124.o,ov_SC03_124_jr_8012ACE0.o,tail2.data.o,ov_SC03_124_jr_80135888.o,tail3.data.o,ov_SC03_124_jr_80135A4C.o,tail4.data.o,ov_SC03_124_jr_80135D20.o,tail5.data.o,ov_SC03_124_jr_801380E0.o,ov_SC03_124_o0c.o,tail6.data.o,ov_SC03_124_jr_8013F350.o,tail7.data.o,ov_SC03_124_jr_8013FFD8.o,tail8.data.o,ov_SC03_124_jr_80140608.o,tail9.data.o,ov_SC03_124_jr_8015444C.o,ov_SC03_124_jr_80154C24.o,ov_SC03_124_jr_801588CC.o,ov_SC03_124_jr_80159C84.o,tail10.data.o,ov_SC03_124_jr_8015A3C8.o,tail11.data.o,ov_SC03_124_jr_8015AE2C.o,tail12.data.o,ov_SC03_124_jr_8015C32C.o,tail13.data.o,ov_SC03_124_jr_8016AB6C.o,tail14.data.o,ov_SC03_124_jr_80171B4C.o,ov_SC03_124_jr_801734BC.o,tail15.data.o,ov_SC03_124_jr_801789AC.o,ov_SC03_124_jr_80178D40.o,tail16.data.o,ov_SC03_124_jr_8017A4AC.o,tail17.data.o,ov_SC03_124_jr_8017AE2C.o,tail18.data.o,ov_SC03_124_jr_80181B44.o,ov_SC03_124_jr_80185498.o,tail19.data.o,ov_SC03_124_jr_80185C98.o,tail20.data.o,ov_SC03_124_jr_80187010.o,ov_SC03_124_jr_80188544.o,tail21.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_124/ov_SC03_124.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_124/ov_SC03_124_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_124/ov_SC03_124_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_124/ov_SC03_124_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_124/ov_SC03_124_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_124/ov_SC03_124_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_124/ov_SC03_124_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_124/ov_SC03_124_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_124/ov_SC03_124_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_124/ov_SC03_124_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_124/ov_SC03_124_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_124/ov_SC03_124_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_124/ov_SC03_124_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_124/ov_SC03_124_jr_80187010.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38 -build/src/ov_SC03_124/ov_SC03_124_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_124_CHECK_SHA := config/check.ov_SC03_124.sha -ov_SC03_124_SYMBOLS := config/symbols.ov_SC03_124.txt -ov_SC03_124_SIG := .run/sig.ov_SC03_124.jsonl -ov_SC03_124_GHIDRA_PROG := ov_SC03_124 -ov_SC03_124_VRAM_BASE := 0x80128158 -ov_SC03_124_TEXT_LO := 0x80128158 -ov_SC03_124_TEXT_HI := 0x801E25E7 -ov_SC03_124_ASM_DIR := asm/ov_SC03_124 -ov_SC03_124_SRC_DIR := src/ov_SC03_124 -ov_SC03_124_UNDEF_SYMS := build/ov_SC03_124/undefined_syms_auto.txt -ov_SC03_124_UNDEF_FUNCS := build/ov_SC03_124/undefined_funcs_auto.txt - -# --- ov_SC03_125 (location overlay SC03/FILE_125, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_125_EXE := extracted/retail/SC03.CD.dir/FILE_125.dir/0.4.dec -ov_SC03_125_NAME := ov_SC03_125 -ov_SC03_125_OUT_DIR := build/ov_SC03_125 -ov_SC03_125_OUT := $(ov_SC03_125_OUT_DIR)/$(ov_SC03_125_NAME) -ov_SC03_125_ELF := $(ov_SC03_125_OUT).elf -ov_SC03_125_MAPFILE := $(ov_SC03_125_OUT).map -ov_SC03_125_LD_SCRIPT := $(ov_SC03_125_OUT).ld -ov_SC03_125_SPLAT_YAML := config/splat.ov_SC03_125.yaml -ov_SC03_125_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_125.o,ov_SC03_125_jr_8012ACE0.o,tail2.data.o,ov_SC03_125_jr_80135888.o,tail3.data.o,ov_SC03_125_jr_80135A4C.o,tail4.data.o,ov_SC03_125_jr_80135D20.o,tail5.data.o,ov_SC03_125_jr_801380E0.o,ov_SC03_125_o0c.o,tail6.data.o,ov_SC03_125_jr_8013F350.o,tail7.data.o,ov_SC03_125_jr_8013FFD8.o,tail8.data.o,ov_SC03_125_jr_80140608.o,tail9.data.o,ov_SC03_125_jr_8015444C.o,ov_SC03_125_jr_80154C24.o,ov_SC03_125_jr_801588CC.o,ov_SC03_125_jr_80159C84.o,tail10.data.o,ov_SC03_125_jr_8015A3C8.o,tail11.data.o,ov_SC03_125_jr_8015AE2C.o,tail12.data.o,ov_SC03_125_jr_8015C32C.o,tail13.data.o,ov_SC03_125_jr_8016AB6C.o,tail14.data.o,ov_SC03_125_jr_80171B4C.o,ov_SC03_125_jr_801734BC.o,tail15.data.o,ov_SC03_125_jr_801789AC.o,ov_SC03_125_jr_80178D40.o,tail16.data.o,ov_SC03_125_jr_8017A4AC.o,tail17.data.o,ov_SC03_125_jr_8017AE2C.o,ov_SC03_125_jr_8017D604.o,tail18.data.o,ov_SC03_125_jr_80182BA0.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_125/ov_SC03_125.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_125/ov_SC03_125_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_125/ov_SC03_125_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_125/ov_SC03_125_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_125/ov_SC03_125_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_125/ov_SC03_125_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_125/ov_SC03_125_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_125/ov_SC03_125_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_125/ov_SC03_125_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_125/ov_SC03_125_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_125/ov_SC03_125_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_125/ov_SC03_125_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_125/ov_SC03_125_jr_80182BA0.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x1c -build/src/ov_SC03_125/ov_SC03_125_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_125_CHECK_SHA := config/check.ov_SC03_125.sha -ov_SC03_125_SYMBOLS := config/symbols.ov_SC03_125.txt -ov_SC03_125_SIG := .run/sig.ov_SC03_125.jsonl -ov_SC03_125_GHIDRA_PROG := ov_SC03_125 -ov_SC03_125_VRAM_BASE := 0x80128158 -ov_SC03_125_TEXT_LO := 0x80128158 -ov_SC03_125_TEXT_HI := 0x801C453F -ov_SC03_125_ASM_DIR := asm/ov_SC03_125 -ov_SC03_125_SRC_DIR := src/ov_SC03_125 -ov_SC03_125_UNDEF_SYMS := build/ov_SC03_125/undefined_syms_auto.txt -ov_SC03_125_UNDEF_FUNCS := build/ov_SC03_125/undefined_funcs_auto.txt - -# --- ov_SC03_126 (location overlay SC03/FILE_126, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC03_126_EXE := extracted/retail/SC03.CD.dir/FILE_126.dir/0.4.dec -ov_SC03_126_NAME := ov_SC03_126 -ov_SC03_126_OUT_DIR := build/ov_SC03_126 -ov_SC03_126_OUT := $(ov_SC03_126_OUT_DIR)/$(ov_SC03_126_NAME) -ov_SC03_126_ELF := $(ov_SC03_126_OUT).elf -ov_SC03_126_MAPFILE := $(ov_SC03_126_OUT).map -ov_SC03_126_LD_SCRIPT := $(ov_SC03_126_OUT).ld -ov_SC03_126_SPLAT_YAML := config/splat.ov_SC03_126.yaml -ov_SC03_126_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_126.o,ov_SC03_126_jr_8012ACE0.o,tail2.data.o,ov_SC03_126_jr_80135888.o,tail3.data.o,ov_SC03_126_jr_80135A4C.o,tail4.data.o,ov_SC03_126_jr_80135D20.o,tail5.data.o,ov_SC03_126_jr_801380E0.o,ov_SC03_126_o0c.o,tail6.data.o,ov_SC03_126_jr_8013F350.o,tail7.data.o,ov_SC03_126_jr_8013FFD8.o,tail8.data.o,ov_SC03_126_jr_80140608.o,tail9.data.o,ov_SC03_126_jr_8015444C.o,ov_SC03_126_jr_80154C24.o,ov_SC03_126_jr_801588CC.o,ov_SC03_126_jr_80159C84.o,tail10.data.o,ov_SC03_126_jr_8015A3C8.o,tail11.data.o,ov_SC03_126_jr_8015AE2C.o,tail12.data.o,ov_SC03_126_jr_8015C32C.o,tail13.data.o,ov_SC03_126_jr_8016AB6C.o,tail14.data.o,ov_SC03_126_jr_80171B4C.o,ov_SC03_126_jr_801734BC.o,tail15.data.o,ov_SC03_126_jr_801789AC.o,ov_SC03_126_jr_80178D40.o,tail16.data.o,ov_SC03_126_jr_8017A4AC.o,tail17.data.o,ov_SC03_126_jr_8017AE2C.o,ov_SC03_126_jr_8017D5C0.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_126/ov_SC03_126.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_126/ov_SC03_126_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC03_126/ov_SC03_126_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_126/ov_SC03_126_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_126/ov_SC03_126_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC03_126/ov_SC03_126_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC03_126/ov_SC03_126_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC03_126/ov_SC03_126_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC03_126/ov_SC03_126_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_126/ov_SC03_126_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_126/ov_SC03_126_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_126/ov_SC03_126_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC03_126/ov_SC03_126_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC03_126/ov_SC03_126_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_126_CHECK_SHA := config/check.ov_SC03_126.sha -ov_SC03_126_SYMBOLS := config/symbols.ov_SC03_126.txt -ov_SC03_126_SIG := .run/sig.ov_SC03_126.jsonl -ov_SC03_126_GHIDRA_PROG := ov_SC03_126 -ov_SC03_126_VRAM_BASE := 0x80128158 -ov_SC03_126_TEXT_LO := 0x80128158 -ov_SC03_126_TEXT_HI := 0x8018FB2D -ov_SC03_126_ASM_DIR := asm/ov_SC03_126 -ov_SC03_126_SRC_DIR := src/ov_SC03_126 -ov_SC03_126_UNDEF_SYMS := build/ov_SC03_126/undefined_syms_auto.txt -ov_SC03_126_UNDEF_FUNCS := build/ov_SC03_126/undefined_funcs_auto.txt - -# --- ov_SC04_002 (location overlay SC04/FILE_002, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_002_EXE := extracted/retail/SC04.CD.dir/FILE_002.dir/0.4.dec -ov_SC04_002_NAME := ov_SC04_002 -ov_SC04_002_OUT_DIR := build/ov_SC04_002 -ov_SC04_002_OUT := $(ov_SC04_002_OUT_DIR)/$(ov_SC04_002_NAME) -ov_SC04_002_ELF := $(ov_SC04_002_OUT).elf -ov_SC04_002_MAPFILE := $(ov_SC04_002_OUT).map -ov_SC04_002_LD_SCRIPT := $(ov_SC04_002_OUT).ld -ov_SC04_002_SPLAT_YAML := config/splat.ov_SC04_002.yaml -ov_SC04_002_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_002.o,ov_SC04_002_jr_8012ACE0.o,tail2.data.o,ov_SC04_002_jr_80135888.o,tail3.data.o,ov_SC04_002_jr_80135A4C.o,tail4.data.o,ov_SC04_002_jr_80135D20.o,tail5.data.o,ov_SC04_002_jr_801380E0.o,ov_SC04_002_o0c.o,tail6.data.o,ov_SC04_002_jr_8013F350.o,tail7.data.o,ov_SC04_002_jr_8013FFD8.o,tail8.data.o,ov_SC04_002_jr_80140608.o,tail9.data.o,ov_SC04_002_jr_8015444C.o,ov_SC04_002_jr_80154C24.o,ov_SC04_002_jr_801588CC.o,ov_SC04_002_jr_80159C84.o,tail10.data.o,ov_SC04_002_jr_8015A3C8.o,tail11.data.o,ov_SC04_002_jr_8015AE2C.o,tail12.data.o,ov_SC04_002_jr_8015C32C.o,tail13.data.o,ov_SC04_002_jr_8016AB6C.o,tail14.data.o,ov_SC04_002_jr_80171B4C.o,ov_SC04_002_jr_801734BC.o,tail15.data.o,ov_SC04_002_jr_801789AC.o,ov_SC04_002_jr_80178D40.o,tail16.data.o,ov_SC04_002_jr_8017A4AC.o,tail17.data.o,ov_SC04_002_jr_8017AE2C.o,ov_SC04_002_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_002/ov_SC04_002.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_002/ov_SC04_002_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_002/ov_SC04_002_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_002/ov_SC04_002_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_002/ov_SC04_002_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_002/ov_SC04_002_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_002/ov_SC04_002_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_002/ov_SC04_002_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_002/ov_SC04_002_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_002/ov_SC04_002_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_002/ov_SC04_002_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_002/ov_SC04_002_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_002/ov_SC04_002_jr_8017BEBC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_002/ov_SC04_002_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_002_CHECK_SHA := config/check.ov_SC04_002.sha -ov_SC04_002_SYMBOLS := config/symbols.ov_SC04_002.txt -ov_SC04_002_SIG := .run/sig.ov_SC04_002.jsonl -ov_SC04_002_GHIDRA_PROG := ov_SC04_002 -ov_SC04_002_VRAM_BASE := 0x80128158 -ov_SC04_002_TEXT_LO := 0x80128158 -ov_SC04_002_TEXT_HI := 0x801C1737 -ov_SC04_002_ASM_DIR := asm/ov_SC04_002 -ov_SC04_002_SRC_DIR := src/ov_SC04_002 -ov_SC04_002_UNDEF_SYMS := build/ov_SC04_002/undefined_syms_auto.txt -ov_SC04_002_UNDEF_FUNCS := build/ov_SC04_002/undefined_funcs_auto.txt - -# --- ov_SC04_003 (location overlay SC04/FILE_003, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_003_EXE := extracted/retail/SC04.CD.dir/FILE_003.dir/0.4.dec -ov_SC04_003_NAME := ov_SC04_003 -ov_SC04_003_OUT_DIR := build/ov_SC04_003 -ov_SC04_003_OUT := $(ov_SC04_003_OUT_DIR)/$(ov_SC04_003_NAME) -ov_SC04_003_ELF := $(ov_SC04_003_OUT).elf -ov_SC04_003_MAPFILE := $(ov_SC04_003_OUT).map -ov_SC04_003_LD_SCRIPT := $(ov_SC04_003_OUT).ld -ov_SC04_003_SPLAT_YAML := config/splat.ov_SC04_003.yaml -ov_SC04_003_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_003.o,ov_SC04_003_jr_8012ACE0.o,tail2.data.o,ov_SC04_003_jr_80135888.o,tail3.data.o,ov_SC04_003_jr_80135A4C.o,tail4.data.o,ov_SC04_003_jr_80135D20.o,tail5.data.o,ov_SC04_003_jr_801380E0.o,ov_SC04_003_o0c.o,tail6.data.o,ov_SC04_003_jr_8013F350.o,tail7.data.o,ov_SC04_003_jr_8013FFD8.o,tail8.data.o,ov_SC04_003_jr_80140608.o,tail9.data.o,ov_SC04_003_jr_8015444C.o,ov_SC04_003_jr_80154C24.o,ov_SC04_003_jr_801588CC.o,ov_SC04_003_jr_80159C84.o,tail10.data.o,ov_SC04_003_jr_8015A3C8.o,tail11.data.o,ov_SC04_003_jr_8015AE2C.o,tail12.data.o,ov_SC04_003_jr_8015C32C.o,tail13.data.o,ov_SC04_003_jr_8016AB6C.o,tail14.data.o,ov_SC04_003_jr_80171B4C.o,ov_SC04_003_jr_801734BC.o,tail15.data.o,ov_SC04_003_jr_801789AC.o,ov_SC04_003_jr_80178D40.o,tail16.data.o,ov_SC04_003_jr_8017A4AC.o,tail17.data.o,ov_SC04_003_jr_8017AE2C.o,ov_SC04_003_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_003/ov_SC04_003.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_003/ov_SC04_003_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_003/ov_SC04_003_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_003/ov_SC04_003_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_003/ov_SC04_003_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_003/ov_SC04_003_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_003/ov_SC04_003_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_003/ov_SC04_003_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_003/ov_SC04_003_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_003/ov_SC04_003_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_003/ov_SC04_003_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_003/ov_SC04_003_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_003/ov_SC04_003_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_003_CHECK_SHA := config/check.ov_SC04_003.sha -ov_SC04_003_SYMBOLS := config/symbols.ov_SC04_003.txt -ov_SC04_003_SIG := .run/sig.ov_SC04_003.jsonl -ov_SC04_003_GHIDRA_PROG := ov_SC04_003 -ov_SC04_003_VRAM_BASE := 0x80128158 -ov_SC04_003_TEXT_LO := 0x80128158 -ov_SC04_003_TEXT_HI := 0x8019BBEF -ov_SC04_003_ASM_DIR := asm/ov_SC04_003 -ov_SC04_003_SRC_DIR := src/ov_SC04_003 -ov_SC04_003_UNDEF_SYMS := build/ov_SC04_003/undefined_syms_auto.txt -ov_SC04_003_UNDEF_FUNCS := build/ov_SC04_003/undefined_funcs_auto.txt - -# --- ov_SC04_004 (location overlay SC04/FILE_004, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_004_EXE := extracted/retail/SC04.CD.dir/FILE_004.dir/0.4.dec -ov_SC04_004_NAME := ov_SC04_004 -ov_SC04_004_OUT_DIR := build/ov_SC04_004 -ov_SC04_004_OUT := $(ov_SC04_004_OUT_DIR)/$(ov_SC04_004_NAME) -ov_SC04_004_ELF := $(ov_SC04_004_OUT).elf -ov_SC04_004_MAPFILE := $(ov_SC04_004_OUT).map -ov_SC04_004_LD_SCRIPT := $(ov_SC04_004_OUT).ld -ov_SC04_004_SPLAT_YAML := config/splat.ov_SC04_004.yaml -ov_SC04_004_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_004.o,ov_SC04_004_jr_8012ACE0.o,tail2.data.o,ov_SC04_004_jr_80135888.o,tail3.data.o,ov_SC04_004_jr_80135A4C.o,tail4.data.o,ov_SC04_004_jr_80135D20.o,tail5.data.o,ov_SC04_004_jr_801380E0.o,ov_SC04_004_o0c.o,tail6.data.o,ov_SC04_004_jr_8013F350.o,tail7.data.o,ov_SC04_004_jr_8013FFD8.o,tail8.data.o,ov_SC04_004_jr_80140608.o,tail9.data.o,ov_SC04_004_jr_8015444C.o,ov_SC04_004_jr_80154C24.o,ov_SC04_004_jr_801588CC.o,ov_SC04_004_jr_80159C84.o,tail10.data.o,ov_SC04_004_jr_8015A3C8.o,tail11.data.o,ov_SC04_004_jr_8015AE2C.o,tail12.data.o,ov_SC04_004_jr_8015C32C.o,tail13.data.o,ov_SC04_004_jr_8016AB6C.o,tail14.data.o,ov_SC04_004_jr_80171B4C.o,ov_SC04_004_jr_801734BC.o,tail15.data.o,ov_SC04_004_jr_801789AC.o,ov_SC04_004_jr_80178D40.o,tail16.data.o,ov_SC04_004_jr_8017A4AC.o,tail17.data.o,ov_SC04_004_jr_8017AE2C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_004/ov_SC04_004.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_004/ov_SC04_004_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_004/ov_SC04_004_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_004/ov_SC04_004_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_004/ov_SC04_004_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_004/ov_SC04_004_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_004/ov_SC04_004_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_004/ov_SC04_004_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_004/ov_SC04_004_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_004/ov_SC04_004_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_004/ov_SC04_004_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_004/ov_SC04_004_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_004/ov_SC04_004_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_004/ov_SC04_004_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_004_CHECK_SHA := config/check.ov_SC04_004.sha -ov_SC04_004_SYMBOLS := config/symbols.ov_SC04_004.txt -ov_SC04_004_SIG := .run/sig.ov_SC04_004.jsonl -ov_SC04_004_GHIDRA_PROG := ov_SC04_004 -ov_SC04_004_VRAM_BASE := 0x80128158 -ov_SC04_004_TEXT_LO := 0x80128158 -ov_SC04_004_TEXT_HI := 0x801B3C57 -ov_SC04_004_ASM_DIR := asm/ov_SC04_004 -ov_SC04_004_SRC_DIR := src/ov_SC04_004 -ov_SC04_004_UNDEF_SYMS := build/ov_SC04_004/undefined_syms_auto.txt -ov_SC04_004_UNDEF_FUNCS := build/ov_SC04_004/undefined_funcs_auto.txt - -# --- ov_SC04_005 (location overlay SC04/FILE_005, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_005_EXE := extracted/retail/SC04.CD.dir/FILE_005.dir/0.4.dec -ov_SC04_005_NAME := ov_SC04_005 -ov_SC04_005_OUT_DIR := build/ov_SC04_005 -ov_SC04_005_OUT := $(ov_SC04_005_OUT_DIR)/$(ov_SC04_005_NAME) -ov_SC04_005_ELF := $(ov_SC04_005_OUT).elf -ov_SC04_005_MAPFILE := $(ov_SC04_005_OUT).map -ov_SC04_005_LD_SCRIPT := $(ov_SC04_005_OUT).ld -ov_SC04_005_SPLAT_YAML := config/splat.ov_SC04_005.yaml -ov_SC04_005_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_005.o,ov_SC04_005_jr_8012ACE0.o,tail2.data.o,ov_SC04_005_jr_80135888.o,tail3.data.o,ov_SC04_005_jr_80135A4C.o,tail4.data.o,ov_SC04_005_jr_80135D20.o,tail5.data.o,ov_SC04_005_jr_801380E0.o,ov_SC04_005_o0c.o,tail6.data.o,ov_SC04_005_jr_8013F350.o,tail7.data.o,ov_SC04_005_jr_8013FFD8.o,tail8.data.o,ov_SC04_005_jr_80140608.o,tail9.data.o,ov_SC04_005_jr_8015444C.o,ov_SC04_005_jr_80154C24.o,ov_SC04_005_jr_801588CC.o,ov_SC04_005_jr_80159C84.o,tail10.data.o,ov_SC04_005_jr_8015A3C8.o,tail11.data.o,ov_SC04_005_jr_8015AE2C.o,tail12.data.o,ov_SC04_005_jr_8015C32C.o,tail13.data.o,ov_SC04_005_jr_8016AB6C.o,tail14.data.o,ov_SC04_005_jr_80171B4C.o,ov_SC04_005_jr_801734BC.o,tail15.data.o,ov_SC04_005_jr_801789AC.o,ov_SC04_005_jr_80178D40.o,tail16.data.o,ov_SC04_005_jr_8017A4AC.o,tail17.data.o,ov_SC04_005_jr_8017AE2C.o,ov_SC04_005_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_005/ov_SC04_005.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_005/ov_SC04_005_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_005/ov_SC04_005_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_005/ov_SC04_005_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_005/ov_SC04_005_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_005/ov_SC04_005_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_005/ov_SC04_005_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_005/ov_SC04_005_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_005/ov_SC04_005_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_005/ov_SC04_005_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_005/ov_SC04_005_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_005/ov_SC04_005_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_005/ov_SC04_005_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_005_CHECK_SHA := config/check.ov_SC04_005.sha -ov_SC04_005_SYMBOLS := config/symbols.ov_SC04_005.txt -ov_SC04_005_SIG := .run/sig.ov_SC04_005.jsonl -ov_SC04_005_GHIDRA_PROG := ov_SC04_005 -ov_SC04_005_VRAM_BASE := 0x80128158 -ov_SC04_005_TEXT_LO := 0x80128158 -ov_SC04_005_TEXT_HI := 0x801C232F -ov_SC04_005_ASM_DIR := asm/ov_SC04_005 -ov_SC04_005_SRC_DIR := src/ov_SC04_005 -ov_SC04_005_UNDEF_SYMS := build/ov_SC04_005/undefined_syms_auto.txt -ov_SC04_005_UNDEF_FUNCS := build/ov_SC04_005/undefined_funcs_auto.txt - -# --- ov_SC04_006 (location overlay SC04/FILE_006, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_006_EXE := extracted/retail/SC04.CD.dir/FILE_006.dir/0.4.dec -ov_SC04_006_NAME := ov_SC04_006 -ov_SC04_006_OUT_DIR := build/ov_SC04_006 -ov_SC04_006_OUT := $(ov_SC04_006_OUT_DIR)/$(ov_SC04_006_NAME) -ov_SC04_006_ELF := $(ov_SC04_006_OUT).elf -ov_SC04_006_MAPFILE := $(ov_SC04_006_OUT).map -ov_SC04_006_LD_SCRIPT := $(ov_SC04_006_OUT).ld -ov_SC04_006_SPLAT_YAML := config/splat.ov_SC04_006.yaml -ov_SC04_006_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_006.o,ov_SC04_006_jr_8012ACE0.o,tail2.data.o,ov_SC04_006_jr_80135888.o,tail3.data.o,ov_SC04_006_jr_80135A4C.o,tail4.data.o,ov_SC04_006_jr_80135D20.o,tail5.data.o,ov_SC04_006_jr_801380E0.o,ov_SC04_006_o0c.o,tail6.data.o,ov_SC04_006_jr_8013F350.o,tail7.data.o,ov_SC04_006_jr_8013FFD8.o,tail8.data.o,ov_SC04_006_jr_80140608.o,tail9.data.o,ov_SC04_006_jr_8015444C.o,ov_SC04_006_jr_80154C24.o,ov_SC04_006_jr_801588CC.o,ov_SC04_006_jr_80159C84.o,tail10.data.o,ov_SC04_006_jr_8015A3C8.o,tail11.data.o,ov_SC04_006_jr_8015AE2C.o,tail12.data.o,ov_SC04_006_jr_8015C32C.o,tail13.data.o,ov_SC04_006_jr_8016AB6C.o,tail14.data.o,ov_SC04_006_jr_80171B4C.o,ov_SC04_006_jr_801734BC.o,tail15.data.o,ov_SC04_006_jr_801789AC.o,ov_SC04_006_jr_80178D40.o,tail16.data.o,ov_SC04_006_jr_8017A4AC.o,tail17.data.o,ov_SC04_006_jr_8017AE2C.o,ov_SC04_006_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_006/ov_SC04_006.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_006/ov_SC04_006_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_006/ov_SC04_006_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_006/ov_SC04_006_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_006/ov_SC04_006_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_006/ov_SC04_006_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_006/ov_SC04_006_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_006/ov_SC04_006_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_006/ov_SC04_006_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_006/ov_SC04_006_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_006/ov_SC04_006_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_006/ov_SC04_006_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_006/ov_SC04_006_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_006_CHECK_SHA := config/check.ov_SC04_006.sha -ov_SC04_006_SYMBOLS := config/symbols.ov_SC04_006.txt -ov_SC04_006_SIG := .run/sig.ov_SC04_006.jsonl -ov_SC04_006_GHIDRA_PROG := ov_SC04_006 -ov_SC04_006_VRAM_BASE := 0x80128158 -ov_SC04_006_TEXT_LO := 0x80128158 -ov_SC04_006_TEXT_HI := 0x8019DDCF -ov_SC04_006_ASM_DIR := asm/ov_SC04_006 -ov_SC04_006_SRC_DIR := src/ov_SC04_006 -ov_SC04_006_UNDEF_SYMS := build/ov_SC04_006/undefined_syms_auto.txt -ov_SC04_006_UNDEF_FUNCS := build/ov_SC04_006/undefined_funcs_auto.txt - -# --- ov_SC04_007 (location overlay SC04/FILE_007, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_007_EXE := extracted/retail/SC04.CD.dir/FILE_007.dir/0.4.dec -ov_SC04_007_NAME := ov_SC04_007 -ov_SC04_007_OUT_DIR := build/ov_SC04_007 -ov_SC04_007_OUT := $(ov_SC04_007_OUT_DIR)/$(ov_SC04_007_NAME) -ov_SC04_007_ELF := $(ov_SC04_007_OUT).elf -ov_SC04_007_MAPFILE := $(ov_SC04_007_OUT).map -ov_SC04_007_LD_SCRIPT := $(ov_SC04_007_OUT).ld -ov_SC04_007_SPLAT_YAML := config/splat.ov_SC04_007.yaml -ov_SC04_007_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_007.o,ov_SC04_007_jr_8012ACE0.o,tail2.data.o,ov_SC04_007_jr_80135888.o,tail3.data.o,ov_SC04_007_jr_80135A4C.o,tail4.data.o,ov_SC04_007_jr_80135D20.o,tail5.data.o,ov_SC04_007_jr_801380E0.o,ov_SC04_007_o0c.o,tail6.data.o,ov_SC04_007_jr_8013F350.o,tail7.data.o,ov_SC04_007_jr_8013FFD8.o,tail8.data.o,ov_SC04_007_jr_80140608.o,tail9.data.o,ov_SC04_007_jr_8015444C.o,ov_SC04_007_jr_80154C24.o,ov_SC04_007_jr_801588CC.o,ov_SC04_007_jr_80159C84.o,tail10.data.o,ov_SC04_007_jr_8015A3C8.o,tail11.data.o,ov_SC04_007_jr_8015AE2C.o,tail12.data.o,ov_SC04_007_jr_8015C32C.o,tail13.data.o,ov_SC04_007_jr_8016AB6C.o,tail14.data.o,ov_SC04_007_jr_80171B4C.o,ov_SC04_007_jr_801734BC.o,tail15.data.o,ov_SC04_007_jr_801789AC.o,ov_SC04_007_jr_80178D40.o,tail16.data.o,ov_SC04_007_jr_8017A4AC.o,tail17.data.o,ov_SC04_007_jr_8017AE2C.o,ov_SC04_007_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_007/ov_SC04_007.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_007/ov_SC04_007_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_007/ov_SC04_007_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_007/ov_SC04_007_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_007/ov_SC04_007_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_007/ov_SC04_007_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_007/ov_SC04_007_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_007/ov_SC04_007_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_007/ov_SC04_007_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_007/ov_SC04_007_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_007/ov_SC04_007_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_007/ov_SC04_007_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_007/ov_SC04_007_jr_8017BEBC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_007/ov_SC04_007_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_007_CHECK_SHA := config/check.ov_SC04_007.sha -ov_SC04_007_SYMBOLS := config/symbols.ov_SC04_007.txt -ov_SC04_007_SIG := .run/sig.ov_SC04_007.jsonl -ov_SC04_007_GHIDRA_PROG := ov_SC04_007 -ov_SC04_007_VRAM_BASE := 0x80128158 -ov_SC04_007_TEXT_LO := 0x80128158 -ov_SC04_007_TEXT_HI := 0x801B5B8F -ov_SC04_007_ASM_DIR := asm/ov_SC04_007 -ov_SC04_007_SRC_DIR := src/ov_SC04_007 -ov_SC04_007_UNDEF_SYMS := build/ov_SC04_007/undefined_syms_auto.txt -ov_SC04_007_UNDEF_FUNCS := build/ov_SC04_007/undefined_funcs_auto.txt - -# --- ov_SC04_008 (location overlay SC04/FILE_008, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_008_EXE := extracted/retail/SC04.CD.dir/FILE_008.dir/0.4.dec -ov_SC04_008_NAME := ov_SC04_008 -ov_SC04_008_OUT_DIR := build/ov_SC04_008 -ov_SC04_008_OUT := $(ov_SC04_008_OUT_DIR)/$(ov_SC04_008_NAME) -ov_SC04_008_ELF := $(ov_SC04_008_OUT).elf -ov_SC04_008_MAPFILE := $(ov_SC04_008_OUT).map -ov_SC04_008_LD_SCRIPT := $(ov_SC04_008_OUT).ld -ov_SC04_008_SPLAT_YAML := config/splat.ov_SC04_008.yaml -ov_SC04_008_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_008.o,ov_SC04_008_jr_8012ACE0.o,tail2.data.o,ov_SC04_008_jr_80135888.o,tail3.data.o,ov_SC04_008_jr_80135A4C.o,tail4.data.o,ov_SC04_008_jr_80135D20.o,tail5.data.o,ov_SC04_008_jr_801380E0.o,ov_SC04_008_o0c.o,tail6.data.o,ov_SC04_008_jr_8013F350.o,tail7.data.o,ov_SC04_008_jr_8013FFD8.o,tail8.data.o,ov_SC04_008_jr_80140608.o,tail9.data.o,ov_SC04_008_jr_8015444C.o,ov_SC04_008_jr_80154C24.o,ov_SC04_008_jr_801588CC.o,ov_SC04_008_jr_80159C84.o,tail10.data.o,ov_SC04_008_jr_8015AE2C.o,tail11.data.o,ov_SC04_008_jr_8015C32C.o,tail12.data.o,ov_SC04_008_jr_8016AB6C.o,tail13.data.o,ov_SC04_008_jr_80171B4C.o,ov_SC04_008_jr_801734BC.o,tail14.data.o,ov_SC04_008_jr_801789AC.o,ov_SC04_008_jr_80178D40.o,tail15.data.o,ov_SC04_008_jr_8017A4AC.o,tail16.data.o,ov_SC04_008_jr_8017AE2C.o,tail17.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_008/ov_SC04_008.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_008/ov_SC04_008_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_008/ov_SC04_008_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_008/ov_SC04_008_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_008/ov_SC04_008_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_008/ov_SC04_008_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_008/ov_SC04_008_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_008/ov_SC04_008_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_008/ov_SC04_008_jr_80159C84.o: JTBL_PADS := 0,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC04_008/ov_SC04_008_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_008/ov_SC04_008_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_008/ov_SC04_008_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_008/ov_SC04_008_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_008/ov_SC04_008_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_008_CHECK_SHA := config/check.ov_SC04_008.sha -ov_SC04_008_SYMBOLS := config/symbols.ov_SC04_008.txt -ov_SC04_008_SIG := .run/sig.ov_SC04_008.jsonl -ov_SC04_008_GHIDRA_PROG := ov_SC04_008 -ov_SC04_008_VRAM_BASE := 0x80128158 -ov_SC04_008_TEXT_LO := 0x80128158 -ov_SC04_008_TEXT_HI := 0x801934BF -ov_SC04_008_ASM_DIR := asm/ov_SC04_008 -ov_SC04_008_SRC_DIR := src/ov_SC04_008 -ov_SC04_008_UNDEF_SYMS := build/ov_SC04_008/undefined_syms_auto.txt -ov_SC04_008_UNDEF_FUNCS := build/ov_SC04_008/undefined_funcs_auto.txt - -# --- ov_SC04_009 (location overlay SC04/FILE_009, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_009_EXE := extracted/retail/SC04.CD.dir/FILE_009.dir/0.4.dec -ov_SC04_009_NAME := ov_SC04_009 -ov_SC04_009_OUT_DIR := build/ov_SC04_009 -ov_SC04_009_OUT := $(ov_SC04_009_OUT_DIR)/$(ov_SC04_009_NAME) -ov_SC04_009_ELF := $(ov_SC04_009_OUT).elf -ov_SC04_009_MAPFILE := $(ov_SC04_009_OUT).map -ov_SC04_009_LD_SCRIPT := $(ov_SC04_009_OUT).ld -ov_SC04_009_SPLAT_YAML := config/splat.ov_SC04_009.yaml -ov_SC04_009_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_009.o,ov_SC04_009_jr_8012ACE0.o,tail2.data.o,ov_SC04_009_jr_80135888.o,tail3.data.o,ov_SC04_009_jr_80135A4C.o,tail4.data.o,ov_SC04_009_jr_80135D20.o,tail5.data.o,ov_SC04_009_jr_801380E0.o,ov_SC04_009_o0c.o,tail6.data.o,ov_SC04_009_jr_8013F350.o,tail7.data.o,ov_SC04_009_jr_8013FFD8.o,tail8.data.o,ov_SC04_009_jr_80140608.o,tail9.data.o,ov_SC04_009_jr_8015444C.o,ov_SC04_009_jr_80154C24.o,ov_SC04_009_jr_801588CC.o,ov_SC04_009_jr_80159C84.o,tail10.data.o,ov_SC04_009_jr_8015A3C8.o,tail11.data.o,ov_SC04_009_jr_8015AE2C.o,tail12.data.o,ov_SC04_009_jr_8015C32C.o,tail13.data.o,ov_SC04_009_jr_8016AB6C.o,tail14.data.o,ov_SC04_009_jr_80171B4C.o,ov_SC04_009_jr_801734BC.o,tail15.data.o,ov_SC04_009_jr_801789AC.o,ov_SC04_009_jr_80178D40.o,tail16.data.o,ov_SC04_009_jr_8017A4AC.o,tail17.data.o,ov_SC04_009_jr_8017AE2C.o,ov_SC04_009_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_009/ov_SC04_009.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_009/ov_SC04_009_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_009/ov_SC04_009_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_009/ov_SC04_009_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_009/ov_SC04_009_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_009/ov_SC04_009_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_009/ov_SC04_009_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_009/ov_SC04_009_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_009/ov_SC04_009_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_009/ov_SC04_009_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_009/ov_SC04_009_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_009/ov_SC04_009_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_009/ov_SC04_009_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_009_CHECK_SHA := config/check.ov_SC04_009.sha -ov_SC04_009_SYMBOLS := config/symbols.ov_SC04_009.txt -ov_SC04_009_SIG := .run/sig.ov_SC04_009.jsonl -ov_SC04_009_GHIDRA_PROG := ov_SC04_009 -ov_SC04_009_VRAM_BASE := 0x80128158 -ov_SC04_009_TEXT_LO := 0x80128158 -ov_SC04_009_TEXT_HI := 0x8019826F -ov_SC04_009_ASM_DIR := asm/ov_SC04_009 -ov_SC04_009_SRC_DIR := src/ov_SC04_009 -ov_SC04_009_UNDEF_SYMS := build/ov_SC04_009/undefined_syms_auto.txt -ov_SC04_009_UNDEF_FUNCS := build/ov_SC04_009/undefined_funcs_auto.txt - -# --- ov_SC04_010 (location overlay SC04/FILE_010, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_010_EXE := extracted/retail/SC04.CD.dir/FILE_010.dir/0.4.dec -ov_SC04_010_NAME := ov_SC04_010 -ov_SC04_010_OUT_DIR := build/ov_SC04_010 -ov_SC04_010_OUT := $(ov_SC04_010_OUT_DIR)/$(ov_SC04_010_NAME) -ov_SC04_010_ELF := $(ov_SC04_010_OUT).elf -ov_SC04_010_MAPFILE := $(ov_SC04_010_OUT).map -ov_SC04_010_LD_SCRIPT := $(ov_SC04_010_OUT).ld -ov_SC04_010_SPLAT_YAML := config/splat.ov_SC04_010.yaml -ov_SC04_010_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_010.o,ov_SC04_010_jr_8012ACE0.o,tail2.data.o,ov_SC04_010_jr_80135888.o,tail3.data.o,ov_SC04_010_jr_80135A4C.o,tail4.data.o,ov_SC04_010_jr_80135D20.o,tail5.data.o,ov_SC04_010_jr_801380E0.o,ov_SC04_010_o0c.o,tail6.data.o,ov_SC04_010_jr_8013F350.o,tail7.data.o,ov_SC04_010_jr_8013FFD8.o,tail8.data.o,ov_SC04_010_jr_80140608.o,tail9.data.o,ov_SC04_010_jr_8015444C.o,ov_SC04_010_jr_80154C24.o,ov_SC04_010_jr_801588CC.o,ov_SC04_010_jr_80159C84.o,tail10.data.o,ov_SC04_010_jr_8015A3C8.o,tail11.data.o,ov_SC04_010_jr_8015AE2C.o,tail12.data.o,ov_SC04_010_jr_8015C32C.o,tail13.data.o,ov_SC04_010_jr_8016AB6C.o,tail14.data.o,ov_SC04_010_jr_80171B4C.o,ov_SC04_010_jr_801734BC.o,tail15.data.o,ov_SC04_010_jr_801789AC.o,ov_SC04_010_jr_80178D40.o,tail16.data.o,ov_SC04_010_jr_8017A4AC.o,tail17.data.o,ov_SC04_010_jr_8017AE2C.o,ov_SC04_010_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_010/ov_SC04_010.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_010/ov_SC04_010_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_010/ov_SC04_010_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_010/ov_SC04_010_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_010/ov_SC04_010_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_010/ov_SC04_010_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_010/ov_SC04_010_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_010/ov_SC04_010_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_010/ov_SC04_010_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_010/ov_SC04_010_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_010/ov_SC04_010_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_010/ov_SC04_010_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_010/ov_SC04_010_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_010_CHECK_SHA := config/check.ov_SC04_010.sha -ov_SC04_010_SYMBOLS := config/symbols.ov_SC04_010.txt -ov_SC04_010_SIG := .run/sig.ov_SC04_010.jsonl -ov_SC04_010_GHIDRA_PROG := ov_SC04_010 -ov_SC04_010_VRAM_BASE := 0x80128158 -ov_SC04_010_TEXT_LO := 0x80128158 -ov_SC04_010_TEXT_HI := 0x8018F747 -ov_SC04_010_ASM_DIR := asm/ov_SC04_010 -ov_SC04_010_SRC_DIR := src/ov_SC04_010 -ov_SC04_010_UNDEF_SYMS := build/ov_SC04_010/undefined_syms_auto.txt -ov_SC04_010_UNDEF_FUNCS := build/ov_SC04_010/undefined_funcs_auto.txt - -# --- ov_SC04_011 (location overlay SC04/FILE_011, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_011_EXE := extracted/retail/SC04.CD.dir/FILE_011.dir/0.4.dec -ov_SC04_011_NAME := ov_SC04_011 -ov_SC04_011_OUT_DIR := build/ov_SC04_011 -ov_SC04_011_OUT := $(ov_SC04_011_OUT_DIR)/$(ov_SC04_011_NAME) -ov_SC04_011_ELF := $(ov_SC04_011_OUT).elf -ov_SC04_011_MAPFILE := $(ov_SC04_011_OUT).map -ov_SC04_011_LD_SCRIPT := $(ov_SC04_011_OUT).ld -ov_SC04_011_SPLAT_YAML := config/splat.ov_SC04_011.yaml -ov_SC04_011_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_011.o,ov_SC04_011_jr_8012ACE0.o,tail2.data.o,ov_SC04_011_jr_80135888.o,tail3.data.o,ov_SC04_011_jr_80135A4C.o,tail4.data.o,ov_SC04_011_jr_80135D20.o,tail5.data.o,ov_SC04_011_jr_801380E0.o,ov_SC04_011_o0c.o,tail6.data.o,ov_SC04_011_jr_8013F350.o,tail7.data.o,ov_SC04_011_jr_8013FFD8.o,tail8.data.o,ov_SC04_011_jr_80140608.o,tail9.data.o,ov_SC04_011_jr_8015444C.o,ov_SC04_011_jr_80154C24.o,ov_SC04_011_jr_801588CC.o,ov_SC04_011_jr_80159C84.o,tail10.data.o,ov_SC04_011_jr_8015A3C8.o,tail11.data.o,ov_SC04_011_jr_8015AE2C.o,tail12.data.o,ov_SC04_011_jr_8015C32C.o,tail13.data.o,ov_SC04_011_jr_8016AB6C.o,tail14.data.o,ov_SC04_011_jr_80171B4C.o,ov_SC04_011_jr_801734BC.o,tail15.data.o,ov_SC04_011_jr_801789AC.o,ov_SC04_011_jr_80178D40.o,tail16.data.o,ov_SC04_011_jr_8017A4AC.o,tail17.data.o,ov_SC04_011_jr_8017AE2C.o,tail18.data.o,ov_SC04_011_jr_8017D494.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_011/ov_SC04_011.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_011/ov_SC04_011_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_011_CHECK_SHA := config/check.ov_SC04_011.sha -ov_SC04_011_SYMBOLS := config/symbols.ov_SC04_011.txt -ov_SC04_011_SIG := .run/sig.ov_SC04_011.jsonl -ov_SC04_011_GHIDRA_PROG := ov_SC04_011 -ov_SC04_011_VRAM_BASE := 0x80128158 -ov_SC04_011_TEXT_LO := 0x80128158 -ov_SC04_011_TEXT_HI := 0x801F16AF -ov_SC04_011_ASM_DIR := asm/ov_SC04_011 -ov_SC04_011_SRC_DIR := src/ov_SC04_011 -ov_SC04_011_UNDEF_SYMS := build/ov_SC04_011/undefined_syms_auto.txt -ov_SC04_011_UNDEF_FUNCS := build/ov_SC04_011/undefined_funcs_auto.txt - -# --- ov_SC04_012 (location overlay SC04/FILE_012, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_012_EXE := extracted/retail/SC04.CD.dir/FILE_012.dir/0.4.dec -ov_SC04_012_NAME := ov_SC04_012 -ov_SC04_012_OUT_DIR := build/ov_SC04_012 -ov_SC04_012_OUT := $(ov_SC04_012_OUT_DIR)/$(ov_SC04_012_NAME) -ov_SC04_012_ELF := $(ov_SC04_012_OUT).elf -ov_SC04_012_MAPFILE := $(ov_SC04_012_OUT).map -ov_SC04_012_LD_SCRIPT := $(ov_SC04_012_OUT).ld -ov_SC04_012_SPLAT_YAML := config/splat.ov_SC04_012.yaml -ov_SC04_012_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_012.o,ov_SC04_012_jr_8012ACE0.o,tail2.data.o,ov_SC04_012_jr_80135888.o,tail3.data.o,ov_SC04_012_jr_80135A4C.o,tail4.data.o,ov_SC04_012_jr_80135D20.o,tail5.data.o,ov_SC04_012_jr_801380E0.o,ov_SC04_012_o0c.o,tail6.data.o,ov_SC04_012_jr_8013F350.o,tail7.data.o,ov_SC04_012_jr_8013FFD8.o,tail8.data.o,ov_SC04_012_jr_80140608.o,tail9.data.o,ov_SC04_012_jr_8015444C.o,ov_SC04_012_jr_80154C24.o,ov_SC04_012_jr_801588CC.o,ov_SC04_012_jr_80159C84.o,tail10.data.o,ov_SC04_012_jr_8015A3C8.o,tail11.data.o,ov_SC04_012_jr_8015AE2C.o,tail12.data.o,ov_SC04_012_jr_8015C32C.o,tail13.data.o,ov_SC04_012_jr_8016AB6C.o,tail14.data.o,ov_SC04_012_jr_80171B4C.o,ov_SC04_012_jr_801734BC.o,tail15.data.o,ov_SC04_012_jr_801789AC.o,ov_SC04_012_jr_80178D40.o,tail16.data.o,ov_SC04_012_jr_8017A4AC.o,tail17.data.o,ov_SC04_012_jr_8017AE2C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_012/ov_SC04_012.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_012/ov_SC04_012_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_012/ov_SC04_012_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_012/ov_SC04_012_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_012/ov_SC04_012_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_012/ov_SC04_012_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_012/ov_SC04_012_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_012/ov_SC04_012_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_012/ov_SC04_012_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_012/ov_SC04_012_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_012/ov_SC04_012_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_012/ov_SC04_012_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_012/ov_SC04_012_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_012/ov_SC04_012_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_012_CHECK_SHA := config/check.ov_SC04_012.sha -ov_SC04_012_SYMBOLS := config/symbols.ov_SC04_012.txt -ov_SC04_012_SIG := .run/sig.ov_SC04_012.jsonl -ov_SC04_012_GHIDRA_PROG := ov_SC04_012 -ov_SC04_012_VRAM_BASE := 0x80128158 -ov_SC04_012_TEXT_LO := 0x80128158 -ov_SC04_012_TEXT_HI := 0x8019323F -ov_SC04_012_ASM_DIR := asm/ov_SC04_012 -ov_SC04_012_SRC_DIR := src/ov_SC04_012 -ov_SC04_012_UNDEF_SYMS := build/ov_SC04_012/undefined_syms_auto.txt -ov_SC04_012_UNDEF_FUNCS := build/ov_SC04_012/undefined_funcs_auto.txt - -# --- ov_SC04_015 (location overlay SC04/FILE_015, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_015_EXE := extracted/retail/SC04.CD.dir/FILE_015.dir/0.4.dec -ov_SC04_015_NAME := ov_SC04_015 -ov_SC04_015_OUT_DIR := build/ov_SC04_015 -ov_SC04_015_OUT := $(ov_SC04_015_OUT_DIR)/$(ov_SC04_015_NAME) -ov_SC04_015_ELF := $(ov_SC04_015_OUT).elf -ov_SC04_015_MAPFILE := $(ov_SC04_015_OUT).map -ov_SC04_015_LD_SCRIPT := $(ov_SC04_015_OUT).ld -ov_SC04_015_SPLAT_YAML := config/splat.ov_SC04_015.yaml -ov_SC04_015_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_015.o,ov_SC04_015_jr_8012ACE0.o,tail2.data.o,ov_SC04_015_jr_80135888.o,tail3.data.o,ov_SC04_015_jr_80135A4C.o,tail4.data.o,ov_SC04_015_jr_80135D20.o,tail5.data.o,ov_SC04_015_jr_801380E0.o,ov_SC04_015_o0c.o,tail6.data.o,ov_SC04_015_jr_8013F350.o,tail7.data.o,ov_SC04_015_jr_8013FFD8.o,tail8.data.o,ov_SC04_015_jr_80140608.o,tail9.data.o,ov_SC04_015_jr_8015444C.o,ov_SC04_015_jr_80154C24.o,ov_SC04_015_jr_801588CC.o,ov_SC04_015_jr_80159C84.o,tail10.data.o,ov_SC04_015_jr_8015A3C8.o,tail11.data.o,ov_SC04_015_jr_8015AE2C.o,tail12.data.o,ov_SC04_015_jr_8015C32C.o,tail13.data.o,ov_SC04_015_jr_8016AB6C.o,tail14.data.o,ov_SC04_015_jr_80171B4C.o,ov_SC04_015_jr_801734BC.o,tail15.data.o,ov_SC04_015_jr_801789AC.o,ov_SC04_015_jr_80178D40.o,tail16.data.o,ov_SC04_015_jr_8017A4AC.o,tail17.data.o,ov_SC04_015_jr_8017AE2C.o,tail18.data.o,ov_SC04_015_jr_801820DC.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_015/ov_SC04_015.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_015/ov_SC04_015_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_015/ov_SC04_015_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_015/ov_SC04_015_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_015/ov_SC04_015_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_015/ov_SC04_015_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_015/ov_SC04_015_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_015/ov_SC04_015_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_015/ov_SC04_015_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_015/ov_SC04_015_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_015/ov_SC04_015_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_015/ov_SC04_015_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_015/ov_SC04_015_jr_801820DC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x1c -build/src/ov_SC04_015/ov_SC04_015_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_015_CHECK_SHA := config/check.ov_SC04_015.sha -ov_SC04_015_SYMBOLS := config/symbols.ov_SC04_015.txt -ov_SC04_015_SIG := .run/sig.ov_SC04_015.jsonl -ov_SC04_015_GHIDRA_PROG := ov_SC04_015 -ov_SC04_015_VRAM_BASE := 0x80128158 -ov_SC04_015_TEXT_LO := 0x80128158 -ov_SC04_015_TEXT_HI := 0x801C93DF -ov_SC04_015_ASM_DIR := asm/ov_SC04_015 -ov_SC04_015_SRC_DIR := src/ov_SC04_015 -ov_SC04_015_UNDEF_SYMS := build/ov_SC04_015/undefined_syms_auto.txt -ov_SC04_015_UNDEF_FUNCS := build/ov_SC04_015/undefined_funcs_auto.txt - -# --- ov_SC04_016 (location overlay SC04/FILE_016, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_016_EXE := extracted/retail/SC04.CD.dir/FILE_016.dir/0.4.dec -ov_SC04_016_NAME := ov_SC04_016 -ov_SC04_016_OUT_DIR := build/ov_SC04_016 -ov_SC04_016_OUT := $(ov_SC04_016_OUT_DIR)/$(ov_SC04_016_NAME) -ov_SC04_016_ELF := $(ov_SC04_016_OUT).elf -ov_SC04_016_MAPFILE := $(ov_SC04_016_OUT).map -ov_SC04_016_LD_SCRIPT := $(ov_SC04_016_OUT).ld -ov_SC04_016_SPLAT_YAML := config/splat.ov_SC04_016.yaml -ov_SC04_016_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_016.o,ov_SC04_016_jr_8012ACE0.o,tail2.data.o,ov_SC04_016_jr_80135888.o,tail3.data.o,ov_SC04_016_jr_80135A4C.o,tail4.data.o,ov_SC04_016_jr_80135D20.o,tail5.data.o,ov_SC04_016_jr_801380E0.o,ov_SC04_016_o0c.o,tail6.data.o,ov_SC04_016_jr_8013F350.o,tail7.data.o,ov_SC04_016_jr_8013FFD8.o,tail8.data.o,ov_SC04_016_jr_80140608.o,tail9.data.o,ov_SC04_016_jr_8015444C.o,ov_SC04_016_jr_80154C24.o,ov_SC04_016_jr_801588CC.o,ov_SC04_016_jr_80159C84.o,tail10.data.o,ov_SC04_016_jr_8015A3C8.o,tail11.data.o,ov_SC04_016_jr_8015AE2C.o,tail12.data.o,ov_SC04_016_jr_8015C32C.o,tail13.data.o,ov_SC04_016_jr_8016AB6C.o,tail14.data.o,ov_SC04_016_jr_80171B4C.o,ov_SC04_016_jr_801734BC.o,tail15.data.o,ov_SC04_016_jr_801789AC.o,ov_SC04_016_jr_80178D40.o,tail16.data.o,ov_SC04_016_jr_8017A4AC.o,tail17.data.o,ov_SC04_016_jr_8017AE2C.o,ov_SC04_016_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_016/ov_SC04_016.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_016/ov_SC04_016_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_016/ov_SC04_016_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_016/ov_SC04_016_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_016/ov_SC04_016_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_016/ov_SC04_016_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_016/ov_SC04_016_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_016/ov_SC04_016_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_016/ov_SC04_016_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_016/ov_SC04_016_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_016/ov_SC04_016_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_016/ov_SC04_016_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_016/ov_SC04_016_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_016_CHECK_SHA := config/check.ov_SC04_016.sha -ov_SC04_016_SYMBOLS := config/symbols.ov_SC04_016.txt -ov_SC04_016_SIG := .run/sig.ov_SC04_016.jsonl -ov_SC04_016_GHIDRA_PROG := ov_SC04_016 -ov_SC04_016_VRAM_BASE := 0x80128158 -ov_SC04_016_TEXT_LO := 0x80128158 -ov_SC04_016_TEXT_HI := 0x801AC2DF -ov_SC04_016_ASM_DIR := asm/ov_SC04_016 -ov_SC04_016_SRC_DIR := src/ov_SC04_016 -ov_SC04_016_UNDEF_SYMS := build/ov_SC04_016/undefined_syms_auto.txt -ov_SC04_016_UNDEF_FUNCS := build/ov_SC04_016/undefined_funcs_auto.txt - -# --- ov_SC04_020 (location overlay SC04/FILE_020, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_020_EXE := extracted/retail/SC04.CD.dir/FILE_020.dir/0.4.dec -ov_SC04_020_NAME := ov_SC04_020 -ov_SC04_020_OUT_DIR := build/ov_SC04_020 -ov_SC04_020_OUT := $(ov_SC04_020_OUT_DIR)/$(ov_SC04_020_NAME) -ov_SC04_020_ELF := $(ov_SC04_020_OUT).elf -ov_SC04_020_MAPFILE := $(ov_SC04_020_OUT).map -ov_SC04_020_LD_SCRIPT := $(ov_SC04_020_OUT).ld -ov_SC04_020_SPLAT_YAML := config/splat.ov_SC04_020.yaml -ov_SC04_020_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_020.o,ov_SC04_020_jr_8012ACE0.o,tail2.data.o,ov_SC04_020_jr_80135888.o,tail3.data.o,ov_SC04_020_jr_80135A4C.o,tail4.data.o,ov_SC04_020_jr_80135D20.o,tail5.data.o,ov_SC04_020_jr_801380E0.o,ov_SC04_020_o0c.o,tail6.data.o,ov_SC04_020_jr_8013F350.o,tail7.data.o,ov_SC04_020_jr_8013FFD8.o,tail8.data.o,ov_SC04_020_jr_80140608.o,tail9.data.o,ov_SC04_020_jr_8015444C.o,ov_SC04_020_jr_80154C24.o,ov_SC04_020_jr_801588CC.o,ov_SC04_020_jr_80159C84.o,tail10.data.o,ov_SC04_020_jr_8015A3C8.o,tail11.data.o,ov_SC04_020_jr_8015AE2C.o,tail12.data.o,ov_SC04_020_jr_8015C32C.o,tail13.data.o,ov_SC04_020_jr_8016AB6C.o,tail14.data.o,ov_SC04_020_jr_80171B4C.o,ov_SC04_020_jr_801734BC.o,tail15.data.o,ov_SC04_020_jr_801789AC.o,ov_SC04_020_jr_80178D40.o,tail16.data.o,ov_SC04_020_jr_8017A4AC.o,tail17.data.o,ov_SC04_020_jr_8017AE2C.o,ov_SC04_020_jr_8017D604.o,tail18.data.o,ov_SC04_020_jr_8018254C.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_020/ov_SC04_020.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_020/ov_SC04_020_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_020/ov_SC04_020_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_020/ov_SC04_020_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_020/ov_SC04_020_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_020/ov_SC04_020_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_020/ov_SC04_020_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_020/ov_SC04_020_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_020/ov_SC04_020_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_020/ov_SC04_020_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_020/ov_SC04_020_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_020/ov_SC04_020_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_020/ov_SC04_020_jr_8018254C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x1c -build/src/ov_SC04_020/ov_SC04_020_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_020_CHECK_SHA := config/check.ov_SC04_020.sha -ov_SC04_020_SYMBOLS := config/symbols.ov_SC04_020.txt -ov_SC04_020_SIG := .run/sig.ov_SC04_020.jsonl -ov_SC04_020_GHIDRA_PROG := ov_SC04_020 -ov_SC04_020_VRAM_BASE := 0x80128158 -ov_SC04_020_TEXT_LO := 0x80128158 -ov_SC04_020_TEXT_HI := 0x801BC7AF -ov_SC04_020_ASM_DIR := asm/ov_SC04_020 -ov_SC04_020_SRC_DIR := src/ov_SC04_020 -ov_SC04_020_UNDEF_SYMS := build/ov_SC04_020/undefined_syms_auto.txt -ov_SC04_020_UNDEF_FUNCS := build/ov_SC04_020/undefined_funcs_auto.txt - -# --- ov_SC04_021 (location overlay SC04/FILE_021, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC04_021_EXE := extracted/retail/SC04.CD.dir/FILE_021.dir/0.4.dec -ov_SC04_021_NAME := ov_SC04_021 -ov_SC04_021_OUT_DIR := build/ov_SC04_021 -ov_SC04_021_OUT := $(ov_SC04_021_OUT_DIR)/$(ov_SC04_021_NAME) -ov_SC04_021_ELF := $(ov_SC04_021_OUT).elf -ov_SC04_021_MAPFILE := $(ov_SC04_021_OUT).map -ov_SC04_021_LD_SCRIPT := $(ov_SC04_021_OUT).ld -ov_SC04_021_SPLAT_YAML := config/splat.ov_SC04_021.yaml -ov_SC04_021_JTBL_INTERLEAVE := --order tail.data.o,ov_SC04_021.o,ov_SC04_021_jr_8012ACE0.o,tail2.data.o,ov_SC04_021_jr_80135888.o,tail3.data.o,ov_SC04_021_jr_80135A4C.o,tail4.data.o,ov_SC04_021_jr_80135D20.o,tail5.data.o,ov_SC04_021_jr_801380E0.o,ov_SC04_021_o0c.o,tail6.data.o,ov_SC04_021_jr_8013F350.o,tail7.data.o,ov_SC04_021_jr_8013FFD8.o,tail8.data.o,ov_SC04_021_jr_80140608.o,tail9.data.o,ov_SC04_021_jr_8015444C.o,ov_SC04_021_jr_80154C24.o,ov_SC04_021_jr_801588CC.o,ov_SC04_021_jr_80159C84.o,tail10.data.o,ov_SC04_021_jr_8015A3C8.o,tail11.data.o,ov_SC04_021_jr_8015AE2C.o,tail12.data.o,ov_SC04_021_jr_8015C32C.o,tail13.data.o,ov_SC04_021_jr_8016AB6C.o,tail14.data.o,ov_SC04_021_jr_80171B4C.o,ov_SC04_021_jr_801734BC.o,tail15.data.o,ov_SC04_021_jr_801789AC.o,ov_SC04_021_jr_80178D40.o,tail16.data.o,ov_SC04_021_jr_8017A4AC.o,tail17.data.o,ov_SC04_021_jr_8017AE2C.o,ov_SC04_021_jr_8017D5C0.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC04_021/ov_SC04_021.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_021/ov_SC04_021_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC04_021/ov_SC04_021_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC04_021/ov_SC04_021_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_021/ov_SC04_021_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC04_021/ov_SC04_021_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC04_021/ov_SC04_021_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC04_021/ov_SC04_021_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC04_021/ov_SC04_021_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_021/ov_SC04_021_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_021/ov_SC04_021_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC04_021/ov_SC04_021_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC04_021/ov_SC04_021_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC04_021/ov_SC04_021_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC04_021_CHECK_SHA := config/check.ov_SC04_021.sha -ov_SC04_021_SYMBOLS := config/symbols.ov_SC04_021.txt -ov_SC04_021_SIG := .run/sig.ov_SC04_021.jsonl -ov_SC04_021_GHIDRA_PROG := ov_SC04_021 -ov_SC04_021_VRAM_BASE := 0x80128158 -ov_SC04_021_TEXT_LO := 0x80128158 -ov_SC04_021_TEXT_HI := 0x8018FB2D -ov_SC04_021_ASM_DIR := asm/ov_SC04_021 -ov_SC04_021_SRC_DIR := src/ov_SC04_021 -ov_SC04_021_UNDEF_SYMS := build/ov_SC04_021/undefined_syms_auto.txt -ov_SC04_021_UNDEF_FUNCS := build/ov_SC04_021/undefined_funcs_auto.txt - -# --- ov_SC05_001 (location overlay SC05/FILE_001, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_001_EXE := extracted/retail/SC05.CD.dir/FILE_001.dir/0.4.dec -ov_SC05_001_NAME := ov_SC05_001 -ov_SC05_001_OUT_DIR := build/ov_SC05_001 -ov_SC05_001_OUT := $(ov_SC05_001_OUT_DIR)/$(ov_SC05_001_NAME) -ov_SC05_001_ELF := $(ov_SC05_001_OUT).elf -ov_SC05_001_MAPFILE := $(ov_SC05_001_OUT).map -ov_SC05_001_LD_SCRIPT := $(ov_SC05_001_OUT).ld -ov_SC05_001_SPLAT_YAML := config/splat.ov_SC05_001.yaml -ov_SC05_001_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_001.o,ov_SC05_001_jr_8012ACE0.o,tail2.data.o,ov_SC05_001_jr_80135888.o,tail3.data.o,ov_SC05_001_jr_80135A4C.o,tail4.data.o,ov_SC05_001_jr_80135D20.o,tail5.data.o,ov_SC05_001_jr_801380E0.o,ov_SC05_001_o0c.o,tail6.data.o,ov_SC05_001_jr_8013F350.o,tail7.data.o,ov_SC05_001_jr_8013FFD8.o,tail8.data.o,ov_SC05_001_jr_80140608.o,tail9.data.o,ov_SC05_001_jr_8015444C.o,ov_SC05_001_jr_80154C24.o,ov_SC05_001_jr_801588CC.o,ov_SC05_001_jr_80159C84.o,tail10.data.o,ov_SC05_001_jr_8015A3C8.o,tail11.data.o,ov_SC05_001_jr_8015AE2C.o,tail12.data.o,ov_SC05_001_jr_8015C32C.o,tail13.data.o,ov_SC05_001_jr_8016AB6C.o,tail14.data.o,ov_SC05_001_jr_80171B4C.o,ov_SC05_001_jr_801734BC.o,tail15.data.o,ov_SC05_001_jr_801789AC.o,ov_SC05_001_jr_80178D40.o,tail16.data.o,ov_SC05_001_jr_8017A4AC.o,tail17.data.o,ov_SC05_001_jr_8017AE2C.o,ov_SC05_001_jr_8017BEBC.o,ov_SC05_001_jr_80183508.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_001/ov_SC05_001.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_001/ov_SC05_001_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_001/ov_SC05_001_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_001/ov_SC05_001_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_001/ov_SC05_001_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_001/ov_SC05_001_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_001/ov_SC05_001_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_001/ov_SC05_001_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_001/ov_SC05_001_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_001/ov_SC05_001_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_001/ov_SC05_001_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_001/ov_SC05_001_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_001/ov_SC05_001_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_001_CHECK_SHA := config/check.ov_SC05_001.sha -ov_SC05_001_SYMBOLS := config/symbols.ov_SC05_001.txt -ov_SC05_001_SIG := .run/sig.ov_SC05_001.jsonl -ov_SC05_001_GHIDRA_PROG := ov_SC05_001 -ov_SC05_001_VRAM_BASE := 0x80128158 -ov_SC05_001_TEXT_LO := 0x80128158 -ov_SC05_001_TEXT_HI := 0x801B6007 -ov_SC05_001_ASM_DIR := asm/ov_SC05_001 -ov_SC05_001_SRC_DIR := src/ov_SC05_001 -ov_SC05_001_UNDEF_SYMS := build/ov_SC05_001/undefined_syms_auto.txt -ov_SC05_001_UNDEF_FUNCS := build/ov_SC05_001/undefined_funcs_auto.txt - -# --- ov_SC05_002 (location overlay SC05/FILE_002, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_002_EXE := extracted/retail/SC05.CD.dir/FILE_002.dir/0.4.dec -ov_SC05_002_NAME := ov_SC05_002 -ov_SC05_002_OUT_DIR := build/ov_SC05_002 -ov_SC05_002_OUT := $(ov_SC05_002_OUT_DIR)/$(ov_SC05_002_NAME) -ov_SC05_002_ELF := $(ov_SC05_002_OUT).elf -ov_SC05_002_MAPFILE := $(ov_SC05_002_OUT).map -ov_SC05_002_LD_SCRIPT := $(ov_SC05_002_OUT).ld -ov_SC05_002_SPLAT_YAML := config/splat.ov_SC05_002.yaml -ov_SC05_002_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_002.o,ov_SC05_002_jr_8012ACE0.o,tail2.data.o,ov_SC05_002_jr_80135888.o,tail3.data.o,ov_SC05_002_jr_80135A4C.o,tail4.data.o,ov_SC05_002_jr_80135D20.o,tail5.data.o,ov_SC05_002_jr_801380E0.o,ov_SC05_002_o0c.o,tail6.data.o,ov_SC05_002_jr_8013F350.o,tail7.data.o,ov_SC05_002_jr_8013FFD8.o,tail8.data.o,ov_SC05_002_jr_80140608.o,tail9.data.o,ov_SC05_002_jr_8015444C.o,ov_SC05_002_jr_80154C24.o,ov_SC05_002_jr_801588CC.o,ov_SC05_002_jr_80159C84.o,tail10.data.o,ov_SC05_002_jr_8015A3C8.o,tail11.data.o,ov_SC05_002_jr_8015AE2C.o,tail12.data.o,ov_SC05_002_jr_8015C32C.o,tail13.data.o,ov_SC05_002_jr_8016AB6C.o,tail14.data.o,ov_SC05_002_jr_80171B4C.o,ov_SC05_002_jr_801734BC.o,tail15.data.o,ov_SC05_002_jr_801789AC.o,ov_SC05_002_jr_80178D40.o,tail16.data.o,ov_SC05_002_jr_8017A4AC.o,tail17.data.o,ov_SC05_002_jr_8017AE2C.o,ov_SC05_002_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_002/ov_SC05_002.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_002/ov_SC05_002_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_002/ov_SC05_002_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_002/ov_SC05_002_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_002/ov_SC05_002_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_002/ov_SC05_002_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_002/ov_SC05_002_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_002/ov_SC05_002_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_002/ov_SC05_002_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_002/ov_SC05_002_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_002/ov_SC05_002_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_002/ov_SC05_002_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_002/ov_SC05_002_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_002_CHECK_SHA := config/check.ov_SC05_002.sha -ov_SC05_002_SYMBOLS := config/symbols.ov_SC05_002.txt -ov_SC05_002_SIG := .run/sig.ov_SC05_002.jsonl -ov_SC05_002_GHIDRA_PROG := ov_SC05_002 -ov_SC05_002_VRAM_BASE := 0x80128158 -ov_SC05_002_TEXT_LO := 0x80128158 -ov_SC05_002_TEXT_HI := 0x8019FFBF -ov_SC05_002_ASM_DIR := asm/ov_SC05_002 -ov_SC05_002_SRC_DIR := src/ov_SC05_002 -ov_SC05_002_UNDEF_SYMS := build/ov_SC05_002/undefined_syms_auto.txt -ov_SC05_002_UNDEF_FUNCS := build/ov_SC05_002/undefined_funcs_auto.txt - -# --- ov_SC05_003 (location overlay SC05/FILE_003, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_003_EXE := extracted/retail/SC05.CD.dir/FILE_003.dir/0.4.dec -ov_SC05_003_NAME := ov_SC05_003 -ov_SC05_003_OUT_DIR := build/ov_SC05_003 -ov_SC05_003_OUT := $(ov_SC05_003_OUT_DIR)/$(ov_SC05_003_NAME) -ov_SC05_003_ELF := $(ov_SC05_003_OUT).elf -ov_SC05_003_MAPFILE := $(ov_SC05_003_OUT).map -ov_SC05_003_LD_SCRIPT := $(ov_SC05_003_OUT).ld -ov_SC05_003_SPLAT_YAML := config/splat.ov_SC05_003.yaml -ov_SC05_003_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_003.o,ov_SC05_003_jr_8012ACE0.o,tail2.data.o,ov_SC05_003_jr_80135888.o,tail3.data.o,ov_SC05_003_jr_80135A4C.o,tail4.data.o,ov_SC05_003_jr_80135D20.o,tail5.data.o,ov_SC05_003_jr_801380E0.o,ov_SC05_003_o0c.o,tail6.data.o,ov_SC05_003_jr_8013F350.o,tail7.data.o,ov_SC05_003_jr_8013FFD8.o,tail8.data.o,ov_SC05_003_jr_80140608.o,tail9.data.o,ov_SC05_003_jr_8015444C.o,ov_SC05_003_jr_80154C24.o,ov_SC05_003_jr_801588CC.o,ov_SC05_003_jr_80159C84.o,tail10.data.o,ov_SC05_003_jr_8015A3C8.o,tail11.data.o,ov_SC05_003_jr_8015AE2C.o,tail12.data.o,ov_SC05_003_jr_8015C32C.o,tail13.data.o,ov_SC05_003_jr_8016AB6C.o,tail14.data.o,ov_SC05_003_jr_80171B4C.o,ov_SC05_003_jr_801734BC.o,tail15.data.o,ov_SC05_003_jr_801789AC.o,ov_SC05_003_jr_80178D40.o,tail16.data.o,ov_SC05_003_jr_8017A4AC.o,tail17.data.o,ov_SC05_003_jr_8017AE2C.o,ov_SC05_003_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_003/ov_SC05_003.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_003/ov_SC05_003_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_003/ov_SC05_003_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_003/ov_SC05_003_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_003/ov_SC05_003_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_003/ov_SC05_003_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_003/ov_SC05_003_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_003/ov_SC05_003_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_003/ov_SC05_003_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_003/ov_SC05_003_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_003/ov_SC05_003_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_003/ov_SC05_003_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_003/ov_SC05_003_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_003_CHECK_SHA := config/check.ov_SC05_003.sha -ov_SC05_003_SYMBOLS := config/symbols.ov_SC05_003.txt -ov_SC05_003_SIG := .run/sig.ov_SC05_003.jsonl -ov_SC05_003_GHIDRA_PROG := ov_SC05_003 -ov_SC05_003_VRAM_BASE := 0x80128158 -ov_SC05_003_TEXT_LO := 0x80128158 -ov_SC05_003_TEXT_HI := 0x801ACACF -ov_SC05_003_ASM_DIR := asm/ov_SC05_003 -ov_SC05_003_SRC_DIR := src/ov_SC05_003 -ov_SC05_003_UNDEF_SYMS := build/ov_SC05_003/undefined_syms_auto.txt -ov_SC05_003_UNDEF_FUNCS := build/ov_SC05_003/undefined_funcs_auto.txt - -# --- ov_SC05_004 (location overlay SC05/FILE_004, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_004_EXE := extracted/retail/SC05.CD.dir/FILE_004.dir/0.4.dec -ov_SC05_004_NAME := ov_SC05_004 -ov_SC05_004_OUT_DIR := build/ov_SC05_004 -ov_SC05_004_OUT := $(ov_SC05_004_OUT_DIR)/$(ov_SC05_004_NAME) -ov_SC05_004_ELF := $(ov_SC05_004_OUT).elf -ov_SC05_004_MAPFILE := $(ov_SC05_004_OUT).map -ov_SC05_004_LD_SCRIPT := $(ov_SC05_004_OUT).ld -ov_SC05_004_SPLAT_YAML := config/splat.ov_SC05_004.yaml -ov_SC05_004_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_004.o,ov_SC05_004_jr_8012ACE0.o,tail2.data.o,ov_SC05_004_jr_80135888.o,tail3.data.o,ov_SC05_004_jr_80135A4C.o,tail4.data.o,ov_SC05_004_jr_80135D20.o,tail5.data.o,ov_SC05_004_jr_801380E0.o,ov_SC05_004_o0c.o,tail6.data.o,ov_SC05_004_jr_8013F350.o,tail7.data.o,ov_SC05_004_jr_8014032C.o,tail8.data.o,ov_SC05_004_jr_80140608.o,tail9.data.o,ov_SC05_004_jr_8015444C.o,ov_SC05_004_jr_80154C24.o,ov_SC05_004_jr_801588CC.o,ov_SC05_004_jr_80159C84.o,tail10.data.o,ov_SC05_004_jr_8015A3C8.o,tail11.data.o,ov_SC05_004_jr_8015AE2C.o,tail12.data.o,ov_SC05_004_jr_8015C32C.o,tail13.data.o,ov_SC05_004_jr_8016AB6C.o,tail14.data.o,ov_SC05_004_jr_80171B4C.o,ov_SC05_004_jr_801734BC.o,tail15.data.o,ov_SC05_004_jr_801789AC.o,ov_SC05_004_jr_80178D40.o,tail16.data.o,ov_SC05_004_jr_8017A4AC.o,tail17.data.o,ov_SC05_004_jr_8017AE2C.o,ov_SC05_004_jr_8017BEBC.o,tail18.data.o,ov_SC05_004_jr_8017F210.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_004/ov_SC05_004.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_004/ov_SC05_004_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_004/ov_SC05_004_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_004/ov_SC05_004_jr_8013F350.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_004/ov_SC05_004_jr_8014032C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_004/ov_SC05_004_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_004/ov_SC05_004_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_004/ov_SC05_004_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_004/ov_SC05_004_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_004/ov_SC05_004_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_004/ov_SC05_004_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_004/ov_SC05_004_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_004/ov_SC05_004_jr_8017F210.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x68 -build/src/ov_SC05_004/ov_SC05_004_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_004_CHECK_SHA := config/check.ov_SC05_004.sha -ov_SC05_004_SYMBOLS := config/symbols.ov_SC05_004.txt -ov_SC05_004_SIG := .run/sig.ov_SC05_004.jsonl -ov_SC05_004_GHIDRA_PROG := ov_SC05_004 -ov_SC05_004_VRAM_BASE := 0x80128158 -ov_SC05_004_TEXT_LO := 0x80128158 -ov_SC05_004_TEXT_HI := 0x8019F327 -ov_SC05_004_ASM_DIR := asm/ov_SC05_004 -ov_SC05_004_SRC_DIR := src/ov_SC05_004 -ov_SC05_004_UNDEF_SYMS := build/ov_SC05_004/undefined_syms_auto.txt -ov_SC05_004_UNDEF_FUNCS := build/ov_SC05_004/undefined_funcs_auto.txt - -# --- ov_SC05_005 (location overlay SC05/FILE_005, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_005_EXE := extracted/retail/SC05.CD.dir/FILE_005.dir/0.4.dec -ov_SC05_005_NAME := ov_SC05_005 -ov_SC05_005_OUT_DIR := build/ov_SC05_005 -ov_SC05_005_OUT := $(ov_SC05_005_OUT_DIR)/$(ov_SC05_005_NAME) -ov_SC05_005_ELF := $(ov_SC05_005_OUT).elf -ov_SC05_005_MAPFILE := $(ov_SC05_005_OUT).map -ov_SC05_005_LD_SCRIPT := $(ov_SC05_005_OUT).ld -ov_SC05_005_SPLAT_YAML := config/splat.ov_SC05_005.yaml -ov_SC05_005_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_005.o,ov_SC05_005_jr_8012ACE0.o,tail2.data.o,ov_SC05_005_jr_80135888.o,tail3.data.o,ov_SC05_005_jr_80135A4C.o,tail4.data.o,ov_SC05_005_jr_80135D20.o,tail5.data.o,ov_SC05_005_jr_801380E0.o,ov_SC05_005_o0c.o,tail6.data.o,ov_SC05_005_jr_8013F350.o,tail7.data.o,ov_SC05_005_jr_8013FFD8.o,tail8.data.o,ov_SC05_005_jr_80140608.o,tail9.data.o,ov_SC05_005_jr_8015444C.o,ov_SC05_005_jr_80154C24.o,ov_SC05_005_jr_801588CC.o,ov_SC05_005_jr_80159C84.o,tail10.data.o,ov_SC05_005_jr_8015A3C8.o,tail11.data.o,ov_SC05_005_jr_8015AE2C.o,tail12.data.o,ov_SC05_005_jr_8015C32C.o,tail13.data.o,ov_SC05_005_jr_8016AB6C.o,tail14.data.o,ov_SC05_005_jr_80171B4C.o,ov_SC05_005_jr_801734BC.o,tail15.data.o,ov_SC05_005_jr_801789AC.o,ov_SC05_005_jr_80178D40.o,tail16.data.o,ov_SC05_005_jr_8017A4AC.o,tail17.data.o,ov_SC05_005_jr_8017AE2C.o,ov_SC05_005_jr_8017D898.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_005/ov_SC05_005.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_005/ov_SC05_005_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_005/ov_SC05_005_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_005/ov_SC05_005_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_005/ov_SC05_005_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_005/ov_SC05_005_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_005/ov_SC05_005_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_005/ov_SC05_005_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_005/ov_SC05_005_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_005/ov_SC05_005_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_005/ov_SC05_005_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_005/ov_SC05_005_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_005/ov_SC05_005_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_005_CHECK_SHA := config/check.ov_SC05_005.sha -ov_SC05_005_SYMBOLS := config/symbols.ov_SC05_005.txt -ov_SC05_005_SIG := .run/sig.ov_SC05_005.jsonl -ov_SC05_005_GHIDRA_PROG := ov_SC05_005 -ov_SC05_005_VRAM_BASE := 0x80128158 -ov_SC05_005_TEXT_LO := 0x80128158 -ov_SC05_005_TEXT_HI := 0x801B202F -ov_SC05_005_ASM_DIR := asm/ov_SC05_005 -ov_SC05_005_SRC_DIR := src/ov_SC05_005 -ov_SC05_005_UNDEF_SYMS := build/ov_SC05_005/undefined_syms_auto.txt -ov_SC05_005_UNDEF_FUNCS := build/ov_SC05_005/undefined_funcs_auto.txt - -# --- ov_SC05_006 (location overlay SC05/FILE_006, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_006_EXE := extracted/retail/SC05.CD.dir/FILE_006.dir/0.4.dec -ov_SC05_006_NAME := ov_SC05_006 -ov_SC05_006_OUT_DIR := build/ov_SC05_006 -ov_SC05_006_OUT := $(ov_SC05_006_OUT_DIR)/$(ov_SC05_006_NAME) -ov_SC05_006_ELF := $(ov_SC05_006_OUT).elf -ov_SC05_006_MAPFILE := $(ov_SC05_006_OUT).map -ov_SC05_006_LD_SCRIPT := $(ov_SC05_006_OUT).ld -ov_SC05_006_SPLAT_YAML := config/splat.ov_SC05_006.yaml -ov_SC05_006_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_006.o,ov_SC05_006_jr_8012ACE0.o,tail2.data.o,ov_SC05_006_jr_80135888.o,tail3.data.o,ov_SC05_006_jr_80135A4C.o,tail4.data.o,ov_SC05_006_jr_80135D20.o,tail5.data.o,ov_SC05_006_jr_801380E0.o,ov_SC05_006_o0c.o,tail6.data.o,ov_SC05_006_jr_8013F350.o,tail7.data.o,ov_SC05_006_jr_8013FFD8.o,tail8.data.o,ov_SC05_006_jr_80140608.o,tail9.data.o,ov_SC05_006_jr_8015444C.o,ov_SC05_006_jr_80154C24.o,ov_SC05_006_jr_801588CC.o,ov_SC05_006_jr_80159C84.o,tail10.data.o,ov_SC05_006_jr_8015A3C8.o,tail11.data.o,ov_SC05_006_jr_8015AE2C.o,tail12.data.o,ov_SC05_006_jr_8015C32C.o,tail13.data.o,ov_SC05_006_jr_8016AB6C.o,tail14.data.o,ov_SC05_006_jr_80171B4C.o,ov_SC05_006_jr_801734BC.o,tail15.data.o,ov_SC05_006_jr_801789AC.o,ov_SC05_006_jr_80178D40.o,tail16.data.o,ov_SC05_006_jr_8017A4AC.o,tail17.data.o,ov_SC05_006_jr_8017AE2C.o,ov_SC05_006_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_006/ov_SC05_006.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_006/ov_SC05_006_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_006/ov_SC05_006_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_006/ov_SC05_006_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_006/ov_SC05_006_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_006/ov_SC05_006_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_006/ov_SC05_006_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_006/ov_SC05_006_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_006/ov_SC05_006_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_006/ov_SC05_006_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_006/ov_SC05_006_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_006/ov_SC05_006_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_006/ov_SC05_006_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_006_CHECK_SHA := config/check.ov_SC05_006.sha -ov_SC05_006_SYMBOLS := config/symbols.ov_SC05_006.txt -ov_SC05_006_SIG := .run/sig.ov_SC05_006.jsonl -ov_SC05_006_GHIDRA_PROG := ov_SC05_006 -ov_SC05_006_VRAM_BASE := 0x80128158 -ov_SC05_006_TEXT_LO := 0x80128158 -ov_SC05_006_TEXT_HI := 0x8019015F -ov_SC05_006_ASM_DIR := asm/ov_SC05_006 -ov_SC05_006_SRC_DIR := src/ov_SC05_006 -ov_SC05_006_UNDEF_SYMS := build/ov_SC05_006/undefined_syms_auto.txt -ov_SC05_006_UNDEF_FUNCS := build/ov_SC05_006/undefined_funcs_auto.txt - -# --- ov_SC05_007 (location overlay SC05/FILE_007, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_007_EXE := extracted/retail/SC05.CD.dir/FILE_007.dir/0.4.dec -ov_SC05_007_NAME := ov_SC05_007 -ov_SC05_007_OUT_DIR := build/ov_SC05_007 -ov_SC05_007_OUT := $(ov_SC05_007_OUT_DIR)/$(ov_SC05_007_NAME) -ov_SC05_007_ELF := $(ov_SC05_007_OUT).elf -ov_SC05_007_MAPFILE := $(ov_SC05_007_OUT).map -ov_SC05_007_LD_SCRIPT := $(ov_SC05_007_OUT).ld -ov_SC05_007_SPLAT_YAML := config/splat.ov_SC05_007.yaml -ov_SC05_007_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_007.o,ov_SC05_007_jr_8012ACE0.o,tail2.data.o,ov_SC05_007_jr_80135888.o,tail3.data.o,ov_SC05_007_jr_80135A4C.o,tail4.data.o,ov_SC05_007_jr_80135D20.o,tail5.data.o,ov_SC05_007_jr_801380E0.o,ov_SC05_007_o0c.o,tail6.data.o,ov_SC05_007_jr_8013F350.o,tail7.data.o,ov_SC05_007_jr_8013FFD8.o,tail8.data.o,ov_SC05_007_jr_80140608.o,tail9.data.o,ov_SC05_007_jr_8015444C.o,ov_SC05_007_jr_80154C24.o,ov_SC05_007_jr_801588CC.o,ov_SC05_007_jr_80159C84.o,tail10.data.o,ov_SC05_007_jr_8015A3C8.o,tail11.data.o,ov_SC05_007_jr_8015AE2C.o,tail12.data.o,ov_SC05_007_jr_8015C32C.o,tail13.data.o,ov_SC05_007_jr_8016AB6C.o,tail14.data.o,ov_SC05_007_jr_80171B4C.o,ov_SC05_007_jr_801734BC.o,tail15.data.o,ov_SC05_007_jr_801789AC.o,ov_SC05_007_jr_80178D40.o,tail16.data.o,ov_SC05_007_jr_8017A4AC.o,tail17.data.o,ov_SC05_007_jr_8017AE2C.o,ov_SC05_007_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_007/ov_SC05_007.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_007/ov_SC05_007_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_007/ov_SC05_007_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_007/ov_SC05_007_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_007/ov_SC05_007_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_007/ov_SC05_007_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_007/ov_SC05_007_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_007/ov_SC05_007_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_007/ov_SC05_007_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_007/ov_SC05_007_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_007/ov_SC05_007_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_007/ov_SC05_007_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_007/ov_SC05_007_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_007_CHECK_SHA := config/check.ov_SC05_007.sha -ov_SC05_007_SYMBOLS := config/symbols.ov_SC05_007.txt -ov_SC05_007_SIG := .run/sig.ov_SC05_007.jsonl -ov_SC05_007_GHIDRA_PROG := ov_SC05_007 -ov_SC05_007_VRAM_BASE := 0x80128158 -ov_SC05_007_TEXT_LO := 0x80128158 -ov_SC05_007_TEXT_HI := 0x8019CEFF -ov_SC05_007_ASM_DIR := asm/ov_SC05_007 -ov_SC05_007_SRC_DIR := src/ov_SC05_007 -ov_SC05_007_UNDEF_SYMS := build/ov_SC05_007/undefined_syms_auto.txt -ov_SC05_007_UNDEF_FUNCS := build/ov_SC05_007/undefined_funcs_auto.txt - -# --- ov_SC05_008 (location overlay SC05/FILE_008, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_008_EXE := extracted/retail/SC05.CD.dir/FILE_008.dir/0.4.dec -ov_SC05_008_NAME := ov_SC05_008 -ov_SC05_008_OUT_DIR := build/ov_SC05_008 -ov_SC05_008_OUT := $(ov_SC05_008_OUT_DIR)/$(ov_SC05_008_NAME) -ov_SC05_008_ELF := $(ov_SC05_008_OUT).elf -ov_SC05_008_MAPFILE := $(ov_SC05_008_OUT).map -ov_SC05_008_LD_SCRIPT := $(ov_SC05_008_OUT).ld -ov_SC05_008_SPLAT_YAML := config/splat.ov_SC05_008.yaml -ov_SC05_008_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_008.o,ov_SC05_008_jr_8012ACE0.o,tail2.data.o,ov_SC05_008_jr_80135888.o,tail3.data.o,ov_SC05_008_jr_80135A4C.o,tail4.data.o,ov_SC05_008_jr_80135D20.o,tail5.data.o,ov_SC05_008_jr_801380E0.o,ov_SC05_008_o0c.o,tail6.data.o,ov_SC05_008_jr_8013F350.o,tail7.data.o,ov_SC05_008_jr_8013FFD8.o,tail8.data.o,ov_SC05_008_jr_80140608.o,tail9.data.o,ov_SC05_008_jr_8015444C.o,ov_SC05_008_jr_80154C24.o,ov_SC05_008_jr_801588CC.o,ov_SC05_008_jr_80159C84.o,tail10.data.o,ov_SC05_008_jr_8015A3C8.o,tail11.data.o,ov_SC05_008_jr_8015AE2C.o,tail12.data.o,ov_SC05_008_jr_8015C32C.o,tail13.data.o,ov_SC05_008_jr_8016AB6C.o,tail14.data.o,ov_SC05_008_jr_80171B4C.o,ov_SC05_008_jr_801734BC.o,tail15.data.o,ov_SC05_008_jr_801789AC.o,ov_SC05_008_jr_80178D40.o,tail16.data.o,ov_SC05_008_jr_8017A4AC.o,tail17.data.o,ov_SC05_008_jr_8017AE2C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_008/ov_SC05_008.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_008/ov_SC05_008_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_008/ov_SC05_008_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_008/ov_SC05_008_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_008/ov_SC05_008_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_008/ov_SC05_008_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_008/ov_SC05_008_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_008/ov_SC05_008_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_008/ov_SC05_008_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_008/ov_SC05_008_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_008/ov_SC05_008_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_008/ov_SC05_008_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_008/ov_SC05_008_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_008/ov_SC05_008_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_008_CHECK_SHA := config/check.ov_SC05_008.sha -ov_SC05_008_SYMBOLS := config/symbols.ov_SC05_008.txt -ov_SC05_008_SIG := .run/sig.ov_SC05_008.jsonl -ov_SC05_008_GHIDRA_PROG := ov_SC05_008 -ov_SC05_008_VRAM_BASE := 0x80128158 -ov_SC05_008_TEXT_LO := 0x80128158 -ov_SC05_008_TEXT_HI := 0x801A12EB -ov_SC05_008_ASM_DIR := asm/ov_SC05_008 -ov_SC05_008_SRC_DIR := src/ov_SC05_008 -ov_SC05_008_UNDEF_SYMS := build/ov_SC05_008/undefined_syms_auto.txt -ov_SC05_008_UNDEF_FUNCS := build/ov_SC05_008/undefined_funcs_auto.txt - -# --- ov_SC05_009 (location overlay SC05/FILE_009, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_009_EXE := extracted/retail/SC05.CD.dir/FILE_009.dir/0.4.dec -ov_SC05_009_NAME := ov_SC05_009 -ov_SC05_009_OUT_DIR := build/ov_SC05_009 -ov_SC05_009_OUT := $(ov_SC05_009_OUT_DIR)/$(ov_SC05_009_NAME) -ov_SC05_009_ELF := $(ov_SC05_009_OUT).elf -ov_SC05_009_MAPFILE := $(ov_SC05_009_OUT).map -ov_SC05_009_LD_SCRIPT := $(ov_SC05_009_OUT).ld -ov_SC05_009_SPLAT_YAML := config/splat.ov_SC05_009.yaml -ov_SC05_009_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_009.o,ov_SC05_009_jr_8012ACE0.o,tail2.data.o,ov_SC05_009_jr_80135888.o,tail3.data.o,ov_SC05_009_jr_80135A4C.o,tail4.data.o,ov_SC05_009_jr_80135D20.o,tail5.data.o,ov_SC05_009_jr_801380E0.o,ov_SC05_009_o0c.o,tail6.data.o,ov_SC05_009_jr_8013F350.o,tail7.data.o,ov_SC05_009_jr_8013FFD8.o,tail8.data.o,ov_SC05_009_jr_80140608.o,tail9.data.o,ov_SC05_009_jr_8015444C.o,ov_SC05_009_jr_80154C24.o,ov_SC05_009_jr_801588CC.o,ov_SC05_009_jr_80159C84.o,tail10.data.o,ov_SC05_009_jr_8015AE2C.o,tail11.data.o,ov_SC05_009_jr_8015C32C.o,tail12.data.o,ov_SC05_009_jr_8016AB6C.o,tail13.data.o,ov_SC05_009_jr_80171B4C.o,ov_SC05_009_jr_801734BC.o,tail14.data.o,ov_SC05_009_jr_801789AC.o,ov_SC05_009_jr_80178D40.o,tail15.data.o,ov_SC05_009_jr_8017A4AC.o,tail16.data.o,ov_SC05_009_jr_8017AE2C.o,ov_SC05_009_jr_8017BEBC.o,tail17.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_009/ov_SC05_009.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_009/ov_SC05_009_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_009/ov_SC05_009_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_009/ov_SC05_009_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_009/ov_SC05_009_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_009/ov_SC05_009_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_009/ov_SC05_009_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_009/ov_SC05_009_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_009/ov_SC05_009_jr_80159C84.o: JTBL_PADS := 0,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC05_009/ov_SC05_009_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_009/ov_SC05_009_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_009/ov_SC05_009_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_009/ov_SC05_009_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_009_CHECK_SHA := config/check.ov_SC05_009.sha -ov_SC05_009_SYMBOLS := config/symbols.ov_SC05_009.txt -ov_SC05_009_SIG := .run/sig.ov_SC05_009.jsonl -ov_SC05_009_GHIDRA_PROG := ov_SC05_009 -ov_SC05_009_VRAM_BASE := 0x80128158 -ov_SC05_009_TEXT_LO := 0x80128158 -ov_SC05_009_TEXT_HI := 0x80196C47 -ov_SC05_009_ASM_DIR := asm/ov_SC05_009 -ov_SC05_009_SRC_DIR := src/ov_SC05_009 -ov_SC05_009_UNDEF_SYMS := build/ov_SC05_009/undefined_syms_auto.txt -ov_SC05_009_UNDEF_FUNCS := build/ov_SC05_009/undefined_funcs_auto.txt - -# --- ov_SC05_010 (location overlay SC05/FILE_010, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_010_EXE := extracted/retail/SC05.CD.dir/FILE_010.dir/0.4.dec -ov_SC05_010_NAME := ov_SC05_010 -ov_SC05_010_OUT_DIR := build/ov_SC05_010 -ov_SC05_010_OUT := $(ov_SC05_010_OUT_DIR)/$(ov_SC05_010_NAME) -ov_SC05_010_ELF := $(ov_SC05_010_OUT).elf -ov_SC05_010_MAPFILE := $(ov_SC05_010_OUT).map -ov_SC05_010_LD_SCRIPT := $(ov_SC05_010_OUT).ld -ov_SC05_010_SPLAT_YAML := config/splat.ov_SC05_010.yaml -ov_SC05_010_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_010.o,ov_SC05_010_jr_8012ACE0.o,tail2.data.o,ov_SC05_010_jr_80135888.o,tail3.data.o,ov_SC05_010_jr_80135A4C.o,tail4.data.o,ov_SC05_010_jr_80135D20.o,tail5.data.o,ov_SC05_010_jr_801380E0.o,ov_SC05_010_o0c.o,tail6.data.o,ov_SC05_010_jr_8013F350.o,tail7.data.o,ov_SC05_010_jr_8013FFD8.o,tail8.data.o,ov_SC05_010_jr_80140608.o,tail9.data.o,ov_SC05_010_jr_8015444C.o,ov_SC05_010_jr_80154C24.o,ov_SC05_010_jr_801588CC.o,ov_SC05_010_jr_80159C84.o,tail10.data.o,ov_SC05_010_jr_8015A3C8.o,tail11.data.o,ov_SC05_010_jr_8015AE2C.o,tail12.data.o,ov_SC05_010_jr_8015C32C.o,tail13.data.o,ov_SC05_010_jr_8016AB6C.o,tail14.data.o,ov_SC05_010_jr_80171B4C.o,ov_SC05_010_jr_801734BC.o,tail15.data.o,ov_SC05_010_jr_801789AC.o,ov_SC05_010_jr_80178D40.o,tail16.data.o,ov_SC05_010_jr_8017A4AC.o,tail17.data.o,ov_SC05_010_jr_8017AE2C.o,tail18.data.o,ov_SC05_010_jr_8017C8D0.o,tail19.data.o,ov_SC05_010_jr_80181CDC.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_010/ov_SC05_010.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_010/ov_SC05_010_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_010/ov_SC05_010_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_010/ov_SC05_010_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_010/ov_SC05_010_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_010/ov_SC05_010_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_010/ov_SC05_010_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_010/ov_SC05_010_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_010/ov_SC05_010_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_010/ov_SC05_010_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_010/ov_SC05_010_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_010/ov_SC05_010_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_010/ov_SC05_010_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_010_CHECK_SHA := config/check.ov_SC05_010.sha -ov_SC05_010_SYMBOLS := config/symbols.ov_SC05_010.txt -ov_SC05_010_SIG := .run/sig.ov_SC05_010.jsonl -ov_SC05_010_GHIDRA_PROG := ov_SC05_010 -ov_SC05_010_VRAM_BASE := 0x80128158 -ov_SC05_010_TEXT_LO := 0x80128158 -ov_SC05_010_TEXT_HI := 0x801C802F -ov_SC05_010_ASM_DIR := asm/ov_SC05_010 -ov_SC05_010_SRC_DIR := src/ov_SC05_010 -ov_SC05_010_UNDEF_SYMS := build/ov_SC05_010/undefined_syms_auto.txt -ov_SC05_010_UNDEF_FUNCS := build/ov_SC05_010/undefined_funcs_auto.txt - -# --- ov_SC05_011 (location overlay SC05/FILE_011, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_011_EXE := extracted/retail/SC05.CD.dir/FILE_011.dir/0.4.dec -ov_SC05_011_NAME := ov_SC05_011 -ov_SC05_011_OUT_DIR := build/ov_SC05_011 -ov_SC05_011_OUT := $(ov_SC05_011_OUT_DIR)/$(ov_SC05_011_NAME) -ov_SC05_011_ELF := $(ov_SC05_011_OUT).elf -ov_SC05_011_MAPFILE := $(ov_SC05_011_OUT).map -ov_SC05_011_LD_SCRIPT := $(ov_SC05_011_OUT).ld -ov_SC05_011_SPLAT_YAML := config/splat.ov_SC05_011.yaml -ov_SC05_011_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_011.o,ov_SC05_011_jr_8012ACE0.o,tail2.data.o,ov_SC05_011_jr_80135888.o,tail3.data.o,ov_SC05_011_jr_80135A4C.o,tail4.data.o,ov_SC05_011_jr_80135D20.o,tail5.data.o,ov_SC05_011_jr_801380E0.o,ov_SC05_011_o0c.o,tail6.data.o,ov_SC05_011_jr_8013F350.o,tail7.data.o,ov_SC05_011_jr_8013FFD8.o,tail8.data.o,ov_SC05_011_jr_80140608.o,tail9.data.o,ov_SC05_011_jr_8015444C.o,ov_SC05_011_jr_80154C24.o,ov_SC05_011_jr_801588CC.o,ov_SC05_011_jr_80159C84.o,tail10.data.o,ov_SC05_011_jr_8015A3C8.o,tail11.data.o,ov_SC05_011_jr_8015AE2C.o,tail12.data.o,ov_SC05_011_jr_8015C32C.o,tail13.data.o,ov_SC05_011_jr_8016AB6C.o,tail14.data.o,ov_SC05_011_jr_80171B4C.o,ov_SC05_011_jr_801734BC.o,tail15.data.o,ov_SC05_011_jr_801789AC.o,ov_SC05_011_jr_80178D40.o,tail16.data.o,ov_SC05_011_jr_8017A4AC.o,tail17.data.o,ov_SC05_011_jr_8017AE2C.o,ov_SC05_011_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_011/ov_SC05_011.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_011/ov_SC05_011_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_011/ov_SC05_011_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_011/ov_SC05_011_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_011/ov_SC05_011_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_011/ov_SC05_011_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_011/ov_SC05_011_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_011/ov_SC05_011_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_011/ov_SC05_011_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_011/ov_SC05_011_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_011/ov_SC05_011_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_011/ov_SC05_011_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_011/ov_SC05_011_jr_8017BEBC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_011/ov_SC05_011_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_011_CHECK_SHA := config/check.ov_SC05_011.sha -ov_SC05_011_SYMBOLS := config/symbols.ov_SC05_011.txt -ov_SC05_011_SIG := .run/sig.ov_SC05_011.jsonl -ov_SC05_011_GHIDRA_PROG := ov_SC05_011 -ov_SC05_011_VRAM_BASE := 0x80128158 -ov_SC05_011_TEXT_LO := 0x80128158 -ov_SC05_011_TEXT_HI := 0x8019D1DF -ov_SC05_011_ASM_DIR := asm/ov_SC05_011 -ov_SC05_011_SRC_DIR := src/ov_SC05_011 -ov_SC05_011_UNDEF_SYMS := build/ov_SC05_011/undefined_syms_auto.txt -ov_SC05_011_UNDEF_FUNCS := build/ov_SC05_011/undefined_funcs_auto.txt - -# --- ov_SC05_017 (location overlay SC05/FILE_017, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_017_EXE := extracted/retail/SC05.CD.dir/FILE_017.dir/0.4.dec -ov_SC05_017_NAME := ov_SC05_017 -ov_SC05_017_OUT_DIR := build/ov_SC05_017 -ov_SC05_017_OUT := $(ov_SC05_017_OUT_DIR)/$(ov_SC05_017_NAME) -ov_SC05_017_ELF := $(ov_SC05_017_OUT).elf -ov_SC05_017_MAPFILE := $(ov_SC05_017_OUT).map -ov_SC05_017_LD_SCRIPT := $(ov_SC05_017_OUT).ld -ov_SC05_017_SPLAT_YAML := config/splat.ov_SC05_017.yaml -ov_SC05_017_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_017.o,ov_SC05_017_jr_8012ACE0.o,tail2.data.o,ov_SC05_017_jr_80135888.o,tail3.data.o,ov_SC05_017_jr_80135A4C.o,tail4.data.o,ov_SC05_017_jr_80135D20.o,tail5.data.o,ov_SC05_017_jr_801380E0.o,ov_SC05_017_o0c.o,tail6.data.o,ov_SC05_017_jr_8013F350.o,tail7.data.o,ov_SC05_017_jr_8013FFD8.o,tail8.data.o,ov_SC05_017_jr_80140608.o,tail9.data.o,ov_SC05_017_jr_8015444C.o,ov_SC05_017_jr_80154C24.o,ov_SC05_017_jr_801588CC.o,ov_SC05_017_jr_80159C84.o,tail10.data.o,ov_SC05_017_jr_8015A3C8.o,tail11.data.o,ov_SC05_017_jr_8015AE2C.o,tail12.data.o,ov_SC05_017_jr_8015C32C.o,tail13.data.o,ov_SC05_017_jr_8016AB6C.o,tail14.data.o,ov_SC05_017_jr_80171B4C.o,ov_SC05_017_jr_801734BC.o,tail15.data.o,ov_SC05_017_jr_801789AC.o,ov_SC05_017_jr_80178D40.o,tail16.data.o,ov_SC05_017_jr_8017A4AC.o,tail17.data.o,ov_SC05_017_jr_8017AE2C.o,tail18.data.o,ov_SC05_017_jr_801808D4.o,ov_SC05_017_jr_801828EC.o,tail19.data.o,ov_SC05_017_jr_80182A74.o,ov_SC05_017_jr_80185A70.o,tail20.data.o,ov_SC05_017_jr_80186270.o,tail21.data.o,ov_SC05_017_jr_801875E8.o,ov_SC05_017_jr_80188B1C.o,tail22.data.o,ov_SC05_017_jr_8018C694.o,tail23.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_017/ov_SC05_017.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_017/ov_SC05_017_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_017/ov_SC05_017_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_017/ov_SC05_017_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_017/ov_SC05_017_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_017/ov_SC05_017_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_017/ov_SC05_017_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_017/ov_SC05_017_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_017/ov_SC05_017_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_017/ov_SC05_017_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_017/ov_SC05_017_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_017/ov_SC05_017_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_017/ov_SC05_017_jr_8017AE2C.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x34 -build/src/ov_SC05_017/ov_SC05_017_jr_80182A74.o: JTBL_PADS := 0,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x2c -build/src/ov_SC05_017/ov_SC05_017_jr_801875E8.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38 -build/src/ov_SC05_017/ov_SC05_017_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_017_CHECK_SHA := config/check.ov_SC05_017.sha -ov_SC05_017_SYMBOLS := config/symbols.ov_SC05_017.txt -ov_SC05_017_SIG := .run/sig.ov_SC05_017.jsonl -ov_SC05_017_GHIDRA_PROG := ov_SC05_017 -ov_SC05_017_VRAM_BASE := 0x80128158 -ov_SC05_017_TEXT_LO := 0x80128158 -ov_SC05_017_TEXT_HI := 0x801ED987 -ov_SC05_017_ASM_DIR := asm/ov_SC05_017 -ov_SC05_017_SRC_DIR := src/ov_SC05_017 -ov_SC05_017_UNDEF_SYMS := build/ov_SC05_017/undefined_syms_auto.txt -ov_SC05_017_UNDEF_FUNCS := build/ov_SC05_017/undefined_funcs_auto.txt - -# --- ov_SC05_018 (location overlay SC05/FILE_018, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_018_EXE := extracted/retail/SC05.CD.dir/FILE_018.dir/0.4.dec -ov_SC05_018_NAME := ov_SC05_018 -ov_SC05_018_OUT_DIR := build/ov_SC05_018 -ov_SC05_018_OUT := $(ov_SC05_018_OUT_DIR)/$(ov_SC05_018_NAME) -ov_SC05_018_ELF := $(ov_SC05_018_OUT).elf -ov_SC05_018_MAPFILE := $(ov_SC05_018_OUT).map -ov_SC05_018_LD_SCRIPT := $(ov_SC05_018_OUT).ld -ov_SC05_018_SPLAT_YAML := config/splat.ov_SC05_018.yaml -ov_SC05_018_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_018.o,ov_SC05_018_jr_8012ACE0.o,tail2.data.o,ov_SC05_018_jr_80135888.o,tail3.data.o,ov_SC05_018_jr_80135A4C.o,tail4.data.o,ov_SC05_018_jr_80135D20.o,tail5.data.o,ov_SC05_018_jr_801380E0.o,ov_SC05_018_o0c.o,tail6.data.o,ov_SC05_018_jr_8013F350.o,tail7.data.o,ov_SC05_018_jr_8013FFD8.o,tail8.data.o,ov_SC05_018_jr_80140608.o,tail9.data.o,ov_SC05_018_jr_8015444C.o,ov_SC05_018_jr_80154C24.o,ov_SC05_018_jr_801588CC.o,ov_SC05_018_jr_80159C84.o,tail10.data.o,ov_SC05_018_jr_8015A3C8.o,tail11.data.o,ov_SC05_018_jr_8015AE2C.o,tail12.data.o,ov_SC05_018_jr_8015C32C.o,tail13.data.o,ov_SC05_018_jr_8016AB6C.o,tail14.data.o,ov_SC05_018_jr_80171B4C.o,ov_SC05_018_jr_801734BC.o,tail15.data.o,ov_SC05_018_jr_801789AC.o,ov_SC05_018_jr_80178D40.o,tail16.data.o,ov_SC05_018_jr_8017A4AC.o,tail17.data.o,ov_SC05_018_jr_8017AE2C.o,ov_SC05_018_jr_8017D604.o,tail18.data.o,ov_SC05_018_jr_80185754.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_018/ov_SC05_018.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_018/ov_SC05_018_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_018/ov_SC05_018_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_018/ov_SC05_018_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_018/ov_SC05_018_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_018/ov_SC05_018_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_018/ov_SC05_018_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_018/ov_SC05_018_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_018/ov_SC05_018_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_018/ov_SC05_018_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_018/ov_SC05_018_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_018/ov_SC05_018_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_018/ov_SC05_018_jr_8017D604.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_018/ov_SC05_018_jr_80185754.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x1c -build/src/ov_SC05_018/ov_SC05_018_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_018_CHECK_SHA := config/check.ov_SC05_018.sha -ov_SC05_018_SYMBOLS := config/symbols.ov_SC05_018.txt -ov_SC05_018_SIG := .run/sig.ov_SC05_018.jsonl -ov_SC05_018_GHIDRA_PROG := ov_SC05_018 -ov_SC05_018_VRAM_BASE := 0x80128158 -ov_SC05_018_TEXT_LO := 0x80128158 -ov_SC05_018_TEXT_HI := 0x801E688F -ov_SC05_018_ASM_DIR := asm/ov_SC05_018 -ov_SC05_018_SRC_DIR := src/ov_SC05_018 -ov_SC05_018_UNDEF_SYMS := build/ov_SC05_018/undefined_syms_auto.txt -ov_SC05_018_UNDEF_FUNCS := build/ov_SC05_018/undefined_funcs_auto.txt - -# --- ov_SC05_019 (location overlay SC05/FILE_019, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC05_019_EXE := extracted/retail/SC05.CD.dir/FILE_019.dir/0.4.dec -ov_SC05_019_NAME := ov_SC05_019 -ov_SC05_019_OUT_DIR := build/ov_SC05_019 -ov_SC05_019_OUT := $(ov_SC05_019_OUT_DIR)/$(ov_SC05_019_NAME) -ov_SC05_019_ELF := $(ov_SC05_019_OUT).elf -ov_SC05_019_MAPFILE := $(ov_SC05_019_OUT).map -ov_SC05_019_LD_SCRIPT := $(ov_SC05_019_OUT).ld -ov_SC05_019_SPLAT_YAML := config/splat.ov_SC05_019.yaml -ov_SC05_019_JTBL_INTERLEAVE := --order tail.data.o,ov_SC05_019.o,ov_SC05_019_jr_8012ACE0.o,tail2.data.o,ov_SC05_019_jr_80135888.o,tail3.data.o,ov_SC05_019_jr_80135A4C.o,tail4.data.o,ov_SC05_019_jr_80135D20.o,tail5.data.o,ov_SC05_019_jr_801380E0.o,ov_SC05_019_o0c.o,tail6.data.o,ov_SC05_019_jr_8013F350.o,tail7.data.o,ov_SC05_019_jr_8013FFD8.o,tail8.data.o,ov_SC05_019_jr_80140608.o,tail9.data.o,ov_SC05_019_jr_8015444C.o,ov_SC05_019_jr_80154C24.o,ov_SC05_019_jr_801588CC.o,ov_SC05_019_jr_80159C84.o,tail10.data.o,ov_SC05_019_jr_8015A3C8.o,tail11.data.o,ov_SC05_019_jr_8015AE2C.o,tail12.data.o,ov_SC05_019_jr_8015C32C.o,tail13.data.o,ov_SC05_019_jr_8016AB6C.o,tail14.data.o,ov_SC05_019_jr_80171B4C.o,ov_SC05_019_jr_801734BC.o,tail15.data.o,ov_SC05_019_jr_801789AC.o,ov_SC05_019_jr_80178D40.o,tail16.data.o,ov_SC05_019_jr_8017A4AC.o,tail17.data.o,ov_SC05_019_jr_8017AE2C.o,ov_SC05_019_jr_8017D5C0.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC05_019/ov_SC05_019.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_019/ov_SC05_019_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC05_019/ov_SC05_019_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC05_019/ov_SC05_019_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_019/ov_SC05_019_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC05_019/ov_SC05_019_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC05_019/ov_SC05_019_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC05_019/ov_SC05_019_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC05_019/ov_SC05_019_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_019/ov_SC05_019_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_019/ov_SC05_019_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC05_019/ov_SC05_019_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC05_019/ov_SC05_019_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC05_019/ov_SC05_019_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC05_019_CHECK_SHA := config/check.ov_SC05_019.sha -ov_SC05_019_SYMBOLS := config/symbols.ov_SC05_019.txt -ov_SC05_019_SIG := .run/sig.ov_SC05_019.jsonl -ov_SC05_019_GHIDRA_PROG := ov_SC05_019 -ov_SC05_019_VRAM_BASE := 0x80128158 -ov_SC05_019_TEXT_LO := 0x80128158 -ov_SC05_019_TEXT_HI := 0x8018FB2D -ov_SC05_019_ASM_DIR := asm/ov_SC05_019 -ov_SC05_019_SRC_DIR := src/ov_SC05_019 -ov_SC05_019_UNDEF_SYMS := build/ov_SC05_019/undefined_syms_auto.txt -ov_SC05_019_UNDEF_FUNCS := build/ov_SC05_019/undefined_funcs_auto.txt - -# --- ov_SC06_006 (location overlay SC06/FILE_006, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_006_EXE := extracted/retail/SC06.CD.dir/FILE_006.dir/0.4.dec -ov_SC06_006_NAME := ov_SC06_006 -ov_SC06_006_OUT_DIR := build/ov_SC06_006 -ov_SC06_006_OUT := $(ov_SC06_006_OUT_DIR)/$(ov_SC06_006_NAME) -ov_SC06_006_ELF := $(ov_SC06_006_OUT).elf -ov_SC06_006_MAPFILE := $(ov_SC06_006_OUT).map -ov_SC06_006_LD_SCRIPT := $(ov_SC06_006_OUT).ld -ov_SC06_006_SPLAT_YAML := config/splat.ov_SC06_006.yaml -ov_SC06_006_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_006.o,ov_SC06_006_jr_8012ACE0.o,tail2.data.o,ov_SC06_006_jr_80135888.o,tail3.data.o,ov_SC06_006_jr_80135A4C.o,tail4.data.o,ov_SC06_006_jr_80135D20.o,tail5.data.o,ov_SC06_006_jr_801380E0.o,ov_SC06_006_o0c.o,tail6.data.o,ov_SC06_006_jr_8013F350.o,tail7.data.o,ov_SC06_006_jr_8013FFD8.o,tail8.data.o,ov_SC06_006_jr_80140608.o,tail9.data.o,ov_SC06_006_jr_8015444C.o,ov_SC06_006_jr_80154C24.o,ov_SC06_006_jr_801588CC.o,ov_SC06_006_jr_80159C84.o,tail10.data.o,ov_SC06_006_jr_8015A3C8.o,tail11.data.o,ov_SC06_006_jr_8015AE2C.o,tail12.data.o,ov_SC06_006_jr_8015C32C.o,tail13.data.o,ov_SC06_006_jr_8016AB6C.o,tail14.data.o,ov_SC06_006_jr_80171B4C.o,ov_SC06_006_jr_801734BC.o,tail15.data.o,ov_SC06_006_jr_801789AC.o,ov_SC06_006_jr_80178D40.o,tail16.data.o,ov_SC06_006_jr_8017A4AC.o,tail17.data.o,ov_SC06_006_jr_8017AE2C.o,ov_SC06_006_jr_8017BEBC.o,tail18.data.o,ov_SC06_006_jr_8017DB90.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_006/ov_SC06_006.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_006/ov_SC06_006_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_006/ov_SC06_006_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_006/ov_SC06_006_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_006/ov_SC06_006_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_006/ov_SC06_006_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_006/ov_SC06_006_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_006/ov_SC06_006_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_006/ov_SC06_006_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_006/ov_SC06_006_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_006/ov_SC06_006_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_006/ov_SC06_006_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_006/ov_SC06_006_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_006_CHECK_SHA := config/check.ov_SC06_006.sha -ov_SC06_006_SYMBOLS := config/symbols.ov_SC06_006.txt -ov_SC06_006_SIG := .run/sig.ov_SC06_006.jsonl -ov_SC06_006_GHIDRA_PROG := ov_SC06_006 -ov_SC06_006_VRAM_BASE := 0x80128158 -ov_SC06_006_TEXT_LO := 0x80128158 -ov_SC06_006_TEXT_HI := 0x801F8B67 -ov_SC06_006_ASM_DIR := asm/ov_SC06_006 -ov_SC06_006_SRC_DIR := src/ov_SC06_006 -ov_SC06_006_UNDEF_SYMS := build/ov_SC06_006/undefined_syms_auto.txt -ov_SC06_006_UNDEF_FUNCS := build/ov_SC06_006/undefined_funcs_auto.txt - -# --- ov_SC06_008 (location overlay SC06/FILE_008, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_008_EXE := extracted/retail/SC06.CD.dir/FILE_008.dir/0.4.dec -ov_SC06_008_NAME := ov_SC06_008 -ov_SC06_008_OUT_DIR := build/ov_SC06_008 -ov_SC06_008_OUT := $(ov_SC06_008_OUT_DIR)/$(ov_SC06_008_NAME) -ov_SC06_008_ELF := $(ov_SC06_008_OUT).elf -ov_SC06_008_MAPFILE := $(ov_SC06_008_OUT).map -ov_SC06_008_LD_SCRIPT := $(ov_SC06_008_OUT).ld -ov_SC06_008_SPLAT_YAML := config/splat.ov_SC06_008.yaml -ov_SC06_008_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_008.o,ov_SC06_008_jr_8012ACE0.o,tail2.data.o,ov_SC06_008_jr_80135888.o,tail3.data.o,ov_SC06_008_jr_80135A4C.o,tail4.data.o,ov_SC06_008_jr_80135D20.o,tail5.data.o,ov_SC06_008_jr_801380E0.o,ov_SC06_008_o0c.o,tail6.data.o,ov_SC06_008_jr_8013F350.o,tail7.data.o,ov_SC06_008_jr_8013FFD8.o,tail8.data.o,ov_SC06_008_jr_80140608.o,tail9.data.o,ov_SC06_008_jr_8015444C.o,ov_SC06_008_jr_80154C24.o,ov_SC06_008_jr_801588CC.o,ov_SC06_008_jr_80159C84.o,tail10.data.o,ov_SC06_008_jr_8015A3C8.o,tail11.data.o,ov_SC06_008_jr_8015AE2C.o,tail12.data.o,ov_SC06_008_jr_8015C32C.o,tail13.data.o,ov_SC06_008_jr_8016AB6C.o,tail14.data.o,ov_SC06_008_jr_80171B4C.o,ov_SC06_008_jr_801734BC.o,tail15.data.o,ov_SC06_008_jr_801789AC.o,ov_SC06_008_jr_80178D40.o,tail16.data.o,ov_SC06_008_jr_8017A4AC.o,tail17.data.o,ov_SC06_008_jr_8017AE2C.o,ov_SC06_008_jr_8017C294.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_008/ov_SC06_008.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_008/ov_SC06_008_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_008/ov_SC06_008_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_008/ov_SC06_008_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_008/ov_SC06_008_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_008/ov_SC06_008_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_008/ov_SC06_008_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_008/ov_SC06_008_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_008/ov_SC06_008_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_008/ov_SC06_008_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_008/ov_SC06_008_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_008/ov_SC06_008_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_008/ov_SC06_008_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_008_CHECK_SHA := config/check.ov_SC06_008.sha -ov_SC06_008_SYMBOLS := config/symbols.ov_SC06_008.txt -ov_SC06_008_SIG := .run/sig.ov_SC06_008.jsonl -ov_SC06_008_GHIDRA_PROG := ov_SC06_008 -ov_SC06_008_VRAM_BASE := 0x80128158 -ov_SC06_008_TEXT_LO := 0x80128158 -ov_SC06_008_TEXT_HI := 0x801AA837 -ov_SC06_008_ASM_DIR := asm/ov_SC06_008 -ov_SC06_008_SRC_DIR := src/ov_SC06_008 -ov_SC06_008_UNDEF_SYMS := build/ov_SC06_008/undefined_syms_auto.txt -ov_SC06_008_UNDEF_FUNCS := build/ov_SC06_008/undefined_funcs_auto.txt - -# --- ov_SC06_010 (location overlay SC06/FILE_010, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_010_EXE := extracted/retail/SC06.CD.dir/FILE_010.dir/0.4.dec -ov_SC06_010_NAME := ov_SC06_010 -ov_SC06_010_OUT_DIR := build/ov_SC06_010 -ov_SC06_010_OUT := $(ov_SC06_010_OUT_DIR)/$(ov_SC06_010_NAME) -ov_SC06_010_ELF := $(ov_SC06_010_OUT).elf -ov_SC06_010_MAPFILE := $(ov_SC06_010_OUT).map -ov_SC06_010_LD_SCRIPT := $(ov_SC06_010_OUT).ld -ov_SC06_010_SPLAT_YAML := config/splat.ov_SC06_010.yaml -ov_SC06_010_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_010.o,ov_SC06_010_jr_8012ACE0.o,tail2.data.o,ov_SC06_010_jr_80135888.o,tail3.data.o,ov_SC06_010_jr_80135A4C.o,tail4.data.o,ov_SC06_010_jr_80135D20.o,tail5.data.o,ov_SC06_010_jr_801380E0.o,ov_SC06_010_o0c.o,tail6.data.o,ov_SC06_010_jr_8013F350.o,tail7.data.o,ov_SC06_010_jr_8014032C.o,tail8.data.o,ov_SC06_010_jr_80140608.o,tail9.data.o,ov_SC06_010_jr_8015444C.o,ov_SC06_010_jr_80154C24.o,ov_SC06_010_jr_801588CC.o,ov_SC06_010_jr_80159C84.o,tail10.data.o,ov_SC06_010_jr_8015A3C8.o,tail11.data.o,ov_SC06_010_jr_8015AE2C.o,tail12.data.o,ov_SC06_010_jr_8015C32C.o,tail13.data.o,ov_SC06_010_jr_8016AB6C.o,tail14.data.o,ov_SC06_010_jr_80171B4C.o,ov_SC06_010_jr_801734BC.o,tail15.data.o,ov_SC06_010_jr_801789AC.o,ov_SC06_010_jr_80178D40.o,tail16.data.o,ov_SC06_010_jr_8017A4AC.o,tail17.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_010/ov_SC06_010.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_010/ov_SC06_010_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_010/ov_SC06_010_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_010/ov_SC06_010_jr_8013F350.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_010/ov_SC06_010_jr_8014032C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_010/ov_SC06_010_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_010/ov_SC06_010_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_010/ov_SC06_010_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_010/ov_SC06_010_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_010/ov_SC06_010_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_010/ov_SC06_010_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_010/ov_SC06_010_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_010/ov_SC06_010_jr_8017A4AC.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x90 -build/src/ov_SC06_010/ov_SC06_010_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_010_CHECK_SHA := config/check.ov_SC06_010.sha -ov_SC06_010_SYMBOLS := config/symbols.ov_SC06_010.txt -ov_SC06_010_SIG := .run/sig.ov_SC06_010.jsonl -ov_SC06_010_GHIDRA_PROG := ov_SC06_010 -ov_SC06_010_VRAM_BASE := 0x80128158 -ov_SC06_010_TEXT_LO := 0x80128158 -ov_SC06_010_TEXT_HI := 0x801B2C7F -ov_SC06_010_ASM_DIR := asm/ov_SC06_010 -ov_SC06_010_SRC_DIR := src/ov_SC06_010 -ov_SC06_010_UNDEF_SYMS := build/ov_SC06_010/undefined_syms_auto.txt -ov_SC06_010_UNDEF_FUNCS := build/ov_SC06_010/undefined_funcs_auto.txt - -# --- ov_SC06_011 (location overlay SC06/FILE_011, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_011_EXE := extracted/retail/SC06.CD.dir/FILE_011.dir/0.4.dec -ov_SC06_011_NAME := ov_SC06_011 -ov_SC06_011_OUT_DIR := build/ov_SC06_011 -ov_SC06_011_OUT := $(ov_SC06_011_OUT_DIR)/$(ov_SC06_011_NAME) -ov_SC06_011_ELF := $(ov_SC06_011_OUT).elf -ov_SC06_011_MAPFILE := $(ov_SC06_011_OUT).map -ov_SC06_011_LD_SCRIPT := $(ov_SC06_011_OUT).ld -ov_SC06_011_SPLAT_YAML := config/splat.ov_SC06_011.yaml -ov_SC06_011_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_011.o,ov_SC06_011_jr_8012ACE0.o,tail2.data.o,ov_SC06_011_jr_80135888.o,tail3.data.o,ov_SC06_011_jr_80135A4C.o,tail4.data.o,ov_SC06_011_jr_80135D20.o,tail5.data.o,ov_SC06_011_jr_801380E0.o,ov_SC06_011_o0c.o,tail6.data.o,ov_SC06_011_jr_8013F350.o,tail7.data.o,ov_SC06_011_jr_8013FFD8.o,tail8.data.o,ov_SC06_011_jr_80140608.o,tail9.data.o,ov_SC06_011_jr_8015444C.o,ov_SC06_011_jr_80154C24.o,ov_SC06_011_jr_801588CC.o,ov_SC06_011_jr_80159C84.o,tail10.data.o,ov_SC06_011_jr_8015A3C8.o,tail11.data.o,ov_SC06_011_jr_8015AE2C.o,tail12.data.o,ov_SC06_011_jr_8015C32C.o,tail13.data.o,ov_SC06_011_jr_8016AB6C.o,tail14.data.o,ov_SC06_011_jr_80171B4C.o,ov_SC06_011_jr_801734BC.o,tail15.data.o,ov_SC06_011_jr_801789AC.o,ov_SC06_011_jr_80178D40.o,tail16.data.o,ov_SC06_011_jr_8017A4AC.o,tail17.data.o,ov_SC06_011_jr_8017AE2C.o,ov_SC06_011_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_011/ov_SC06_011.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_011/ov_SC06_011_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_011/ov_SC06_011_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_011/ov_SC06_011_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_011/ov_SC06_011_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_011/ov_SC06_011_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_011/ov_SC06_011_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_011/ov_SC06_011_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_011/ov_SC06_011_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_011/ov_SC06_011_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_011/ov_SC06_011_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_011/ov_SC06_011_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_011/ov_SC06_011_jr_8017BEBC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_011/ov_SC06_011_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_011_CHECK_SHA := config/check.ov_SC06_011.sha -ov_SC06_011_SYMBOLS := config/symbols.ov_SC06_011.txt -ov_SC06_011_SIG := .run/sig.ov_SC06_011.jsonl -ov_SC06_011_GHIDRA_PROG := ov_SC06_011 -ov_SC06_011_VRAM_BASE := 0x80128158 -ov_SC06_011_TEXT_LO := 0x80128158 -ov_SC06_011_TEXT_HI := 0x801ABD57 -ov_SC06_011_ASM_DIR := asm/ov_SC06_011 -ov_SC06_011_SRC_DIR := src/ov_SC06_011 -ov_SC06_011_UNDEF_SYMS := build/ov_SC06_011/undefined_syms_auto.txt -ov_SC06_011_UNDEF_FUNCS := build/ov_SC06_011/undefined_funcs_auto.txt - -# --- ov_SC06_013 (location overlay SC06/FILE_013, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_013_EXE := extracted/retail/SC06.CD.dir/FILE_013.dir/0.4.dec -ov_SC06_013_NAME := ov_SC06_013 -ov_SC06_013_OUT_DIR := build/ov_SC06_013 -ov_SC06_013_OUT := $(ov_SC06_013_OUT_DIR)/$(ov_SC06_013_NAME) -ov_SC06_013_ELF := $(ov_SC06_013_OUT).elf -ov_SC06_013_MAPFILE := $(ov_SC06_013_OUT).map -ov_SC06_013_LD_SCRIPT := $(ov_SC06_013_OUT).ld -ov_SC06_013_SPLAT_YAML := config/splat.ov_SC06_013.yaml -ov_SC06_013_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_013.o,ov_SC06_013_jr_8012ACE0.o,tail2.data.o,ov_SC06_013_jr_80135888.o,tail3.data.o,ov_SC06_013_jr_80135A4C.o,tail4.data.o,ov_SC06_013_jr_80135D20.o,tail5.data.o,ov_SC06_013_jr_801380E0.o,ov_SC06_013_o0c.o,tail6.data.o,ov_SC06_013_jr_8013F350.o,tail7.data.o,ov_SC06_013_jr_8013FFD8.o,tail8.data.o,ov_SC06_013_jr_80140608.o,tail9.data.o,ov_SC06_013_jr_8015444C.o,ov_SC06_013_jr_80154C24.o,ov_SC06_013_jr_801588CC.o,ov_SC06_013_jr_80159C84.o,tail10.data.o,ov_SC06_013_jr_8015A3C8.o,tail11.data.o,ov_SC06_013_jr_8015AE2C.o,tail12.data.o,ov_SC06_013_jr_8015C32C.o,tail13.data.o,ov_SC06_013_jr_8016AB6C.o,tail14.data.o,ov_SC06_013_jr_80171B4C.o,ov_SC06_013_jr_801734BC.o,tail15.data.o,ov_SC06_013_jr_801789AC.o,ov_SC06_013_jr_80178D40.o,tail16.data.o,ov_SC06_013_jr_8017A4AC.o,tail17.data.o,ov_SC06_013_jr_8017AE2C.o,ov_SC06_013_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_013/ov_SC06_013.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_013/ov_SC06_013_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_013/ov_SC06_013_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_013/ov_SC06_013_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_013/ov_SC06_013_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_013/ov_SC06_013_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_013/ov_SC06_013_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_013/ov_SC06_013_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_013/ov_SC06_013_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_013/ov_SC06_013_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_013/ov_SC06_013_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_013/ov_SC06_013_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_013/ov_SC06_013_jr_8017BEBC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_013/ov_SC06_013_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_013_CHECK_SHA := config/check.ov_SC06_013.sha -ov_SC06_013_SYMBOLS := config/symbols.ov_SC06_013.txt -ov_SC06_013_SIG := .run/sig.ov_SC06_013.jsonl -ov_SC06_013_GHIDRA_PROG := ov_SC06_013 -ov_SC06_013_VRAM_BASE := 0x80128158 -ov_SC06_013_TEXT_LO := 0x80128158 -ov_SC06_013_TEXT_HI := 0x8019AC07 -ov_SC06_013_ASM_DIR := asm/ov_SC06_013 -ov_SC06_013_SRC_DIR := src/ov_SC06_013 -ov_SC06_013_UNDEF_SYMS := build/ov_SC06_013/undefined_syms_auto.txt -ov_SC06_013_UNDEF_FUNCS := build/ov_SC06_013/undefined_funcs_auto.txt - -# --- ov_SC06_014 (location overlay SC06/FILE_014, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_014_EXE := extracted/retail/SC06.CD.dir/FILE_014.dir/0.4.dec -ov_SC06_014_NAME := ov_SC06_014 -ov_SC06_014_OUT_DIR := build/ov_SC06_014 -ov_SC06_014_OUT := $(ov_SC06_014_OUT_DIR)/$(ov_SC06_014_NAME) -ov_SC06_014_ELF := $(ov_SC06_014_OUT).elf -ov_SC06_014_MAPFILE := $(ov_SC06_014_OUT).map -ov_SC06_014_LD_SCRIPT := $(ov_SC06_014_OUT).ld -ov_SC06_014_SPLAT_YAML := config/splat.ov_SC06_014.yaml -ov_SC06_014_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_014.o,ov_SC06_014_jr_8012ACE0.o,tail2.data.o,ov_SC06_014_jr_80135888.o,tail3.data.o,ov_SC06_014_jr_80135A4C.o,tail4.data.o,ov_SC06_014_jr_80135D20.o,tail5.data.o,ov_SC06_014_jr_801380E0.o,ov_SC06_014_o0c.o,tail6.data.o,ov_SC06_014_jr_8013F350.o,tail7.data.o,ov_SC06_014_jr_8013FFD8.o,tail8.data.o,ov_SC06_014_jr_80140608.o,tail9.data.o,ov_SC06_014_jr_8015444C.o,ov_SC06_014_jr_80154C24.o,ov_SC06_014_jr_801588CC.o,ov_SC06_014_jr_80159C84.o,tail10.data.o,ov_SC06_014_jr_8015A3C8.o,tail11.data.o,ov_SC06_014_jr_8015AE2C.o,tail12.data.o,ov_SC06_014_jr_8015C32C.o,tail13.data.o,ov_SC06_014_jr_8016AB6C.o,tail14.data.o,ov_SC06_014_jr_80171B4C.o,ov_SC06_014_jr_801734BC.o,tail15.data.o,ov_SC06_014_jr_801789AC.o,ov_SC06_014_jr_80178D40.o,tail16.data.o,ov_SC06_014_jr_8017A4AC.o,tail17.data.o,ov_SC06_014_jr_8017AE2C.o,ov_SC06_014_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_014/ov_SC06_014.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_014/ov_SC06_014_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_014/ov_SC06_014_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_014/ov_SC06_014_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_014/ov_SC06_014_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_014/ov_SC06_014_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_014/ov_SC06_014_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_014/ov_SC06_014_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_014/ov_SC06_014_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_014/ov_SC06_014_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_014/ov_SC06_014_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_014/ov_SC06_014_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_014/ov_SC06_014_jr_8017BEBC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_014/ov_SC06_014_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_014_CHECK_SHA := config/check.ov_SC06_014.sha -ov_SC06_014_SYMBOLS := config/symbols.ov_SC06_014.txt -ov_SC06_014_SIG := .run/sig.ov_SC06_014.jsonl -ov_SC06_014_GHIDRA_PROG := ov_SC06_014 -ov_SC06_014_VRAM_BASE := 0x80128158 -ov_SC06_014_TEXT_LO := 0x80128158 -ov_SC06_014_TEXT_HI := 0x801A161F -ov_SC06_014_ASM_DIR := asm/ov_SC06_014 -ov_SC06_014_SRC_DIR := src/ov_SC06_014 -ov_SC06_014_UNDEF_SYMS := build/ov_SC06_014/undefined_syms_auto.txt -ov_SC06_014_UNDEF_FUNCS := build/ov_SC06_014/undefined_funcs_auto.txt - -# --- ov_SC06_015 (location overlay SC06/FILE_015, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_015_EXE := extracted/retail/SC06.CD.dir/FILE_015.dir/0.4.dec -ov_SC06_015_NAME := ov_SC06_015 -ov_SC06_015_OUT_DIR := build/ov_SC06_015 -ov_SC06_015_OUT := $(ov_SC06_015_OUT_DIR)/$(ov_SC06_015_NAME) -ov_SC06_015_ELF := $(ov_SC06_015_OUT).elf -ov_SC06_015_MAPFILE := $(ov_SC06_015_OUT).map -ov_SC06_015_LD_SCRIPT := $(ov_SC06_015_OUT).ld -ov_SC06_015_SPLAT_YAML := config/splat.ov_SC06_015.yaml -ov_SC06_015_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_015.o,ov_SC06_015_jr_8012ACE0.o,tail2.data.o,ov_SC06_015_jr_80135888.o,tail3.data.o,ov_SC06_015_jr_80135A4C.o,tail4.data.o,ov_SC06_015_jr_80135D20.o,tail5.data.o,ov_SC06_015_jr_801380E0.o,ov_SC06_015_o0c.o,tail6.data.o,ov_SC06_015_jr_8013F350.o,tail7.data.o,ov_SC06_015_jr_8013FFD8.o,tail8.data.o,ov_SC06_015_jr_80140608.o,tail9.data.o,ov_SC06_015_jr_8015444C.o,ov_SC06_015_jr_80154C24.o,ov_SC06_015_jr_801588CC.o,ov_SC06_015_jr_80159C84.o,tail10.data.o,ov_SC06_015_jr_8015A3C8.o,tail11.data.o,ov_SC06_015_jr_8015AE2C.o,tail12.data.o,ov_SC06_015_jr_8015C32C.o,tail13.data.o,ov_SC06_015_jr_8016AB6C.o,tail14.data.o,ov_SC06_015_jr_80171B4C.o,ov_SC06_015_jr_801734BC.o,tail15.data.o,ov_SC06_015_jr_801789AC.o,ov_SC06_015_jr_80178D40.o,tail16.data.o,ov_SC06_015_jr_8017A4AC.o,tail17.data.o,ov_SC06_015_jr_8017AE2C.o,ov_SC06_015_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_015/ov_SC06_015.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_015/ov_SC06_015_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_015/ov_SC06_015_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_015/ov_SC06_015_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_015/ov_SC06_015_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_015/ov_SC06_015_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_015/ov_SC06_015_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_015/ov_SC06_015_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_015/ov_SC06_015_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_015/ov_SC06_015_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_015/ov_SC06_015_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_015/ov_SC06_015_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_015/ov_SC06_015_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_015_CHECK_SHA := config/check.ov_SC06_015.sha -ov_SC06_015_SYMBOLS := config/symbols.ov_SC06_015.txt -ov_SC06_015_SIG := .run/sig.ov_SC06_015.jsonl -ov_SC06_015_GHIDRA_PROG := ov_SC06_015 -ov_SC06_015_VRAM_BASE := 0x80128158 -ov_SC06_015_TEXT_LO := 0x80128158 -ov_SC06_015_TEXT_HI := 0x801949FF -ov_SC06_015_ASM_DIR := asm/ov_SC06_015 -ov_SC06_015_SRC_DIR := src/ov_SC06_015 -ov_SC06_015_UNDEF_SYMS := build/ov_SC06_015/undefined_syms_auto.txt -ov_SC06_015_UNDEF_FUNCS := build/ov_SC06_015/undefined_funcs_auto.txt - -# --- ov_SC06_016 (location overlay SC06/FILE_016, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_016_EXE := extracted/retail/SC06.CD.dir/FILE_016.dir/0.4.dec -ov_SC06_016_NAME := ov_SC06_016 -ov_SC06_016_OUT_DIR := build/ov_SC06_016 -ov_SC06_016_OUT := $(ov_SC06_016_OUT_DIR)/$(ov_SC06_016_NAME) -ov_SC06_016_ELF := $(ov_SC06_016_OUT).elf -ov_SC06_016_MAPFILE := $(ov_SC06_016_OUT).map -ov_SC06_016_LD_SCRIPT := $(ov_SC06_016_OUT).ld -ov_SC06_016_SPLAT_YAML := config/splat.ov_SC06_016.yaml -ov_SC06_016_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_016.o,ov_SC06_016_jr_8012ACE0.o,tail2.data.o,ov_SC06_016_jr_80135888.o,tail3.data.o,ov_SC06_016_jr_80135A4C.o,tail4.data.o,ov_SC06_016_jr_80135D20.o,tail5.data.o,ov_SC06_016_jr_801380E0.o,ov_SC06_016_o0c.o,tail6.data.o,ov_SC06_016_jr_8013F350.o,tail7.data.o,ov_SC06_016_jr_8013FFD8.o,tail8.data.o,ov_SC06_016_jr_80140608.o,tail9.data.o,ov_SC06_016_jr_8015444C.o,ov_SC06_016_jr_80154C24.o,ov_SC06_016_jr_801588CC.o,ov_SC06_016_jr_80159C84.o,tail10.data.o,ov_SC06_016_jr_8015A3C8.o,tail11.data.o,ov_SC06_016_jr_8015AE2C.o,tail12.data.o,ov_SC06_016_jr_8015C32C.o,tail13.data.o,ov_SC06_016_jr_8016AB6C.o,tail14.data.o,ov_SC06_016_jr_80171B4C.o,ov_SC06_016_jr_801734BC.o,tail15.data.o,ov_SC06_016_jr_801789AC.o,ov_SC06_016_jr_80178D40.o,tail16.data.o,ov_SC06_016_jr_8017A4AC.o,tail17.data.o,ov_SC06_016_jr_8017AE2C.o,tail18.data.o,ov_SC06_016_jr_8017C8D0.o,tail19.data.o,ov_SC06_016_jr_801839D0.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_016/ov_SC06_016.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_016/ov_SC06_016_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_016/ov_SC06_016_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_016/ov_SC06_016_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_016/ov_SC06_016_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_016/ov_SC06_016_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_016/ov_SC06_016_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_016/ov_SC06_016_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_016/ov_SC06_016_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_016/ov_SC06_016_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_016/ov_SC06_016_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_016/ov_SC06_016_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_016/ov_SC06_016_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_016_CHECK_SHA := config/check.ov_SC06_016.sha -ov_SC06_016_SYMBOLS := config/symbols.ov_SC06_016.txt -ov_SC06_016_SIG := .run/sig.ov_SC06_016.jsonl -ov_SC06_016_GHIDRA_PROG := ov_SC06_016 -ov_SC06_016_VRAM_BASE := 0x80128158 -ov_SC06_016_TEXT_LO := 0x80128158 -ov_SC06_016_TEXT_HI := 0x801A026F -ov_SC06_016_ASM_DIR := asm/ov_SC06_016 -ov_SC06_016_SRC_DIR := src/ov_SC06_016 -ov_SC06_016_UNDEF_SYMS := build/ov_SC06_016/undefined_syms_auto.txt -ov_SC06_016_UNDEF_FUNCS := build/ov_SC06_016/undefined_funcs_auto.txt - -# --- ov_SC06_018 (location overlay SC06/FILE_018, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_018_EXE := extracted/retail/SC06.CD.dir/FILE_018.dir/0.4.dec -ov_SC06_018_NAME := ov_SC06_018 -ov_SC06_018_OUT_DIR := build/ov_SC06_018 -ov_SC06_018_OUT := $(ov_SC06_018_OUT_DIR)/$(ov_SC06_018_NAME) -ov_SC06_018_ELF := $(ov_SC06_018_OUT).elf -ov_SC06_018_MAPFILE := $(ov_SC06_018_OUT).map -ov_SC06_018_LD_SCRIPT := $(ov_SC06_018_OUT).ld -ov_SC06_018_SPLAT_YAML := config/splat.ov_SC06_018.yaml -ov_SC06_018_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_018.o,ov_SC06_018_jr_8012ACE0.o,tail2.data.o,ov_SC06_018_jr_80135888.o,tail3.data.o,ov_SC06_018_jr_80135A4C.o,tail4.data.o,ov_SC06_018_jr_80135D20.o,tail5.data.o,ov_SC06_018_jr_801380E0.o,ov_SC06_018_o0c.o,tail6.data.o,ov_SC06_018_jr_8013F350.o,tail7.data.o,ov_SC06_018_jr_8013FFD8.o,tail8.data.o,ov_SC06_018_jr_80140608.o,tail9.data.o,ov_SC06_018_jr_8015444C.o,ov_SC06_018_jr_80154C24.o,ov_SC06_018_jr_801588CC.o,ov_SC06_018_jr_80159C84.o,tail10.data.o,ov_SC06_018_jr_8015A3C8.o,tail11.data.o,ov_SC06_018_jr_8015AE2C.o,tail12.data.o,ov_SC06_018_jr_8015C32C.o,tail13.data.o,ov_SC06_018_jr_8016AB6C.o,tail14.data.o,ov_SC06_018_jr_80171B4C.o,ov_SC06_018_jr_801734BC.o,tail15.data.o,ov_SC06_018_jr_801789AC.o,ov_SC06_018_jr_80178D40.o,tail16.data.o,ov_SC06_018_jr_8017A4AC.o,tail17.data.o,ov_SC06_018_jr_8017AE2C.o,ov_SC06_018_jr_8017C24C.o,ov_SC06_018_jr_80186270.o,tail18.data.o,ov_SC06_018_jr_80187AEC.o,tail19.data.o,ov_SC06_018_jr_8018FF98.o,ov_SC06_018_jr_8019059C.o,tail20.data.o,ov_SC06_018_jr_80191C50.o,tail21.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_018/ov_SC06_018.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_018/ov_SC06_018_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_018/ov_SC06_018_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_018/ov_SC06_018_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_018/ov_SC06_018_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_018/ov_SC06_018_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_018/ov_SC06_018_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_018/ov_SC06_018_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_018/ov_SC06_018_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_018/ov_SC06_018_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_018/ov_SC06_018_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_018/ov_SC06_018_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.o: JTBL_PADS := 0,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC06_018/ov_SC06_018_jr_80186270.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_018/ov_SC06_018_jr_8019059C.o: JTBL_PADS := 0,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x40 -build/src/ov_SC06_018/ov_SC06_018_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_018_CHECK_SHA := config/check.ov_SC06_018.sha -ov_SC06_018_SYMBOLS := config/symbols.ov_SC06_018.txt -ov_SC06_018_SIG := .run/sig.ov_SC06_018.jsonl -ov_SC06_018_GHIDRA_PROG := ov_SC06_018 -ov_SC06_018_VRAM_BASE := 0x80128158 -ov_SC06_018_TEXT_LO := 0x80128158 -ov_SC06_018_TEXT_HI := 0x801D5B9F -ov_SC06_018_ASM_DIR := asm/ov_SC06_018 -ov_SC06_018_SRC_DIR := src/ov_SC06_018 -ov_SC06_018_UNDEF_SYMS := build/ov_SC06_018/undefined_syms_auto.txt -ov_SC06_018_UNDEF_FUNCS := build/ov_SC06_018/undefined_funcs_auto.txt - -# --- ov_SC06_020 (location overlay SC06/FILE_020, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_020_EXE := extracted/retail/SC06.CD.dir/FILE_020.dir/0.4.dec -ov_SC06_020_NAME := ov_SC06_020 -ov_SC06_020_OUT_DIR := build/ov_SC06_020 -ov_SC06_020_OUT := $(ov_SC06_020_OUT_DIR)/$(ov_SC06_020_NAME) -ov_SC06_020_ELF := $(ov_SC06_020_OUT).elf -ov_SC06_020_MAPFILE := $(ov_SC06_020_OUT).map -ov_SC06_020_LD_SCRIPT := $(ov_SC06_020_OUT).ld -ov_SC06_020_SPLAT_YAML := config/splat.ov_SC06_020.yaml -ov_SC06_020_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_020.o,ov_SC06_020_jr_8012ACE0.o,tail2.data.o,ov_SC06_020_jr_80135888.o,tail3.data.o,ov_SC06_020_jr_80135A4C.o,tail4.data.o,ov_SC06_020_jr_80135D20.o,tail5.data.o,ov_SC06_020_jr_801380E0.o,ov_SC06_020_o0c.o,tail6.data.o,ov_SC06_020_jr_8013F350.o,tail7.data.o,ov_SC06_020_jr_8013FFD8.o,tail8.data.o,ov_SC06_020_jr_80140608.o,tail9.data.o,ov_SC06_020_jr_8015444C.o,ov_SC06_020_jr_80154C24.o,ov_SC06_020_jr_801588CC.o,ov_SC06_020_jr_80159C84.o,tail10.data.o,ov_SC06_020_jr_8015A3C8.o,tail11.data.o,ov_SC06_020_jr_8015AE2C.o,tail12.data.o,ov_SC06_020_jr_8015C32C.o,tail13.data.o,ov_SC06_020_jr_8016AB6C.o,tail14.data.o,ov_SC06_020_jr_80171B4C.o,ov_SC06_020_jr_801734BC.o,tail15.data.o,ov_SC06_020_jr_801789AC.o,ov_SC06_020_jr_80178D40.o,tail16.data.o,ov_SC06_020_jr_8017A4AC.o,tail17.data.o,ov_SC06_020_jr_8017AE2C.o,ov_SC06_020_jr_8017C24C.o,ov_SC06_020_jr_801803E0.o,ov_SC06_020_jr_80180B04.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_020/ov_SC06_020.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_020/ov_SC06_020_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_020/ov_SC06_020_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_020/ov_SC06_020_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_020/ov_SC06_020_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_020/ov_SC06_020_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_020/ov_SC06_020_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_020/ov_SC06_020_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_020/ov_SC06_020_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_020/ov_SC06_020_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_020/ov_SC06_020_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_020/ov_SC06_020_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_020/ov_SC06_020_jr_8017C24C.o: JTBL_PADS := 0,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC06_020/ov_SC06_020_jr_80180B04.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_020/ov_SC06_020_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_020_CHECK_SHA := config/check.ov_SC06_020.sha -ov_SC06_020_SYMBOLS := config/symbols.ov_SC06_020.txt -ov_SC06_020_SIG := .run/sig.ov_SC06_020.jsonl -ov_SC06_020_GHIDRA_PROG := ov_SC06_020 -ov_SC06_020_VRAM_BASE := 0x80128158 -ov_SC06_020_TEXT_LO := 0x80128158 -ov_SC06_020_TEXT_HI := 0x801BA9EF -ov_SC06_020_ASM_DIR := asm/ov_SC06_020 -ov_SC06_020_SRC_DIR := src/ov_SC06_020 -ov_SC06_020_UNDEF_SYMS := build/ov_SC06_020/undefined_syms_auto.txt -ov_SC06_020_UNDEF_FUNCS := build/ov_SC06_020/undefined_funcs_auto.txt - -# --- ov_SC06_022 (location overlay SC06/FILE_022, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_022_EXE := extracted/retail/SC06.CD.dir/FILE_022.dir/0.4.dec -ov_SC06_022_NAME := ov_SC06_022 -ov_SC06_022_OUT_DIR := build/ov_SC06_022 -ov_SC06_022_OUT := $(ov_SC06_022_OUT_DIR)/$(ov_SC06_022_NAME) -ov_SC06_022_ELF := $(ov_SC06_022_OUT).elf -ov_SC06_022_MAPFILE := $(ov_SC06_022_OUT).map -ov_SC06_022_LD_SCRIPT := $(ov_SC06_022_OUT).ld -ov_SC06_022_SPLAT_YAML := config/splat.ov_SC06_022.yaml -ov_SC06_022_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_022.o,ov_SC06_022_jr_8012ACE0.o,tail2.data.o,ov_SC06_022_jr_80135888.o,tail3.data.o,ov_SC06_022_jr_80135A4C.o,tail4.data.o,ov_SC06_022_jr_80135D20.o,tail5.data.o,ov_SC06_022_jr_801380E0.o,ov_SC06_022_o0c.o,tail6.data.o,ov_SC06_022_jr_8013F350.o,tail7.data.o,ov_SC06_022_jr_8013FFD8.o,tail8.data.o,ov_SC06_022_jr_80140608.o,tail9.data.o,ov_SC06_022_jr_8015444C.o,ov_SC06_022_jr_80154C24.o,ov_SC06_022_jr_801588CC.o,ov_SC06_022_jr_80159C84.o,tail10.data.o,ov_SC06_022_jr_8015A3C8.o,tail11.data.o,ov_SC06_022_jr_8015AE2C.o,tail12.data.o,ov_SC06_022_jr_8015C32C.o,tail13.data.o,ov_SC06_022_jr_8016AB6C.o,tail14.data.o,ov_SC06_022_jr_80171B4C.o,ov_SC06_022_jr_801734BC.o,tail15.data.o,ov_SC06_022_jr_801789AC.o,ov_SC06_022_jr_80178D40.o,tail16.data.o,ov_SC06_022_jr_8017A4AC.o,tail17.data.o,ov_SC06_022_jr_8017AE2C.o,ov_SC06_022_jr_8017BEBC.o,tail18.data.o,ov_SC06_022_jr_80180CD0.o,tail19.data.o,ov_SC06_022_jr_80182D08.o,ov_SC06_022_jr_80184304.o,ov_SC06_022_jr_80184A28.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_022/ov_SC06_022.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_022/ov_SC06_022_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_022/ov_SC06_022_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_022/ov_SC06_022_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_022/ov_SC06_022_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_022/ov_SC06_022_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_022/ov_SC06_022_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_022/ov_SC06_022_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_022/ov_SC06_022_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_022/ov_SC06_022_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_022/ov_SC06_022_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_022/ov_SC06_022_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_022/ov_SC06_022_jr_80180CD0.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_022/ov_SC06_022_jr_80182D08.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_022/ov_SC06_022_jr_80184A28.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_022/ov_SC06_022_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_022_CHECK_SHA := config/check.ov_SC06_022.sha -ov_SC06_022_SYMBOLS := config/symbols.ov_SC06_022.txt -ov_SC06_022_SIG := .run/sig.ov_SC06_022.jsonl -ov_SC06_022_GHIDRA_PROG := ov_SC06_022 -ov_SC06_022_VRAM_BASE := 0x80128158 -ov_SC06_022_TEXT_LO := 0x80128158 -ov_SC06_022_TEXT_HI := 0x801E226F -ov_SC06_022_ASM_DIR := asm/ov_SC06_022 -ov_SC06_022_SRC_DIR := src/ov_SC06_022 -ov_SC06_022_UNDEF_SYMS := build/ov_SC06_022/undefined_syms_auto.txt -ov_SC06_022_UNDEF_FUNCS := build/ov_SC06_022/undefined_funcs_auto.txt - -# --- ov_SC06_024 (location overlay SC06/FILE_024, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_024_EXE := extracted/retail/SC06.CD.dir/FILE_024.dir/0.4.dec -ov_SC06_024_NAME := ov_SC06_024 -ov_SC06_024_OUT_DIR := build/ov_SC06_024 -ov_SC06_024_OUT := $(ov_SC06_024_OUT_DIR)/$(ov_SC06_024_NAME) -ov_SC06_024_ELF := $(ov_SC06_024_OUT).elf -ov_SC06_024_MAPFILE := $(ov_SC06_024_OUT).map -ov_SC06_024_LD_SCRIPT := $(ov_SC06_024_OUT).ld -ov_SC06_024_SPLAT_YAML := config/splat.ov_SC06_024.yaml -ov_SC06_024_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_024.o,ov_SC06_024_jr_8012ACE0.o,tail2.data.o,ov_SC06_024_jr_80135888.o,tail3.data.o,ov_SC06_024_jr_80135A4C.o,tail4.data.o,ov_SC06_024_jr_80135D20.o,tail5.data.o,ov_SC06_024_jr_801380E0.o,ov_SC06_024_o0c.o,tail6.data.o,ov_SC06_024_jr_8013F350.o,tail7.data.o,ov_SC06_024_jr_8013FFD8.o,tail8.data.o,ov_SC06_024_jr_80140608.o,tail9.data.o,ov_SC06_024_jr_8015444C.o,ov_SC06_024_jr_80154C24.o,ov_SC06_024_jr_801588CC.o,ov_SC06_024_jr_80159C84.o,tail10.data.o,ov_SC06_024_jr_8015A3C8.o,tail11.data.o,ov_SC06_024_jr_8015AE2C.o,tail12.data.o,ov_SC06_024_jr_8015C32C.o,tail13.data.o,ov_SC06_024_jr_8016AB6C.o,tail14.data.o,ov_SC06_024_jr_80171B4C.o,ov_SC06_024_jr_801734BC.o,tail15.data.o,ov_SC06_024_jr_801789AC.o,ov_SC06_024_jr_80178D40.o,tail16.data.o,ov_SC06_024_jr_8017A4AC.o,tail17.data.o,ov_SC06_024_jr_8017AE2C.o,ov_SC06_024_jr_8017BEBC.o,tail18.data.o,ov_SC06_024_jr_801851E0.o,ov_SC06_024_jr_801867DC.o,ov_SC06_024_jr_80186F00.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_024/ov_SC06_024.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_024/ov_SC06_024_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_024/ov_SC06_024_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_024/ov_SC06_024_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_024/ov_SC06_024_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_024/ov_SC06_024_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_024/ov_SC06_024_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_024/ov_SC06_024_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_024/ov_SC06_024_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_024/ov_SC06_024_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_024/ov_SC06_024_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_024/ov_SC06_024_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_024/ov_SC06_024_jr_8017BEBC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_024/ov_SC06_024_jr_801851E0.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_024/ov_SC06_024_jr_80186F00.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_024/ov_SC06_024_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_024_CHECK_SHA := config/check.ov_SC06_024.sha -ov_SC06_024_SYMBOLS := config/symbols.ov_SC06_024.txt -ov_SC06_024_SIG := .run/sig.ov_SC06_024.jsonl -ov_SC06_024_GHIDRA_PROG := ov_SC06_024 -ov_SC06_024_VRAM_BASE := 0x80128158 -ov_SC06_024_TEXT_LO := 0x80128158 -ov_SC06_024_TEXT_HI := 0x801E1967 -ov_SC06_024_ASM_DIR := asm/ov_SC06_024 -ov_SC06_024_SRC_DIR := src/ov_SC06_024 -ov_SC06_024_UNDEF_SYMS := build/ov_SC06_024/undefined_syms_auto.txt -ov_SC06_024_UNDEF_FUNCS := build/ov_SC06_024/undefined_funcs_auto.txt - -# --- ov_SC06_025 (location overlay SC06/FILE_025, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_025_EXE := extracted/retail/SC06.CD.dir/FILE_025.dir/0.4.dec -ov_SC06_025_NAME := ov_SC06_025 -ov_SC06_025_OUT_DIR := build/ov_SC06_025 -ov_SC06_025_OUT := $(ov_SC06_025_OUT_DIR)/$(ov_SC06_025_NAME) -ov_SC06_025_ELF := $(ov_SC06_025_OUT).elf -ov_SC06_025_MAPFILE := $(ov_SC06_025_OUT).map -ov_SC06_025_LD_SCRIPT := $(ov_SC06_025_OUT).ld -ov_SC06_025_SPLAT_YAML := config/splat.ov_SC06_025.yaml -ov_SC06_025_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_025.o,ov_SC06_025_jr_8012ACE0.o,tail2.data.o,ov_SC06_025_jr_80135888.o,tail3.data.o,ov_SC06_025_jr_80135A4C.o,tail4.data.o,ov_SC06_025_jr_80135D20.o,tail5.data.o,ov_SC06_025_jr_801380E0.o,ov_SC06_025_o0c.o,tail6.data.o,ov_SC06_025_jr_8013F350.o,tail7.data.o,ov_SC06_025_jr_8013FFD8.o,tail8.data.o,ov_SC06_025_jr_80140608.o,tail9.data.o,ov_SC06_025_jr_8015444C.o,ov_SC06_025_jr_80154C24.o,ov_SC06_025_jr_801588CC.o,ov_SC06_025_jr_80159C84.o,tail10.data.o,ov_SC06_025_jr_8015A3C8.o,tail11.data.o,ov_SC06_025_jr_8015AE2C.o,tail12.data.o,ov_SC06_025_jr_8015C32C.o,tail13.data.o,ov_SC06_025_jr_8016AB6C.o,tail14.data.o,ov_SC06_025_jr_80171B4C.o,ov_SC06_025_jr_801734BC.o,tail15.data.o,ov_SC06_025_jr_801789AC.o,ov_SC06_025_jr_80178D40.o,tail16.data.o,ov_SC06_025_jr_8017A4AC.o,tail17.data.o,ov_SC06_025_jr_8017AE2C.o,ov_SC06_025_jr_8017BEBC.o,tail18.data.o,ov_SC06_025_jr_8017EEC4.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_025/ov_SC06_025.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_025/ov_SC06_025_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_025/ov_SC06_025_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_025/ov_SC06_025_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_025/ov_SC06_025_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_025/ov_SC06_025_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_025/ov_SC06_025_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_025/ov_SC06_025_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_025/ov_SC06_025_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_025/ov_SC06_025_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_025/ov_SC06_025_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_025/ov_SC06_025_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_025/ov_SC06_025_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_025_CHECK_SHA := config/check.ov_SC06_025.sha -ov_SC06_025_SYMBOLS := config/symbols.ov_SC06_025.txt -ov_SC06_025_SIG := .run/sig.ov_SC06_025.jsonl -ov_SC06_025_GHIDRA_PROG := ov_SC06_025 -ov_SC06_025_VRAM_BASE := 0x80128158 -ov_SC06_025_TEXT_LO := 0x80128158 -ov_SC06_025_TEXT_HI := 0x801B2287 -ov_SC06_025_ASM_DIR := asm/ov_SC06_025 -ov_SC06_025_SRC_DIR := src/ov_SC06_025 -ov_SC06_025_UNDEF_SYMS := build/ov_SC06_025/undefined_syms_auto.txt -ov_SC06_025_UNDEF_FUNCS := build/ov_SC06_025/undefined_funcs_auto.txt - -# --- ov_SC06_027 (location overlay SC06/FILE_027, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_027_EXE := extracted/retail/SC06.CD.dir/FILE_027.dir/0.4.dec -ov_SC06_027_NAME := ov_SC06_027 -ov_SC06_027_OUT_DIR := build/ov_SC06_027 -ov_SC06_027_OUT := $(ov_SC06_027_OUT_DIR)/$(ov_SC06_027_NAME) -ov_SC06_027_ELF := $(ov_SC06_027_OUT).elf -ov_SC06_027_MAPFILE := $(ov_SC06_027_OUT).map -ov_SC06_027_LD_SCRIPT := $(ov_SC06_027_OUT).ld -ov_SC06_027_SPLAT_YAML := config/splat.ov_SC06_027.yaml -ov_SC06_027_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_027.o,ov_SC06_027_jr_8012ACE0.o,tail2.data.o,ov_SC06_027_jr_80135888.o,tail3.data.o,ov_SC06_027_jr_80135A4C.o,tail4.data.o,ov_SC06_027_jr_80135D20.o,tail5.data.o,ov_SC06_027_jr_801380E0.o,ov_SC06_027_o0c.o,tail6.data.o,ov_SC06_027_jr_8013F350.o,tail7.data.o,ov_SC06_027_jr_8013FFD8.o,tail8.data.o,ov_SC06_027_jr_80140608.o,tail9.data.o,ov_SC06_027_jr_8015444C.o,ov_SC06_027_jr_80154C24.o,ov_SC06_027_jr_801588CC.o,ov_SC06_027_jr_80159C84.o,tail10.data.o,ov_SC06_027_jr_8015A3C8.o,tail11.data.o,ov_SC06_027_jr_8015AE2C.o,tail12.data.o,ov_SC06_027_jr_8015C32C.o,tail13.data.o,ov_SC06_027_jr_8016AB6C.o,tail14.data.o,ov_SC06_027_jr_80171B4C.o,ov_SC06_027_jr_801734BC.o,tail15.data.o,ov_SC06_027_jr_801789AC.o,ov_SC06_027_jr_80178D40.o,tail16.data.o,ov_SC06_027_jr_8017A4AC.o,tail17.data.o,ov_SC06_027_jr_8017AE2C.o,ov_SC06_027_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_027/ov_SC06_027.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_027/ov_SC06_027_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_027/ov_SC06_027_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_027/ov_SC06_027_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_027/ov_SC06_027_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_027/ov_SC06_027_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_027/ov_SC06_027_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_027/ov_SC06_027_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_027/ov_SC06_027_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_027/ov_SC06_027_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_027/ov_SC06_027_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_027/ov_SC06_027_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_027/ov_SC06_027_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_027_CHECK_SHA := config/check.ov_SC06_027.sha -ov_SC06_027_SYMBOLS := config/symbols.ov_SC06_027.txt -ov_SC06_027_SIG := .run/sig.ov_SC06_027.jsonl -ov_SC06_027_GHIDRA_PROG := ov_SC06_027 -ov_SC06_027_VRAM_BASE := 0x80128158 -ov_SC06_027_TEXT_LO := 0x80128158 -ov_SC06_027_TEXT_HI := 0x8019D42F -ov_SC06_027_ASM_DIR := asm/ov_SC06_027 -ov_SC06_027_SRC_DIR := src/ov_SC06_027 -ov_SC06_027_UNDEF_SYMS := build/ov_SC06_027/undefined_syms_auto.txt -ov_SC06_027_UNDEF_FUNCS := build/ov_SC06_027/undefined_funcs_auto.txt - -# --- ov_SC06_029 (location overlay SC06/FILE_029, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_029_EXE := extracted/retail/SC06.CD.dir/FILE_029.dir/0.4.dec -ov_SC06_029_NAME := ov_SC06_029 -ov_SC06_029_OUT_DIR := build/ov_SC06_029 -ov_SC06_029_OUT := $(ov_SC06_029_OUT_DIR)/$(ov_SC06_029_NAME) -ov_SC06_029_ELF := $(ov_SC06_029_OUT).elf -ov_SC06_029_MAPFILE := $(ov_SC06_029_OUT).map -ov_SC06_029_LD_SCRIPT := $(ov_SC06_029_OUT).ld -ov_SC06_029_SPLAT_YAML := config/splat.ov_SC06_029.yaml -ov_SC06_029_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_029.o,ov_SC06_029_jr_8012ACE0.o,tail2.data.o,ov_SC06_029_jr_80135888.o,tail3.data.o,ov_SC06_029_jr_80135A4C.o,tail4.data.o,ov_SC06_029_jr_80135D20.o,tail5.data.o,ov_SC06_029_jr_801380E0.o,ov_SC06_029_o0c.o,tail6.data.o,ov_SC06_029_jr_8013F350.o,tail7.data.o,ov_SC06_029_jr_8013FFD8.o,tail8.data.o,ov_SC06_029_jr_80140608.o,tail9.data.o,ov_SC06_029_jr_8015444C.o,ov_SC06_029_jr_80154C24.o,ov_SC06_029_jr_801588CC.o,ov_SC06_029_jr_80159C84.o,tail10.data.o,ov_SC06_029_jr_8015A3C8.o,tail11.data.o,ov_SC06_029_jr_8015AE2C.o,tail12.data.o,ov_SC06_029_jr_8015C32C.o,tail13.data.o,ov_SC06_029_jr_8016AB6C.o,tail14.data.o,ov_SC06_029_jr_80171B4C.o,ov_SC06_029_jr_801734BC.o,tail15.data.o,ov_SC06_029_jr_801789AC.o,ov_SC06_029_jr_80178D40.o,tail16.data.o,ov_SC06_029_jr_8017A4AC.o,tail17.data.o,ov_SC06_029_jr_8017AE2C.o,tail18.data.o,ov_SC06_029_jr_8017C954.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_029/ov_SC06_029.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_029/ov_SC06_029_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_029/ov_SC06_029_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_029/ov_SC06_029_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_029/ov_SC06_029_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_029/ov_SC06_029_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_029/ov_SC06_029_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_029/ov_SC06_029_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_029/ov_SC06_029_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_029/ov_SC06_029_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_029/ov_SC06_029_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_029/ov_SC06_029_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_029/ov_SC06_029_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_029_CHECK_SHA := config/check.ov_SC06_029.sha -ov_SC06_029_SYMBOLS := config/symbols.ov_SC06_029.txt -ov_SC06_029_SIG := .run/sig.ov_SC06_029.jsonl -ov_SC06_029_GHIDRA_PROG := ov_SC06_029 -ov_SC06_029_VRAM_BASE := 0x80128158 -ov_SC06_029_TEXT_LO := 0x80128158 -ov_SC06_029_TEXT_HI := 0x801E218F -ov_SC06_029_ASM_DIR := asm/ov_SC06_029 -ov_SC06_029_SRC_DIR := src/ov_SC06_029 -ov_SC06_029_UNDEF_SYMS := build/ov_SC06_029/undefined_syms_auto.txt -ov_SC06_029_UNDEF_FUNCS := build/ov_SC06_029/undefined_funcs_auto.txt - -# --- ov_SC06_030 (location overlay SC06/FILE_030, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_030_EXE := extracted/retail/SC06.CD.dir/FILE_030.dir/0.4.dec -ov_SC06_030_NAME := ov_SC06_030 -ov_SC06_030_OUT_DIR := build/ov_SC06_030 -ov_SC06_030_OUT := $(ov_SC06_030_OUT_DIR)/$(ov_SC06_030_NAME) -ov_SC06_030_ELF := $(ov_SC06_030_OUT).elf -ov_SC06_030_MAPFILE := $(ov_SC06_030_OUT).map -ov_SC06_030_LD_SCRIPT := $(ov_SC06_030_OUT).ld -ov_SC06_030_SPLAT_YAML := config/splat.ov_SC06_030.yaml -ov_SC06_030_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_030.o,ov_SC06_030_jr_8012ACE0.o,tail2.data.o,ov_SC06_030_jr_80135888.o,tail3.data.o,ov_SC06_030_jr_80135A4C.o,tail4.data.o,ov_SC06_030_jr_80135D20.o,tail5.data.o,ov_SC06_030_jr_801380E0.o,ov_SC06_030_o0c.o,tail6.data.o,ov_SC06_030_jr_8013F350.o,tail7.data.o,ov_SC06_030_jr_8013FFD8.o,tail8.data.o,ov_SC06_030_jr_80140608.o,tail9.data.o,ov_SC06_030_jr_8015444C.o,ov_SC06_030_jr_80154C24.o,ov_SC06_030_jr_801588CC.o,ov_SC06_030_jr_80159C84.o,tail10.data.o,ov_SC06_030_jr_8015A3C8.o,tail11.data.o,ov_SC06_030_jr_8015AE2C.o,tail12.data.o,ov_SC06_030_jr_8015C32C.o,tail13.data.o,ov_SC06_030_jr_8016AB6C.o,tail14.data.o,ov_SC06_030_jr_80171B4C.o,ov_SC06_030_jr_801734BC.o,tail15.data.o,ov_SC06_030_jr_801789AC.o,ov_SC06_030_jr_80178D40.o,tail16.data.o,ov_SC06_030_jr_8017A4AC.o,tail17.data.o,ov_SC06_030_jr_8017AE2C.o,tail18.data.o,ov_SC06_030_jr_8017C8D0.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_030/ov_SC06_030.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_030/ov_SC06_030_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_030/ov_SC06_030_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_030/ov_SC06_030_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_030/ov_SC06_030_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_030/ov_SC06_030_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_030/ov_SC06_030_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_030/ov_SC06_030_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_030/ov_SC06_030_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_030/ov_SC06_030_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_030/ov_SC06_030_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_030/ov_SC06_030_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_030/ov_SC06_030_jr_8017C8D0.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_030/ov_SC06_030_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_030_CHECK_SHA := config/check.ov_SC06_030.sha -ov_SC06_030_SYMBOLS := config/symbols.ov_SC06_030.txt -ov_SC06_030_SIG := .run/sig.ov_SC06_030.jsonl -ov_SC06_030_GHIDRA_PROG := ov_SC06_030 -ov_SC06_030_VRAM_BASE := 0x80128158 -ov_SC06_030_TEXT_LO := 0x80128158 -ov_SC06_030_TEXT_HI := 0x801BA087 -ov_SC06_030_ASM_DIR := asm/ov_SC06_030 -ov_SC06_030_SRC_DIR := src/ov_SC06_030 -ov_SC06_030_UNDEF_SYMS := build/ov_SC06_030/undefined_syms_auto.txt -ov_SC06_030_UNDEF_FUNCS := build/ov_SC06_030/undefined_funcs_auto.txt - -# --- ov_SC06_032 (location overlay SC06/FILE_032, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_032_EXE := extracted/retail/SC06.CD.dir/FILE_032.dir/0.4.dec -ov_SC06_032_NAME := ov_SC06_032 -ov_SC06_032_OUT_DIR := build/ov_SC06_032 -ov_SC06_032_OUT := $(ov_SC06_032_OUT_DIR)/$(ov_SC06_032_NAME) -ov_SC06_032_ELF := $(ov_SC06_032_OUT).elf -ov_SC06_032_MAPFILE := $(ov_SC06_032_OUT).map -ov_SC06_032_LD_SCRIPT := $(ov_SC06_032_OUT).ld -ov_SC06_032_SPLAT_YAML := config/splat.ov_SC06_032.yaml -ov_SC06_032_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_032.o,ov_SC06_032_jr_8012ACE0.o,tail2.data.o,ov_SC06_032_jr_80135888.o,tail3.data.o,ov_SC06_032_jr_80135A4C.o,tail4.data.o,ov_SC06_032_jr_80135D20.o,tail5.data.o,ov_SC06_032_jr_801380E0.o,ov_SC06_032_o0c.o,tail6.data.o,ov_SC06_032_jr_8013F350.o,tail7.data.o,ov_SC06_032_jr_8013FFD8.o,tail8.data.o,ov_SC06_032_jr_80140608.o,tail9.data.o,ov_SC06_032_jr_8015444C.o,ov_SC06_032_jr_80154C24.o,ov_SC06_032_jr_801588CC.o,ov_SC06_032_jr_80159C84.o,tail10.data.o,ov_SC06_032_jr_8015A3C8.o,tail11.data.o,ov_SC06_032_jr_8015AE2C.o,tail12.data.o,ov_SC06_032_jr_8015C32C.o,tail13.data.o,ov_SC06_032_jr_8016AB6C.o,tail14.data.o,ov_SC06_032_jr_80171B4C.o,ov_SC06_032_jr_801734BC.o,tail15.data.o,ov_SC06_032_jr_801789AC.o,ov_SC06_032_jr_80178D40.o,tail16.data.o,ov_SC06_032_jr_8017A4AC.o,tail17.data.o,ov_SC06_032_jr_8017AE2C.o,ov_SC06_032_jr_8017C24C.o,ov_SC06_032_jr_80181014.o,tail18.data.o,ov_SC06_032_jr_80182890.o,tail19.data.o,ov_SC06_032_jr_8018FCE8.o,ov_SC06_032_jr_801902EC.o,tail20.data.o,ov_SC06_032_jr_801919A0.o,tail21.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_032/ov_SC06_032.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_032/ov_SC06_032_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_032/ov_SC06_032_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_032/ov_SC06_032_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_032/ov_SC06_032_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_032/ov_SC06_032_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_032/ov_SC06_032_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_032/ov_SC06_032_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_032/ov_SC06_032_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_032/ov_SC06_032_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_032/ov_SC06_032_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_032/ov_SC06_032_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_032/ov_SC06_032_jr_8017C24C.o: JTBL_PADS := 0,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38 -build/src/ov_SC06_032/ov_SC06_032_jr_80181014.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_032/ov_SC06_032_jr_801902EC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28 -build/src/ov_SC06_032/ov_SC06_032_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_032_CHECK_SHA := config/check.ov_SC06_032.sha -ov_SC06_032_SYMBOLS := config/symbols.ov_SC06_032.txt -ov_SC06_032_SIG := .run/sig.ov_SC06_032.jsonl -ov_SC06_032_GHIDRA_PROG := ov_SC06_032 -ov_SC06_032_VRAM_BASE := 0x80128158 -ov_SC06_032_TEXT_LO := 0x80128158 -ov_SC06_032_TEXT_HI := 0x801D116F -ov_SC06_032_ASM_DIR := asm/ov_SC06_032 -ov_SC06_032_SRC_DIR := src/ov_SC06_032 -ov_SC06_032_UNDEF_SYMS := build/ov_SC06_032/undefined_syms_auto.txt -ov_SC06_032_UNDEF_FUNCS := build/ov_SC06_032/undefined_funcs_auto.txt - -# --- ov_SC06_033 (location overlay SC06/FILE_033, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC06_033_EXE := extracted/retail/SC06.CD.dir/FILE_033.dir/0.4.dec -ov_SC06_033_NAME := ov_SC06_033 -ov_SC06_033_OUT_DIR := build/ov_SC06_033 -ov_SC06_033_OUT := $(ov_SC06_033_OUT_DIR)/$(ov_SC06_033_NAME) -ov_SC06_033_ELF := $(ov_SC06_033_OUT).elf -ov_SC06_033_MAPFILE := $(ov_SC06_033_OUT).map -ov_SC06_033_LD_SCRIPT := $(ov_SC06_033_OUT).ld -ov_SC06_033_SPLAT_YAML := config/splat.ov_SC06_033.yaml -ov_SC06_033_JTBL_INTERLEAVE := --order tail.data.o,ov_SC06_033.o,ov_SC06_033_jr_8012ACE0.o,tail2.data.o,ov_SC06_033_jr_80135888.o,tail3.data.o,ov_SC06_033_jr_80135A4C.o,tail4.data.o,ov_SC06_033_jr_80135D20.o,tail5.data.o,ov_SC06_033_jr_801380E0.o,ov_SC06_033_o0c.o,tail6.data.o,ov_SC06_033_jr_8013F350.o,tail7.data.o,ov_SC06_033_jr_8013FFD8.o,tail8.data.o,ov_SC06_033_jr_80140608.o,tail9.data.o,ov_SC06_033_jr_8015444C.o,ov_SC06_033_jr_80154C24.o,ov_SC06_033_jr_801588CC.o,ov_SC06_033_jr_80159C84.o,tail10.data.o,ov_SC06_033_jr_8015A3C8.o,tail11.data.o,ov_SC06_033_jr_8015AE2C.o,tail12.data.o,ov_SC06_033_jr_8015C32C.o,tail13.data.o,ov_SC06_033_jr_8016AB6C.o,tail14.data.o,ov_SC06_033_jr_80171B4C.o,ov_SC06_033_jr_801734BC.o,tail15.data.o,ov_SC06_033_jr_801789AC.o,ov_SC06_033_jr_80178D40.o,tail16.data.o,ov_SC06_033_jr_8017A4AC.o,tail17.data.o,ov_SC06_033_jr_8017AE2C.o,ov_SC06_033_jr_8017C24C.o,tail18.data.o,ov_SC06_033_jr_801836FC.o,ov_SC06_033_jr_80184CF8.o,tail19.data.o,ov_SC06_033_jr_80186574.o,tail20.data.o,ov_SC06_033_jr_8018BCD4.o,ov_SC06_033_jr_8018C2D8.o,tail21.data.o,ov_SC06_033_jr_8018D98C.o,tail22.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC06_033/ov_SC06_033.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC06_033/ov_SC06_033_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC06_033/ov_SC06_033_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_033/ov_SC06_033_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_033/ov_SC06_033_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC06_033/ov_SC06_033_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC06_033/ov_SC06_033_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC06_033/ov_SC06_033_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC06_033/ov_SC06_033_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_033/ov_SC06_033_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_033/ov_SC06_033_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC06_033/ov_SC06_033_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC06_033/ov_SC06_033_jr_801836FC.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_033/ov_SC06_033_jr_80184CF8.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC06_033/ov_SC06_033_jr_8018C2D8.o: JTBL_PADS := 0,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x40 -build/src/ov_SC06_033/ov_SC06_033_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC06_033_CHECK_SHA := config/check.ov_SC06_033.sha -ov_SC06_033_SYMBOLS := config/symbols.ov_SC06_033.txt -ov_SC06_033_SIG := .run/sig.ov_SC06_033.jsonl -ov_SC06_033_GHIDRA_PROG := ov_SC06_033 -ov_SC06_033_VRAM_BASE := 0x80128158 -ov_SC06_033_TEXT_LO := 0x80128158 -ov_SC06_033_TEXT_HI := 0x801D0FEF -ov_SC06_033_ASM_DIR := asm/ov_SC06_033 -ov_SC06_033_SRC_DIR := src/ov_SC06_033 -ov_SC06_033_UNDEF_SYMS := build/ov_SC06_033/undefined_syms_auto.txt -ov_SC06_033_UNDEF_FUNCS := build/ov_SC06_033/undefined_funcs_auto.txt - -# --- ov_SC07_001 (location overlay SC07/FILE_001, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC07_001_EXE := extracted/retail/SC07.CD.dir/FILE_001.dir/0.4.dec -ov_SC07_001_NAME := ov_SC07_001 -ov_SC07_001_OUT_DIR := build/ov_SC07_001 -ov_SC07_001_OUT := $(ov_SC07_001_OUT_DIR)/$(ov_SC07_001_NAME) -ov_SC07_001_ELF := $(ov_SC07_001_OUT).elf -ov_SC07_001_MAPFILE := $(ov_SC07_001_OUT).map -ov_SC07_001_LD_SCRIPT := $(ov_SC07_001_OUT).ld -ov_SC07_001_SPLAT_YAML := config/splat.ov_SC07_001.yaml -ov_SC07_001_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_001.o,ov_SC07_001_jr_8012ACE0.o,tail2.data.o,ov_SC07_001_jr_80135888.o,tail3.data.o,ov_SC07_001_jr_80135A4C.o,tail4.data.o,ov_SC07_001_jr_80135D20.o,tail5.data.o,ov_SC07_001_jr_801380E0.o,ov_SC07_001_o0c.o,tail6.data.o,ov_SC07_001_jr_8013F350.o,tail7.data.o,ov_SC07_001_jr_8013FFD8.o,tail8.data.o,ov_SC07_001_jr_80140608.o,tail9.data.o,ov_SC07_001_jr_8015444C.o,ov_SC07_001_jr_80154C24.o,ov_SC07_001_jr_801588CC.o,ov_SC07_001_jr_80159C84.o,tail10.data.o,ov_SC07_001_jr_8015A3C8.o,tail11.data.o,ov_SC07_001_jr_8015AE2C.o,tail12.data.o,ov_SC07_001_jr_8015C32C.o,tail13.data.o,ov_SC07_001_jr_8016AB6C.o,tail14.data.o,ov_SC07_001_jr_80171B4C.o,ov_SC07_001_jr_801734BC.o,tail15.data.o,ov_SC07_001_jr_801789AC.o,ov_SC07_001_jr_80178D40.o,tail16.data.o,ov_SC07_001_jr_8017A4AC.o,tail17.data.o,ov_SC07_001_jr_8017AE2C.o,ov_SC07_001_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC07_001/ov_SC07_001.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC07_001/ov_SC07_001_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC07_001/ov_SC07_001_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC07_001/ov_SC07_001_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_001/ov_SC07_001_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC07_001/ov_SC07_001_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC07_001/ov_SC07_001_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC07_001/ov_SC07_001_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC07_001/ov_SC07_001_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_001/ov_SC07_001_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_001/ov_SC07_001_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_001/ov_SC07_001_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC07_001/ov_SC07_001_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC07_001_CHECK_SHA := config/check.ov_SC07_001.sha -ov_SC07_001_SYMBOLS := config/symbols.ov_SC07_001.txt -ov_SC07_001_SIG := .run/sig.ov_SC07_001.jsonl -ov_SC07_001_GHIDRA_PROG := ov_SC07_001 -ov_SC07_001_VRAM_BASE := 0x80128158 -ov_SC07_001_TEXT_LO := 0x80128158 -ov_SC07_001_TEXT_HI := 0x801AAF0F -ov_SC07_001_ASM_DIR := asm/ov_SC07_001 -ov_SC07_001_SRC_DIR := src/ov_SC07_001 -ov_SC07_001_UNDEF_SYMS := build/ov_SC07_001/undefined_syms_auto.txt -ov_SC07_001_UNDEF_FUNCS := build/ov_SC07_001/undefined_funcs_auto.txt - -# --- ov_SC07_002 (location overlay SC07/FILE_002, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC07_002_EXE := extracted/retail/SC07.CD.dir/FILE_002.dir/0.4.dec -ov_SC07_002_NAME := ov_SC07_002 -ov_SC07_002_OUT_DIR := build/ov_SC07_002 -ov_SC07_002_OUT := $(ov_SC07_002_OUT_DIR)/$(ov_SC07_002_NAME) -ov_SC07_002_ELF := $(ov_SC07_002_OUT).elf -ov_SC07_002_MAPFILE := $(ov_SC07_002_OUT).map -ov_SC07_002_LD_SCRIPT := $(ov_SC07_002_OUT).ld -ov_SC07_002_SPLAT_YAML := config/splat.ov_SC07_002.yaml -ov_SC07_002_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_002.o,ov_SC07_002_jr_8012ACE0.o,tail2.data.o,ov_SC07_002_jr_80135888.o,tail3.data.o,ov_SC07_002_jr_80135A4C.o,tail4.data.o,ov_SC07_002_jr_80135D20.o,tail5.data.o,ov_SC07_002_jr_801380E0.o,ov_SC07_002_o0c.o,tail6.data.o,ov_SC07_002_jr_8013F350.o,tail7.data.o,ov_SC07_002_jr_8013FFD8.o,tail8.data.o,ov_SC07_002_jr_80140608.o,tail9.data.o,ov_SC07_002_jr_8015444C.o,ov_SC07_002_jr_80154C24.o,ov_SC07_002_jr_801588CC.o,ov_SC07_002_jr_80159C84.o,tail10.data.o,ov_SC07_002_jr_8015A3C8.o,tail11.data.o,ov_SC07_002_jr_8015AE2C.o,tail12.data.o,ov_SC07_002_jr_8015C32C.o,tail13.data.o,ov_SC07_002_jr_8016AB6C.o,tail14.data.o,ov_SC07_002_jr_80171B4C.o,ov_SC07_002_jr_801734BC.o,tail15.data.o,ov_SC07_002_jr_801789AC.o,ov_SC07_002_jr_80178D40.o,tail16.data.o,ov_SC07_002_jr_8017A4AC.o,tail17.data.o,ov_SC07_002_jr_8017AE2C.o,tail18.data.o,ov_SC07_002_jr_8017C8D0.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC07_002/ov_SC07_002.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC07_002/ov_SC07_002_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC07_002/ov_SC07_002_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC07_002/ov_SC07_002_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_002/ov_SC07_002_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC07_002/ov_SC07_002_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC07_002/ov_SC07_002_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC07_002/ov_SC07_002_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC07_002/ov_SC07_002_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_002/ov_SC07_002_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_002/ov_SC07_002_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_002/ov_SC07_002_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC07_002/ov_SC07_002_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC07_002_CHECK_SHA := config/check.ov_SC07_002.sha -ov_SC07_002_SYMBOLS := config/symbols.ov_SC07_002.txt -ov_SC07_002_SIG := .run/sig.ov_SC07_002.jsonl -ov_SC07_002_GHIDRA_PROG := ov_SC07_002 -ov_SC07_002_VRAM_BASE := 0x80128158 -ov_SC07_002_TEXT_LO := 0x80128158 -ov_SC07_002_TEXT_HI := 0x801A00D7 -ov_SC07_002_ASM_DIR := asm/ov_SC07_002 -ov_SC07_002_SRC_DIR := src/ov_SC07_002 -ov_SC07_002_UNDEF_SYMS := build/ov_SC07_002/undefined_syms_auto.txt -ov_SC07_002_UNDEF_FUNCS := build/ov_SC07_002/undefined_funcs_auto.txt - -# --- ov_SC07_008 (location overlay SC07/FILE_008, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC07_008_EXE := extracted/retail/SC07.CD.dir/FILE_008.dir/0.4.dec -ov_SC07_008_NAME := ov_SC07_008 -ov_SC07_008_OUT_DIR := build/ov_SC07_008 -ov_SC07_008_OUT := $(ov_SC07_008_OUT_DIR)/$(ov_SC07_008_NAME) -ov_SC07_008_ELF := $(ov_SC07_008_OUT).elf -ov_SC07_008_MAPFILE := $(ov_SC07_008_OUT).map -ov_SC07_008_LD_SCRIPT := $(ov_SC07_008_OUT).ld -ov_SC07_008_SPLAT_YAML := config/splat.ov_SC07_008.yaml -ov_SC07_008_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_008.o,ov_SC07_008_jr_8012ACE0.o,tail2.data.o,ov_SC07_008_jr_80135888.o,tail3.data.o,ov_SC07_008_jr_80135A4C.o,tail4.data.o,ov_SC07_008_jr_80135D20.o,tail5.data.o,ov_SC07_008_jr_801380E0.o,ov_SC07_008_o0c.o,tail6.data.o,ov_SC07_008_jr_8013F350.o,tail7.data.o,ov_SC07_008_jr_8013FFD8.o,tail8.data.o,ov_SC07_008_jr_80140608.o,tail9.data.o,ov_SC07_008_jr_8015444C.o,ov_SC07_008_jr_80154C24.o,ov_SC07_008_jr_801588CC.o,ov_SC07_008_jr_80159C84.o,tail10.data.o,ov_SC07_008_jr_8015A3C8.o,tail11.data.o,ov_SC07_008_jr_8015AE2C.o,tail12.data.o,ov_SC07_008_jr_8015C32C.o,tail13.data.o,ov_SC07_008_jr_8016AB6C.o,tail14.data.o,ov_SC07_008_jr_80171B4C.o,ov_SC07_008_jr_801734BC.o,tail15.data.o,ov_SC07_008_jr_801789AC.o,ov_SC07_008_jr_80178D40.o,tail16.data.o,ov_SC07_008_jr_8017A4AC.o,tail17.data.o,ov_SC07_008_jr_8017AE2C.o,ov_SC07_008_jr_8017BEBC.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC07_008/ov_SC07_008.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC07_008/ov_SC07_008_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC07_008/ov_SC07_008_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC07_008/ov_SC07_008_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_008/ov_SC07_008_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC07_008/ov_SC07_008_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC07_008/ov_SC07_008_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC07_008/ov_SC07_008_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC07_008/ov_SC07_008_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_008/ov_SC07_008_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_008/ov_SC07_008_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_008/ov_SC07_008_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC07_008/ov_SC07_008_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC07_008_CHECK_SHA := config/check.ov_SC07_008.sha -ov_SC07_008_SYMBOLS := config/symbols.ov_SC07_008.txt -ov_SC07_008_SIG := .run/sig.ov_SC07_008.jsonl -ov_SC07_008_GHIDRA_PROG := ov_SC07_008 -ov_SC07_008_VRAM_BASE := 0x80128158 -ov_SC07_008_TEXT_LO := 0x80128158 -ov_SC07_008_TEXT_HI := 0x80196747 -ov_SC07_008_ASM_DIR := asm/ov_SC07_008 -ov_SC07_008_SRC_DIR := src/ov_SC07_008 -ov_SC07_008_UNDEF_SYMS := build/ov_SC07_008/undefined_syms_auto.txt -ov_SC07_008_UNDEF_FUNCS := build/ov_SC07_008/undefined_funcs_auto.txt - -# --- ov_SC07_009 (location overlay SC07/FILE_009, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC07_009_EXE := extracted/retail/SC07.CD.dir/FILE_009.dir/0.4.dec -ov_SC07_009_NAME := ov_SC07_009 -ov_SC07_009_OUT_DIR := build/ov_SC07_009 -ov_SC07_009_OUT := $(ov_SC07_009_OUT_DIR)/$(ov_SC07_009_NAME) -ov_SC07_009_ELF := $(ov_SC07_009_OUT).elf -ov_SC07_009_MAPFILE := $(ov_SC07_009_OUT).map -ov_SC07_009_LD_SCRIPT := $(ov_SC07_009_OUT).ld -ov_SC07_009_SPLAT_YAML := config/splat.ov_SC07_009.yaml -ov_SC07_009_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_009.o,ov_SC07_009_jr_8012ACE0.o,tail2.data.o,ov_SC07_009_jr_80135888.o,tail3.data.o,ov_SC07_009_jr_80135A4C.o,tail4.data.o,ov_SC07_009_jr_80135D20.o,tail5.data.o,ov_SC07_009_jr_801380E0.o,ov_SC07_009_o0c.o,tail6.data.o,ov_SC07_009_jr_8013F350.o,tail7.data.o,ov_SC07_009_jr_8013FFD8.o,tail8.data.o,ov_SC07_009_jr_80140608.o,tail9.data.o,ov_SC07_009_jr_8015444C.o,ov_SC07_009_jr_80154C24.o,ov_SC07_009_jr_801588CC.o,ov_SC07_009_jr_80159C84.o,tail10.data.o,ov_SC07_009_jr_8015A3C8.o,tail11.data.o,ov_SC07_009_jr_8015AE2C.o,tail12.data.o,ov_SC07_009_jr_8015C32C.o,tail13.data.o,ov_SC07_009_jr_8016AB6C.o,tail14.data.o,ov_SC07_009_jr_80171B4C.o,ov_SC07_009_jr_801734BC.o,tail15.data.o,ov_SC07_009_jr_801789AC.o,ov_SC07_009_jr_80178D40.o,tail16.data.o,ov_SC07_009_jr_8017A4AC.o,tail17.data.o,ov_SC07_009_jr_8017AE2C.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC07_009/ov_SC07_009.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC07_009/ov_SC07_009_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0 -build/src/ov_SC07_009/ov_SC07_009_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC07_009/ov_SC07_009_jr_8013F350.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_009/ov_SC07_009_jr_8013FFD8.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC07_009/ov_SC07_009_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC07_009/ov_SC07_009_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC07_009/ov_SC07_009_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC07_009/ov_SC07_009_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_009/ov_SC07_009_jr_8015AE2C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_009/ov_SC07_009_jr_8016AB6C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_009/ov_SC07_009_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x178 -build/src/ov_SC07_009/ov_SC07_009_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC07_009/ov_SC07_009_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC07_009_CHECK_SHA := config/check.ov_SC07_009.sha -ov_SC07_009_SYMBOLS := config/symbols.ov_SC07_009.txt -ov_SC07_009_SIG := .run/sig.ov_SC07_009.jsonl -ov_SC07_009_GHIDRA_PROG := ov_SC07_009 -ov_SC07_009_VRAM_BASE := 0x80128158 -ov_SC07_009_TEXT_LO := 0x80128158 -ov_SC07_009_TEXT_HI := 0x801A3DD7 -ov_SC07_009_ASM_DIR := asm/ov_SC07_009 -ov_SC07_009_SRC_DIR := src/ov_SC07_009 -ov_SC07_009_UNDEF_SYMS := build/ov_SC07_009/undefined_syms_auto.txt -ov_SC07_009_UNDEF_FUNCS := build/ov_SC07_009/undefined_funcs_auto.txt - -# --- ov_SC07_006 (location overlay SC07/FILE_006, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC07_006_EXE := extracted/retail/SC07.CD.dir/FILE_006.dir/1.4.dec -ov_SC07_006_NAME := ov_SC07_006 -ov_SC07_006_OUT_DIR := build/ov_SC07_006 -ov_SC07_006_OUT := $(ov_SC07_006_OUT_DIR)/$(ov_SC07_006_NAME) -ov_SC07_006_ELF := $(ov_SC07_006_OUT).elf -ov_SC07_006_MAPFILE := $(ov_SC07_006_OUT).map -ov_SC07_006_LD_SCRIPT := $(ov_SC07_006_OUT).ld -ov_SC07_006_SPLAT_YAML := config/splat.ov_SC07_006.yaml -ov_SC07_006_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_006.o,ov_SC07_006_jr_80131340.o,tail2.data.o,ov_SC07_006_jr_80135888.o,tail3.data.o,ov_SC07_006_jr_80135A4C.o,tail4.data.o,ov_SC07_006_jr_80135D20.o,tail5.data.o,ov_SC07_006_jr_801380E0.o,ov_SC07_006_o0c.o,tail6.data.o,ov_SC07_006_jr_8013F350.o,tail7.data.o,ov_SC07_006_jr_8014032C.o,tail8.data.o,ov_SC07_006_jr_80140608.o,tail9.data.o,ov_SC07_006_jr_8015444C.o,ov_SC07_006_jr_80154C24.o,ov_SC07_006_jr_801588CC.o,ov_SC07_006_jr_80159C84.o,tail10.data.o,ov_SC07_006_jr_8015A3C8.o,tail11.data.o,ov_SC07_006_jr_8015B950.o,tail12.data.o,ov_SC07_006_jr_8015C32C.o,tail13.data.o,ov_SC07_006_jr_8016AE5C.o,tail14.data.o,ov_SC07_006_jr_80171B4C.o,tail15.data.o,ov_SC07_006_jr_801789AC.o,ov_SC07_006_jr_80179B74.o,tail16.data.o,ov_SC07_006_jr_8017AE2C.o,ov_SC07_006_jr_8017BEBC.o,tail17.data.o,ov_SC07_006_jr_80183814.o,tail18.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC07_006/ov_SC07_006.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0xdc -build/src/ov_SC07_006/ov_SC07_006_jr_80131340.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC07_006/ov_SC07_006_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC07_006/ov_SC07_006_jr_8013F350.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC07_006/ov_SC07_006_jr_8014032C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_006/ov_SC07_006_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC07_006/ov_SC07_006_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC07_006/ov_SC07_006_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC07_006/ov_SC07_006_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_006/ov_SC07_006_jr_8015A3C8.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_006/ov_SC07_006_jr_80171B4C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_006/ov_SC07_006_jr_801789AC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC07_006/ov_SC07_006_jr_80179B74.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x90 -build/src/ov_SC07_006/ov_SC07_006_jr_80183814.o: JTBL_PADS := 0 # §8e pads — one table since wave dd banked func_8018A150 (P31 S60) -build/src/ov_SC07_006/ov_SC07_006_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC07_006_CHECK_SHA := config/check.ov_SC07_006.sha -ov_SC07_006_SYMBOLS := config/symbols.ov_SC07_006.txt -ov_SC07_006_SIG := .run/sig.ov_SC07_006.jsonl -ov_SC07_006_GHIDRA_PROG := ov_SC07_006 -ov_SC07_006_VRAM_BASE := 0x80128158 -ov_SC07_006_TEXT_LO := 0x80128158 -ov_SC07_006_TEXT_HI := 0x801F636F -ov_SC07_006_ASM_DIR := asm/ov_SC07_006 -ov_SC07_006_SRC_DIR := src/ov_SC07_006 -ov_SC07_006_UNDEF_SYMS := build/ov_SC07_006/undefined_syms_auto.txt -ov_SC07_006_UNDEF_FUNCS := build/ov_SC07_006/undefined_funcs_auto.txt - -# --- ov_SC07_007 (location overlay SC07/FILE_007, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC07_007_EXE := extracted/retail/SC07.CD.dir/FILE_007.dir/1.4.dec -ov_SC07_007_NAME := ov_SC07_007 -ov_SC07_007_OUT_DIR := build/ov_SC07_007 -ov_SC07_007_OUT := $(ov_SC07_007_OUT_DIR)/$(ov_SC07_007_NAME) -ov_SC07_007_ELF := $(ov_SC07_007_OUT).elf -ov_SC07_007_MAPFILE := $(ov_SC07_007_OUT).map -ov_SC07_007_LD_SCRIPT := $(ov_SC07_007_OUT).ld -ov_SC07_007_SPLAT_YAML := config/splat.ov_SC07_007.yaml -ov_SC07_007_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_007.o,ov_SC07_007_jr_80131340.o,tail2.data.o,ov_SC07_007_jr_80135888.o,tail3.data.o,ov_SC07_007_jr_80135A4C.o,tail4.data.o,ov_SC07_007_jr_80135D20.o,tail5.data.o,ov_SC07_007_jr_801380E0.o,ov_SC07_007_o0c.o,tail6.data.o,ov_SC07_007_jr_8013F350.o,tail7.data.o,ov_SC07_007_jr_8014032C.o,tail8.data.o,ov_SC07_007_jr_80140608.o,tail9.data.o,ov_SC07_007_jr_8015444C.o,ov_SC07_007_jr_80154C24.o,ov_SC07_007_jr_801588CC.o,ov_SC07_007_jr_80159C84.o,tail10.data.o,ov_SC07_007_jr_8015A3C8.o,tail11.data.o,ov_SC07_007_jr_8015B950.o,tail12.data.o,ov_SC07_007_jr_8015C32C.o,tail13.data.o,ov_SC07_007_jr_8016AE5C.o,tail14.data.o,ov_SC07_007_jr_80171B4C.o,tail15.data.o,ov_SC07_007_jr_801789AC.o,ov_SC07_007_jr_80179B74.o,tail16.data.o,ov_SC07_007_jr_8017AE2C.o,ov_SC07_007_jr_8017BEBC.o,tail17.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC07_007/ov_SC07_007.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0xdc -build/src/ov_SC07_007/ov_SC07_007_jr_80131340.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC07_007/ov_SC07_007_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC07_007/ov_SC07_007_jr_8013F350.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC07_007/ov_SC07_007_jr_8014032C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_007/ov_SC07_007_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC07_007/ov_SC07_007_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC07_007/ov_SC07_007_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC07_007/ov_SC07_007_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_007/ov_SC07_007_jr_8015A3C8.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_007/ov_SC07_007_jr_80171B4C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_007/ov_SC07_007_jr_801789AC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC07_007/ov_SC07_007_jr_80179B74.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x90 -build/src/ov_SC07_007/ov_SC07_007_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC07_007_CHECK_SHA := config/check.ov_SC07_007.sha -ov_SC07_007_SYMBOLS := config/symbols.ov_SC07_007.txt -ov_SC07_007_SIG := .run/sig.ov_SC07_007.jsonl -ov_SC07_007_GHIDRA_PROG := ov_SC07_007 -ov_SC07_007_VRAM_BASE := 0x80128158 -ov_SC07_007_TEXT_LO := 0x80128158 -ov_SC07_007_TEXT_HI := 0x801C7B37 -ov_SC07_007_ASM_DIR := asm/ov_SC07_007 -ov_SC07_007_SRC_DIR := src/ov_SC07_007 -ov_SC07_007_UNDEF_SYMS := build/ov_SC07_007/undefined_syms_auto.txt -ov_SC07_007_UNDEF_FUNCS := build/ov_SC07_007/undefined_funcs_auto.txt - -# --- ov_SC07_010 (location overlay SC07/FILE_010, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC07_010_EXE := extracted/retail/SC07.CD.dir/FILE_010.dir/1.4.dec -ov_SC07_010_NAME := ov_SC07_010 -ov_SC07_010_OUT_DIR := build/ov_SC07_010 -ov_SC07_010_OUT := $(ov_SC07_010_OUT_DIR)/$(ov_SC07_010_NAME) -ov_SC07_010_ELF := $(ov_SC07_010_OUT).elf -ov_SC07_010_MAPFILE := $(ov_SC07_010_OUT).map -ov_SC07_010_LD_SCRIPT := $(ov_SC07_010_OUT).ld -ov_SC07_010_SPLAT_YAML := config/splat.ov_SC07_010.yaml -ov_SC07_010_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_010.o,ov_SC07_010_jr_80131340.o,tail2.data.o,ov_SC07_010_jr_80135888.o,tail3.data.o,ov_SC07_010_jr_80135A4C.o,tail4.data.o,ov_SC07_010_jr_80135D20.o,tail5.data.o,ov_SC07_010_jr_801380E0.o,ov_SC07_010_o0.o,tail6.data.o,ov_SC07_010_jr_8013F350.o,tail7.data.o,ov_SC07_010_jr_8014032C.o,tail8.data.o,ov_SC07_010_jr_80140608.o,tail9.data.o,ov_SC07_010_jr_8015444C.o,ov_SC07_010_jr_80154C24.o,ov_SC07_010_jr_801588CC.o,ov_SC07_010_jr_80159C84.o,tail10.data.o,ov_SC07_010_jr_8015A3C8.o,tail11.data.o,ov_SC07_010_jr_8015B950.o,tail12.data.o,ov_SC07_010_jr_8015C32C.o,tail13.data.o,ov_SC07_010_jr_8016AE5C.o,tail14.data.o,ov_SC07_010_jr_80171B4C.o,tail15.data.o,ov_SC07_010_jr_801789AC.o,ov_SC07_010_jr_80179B74.o,tail16.data.o,ov_SC07_010_jr_8017AE2C.o,tail17.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC07_010/ov_SC07_010.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0xdc -build/src/ov_SC07_010/ov_SC07_010_jr_80131340.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC07_010/ov_SC07_010_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC07_010/ov_SC07_010_jr_8014032C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_010/ov_SC07_010_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC07_010/ov_SC07_010_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC07_010/ov_SC07_010_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC07_010/ov_SC07_010_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_010/ov_SC07_010_jr_8015A3C8.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_010/ov_SC07_010_jr_80171B4C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_010/ov_SC07_010_jr_801789AC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC07_010/ov_SC07_010_jr_80179B74.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x90 -build/src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC07_010/ov_SC07_010_o0.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC07_010_CHECK_SHA := config/check.ov_SC07_010.sha -ov_SC07_010_SYMBOLS := config/symbols.ov_SC07_010.txt -ov_SC07_010_SIG := .run/sig.ov_SC07_010.jsonl -ov_SC07_010_GHIDRA_PROG := ov_SC07_010 -ov_SC07_010_VRAM_BASE := 0x80128158 -ov_SC07_010_TEXT_LO := 0x80128158 -ov_SC07_010_TEXT_HI := 0x801A9547 -ov_SC07_010_ASM_DIR := asm/ov_SC07_010 -ov_SC07_010_SRC_DIR := src/ov_SC07_010 -ov_SC07_010_UNDEF_SYMS := build/ov_SC07_010/undefined_syms_auto.txt -ov_SC07_010_UNDEF_FUNCS := build/ov_SC07_010/undefined_funcs_auto.txt - -# --- ov_SC07_011 (location overlay SC07/FILE_011, vram 0x80128158 — onboarded by new_overlay.sh) --- -ov_SC07_011_EXE := extracted/retail/SC07.CD.dir/FILE_011.dir/1.4.dec -ov_SC07_011_NAME := ov_SC07_011 -ov_SC07_011_OUT_DIR := build/ov_SC07_011 -ov_SC07_011_OUT := $(ov_SC07_011_OUT_DIR)/$(ov_SC07_011_NAME) -ov_SC07_011_ELF := $(ov_SC07_011_OUT).elf -ov_SC07_011_MAPFILE := $(ov_SC07_011_OUT).map -ov_SC07_011_LD_SCRIPT := $(ov_SC07_011_OUT).ld -ov_SC07_011_SPLAT_YAML := config/splat.ov_SC07_011.yaml -ov_SC07_011_JTBL_INTERLEAVE := --order tail.data.o,ov_SC07_011.o,ov_SC07_011_jr_80131340.o,tail2.data.o,ov_SC07_011_jr_80135888.o,tail3.data.o,ov_SC07_011_jr_80135A4C.o,tail4.data.o,ov_SC07_011_jr_80135D20.o,tail5.data.o,ov_SC07_011_jr_801380E0.o,ov_SC07_011_o0c.o,tail6.data.o,ov_SC07_011_jr_8013F350.o,tail7.data.o,ov_SC07_011_jr_8014032C.o,tail8.data.o,ov_SC07_011_jr_80140608.o,tail9.data.o,ov_SC07_011_jr_8015444C.o,ov_SC07_011_jr_80154C24.o,ov_SC07_011_jr_801588CC.o,ov_SC07_011_jr_80159C84.o,tail10.data.o,ov_SC07_011_jr_8015A3C8.o,tail11.data.o,ov_SC07_011_jr_8015B950.o,tail12.data.o,ov_SC07_011_jr_8015C32C.o,tail13.data.o,ov_SC07_011_jr_8016AE5C.o,tail14.data.o,ov_SC07_011_jr_80171B4C.o,tail15.data.o,ov_SC07_011_jr_801789AC.o,ov_SC07_011_jr_80179B74.o,tail16.data.o,ov_SC07_011_jr_8017AE2C.o,ov_SC07_011_jr_8017BEBC.o,tail17.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC07_011/ov_SC07_011.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0xdc -build/src/ov_SC07_011/ov_SC07_011_jr_80131340.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14 -build/src/ov_SC07_011/ov_SC07_011_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC07_011/ov_SC07_011_jr_8013F350.o: JTBL_PADS := 0,0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58 -build/src/ov_SC07_011/ov_SC07_011_jr_8014032C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_011/ov_SC07_011_jr_8015444C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x70 -build/src/ov_SC07_011/ov_SC07_011_jr_80154C24.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x24 -build/src/ov_SC07_011/ov_SC07_011_jr_801588CC.o: JTBL_PADS := 0,4,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x48 -build/src/ov_SC07_011/ov_SC07_011_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_011/ov_SC07_011_jr_8015A3C8.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_011/ov_SC07_011_jr_80171B4C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC07_011/ov_SC07_011_jr_801789AC.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC07_011/ov_SC07_011_jr_80179B74.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x90 -build/src/ov_SC07_011/ov_SC07_011_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC07_011_CHECK_SHA := config/check.ov_SC07_011.sha -ov_SC07_011_SYMBOLS := config/symbols.ov_SC07_011.txt -ov_SC07_011_SIG := .run/sig.ov_SC07_011.jsonl -ov_SC07_011_GHIDRA_PROG := ov_SC07_011 -ov_SC07_011_VRAM_BASE := 0x80128158 -ov_SC07_011_TEXT_LO := 0x80128158 -ov_SC07_011_TEXT_HI := 0x801904FF -ov_SC07_011_ASM_DIR := asm/ov_SC07_011 -ov_SC07_011_SRC_DIR := src/ov_SC07_011 -ov_SC07_011_UNDEF_SYMS := build/ov_SC07_011/undefined_syms_auto.txt -ov_SC07_011_UNDEF_FUNCS := build/ov_SC07_011/undefined_funcs_auto.txt - -# --- ov_MAIN_012 (location overlay, vram 0x80128158 — onboarded by new_binary.sh) --- -ov_MAIN_012_EXE := extracted/retail/MAIN.CD.dir/FILE_012.dir/1.1 -ov_MAIN_012_NAME := ov_MAIN_012 -ov_MAIN_012_OUT_DIR := build/ov_MAIN_012 -ov_MAIN_012_OUT := $(ov_MAIN_012_OUT_DIR)/$(ov_MAIN_012_NAME) -ov_MAIN_012_ELF := $(ov_MAIN_012_OUT).elf -ov_MAIN_012_MAPFILE := $(ov_MAIN_012_OUT).map -ov_MAIN_012_LD_SCRIPT := $(ov_MAIN_012_OUT).ld -ov_MAIN_012_SPLAT_YAML := config/splat.ov_MAIN_012.yaml -ov_MAIN_012_JTBL_INTERLEAVE := --order tail.data.o,ov_MAIN_012.o,ov_MAIN_012_jr_80131340.o,tail2.data.o,ov_MAIN_012_jr_80135A4C.o,tail3.data.o,ov_MAIN_012_jr_80135EB0.o,tail4.data.o,ov_MAIN_012_jr_801380E0.o,ov_MAIN_012_o0c.o,tail5.data.o,ov_MAIN_012_jr_8013F350.o,tail6.data.o,ov_MAIN_012_jr_801549F8.o,ov_MAIN_012_jr_801555F4.o,tail7.data.o,ov_MAIN_012_jr_801594E8.o,ov_MAIN_012_jr_80159C84.o,tail8.data.o,ov_MAIN_012_jr_8015A3C8.o,tail9.data.o,ov_MAIN_012_jr_8016AE5C.o,tail10.data.o,ov_MAIN_012_jr_80171B4C.o,tail11.data.o,ov_MAIN_012_jr_801789AC.o,tail12.data.o,ov_MAIN_012_jr_8017C3BC.o,tail13.data.o,ov_MAIN_012_jr_8017CA18.o,tail14.data.o,ov_MAIN_012_jr_8017CF3C.o,tail15.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_MAIN_012/ov_MAIN_012.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0xdc -build/src/ov_MAIN_012/ov_MAIN_012_jr_80131340.o: JTBL_PADS := 0,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x2c -build/src/ov_MAIN_012/ov_MAIN_012_jr_80135A4C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_MAIN_012/ov_MAIN_012_jr_8013F350.o: JTBL_PADS := 0,0,4,0,4,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58,+0x70,+0x90,+0xa8 -build/src/ov_MAIN_012/ov_MAIN_012_jr_801549F8.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x6c -build/src/ov_MAIN_012/ov_MAIN_012_jr_801555F4.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_MAIN_012/ov_MAIN_012_jr_801594E8.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_MAIN_012/ov_MAIN_012_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_MAIN_012/ov_MAIN_012_jr_8015A3C8.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40,+0x60 -build/src/ov_MAIN_012/ov_MAIN_012_jr_80171B4C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_MAIN_012/ov_MAIN_012_jr_801789AC.o: JTBL_PADS := 0,0,0,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18,+0x190,+0x220,+0x2b0 -build/src/ov_MAIN_012/ov_MAIN_012_jr_8017C3BC.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38 -build/src/ov_MAIN_012/ov_MAIN_012_jr_8017CF3C.o: JTBL_PADS := 0,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x28,+0x50 -build/src/ov_MAIN_012/ov_MAIN_012_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_MAIN_012_CHECK_SHA := config/check.ov_MAIN_012.sha -ov_MAIN_012_SYMBOLS := config/symbols.ov_MAIN_012.txt -ov_MAIN_012_SIG := .run/sig.ov_MAIN_012.jsonl -ov_MAIN_012_GHIDRA_PROG := ov_MAIN_012 -ov_MAIN_012_VRAM_BASE := 0x80128158 -ov_MAIN_012_TEXT_LO := 0x80128158 -ov_MAIN_012_TEXT_HI := 0x80185C7F -ov_MAIN_012_ASM_DIR := asm/ov_MAIN_012 -ov_MAIN_012_SRC_DIR := src/ov_MAIN_012 -ov_MAIN_012_UNDEF_SYMS := build/ov_MAIN_012/undefined_syms_auto.txt -ov_MAIN_012_UNDEF_FUNCS := build/ov_MAIN_012/undefined_funcs_auto.txt - -# --- ov_SC02_037 (location overlay, vram 0x80128158 — onboarded by new_binary.sh) --- -ov_SC02_037_EXE := extracted/retail/SC02.CD.dir/FILE_037.dir/0.1 -ov_SC02_037_NAME := ov_SC02_037 -ov_SC02_037_OUT_DIR := build/ov_SC02_037 -ov_SC02_037_OUT := $(ov_SC02_037_OUT_DIR)/$(ov_SC02_037_NAME) -ov_SC02_037_ELF := $(ov_SC02_037_OUT).elf -ov_SC02_037_MAPFILE := $(ov_SC02_037_OUT).map -ov_SC02_037_LD_SCRIPT := $(ov_SC02_037_OUT).ld -ov_SC02_037_SPLAT_YAML := config/splat.ov_SC02_037.yaml -ov_SC02_037_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_037.o,ov_SC02_037_jr_80131340.o,tail2.data.o,ov_SC02_037_jr_80135A4C.o,tail3.data.o,ov_SC02_037_jr_80135EB0.o,tail4.data.o,ov_SC02_037_jr_801380E0.o,ov_SC02_037_o0c.o,tail5.data.o,ov_SC02_037_jr_8013F350.o,tail6.data.o,ov_SC02_037_jr_801549F8.o,ov_SC02_037_jr_801555F4.o,tail7.data.o,ov_SC02_037_jr_801594E8.o,ov_SC02_037_jr_80159C84.o,tail8.data.o,ov_SC02_037_jr_8015A3C8.o,tail9.data.o,ov_SC02_037_jr_8016AE5C.o,tail10.data.o,ov_SC02_037_jr_80171B4C.o,tail11.data.o,ov_SC02_037_jr_801789AC.o,tail12.data.o,ov_SC02_037_jr_8017AE2C.o,tail13.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC02_037/ov_SC02_037.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0xdc -build/src/ov_SC02_037/ov_SC02_037_jr_80131340.o: JTBL_PADS := 0,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x2c -build/src/ov_SC02_037/ov_SC02_037_jr_80135A4C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC02_037/ov_SC02_037_jr_8013F350.o: JTBL_PADS := 0,0,4,0,4,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58,+0x70,+0x90,+0xa8 -build/src/ov_SC02_037/ov_SC02_037_jr_801549F8.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x6c -build/src/ov_SC02_037/ov_SC02_037_jr_801594E8.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_037/ov_SC02_037_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_037/ov_SC02_037_jr_8015A3C8.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40,+0x60 -build/src/ov_SC02_037/ov_SC02_037_jr_80171B4C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC02_037/ov_SC02_037_jr_801789AC.o: JTBL_PADS := 0,0,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18,+0x190,+0x220 -build/src/ov_SC02_037/ov_SC02_037_jr_8017AE2C.o: JTBL_PADS := 0,0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x34,+0x4c,+0x64 -build/src/ov_SC02_037/ov_SC02_037_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC02_037_CHECK_SHA := config/check.ov_SC02_037.sha -ov_SC02_037_SYMBOLS := config/symbols.ov_SC02_037.txt -ov_SC02_037_SIG := .run/sig.ov_SC02_037.jsonl -ov_SC02_037_GHIDRA_PROG := ov_SC02_037 -ov_SC02_037_VRAM_BASE := 0x80128158 -ov_SC02_037_TEXT_LO := 0x80128158 -ov_SC02_037_TEXT_HI := 0x801C9AE7 -ov_SC02_037_ASM_DIR := asm/ov_SC02_037 -ov_SC02_037_SRC_DIR := src/ov_SC02_037 -ov_SC02_037_UNDEF_SYMS := build/ov_SC02_037/undefined_syms_auto.txt -ov_SC02_037_UNDEF_FUNCS := build/ov_SC02_037/undefined_funcs_auto.txt - -# --- ov_SC03_107 (location overlay, vram 0x80128158 — onboarded by new_binary.sh) --- -ov_SC03_107_EXE := extracted/retail/SC03.CD.dir/FILE_107.dir/0.1 -ov_SC03_107_NAME := ov_SC03_107 -ov_SC03_107_OUT_DIR := build/ov_SC03_107 -ov_SC03_107_OUT := $(ov_SC03_107_OUT_DIR)/$(ov_SC03_107_NAME) -ov_SC03_107_ELF := $(ov_SC03_107_OUT).elf -ov_SC03_107_MAPFILE := $(ov_SC03_107_OUT).map -ov_SC03_107_LD_SCRIPT := $(ov_SC03_107_OUT).ld -ov_SC03_107_SPLAT_YAML := config/splat.ov_SC03_107.yaml -ov_SC03_107_JTBL_INTERLEAVE := --order tail.data.o,ov_SC03_107.o,ov_SC03_107_jr_80131340.o,tail2.data.o,ov_SC03_107_jr_80135A4C.o,tail3.data.o,ov_SC03_107_jr_80135EB0.o,tail4.data.o,ov_SC03_107_jr_801380E0.o,ov_SC03_107_o0c.o,tail5.data.o,ov_SC03_107_jr_8013F350.o,tail6.data.o,ov_SC03_107_jr_801549F8.o,ov_SC03_107_jr_801555F4.o,tail7.data.o,ov_SC03_107_jr_801594E8.o,ov_SC03_107_jr_80159C84.o,tail8.data.o,ov_SC03_107_jr_8015A3C8.o,tail9.data.o,ov_SC03_107_jr_8016AE5C.o,tail10.data.o,ov_SC03_107_jr_80171B4C.o,tail11.data.o,ov_SC03_107_jr_801789AC.o,tail12.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve -build/src/ov_SC03_107/ov_SC03_107.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0xdc -build/src/ov_SC03_107/ov_SC03_107_jr_80131340.o: JTBL_PADS := 0,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x2c -build/src/ov_SC03_107/ov_SC03_107_jr_80135A4C.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18 -build/src/ov_SC03_107/ov_SC03_107_jr_8013F350.o: JTBL_PADS := 0,0,4,0,4,0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x38,+0x58,+0x70,+0x90,+0xa8 -build/src/ov_SC03_107/ov_SC03_107_jr_801549F8.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x6c -build/src/ov_SC03_107/ov_SC03_107_jr_801594E8.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_107/ov_SC03_107_jr_80159C84.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_107/ov_SC03_107_jr_8015A3C8.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40,+0x60 -build/src/ov_SC03_107/ov_SC03_107_jr_80171B4C.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20 -build/src/ov_SC03_107/ov_SC03_107_jr_801789AC.o: JTBL_PADS := 0,0,0,4,4,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18,+0x190,+0x220,+0x2b0,+0x2c4,+0x32c -build/src/ov_SC03_107/ov_SC03_107_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118 -ov_SC03_107_CHECK_SHA := config/check.ov_SC03_107.sha -ov_SC03_107_SYMBOLS := config/symbols.ov_SC03_107.txt -ov_SC03_107_SIG := .run/sig.ov_SC03_107.jsonl -ov_SC03_107_GHIDRA_PROG := ov_SC03_107 -ov_SC03_107_VRAM_BASE := 0x80128158 -ov_SC03_107_TEXT_LO := 0x80128158 -ov_SC03_107_TEXT_HI := 0x8019BD3F -ov_SC03_107_ASM_DIR := asm/ov_SC03_107 -ov_SC03_107_SRC_DIR := src/ov_SC03_107 -ov_SC03_107_UNDEF_SYMS := build/ov_SC03_107/undefined_syms_auto.txt -ov_SC03_107_UNDEF_FUNCS := build/ov_SC03_107/undefined_funcs_auto.txt diff --git a/config/splat.md_SC03_135.yaml b/config/splat.md_SC03_135.yaml index c395612de..fa690288a 100644 --- a/config/splat.md_SC03_135.yaml +++ b/config/splat.md_SC03_135.yaml @@ -96,7 +96,6 @@ segments: - [0x0, .rodata, md_SC03_135] # module-id header (+jtbl/ptr table) — §154-A - [0x268, .rodata, md_SC03_135_jr_801E5358] # §154-A island split (jtbl_carve --island-split) - [0x27c, c, md_SC03_135] - - [0xda8, c, md_SC03_135_jr_801E3390] - [0x2d70, c, md_SC03_135_jr_801E5358] - [0x3594, data, tail] # data tail: pointer tables + packed data (split iterated) - [0x880C] # EOF marker = the 0.4.dec byte length diff --git a/config/splat.ov_SC07_010.yaml b/config/splat.ov_SC07_010.yaml index 75566c253..7375b43bd 100644 --- a/config/splat.ov_SC07_010.yaml +++ b/config/splat.ov_SC07_010.yaml @@ -118,6 +118,7 @@ segments: - [0x50854, c, ov_SC07_010_jr_801789AC] - [0x51a1c, c, ov_SC07_010_jr_80179B74] - [0x52cd4, c, ov_SC07_010_jr_8017AE2C] + - [0x57fe0, c, ov_SC07_010_jr_80180138] - [0x59e1c, data, tail] - [0x7d6dc, .rodata, ov_SC07_010] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py) - [0x7d884, .rodata, ov_SC07_010_jr_80131340] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py) diff --git a/src/md_MAIN_003/md_MAIN_003.c b/src/md_MAIN_003/md_MAIN_003.c index 15da3cd97..6acf68740 100644 --- a/src/md_MAIN_003/md_MAIN_003.c +++ b/src/md_MAIN_003/md_MAIN_003.c @@ -822,32 +822,7 @@ void func_800D298C(St *a0) { } -extern u8 D_800EC9E8[4]; - -extern s32 func_800435CC(s32 mode, void *buf, void *param); -extern s32 CdRead2(s32 count); - -s32 func_800D2A24(s32 a0) { - u8 *p; - s32 r; - -retry: - p = D_800EC9E8; - for (;;) { - r = func_800435CC(2, (void *)a0, p); - if (*p & 0x10) { - return 1; - } - if (r != 0) { - break; - } - } - if (CdRead2(0x1C0) == 0) { - goto retry; - } - return 0; -} - +INCLUDE_ASM("asm/md_MAIN_003/nonmatchings/md_MAIN_003", func_800D2A24); void func_800D2AA0(u8 *a0) { if (a0 == 0) { diff --git a/src/md_SC03_076/md_SC03_076.c b/src/md_SC03_076/md_SC03_076.c index a0c7e3989..71e4fc9ce 100644 --- a/src/md_SC03_076/md_SC03_076.c +++ b/src/md_SC03_076/md_SC03_076.c @@ -448,135 +448,7 @@ s32 func_801F06B0(s32 a0, s16 a1, s16 a2, s16 a3, s32 *p) { } -s32 func_801F0734(void) { - extern s32 D_801F9DB8; - extern s16 D_8011512C; - extern u8 D_801F9DA9; - extern void func_8002B00C(void *); - extern void func_801F1738(s32); - extern void func_80029774(s32); - extern s16 D_80115118; - extern u16 D_8011511A; - extern s32 D_801F3380; - extern s16 D_801150D4; - extern s32 func_8002D4C8(s32, s32); - extern s32 D_801F9DA0; - extern u8 D_801F9DB1; - extern u8 D_801F9DA8[]; - extern u8 D_801F9DB0[]; - extern s32 D_801F32E0; - extern s32 D_801F9AC4; - extern u8 D_801F9DAC[]; - extern u8 D_801F9DAD; - extern u8 D_801F9DAE; - extern u8 D_801F9DAF; - extern s32 func_8002AF48(s32); - extern s32 D_801F9DBC[]; - extern s32 D_801F9DC0; - extern s32 D_801F9DC4; - extern s32 D_801F9DC8; - extern s32 func_8002AF60(void); - extern void func_801F0F28(void); - - s32 ret; - short i; - - ret = 0; - if (D_801F9DB8 != 0) { - if (D_801F9DB8 == 1) { - s16 *p = &D_8011512C; - - if (*p == 3 && D_801F9DA9 == 8) { - func_8002B00C(&D_801F9AC4); - func_801F1738(0); - func_80029774(0); - *p = 4; - D_80115118 = 0x4B; - D_801F3380 = 0x15; - D_801150D4 = D_8011511A; - func_8002D4C8(0xB3B, 0); - } else { - *p = 0; - } - } else { - D_8011512C = 0xA; - D_801F3380 = 0x1B; - D_80115118 = 0x4B; - D_801F9DA0 = 0; - return; - } - D_801F9DA0 = 0; - D_801F9DB1 = 0xFF; - } - - if (D_8011512C == 4 || D_8011512C == 0xA) { - return; - } - if (D_801F9DA9 == D_801F9DB1) { - return; - } - - for (i = 0; i < 8; i++) { - D_801F9DB0[i] = D_801F9DA8[i]; - } - - switch (D_801F9DA9) { - case 0: - break; - case 1: - ret = 0xA; - D_8011512C = 0; - D_8011511A = 0; - break; - case 2: - ret = 0xB; - D_801150D4 = 0; - D_8011512C = 0; - D_8011511A = 0; - break; - case 3: - ret = 0x1F; - D_801150D4 = 0; - D_8011512C = 8; - break; - case 4: - case 5: - case 6: - reset_state: - ret = 0x13; - D_801150D4 = 0; - D_8011512C = 8; - break; - case 7: - ret = 0xA; - break; - case 8: - ret = 0xC; - if ((D_801F9DAC[0] | D_801F9DAD | D_801F9DAE | D_801F9DAF) == 0) { - goto reset_state; - } - for (i = 0; i < 4; i++) { - if (D_801F9DAC[i] == 1) { - D_801F9DBC[i] = func_8002AF48(i); - } else { - D_801F9DBC[i] = 0; - } - } - if (D_801F9DBC[0] == 0 && D_801F9DBC[1] == 0 && D_801F9DBC[2] == 0 && - D_801F9DBC[3] == 0) { - goto reset_state; - } - D_8011512C = 1; - D_8011511A = (func_8002AF60() & 3) + 1; - func_801F0F28(); - break; - } - - if (ret != 0) { - D_801F32E0 = ret; - } -} - +INCLUDE_ASM("asm/md_SC03_076/nonmatchings/md_SC03_076", func_801F0734); INCLUDE_ASM("asm/md_SC03_076/nonmatchings/md_SC03_076", func_801F0A9C); diff --git a/src/md_SC03_135/md_SC03_135.c b/src/md_SC03_135/md_SC03_135.c index 189d54b59..d72b32dbf 100644 --- a/src/md_SC03_135/md_SC03_135.c +++ b/src/md_SC03_135/md_SC03_135.c @@ -284,3 +284,660 @@ INCLUDE_RODATA("asm/md_SC03_135/nonmatchings/md_SC03_135", D_801E25E8); INCLUDE_RODATA("asm/md_SC03_135/nonmatchings/md_SC03_135", D_801E26C0); INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135", func_801E2D34); + +INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135", func_801E3390); + + typedef struct { s8 c[8]; } Blk8_8012C890_8017C348_801E3540; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_801E3540; + +/* func_801E3540 (ov_MAIN_012 / jr_801789AC) — 188 ins, byte-exact vs + * asm/ov_MAIN_012/nonmatchings/ov_MAIN_012_jr_801789AC/func_801E3540.s + * + * Sprite/quad draw dispatcher: builds an OT chain for one "part list" entry. + * + * Idioms that were load-bearing here (feed these back into the cookbook): + * 1) `dim`/`dim2`/`dim3` are DELIBERATE copies of `flag`. The target keeps + * `flag` in $s7 and copies it into $s6 in each loop preheader and into $s0 + * for the tail. A plain `x = flag;` written in the same basic block as its + * use is killed by cse; it survives only when a multi-pred label separates + * def from use. So: the loop-1 copy is written at the END of the outer + * body (loop.c hoists it into the preheader), the loop-2 copy is written in + * the preheader itself, and the tail copy needs a hard-register pin + * (`register s32 dim3 __asm__("$16")`) because nothing separates it from + * its uses. Same shape as the matched sibling func_8013FAF8 (ov_SC06_008), + * which also needed a pin for exactly this call pair. + * 2) `bp = sp18;` exists only to fix the ORDER of the two loop-1 preheader + * insns. loop.c emits hoisted invariants in body order; writing the + * sp18-relative store address as an explicit pointer makes `addiu $s5,$sp,0x18` + * the FIRST movable, so the `dim` copy lands after it (as in the target). + * 3) The `do { } while (0)` around the loop-1 call is a REGISTER-ALLOCATION + * lever, not dead syntax. flow.c weights REG_N_REFS by loop_depth; the + * extra (never-iterating) loop note gives `ot` 18 weighted refs instead of + * 16, which raises its global-alloc priority above `s` (21 refs / 159 insns) + * and lands the a0/a1 params in $s2/$s3 exactly as the target does. + * `mode` is hoisted out of the wrapper so `dim` does NOT get the same +1 + * (that would swap $s5/$s6 between `bp` and `dim`). + * 4) Low half of sp60[0] uses `& 0xFFFF`, NOT a (u16) cast: the mask keeps the + * operands in SImode so both halves load with `lh`; a (u16) cast makes + * gcc-2.7.2 emit `lhu`. + */ + + +extern s32 func_80024054(u8 *, u8 *); +extern s32 func_800D2650(s32, u8 *, s16, s16, s32, s32); +extern s32 func_800D27DC(s32, s32, void *, s16, s32); +extern s32 func_800D29F8(s32, s32, void *, s16, s32); +extern s32 func_801E3830(s32, s16, s16, s16, s32 *); + +s32 func_801E3540(s32 ot, u8 *s, s16 c) { + + extern u16 D_8011511A; + extern u8 D_801E6584[]; + extern s32 *D_801E64FC[]; + u8 sp18[72]; + s32 sp60[5]; + s32 sp78[8]; + s32 flag; + s32 dim; + s32 dim2; + register s32 dim3 __asm__("$16"); + s32 t; + s16 i; + s16 k; + s32 *p; + u8 *bp; + s16 *q; + s32 r; + s32 mode; + + if (c == 0) { + flag = 0; + } else { + flag = -(D_8011511A != c) & 0xFF; + } + + t = *(s32 *)(s + 0x14); + if (t < 0) { + func_80024054((u8 *)t, sp18); + ot = func_800D2650(ot, sp18, *(s16 *)(s + 0x10), *(s16 *)(s + 0x12), 1, + flag ? 0x585858 : 0x808080); + } else { + p = D_801E64FC[t]; + for (k = 0; k < D_801E6584[*(s32 *)(s + 0x14)]; k++) { + bp = sp18; + dim = flag; + for (i = 0; i < 5; i++) { + if (i == 0) { + sp60[0] = (((s16 *)p)[0] + *(s16 *)(s + 0x10)) & 0xFFFF | + ((((s16 *)p)[1] + *(s16 *)(s + 0x12)) << 16); + } else { + *(s32 *)(bp + 0x48 + i * 4) = p[i]; + } + } + mode = dim ? 3 : 2; + do { + ot = func_800D27DC(mode, ot, sp60, 1, 0); + } while (0); + p += 5; + } + } + + i = 0; + q = *(s16 **)(s + 0x18); + dim2 = flag; + for (;;) { + r = func_801E3830(*(s32 *)(s + 0x1C), *(s16 *)s, c, i++, sp78); + if (r == 0) { + break; + } + if (r < 0) { + func_80024054((u8 *)r, sp18); + if (dim2 != 0) { + sp78[0] = 0x585858; + } + ot = func_800D2650(ot, sp18, q[0], q[1], 1, sp78[0]); + } else { + p = D_801E64FC[r]; + *p = (u16)q[0] | (q[1] << 16); + ot = func_800D27DC(dim2 ? 3 : 2, ot, p, 1, 0); + } + q += 2; + } + + dim3 = flag; + return func_800D29F8(dim3, + func_800D27DC(dim3 != 0, ot, (void *)*(s32 *)(s + 4), + *(s16 *)(s + 0xC), 0), + (void *)*(s32 *)(s + 8), *(s16 *)(s + 0xE), 0); +} + + +s32 func_801E3830(s32 arg0, s16 arg1, s16 arg2, s16 arg3, s32 *arg4) { + extern u8 D_80115158[]; + s32 t0 = 0; + *arg4 = 0x808080; + arg2 = D_80115158[(s16)arg2 * 2]; + if (arg1 < 5) { + if (arg1 > 0) { + if ((s16)arg3 < arg2) { + t0 = *(s32 *)(arg0 + arg3 * 4); + } + } else if (arg1 != 0) { + if ((s16)arg3 < arg2) { + t0 = *(s32 *)(arg0 + arg3 * 4); + } + } + } else if (arg1 != 5) { + if ((s16)arg3 < arg2) { + t0 = *(s32 *)(arg0 + arg3 * 4); + } + } + return t0; +} + + +INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135", func_801E38B4); + +INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135", func_801E3C1C); + +INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135", func_801E40A8); + +u32 func_801E45C0(s32 a0, s32 a1) { + s32 t0; + s32 a2; + s32 a3; + t0 = 0; + a2 = a0; + a3 = 0; + while (a2 >= 10) { + a0 = a0 / 10; + t0 = t0 | ((a2 - (a0 * 2 + a0 * 8)) << a3); + a2 = a0; + a3 += 4; + } + t0 = t0 | (a2 << a3); + return t0 << a1; +} + + +void func_801E4628(val, n, dst, flag) +unsigned int val; +short n; +unsigned short *dst; +short flag; +{ + extern unsigned short *D_801E6350[]; + short i; + int idx; + register unsigned int d __asm__("$3"); + + for (i = 0; i < n; i++) { + d = val >> 28; + idx = d; + if ((flag << 16) != 0) { + if (d != 0) { + flag = 0; + } else { + idx = 10; + } + } + val <<= 4; + *dst = *D_801E6350[idx]; + dst++; + } +} + + +s32 *func_801E46A0(s32 *out) { + typedef struct { u32 addr : 24; u32 len : 8; } PTag_801E46A0; + typedef struct { u32 *ot; u32 pad[4]; } Env_801E46A0; /* 0x14 stride */ + typedef struct { u16 f0; u16 f2; } Prim4_801E46A0; + typedef struct { + s16 f0; /* 0x00 */ + s16 f2; /* 0x02 */ + void *f4; /* 0x04 */ + void *f8; /* 0x08 */ + s16 fC; /* 0x0C */ + s16 fE; /* 0x0E */ + s16 f10; /* 0x10 */ + s16 f12; /* 0x12 */ + void *f14; /* 0x14 */ + Prim4_801E46A0 *f18; /* 0x18 */ + void *f1C; /* 0x1C */ + } Panel_801E46A0; /* 0x20 stride */ + + extern Env_801E46A0 D_800AE7BC[]; + extern short D_800B9A02; + extern s32 D_80115134; + extern u16 D_8011511A; + extern s16 D_8011512C; + extern u16 D_80115116; + extern u16 D_801E65A8[]; + extern s32 func_8005A600(s32, s32, s32, s32, s32); + + Prim4_801E46A0 *q; + volatile u16 *pb; + s32 n; + s32 d; + + q = ((Panel_801E46A0 *)D_80115134)[*(s16 *)&D_8011511A].f18; + if (D_8011512C == 1) { + n = D_801E65A8[D_80115116 & 7]; + } else { + n = 0; + } + + out[0] = 0x04000000; + *((u8 *)out + 0xC) = 0x70; + *((u8 *)out + 0xD) = 0x10; + out[1] = 0x64808080; + pb = (volatile u16 *)&D_800B9A02; + *(u16 *)((u8 *)out + 0xE) = 0x4056; + + d = n - 0x60; /* [L2] */ + *(s16 *)((u8 *)out + 0x8) = q->f0 + d; + *(s16 *)((u8 *)out + 0xA) = q->f2 - 2; + *(s16 *)((u8 *)out + 0x12) = 0x10; + *(s16 *)((u8 *)out + 0x10) = 0x10; + + ((PTag_801E46A0 *)out)->addr = + ((PTag_801E46A0 *)(D_800AE7BC[*pb].ot + 2))->addr; + ((PTag_801E46A0 *)(D_800AE7BC[*pb].ot + 2))->addr = (u32)out; + + out += 5; /* [L1] */ + func_8005A600((s32)out, 0, 0, 0x15, 0); + + ((PTag_801E46A0 *)out)->addr = + ((PTag_801E46A0 *)(D_800AE7BC[*pb].ot + 2))->addr; + { + u32 *op; + register u32 v __asm__("$2"); /* [L3] */ + op = D_800AE7BC[*pb].ot; + v = op[2]; + v = (v & 0xFF000000) | (((u32)out) & 0xFFFFFF); + op[2] = v; + } + + return out + 2; +} + + +void func_801E4890(void) { + extern void func_80016714(s8 *a0, s32 a1); + extern s8 D_801EA960; + func_80016714(&D_801EA960, 0x2DC); +} + + + +/* 152-byte engine block, copied whole (struct assignment -> 9x16B block move + 8B tail). + * Uniquely suffixed: the host TU already sees `Blk152` from engine_types.h, and a C89 + * re-typedef of a visible name is a redefinition error. Same layout, same codegen. */ +typedef struct { u32 w[38]; } Blk152_8017DF40_801E48B8; +/* ALIGN-1 4-byte element => lwl/lwr + swl/swr (cookbook §160a); a u32[] loop is wrong. */ +typedef struct { u8 b[4]; } Blk4_8017DF40_801E48B8; + + + +/* Param is declared s32 by the host TU's file-scope prototype (:3695); the true test is + * 16-bit (`sll $a0,$a0,16 ; bnez`, no sra), so the truncation lives in the test instead. */ +void func_801E48B8(s32 arg0) { + + extern u8 D_80078E78[]; /* live: 152-byte block (host TU declares this identically) */ + extern u16 D_800A6588[]; /* live: u16[64] */ + extern u8 D_800AE648[]; /* live: u8[64] */ + extern u8 D_800BA1B8[]; /* live: u8[256] */ + extern u8 D_800BA2B8[]; /* live: 4-byte struct[24], align 1 */ + extern u8 D_801EA984[]; /* shadow: +0x000 */ + extern u16 D_801EAA1C[]; /* shadow: +0x098 */ + extern u8 D_801EAA9C[]; /* shadow: +0x118 */ + extern u8 D_801EAADC[]; /* shadow: +0x158 */ + extern u8 D_801EABDC[]; /* shadow: +0x258 */ + s16 i; + + if ((s16)arg0 == 0) { + *(Blk152_8017DF40_801E48B8 *)D_80078E78 = *(Blk152_8017DF40_801E48B8 *)D_801EA984; + for (i = 0; i < 64; i++) { + D_800A6588[i] = D_801EAA1C[i]; + } + for (i = 0; i < 64; i++) { + D_800AE648[i] = D_801EAA9C[i]; + } + for (i = 0; i < 256; i++) { + D_800BA1B8[i] = D_801EAADC[i]; + } + for (i = 0; i < 24; i++) { + ((Blk4_8017DF40_801E48B8 *)D_800BA2B8)[i] = ((Blk4_8017DF40_801E48B8 *)D_801EABDC)[i]; + } + } else { + *(Blk152_8017DF40_801E48B8 *)D_801EA984 = *(Blk152_8017DF40_801E48B8 *)D_80078E78; + for (i = 0; i < 64; i++) { + D_801EAA1C[i] = D_800A6588[i]; + } + for (i = 0; i < 64; i++) { + D_801EAA9C[i] = D_800AE648[i]; + } + for (i = 0; i < 256; i++) { + D_801EAADC[i] = D_800BA1B8[i]; + } + for (i = 0; i < 24; i++) { + ((Blk4_8017DF40_801E48B8 *)D_801EABDC)[i] = ((Blk4_8017DF40_801E48B8 *)D_800BA2B8)[i]; + } + } +} + + +extern void func_8014B00C(void); +extern void func_80029344(void); +void func_801E4BA4(void) { + func_8014B00C(); + func_80029344(); +} + + +extern u8 *D_80126B10; +extern u8 D_801E6644[]; +extern void func_80175414(s32 _arg0); +void func_800167B8(int); + +int func_801E4BCC(u8 *arg) { + extern u8 *D_80126B10; + D_80126B10 = D_801E6644; + func_800167B8(0); + ((void (*)(void))func_80175414)(); + arg[0x15]++; + return 0; +} + + + +extern s32 func_800167F0(s32 a0); + +s32 func_801E4C24(void) { + return (func_800167F0(0) & 0xffff) != 0; +} + + +extern void func_8016EDEC(s32 a0, s32 a1, s32 a2); +extern void func_801E4F30(void *a0); + +s32 func_801E4C48(s32 param_1) { + extern s32 D_801EAC68; + + D_801EAC68 = 0; + ((void (*)(void *, s32))func_8016EDEC)((void *)func_801E4F30, 0x1000000); + *(u8 *)(param_1 + 0x15) = *(u8 *)(param_1 + 0x15) + 1; + *(s32 *)(param_1 + 0x28) = 0x10; + return 0; +} + + + + +extern s32 func_800D1E28(void); +extern s32 func_8002D4C8(s32, s32); +extern s32 func_8001BFD0(void); +extern s32 func_800291B4(s32); +extern s32 func_80029524(void); +extern s32 func_800D0C48(s32); + +s32 func_801E4C9C(s32 param_1) { + if ((*(s32 *)(param_1 + 0x28) = *(s32 *)(param_1 + 0x28) - 1) == -1) { + func_800D1E28(); + func_8002D4C8(0x1C, 0); + func_8001BFD0(); + if ((func_800291B4(0xCE) & 0xFF) == 0 && func_80029524() == 0) { + func_8002D4C8(0x1D, 0); + func_800D0C48(1); + } + *(u8 *)(param_1 + 0x15) = *(u8 *)(param_1 + 0x15) + 1; + } + return 0; +} + + +extern void func_800D1EBC(void); +void func_801E4D3C(void) { + func_800D1EBC(); +} + + + + +void func_801E4D5C(void *a0) { + + extern void (*D_801E65E8[])(void); + D_801E65E8[*(u8 *)((s32)a0 + 0x15)](); +} + + +s32 func_801E4D98(void *a0) { + extern void (*D_801E65F0[])(void); + extern void func_801E5324(void); + extern s32 D_801EAC68; + s32 v0; + + v0 = ((s32 (*)(void))D_801E65F0[*(u8 *)((s32)a0 + 0x15)])(); + if (v0 != 0 && D_801EAC68 != 0) { + return 1; + } + D_801EAC68 = ((s32 (*)(void))func_801E5324)(); + return 0; +} + + + + +void func_801E4E04(void *a0) { + + extern void (*D_801E6674[])(void); + D_801E6674[*(u8 *)((s32)a0 + 0x214)](); +} + + +extern void func_80171A1C(void*); +extern void func_80175414(s32 _arg0); +void func_801E4E40(void) { + ((void (*)(void))func_80171A1C)(); + ((void (*)(void))func_80175414)(); +} + + +typedef struct { u8 c[8]; } Blk8; +const Blk8 D_801E2840 = {{0x00, 0x00, 0x7E, 0xFF, 0xB0, 0x00, 0x00, 0x00}}; +extern s32 func_80171D78(u32, void *); +extern void func_80171A1C(void*); + +void func_801E4E68(u32 arg0) { + Blk8 buffer; + + buffer = D_801E2840; + + if (func_80171D78(arg0, &buffer)) { + ((void (*)(u32))func_80171A1C)(arg0); + } +} + + + +extern s32 func_80014C54(s32, s32, s32); +extern void func_800D1724(void *); +extern void func_80171A1C(void *); + +void func_801E4ED0(void *arg0) { + + extern u8 D_801E6644[]; + s32 result; + result = func_80014C54(0, 0, 0x80); + if ((result << 16) != 0) { + func_800D1724(&(*(int *)D_801E6644)); + func_80171A1C(arg0); + } +} + + +void func_801E4F28(void) { +} + + + +void func_801E4F30(void *a0) { + + extern void (*D_801E6684[])(void); + D_801E6684[*(u8 *)((s32)a0 + 0x214)](); +} + + +extern void func_80171A1C(void*); +void func_801E4F6C(void) { + ((void (*)(void))func_80171A1C)(); +} + + + +const Blk8 D_801E2848 = {{0xD5, 0xFF, 0x7E, 0xFF, 0xF5, 0xFE, 0x00, 0x00}}; +extern s32 func_80171D78(u32, void *); +extern void func_80171A1C(void*); + +void func_801E4F8C(u32 arg0) { + Blk8 buffer; + + buffer = D_801E2848; + + if (func_80171D78(arg0, &buffer)) { + ((void (*)(u32))func_80171A1C)(arg0); + } +} + + +void func_801E4FF4(void) { +} + + +extern void func_8012A018(s32 a0, s32 a1); +extern void func_8012A094(s32 a0); +extern void func_801E50C0(void *a0); + +void func_801E4FFC(void) { + + extern s32 D_80126950; + extern s32 D_80126954; + extern s32 D_8012695C; + extern s16 D_80126968; + extern s16 D_8012696A; + extern s16 D_8012696C; + extern s16 D_80126976; + extern s16 D_80126978; + extern s16 D_8012697A; + extern u8 D_80126948[]; + extern s16 D_801274E8; + extern s16 D_801274EA; + extern s16 D_801274EC; + + D_80126954 = 0x190; + D_80126950 = 0x190; + D_8012695C = 0x82; + D_80126968 = 0xFB1; + D_8012696A = 0x7C7; + D_8012696C = 0; + D_80126976 = 0; + D_80126978 = -0x36; + D_8012697A = 0; + func_8012A018((s32)func_801E50C0, 0); + func_801E50C0(D_80126948); + func_8012A094((s32)D_80126948); + D_801274EA = -0x82; + D_801274E8 = 0; + D_801274EC = -0x1B0; +} + + + + +void func_801E50C0(void *a0) { + + extern void (*D_801E6690[])(void); + D_801E6690[*(u8 *)((s32)a0 + 0x4)](); +} + + +extern void func_801E5124(s32 param_1, s16 *param_2); + +void func_801E50FC(s32 param_1) { + extern s16 D_801274E8; + func_801E5124(param_1, &D_801274E8); +} + + + +/* MATRIX 0x20: short m[3][3] @0x00 (18B) + 2B pad, long t[3] @0x14 (PsyQ layout) */ +typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4_801E5124; +typedef struct { short vx, vy, vz, pad; } SVECTOR_801EDED4_801E5124; + +extern u16 func_80148800(s32 *a0); +extern s32 func_80012C6C(s32 a0, s32 a1, s32 a2); +extern s32 func_80012ABC(s32 a0, s32 a1, s32 a2); +extern void func_80049CAC(s32 a0, s32 a1); +extern void func_8012F14C(s32 a0, s32 a1, s32 a2); + +void func_801E5124(s32 param_1, s16 *param_2) { + + extern s32 D_80126B58; + extern s16 D_801E6694[]; + extern u16 D_801E6698[]; + + MATRIX_801EDED4_801E5124 m1; + SVECTOR_801EDED4_801E5124 svec_in; + SVECTOR_801EDED4_801E5124 svec_out; + u8 t; + + if (func_80148800(&D_80126B58) & 3) { + t = (*(u8 *)(param_1 + 5) + 1) & 1; + *(u8 *)(param_1 + 5) = t; + *(s32 *)(param_1 + 0xC) = D_801E6694[t]; + *(s16 *)(param_1 + 0x2E) = D_801E6698[*(u8 *)(param_1 + 5)]; + } + + *(s32 *)(param_1 + 0x8) = (s16)func_80012C6C((s32)*(s16 *)(param_1 + 0x8), (s32)*(s16 *)(param_1 + 0xC), 0xA); + *(s32 *)(param_1 + 0x10) = (s16)func_80012C6C((s32)*(s16 *)(param_1 + 0x10), (s32)*(s16 *)(param_1 + 0x14), 0xA); + *(s16 *)(param_1 + 0x18) = func_80012ABC((s32)*(s16 *)(param_1 + 0x18), (s32)*(s16 *)(param_1 + 0x20), 0xA); + *(s16 *)(param_1 + 0x1A) = func_80012ABC((s32)*(s16 *)(param_1 + 0x1A), (s32)*(s16 *)(param_1 + 0x22), 0xA); + *(s16 *)(param_1 + 0x1C) = func_80012ABC((s32)*(s16 *)(param_1 + 0x1C), (s32)*(s16 *)(param_1 + 0x24), 0xA); + *(s16 *)(param_1 + 0x28) = func_80012C6C((s32)*(s16 *)(param_1 + 0x28), (s32)*(s16 *)(param_1 + 0x2E), 0xA); + *(s16 *)(param_1 + 0x2A) = func_80012C6C((s32)*(s16 *)(param_1 + 0x2A), (s32)*(s16 *)(param_1 + 0x30), 0xA); + *(s16 *)(param_1 + 0x2C) = func_80012C6C((s32)*(s16 *)(param_1 + 0x2C), (s32)*(s16 *)(param_1 + 0x32), 0xA); + + *(s32 *)(param_1 + 0x48) = (s32)*(s16 *)(param_1 + 0x28) + (s32)param_2[0]; + *(s32 *)(param_1 + 0x4C) = (s32)*(s16 *)(param_1 + 0x2A) + (s32)param_2[1]; + *(s32 *)(param_1 + 0x50) = (s32)*(s16 *)(param_1 + 0x2C) + (s32)param_2[2]; + func_80049CAC(param_1 + 0x18, (s32)&m1); + + m1.t[0] = *(s16 *)(param_1 + 0x28) + param_2[0]; + m1.t[1] = *(s16 *)(param_1 + 0x2A) + param_2[1]; + m1.t[2] = *(s16 *)(param_1 + 0x2C) + param_2[2]; + svec_in.vx = 0; + svec_in.vy = 0; + svec_in.vz = *(s32 *)(param_1 + 0x10); + ((void (*)(s32, s32, s32))func_8012F14C)((s32)&m1, (s32)&svec_in, (s32)&svec_out); + + *(s32 *)(param_1 + 0x3C) = (s32)svec_out.vx; + *(s32 *)(param_1 + 0x40) = (s32)svec_out.vy; + *(s32 *)(param_1 + 0x44) = (s32)svec_out.vz; +} + + + +s32 func_801E531C(void) { + return 39; +} + + + + +extern void func_8001ABBC(u32, u32, void *, u32, u32); + +void func_801E5324(void) { + + extern u8 D_800AF040[]; + func_8001ABBC(0, 0, D_800AF040, 0, 0); +} diff --git a/src/md_SC03_135/md_SC03_135_jr_801E3390.c b/src/md_SC03_135/md_SC03_135_jr_801E3390.c deleted file mode 100644 index 4757a9e2c..000000000 --- a/src/md_SC03_135/md_SC03_135_jr_801E3390.c +++ /dev/null @@ -1,749 +0,0 @@ -#include "common.h" - -/* ==== Phase-26 §8b carried decl layer (jr_isolate_all.py) =================== - * The file-scope decl environment from earlier code regions of this object — - * file-local types, col-0 decls, DEFINE_func macro externs, and each earlier - * definition's implied prototype (types first, then decls in original order). - * Decls emit no code => byte-neutral. See cookbook §8c. */ -extern void func_801E2864(void); -extern s32 func_801E288C(void); -extern s32 func_80029504(void); -extern void func_801E2980(s32 arg0, s32 arg1); -extern void func_801E28D0(void); -extern void func_801E295C(void); -extern s16 func_801E2970(void); -extern u16 D_80115116; -extern unsigned short D_80115112; -extern void (*D_801E65D0[])(void); -extern void func_80141C04(void); -extern void func_801E29F8(void); -extern void func_801E2A54(void); -extern void func_801E2A98(void); -extern void func_801E2BC4(void); -extern void func_801E2BE0(void); -extern void func_801E2CC0(void); -extern void func_800D2624(void); -extern void func_801E2CDC(void); -/* ==== end §8b carried decl layer ==== */ - -s32 func_801E3390(void) { - typedef struct { u32 *ot; u32 pad[4]; } Env_801E46A0; - extern s32 *func_801E46A0(s32 *); - extern s32 func_801E3540(s32, u8 *, s16); - extern s32 func_8005A600(s32, s32, s32, s32, s32); - extern s32 D_801151D0; - extern s16 D_8011512C; - extern s32 D_80115134; - extern s16 D_800B9A02; - extern Env_801E46A0 D_800AE7BC[]; - - s32 ot; - u8 *s2; - s16 n; - s16 i; - - ot = D_801151D0; - s2 = D_80115134; - - if (D_8011512C == 1 || D_8011512C == 2) { - ot = (s32)func_801E46A0((s32 *)ot); - } - - switch (D_8011512C) { - case 0: - case 5: - case 8: - case 9: - n = 1; - break; - case 1: - case 2: - n = 5; - break; - case 3: - case 4: - case 10: - case 11: - n = 5; - goto CALL; - case 6: - case 7: - case 12: - n = 1; - CALL: - ot = func_801E3540(ot, s2 + 0xA0, 0); - break; - } - - for (i = 0; i < n; i++) { - ot = func_801E3540(ot, s2, i); - s2 += 0x20; - } - - func_8005A600(ot, 0, 0, 0x15, 0); - - *(s32 *)ot = 0x02000000; - *(s32 *)ot = (D_800AE7BC[*(u16 *)&D_800B9A02].ot[2] & 0xFFFFFF) | 0x02000000; - D_800AE7BC[*(u16 *)&D_800B9A02].ot[2] = - (D_800AE7BC[*(u16 *)&D_800B9A02].ot[2] & 0xFF000000) | ((u32)ot & 0xFFFFFF); - - ot += 0x28; - ((struct { s32 f; } *)&D_801151D0)->f = ot; -} - - - typedef struct { s8 c[8]; } Blk8_8012C890_8017C348_801E3540; -typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_801E3540; - -/* func_801E3540 (ov_MAIN_012 / jr_801789AC) — 188 ins, byte-exact vs - * asm/ov_MAIN_012/nonmatchings/ov_MAIN_012_jr_801789AC/func_801E3540.s - * - * Sprite/quad draw dispatcher: builds an OT chain for one "part list" entry. - * - * Idioms that were load-bearing here (feed these back into the cookbook): - * 1) `dim`/`dim2`/`dim3` are DELIBERATE copies of `flag`. The target keeps - * `flag` in $s7 and copies it into $s6 in each loop preheader and into $s0 - * for the tail. A plain `x = flag;` written in the same basic block as its - * use is killed by cse; it survives only when a multi-pred label separates - * def from use. So: the loop-1 copy is written at the END of the outer - * body (loop.c hoists it into the preheader), the loop-2 copy is written in - * the preheader itself, and the tail copy needs a hard-register pin - * (`register s32 dim3 __asm__("$16")`) because nothing separates it from - * its uses. Same shape as the matched sibling func_8013FAF8 (ov_SC06_008), - * which also needed a pin for exactly this call pair. - * 2) `bp = sp18;` exists only to fix the ORDER of the two loop-1 preheader - * insns. loop.c emits hoisted invariants in body order; writing the - * sp18-relative store address as an explicit pointer makes `addiu $s5,$sp,0x18` - * the FIRST movable, so the `dim` copy lands after it (as in the target). - * 3) The `do { } while (0)` around the loop-1 call is a REGISTER-ALLOCATION - * lever, not dead syntax. flow.c weights REG_N_REFS by loop_depth; the - * extra (never-iterating) loop note gives `ot` 18 weighted refs instead of - * 16, which raises its global-alloc priority above `s` (21 refs / 159 insns) - * and lands the a0/a1 params in $s2/$s3 exactly as the target does. - * `mode` is hoisted out of the wrapper so `dim` does NOT get the same +1 - * (that would swap $s5/$s6 between `bp` and `dim`). - * 4) Low half of sp60[0] uses `& 0xFFFF`, NOT a (u16) cast: the mask keeps the - * operands in SImode so both halves load with `lh`; a (u16) cast makes - * gcc-2.7.2 emit `lhu`. - */ - - -extern s32 func_80024054(u8 *, u8 *); -extern s32 func_800D2650(s32, u8 *, s16, s16, s32, s32); -extern s32 func_800D27DC(s32, s32, void *, s16, s32); -extern s32 func_800D29F8(s32, s32, void *, s16, s32); -extern s32 func_801E3830(s32, s16, s16, s16, s32 *); - -s32 func_801E3540(s32 ot, u8 *s, s16 c) { - - extern u16 D_8011511A; - extern u8 D_801E6584[]; - extern s32 *D_801E64FC[]; - u8 sp18[72]; - s32 sp60[5]; - s32 sp78[8]; - s32 flag; - s32 dim; - s32 dim2; - register s32 dim3 __asm__("$16"); - s32 t; - s16 i; - s16 k; - s32 *p; - u8 *bp; - s16 *q; - s32 r; - s32 mode; - - if (c == 0) { - flag = 0; - } else { - flag = -(D_8011511A != c) & 0xFF; - } - - t = *(s32 *)(s + 0x14); - if (t < 0) { - func_80024054((u8 *)t, sp18); - ot = func_800D2650(ot, sp18, *(s16 *)(s + 0x10), *(s16 *)(s + 0x12), 1, - flag ? 0x585858 : 0x808080); - } else { - p = D_801E64FC[t]; - for (k = 0; k < D_801E6584[*(s32 *)(s + 0x14)]; k++) { - bp = sp18; - dim = flag; - for (i = 0; i < 5; i++) { - if (i == 0) { - sp60[0] = (((s16 *)p)[0] + *(s16 *)(s + 0x10)) & 0xFFFF | - ((((s16 *)p)[1] + *(s16 *)(s + 0x12)) << 16); - } else { - *(s32 *)(bp + 0x48 + i * 4) = p[i]; - } - } - mode = dim ? 3 : 2; - do { - ot = func_800D27DC(mode, ot, sp60, 1, 0); - } while (0); - p += 5; - } - } - - i = 0; - q = *(s16 **)(s + 0x18); - dim2 = flag; - for (;;) { - r = func_801E3830(*(s32 *)(s + 0x1C), *(s16 *)s, c, i++, sp78); - if (r == 0) { - break; - } - if (r < 0) { - func_80024054((u8 *)r, sp18); - if (dim2 != 0) { - sp78[0] = 0x585858; - } - ot = func_800D2650(ot, sp18, q[0], q[1], 1, sp78[0]); - } else { - p = D_801E64FC[r]; - *p = (u16)q[0] | (q[1] << 16); - ot = func_800D27DC(dim2 ? 3 : 2, ot, p, 1, 0); - } - q += 2; - } - - dim3 = flag; - return func_800D29F8(dim3, - func_800D27DC(dim3 != 0, ot, (void *)*(s32 *)(s + 4), - *(s16 *)(s + 0xC), 0), - (void *)*(s32 *)(s + 8), *(s16 *)(s + 0xE), 0); -} - - -s32 func_801E3830(s32 arg0, s16 arg1, s16 arg2, s16 arg3, s32 *arg4) { - extern u8 D_80115158[]; - s32 t0 = 0; - *arg4 = 0x808080; - arg2 = D_80115158[(s16)arg2 * 2]; - if (arg1 < 5) { - if (arg1 > 0) { - if ((s16)arg3 < arg2) { - t0 = *(s32 *)(arg0 + arg3 * 4); - } - } else if (arg1 != 0) { - if ((s16)arg3 < arg2) { - t0 = *(s32 *)(arg0 + arg3 * 4); - } - } - } else if (arg1 != 5) { - if ((s16)arg3 < arg2) { - t0 = *(s32 *)(arg0 + arg3 * 4); - } - } - return t0; -} - - -INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135_jr_801E3390", func_801E38B4); - -INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135_jr_801E3390", func_801E3C1C); - -INCLUDE_ASM("asm/md_SC03_135/nonmatchings/md_SC03_135_jr_801E3390", func_801E40A8); - -u32 func_801E45C0(s32 a0, s32 a1) { - s32 t0; - s32 a2; - s32 a3; - t0 = 0; - a2 = a0; - a3 = 0; - while (a2 >= 10) { - a0 = a0 / 10; - t0 = t0 | ((a2 - (a0 * 2 + a0 * 8)) << a3); - a2 = a0; - a3 += 4; - } - t0 = t0 | (a2 << a3); - return t0 << a1; -} - - -void func_801E4628(val, n, dst, flag) -unsigned int val; -short n; -unsigned short *dst; -short flag; -{ - extern unsigned short *D_801E6350[]; - short i; - int idx; - register unsigned int d __asm__("$3"); - - for (i = 0; i < n; i++) { - d = val >> 28; - idx = d; - if ((flag << 16) != 0) { - if (d != 0) { - flag = 0; - } else { - idx = 10; - } - } - val <<= 4; - *dst = *D_801E6350[idx]; - dst++; - } -} - - -s32 *func_801E46A0(s32 *out) { - typedef struct { u32 addr : 24; u32 len : 8; } PTag_801E46A0; - typedef struct { u32 *ot; u32 pad[4]; } Env_801E46A0; /* 0x14 stride */ - typedef struct { u16 f0; u16 f2; } Prim4_801E46A0; - typedef struct { - s16 f0; /* 0x00 */ - s16 f2; /* 0x02 */ - void *f4; /* 0x04 */ - void *f8; /* 0x08 */ - s16 fC; /* 0x0C */ - s16 fE; /* 0x0E */ - s16 f10; /* 0x10 */ - s16 f12; /* 0x12 */ - void *f14; /* 0x14 */ - Prim4_801E46A0 *f18; /* 0x18 */ - void *f1C; /* 0x1C */ - } Panel_801E46A0; /* 0x20 stride */ - - extern Env_801E46A0 D_800AE7BC[]; - extern short D_800B9A02; - extern s32 D_80115134; - extern u16 D_8011511A; - extern s16 D_8011512C; - extern u16 D_80115116; - extern u16 D_801E65A8[]; - extern s32 func_8005A600(s32, s32, s32, s32, s32); - - Prim4_801E46A0 *q; - volatile u16 *pb; - s32 n; - s32 d; - - q = ((Panel_801E46A0 *)D_80115134)[*(s16 *)&D_8011511A].f18; - if (D_8011512C == 1) { - n = D_801E65A8[D_80115116 & 7]; - } else { - n = 0; - } - - out[0] = 0x04000000; - *((u8 *)out + 0xC) = 0x70; - *((u8 *)out + 0xD) = 0x10; - out[1] = 0x64808080; - pb = (volatile u16 *)&D_800B9A02; - *(u16 *)((u8 *)out + 0xE) = 0x4056; - - d = n - 0x60; /* [L2] */ - *(s16 *)((u8 *)out + 0x8) = q->f0 + d; - *(s16 *)((u8 *)out + 0xA) = q->f2 - 2; - *(s16 *)((u8 *)out + 0x12) = 0x10; - *(s16 *)((u8 *)out + 0x10) = 0x10; - - ((PTag_801E46A0 *)out)->addr = - ((PTag_801E46A0 *)(D_800AE7BC[*pb].ot + 2))->addr; - ((PTag_801E46A0 *)(D_800AE7BC[*pb].ot + 2))->addr = (u32)out; - - out += 5; /* [L1] */ - func_8005A600((s32)out, 0, 0, 0x15, 0); - - ((PTag_801E46A0 *)out)->addr = - ((PTag_801E46A0 *)(D_800AE7BC[*pb].ot + 2))->addr; - { - u32 *op; - register u32 v __asm__("$2"); /* [L3] */ - op = D_800AE7BC[*pb].ot; - v = op[2]; - v = (v & 0xFF000000) | (((u32)out) & 0xFFFFFF); - op[2] = v; - } - - return out + 2; -} - - -void func_801E4890(void) { - extern void func_80016714(s8 *a0, s32 a1); - extern s8 D_801EA960; - func_80016714(&D_801EA960, 0x2DC); -} - - - -/* 152-byte engine block, copied whole (struct assignment -> 9x16B block move + 8B tail). - * Uniquely suffixed: the host TU already sees `Blk152` from engine_types.h, and a C89 - * re-typedef of a visible name is a redefinition error. Same layout, same codegen. */ -typedef struct { u32 w[38]; } Blk152_8017DF40_801E48B8; -/* ALIGN-1 4-byte element => lwl/lwr + swl/swr (cookbook §160a); a u32[] loop is wrong. */ -typedef struct { u8 b[4]; } Blk4_8017DF40_801E48B8; - - - -/* Param is declared s32 by the host TU's file-scope prototype (:3695); the true test is - * 16-bit (`sll $a0,$a0,16 ; bnez`, no sra), so the truncation lives in the test instead. */ -void func_801E48B8(s32 arg0) { - - extern u8 D_80078E78[]; /* live: 152-byte block (host TU declares this identically) */ - extern u16 D_800A6588[]; /* live: u16[64] */ - extern u8 D_800AE648[]; /* live: u8[64] */ - extern u8 D_800BA1B8[]; /* live: u8[256] */ - extern u8 D_800BA2B8[]; /* live: 4-byte struct[24], align 1 */ - extern u8 D_801EA984[]; /* shadow: +0x000 */ - extern u16 D_801EAA1C[]; /* shadow: +0x098 */ - extern u8 D_801EAA9C[]; /* shadow: +0x118 */ - extern u8 D_801EAADC[]; /* shadow: +0x158 */ - extern u8 D_801EABDC[]; /* shadow: +0x258 */ - s16 i; - - if ((s16)arg0 == 0) { - *(Blk152_8017DF40_801E48B8 *)D_80078E78 = *(Blk152_8017DF40_801E48B8 *)D_801EA984; - for (i = 0; i < 64; i++) { - D_800A6588[i] = D_801EAA1C[i]; - } - for (i = 0; i < 64; i++) { - D_800AE648[i] = D_801EAA9C[i]; - } - for (i = 0; i < 256; i++) { - D_800BA1B8[i] = D_801EAADC[i]; - } - for (i = 0; i < 24; i++) { - ((Blk4_8017DF40_801E48B8 *)D_800BA2B8)[i] = ((Blk4_8017DF40_801E48B8 *)D_801EABDC)[i]; - } - } else { - *(Blk152_8017DF40_801E48B8 *)D_801EA984 = *(Blk152_8017DF40_801E48B8 *)D_80078E78; - for (i = 0; i < 64; i++) { - D_801EAA1C[i] = D_800A6588[i]; - } - for (i = 0; i < 64; i++) { - D_801EAA9C[i] = D_800AE648[i]; - } - for (i = 0; i < 256; i++) { - D_801EAADC[i] = D_800BA1B8[i]; - } - for (i = 0; i < 24; i++) { - ((Blk4_8017DF40_801E48B8 *)D_801EABDC)[i] = ((Blk4_8017DF40_801E48B8 *)D_800BA2B8)[i]; - } - } -} - - -extern void func_8014B00C(void); -extern void func_80029344(void); -void func_801E4BA4(void) { - func_8014B00C(); - func_80029344(); -} - - -extern u8 *D_80126B10; -extern u8 D_801E6644[]; -extern void func_80175414(s32 _arg0); -void func_800167B8(int); - -int func_801E4BCC(u8 *arg) { - extern u8 *D_80126B10; - D_80126B10 = D_801E6644; - func_800167B8(0); - ((void (*)(void))func_80175414)(); - arg[0x15]++; - return 0; -} - - - -extern s32 func_800167F0(s32 a0); - -s32 func_801E4C24(void) { - return (func_800167F0(0) & 0xffff) != 0; -} - - -extern void func_8016EDEC(s32 a0, s32 a1, s32 a2); -extern void func_801E4F30(void *a0); - -s32 func_801E4C48(s32 param_1) { - extern s32 D_801EAC68; - - D_801EAC68 = 0; - ((void (*)(void *, s32))func_8016EDEC)((void *)func_801E4F30, 0x1000000); - *(u8 *)(param_1 + 0x15) = *(u8 *)(param_1 + 0x15) + 1; - *(s32 *)(param_1 + 0x28) = 0x10; - return 0; -} - - - - -extern s32 func_800D1E28(void); -extern s32 func_8002D4C8(s32, s32); -extern s32 func_8001BFD0(void); -extern s32 func_800291B4(s32); -extern s32 func_80029524(void); -extern s32 func_800D0C48(s32); - -s32 func_801E4C9C(s32 param_1) { - if ((*(s32 *)(param_1 + 0x28) = *(s32 *)(param_1 + 0x28) - 1) == -1) { - func_800D1E28(); - func_8002D4C8(0x1C, 0); - func_8001BFD0(); - if ((func_800291B4(0xCE) & 0xFF) == 0 && func_80029524() == 0) { - func_8002D4C8(0x1D, 0); - func_800D0C48(1); - } - *(u8 *)(param_1 + 0x15) = *(u8 *)(param_1 + 0x15) + 1; - } - return 0; -} - - -extern void func_800D1EBC(void); -void func_801E4D3C(void) { - func_800D1EBC(); -} - - - - -void func_801E4D5C(void *a0) { - - extern void (*D_801E65E8[])(void); - D_801E65E8[*(u8 *)((s32)a0 + 0x15)](); -} - - -s32 func_801E4D98(void *a0) { - extern void (*D_801E65F0[])(void); - extern void func_801E5324(void); - extern s32 D_801EAC68; - s32 v0; - - v0 = ((s32 (*)(void))D_801E65F0[*(u8 *)((s32)a0 + 0x15)])(); - if (v0 != 0 && D_801EAC68 != 0) { - return 1; - } - D_801EAC68 = ((s32 (*)(void))func_801E5324)(); - return 0; -} - - - - -void func_801E4E04(void *a0) { - - extern void (*D_801E6674[])(void); - D_801E6674[*(u8 *)((s32)a0 + 0x214)](); -} - - -extern void func_80171A1C(void*); -extern void func_80175414(s32 _arg0); -void func_801E4E40(void) { - ((void (*)(void))func_80171A1C)(); - ((void (*)(void))func_80175414)(); -} - - -typedef struct { u8 c[8]; } Blk8; -const Blk8 D_801E2840 = {{0x00, 0x00, 0x7E, 0xFF, 0xB0, 0x00, 0x00, 0x00}}; -extern s32 func_80171D78(u32, void *); -extern void func_80171A1C(void*); - -void func_801E4E68(u32 arg0) { - Blk8 buffer; - - buffer = D_801E2840; - - if (func_80171D78(arg0, &buffer)) { - ((void (*)(u32))func_80171A1C)(arg0); - } -} - - - -extern s32 func_80014C54(s32, s32, s32); -extern void func_800D1724(void *); -extern void func_80171A1C(void *); - -void func_801E4ED0(void *arg0) { - - extern u8 D_801E6644[]; - s32 result; - result = func_80014C54(0, 0, 0x80); - if ((result << 16) != 0) { - func_800D1724(&(*(int *)D_801E6644)); - func_80171A1C(arg0); - } -} - - -void func_801E4F28(void) { -} - - - -void func_801E4F30(void *a0) { - - extern void (*D_801E6684[])(void); - D_801E6684[*(u8 *)((s32)a0 + 0x214)](); -} - - -extern void func_80171A1C(void*); -void func_801E4F6C(void) { - ((void (*)(void))func_80171A1C)(); -} - - - -const Blk8 D_801E2848 = {{0xD5, 0xFF, 0x7E, 0xFF, 0xF5, 0xFE, 0x00, 0x00}}; -extern s32 func_80171D78(u32, void *); -extern void func_80171A1C(void*); - -void func_801E4F8C(u32 arg0) { - Blk8 buffer; - - buffer = D_801E2848; - - if (func_80171D78(arg0, &buffer)) { - ((void (*)(u32))func_80171A1C)(arg0); - } -} - - -void func_801E4FF4(void) { -} - - -extern void func_8012A018(s32 a0, s32 a1); -extern void func_8012A094(s32 a0); -extern void func_801E50C0(void *a0); - -void func_801E4FFC(void) { - - extern s32 D_80126950; - extern s32 D_80126954; - extern s32 D_8012695C; - extern s16 D_80126968; - extern s16 D_8012696A; - extern s16 D_8012696C; - extern s16 D_80126976; - extern s16 D_80126978; - extern s16 D_8012697A; - extern u8 D_80126948[]; - extern s16 D_801274E8; - extern s16 D_801274EA; - extern s16 D_801274EC; - - D_80126954 = 0x190; - D_80126950 = 0x190; - D_8012695C = 0x82; - D_80126968 = 0xFB1; - D_8012696A = 0x7C7; - D_8012696C = 0; - D_80126976 = 0; - D_80126978 = -0x36; - D_8012697A = 0; - func_8012A018((s32)func_801E50C0, 0); - func_801E50C0(D_80126948); - func_8012A094((s32)D_80126948); - D_801274EA = -0x82; - D_801274E8 = 0; - D_801274EC = -0x1B0; -} - - - - -void func_801E50C0(void *a0) { - - extern void (*D_801E6690[])(void); - D_801E6690[*(u8 *)((s32)a0 + 0x4)](); -} - - -extern void func_801E5124(s32 param_1, s16 *param_2); - -void func_801E50FC(s32 param_1) { - extern s16 D_801274E8; - func_801E5124(param_1, &D_801274E8); -} - - - -/* MATRIX 0x20: short m[3][3] @0x00 (18B) + 2B pad, long t[3] @0x14 (PsyQ layout) */ -typedef struct { short m[3][3]; long t[3]; } MATRIX_801EDED4_801E5124; -typedef struct { short vx, vy, vz, pad; } SVECTOR_801EDED4_801E5124; - -extern u16 func_80148800(s32 *a0); -extern s32 func_80012C6C(s32 a0, s32 a1, s32 a2); -extern s32 func_80012ABC(s32 a0, s32 a1, s32 a2); -extern void func_80049CAC(s32 a0, s32 a1); -extern void func_8012F14C(s32 a0, s32 a1, s32 a2); - -void func_801E5124(s32 param_1, s16 *param_2) { - - extern s32 D_80126B58; - extern s16 D_801E6694[]; - extern u16 D_801E6698[]; - - MATRIX_801EDED4_801E5124 m1; - SVECTOR_801EDED4_801E5124 svec_in; - SVECTOR_801EDED4_801E5124 svec_out; - u8 t; - - if (func_80148800(&D_80126B58) & 3) { - t = (*(u8 *)(param_1 + 5) + 1) & 1; - *(u8 *)(param_1 + 5) = t; - *(s32 *)(param_1 + 0xC) = D_801E6694[t]; - *(s16 *)(param_1 + 0x2E) = D_801E6698[*(u8 *)(param_1 + 5)]; - } - - *(s32 *)(param_1 + 0x8) = (s16)func_80012C6C((s32)*(s16 *)(param_1 + 0x8), (s32)*(s16 *)(param_1 + 0xC), 0xA); - *(s32 *)(param_1 + 0x10) = (s16)func_80012C6C((s32)*(s16 *)(param_1 + 0x10), (s32)*(s16 *)(param_1 + 0x14), 0xA); - *(s16 *)(param_1 + 0x18) = func_80012ABC((s32)*(s16 *)(param_1 + 0x18), (s32)*(s16 *)(param_1 + 0x20), 0xA); - *(s16 *)(param_1 + 0x1A) = func_80012ABC((s32)*(s16 *)(param_1 + 0x1A), (s32)*(s16 *)(param_1 + 0x22), 0xA); - *(s16 *)(param_1 + 0x1C) = func_80012ABC((s32)*(s16 *)(param_1 + 0x1C), (s32)*(s16 *)(param_1 + 0x24), 0xA); - *(s16 *)(param_1 + 0x28) = func_80012C6C((s32)*(s16 *)(param_1 + 0x28), (s32)*(s16 *)(param_1 + 0x2E), 0xA); - *(s16 *)(param_1 + 0x2A) = func_80012C6C((s32)*(s16 *)(param_1 + 0x2A), (s32)*(s16 *)(param_1 + 0x30), 0xA); - *(s16 *)(param_1 + 0x2C) = func_80012C6C((s32)*(s16 *)(param_1 + 0x2C), (s32)*(s16 *)(param_1 + 0x32), 0xA); - - *(s32 *)(param_1 + 0x48) = (s32)*(s16 *)(param_1 + 0x28) + (s32)param_2[0]; - *(s32 *)(param_1 + 0x4C) = (s32)*(s16 *)(param_1 + 0x2A) + (s32)param_2[1]; - *(s32 *)(param_1 + 0x50) = (s32)*(s16 *)(param_1 + 0x2C) + (s32)param_2[2]; - func_80049CAC(param_1 + 0x18, (s32)&m1); - - m1.t[0] = *(s16 *)(param_1 + 0x28) + param_2[0]; - m1.t[1] = *(s16 *)(param_1 + 0x2A) + param_2[1]; - m1.t[2] = *(s16 *)(param_1 + 0x2C) + param_2[2]; - svec_in.vx = 0; - svec_in.vy = 0; - svec_in.vz = *(s32 *)(param_1 + 0x10); - ((void (*)(s32, s32, s32))func_8012F14C)((s32)&m1, (s32)&svec_in, (s32)&svec_out); - - *(s32 *)(param_1 + 0x3C) = (s32)svec_out.vx; - *(s32 *)(param_1 + 0x40) = (s32)svec_out.vy; - *(s32 *)(param_1 + 0x44) = (s32)svec_out.vz; -} - - - -s32 func_801E531C(void) { - return 39; -} - - - - -extern void func_8001ABBC(u32, u32, void *, u32, u32); - -void func_801E5324(void) { - - extern u8 D_800AF040[]; - func_8001ABBC(0, 0, D_800AF040, 0, 0); -} - diff --git a/src/md_SC04_027/md_SC04_027_jr_801EA8C0.c b/src/md_SC04_027/md_SC04_027_jr_801EA8C0.c index 7e0e00a4e..12099e52b 100644 --- a/src/md_SC04_027/md_SC04_027_jr_801EA8C0.c +++ b/src/md_SC04_027/md_SC04_027_jr_801EA8C0.c @@ -480,22 +480,7 @@ void func_801EAFE4(void) { } -void func_801EB014(void) { - extern s32 D_801F2624; - extern u32 D_801F24A4; - s32 n; - s32 i; - u32 *p; - u32 *next; - p = &D_801F24A4; - n = D_801F2624 - 1; - for (i = 0; i < n; i++) { - next = p + 4; - *p = (u32)next; - p = next; - } -} - +INCLUDE_ASM("asm/md_SC04_027/nonmatchings/md_SC04_027_jr_801EA8C0", func_801EB014); extern s32 func_80029504(void); extern void func_80029124(s32 a0, s32 a1); diff --git a/src/md_SC05_026/md_SC05_026.c b/src/md_SC05_026/md_SC05_026.c index f636ddb22..338b1d4e6 100644 --- a/src/md_SC05_026/md_SC05_026.c +++ b/src/md_SC05_026/md_SC05_026.c @@ -300,73 +300,7 @@ INCLUDE_RODATA("asm/md_SC05_026/nonmatchings/md_SC05_026", D_801EDA60); INCLUDE_ASM("asm/md_SC05_026/nonmatchings/md_SC05_026", func_801EE0D4); -void func_801EE730(void) { - typedef struct { u32 *ot; u32 pad[4]; } Env_801EFA40; /* 0x14 stride */ - - extern s32 D_801151D0; - extern s16 D_8011512C; - extern s32 D_80115134; - extern s16 D_800B9A02; - extern Env_801EFA40 D_800AE7BC[]; - - extern s32 *func_801EFA40(s32 *out); - extern s32 func_801EE8E0(s32 ot, u8 *s, s16 c); - extern s32 func_8005A600(s32, s32, s32, s32, s32); - - s32 ot; - u8 *s2; - s16 n; - s16 i; - - ot = D_801151D0; - s2 = (u8 *)D_80115134; - - if (D_8011512C == 1 || D_8011512C == 2) { - ot = (s32)func_801EFA40((s32 *)ot); - } - - switch (D_8011512C) { - case 0: - case 5: - case 8: - case 9: - n = 1; - break; - case 1: - case 2: - n = 5; - break; - case 3: - case 4: - case 10: - case 11: - n = 5; - goto CALL; - case 6: - case 7: - case 12: - n = 1; - CALL: - ot = func_801EE8E0(ot, s2 + 0xA0, 0); - break; - } - - for (i = 0; i < n; i++) { - ot = func_801EE8E0(ot, s2, i); - s2 += 0x20; - } - - func_8005A600(ot, 0, 0, 0x15, 0); - - *(s32 *)ot = 0x02000000; - *(s32 *)ot = (D_800AE7BC[*(u16 *)&D_800B9A02].ot[2] & 0xFFFFFF) | 0x02000000; - D_800AE7BC[*(u16 *)&D_800B9A02].ot[2] = - (D_800AE7BC[*(u16 *)&D_800B9A02].ot[2] & 0xFF000000) | ((u32)ot & 0xFFFFFF); - - ot += 0x28; - ((struct { s32 f; } *)&D_801151D0)->f = ot; -} - +INCLUDE_ASM("asm/md_SC05_026/nonmatchings/md_SC05_026", func_801EE730); typedef struct { s8 c[8]; } Blk8_8012C890_8017C348_801EE8E0; typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C974_801EE8E0; diff --git a/src/md_SC07_004/md_SC07_004.c b/src/md_SC07_004/md_SC07_004.c index 19b880d01..3c0b41740 100644 --- a/src/md_SC07_004/md_SC07_004.c +++ b/src/md_SC07_004/md_SC07_004.c @@ -7097,18 +7097,7 @@ void func_801AD9D4(void *a0) { } - -extern M4_801AE734 D_801B0838[]; - -void func_801ADA10(s32 a0) { - s32 m; - m = (s16)(*(u16 *)(a0 + 0x2E) + 1) % 6; - *(u16 *)(a0 + 0x2E) = *(u16 *)(a0 + 0x2E) + 1; - a0 = *(s32 *)(a0 + 0x34); - *(M4_801AE734 *)(a0 + 0x14) = D_801B0838[(s16)(m * 2)]; - *(M4_801AE734 *)(a0 + 0x18) = D_801B0838[(s16)(m * 2) + 1]; -} - +INCLUDE_ASM("asm/md_SC07_004/nonmatchings/md_SC07_004", func_801ADA10); #include "common.h" diff --git a/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c b/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c index b54a2c0ea..990502e08 100644 --- a/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c +++ b/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c @@ -6875,7 +6875,57 @@ void func_8018A244(int param_1) } -INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8018173C", func_8018A2A0); +extern u16 D_800AF7BC; +extern u16 D_800AF7BE; +extern u8 D_801E8830[]; +extern s16 D_801E8832; +extern u8 D_801E8844[]; + +void func_8018A2A0(void) { + s32 i; + s32 flag; + u16 x; + s16 y; + s32 h; + s16 hv; + s32 p0; + s32 p1; + u32 w; + s32 *pw; + s16 *ph; + + flag = 0; + y = D_801E8832; + x = *(u16 *)D_801E8830; + + if ((y > -((D_800AF7BE >> 1) + 0x10)) && (y < (D_800AF7BE >> 1) + 0x10)) { + if ((-((D_800AF7BC >> 1) + 0x10) < (s16)x)) { + flag = (s16)x < ((D_800AF7BC >> 1) + 0x10); + } + } + + pw = ((s32 *)D_801E8844); + ph = (s16 *)((s32 *)D_801E8844) - 8; + + for (i = 0; i < 8; i++) { + h = pw[i]; + if (h != 0) { + if (flag) { + hv = ph[i]; + p0 = (s16)x * hv; + p1 = y * hv; + w = *(u32 *)(h + 4); + *(u32 *)(h + 4) = w & 0x7FFFFFFF; + *(s16 *)(h + 8) = p0 >> 12; + *(s16 *)(h + 0xA) = p1 >> 12; + } else { + w = *(u32 *)(h + 4); + *(u32 *)(h + 4) = w | 0x80000000; + } + } + } +} + void func_8018A3C8(void *arg0) { s32 i; diff --git a/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c b/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c index 5d5b09cc2..8c754e3f6 100644 --- a/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c +++ b/src/ov_SC02_026/ov_SC02_026_jr_8017C180.c @@ -4300,7 +4300,47 @@ void func_8017EC78(void *arg0) { } -INCLUDE_ASM("asm/ov_SC02_026/nonmatchings/ov_SC02_026_jr_8017C180", func_8017ED0C); +void func_8017ED0C(s32 a0) { + register s32 a3 __asm__("$7"); + s32 e; + s32 e2; + u16 L2; + u16 L3; + u16 L1; + u16 a2b; + u16 f; + s16 t; + + a3 = a0; + *(s16 *)(a3 + 0x2) = 1; + __asm__ __volatile__("" ::: "memory"); + e = *(s32 *)(a3 + 0x78); + __asm__ __volatile__("" : "=r"(L2)); + __asm__ __volatile__("" : "=r"(L3)); + __asm__ __volatile__("" : "=r"(L1)); + __asm__ __volatile__("" : "=r"(a2b)); + L1 = *(u16 *)(a3 + 0x88); + L2 = *(u16 *)(a3 + 0x8A); + L3 = *(u16 *)(a3 + 0x8C); + a2b = *(u16 *)(e + 0x2); + f = *(u16 *)(a3 + 0x70); + *(s16 *)(a3 + 0x6) = L1; + *(s16 *)(a3 + 0xA) = L2; + *(s16 *)(a3 + 0xE) = L3; + *(s16 *)(a3 + 0x5C) = a2b; + if ((f & 1) != 0) { + e2 = *(s32 *)(a3 + 0x20); + *(u16 *)(e2 + 0x2C) = *(u16 *)(e2 + 0x2C) | 0x10; + __asm__ __volatile__("" ::: "memory"); + e2 = *(s32 *)(a3 + 0x20); + t = 0x1666; + *(s16 *)(e2 + 0x1C) = t; + *(s16 *)(e2 + 0x1A) = t; + *(s16 *)(e2 + 0x18) = t; + *(s16 *)(a3 + 0x100) = t; + } +} + extern void (*D_801A5124[])(void); diff --git a/src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c b/src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c index 2ce34022e..11b21d457 100644 --- a/src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c +++ b/src/ov_SC07_010/ov_SC07_010_jr_8017AE2C.c @@ -5514,818 +5514,3 @@ void func_8017FF68(s32 a0, void *a1) { INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_8017FFB4); - -INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_80180138); - -extern void func_8012C1B8(void); -extern void func_8012CAE4(void *a0); -extern void func_8001C214(s32 a0, s32 a1); -extern void func_8001D0E8(s32 a0, s32 a1, s32 a2); -extern s32 func_8012AD50(void *a0); -extern s16 D_801A52E4; -extern s16 D_801A924C; - -void func_801802CC(s32 a0) { - s32 v0; - s32 s0; - - v0 = ((s32 (*)(void))func_8012C1B8)(); - s0 = v0; - *(s32 *)(a0 + 0x20) = v0; - if (v0 == 0) { - func_8012CAE4((void *)a0); - } else { - func_8001C214(s0, (s32)&D_801A52E4); - func_8001D0E8(s0, 0x7FFF, 0x7FFF); - *(s32 *)(s0 + 0x80) = (s32)&D_801A924C; - *(s16 *)(s0 + 0x1C) = 0x600; - *(s16 *)(s0 + 0x1A) = 0x600; - *(s16 *)(s0 + 0x18) = 0x600; - *(s32 *)(s0 + 0x04) |= 0x80000000; - *(u16 *)(s0 + 0x2C) |= 0x90; - func_8012AD50((void *)a0); - } -} - - -extern void func_80180674(s32, s16); - -void func_80180378(void *a0) { - s32 *s0 = *(s32 **)((s32)a0 + 0x20); - if (func_8017DCC8() == 6) { - *(u16 *)((s32)s0 + 0x12) = 0x400; - *(s32 *)((s32)s0 + 4) &= 0x7FFFFFFF; - ((void (*)(void *, s32))func_80180674)(a0, 0x80); - func_8012AD50(a0); - } -} - - -void func_801803E8(s32 *a0) { - if (func_8017DCC8() == 7) { - func_8012BF4C(a0, 30); - func_8012AD50(a0); - } -} - - -void func_8018042C(s32 a0) { - extern s32 D_801151D4; - extern s32 func_8012BEE8(s32 a0); - extern s32 func_8012AD50(void *a0); - s32 p; - s32 v0; - - p = D_801151D4; - v0 = *(s32 *)(p + 0x10); - v0 -= 3; - *(s32 *)(p + 0x10) = v0; - *(s32 *)(p + 0x14) = v0; - if (func_8012BEE8(a0) != 0) { - func_8012AD50((void *)a0); - } -} - - -void func_80180480(s32 a0) { - extern s16 D_800B9AAC[]; - extern s16 D_800B9B00; - extern s32 D_801151D4; - extern s32 func_8012E544(s32 a0); - extern void func_8012C098(void *a0); - extern void func_8012BF4C(s32 *a0, s32 a1); - extern s32 func_8013D13C(void); - extern s32 func_8012AD50(void *a0); - register s32 p __asm__("$3"); - s32 v0; - - p = D_801151D4; - v0 = *(s32 *)(p + 0x10); - v0 = v0 - 3; - *(s32 *)(p + 0x10) = v0; - *(s32 *)(p + 0x14) = v0; - if (((s32 (*)(s32))func_8013D13C)(10) == 0) { - (*(s16 *)&D_800B9AAC) = 0x7FFF; - D_800B9B00 = 0x7FFF; - func_8013C938(); - v0 = func_8012E544(0x397); - if (v0 != 0) { - func_8012C098((void *)v0); - } - v0 = func_8012E544(0x395); - if (v0 != 0) { - func_8012C098((void *)v0); - } - v0 = func_8012E544(0x396); - if (v0 != 0) { - func_8012C098((void *)v0); - } - v0 = func_8012E544(0x398); - if (v0 != 0) { - func_8012C098((void *)v0); - } - func_8012BF4C((s32 *)a0, 0x1E); - func_8012AD50((void *)a0); - } -} - - -extern s32 func_8012AD50(void * arg0); -extern s32 func_8012BEE8(s32 a0); -extern void func_8017DCB8(s32 a0); - -void func_80180558(s32 a0) { - if (func_8012BEE8(a0) != 0) { - func_8017DCB8(0x8); - ((void (*)(s32))func_8012AD50)(a0); - } -} - - -INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_80180598); - -INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_801805E4); - -extern void func_80180694(s32 a0); -extern s32 func_80180A98(s32 a0); -extern void func_8017DCB8(s32 a0); -extern void func_8012C098(void *a0); - -void func_8018062C(s32 a0) { - func_80180694(a0); - if (func_80180A98(a0) != 0) { - func_8017DCB8(0xA); - func_8012C098((void *)a0); - } -} - - -extern s16 D_801A9250; -extern s16 D_801A924E; -extern s16 D_801A924C; - -void func_80180674(s32 a0, s16 a1) { - D_801A9250 = a1; - D_801A924E = a1; - D_801A924C = a1; -} - - -INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_80180694); - -extern void func_8012C1B8(void); -extern void func_8012CAE4(void *a0); -extern void func_8001C810(s32 a0, s32 a1); -extern void func_8001D0E8(s32 a0, s32 a1, s32 a2); -extern s32 func_8012AD50(void *a0); -extern s32 D_8019D52C; -extern s32 D_801A9254; - -void func_801806E0(void *a0) { - s32 s1; - s32 s0; - s32 v0; - - v0 = ((s32 (*)(void))func_8012C1B8)(); - s0 = v0; - s1 = (s32)a0; - *(s32 *)((s8 *)s1 + 0x20) = v0; - if (v0 == 0) { - func_8012CAE4((void *)s1); - } else { - __asm__ __volatile__(""); - func_8001C810(s0, (s32)&D_8019D52C); - func_8001D0E8(s0, 0x7FFF, 0x7FFF); - *(u16 *)((s8 *)s0 + 0x18) = *(u16 *)((s8 *)s0 + 0x1A) = *(u16 *)((s8 *)s0 + 0x1C) = 0x600; - *(s32 *)((s8 *)s0 + 0x80) = (s32)&D_801A9254; - *(s32 *)((s8 *)s0 + 0x4) |= 0xC0000000; - *(u16 *)((s8 *)s0 + 0x2C) |= 0x30; - func_8012AD50((void *)s1); - } -} - - -INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_8018078C); - -INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_80180834); - -void func_80180894(s32 arg0) { - register s32 s0 __asm__("$16") = arg0; - s32 v0, v1; - func_80180944(arg0); - v1 = *(s32 *)(s0 + 0x20); - v0 = *(u16 *)(v1 + 0x12); - v0 += 0x10; - *(u16 *)(v1 + 0x12) = v0; - v0 = func_8012BEE8(s0); - if (v0 != 0) { - func_80180A50(s0); - func_8012AD50((void *)s0); - } -} - - -extern s32 func_80180A98(s32 a0); -extern void func_8012C098(void *a0); - -void func_801808F0(s32 arg0) { - extern s32 func_80180944(s32 a0); - register s32 s0 __asm__("$16") = arg0; - s32 v1; - - func_80180944(s0); - v1 = *(s32 *)(s0 + 0x20); - *(u16 *)(v1 + 0x12) += 0x10; - if (func_80180A98(s0) != 0) { - func_8012C098((void *)s0); - } -} - - - - - -void func_80180944(s32 param_1) -{ - extern s32 rand(void); - extern s32 D_801A9254; - extern s32 D_801A9258; - extern s32 D_801A925C; - extern s32 D_801A9264; - extern s32 D_801A9268; - extern s32 D_801A926C; - extern s32 D_801A9274; - extern s32 D_801A9278; - extern s32 D_801A927C; - SV4_L_8017C294 vec; /* sp+0x10 */ - MTX_L_8017C294 mtx; /* sp+0x18 */ - s32 prim; - s32 mode; - s32 code; - s32 hi; - s32 val; - - if ((rand() & 0xF) != 0) { - mode = 0x40000000; - } else { - mode = 0x50000000; - } - prim = *(s32 *)(param_1 + 0x20); - code = *(s32 *)(prim + 4) & 0xCFFFFFFF; - hi = 0x40000000; - *(s32 *)(prim + 4) = code | (mode | hi); - val = *(u16 *)(param_1 + 0x108) + 0x80; - *(u16 *)(param_1 + 0x108) = val; - vec.a = val; - val = *(u16 *)(param_1 + 0x10A) + 0x100; - *(u16 *)(param_1 + 0x10A) = val; - vec.b = val; - vec.c = 0; - RotMatrixYXZ(&vec, &mtx); - vec.b = 0; - vec.a = 0; - vec.c = 0x200; - ApplyMatrixSV(&mtx, &vec, &vec); - D_801A9274 = vec.a; - D_801A9264 = vec.a; - D_801A9254 = vec.a; - D_801A9278 = vec.b; - D_801A9268 = vec.b; - D_801A9258 = vec.b; - D_801A927C = vec.c; - D_801A926C = vec.c; - D_801A925C = vec.c; -} - - -INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_80180A50); - -extern s16 D_80185F50; -extern s16 D_80185F52; -extern s16 D_80185F54; -extern s16 D_80185F56; - -s32 func_80180A98(s32 param_1) -{ - int iVar1; - int iVar3; - short sVar2; - - iVar1 = *(int *)(param_1 + 0x1c); - iVar3 = *(int *)(param_1 + 0x20); - if (iVar1 < 0x3c) { - *(short *)(param_1 + 6) = - *(short *)(param_1 + 0x12) + - (short)((((int)D_80185F50 - (int)*(short *)(param_1 + 0x12)) * iVar1) / 0x3c); - *(short *)(param_1 + 10) = - *(short *)(param_1 + 0x16) + - (short)((((int)D_80185F52 - (int)*(short *)(param_1 + 0x16)) * *(int *)(param_1 + 0x1c)) / 0x3c); - *(short *)(param_1 + 0xe) = - *(short *)(param_1 + 0x1a) + - (short)((((int)D_80185F54 - (int)*(short *)(param_1 + 0x1a)) * *(int *)(param_1 + 0x1c)) / 0x3c); - sVar2 = *(short *)(param_1 + 0x100) + - (short)((((int)D_80185F56 - (int)*(short *)(param_1 + 0x100)) * *(int *)(param_1 + 0x1c)) / 0x3c); - *(short *)(iVar3 + 0x1c) = sVar2; - *(short *)(iVar3 + 0x1a) = sVar2; - *(short *)(iVar3 + 0x18) = sVar2; - *(int *)(param_1 + 0x1c) = *(int *)(param_1 + 0x1c) + 1; - return 0; - } - return 1; -} - - -extern void func_801325B8(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4); -extern void func_8001D0E8(s32 a0, s32 a1, s32 a2); -extern u8 D_8019F5EC; -extern u8 D_8019F8F4; -extern u8 D_8019FBF4; -extern u8 D_8019F8EC; -extern void (*D_80185F58[])(void); -extern u16 D_80185F88; -extern u16 D_80185F8A; -extern u16 D_80185F8C; -extern void func_8012C1B8(void); - -void func_80180BEC(void *param_1) { - s32 v0; - s32 s0; - - func_801325B8((s32)&D_8019F5EC, (s32)&D_8019F8F4, (s32)&D_8019FBF4, 0, 0); - v0 = ((s32 (*)(void))func_8012C1B8)(); - s0 = v0; - *(s32 *)((s8 *)param_1 + 0x20) = v0; - if (v0 == 0) { - func_8012CAE4(param_1); - } else { - func_8001C214(s0, (s32)&D_8019F8EC); - func_8001D0E8(s0, 0x7FFF, 0x7FFF); - *(s32 *)((s8 *)s0 + 0x80) = (s32)&D_80185F58; - *(s32 *)((s8 *)s0 + 0x04) |= 0xD0000000; - *(u16 *)((s8 *)s0 + 0x2C) |= 0xB0; - D_80185F8C = 0; - D_80185F8A = 0; - D_80185F88 = 0; - *(s16 *)((s8 *)s0 + 0x1C) = 0; - *(s16 *)((s8 *)s0 + 0x1A) = 0; - *(s16 *)((s8 *)s0 + 0x18) = 0; - func_8012AD50(param_1); - } -} - - -extern s32 func_8017DCC8(void); -extern s32 func_8012AD50(void *a0); - -void func_80180CD4(void *a0) { - s32 *s0 = *(s32 **)((s32)a0 + 0x20); - if (func_8017DCC8() == 8) { - *(s32 *)((s32)s0 + 4) &= 0x7FFFFFFF; - func_8012AD50(a0); - } -} - - - - - - - - - -extern void func_80181204(A801593E4 *a0); -extern void func_80181224(void); -extern void func_801811C8(s32 a0); -extern void func_8012BF4C(s32 *a0, s32 a1); -extern s32 func_8012AD50(void *a0); - -void func_80180D30(A801593E4 *a0) { - u8 *s1; - u16 w; - - s1 = *(u8 **)((u8 *)a0 + 0x20); - func_80181204(a0); - ((void (*)(A801593E4 *))func_80181224)(a0); - - w = *(u16 *)(s1 + 0x1A); - w = w + 0x10; - *(u16 *)(s1 + 0x1A) = w; - if ((s16)w >= 0x24A) { - *(u16 *)(s1 + 0x1A) = 0x249; - } - - func_801811C8((s32)a0); - if (*(s16 *)(s1 + 0x1A) == 0x249) { - *(u16 *)((u8 *)a0 + 0xFC) = 0; - func_8012BF4C((s32 *)a0, 0x5A); - func_8012AD50((void *)a0); - } -} - - - -extern void func_80181204(A801593E4 *a0); -extern void func_80181224(void); -extern s32 func_8012BEE8(s32 a0); -extern s32 func_8012AD50(void *a0); - -void func_80180DC4(A801593E4 *a0) { - void *s1 = *(void **)((u8 *)a0 + 0x20); - func_80181204(a0); - ((void (*)(A801593E4 *))func_80181224)(a0); - if (func_8012BEE8((s32)a0) != 0) { - if (*(s16 *)((u8 *)a0 + 0xFC) != 0) { - if (*(s16 *)((u8 *)s1 + 0x12) >= 0x400) { - *(s16 *)((u8 *)s1 + 0x12) = 0x400; - *(s16 *)((u8 *)a0 + 0xFC) = 0; - func_8012AD50((void *)a0); - } - } else { - if (*(s16 *)((u8 *)s1 + 0x12) < 0x400) { - *(s16 *)((u8 *)a0 + 0xFC) = 1; - } - } - } -} - - -INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_80180E68); - -INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_801810F8); - -void func_801811C8(s32 arg0) { - u16 temp; - arg0 = *(s32 *)(arg0 + 0x20); - temp = *(u16 *)(arg0 + 0x1A); - *(s16 *)(arg0 + 0x1C) = temp; - *(s16 *)(arg0 + 0x18) = (((s32)(s16)temp << 7) / 94); -} - - -void func_80181204(A801593E4 *a0) { - S801593E4 *v1 = a0->p20; - v1->field12 = (v1->field12 + 0x44) & 0xFFF; -} - - -extern u16 D_80185F88; -extern u16 D_80185F8A; -extern u16 D_80185F8C; - -void func_80181224(void) { - u16 *p = &D_80185F88; - - *p += 4; - if ((s16)*p >= 0x100) { - *p = 0xFF; - } - D_80185F8C = *p; - D_80185F8A = *p; -} - - -extern s32 func_8017DCC8(void); -extern void func_8002D4C8(s32 a0, s32 a1); -extern void func_801813F8(void *a0, void *a1, void *a2); -extern s32 func_8012AD50(void *a0); -extern void (*D_80185FC0[])(void *); -extern u32 D_80185F90[]; - -void func_80181270(void *a0) { - if (func_8017DCC8() == 0xA) { - func_8002D4C8(0xC16, 0); - func_801813F8(a0, &D_80185F90[0], &D_80185FC0[0]); - func_801813F8(a0, &D_80185F90[2], &D_80185FC0[1]); - func_801813F8(a0, &D_80185F90[4], &D_80185FC0[2]); - func_8012AD50(a0); - } -} - - -INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_80181304); - - -extern s32 func_8017DCC8(void); - extern void func_8012C098(void *a0); - void func_80181394(void *a0) { - if (((s32 (*)(s32))func_8017DCC8)((s32)a0) == 12) { - ((void (*)(s32))func_8012C098)((s32)a0); - } - } - - -extern s32 func_8001739C(s32 *a0); -void func_801813D0(void) { - - extern s32 D_80185FA8; - func_8001739C(&D_80185FA8); -} - - -void func_801813F8(void *a0, void *a1, void *a2) { - u16 var; - var = *(u16 *)((s32)a1 + 6); - *(u16 *)((s32)a1 + 0) = 0; - *(u16 *)((s32)a1 + 2) = var; - *(s32 *)((s32)a2 + 0) = 0; -} - - -extern void (*D_80185FC0[])(void *); -extern u32 D_80185F90[]; - -s32 func_8018140C(void) -{ - s32 done; - s32 i; - s32 c; - u16 *p; - u8 *q; - - done = 0; - for (i = 0; i < 3; i++) { - p = (u16 *)((u32 *)D_80185F90 + i * 2); - q = (u8 *)(D_80185FC0 + i); - switch ((s16)p[0]) { - case 0: - p[1] -= 1; - if ((s16)p[1] == -1) { - p[0] = p[0] + 1; - } - break; - case 1: - c = *q; - c += 0x10; - if (c >= 0x100) { - c = 0xFF; - p[0] = p[0] + 1; - } - c = (c << 0x10) | (c << 8) | c; - *(u32 *)q = c; - break; - case 2: - c = *q; - c -= 0x10; - if (c < 0) { - c = 0; - p[0] = p[0] + 1; - } - c = (c << 0x10) | (c << 8) | c; - *(u32 *)q = c; - break; - case 3: - done += 1; - break; - } - } - return done == 3; -} - - -extern s32 func_8017DCC8(void); -extern void func_800167B8(s32 a0); -extern s32 func_8012AD50(void *a0); - -void func_80181534(void *a0) { - if (func_8017DCC8() == 11) { - func_800167B8(4); - func_8012AD50(a0); - } -} - - -extern u16 D_800AF7CE; -extern u8 D_800B9A11; -extern s32 D_800B9A18; -void func_80181578(void *arg0) { - u16 v0; - v0 = D_800AF7CE; - D_800AF7CE = v0 + 4; - if ((u16)(v0 + 4) < 0xFF) { - } else { - D_800AF7CE = 0xFF; - } - func_80016224((u8)D_800AF7CE, 0); - if (D_800AF7CE == 0xFF) { - func_8017DCB8(0xC); - func_800167B8(0); - D_800B9A11 = 1; - func_800146B0(7); - D_800B9A18 = 0; - func_8012AD50(arg0); - } -} - - -void func_80181620(void *a0) { - extern s32 func_8012AD50(void *a0); - if (func_80181F40() != 0) { - *(u16 *)((s32)a0 + 0xFC) = 0; - func_8012AD50(a0); - } -} - - -INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_8018165C); - -extern s32 func_80014D94(); -extern s32 func_8012AD50(void *a0); -extern void func_801817D0(); -extern s16 D_800B9A02; - -void func_801816D4(void *a0) { - if ((func_80014D94(0) & 0xF0) != 0) { - func_8012AD50(a0); - } - func_801817D0(*(u16 *)&D_800B9A02, *(s16 *)((s32)a0 + 0xFC)); -} - - -void func_80181728(void *a0) { - extern void func_801817D0(); - extern void func_800146B0(s32 a0); - extern void func_800D1724(s32 a0); - extern s32 func_8012AD50(void *a0); - extern short D_800B9A02; - extern s32 D_800B9A18; - extern u8 D_80078E78[]; - extern void (*D_801859D0)(void *); - u16 v; - - v = *(u16 *)((s32)a0 + 0xFC) - 4; - *(u16 *)((s32)a0 + 0xFC) = v; - if ((s16)v < 0) { - *(u16 *)((s32)a0 + 0xFC) = 0; - } - func_801817D0(*(u16 *)&D_800B9A02, *(s16 *)((s32)a0 + 0xFC)); - if (*(s16 *)((s32)a0 + 0xFC) == 0) { - func_800146B0(1); - D_800B9A18 = 2; - *(u32 *)&D_80078E78 = 1; - func_800D1724((s32)&D_801859D0); - func_8012AD50(a0); - } -} - - -void func_801817C8(void) { -} - -INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_801817D0); - -void func_80181B2C(void *a0) { - extern void (*D_80186070[])(void); - switch (*(s32 *)((s32)a0 + 0x34)) { - case 0: - D_80186070[*(u16 *)((s32)a0 + 0x2)](); - break; - case 1: - func_80181E20(a0); - break; - } -} - - -extern s32 func_8001CC3C(s32, s32, s32, s32); -extern void func_80128EA8(s32 a0, s32 a1, s32 a2); -extern u8 D_800D387C[]; -extern void (*D_80185FD0)(void); - -void func_80181B98(s32 param_1) -{ - s32 work; - s32 val; - s32 res; - - work = *(s32 *)(param_1 + 0x20); - ((void (*)(s32, s32, s32, s32))func_8001CC3C)(work, D_800D387C, 0, 0); - *(u8 *)(work + 0x27) = 0x9C; - *(s32 *)(work + 4) = *(s32 *)(work + 4) | 0x50000000; - val = *(s32 *)(param_1 + 0x2C); - *(u8 *)(work + 0x24) = 0xC0; - *(u8 *)(work + 0x25) = 0x40; - *(u8 *)(work + 0x26) = 0x20; - res = ((8 - val) * 3) << 9; - *(u16 *)(work + 0x1A) = res; - *(u16 *)(work + 0x18) = res; - func_80128EA8(work, param_1 + 0x24, &D_80185FD0); - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; -} - - -INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_8017AE2C", func_80181C54); - -void func_80181CDC(void *a0) { - extern void func_8012931C(void *a0); - u16 t; - if ((*(s32 *)((s32)a0 + 0x1C))-- == 0) { - *(s32 *)((s32)a0 + 0x10) >>= 1; - *(s32 *)((s32)a0 + 0x14) >>= 1; - *(s32 *)((s32)a0 + 0x18) >>= 1; - t = *(u16 *)((s32)a0 + 2) + 1; - *(u16 *)((s32)a0 + 2) = t; - } else { - func_8012931C(a0); - } -} - - -void func_80181D48(s32 a0) { - u8 *s0; - u8 v1; - s16 v0; - - s0 = *(u8 **)(a0 + 0x20); - func_8012931C(); - - v0 = *(u8 *)(s0 + 0x24); - v0 = v0 - 4; - *(u8 *)(s0 + 0x24) = v0; - if ((u8)v0 > 0xC0) { - *(u8 *)(s0 + 0x24) = 0; - } - - v1 = *(u8 *)(s0 + 0x24); - if (v1 < *(u8 *)(s0 + 0x25)) { - *(u8 *)(s0 + 0x25) = v1; - v1 = *(u8 *)(s0 + 0x24); - } - if (v1 < *(u8 *)(s0 + 0x26)) { - *(u8 *)(s0 + 0x26) = v1; - } - - v0 = *(u16 *)(s0 + 0x18) + 0x100; - *(u16 *)(s0 + 0x18) = v0; - if ((s16)v0 >= 0x4001) { - *(u16 *)(s0 + 0x18) = 0x4000; - } - - *(u16 *)(s0 + 0x1A) = *(u16 *)(s0 + 0x18); - - if (*(u8 *)(s0 + 0x24) == 0) { - func_801292C8(a0); - } -} - - - - -void func_80181E20(void *a0) { - - extern void (*D_80186090[])(void); - D_80186090[*(u16 *)((s32)a0 + 0x2)](); -} - - -extern s32 func_8001CC3C(s32, s32, s32, s32); -extern void func_80128EA8(s32 a0, s32 a1, s32 a2); -extern u8 D_800D387C[]; -extern u8 D_80186020[]; - -void func_80181E5C(s32 param_1) -{ - s32 work; - - work = *(s32 *)(param_1 + 0x20); - ((void (*)(s32, s32, s32, s32))func_8001CC3C)(work, D_800D387C, 0, 0); - *(u8 *)(work + 0x27) = 0x9C; - *(u16 *)(work + 0x1A) = 0x3000; - *(u16 *)(work + 0x18) = 0x3000; - *(u32 *)(work + 4) = *(u32 *)(work + 4) | 0x50000000; - func_80128EA8(work, param_1 + 0x24, D_80186020); - *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; -} - - -extern s32 func_80128ED8(s32 param_1, s32 *param_2); -extern void func_801292C8(u8 *a0); - -void func_80181EEC(int param_1) -{ - int base; - unsigned short *p; - unsigned short val; - - base = *(int *)(param_1 + 0x20); - p = (unsigned short *)(base + 0x1A); - val = *p - 0x100; - p[0] = val; - p[-1] = val; - if (func_80128ED8(base, (s32 *)(param_1 + 0x24)) != 0) { - func_801292C8((u8 *)param_1); - } -} - - - - -extern void func_8001ABBC(u32, u32, void *, u32, u32); - -void func_80181F40(void) { - - extern u8 D_800AF608[]; - func_8001ABBC(0, 0, D_800AF608, 0, 0); -} - - - diff --git a/src/ov_SC07_010/ov_SC07_010_jr_80180138.c b/src/ov_SC07_010/ov_SC07_010_jr_80180138.c new file mode 100644 index 000000000..ed9a16935 --- /dev/null +++ b/src/ov_SC07_010/ov_SC07_010_jr_80180138.c @@ -0,0 +1,3746 @@ +#include "common.h" +#include "../shared/engine_core.h" + +/* ==== Phase-26 §8b carried decl layer (jr_isolate_all.py) =================== + * The file-scope decl environment from earlier code regions of this object — + * file-local types, col-0 decls, DEFINE_func macro externs, and each earlier + * definition's implied prototype (types first, then decls in original order). + * Decls emit no code => byte-neutral. See cookbook §8c. */ +typedef struct { u32 w0, w1, w2; } PrimC59C; +typedef struct { u8 *vtx; u32 f4; u32 xx, yy, zz; PrimC59C *prim, *end; } CellC59C; +typedef struct { s16 vx, vy; } DVEC2_C59C; +typedef struct { s16 vx, vy, vz, pad; } SVEC2_C59C; +typedef struct { s16 m[3][3]; s32 t[3]; } MTX_C59C; +typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2; } PF3_C59C; +typedef struct { u32 tag, rgbc; s16 x0, y0, x1, y1, x2, y2, x3, y3; } PF4_C59C; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; } PFT3_C59C; +typedef struct { u32 tag, rgbc; s16 x0, y0; u32 uvc0; s16 x1, y1; u32 uvp1; s16 x2, y2; u16 uv2, p2; s16 x3, y3; u16 uv3, p3; } PFT4_C59C; +struct S6C { u8 pad[8]; }; +struct S72 { s16 unk0; u8 pad[6]; }; +struct S9E { u16 unk0; u16 pad; }; +struct Ent { u8 pad[0xDC]; s32 unkDC; u8 pad2[0x1C]; u16 unkFC; }; +typedef struct { Blk8 m[4]; } Quad; +extern void func_80016714(void *a0, s32 a1); +extern void func_8013C98C(void); +extern void func_80019064(void *a0); +extern void func_8013C9C4(void * arg0); +extern void func_8013CA14(void); +extern void func_8013CABC(void); +extern void func_8013CAE8(void); +extern void func_8013CB20(void); +extern void func_8013CB5C(void); +extern s16 currentLocationId; +extern void func_8013DBE4(); +extern void func_8013D9B0(); +extern void func_8013D330(void); +extern void func_8013D178(void); +extern void func_8013CF68(void); +extern void func_8013CB84(void); +extern void func_8013CF68(); +extern void func_8013D064(void); +extern s32 func_8013D13C(void); +extern void func_8013D164(void); +extern void func_8013D53C(); +extern void func_8013DD68(void); +extern void func_8013D8FC(void); +extern void func_8013D3D4(int param_1, int param_2); +extern void func_800599B8(s32 a0, s32 a1); +extern void func_8013D9B0(int param_1); +extern void func_8013DBE4(int param_1); +extern s32 func_8013E054(void); +extern int SquareRoot12(int a0); +extern int func_8013E064(s16 *a0, s16 *a1); +extern int func_8013E0FC(s16 *a0, s16 *a1); +extern int func_8013E194(s16 *a0, s16 *a1); +extern void Square12(s32 *a0, s32 *a1); +extern s32 func_8013E22C(struct VecA *a0, struct VecB *a1); +extern s16 D_80126CB0; +extern s32 func_8013E298(s16 *a0); +extern s16 D_80126CAC; +extern short D_80126CAE; +extern int func_8013E2C4(short *a0); +extern void *D_801274CC; +extern s32 func_8013E410(void); +extern s32 func_8013E448(s32 a0); +extern void func_8012C724(s32 a0, s32 a1); +extern void func_8013E370(void); +extern u8 D_801202A0[]; +extern s32 (*D_801274D0)(s32); +extern s32 D_801274D8; +extern s32 D_801274DC; +extern s32 func_800132BC(s32 a0, s32 a1); +extern s32 func_8013E448(s32 param_1); +extern void func_800D24A0(s32 a0); +extern void func_80141788(void); +extern void *D_8011DB24; +extern void func_8013E558(void); +extern s32 func_800D0EC4(void); +extern void func_80141874(void); +extern u8 D_800B9A15; +extern unsigned char D_800B9A13; +extern u16 D_80115110; +extern unsigned short D_80115112; +extern void func_8013E588(void * _arg0); +extern void func_80029444(void); +extern void func_801754A8(void); +extern s32 func_80014ED4(s32); +extern s32 func_80015018(s32); +extern void func_800190AC(void); +extern void func_80141C04(void); +extern void func_8013E5E8(void); +extern void func_8013E67C(void); +extern void func_8013E83C(void); +extern s32 func_80029504(void); +extern void func_8013E6AC(void); +extern void func_800D24A0(s32 arg); +extern void func_8013E814(void); +extern void func_8013E83C(); +extern void func_8013E958(); +extern s32 func_80141C50(void); +extern void func_8013F244(void); +extern void func_8013FAF8(s16 a0, s16 a1); +extern void func_80137B80(void); +extern void func_8013E958(void); +extern void func_8002D4C8(s32 a0, s32 a1); +extern short D_800B9A02; +extern u8 D_801151C8[]; +extern s32 D_801151D0; +extern u16 D_8011511A; +extern u16 D_8011511E; +extern s32 D_80115130; +extern s16 D_8011514C; +extern void func_8013EA54(void); +extern s32 func_8013F350(void); /* §30#2 widened: def returns live $v0; callers discard */ +extern s16 func_8014168C(s16 a0); +extern s32 func_8014032C(s32 a0, s32 a1); +extern void func_80139954(void); +extern void func_801376E8(int a0, int a1); +extern unsigned char *func_80141CA4(void); +extern void func_8013EB7C(void); +extern s32 func_8013F350(void); /* §30#2 widened (discarding caller) */ +extern u16 D_80115112; +extern void func_8013ED6C(void); +extern s32 func_8013EE10(); +extern s32 func_800D0488(s16 a0); +extern void func_800D2624(void); +extern void func_8013EF88(void); +extern void func_8013F138(void); +extern unsigned short D_80115114; +extern unsigned short D_80115118; +extern void func_8013F1BC(void); +extern void func_80141C0C(s32); +extern u16 D_8011511C; +extern u16 D_80115120; +extern u16 D_80115122; +extern s16 D_80115128; +extern s16 D_8011512A; +extern u16 D_8011512E; +extern u8 D_80115140[]; +extern s16 D_8011514E; +extern u8 D_80115152; +extern u8 D_80115158[]; /* macro-canonical (§8e) */ +extern u8 D_8011515C; /* macro-canonical (§8e) */ +extern u8 D_8018305C[]; +extern u8 D_80183074[]; +extern u16 D_80182F78[]; +extern s32 func_80029178(s32 arg); +extern s32 func_800291B4(s32 arg); +extern void func_8014AA04(s32 a0); +extern void func_801415C0(s32 a0, s32 a1); +extern void func_80141C0C(s32 a0); +extern s32 func_80140608(s32 a0); +extern void func_801407F4(void); +extern s32 func_801416D4(s16); /* macro-canonical (§8e) */ +extern s32 func_8013F350(void); +extern void func_80140E6C(void); +extern void func_80140F00(void); +extern s32 *func_80140958(s32 *, s32, s32); +extern int func_80141100(int); +extern s16 func_8014168C(s16); +extern s32 func_8013FFD8(s16, s32, s32 *); +extern void func_80024054(void *a0, void *a1); +extern s32 *func_800D2650(s32 *, void *, s32, s32, s32, s32); +extern s32 func_8005A600(s32, s32, s32, s32, s32); +extern s32 func_800D27DC(s32, s32 *, void *, s32, s32); +extern s32 *func_800D29F8(s32, s32, void *, s32, s32); +extern int func_80137D08(int arg0, int arg1, short arg2); +extern s32 func_8013AB54(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_8013FAF8(s16 arg0, s16 arg1); +extern s32 func_80028D58(void); +extern s32 func_80028DE0(void); +extern s32 func_80028FBC(void); +extern s32 func_80029000(void); +extern s32 func_80028D9C(void); +extern int func_800D2CA8(int, int); +extern void func_800D2D10(int, int, void *, int); +extern int func_80029FE4(void); +extern char *func_8002AAB4(void); +extern char *strcpy(char *, const char *); +extern int func_8002A26C(void); +extern int func_8002A2B0(void); +extern int func_8002A4B8(void); +extern s32 func_8002A4FC(s32 a0); +extern int func_8002A998(void); +extern int func_8002A9DC(void); +extern int func_8002A728(void); +extern int func_8002A76C(void); +extern int func_80029FD4(void); +extern s32 func_8002A1B4(void); +extern short func_8002A28C(void); +extern short func_8002A27C(void); +extern s32 func_8002A400(void); +extern short func_8002A4D8(void); +extern short func_8002A4C8(void); +extern s32 func_8002A8E0(void); +extern short func_8002A9B8(void); +extern short func_8002A9A8(void); +extern s32 func_8002A670(void); +extern short func_8002A748(void); +extern short func_8002A738(void); +extern int func_801412A8(int, int, int, int, int, int); +extern int func_80141100(int param_1); +extern void func_800291A0(s32, s32); +extern s32 func_800291DC(s32); +extern void func_800291C8(s32, s32); +extern void func_801415C0(s32 param_1, s32 param_2); +extern u8 D_80115148[]; +extern u8 D_80115149[]; +extern u8 D_80115158[]; +extern u8 D_8011514D; +extern u8 D_8011515C; +extern s32 func_800D11F0(s32 a0); +extern s32 func_800D1658(s32 a0); +extern s32 func_801416D4(s16 param_1); +extern void func_8001903C(void); +extern void func_801417C4(void); +extern u8 D_800B9A16; +extern u16 D_80115114; +extern void func_801417F8(void); +extern volatile u16 D_8011511A; +extern u16 D_8011512E; /* §17a-1: canonical width (jr_8013F350 TUs decl u16); byte-neutral here (only use is store-0) */ +extern s32 func_80029178(s32 a0); +extern void func_801418F8(void); +extern void func_80141A60(void); +extern void func_80141C0C(s32 param_1); +extern s32 func_80015144(void); +extern unsigned char D_80112C04[]; +extern unsigned char D_80112C50[]; +extern unsigned char D_80112C9C[]; +extern unsigned char D_80112CE8[]; +extern unsigned char D_80112D38[]; +extern unsigned char D_80112D78[]; +extern unsigned char D_80112DBC[]; +extern unsigned char D_80112DF4[]; +extern unsigned char D_80112E14[]; +extern unsigned char D_80112E40[]; +extern unsigned char D_80112E6C[]; +extern unsigned char D_80112EBC[]; +extern unsigned char D_80112F0C[]; +extern unsigned char D_80112F48[]; +extern unsigned char D_80112F9C[]; +extern unsigned char D_80112FDC[]; +extern unsigned char D_8011302C[]; +extern unsigned char D_80113074[]; +extern unsigned char D_801130B8[]; +extern unsigned char D_801130E8[]; +extern unsigned char D_80113138[]; +extern unsigned char D_8011317C[]; +extern unsigned char D_801131A8[]; +extern unsigned char D_801131E8[]; +extern unsigned char D_80113214[]; +extern unsigned char D_80113254[]; +extern unsigned char D_80113278[]; +extern unsigned char D_801132B8[]; +extern unsigned char D_801132E4[]; +extern unsigned char D_80113324[]; +extern unsigned char D_80113360[]; +extern unsigned char D_801133A4[]; +extern unsigned char D_801133F4[]; +extern unsigned char D_80113440[]; +extern unsigned char D_80113474[]; +extern unsigned char D_801134B0[]; +extern unsigned char D_801134FC[]; +extern unsigned char D_80113530[]; +extern unsigned char D_80113554[]; +extern unsigned char D_801135A8[]; +extern unsigned char D_80113600[]; +extern unsigned char D_80113650[]; +extern unsigned char D_80113694[]; +extern unsigned char D_801136DC[]; +extern unsigned char D_80113724[]; +extern unsigned char D_80113744[]; +extern unsigned char D_80113770[]; +extern unsigned char D_80113794[]; +extern unsigned char D_801137D8[]; +extern unsigned char D_8011381C[]; +extern unsigned char D_8011383C[]; +extern unsigned char D_8011386C[]; +extern unsigned char D_801138A4[]; +extern unsigned char D_801138D0[]; +extern unsigned char D_80113900[]; +extern unsigned char D_80113944[]; +extern unsigned char D_80113964[]; +extern unsigned char D_8011399C[]; +extern unsigned char D_801139E8[]; +extern unsigned char D_80113A28[]; +extern unsigned char D_80113A50[]; +extern unsigned char D_80113A84[]; +extern unsigned char D_80113AB0[]; +extern unsigned char D_80113AE0[]; +extern unsigned char D_80113B34[]; +extern unsigned char D_80113B68[]; +extern unsigned char D_80113BA4[]; +extern unsigned char D_80113BC0[]; +extern unsigned char D_80113BF0[]; +extern unsigned char D_80113C20[]; +extern unsigned char D_80113C3C[]; +extern unsigned char D_80113C7C[]; +extern unsigned char * func_80141CA4(void); +extern s32 func_8012C588(s32 a0, s32 a1); +extern void func_80142414(s32 a0, s16 a1); +extern u16 D_80126B5E; +extern u16 D_80126B62; +extern u16 D_80126B66; +extern s32 func_8012C51C(void *a0, s32 a1); +extern void func_80142454(s32 a0); +extern void func_8012C218(void *a0); +extern void func_801424E4(short *param_1); +extern void func_801425CC(void *a0); +extern void func_8012C1B8(void); +extern s32 func_8012C1DC(s32 a0); +extern void func_8001CA1C(s32 a0, s32 a1); +extern void func_8012CAE4(void *a0); +extern s32 func_8012AD50(void *a0); +extern void func_80142608(s32 param_1); +extern void func_801426D4(s32 a0); +extern s32 func_8012BEE8(s32 a0); +extern void func_80142740(int param_1); +extern void func_80142778(u8 *a1); +extern void func_801427DC(void); +extern void func_801427E4(void); +extern void func_801427EC(int param_1); +extern s32 func_80142DB8(s32 *a0); +extern s32 func_80142D38(s32 *a0); +extern void func_80142BB4(s32 *a0, s32 a1, s32 a2); +extern void func_801428CC(s32 *a0); +extern void func_8014292C(int param_1); +extern void func_80142978(int param_1); +extern void func_801429C4(int param_1); +extern void func_80142A80(void); +extern void func_80142C7C(void); +extern void func_80142C84(s32 a0); +extern void func_8012CBF4(s32 a0); +extern void func_80142C9C(s32 * arg0); +extern void func_80142B2C(void *arg0); +extern void func_80142DC4(int param_1); +extern void func_80142E38(int param_1); +extern void func_8012A828(s32 a0, void *a1); +extern void func_80142EC0(s32 param_1); +extern void func_80142FFC(s32 *a0); +extern void func_8014305C(int param_1); +extern void func_80143188(s32 *a0); +extern void *memcpy(void *, const void *, u32); +extern int func_8001CA88(int, void *); +extern s32 func_8012E504(s32 a0, s32 a1); +extern void func_800233CC(void *, unsigned short); +extern void func_801431E8(s32 param_1); +extern s32 func_8012C044(s32 a0); +extern void func_80142C9C(s32 *a0); +extern s32 func_8012BF10(s32 a0, s32 a1); +extern void func_8012AD44(s32 *a0, s16 a1); +extern void func_801432FC(s32 *a0); +extern void func_80143390(s32 *a0); +extern void func_80128EA8(s32 a0, s32 a1, s32 a2); +extern void func_80143458(s32 param_1); +extern void func_8014358C(s32 param_1); +extern u8 *func_8012913C(s32 a0); +extern s32 rand(void); +extern void func_80143640(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_801437D8(s32 a0, s32 a1, s32 a2, s32 a3); +extern s32 func_80143970(s32 a0); +extern s32 func_8012C658(s32 a0, s32 a1, s32 a2); +extern void func_80143994(s32 a0, s32 a1); +extern void func_801439C0(u8 *a0); +extern s32 func_80134510(s32 arg); +extern s32 ratan2(s32 a0, s32 a1); +extern s16 D_801152AC; +extern s16 D_801152AA; +extern u8 D_801152A8[]; +extern void func_801439FC(s32 a0); +extern void func_80143B30(void *a0); +extern s32 func_8012C658(s32 arg0, s32 arg1, s32 arg2); +extern s32 func_80143B6C(s32 arg0, s32 arg1); +extern void func_80143BDC(u16 *a0); +extern void func_80143C38(void *a0); +extern void func_80143C74(s32 a0, s32 a1); +extern void func_80143C98(void *a0); +extern void func_80143CD4(s32 a0); +extern void ApplyMatrixSV(void *a0, void *a1, void *a2); +extern void func_80143D28(s32 param_1); +extern void func_80143E68(void *a0); +extern void func_80143EA4(void); +extern void func_80143EAC(void); +extern void func_80143EB4(void); +extern s32 func_8004787C(s32 a0); +extern void func_80143EBC(s32 a0); +extern void func_80144054(void *a0); +extern void *func_80010A08(s32); +extern void func_8004914C(void *a0); +extern void func_800491AC(void *a0); +extern s32 RotTransPers(s32, s32, s32 *, s32 *); +extern s32 func_80047948(s32 a0); +extern s32 AddPrim(s32, void *); +extern void func_80144090(s32 param_1); +extern void func_801442F8(int param_1); +extern void func_8012C194(void); +extern void func_8001CB6C(u8 *a0, s32 a1, s32 a2, s32 a3); +extern void func_80144364(int param_1); +extern s32 func_8001CC3C(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_8012B200(u8 *a0); +extern u8 D_800D387C[]; +extern u8 D_800D3888[]; +extern void func_80144558(u8 *param_1); +extern void func_801446A4(int param_1); +extern void func_8014477C(void *param_1); +extern void func_80144880(s32 param_1); +extern void func_80144988(s32 a0); +extern void func_801449C8(void *a0); +extern void func_80144A04(s32 *a0); +extern void func_80144A2C(void *a0); +extern void func_80144A68(s32 *a0); +extern void func_80144A90(void); +extern void func_8001C214(s32 a0, s32 a1); +extern void func_80144A98(u8 *a0); +extern void func_80144B14(void); +extern void func_80144AEC(s32 *a0); +extern void func_801458E0(void); +extern s32 D_800AE6AC; +extern s32 D_800AE6B0; +extern s16 D_800B9A0A; +extern u8 D_80078E50; +extern void func_800D185C(u8 *a0); +extern void func_801458E8(void); +extern void func_80145B24(void); +extern void func_80145934(void); +extern void func_80145A2C(void); +extern void func_80162120(void); +extern void func_80029124(s32, s32); +extern s32 func_80165A50(s32); +extern void func_80029514(s32); +extern u8 D_800AF630[]; +extern u8 D_80078EC0; +extern s32 D_80126B58; +extern void func_80145BF8(void); +extern void func_80145C54(void); +extern void func_80146014(s32 a0); +extern void func_80145EE8(s32 param_1); +extern void MoveImage(void *a0, s32 a1, s32 a2); +extern void func_80146074(void); +extern s32 func_80146128(void); +extern void func_80146360(void); +extern void func_801463A0(); +extern void func_8014607C(void); +extern s32 *D_80126B78; +extern u8 D_80078EC1; +extern s32 D_80078EC8; +extern s32 D_80126B9C; +extern s32 D_8011F730; +extern u16 D_801152B8; +extern u16 D_8012693A; +extern u8 D_80126BE0[]; +extern u8 D_801150F0[]; +extern void *memcpy(void *dst, const void *src, u32 n); +extern void func_80146FC4(s32 a0); +extern void func_80150A70(s32 a0); +extern void func_80147098(s32 *a0); +extern void func_8014A638(s32 arg0); +extern s32 func_80155458(s32 a0); +extern s32 func_80029104(void); +extern void func_80029344(void); +extern void func_8014ADE0(s32 a0); +extern void func_8014B350(s32 a0); +extern void func_8014B7A4(s16 *param_1); +extern s32 func_80161D58(s32 a0); +extern void func_80161A90(s32 a0); +extern void func_8014B504(u16 *a0); +extern void func_80149BEC(s32 a0); +extern void func_8014B5D0(s32 *a0); +extern void func_8014C99C(u8 *a0); +extern void func_8014B190(s32 s0); +extern void func_80148648(s32 a0, s32 a1); +extern s32 func_80149228(s32 a0); +extern void func_8014A59C(s32 a0); +extern void func_8016F14C(void *a0); +extern void func_80154418(void *a0); +extern void func_80154BE4(s32 a0); +extern void func_80165694(s32 arg0); +extern void func_801654A8(s32 a0); +extern void func_8014A680(s32 a0); +extern void func_8014A6A8(s32 a0); +extern void func_8014A71C(s32 a0); +extern void func_80172588(s32 *a0); +extern void func_801473DC(s32 *a0); +extern void func_80015978(s32 a0, s32 *a1); +extern s32 D_80127098; +extern s32 D_80127094; +extern s32 D_80127090; +extern void func_80146534(void); +extern void func_8001D074(s32 a0, s32 a1); +extern void func_80146554(void); +extern void func_80146578(void); +extern void func_8001CFDC(s32, s32); +extern void func_8014659C(void); +extern void func_8001D074(s32, s32); +extern void func_801465C0(void); +extern void func_801465E4(void); +extern void func_801466F0(s32 a0, s32 a1, s32 a2, s32 a3, s32 sp5, s32 sp6, s32 sp7, s32 sp8); +extern s32 D_8011F9D0; +extern s32 func_80146608(s32 a0, s32 a1, s32 a2, s32 a3, s16 arg9, s32 arg10, s32 arg11, s32 arg12, s32 arg13); +extern void func_801466B4(u16 a0, s32 a1, s32 a2, s32 a3, s32 arg5); +extern s32 D_8011F750; +extern s32 D_8011F754; +extern u8 * func_801468C8(s32 arg0, u8 arg1); +extern s32 D_8011D030; +extern s32 func_80146994(s32 a0, s32 a1, s32 a2, s32 a3); +extern s32 func_80146924(s32 a0, s32 a1, s32 a2, s32 a3, s32 arg5); +extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6); +extern s32 func_80146994(s32 arg0, s32 arg1, s32 arg2, s32 arg3); +extern s32 func_801469C8(int a0, void *a1, int a2, int a3, u16 arg5, int arg6, int arg7, int arg8); +extern s32 func_80146B9C(void *a0); +extern void func_80146AB4(s16 a0, s32 a1, s16 a2, s16 a3, u16 a4, s32 a5, s32 a6); +extern u16 D_8011DA28; +extern s32 func_80146B9C(void * arg0); +extern void func_80146C3C(u8 *a0); +extern void func_80146C98(s32 *a0, s16 a1); +extern void func_80146CA0(void *a0); +extern void func_80146CB4(void *a0); +extern void func_80146CC8(s32 a0); +extern void func_80146D30(s32 a0); +extern void func_80146D80(s32 *a0); +extern void func_80146DE8(s32 *a0, s32 a1, s32 a2, s32 a3); +extern void func_80146D90(s32 a0); +extern void func_80146DB8(s32 *a0, s32 *a1); +extern void func_80146DF8(s32 *a0, s32 a1, s32 a2, s32 a3, s32 t0); +extern void func_80146E90(s32 *a0, s32 a1); +extern s32 func_80146E98(s32 a0); +extern void func_80015954(s32 a0, s32 a1); +extern void func_80149374(s32 a0, s32 a1); +extern void func_80146F58(s32 a0, s32 a1); +extern void func_80146EC0(s32 a0, s32 a1, s32 a2, s32 a3); +extern u8 D_80126DB0[]; +extern u16 D_80126DB6; +extern void func_8014704C(s32 *a0); +extern s32 func_80147054(void *a0); +extern void func_80147060(u8 * a0); +extern void func_8014706C(void *arg0); +extern void func_80147078(s32 *a0, s16 a1); +extern void func_80147084(s32 *a0); +extern void func_8014708C(void *arg0); +extern s32 func_801470A0(void *a0); +extern void func_801470AC(s32 *a0); +extern void func_801470B4(s32 arg0); +extern void func_801470C0(s32 a0); +extern void func_80147118(s32 a0); +extern s16 D_80126BB8; +extern s16 D_80126BBA; +extern s16 D_80126BBC; +extern void func_80147264(s32 a0); +extern void func_80147290(void); +extern void func_801472B4(void *a0); +extern s32 func_801472C8(struct S *a0); +extern void *D_8012707C; +extern void func_801472DC(void); +extern void func_801472F0(void *a0); +extern void func_80147364(u16, s32); +extern void func_80147300(u16 arg0); +extern void func_80147324(s32 arg0); +extern void func_801473EC(s32 *a0); +extern void func_80147460(s32 a0); +extern void func_80147514(); +extern void func_80147628(s32 a0); +extern void func_80147478(s32 a0); +extern void func_801474D8(s32 *a0); +extern void func_801474EC(s32 *a0); +extern s32 func_80012C6C(s32 a0, s32 a1, s32 a2); +extern s32 func_800129CC(s32 a0, s32 a1); +extern void func_80147514(s32 arg0); +extern void func_80013F3C(s32 a0); +extern void func_80012558(s32 a0, s32 a1); +extern void func_800126C4(s32 a0, s32 a1); +extern void func_800123F0(s32 a0, s32 a1); +extern void func_80147718(s32 a0); +extern void func_80147788(void *a0, s32 a1); +extern void func_801477A8(void *a0, s32 a1); +extern void func_801477C8(void *a0, s32 a1); +extern void func_801477E8(s32 *a0, s32 a1); +extern void func_80147814(s32 a0, s32 a1); +extern void func_80147928(int a0, int a1); +extern void func_8014799C(int a0, int a1); +extern void func_80147A10(int a0, int a1); +extern void func_80147860(int a0, int a1, int a2, int a3); +extern void func_80147948(s32 a0, s32 a1, s32 a2); +extern void func_801479BC(s32 a0, s32 a1, s32 a2); +extern void func_80147A30(s32 a0, s32 a1, s32 a2); +extern void func_801478B8(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_80147948(int a0, int a1, int a2); +extern void func_801479BC(int a0, int a1, int a2); +extern void func_80147A30(int a0, int a1, int a2); +extern void func_80147AD4(s32 arg0, s32 arg1, s32 arg2, s32 arg3); +extern void func_80147A84(s32 arg0); +extern void func_80147C30(s32 arg0, s32 arg1, s32 arg2, s32 arg3); +extern void func_80147AAC(s32 arg0); +extern void func_80147CC8(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4); +extern void func_80147B5C(s32 a0, void *a1); +extern void func_80147AD4(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void *a4); +extern void func_80147B18(s32 a0); +extern void func_80147B5C(s32 arg0, void *arg1); +extern void func_80147C30(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_80147DC0(s32 a0, s32 a1); +extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4); +extern void func_800484EC(s32 a0, s32 a1, s32 a2); +extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3); +extern void func_80147F50(s32 arg0); +extern volatile s32 D_80127090; +extern volatile s32 D_80127094; +extern volatile s32 D_80127098; +extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_80148038(s32 a0, s32 a1); +extern s32 csqrt(s32 a0); +extern s32 func_80012A60(s32 a0, s32 a1); +extern void func_80148094(int param_1, short *param_2, int *param_3); +extern void func_801485B8(s32 a0, s32 a1, s32 a2); +extern void func_801484B0(s32 a0, s32 a1); +extern s32 func_80154358(void *a0); +extern void func_801484E8(s32 a0, s32 a1); +extern void func_80148534(s32 a0, s32 a1); +extern void func_8014856C(s32 a0, s32 a1); +extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2); +extern void func_80148634(void *a0); +extern u8 D_800B9A64; +extern s32 func_80014DC0(); +extern s32 func_80014D68(); +extern s32 func_80014D94(); +extern s32 func_80014CF8(); +extern void func_800120DC(); +extern s32 func_800CF8B4(); +extern u16 func_801487F4(s32 *a0); +extern u16 func_80148800(s32 *a0); +extern u8 func_8014880C(s32 *a0); +extern u16 func_80148818(s32 *a0); +extern s32 func_80047D3C(s32 a0); +extern s32 func_80148824(void *arg0); +extern s32 func_801488A8(u8 *a0); +extern s32 func_8014891C(s32 a0); +extern s32 func_80148980(u8 *a0); +extern s32 func_801489E8(s32 a0); +extern s32 func_80148A48(s32 a0); +extern int func_80148AFC(void *a0); +extern void func_80148AAC(u8 *a0); +extern s32 func_80148C18(void); +extern s32 func_80148C20(s32 a0, s16 a1); +extern s32 func_80148C34(s32 a0, s32 a1); +extern s32 func_80148C4C(s32 a0, s32 a1); +extern s32 func_80148C64(s32 a0, s32 a1); +extern s32 func_80148C7C(void); +extern s32 func_80148C84(s32 a0, s32 a1); +extern s32 func_80148C9C(s32 a0, s32 a1); +extern s32 func_80148CB4(s32 a0, s32 a1); +extern s32 func_80148CCC(s32 a0, s32 a1); +extern s32 func_80148CE4(void); +extern s32 func_80148CEC(void); +extern s32 func_80148CF4(s32 a0, s32 a1); +extern s32 func_80148D0C(s32 a0, s32 a1); +extern s32 func_80148D24(void *a0, int a1); +extern s32 func_80148D3C(void); +extern s32 func_80148D44(void); +extern s32 func_80148F60(void); +extern s32 func_80148F68(s32 a0); +extern s32 func_80148F74(s32 a0); +extern s32 func_80148F80(s32 a0); +extern s32 func_80148F8C(s32 a0); +extern s32 func_80148F98(void); +extern s32 func_80148FA0(s32 a0); +extern s32 func_80148FAC(s32 a0); +extern s32 func_80148FB8(s32 a0); +extern s32 func_80148FC4(s32 a0); +extern s32 func_80148FD0(void); +extern s32 func_80148FD8(void); +extern s32 func_80148FE0(s32 a0); +extern s32 func_80148FEC(s32 a0); +extern s32 func_80148FF8(s32 a0); +extern s32 func_80149004(void); +extern void func_8014900C(s32 *a0); +extern void func_80149020(s32 *a0); +extern void func_80149034(s32 *a0); +extern void func_80149048(s32 *a0); +extern void func_8014905C(u8 *a0); +extern void func_801490E0(s32 *a0, s16 a1); +extern void func_801490E8(s32 *a0, s16 a1); +extern void func_801490F0(s32 *a0, s16 a1); +extern void func_80149078(s32 *a0, s32 a1, s32 a2, s32 a3); +extern s32 func_80012B04(s32 a0, s32 a1, s32 a2); +extern void func_801490F8(s32 a0, s32 a1); +extern s32 func_801491C4(s32 a0); +extern s32 func_80149184(s32 a0); +extern s32 D_801151D4; +extern void func_80149204(s32 *a0); +extern void func_80149210(s32 a0, s32 a1); +extern s32 func_80149284(s32 *a0, s32 a1); +extern void func_80149350(s32 arg0); +extern void func_80149290(s32 a0); +extern void func_8012F14C(s32 a0, s32 a1, s32 a2); +extern void func_8012F038(int param_1, short *param_2, short *param_3); +extern void func_8014942C(s32 arg0); +extern s32 func_801496D4(void *a0); +extern void func_8015AD08(); +extern void func_80149704(void); +extern void func_8015ACC4(); +extern void func_80149724(void); +extern u8 D_80078EBF; +extern s32 func_80149744(struct S_80149744 *a0); +extern void func_8015F7A0(); +extern void func_80149788(void); +extern void func_801653B8(); +extern void func_80149864(void); +extern s32 func_8016F1AC(void); +extern s32 func_80149884(void); +extern void func_80160B00(); +extern void func_801498C0(void); +extern s32 func_80149AA8(s32 *a0); +extern s32 func_80149B54(s32 *a0); +extern void func_80146750(void *a0); +extern s32 func_801498E0(s32 *a0); +extern s32 func_80149A64(s32 *a0); +extern void func_8015DAC4(s32 *a0); +extern void func_8015554C(s32 *a0); +extern void func_80149AD4(s32 *a0); +extern void func_80149B14(s32 *a0); +extern u8 func_8014BEF8(void); +extern s32 func_80149B54(s32 * arg0); +extern void func_8015DE24(s32 *a0); +extern void func_80157510(s32 *a0); +extern void func_80149BAC(s32 *a0); +extern s32 func_80149C08(s32 arg0); +extern void func_801577C8(); +extern void func_80149C94(void); +extern void func_80157D20(void); +extern void func_80149CB4(void); +extern s32 func_80149CD4(s32 a0); +extern u8 func_8014B5B8(s32 *a0); +extern s32 func_80149D10(s32 a0); +extern s32 func_80149E94(s32 a0); +extern s32 func_80149DD8(s32 a0); +extern s32 func_80149D9C(s32 a0); +extern s32 func_80149F2C(s32 a0, s32 a1); +extern s32 func_80149E94(s32 arg0); +extern void func_80149FA8(void); +extern s32 func_80149FB0(s32 a0); +extern s32 func_80135260(s32 arg0, s32 arg1, s16 *arg2, s16 *arg3); +extern void func_8014A1B0(s32 a0, s32 a1); +extern s32 func_8014A048(s32 param_1); +extern u16 func_80156370(u16 a0); +extern void func_8014C4AC(s32 a0, s32 a1, s32 a2, s16 *a3, s32 a4); +extern void func_8015D4B4(); +extern void func_8014A218(void); +extern s32 func_8014C278(s32 a0, s32 a1, s32 a2); +extern s32 func_8014C2B0(void *a0, void *a1, s32 a2); +extern s32 func_8014A238(s32 arg0); +extern s32 func_8014A2E4(s32 a0); +extern void func_8014A380(s32 a0, s32 a1); +extern s16 D_801152B0; +extern s16 D_801152B4; +extern s32 func_8014A3E0(struct S_8014A3E0 *a0); +extern s32 func_8014A454(s32 a0); +extern s32 func_8014A4B4(void *a0); +extern void func_8015EDD4(); +extern void func_8014A4FC(void); +extern s32 func_8014A674(s32 *a0); +extern s32 func_8014A69C(s32 *a0); +extern s32 func_8014A6C4(s32 a0); +extern void func_8015E184(); +extern void func_8014A830(void); +extern s32 func_80029AF4(void); +extern s32 func_8014A850(s32 param_1); +extern void func_801599A4(void *a0); +extern void func_80159B3C(void *a0); +extern s32 func_80165A20(s32 a0); +extern void func_8014AB7C(); +extern void func_8014AC10(); +extern void func_8014AA28(void); +extern void func_8014AB5C(void); +extern void func_80162CCC(void); +extern void func_8014AB7C(s32 arg0); +extern void func_8014ABF0(void); +extern void func_8014AC10(s32 arg0); +extern void func_8014ACC0(s32 a0, s32 a1); +extern void func_8014AD30(s32 a0, u16 *a1, s32 a2, s32 a3); +extern void func_8014ACE8(void *a0, s32 a1, s32 a2); +extern void func_80146AFC(void *a0); +extern void func_8014ADA8(s32 a0, s32 a1); +extern void func_8014AD7C(s32 a0); +extern s32 D_80078E8C; +extern u8 D_80078E78[]; +extern s32 func_8016F1C4(void); +extern s32 func_8014B154(s32 *a0); +extern void func_8014BD24(s32 a0, s32 a1); +extern void func_8014BB24(s32 a0, s32 a1, s32 a2); +extern void func_8014BC80(s32 a0, s32 a1); +extern void func_8014BD60(s32 a0, s32 a1); +extern void func_8014B084(void); +extern void func_8014B034(s32 arg0); +extern void func_8014B00C(s32 arg0); +extern s16 D_80078E90; +extern void func_8014B034(s32 a0); +extern u16 D_80078EAC; +extern u8 D_80078EBA; +extern void func_800D10EC(void); +extern void func_8002AC98(void); +extern void func_8014B12C(void); +extern void func_8014B2F8(void); +extern void func_8014B4C4(void); +extern void func_8014B160(s32 a0); +extern s16 D_80078E96; +extern s16 D_80078EB8; +extern u16 D_80078EA6; +extern void func_8014B2A8(void); +extern void func_8014B310(void); +extern void func_8014B2D0(void); +extern s32 D_80078E94; +extern s32 D_80078ECC; +extern void func_8014B33C(void); +extern u8 D_80062BF4[]; +extern s32 D_80078E98; +extern void func_80166244(); +extern void func_8014B4D4(void *a0); +extern s16 D_80078E9A; +extern u8 D_80126D1C; +extern s32 D_80126D74; +extern void func_8014B598(s32 a0, s32 a1); +extern void func_8014B5B0(s32 *a0); +extern void func_8014B5C4(s32 *a0, s32 a1, s32 a2); +extern void func_8014B5D8(s32 s1); +extern s32 D_80078E9C; +extern s32 D_80078ED0; +extern void func_8014B6F0(s32 a0, s32 a1); +extern void func_8014B768(s32 a0, s32 a1); +extern void func_8014B944(s32 a0, s32 a1, s32 a2); +extern s32 D_80078EA4; +extern u16 D_80078EB2; +extern s16 D_80078EB4; +extern void func_8014BB0C(void); +extern void func_8014BC0C(s32 a0, s32 a1); +extern void func_8014BC44(s32 a0, s32 a1); +extern u8 D_800B9A17; +extern void func_8014BCC0(s32 a0, s32 a1); +extern u16 D_80078EB6; +extern s32 func_8014BCEC(s32 a0, s32 a1); +extern void func_8014BD60(s32 param_1, s32 param_2); +extern void func_8014BD98(s32 a0, u16 a1); +extern void func_8014BDC8(void); +extern void func_8014BDE0(void); +extern s32 func_8017267C(s32 *a0); +extern s32 func_80013294(void *a0, void *a1); +extern void func_80029ED4(s32 a0); +extern void func_8014BDE8(s32 a0); +extern void func_8014BE78(void); +extern void func_8014BE9C(void); +extern void func_80029124(s32 a0, s32 a1); +extern void func_8014BEC0(void); +extern void func_8014BF18(s32 a0); +extern void func_8014BF48(void); +extern u8 func_8014BF6C(void); +extern void func_8014BF8C(u8 arg0); +extern void func_8014BFB0(void); +extern u8 func_8014BFD4(void); +extern void func_8014BFF4(s32 a0, s32 a1); +extern void func_8014C010(s32 a0, s32 a1); +extern s32 func_8014C050(s32 a0, s32 a1); +extern s32 func_8014C088(s32 a0, s32 a1); +extern s32 func_8014C0C8(s32 a0_unused, s32 a1, s32 a2); +extern s32 func_8014C118(void * a0, s32 a1, s32 a2); +extern s32 func_8014C168(s32 * param_1, s32 param_2); +extern s32 func_80133784(s32 a0, void *a1, s32 a2); +extern void func_8014C1C8(s32 a0, s32 a1, void* a2); +extern s32 func_80013328(s32 a0, s32 a1); +extern s32 func_8014C59C(void *a0, void *a1); +extern s32 func_8014C308(s32 arg0, s32 arg1, s32 arg2, s32 arg3); +extern s32 func_8014C43C(void *a0, s32 a1, s32 a2, s32 a3, s16 a5); +extern s32 func_8014C3A4(void *a0, s32 a1, s32 a2, s32 a3); +extern s32 func_8014C3D0(void *a0, s32 a1, s32 a2, s32 a3); +extern s32 func_8014C43C(void * a0, s32 a1, s32 a2, s32 a3, s16 a4); +extern s32 ratan2(s32 dx, s32 dy); +extern s32 func_8014C5FC(s32 a0, s32 a1, void *a2); +extern s16 func_8014C5D0(s32 a0, s32 a1); +extern s32 func_8014C5FC(s32 a0, s32 a1, void * a2); +extern u8 D_80126D17; +extern void func_8014C6AC(void); +extern void func_8014C6C0(void); +extern u8 D_80126D1E; +extern void func_8014C6D0(void); +extern void func_8014C6E0(void); +extern s32 func_8014C860(s32 a0, s32 a1); +extern void func_8014C8C8(s32 a0, s32 *a1); +extern void func_8014C88C(s32 a0); +extern void func_8014C8C8(s32 dst, s32 * src); +extern void func_8014C8F0(s32 arg0); +extern u8 D_801151F0[]; +extern s32 func_8014C918(s32 a0, s32 a1); +extern s32 D_80126B50; +extern void func_8014C968(void); +extern void func_8014C978(void); +extern s32 func_8014C98C(void); +extern void func_80139914(s32 a0); +extern s32 func_8014CA00(s32 a0); +extern u16 func_8014CA70(s32 a0, s32 a1); +extern s32 func_8014CA14(s32 a0, s32 a1); +extern u16 func_8014CAE4(s32 *a0, s32 a1); +extern s32 func_8014CA88(s32 *a0, s32 a1); +extern s32 func_8014CAFC(void); +extern s32 func_8014CB0C(void); +extern s32 func_8014CB1C(void); +extern u8 D_80126D1F; +extern s32 func_8014CB2C(void); +extern s32 func_8014CB58(void); +extern u8 D_80126D1D; +extern void func_8014CB68(void); +extern s32 func_8014CB7C(void); +extern s32 func_8014CB8C(void); +extern struct Packed8 D_80126C98; +extern short D_80126C9E; +extern void func_8014CB9C(struct Packed8 *a0); +extern s32 D_80126CDC; +extern void func_8014CBD8(void); +extern void func_8014CBF8(void *a0); +extern void func_8014D3E0(s32 a0); +extern void func_8014D04C(void); +extern void func_8014CCB4(void); +extern void func_8014CC28(s32 a0); +extern void func_8014CD0C(u8 *a0); +extern s32 func_8014CF04(s32 a0, s32 a1, void *a2); +extern void func_8014CD80(s32 a0, void *a1, void *a2); +extern s32 func_8014D2A0(s32 a0, void *a1, void *a2); +extern s32 func_8014D12C(s32 a0, void *a1, void *a2); +extern void func_8014D0A4(s32 a0); +extern void func_8014D610(s32 a0, void *a1, void *a2); +extern s32 func_8014D4C0(s32 a0, void *a1, void *a2); +extern void func_8014D438(s32 a0); +extern s32 func_8014DD8C(s32 a0, void *a1, void *a2); +extern s32 func_8014D820(s32 a0, u16 *a1, u16 *a2); +extern void func_8014D790(s32 a0); +extern s32 func_80135888(s32 a0, s32 a1, s32 a2, s32 a3); +extern s32 func_8014DCE0(s32 arg0, s32 arg1, s32 arg2); +extern s32 func_8014DD8C(s32 arg0, void *arg1, void *arg2); +extern s32 func_8014E284(s32 a0, s16 *a1, s16 *a2); +extern s32 func_8014E048(s32 a0, u16 *a1, u16 *a2); /* u16*: def lhu semantics (T5b reconcile; ptr param type codegen-neutral for the caller) */ +extern void func_8014DF94(s32 arg0); +extern s32 func_80135A4C(s32 a0, s32 a1, s32 *a2, s32 a3); +extern u8 D_801152A8[]; /* canonical TU type (engine_core) — read via *(u16*) cast */ +extern s32 func_8014E048(s32 param_1, u16 * param_2, u16 * param_3); +extern s32 func_80135A4C(s32 a0, s32 a1, s32 *a2, s32 a3); /* canonical (engine_core.h:11555) */ +extern s32 func_8014E284(s32 a0, s16 *arg1, s16 *arg2); +extern void func_8014E5B4(s32 a0, void *a1, void *a2); +extern s32 func_8014E514(u8 *a0, s32 a1, s32 a2); +extern void func_8014E48C(s32 a0); +extern s32 func_8014E83C(s32 a0, s16 *a1, s16 *a2); +extern s32 func_8014E790(s32 a0, s16 *a1, s16 *a2); +extern void func_8014E6F8(struct SubE6F8 *a0); +extern s32 func_8014E790(s32 arg0, s16 * arg1, s16 * arg2); +extern s32 func_8014E83C(s32 arg0, s16 * arg1, s16 * arg2); +extern s32 func_8014EA4C(void *a0, void *a1, void *a2, s32 a3); +extern s32 func_8014E98C(void *a0); +extern u16 D_800B99DA; +extern s32 D_801150D8; +extern u8 D_80126720[]; +extern s16 D_80126724; +extern s32 func_8014EA4C(void * a0, void * a1, void * a2, s32 _arg3); +extern s32 func_8014EE14(s32 a0, s16 *a1, s16 *a2); +extern s32 func_8014ED80(struct SubED80 *a0); +extern s32 func_8014EE14(s32 arg0, s16 * arg1, s16 * arg2); +extern s32 func_8014F2E0(s32 a0, s16 *a1, s16 *a2); +extern s32 func_8014F24C(struct SubF24C *a0); +extern s32 func_8014F2E0(s32 arg0, s16 * arg1, s16 * arg2); +extern void func_8014F4C0(u8 *a0); +extern s32 func_8014F468(void); +extern u8 D_800D3918[]; +extern s32 D_801152BC; +extern int func_8014F74C(s32 arg0); +extern s32 func_8014FA70(s32 a0); +extern void func_8014FA04(s32 a0); +extern s32 func_8014FC18(u8 *self); +extern int func_8014FD54(int param_1); +extern s32 func_80150170(void *a0); +extern s32 func_8014FE60(void *a0); +extern void func_8014FDF4(struct S8014FDF4 *a0); +extern s32 func_80135D20(s32 a0, s32 a1, void *a2); +extern s32 func_8014FFDC(s32 e, void *a1, void *a2); +extern s32 func_80150150(s32 a, s32 b); +extern s32 func_801502EC(s32 e, void *a1, void *a2); +extern s32 func_80150460(s32 e, s32 a1); +extern s32 func_80150170(void *e); +extern s32 func_80150460(s32 a, s32 b); +extern s32 func_80150528(void *a0, void *a1, void *a2); +extern void func_801504D8(u16 *a0); +extern s32 func_80150528(void *arg0, void *arg1, void *arg2); +extern s32 func_801506A4(); +extern s32 func_801505FC(s32 a0); +extern void func_80150820(s32 a0, s32 a1); +extern void func_8015086C(int param_1); +extern s32 func_801508B4(s32 a0); +extern s32 func_8015094C(s32 a0); +extern short func_801508F8(s32 a0); +extern s32 func_80021174(s32 a0, s32 a1); +extern s32 func_8015094C(s32 param_1); +extern void func_80150B28(int param_1); +extern void func_80150B9C(void); +extern s32 func_80151184(s32 a0, s32 a1, s32 a2); +extern s32 func_80150BA4(s32 a0); +extern s32 func_801619D0(void *a0); +extern void func_80150BC8(s32 *a0); +extern s32 func_80150480(s32 a0); +extern u16 D_800AE6DC; +extern void func_80150C48(s32 a0); +extern int func_80151184(int arg, int a1, int a2); +extern int func_80150CA0(int arg); +extern void func_80150EC4(s32 a, s32 b); +extern void func_80150CC4(s32 a); +extern void func_80150CE4(s32 a); +extern void func_80150D04(s32 a); +extern void func_80150D24(s32 a); +extern void func_80150D44(s32 a); +extern void func_80150D64(s32 a); +extern void func_80150D84(s32 a); +extern void func_80150DA4(s32 a); +extern void func_80150DC4(s32 a); +extern void func_80150DE4(s32 a); +extern void func_80150E04(s32 a); +extern void func_80150E24(s32 a); +extern void func_80150E44(s32 a); +extern void func_80150EC4(s32 a0, s32 a1); +extern void func_80150E64(s32 a0); +extern void func_80150E84(s32 a0); +extern void func_80150EA4(s32 a0); +extern u8 D_800AE6C0; +extern s16 D_800AE6C8; +extern s16 D_800AE6CA; +extern u8 D_80126948[]; +extern s16 D_800AE6CC; +extern s32 D_800AE6C4; +extern s16 D_800AE6CE; +extern u8 D_800AE6BE; +extern u8 D_801201F8[]; +extern void func_80150F78(void); +extern void func_80150F80(s32 a0); +extern int func_80150FB4(int arg); +extern void func_80150FD8(s32 a0); +extern int func_80151014(int arg); +extern void func_80151038(s32 a0); +extern int func_80151070(int arg); +extern int func_80151094(int arg); +extern void func_801510B8(void); +extern void func_801510C0(void); +extern int func_801510C8(int arg); +extern int func_801510EC(int arg); +extern s32 func_8012DB84(void); +extern s32 func_80151110(void); +extern void func_80151130(void); +extern int func_80151138(int arg); +extern void func_8015115C(s32 *a0, s16 a1); +extern s32 func_80151164(s32 a0, s32 a1); +extern s32 func_80151184(s32 arg0, s32 arg1, s32 arg2); +extern void func_801511A8(u8 *a0); +extern void func_801511C4(u8 *a0); +extern int func_80151204(int arg, int a1); +extern int func_801511E0(int arg); +extern int func_80151204(int a0, int a1); +extern void func_80151238(void *a0); +extern void func_8015126C(u16 *p); +extern void func_80151780(s32 a0); +extern void func_801516F0(s32 *a0); +extern void func_8015173C(s32 *a0); +extern s16 D_8011DB1A; +extern s32 D_80127518; +extern s32 D_801151FC; +extern s32 func_801725CC(u8 *a0); +extern s32 func_80029D3C(void); +extern void func_80151878(void); +extern void func_80153B58(s32 *a0); +extern s32 func_80151880(s32 a0); +extern s32 func_801518D8(s32 a0); +extern s32 func_80151944(void); +extern s32 func_80151924(void); +extern void func_8014E934(s32 a0); +extern s32 func_8014F3E8(s32 a0); +extern void func_801519C8(s32 a0); +extern void func_80151980(s32 a0); +extern M2C_UNK D_800D5880; +extern s32 D_800D58AC; +extern void func_80154274(s32 *a0, s32 a1); +extern void func_80154A74(s32 a0, s32 a1); +extern void func_801519C8(s32 arg0); +extern void func_80151C54(s32 a0); +extern void func_801542DC(s32 *a0, s32 a1); +extern void func_8015BDD0(s32 *a0); +extern void func_80165718(s32 a0); +extern u8 D_800D46E4[]; +extern void func_80151AE4(s32 arg0); +extern void func_80151D24(void *a0); +extern void func_80151DB0(s32 a0); +extern void func_80151D60(void *a0); +extern s32 func_80172630(u8 *a0); +extern s32 D_80062C14; +extern void func_80151DB0(s32 param_1); +extern void func_80151E78(s32 *a0); +extern void func_80151ECC(struct S80151ECC *a0); +extern void func_80151FB4(s32 a0); +extern void func_80151F38(s32 *a0); +extern void func_801553C0(s32 a0); +extern void func_80153C18(); +extern void func_80152058(void *a0); +extern void func_801520DC(s32 a0); +extern void func_80152094(s32 a0); +extern void func_80147324(s32 a0); +extern void func_801520DC(s32 arg0); +extern void func_801470B4(s32 a0); +extern void func_8015369C(s32 a0); +extern void func_80152194(s32 *a0); +extern s32 func_801536DC(s32 a0); +extern void func_8015220C(s32 a0); +extern s32 func_80153800(s32 a0); +extern void func_801522CC(s32 a0); +extern void func_80152254(s32 *a0); +extern void func_80152370(void *a0); +extern void func_801523F4(s32 a0); +extern void func_801523AC(s32 a0); +extern void func_8001382C(s32 a0, void *a1, void *a2); +extern void func_801523F4(s32 arg0); +extern void func_801525F4(int); +extern s32 func_801535F4(void *arg0); +extern void func_8015BF48(s32 *a0); +extern void func_80152500(int param_1); +extern void func_801525F4(s32 a0); +extern void func_80152698(void *a0); +extern void func_80152714(s32 a0); +extern void func_801526D4(s32 a0); +extern void func_80152790(s32 a0); +extern void func_8015282C(void *a0); +extern void func_801528B0(s32 a0); +extern void func_80152868(s32 a0); +extern void func_801528B0(s32 arg0); +extern void func_8015294C(s32 a0); +extern void func_80152A08(s32 a0); +extern void func_80152AC8(s32 a0); +extern void func_80152A50(s32 *a0); +extern void func_80152B6C(void *a0); +extern void func_80152BF0(s32 a0); +extern void func_80152BA8(s32 a0); +extern void func_80152C80(s32 *a0); +extern void func_80152C40(s32 *a0); +extern void func_80152C80(s32* a0); +extern void func_80152D24(void *a0); +extern void func_80152DA8(s32 a0); +extern void func_80152D60(s32 a0); +extern void func_80152DA8(s32 arg0); +extern void func_80152E4C(s32 a0); +extern void func_80152EFC(s32 a0); +extern void func_80152FBC(s32 a0); +extern void func_80152F44(s32 *a0); +extern void func_80153060(void *a0); +extern void func_801530E4(s32 a0); +extern void func_8015309C(s32 a0); +extern void func_80155440(s32 *a0); +extern u8 D_80062C04[]; +extern void func_801530E4(s32 arg0); +extern void func_80153150(struct S80153150 *a0); +extern void func_801531BC(s32 a0); +extern void func_8015327C(s32 a0); +extern void func_80153204(s32 *a0); +extern void func_80153320(void *a0); +extern void func_801533A4(s32 a0); +extern void func_8015335C(s32 a0); +extern void func_80153410(s32 *a0); +extern void func_80153490(s32 a0); +extern void func_80153550(s32 a0); +extern void func_801534D8(s32 *a0); +extern void func_8014ED28(s32 _arg0); +extern void (*D_8011DB28)(s32 a0); +extern s32 func_801536DC(s32 param_1); +extern void func_800139C8(s32 a0, void *a1, void *a2); +extern s32 func_80153978(s32 a0, u16 *src); +extern s32 func_80133784(s32 a0, void *src, s32 dst); +extern s32 func_801539F8(s32 a0, void *a1); +extern s32 func_801539F8(s32 a0, void * a1); +extern s32 func_8016DA04(s32 a0); +extern s32 func_80153BD8(s32 a0); +extern s32 func_80153BF0(s32 a0); +extern void func_80153C18(void); +extern u16 D_8011F748; +extern void func_80153C30(void); +extern void func_80153C74(s16 a0, s16 a1); +extern s16 D_8011DB18; +extern void func_80153C44(int a0, int a1, s16 a2); +extern s16 D_8011DB0C; +extern s32 D_80115210; +extern void func_80153C8C(void); +extern void func_80153C9C(void); +extern s32 func_80153CBC(void); +extern void func_80153CCC(S80153CCC *a0); +extern void func_80153D7C(s32 a0); +extern void func_80153D34(s32 a0); +extern void func_80153D7C(s32 param_1); +extern void func_8015410C(void); +extern void func_80153E00(s32 param_1); +extern void func_80151664(void); +extern void func_80154134(u8 *a0); +extern void func_80154190(u8 *a0, s32 a1); +extern void func_80154150(s32 a0, s32 a1); +extern void func_80154218(u8 *a0, s32 a1, s32 a2); +extern void func_801541D8(u8 *a0, s32 a1, s32 a2); +extern s32 func_801549F8(s32 a0, s32 a1, s32 a2); +extern void func_801542A4(); +extern void func_801542A4(s32 *a0, s32 a1); +extern void func_8015430C(); +extern void func_8015430C(u8 *arg0, s32 arg1, s32 arg2); +extern void func_8015444C(void *a0, s32 *a1, s32 *a2, s32 *a3); +extern s32 func_80154358(void * arg0); +extern void func_80154AB4(s32 a0, s32 a1); +extern void func_80154B20(s32 a0, s32 a1, s32 a2); +extern void func_80154AE0(s32 a0, s32 a1, s32 a2); +extern void func_80154B7C(u8 *a0, s32 a1); +extern void func_80154B4C(u8 *a0, s32 a1); +extern void func_80154BC8(void *a0, s32 a1, s32 a2); +extern void func_80154B98(void *a0, s32 a1, s32 a2); +extern u8 D_800D8D10[]; +extern s16 D_80078E9E; +extern void func_801550FC(s32 a0); +extern void func_80154ED8(s32 a0, s32 a1); +extern void func_80154F9C(s32 a0); +extern void func_800183E0(s32 a0); +extern void func_801550FC(s32 arg0); +extern void func_8001D150(s32, s32); +extern void func_8001D130(int, int); +extern void func_80155150(int param_1); +extern s32 D_800DE2A4[]; +extern void func_801552F4(s32 a0); +extern void func_80155344(s32 a0); +extern s32 func_80155394(s32 *a0); +extern void func_801553A8(s32 *a0); +extern s32 func_80029178(s32); +extern s32 func_80155458(s32 param_1); +extern s32 func_801659DC(u8 *a0); +extern s32 func_801554B8(void *arg0); +extern void func_801555F4(void *a0); +extern void func_80155518(s32 *a0); +extern void func_80155580(void *a0); +extern s32 func_80161104(void); +extern void func_801555F4(void *); +extern void func_801555BC(void *a0); +extern int func_80155A44(int param_1); +extern int func_80161208(); +extern u8 D_800D4DA8[]; +extern void func_80155B20(s32 *a0); +extern s32 D_800D4DB4; +extern void func_80155B9C(s32 a0); +extern u8 D_800D4DD4[]; +extern void func_80155C0C(s32 *a0); +extern void func_8014ED28(s32 a0); +extern int func_80155FF8(int arg, int a1); +extern s32 D_800D4DF4; +extern void func_80155C64(s32 a0); +extern void func_8015E880(s32 *a0); +extern void func_80155D70(s32 param_1); +extern void func_80155E30(void *a0); +extern s32 func_80161208(); +extern void func_80155EA4(void *arg0); +extern void func_80155F58(void); +extern s32 func_80155F80(); +extern s32 func_80155F60(void); +extern s32 func_80155F80(s32 a0); +extern int func_80155FB0(int arg, int a1); +extern int func_80155FD4(int arg, int a1); +extern int func_80156044(int arg, int a1); +extern S801563EC *func_801563EC(u16 idx); +extern s32 func_80029B4C(s32 a0, s32 a1); +extern s32 func_80029BC8(s32 a0, s32 a1); +extern s32 func_80029C44(s32 a0, s32 a1); +extern s32 func_8015640C(s32 a0, s32 a1); +extern u32 func_8015616C(s32 param_1, u16 param_2); +extern u16 func_80156370(u16 param_1); +extern S801563EC * func_801563EC(u16 idx); +extern s32 func_801564B0(s32 a0); +extern s32 D_801151E0[]; +extern s32 func_801565C0(void); +extern void func_80156A14(s32 *a0); +extern void func_80156648(s32 *a0); +extern u8 D_8011DAD8[]; +extern s32 func_8014C568(s16 *a0, s16 *a1); +extern void func_801567BC(s32 a0); +extern B8 D_80128120[]; +extern B8 D_80128138[]; +extern S8 D_80126AF0[]; +extern u8 D_80126730[]; +extern void func_80156848(s32 param_1, s32 param_2); +extern void func_80156A1C(s32 param_1, s32 param_2); +extern s32 D_801150E0[]; +extern void func_80156A88(s32 a0, s32 a1); +extern void func_80156B74(s32 param_1, u32 param_2, u8 *param_3); +extern void func_80156ECC(int param_1, int param_2, int param_3, int param_4, int param_5); +extern void func_80156FA8(s16 *param_1, s16 *param_2, s16 *param_3); +extern void func_80157158(s32 a0, u16 a1, u16 a2, s32 a3, s32 a4, s32 a5, s32 a6, s32 a7, s32 a8, s32 a9, u16 a10, s32 a11, s32 a12); +extern s32 func_80135004(s32 a0, void *a1, s32 a2); +extern u32 func_801571C4(s32 a0, u16 a1, u16 a2, s32 a3, s32 a4, s32 a5, s32 a6, s32 a7, s32 a8, s32 a9, u16 a10, s32 a11, s32 a12); +extern void func_801575E4(void *a0); +extern void func_801574DC(s32 *a0); +extern void func_80157544(void *a0); +extern void func_8014CC28(s32 a0); /* defined */ +extern s32 func_8014F3E8(s32 a0); /* declared */ +extern void func_8015BDD0(s32 *a0); /* defined */ +extern void func_801575E4(void *a0); /* defined */ +extern void func_80157580(s32 arg0); +extern u8 D_800D4F14[]; +extern void func_801576A8(void *arg0); +extern s32 func_8015773C(u8 *a0); +extern s32 func_8015771C(u8 *a0); +extern s32 func_8015773C(u8 * arg0); +extern void func_801578C0(s32 a0); +extern void func_80157788(int param_1); +extern void func_80157808(s32 a0); +extern void func_801577C8(int param_1); +extern void func_80157880(s32 a0); +extern s32 func_801725A4(u8 *a0); +extern void func_801578C0(s32 param_1); +extern void func_80147A84(int); +extern void func_80148038(int, int); +extern void func_80147460(int); +extern void func_80146D90(int); +extern void func_80161450(void *a0); +extern void func_80157A8C(int); +extern void func_80154A74(int, int); +extern void func_8015795C(int param_1); +extern void func_80161D20(s32 a0, s32 a1); +extern void func_80157A8C(s32 a0); +extern void func_8016706C(s32 a0); +extern u8 D_800D51AC[]; +extern void func_80157AC8(s32 param_1); +extern void func_80157B74(int param_1); +extern void func_8016158C(void *a0); +extern void func_8015BE04(s32 *a0); +extern void func_80157BC8(s32 a0); +extern void func_80157CCC(s32 a0); +extern void func_80157DC4(void *a0); +extern void func_80157FC4(void *a0); +extern void func_80157D74(u16 *a0); +extern void func_80157E38(void *); +extern void func_80157E00(void *a0); +extern void func_80157E38(void * a0); +extern s32 func_80157F64(s32 *a0); +extern s32 func_80156600(void *a0); +extern void func_80157EA4(void *a0); +extern void func_80158038(void *); +extern void func_80158000(void *a0); +extern void func_80158038(void * param); +extern u8 D_800D524C[]; +extern void func_80161418(void *a0); +extern void func_801580B4(s32 a0); +extern void func_801581AC(s32 a0); +extern void func_8015824C(void *a0); +extern void func_801582C0(void *); +extern void func_80158288(void *a0); +extern u8 D_800D52A8[]; +extern void func_801585A4(s32 *a0); +extern void func_801582C0(void *a0); +extern s32 func_801585AC(s32 *a0); +extern u8 D_800D52E8[]; +extern void func_80158344(s32 *a0); +extern s32 func_801615C4(void *a0, s32 a1); +extern void func_80158434(s32 param_1); +extern void func_80158548(s32 param_1); +extern void func_801585EC(u8 *a0); +extern void func_80158794(void); +extern void func_80158880(s32 *param); +extern void func_8015879C(s32 param_1); +extern void func_80158814(void *arg0); +extern void func_80158AE4(void *a0); +extern void func_80158AB4(void *a0); +extern void func_8016F264(void); +extern void func_80165840(void); +extern void func_801658DC(void); +extern void func_80165A78(s32); +extern void func_80158AE4(void * a0); +extern void func_80158BB0(void *arg0); +extern s32 func_80159404(s32 a0, s32 a1); +extern void func_80158C40(s32 *a0); +extern void func_80158CD8(s32 *a0); +extern s32 func_80159434(s32 a0, s32 a1); +extern void func_80158D60(s32 a0); +extern M2C_UNK D_800D5904; +extern void func_80158E24(s32 *a0); +extern int rand(void); +extern s32 func_8013767C(s32 a0); +extern void func_80158F00(int param_1); +extern s32 func_801399F0(s32); +extern void func_80139914(s32); +extern s32 func_80159464(void); +extern void func_801594E8(s32, s32); +extern void func_80158FA4(s32 param_1); +extern s32 func_801399F0(s32 a0); +extern u8 D_80110C94[]; +extern u8 D_80110CD4[]; +extern void func_80159070(void *a0); +extern s32 func_80029A94(s32); +extern void func_80175454(void); +extern void func_800298BC(void *); +extern void func_8002992C(s32); +extern void func_800CF804(void); +extern void func_800CF818(void); +extern u8 D_80110D0C[]; +extern u8 D_80110C3C[]; +extern void func_80159120(s32 a0); +extern void func_801592CC(s32 *a0); +extern void func_8015934C(void *arg0); +extern void func_801593E4(A801593E4 *a0); +extern void func_80159698(void *a0); +extern s32 func_801596D4(void *a0); +extern void func_80174B6C(void); +extern void func_80129248(s16 a0); +extern void func_8013C938(void); +extern void func_8002850C(s32, s32, s32); +extern void func_80028620(s32, void *); +extern s32 func_801596F0(s32 param_1); +extern s32 func_80159874(void); +extern void func_800167B8(s32 a0); +extern s32 func_8015987C(s32 a0); +extern int func_800167F0(int arg); +extern int func_801598BC(void); +extern void func_80159968(void *a0); +extern void func_801598E0(u8 *a0); +extern void func_80159A20(void *a0); +extern void func_801599E0(void *a0); +extern void func_80159A18(void); +extern void func_80159BE4(s32); +extern void func_80159B08(s32 *a0); +extern void func_80159B70(void *a0); +extern void func_80159B3C(void * a0); +extern void func_80159BAC(s32 a0); +extern s32 func_80172590(u8 *a0); +extern void func_80159BE4(s32 arg0); +extern void func_8015A1C8(s32 a0); +extern void func_8015A2D8(s32); +extern void func_8015A1FC(s32 *a0); +extern void func_8015A264(void *a0); +extern void func_8015A230(s32 *a0); +extern void func_8015A2A0(s32 a0); +extern s32 func_80172608(u8 *a0); +extern void func_8015A2D8(s32 param_1); +extern u8 D_800D48DC; +extern s32 func_8015AB7C(s32 a0); +extern s32 D_8011F9C4; +extern s32 func_8015ABD4(s32 a0, s32 a1, s32 a2); +extern s32 func_80161CD0(s32 a0, s32 a1); +extern void func_8015AC48(s32 arg0); +extern void func_8015AC90(s32 a0); +extern void func_8015ADB0(s32 a0); +extern void func_8015ACC4(s32 *arg0); +extern void func_8015AD3C(void *a0); +extern void func_8015AD08(void *arg0); +extern void func_8015ADB0(s32); +extern void func_8015AD78(s32 a0); +extern void func_8015ADB0(s32 arg0); +extern s32 D_800D4A9C; +extern int func_8015B6F4(int param_1); +extern u8 D_800D4F8C[]; +extern s32 func_8015B7B4(s32 a0); +extern u8 D_800D4BE0[]; +extern s32 func_8014A51C(void); +extern s32 func_8015B858(u8 *a0); +extern s32 D_800D4B48; +extern void func_8015B8F8(s32 *a0); +extern void func_8015BD8C(s32 *a0); +extern s32 func_8015BE94(); +extern void func_8015BE38(struct Obj *a0); +extern s32 func_8015BE74(void); +extern void func_80161124(void *a0); +extern s32 func_8015BE94(s32 *a0); +extern s32 func_8015AE2C(); +extern s32 func_8015BEC4(void); +extern s32 func_8015B950(s32 arg0); +extern s32 func_8015BEE4(void); +extern void func_8015BF04(s32 *a0); +extern void func_8015C0C4(s32 a0); +extern void func_8015BFF4(void *a0); +extern void func_8015BF7C(s32 *a0); +extern void func_8015C030(s32 *a0, s32 a1); +extern void func_8015BFB0(s32 *a0, s32 a1); +extern void func_8015C0C4(s32); +extern void func_8015C08C(s32 a0); +extern void func_8014D738(void); +extern s32 func_8015C128(s32 param_1); +extern s32 func_801496D4(void*); +extern s32 func_801619A4(s32*); +extern s32 func_80149AA8(s32*); +extern void func_80149AD4(s32*); +extern s32 func_80149B54(s32*); +extern void func_80149BAC(s32*); +extern s32 func_801498E0(s32*); +extern void func_80149954(s32 a0); +extern s32 func_80149A64(s32*); +extern void func_800CCCC0(s32 a0); +extern void func_80147A84(s32 a0); +extern void func_801473EC(s32*); +extern void func_8014CC28(s32); +extern s32 func_8014F3E8(s32); +extern void func_80159BE4(s32 a0); +extern void func_8015C6E0(s32*); +extern void func_8015C32C(s32 arg0); +extern void func_8015C6A4(void); +extern void func_8015C788(s32 a0); +extern void func_8015C6AC(s32 *a0); +extern void func_8015C714(void *a0); +extern void func_8015C6E0(s32 *a0); +extern void func_8015C788(s32); +extern void func_8015C750(s32 a0); +extern s32 func_80161B18(void *a0); +extern s32 func_80161B84(void *a0); +extern void func_80161240(void *a0); +extern void func_80161C24(s32, s32); +extern void func_8015C7E4(u16 *param_1); +extern void func_8015C944(int param_1); +extern void func_8015CA28(u16 *param_1); +extern void func_8015CB94(s32 a0); +extern void func_8015CBCC(void); +extern void func_8015CBD4(void); +extern void func_8015CBDC(void); +extern void func_8015CBE4(void); +extern void func_8015CBEC(void); +extern void func_8015CBF4(void); +extern void func_8015CBFC(void); +extern void func_8015CC04(void); +extern void func_8015CC0C(s32 *param_1); +extern void func_8015CC74(s32 *a0); +extern void func_8015CC40(s32 *a0); +extern s32 func_8015CCD0(); +extern s32 func_8015CCB0(void); +extern s32 func_801725E0(u8 *a0); +extern s32 func_8015CCD0(s32 param_1); +extern void func_8015CF24(s32 a0); +extern void func_8015D01C(); +extern void func_8015CF58(s32 *param_1); +extern void func_8015CFC0(s32 *a0); +extern void func_8015CF8C(s32 *a0); +extern void func_8015CFFC(void); +extern void func_8015D01C(int param_1); +extern void func_8014E6A0(void); +extern s32 func_801725F4(u8 *a0); +extern void func_8015D104(void *arg0); +extern void func_8015D414(int param_1); +extern void func_8015D57C(s32); +extern void func_8015D480(s32 *a0); +extern s32 func_8015D4E8(s16 *a0); +extern void func_8015D4B4(s16 *a0); +extern void func_8015D524(s32 arg0); +extern void func_8015D544(s32 a0); +extern void func_801746DC(void); +extern void func_8015D57C(s32 arg0); +extern void func_80154150(int, int); +extern void func_80149374(int, int); +extern void func_8015D5E8(int param_1); +extern int func_8015E0D4(int); +extern void func_8015DA5C(s32 a0); +extern void func_8015DB6C(s32 a0); +extern void func_8015DA90(s32 *a0); +extern void func_8015DAF8(s32 *a0); +extern void func_8015DB6C(s32); +extern void func_8015DB34(s32 a0); +extern void func_8015DCB8(s32 a0); +extern void func_8015F89C(void *arg0); +extern void func_8015F9A4(void *arg0); +extern int func_8015DD74(int); +extern void func_8015DBD4(void *arg0); +extern int func_8015DC84(int a0); +extern void func_8015DCB8(s32 param_1); +extern int func_8015DD74(int arg0); +extern void func_8015DECC(s32 a0); +extern void func_8015DDF0(s32 *a0); +extern void func_8015DE58(s32 *a0); +extern void func_8015DECC(s32); +extern void func_8015DE94(s32 a0); +extern void func_8015E018(s32 a0); +extern void func_8015DF34(void *arg0); +extern int func_8015DFE4(int a0); +extern void func_8015E018(s32 param_1); +extern int func_8015E0D4(int a0); +extern void func_8015E22C(s32 a0); +extern void func_8015E150(s32 *a0); +extern s32 func_8015E1B8(s32 a0); +extern void func_8015E184(s32 *arg0); +extern void func_8015E22C(s32); +extern void func_8015E1F4(s32 a0); +extern u8 D_800D4FF4[]; +extern u8 D_800D5098[]; +extern u8 D_800D5060[]; +extern s32 func_8014A850(s32 a0); +extern void func_8015E40C(s32 a0); +extern void func_8015E588(void); +extern void func_8015E4B0(s32 a0); +extern void func_8015E288(s32 a0); +extern void func_8015E5B0(u8*); +extern void func_8015E344(u16 *param_1); +extern void func_80013E94(void *a0, void *a1); +extern void func_8015E4B0(s32 param_1); +extern void func_8015E5B0(u8 *self); +extern void func_8015E698(u16 *param_1); +extern void func_8015E714(s32 *a0); +extern void func_8015E95C(s32); +extern void func_8015E84C(s32 *a0); +extern void func_8015E8E8(s32 *a0); +extern void func_8015E9B8(s32 *a0); +extern void func_8015E8B4(s32 *a0); +extern void func_8015E924(s32 a0); +extern void func_8015E95C(s32 a0); +extern s16 D_801152A0; +extern void func_80160818(s32 *a0); +extern void func_8015ED6C(s32 *a0); +extern void func_8015EE7C(s32); +extern void func_8015EDA0(s32 *a0); +extern s32 func_8015EE08(s32 a0); +extern void func_8015EDD4(s32 *arg0); +extern void func_8015EE44(s32 a0); +extern void func_8015EE7C(s32 param_1); +extern void func_8015EEE0(void *arg0); +extern void func_8015EF9C(void); +extern void func_8015F080(s32); +extern void func_8015EFA4(s32 *a0); +extern void func_8015F00C(s32 *a0); +extern void func_8015EFD8(s32 *a0); +extern void func_8015F048(s32 a0); +extern void func_8015F080(s32 a0); +extern s32 func_80161208(void); +extern void func_8015F118(void *a0); +extern void func_8015F260(s32 *a0); +extern void func_8015F380(); +extern void func_8015F2BC(s32 *a0); +extern void func_8015F324(s32 *a0); +extern void func_8015F2F0(s32 *a0); +extern void func_8015F360(void); +extern s32 func_801725B8(u8 *a0); +extern void func_8015F380(void* arg0); +extern void func_801477E8(s32*, s32); +extern u16 func_80148800(s32*); +extern s32 func_80148980(u8*); +extern void func_8014F1F4(void); +extern void func_8014FCFC(void); +extern s32 func_80146A6C(s32, void*, s32, s32, s32, s32, s32); +extern void func_80146DB8(s32*, s32*); +extern void func_80146E90(s32*, s32); +extern s32 func_801725B8(u8*); +extern void func_80019064(void*); +extern void func_801484B0(s32, s32); +extern void func_80148534(s32, s32); +extern void func_8015F448(s32 arg0); +extern void func_8015F738(s32 *a0); +extern void func_8015F848(s32 *a0); +extern void func_8015F76C(s32 *a0); +extern s32 func_8015F7D4(s32 a0); +extern void func_8015F7A0(s32 *arg0); +extern void func_8015F810(s32 *a0); +extern void func_801466F0(s32, s32, s32, s32, s32, s32, s32, s32); +extern void func_80147078(s32 *, s16); +extern void func_80159B70(void *); +extern void func_8015F948(s32 *param_1); +extern void func_8015FA24(s32 arg0); +extern void func_8015FBE0(s32 *a0); +extern void func_8015FA44(s32 *a0); +extern void func_8015FAAC(s32 *a0); +extern void func_8015FA78(s32 *a0); +extern s32 func_801612B8(void *a0, s32 a1); +extern void func_8016007C(s32 a0); +extern void func_8015FAE8(void *arg0); +extern void func_8015FCC8(void *param_1); +extern void func_8015FD74(int param_1); +extern u8 func_80165700(s32 a0, s32 a1); +extern void func_8015FDCC(s32 a0); +extern void func_8015FE70(u16 *param_1); +extern u8 func_801656E8(s32 a0, s32 a1); +extern void func_80165670(s32 a0, s32 a1); +extern void func_8016004C(s32 a0); +extern void func_8015FF20(void *param_1); +extern u16 D_801270C0; +extern void func_801601AC(s32 *a0); +extern void func_801600D0(s32 *a0); +extern void func_80160138(s32 *a0); +extern void func_80160104(s32 *a0); +extern void func_80160174(s32 *a0); +extern void func_801601E4(s32 *a0); +extern void func_80160244(s32 *a0); +extern void func_801602A4(s32 *a0); +extern void func_8016032C(void); +extern void func_80160410(s32 *a0); +extern void func_80160334(s32 *a0); +extern void func_8016039C(s32 *a0); +extern void func_80160368(s32 *a0); +extern void func_801603D8(s32 *a0); +extern u8 D_80062BD0; +extern void func_80160410(s32 * a0); +extern void func_80160534(u8 *p); +extern void func_801607B8(s32 *a0); +extern void func_801608C0(s32 *a0); +extern void func_801607E4(s32 *a0); +extern void func_8016084C(s32 *a0); +extern void func_80160888(s32 *a0); +extern void func_80160A74(s32 *a0); +extern void func_80160920(unsigned short *param_1); +extern void func_801609B8(u16 *param_1); +extern void func_80160A28(s32 a0); +extern void func_80160BB4(s32 *a0); +extern void func_80160ACC(s32 *a0); +extern s32 func_80160B34(s32 a0); +extern void func_80160B00(s32 *arg0); +extern void func_80160B70(s32 a0); +extern void func_80160C28(void *arg0); +extern void func_80160CB4(s32 *a0); +extern void func_80160D10(void *arg0); +extern void func_80160DEC(u8 *a0); +extern void func_80160F00(); +extern void func_80160E3C(s32 *a0); +extern void func_80160EA4(); +extern void func_80160E70(s32 *a0); +extern void func_80160EA4(void *a0); +extern void func_80160EE0(void); +extern void func_80160F00(void* arg0); +extern void func_800D0F4C(s32 a0); +extern u8 D_80110EC0; +extern void func_80160F70(s32 a0); +extern void func_80160FE0(s32 *a0); +extern void func_80161034(void *a0); +extern void func_80161094(s32 a0); +extern void func_801610FC(void); +extern void func_801483E8(void); +extern s32 func_80161A60(s32 a0); +extern void func_8016130C(void *a0, s32 a1); +extern void func_80161374(void *a0, s32 a1); +extern void func_80161278(void *a0); +extern s32 func_801612B8(void * a0, s32 a1); +extern void func_8016163C(void *a0, s32 a1); +extern void func_80161774(void *a0, s32 a1); +extern s32 func_8016197C(s32 a0, s32 a1); +extern s32 func_80161488(void *a0); +extern void func_80161888(void *a0, s32 a1); +extern void func_801614E4(void *a0); +extern void func_8016191C(void *a0, s32 a1); +extern void func_8016151C(void *a0); +extern void func_80161554(void *a0); +extern s32 func_801615C4(void * arg0, s32 arg1); +extern s32 func_801619A4(s32 *a0); +extern s32 func_80161A00(s32 a0); +extern s32 func_80161A30(s32 a0); +extern int func_801497A8(void); +extern int func_80161BE0(void *param_1); +extern void func_80161C98(int param_1, u32 param_2); +extern void func_80161E08(s32); +extern s32 func_80162438(s32); +extern void func_800D1734(void *); +extern void func_80161D88(void); +extern void func_80161E08(s32 param_1); +extern int func_800291DC(int); +extern int func_800D0E30(void *a0); +extern int func_801620C4(void); +extern s32 func_800D0D7C(s32, s32); +extern void func_8016216C(void); +extern s32 func_801621CC(s32 arg0); +extern void func_801622C4(void); +extern void func_80162330(void *a0); +extern void func_8014706C(void *a0); +extern s32 func_8016236C(u8 *a0); +extern void func_800D0C48(s32 a0); +extern s32 func_801623B8(s32 *a0); +extern s32 func_800167F0(s32 a0); +extern s32 func_80162414(void); +extern s32 func_80162438(s32 _unused0); +extern int func_801626B8(void); +extern void func_80162714(void); +extern void func_80162760(void); +extern void func_801627C0(void); +extern void func_80162834(void *a0); +extern void func_80162968(s32 a0); +extern s32 func_80162ACC(u8 *a0); +extern void func_80162870(s32 param_1); +extern void func_801628F4(s32 *a0); +extern void func_80162968(s32 param_1); +extern void func_80162AC0(s32 *a0, s8 a1); +extern s32 func_80162AE0(u8 *a0); +extern void func_80162AF4(void); +extern void func_80162CC4(void); +extern s32 D_80126D40; +extern void func_80162B1C(void); +extern void func_80162D28(s32 *a0); +extern void func_80162D88(s32 *a0); +extern void func_80162DE8(s32 *a0); +extern void func_80162E48(s32 *a0); +extern void func_80162EA8(s32 *a0); +extern void func_80162F60(s32 arg0, s32 arg1); +extern void func_80162F80(s32 arg0, s32 arg1); +extern void func_80162FA0(s32 arg0, s32 arg1); +extern void func_80162F08(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_80162FC0(s32 *a0); +extern void func_8016325C(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_80163234(s32 a0); +extern s32 D_80115100; +extern s32 func_801632E0(void); +extern s32 D_80115200; +extern s32 func_801632F0(void); +extern u16 D_80126B18[]; +extern void func_80163328(void); +extern s32 func_801633A8(void); +extern s32 func_80163408(s32 param_1, s32 param_2, s32 param_3, s32 param_4); +extern void func_80163534(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4, u16 * a5); +extern void func_8016345C(s32 a0, u16 a1, s32 a2, u16 a3, s32 a4); +extern void *memcpy(void *dst, const void *src, unsigned int n); +extern void func_801634D8(s32 param_1, u16 param_2, u16 param_3, s32 param_4, u16 param_5); +extern void func_80157158(); +extern void func_80163664(s32 a0, u16 a1, u16 a2, s32 a3, s32 a4, s32 a5, s32 a6, s32 a7, s32 a8, s32 a9, u16 a10, s32 a11, s32 a12); +extern void func_801636D0(s32 a0, s32 a1); +extern s32 func_8016380C(struct S8016380C *a0, s32 a1); +extern void *memcpy(void *dst, void *src, s32 n); +extern s32 func_801638A0(u8 *a0, s32 a1); +extern s32 func_80163950(s32 a0); +extern void func_80163A58(void *a0); +extern void func_80163A94(s32 param_1); +extern void func_80163C2C(s32 param_1); +extern void func_80163EC8(s32 param_1); +extern void func_80164270(s32 *a0); +extern void func_80164418(void); +extern void func_80163764(s32 a0); +extern void func_801642AC(s32 a0); +extern void func_8016432C(s32 a0); +extern void func_80164410(void); +extern s32 func_80012DBC(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_80164530(s32 arg0); +extern void func_80164744(s32 param_1); +extern void func_8001C810(s32 a0, s32 a1); +extern void func_80164A74(s32 *a0); +extern void func_80164930(s32 a); +extern void func_801647A4(int param_1); +extern void func_80164ACC(); +extern void func_80164864(void *a0); +extern s32 func_8014C308(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_80164ACC(s32 a0); +extern void func_80164BA0(void *a0); +extern void func_8001CD50(s32 a0, s32 a1); +extern void func_80164DD0(s32 a0); +extern void func_80164DB0(void); +extern void func_80164BDC(s32 param_1); +extern s32 func_80164E40(void); +extern void func_80164CD4(u8 *a0); +extern void func_80164D4C(void *arg0); +extern void func_80164EA4(void *a0); +extern void func_80165124(void *a0); +extern void func_80164EE0(int param_1); +extern s32 func_80165140(s32 a0); +extern void func_801651B8(void *a0); +extern void func_80164F44(void *arg0); +extern void func_80165024(void *a0); +extern void func_80165064(s32 *a0); +extern void func_801650C4(s32 *a0); +extern s32 func_80165140(s32 param_1); +extern void func_80165240(void *param_1, void *param_2, void *param_3); +extern void func_801651B8(void * param_1); +extern void func_80016ED4(void *a0); +extern s32 func_80017DC4(void *a0, void *a1); +extern u8 D_80126CF8; +extern void func_8016533C(void); +extern void func_801653F4(s32 a0); +extern void func_80165580(s32 a0); +extern void func_80165374(s32 a0); +extern void func_80165580(s32 _arg0); +extern void func_801653B8(s32 *a0); +extern s32 func_80165624(s32 a0); +extern u8 D_80078EC5; +extern u8 func_80165658(s32 a0, s32 a1); +extern void func_800CAE0C(s32 a0); +extern void func_801654A8(s32 arg0); +extern void func_80165B28(void *a0); +extern void func_801655E4(s32 a0); +extern u8 func_801656D0(s32 a0, s32 a1); +extern void func_800CAF6C(void); +extern void func_80165770(void); +extern void func_801657D8(void); +extern u8 D_80078EC3; +extern void func_801657A0(void); +extern s32 D_80078EA0; +extern s32 D_80078EA8; +extern u8 D_80078EBB; +extern s32 D_80078ED4; +extern s32 D_80078ED8; +extern s32 D_80078EDC; +extern u8 D_80078EE0; +extern void func_80165874(void); +extern s8 D_80078EC4; +extern void func_801658EC(void); +extern s32 func_80165900(void); +extern s32 func_80165910(void); +extern s32 D_8012672C; +extern s32 D_8012811C; +extern s32 D_80126B08; +extern void func_80165938(void); +extern void func_80165958(void); +extern s32 func_80165978(void); +extern void func_80165988(void); +extern s32 func_801659A8(void); +extern void func_801659B8(void); +extern s32 func_801659CC(void); +extern void func_80165A18(void); +extern u8 D_80078EC2; +extern s32 func_80165A50(s32 _arg0); +extern void func_80165AC8(void); +extern void func_80165A78(s32 arg0); +extern void func_80165B08(void); +extern void func_80165B10(void); +extern void func_80165B18(void); +extern void func_80165B20(void); +extern void func_80165BB4(u8 *a0); +extern void func_80165B6C(u8 *a0); +extern void func_80165C58(s32 arg0); +extern void func_80165BFC(void *a0); +extern void func_80165C78(void); +extern void func_80165E2C(u16 *arg0); +extern s32 func_80165FA4(s32 a0, s32 a1, s32 a2); +extern s32 func_80167DBC(s32 a0, s32 a1, s32 a2); +extern s32 func_80167AE0(); +extern void func_80165E90(void); +extern void func_80166018(void *a0); +extern void func_80166244(void* arg0); +extern void func_8016629C(void *a0); +extern void func_801662F4(void *a0); +extern void func_8016634C(void *a0); +extern void func_801663A4(void *a0); +extern void func_801663FC(void *a0); +extern s32 func_800D21C4(s32 a0, void *a1, s32 a2); +extern void func_800D1FC8(s32 a0, s32 a1); +extern void func_801665B4(); +extern void func_80146C3C(); +extern void func_80166438(u8 *a0); +extern void func_80166618(void *a0); +extern void func_80166654(void *a0); +extern s32 func_80166994(); +extern void func_80149350(s32); +extern void func_800D20C0(void *a0, void *a1, s32 a2); +extern void func_80017E68(void *a0, void *a1); +extern void func_800D23D0(void *a0); +extern void RotMatrixYXZ(void *a0, void *a1); +extern s32 func_80017758(void *a0, void *a1); +extern void func_80048EAC(void *a0, void *a1); +extern s32 func_801670E4(s32 arg0, s32 arg1, s32 arg2, s32 arg3); +extern void func_801678B4(void *a0); +extern void func_80167A9C(void *a0); +extern void func_80167AD8(void); +extern int func_80029178(int); +extern void func_80168070(s32 a0, s16 *a1, s16 *a2, void *a3); +extern s32 func_80167DBC(s32 arg0, s32 arg1, s32 arg2); +extern void ApplyTransposeMatrixLV(void *a0, void *a1, void *a2); +extern void func_80168070(s32 param_1, s16 *param_2, s16 *param_3, void *param_4); +extern void func_80166F58(s32 arg0, s32 arg1, s32 arg2, s32 arg3); +extern void func_801681FC(s32 param_1); +extern void func_80168430(s32 param_1); +extern void func_80168640(s32 a0); +extern Blk20 D_800AE620; +extern s32 RotMatrixX(s32 a0, void *a1); +extern s32 func_801670E4(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_80168664(void *arg0); +extern void func_80168744(void *a0); +extern void func_80168BDC(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_801687CC(s32 a0); +extern void func_80168780(s32 a0); +extern void func_801689D8(void *a0); +extern void func_80168A14(s32 *a0); +extern void func_80168AA8(void *a0); +extern void func_80168AE4(s32 a0); +extern void func_80168D58(void *a0); +extern void func_80168F40(void *arg0); +extern void func_8016901C(void *a0); +extern void func_80169058(s32 a0); +extern void func_801693CC(void *a0); +extern void func_80169584(s32 param_1); +extern void func_801696D8(s32 a0, s32 a1); +extern void func_80169830(void *a0); +extern void func_8016986C(s32 a0); +extern s32 func_80169A4C(s32 a0, s32 a1); +extern void func_80169B80(void *a0); +extern void func_80169F00(void *a0); +extern void func_8016A020(void *a0); +extern void func_8016A05C(void *a0); +extern void func_8016A700(void *a0); +extern s32 func_80016A5C(); +extern s32 func_8016A8FC(s32 a0); +extern void func_8016AB30(void *a0); +extern void func_8016B234(); +extern void func_800D22E4(s32 a0); +extern void func_8016AFB0(s32 a0); +extern s32 RotTransPers(s32 a0, s32 a1, s32 *a2, s32 *a3); +extern void func_8016B234(s32 param_1); +extern s32 func_8016B448(s32, s32); +extern s32 func_8016BA48(s32 a0); +extern void func_8016B3F4(s32 a0); +extern s32 func_8016B428(s32 a0); +extern void func_8016B984(void *a0); +extern s32 func_8016B448(s32 arg0, s32 arg1); +extern void func_8016B4BC(void *a0); +extern int func_8016B9F8(int); +extern int func_8016B834(int, int); +extern void func_8016B91C(int); +extern void func_8016B4F8(int param_1); +extern s32 func_8016B9F8(s32 param_1); +extern void func_8016B6BC(s32, s32, s32, s32); +extern void func_8016B91C(s32); +extern void func_8016B5C0(s32 param_1); +extern void func_8001CD9C(int, void *); +extern int func_8016B834(int param_1, int param_2); +extern void func_8016B964(SrcB964 *a0, DstB964 *a1); +extern void func_8016B91C(s32 arg0); +extern void func_8012EFB8(s32 a0); +extern s32 func_8016BA68(s32, s32); +extern void func_8016BADC(void *a0, s32 a1, s32 a2); +extern void func_8016BBA4(void *a0); +extern void func_8016BF50(s32); +extern void func_8016BFA8(s32 a0, s32 a1, s32 a2, s32 a3); +extern s32 func_8016BD78(s32 param_1); +extern void func_8016BF34(void *a0); +extern void func_8016BFD0(s32 a0, s32 a1, s32 a2, s32 a3, void *a4); +extern void func_8016C14C(void *a0); +extern s32 func_8016C374(s32 a0, s32 a1, s32 a2, s32 a3); +extern s32 VectorNormalSS(void *a0, void *a1); +extern void func_8016C74C(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4); +extern short func_8016CF04(); +extern void func_8016C83C(s32 a0); +extern short func_8016CBC0(void); +extern void func_8016C998(s32 param_1); +extern void func_8016CB84(void *a0); +extern void func_8016D19C(void *a0); +extern void func_800233CC(void*, unsigned short); +extern void func_8001CD9C(int, void*); +extern void func_80147324(int a); +extern void RotMatrixYXZ(void *a, void *b); +extern void ApplyMatrixSV(void *a, void *b, void *c); +extern void func_8016D1D8(int param_1); +extern void func_8016D428(void *a0); +extern void func_8016D464(u8 *a0); +extern void func_8016D4DC(s32 a0); +extern void func_8016D688(int param_1); +extern void func_8016DBD8(u8 *a0); +extern void func_8016DA30(int param_1); +extern void func_8016DEA4(void *a0); +extern void func_8016DF20(void *a0); +extern void func_8016E3CC(s32 a0); +extern void func_8016E1CC(s32 a0); +extern void func_8016E26C(s32 *a0); +extern void func_8016E460(void *arg0, void *arg1); +extern void func_8016E5B8(void *a0); +extern void func_8016E778(); +extern void func_8016E688(void *a0); +extern void func_8016E6E4(s32 a0); +extern void func_8016E7C8(int param_1, short *p1, unsigned int *p2); +extern void func_8016E778(int param_1); +extern s32 D_80115218; +extern void func_8016E8F0(void); +extern void func_8016E918(short param_1, short param_2); +extern s32 func_8016EC0C(s32 a0, s32 a1); +extern void func_8016EAC0(Wave *param_1); +extern void func_8016EB3C(s32 p); +extern void func_8016EBA8(u8 *param_1); +extern s32 D_80126D70; +extern void func_8016EDEC(s32 a0, s32 a1, s32 a2); +extern void func_8016ED8C(s32 a0, s32 a1, s32 a2); +extern void func_8016EE40(s32 a0, s32 a1, s32 a2); +extern void func_8016EDBC(s32 a0, s32 a1, s32 a2); +extern void func_8016EE94(); +extern void func_8016EDEC(s32 _arg0, s32 _arg1, s32 _arg2); +extern void func_8016EF78(s32 a0); +extern void func_8016EE40(s32 _arg0, s32 _arg1, s32 _arg2); +extern void func_801726D0(void *a0); +extern s32 D_80126D50; +extern s32 D_80126D54; +extern u8 D_80126D6C; +extern u8 D_80126D6D; +extern u8 D_80126D6E; +extern s32 D_80126D5C; +extern s32 D_80126D60; +extern s16 D_80126D64; +extern s16 D_80126D66; +extern s16 D_80126D68; +extern s16 D_80126D6A; +extern u8 D_80126D1A; +extern s32 D_80127058; +extern s32 D_8012705C; +extern s32 D_80127060; +extern s32 D_80127064; +extern s32 D_80127068; +extern s32 D_8012706C; +extern s32 D_80127070; +extern s32 D_80127074; +extern s16 D_80126D20; +extern void func_8016EE94(s32 a0, s32 a1); +extern s32 func_8016EFC8(s32); +extern s32 func_8016EFA8(s32 a0); +extern void func_8016F094(s32 *a0); +extern void func_8016F250(void); +extern void func_8016F288(void); +extern void func_8016F2A8(void); +extern void func_8016F2C8(void); +extern void func_8016F2EC(void); +extern void func_8016F30C(void); +extern void func_8016F330(void); +extern void func_8016F350(void); +extern void func_8016F374(void); +extern void func_8016F388(void); +extern void func_8016F398(void); +extern s32 func_8016F44C(s32 a0); +extern void func_8016F470(s32 a0); +extern s32 func_8016F410(s32 a0); +extern void func_80175414(s32 _arg0); +extern s32 func_8016F4C4(s32); +extern s32 func_8016F494(s32 a0); +extern void func_8016F0E4(void); +extern s32 func_8016F4C4(s32 param_1); +extern void func_8016F4F4(void); +extern void func_801719A4(int a0, int a1); +extern void func_800D1724(s32 a0); +extern void func_80171928(void *a0); +extern void *D_8011F738; +extern void func_8016F4FC(void *a0); +extern void func_8014708C(void *a0); +extern void func_8016F540(void *a0); +extern void func_8016F578(s32 *a0); +extern void func_8016F5B0(void *a0); +extern void func_80147060(u8 *a0); +extern void func_8016F5E0(u8 *a0); +extern void func_8016F610(void *a0); +extern void func_8016F648(void *a0); +extern void func_8016F680(void *a0); +extern void func_8016F6B0(void *a0); +extern void func_8016F6E0(void *a0); +extern s32 func_80171990(u8 *a0); +extern void func_8016F764(void *a0); +extern void func_8016F71C(u8 *a0); +extern void func_8016F798(void *a0); +extern void func_8016F804(void *a0); +extern void func_8016F7D4(u8 *a0); +extern void func_80171928(void *); +extern void func_8016F834(void *a0); +extern void func_8016F8AC(u8 *a0); +extern void func_8016F870(u8 *a0); +extern void func_80172358(u8 *a0, u8 *a1); +extern void func_8016F8E4(void *a0); +extern void func_8016F95C(void *a0); +extern void func_8016F920(u8 *a0); +extern s32 func_80171CC4(void *a0, void *a1); +extern s32 func_80171D1C(void *a0, void *a1, s32 a2); +extern u16 D_8011F73E; +extern void func_8016F9C4(void *a0); +extern void func_80171B44(s32 *a0); +extern void func_8016FA44(s32 a0); +extern void func_8016FA00(s32 a0); +extern s32 func_80171C64(s32 a0, s32 a1); +extern void func_8016FA84(void *a0); +extern void func_8016FB10(void *a0); +extern void func_8016FAC0(u8 *a0); +extern void func_8016FB50(void *a0); +extern void func_8016FB7C(void *a0); +extern void func_8016FC24(); +extern void func_8016FBB8(s32 a0); +extern s32 func_80171B4C(s32 a0, s32 a1); +extern void func_8016FC24(s32 a0); +extern void func_8016FC64(void *a0); +extern void func_8016FC90(void *a0); +extern void func_8016FD08(u8 *a0); +extern void func_8016FCCC(u8 *a0); +extern s32 func_80172658(s32 *a0); +extern void func_8016FD08(u8 *s0); +extern void func_8016FD7C(s32 *a0); +extern void func_8016FDB4(void *a0); +extern void func_8016FE2C(u8 *a0); +extern void func_8016FDF0(u8 *a0); +extern void func_8016FE2C(u8 * a0); +extern s32 func_8016FE78(s32 *a0); +extern s32 func_80172664(s32 *a0); +extern void func_8016FED0(s32 *a0); +extern void func_8016FF30(void *a0); +extern void func_8016FFA8(u8 *a0); +extern void func_8016FF6C(u8 *a0); +extern void func_8016FFDC(void *a0); +extern void func_80170068(u8 *a0); +extern void func_80170018(u8 *a0); +extern void func_801700B8(u8 *a0); +extern void func_80170100(u8 *a0); +extern void func_80170150(void *a0); +extern void func_801701C8(u8 *a0); +extern void func_8017018C(u8 *a0); +extern void func_801701C8(u8 * a0); +extern void func_80170240(void *a0); +extern void func_801702B8(s32 a0); +extern void func_8017027C(u8 *a0); +extern s16 func_80171AB0(s32 a0, void *a1); +extern void func_801702FC(void *a0); +extern void func_80170374(u8 *a0); +extern void func_80170338(u8 *a0); +extern s32 func_8014C168(s32 *a0, s32 a1); +extern void func_80170374(u8 * a0); +extern void func_801703E0(void *a0); +extern void func_8017044C(u8 *a0); +extern void func_8017041C(u8 *a0); +extern void func_8017044C(u8 * a0); +extern void func_801704B0(void *a0); +extern void func_8017051C(void *a0); +extern void func_801704EC(u8 *a0); +extern void func_80170548(void *a0); +extern void func_801705C0(u8 *a0); +extern void func_80170584(u8 *a0); +extern void func_801705C0(u8 * a0); +extern void func_801705F8(void *a0); +extern void func_80170670(void *a0); +extern void func_80170634(u8 *a0); +extern void func_8012A568(void (*a0)(void)); +extern void func_801706AC(void *a0); +extern void func_80170718(void *a0); +extern void func_801706E8(u8 *a0); +extern void func_80129FF4(void); +extern void func_80170748(void *a0); +extern void func_801707D4(void *a0); +extern void func_80170784(u8 *a0); +extern s32 func_80174ED4(void); +extern void func_80170810(void *a0); +extern void func_801708B0(void *a0); +extern u8 D_800D5DA8; +extern void func_8017084C(s32 a0); +extern u8 D_800D5A34[]; +extern void func_80170AD8(void *a0); +extern void func_80171904(s32 a0); +extern void func_80170B48(int a0); +extern void func_80170928(void); +extern u8 D_800D59EC[]; +extern void func_80170970(void); +extern u8 D_800D599C[]; +extern void func_801709B8(void); +extern u8 D_800D5934[]; +extern void func_80170A00(void); +extern void func_80170A48(void); +extern u8 D_800D5DC0[]; +extern void func_80170A90(void); +extern void func_80170B14(int a0); +extern void func_80170B90(u8 *a0); +extern void func_80170BD8(void *a0); +extern void func_80170C44(u8 *a0); +extern void func_80170C14(u8 *a0); +extern void func_80170C74(void *a0); +extern s32 func_8017197C(u8 *a0); +extern void func_80170CF0(void *a0); +extern void func_80170CB0(u8 *a0); +extern void func_80170D68(void *a0); +extern void func_80170DE0(u8 *a0); +extern void func_80170DA4(u8 *a0); +extern s32 D_8011F73C; +extern s32 D_8011F740; +extern void func_801718AC(void *a0); +extern void func_80170DE0(u8 * _arg0); +extern void func_80170E34(void *a0); +extern void func_80170EAC(u8 *a0); +extern void func_80170E70(u8 *a0); +extern int func_800D0F8C(int a0); +extern void func_80170EAC(u8 * _arg0); +extern void func_80170EFC(void *a0); +extern void func_80170F74(void *a0); +extern void func_80170F38(u8 *a0); +extern void func_80170FB0(void *a0); +extern void func_80171028(void *a0); +extern void func_80170FEC(u8 *a0); +extern void func_80171064(void *a0); +extern void func_801710DC(u8 *a0); +extern void func_801710A0(u8 *a0); +extern u16 D_8011F73A; +extern void func_801710DC(u8 * arg0); +extern void func_80171120(void *a0); +extern void func_8017118C(u8 *a0); +extern void func_8017115C(u8 *a0); +extern void func_8017118C(u8 * a0); +extern void func_801711C0(void *a0); +extern void func_80171238(void); +extern void func_801711FC(u8 *param_1); +extern void func_80171260(void *a0); +extern s32 func_80012F74(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_80171384(void *a0); +extern void func_801714E4(void *a0); +extern struct B16 D_800A5E88; +extern struct B16 D_800A5E98; +extern struct B16 D_800A5EA8; +extern void func_8017162C(void *a0); +extern void func_80171520(s32 a0); +extern s32 func_801716AC(s32 a0, void *a1, s32 *a2); +extern s32 func_80012FC8(s32 a0, s32 a1, s32 a2, s32 a3); +extern u8 D_800A5E94; +extern u8 D_800A5E95; +extern u8 D_800A5E96; +extern s32 func_801716AC(s32 a0, void * a1, s32 * a2); +extern int func_800D0FE0(int a0); +extern void func_801717A0(void *a0); +extern void func_8013E588(void *a0); +extern void func_801717F4(void *a0); +extern void func_80171824(void *a0); +extern void func_80171854(void *a0); +extern void func_80171884(void); +extern void func_80171A1C(u8 *a0); +extern void func_80171928(void * a0); +extern void func_8017196C(s32 *a0, s8 a1); +extern void func_80171A04(s32 *a0); +extern void func_80171A10(s32 *a0); +extern void func_80171A34(s32 *a0, s8 a1); +extern s32 func_80171A44(u8 *a0); +extern s32 func_80171A58(u8 *a0); +extern s32 func_80171A6C(u8 *a0); +extern void func_80171A80(s32 *a0, s32 a1); +extern s32 func_80171A88(s32 a0); +extern s16 func_80171AB0(s32 param_1, void * _arg1); +extern void func_80171B10(void *a0); +extern void func_80171EC8(s32 a0); +extern s32 func_80171C64(s32 param_1, s32 param_2); +extern s32 func_80171D78(s32 a0, s32 a1); +extern int func_8017250C(short *a0, short *a1); +extern s32 func_80171CC4(void * a0, void * a1); +extern s32 func_80171FFC(short *a0, short *a1, s32 a2); +extern s32 func_80171D1C(void * a0, void * a1, s32 a2); +extern s32 func_8017248C(s32 a0, s32 a1); +extern s32 func_80171E08(s32 arg0, s32 arg1, s32 arg2); +extern s32 func_8017248C(s32, s32); +extern s32 ratan2(s32, s32); +extern void func_80172170(s32, s32); +extern void func_80146D90(s32); +extern void func_80172170(s32 a0, s32 a1); +extern s32 func_8017209C(void *arg0, void *arg1, s32 arg2, s32 arg3); +extern void func_801722CC(s32 *a0); +extern void func_80172304(s32 *a0); +extern void func_80172310(u8 *a0); +extern void func_801723C4(s32 param_1, s32 param_2); +extern void func_80172414(s32 a0); +extern s32 func_801724EC(s32 a0); +extern s32 func_8017248C(s32 arg0, s32 arg1); +extern s32 func_80013450(s32); +extern s32 func_80172560(u8 *a0, u8 *a1); +extern s32 func_8017261C(u8 *a0); +extern s32 func_80172644(u8 *a0); +extern s32 func_80172670(s32 *a0); +extern s32 func_80172688(s32 *a0); +extern s32 func_80172694(s32 *a0); +extern s32 func_801726A0(s32 *a0); +extern s32 func_801726AC(s32 *a0); +extern s32 func_801726B8(s32 *a0); +extern s32 func_801726C4(s32 *a0); +extern s32 func_80172760(s32 a0); +extern s32 func_80174650(s32); +extern void (*D_80127088)(void); +extern s32 D_801270BC; +extern s16 D_80126B0C; +extern void func_801726D0(void * _arg0); +extern void func_80172710(void); +extern void func_80174684(void *); +extern void func_80172738(void); +extern s16 D_80126B30; +extern s32 func_801727D0(void *a0); +extern void func_80172780(void *a0); +extern void func_80172844(u8 *a0); +extern void func_8017280C(u8 *a0); +extern void func_8017288C(void); +extern s32 func_801728E4(void *a0); +extern void func_80172894(void *a0); +extern void func_80172958(u8 *a0); +extern void func_80172920(u8 *a0); +extern s16 D_80126B36; +extern void func_80172958(u8 * a0); +extern void func_801729A8(void); +extern s32 func_801729F0(void *a0); +extern s16 D_80126B34; +extern s16 D_80126B32; +extern void func_801729B0(s32 a0); +extern void func_80172A8C(void *a0); +extern void func_80172A2C(int param_1); +extern void func_80172ACC(u8 *a0); +extern void func_80172B0C(void); +extern s32 func_80172B44(void *a0); +extern void func_80172B14(s16 a0); +extern s32 D_801150F8; +extern void func_80172BC8(void *a0); +extern void func_80172B80(u8 *a0); +extern void func_80172C48(void); +extern s32 func_80172CA0(void *a0); +extern void func_80172C50(void *a0); +extern void func_80172D14(u8 *a0); +extern void func_80172CDC(u8 *a0); +extern void func_80172D14(u8 * a0); +extern void func_80172D60(void); +extern s32 D_80127508; +extern s32 func_80172DAC(void *a0); +extern void func_80172D68(s32 a0); +extern void func_80172E20(u8 *a0); +extern void func_80172DE8(u8 *a0); +extern void func_80172E20(u8 * a0); +extern void func_80172E8C(void); +extern void func_8017303C(void *); +extern void func_80172E94(void); +extern void func_80172ED4(void); +extern void func_80172EFC(void); +extern void func_80172F24(void); +extern u8 D_800D47F4[]; +extern void func_80172F4C(void); +extern void func_80172F9C(void); +extern u8 D_800D5C6C[]; +extern void func_80172FEC(void); +extern s32 func_80173078(void *a0); +extern void func_8017303C(void * a0); +extern void func_801730FC(struct S801730FC *a0); +extern void func_801730B4(s32 a0); +extern void func_8017316C(void); +extern s32 func_8017319C(void *a0); +extern void func_80173174(void); +extern u8 D_800D5AA0[]; +extern void func_80173220(void *a0); +extern void func_801731D8(s32 *a0); +extern void func_80173220(void * arg0); +extern void func_80173294(void); +extern void func_801732C4(); +extern void func_8017329C(void); +extern void func_801732C4(s32 *a0); +extern void func_8017331C(); +extern void func_801732F4(void); +extern void func_8017331C(s32 *a0); +extern void func_80173374(); +extern void func_8017334C(void); +extern void func_80173374(s32 *a0); +extern void func_801733A4(void); +extern void func_801733CC(s32 a0); +extern void func_801734BC(s32 a0, s32 a1); +extern struct S80126B38 D_80126B38; +extern s16 D_80126B3E; +extern void func_80173460(s32 a0, s32 a1); +extern void func_80173544(void *a0); +extern void func_801735B8(u8 *a0); +extern void func_80173580(u8 *a0); +extern s16 D_80126B40; +extern void func_801735EC(void *a0); +extern void func_80173648(u8 *a0); +extern void func_801736A8(void); +extern s32 func_8014C118(void *a0, s32 a1, s32 a2); +extern s32 func_801736FC(void *a0); +extern void func_801736B0(s32 a0, s32 a1); +extern void func_80173770(u8 *a0); +extern void func_80173738(u8 *a0); +extern void func_801723C4(s32 a0, s32 a1); +extern void func_801737B0(void); +extern s32 func_801737E8(void *a0); +extern void func_801737B8(s16 a0); +extern void func_8017385C(u8 *a0); +extern void func_80173824(u8 *a0); +extern void func_801738D4(void); +extern s32 func_8017390C(void *a0); +extern void func_801738DC(s16 a0); +extern void func_80173980(u8 *a0); +extern void func_80173948(u8 *a0); +extern void func_801739D8(u8 *a0); +extern void func_80173A20(void); +extern s32 D_8012750C; +extern void func_80173A60(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4); +extern void func_80173A28(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4, s32 a5); +extern s32 func_8014C118(void*, s32, s32); +extern s32 func_80173B4C(void*); +extern void func_80173A60(s32 a0, s32 a1, s32 a2, s32 a3, s32 arg5); +extern void func_80173BC0(u8 *a0); +extern void func_80173B88(u8 *a0); +extern s16 D_80126B3A; +extern s16 D_8011F9C8; +extern void func_8013E588(void*); +extern void func_80173BC0(u8* a0); +extern void func_80173C64(u8 *a0); +extern u8 D_800D5DB8; +extern void func_80173CB4(s32 a0); +extern void func_80173E1C(s32 a0); +extern s16 D_80126938; +extern void func_800D128C(s32, s32); +extern void func_80174158(s32 a0); +extern void func_8002A088(s32); +extern void func_8002A2D4(s32); +extern void func_8002A544(s32); +extern void func_8002A7B4(s32); +extern s32 func_80174188(s32 a0); +extern void func_801741A8(s32 a0); +extern void func_800D0F0C(s32, s32); +extern void func_80145EE8(s32); +extern void func_80173EF8(void *param_1); +extern s32 func_8014BCEC(s32, s32); +extern void func_801741A8(s32 _arg0); +extern s16 D_80126B3C; +extern void func_801741EC(u8 *a0); +extern void func_80174274(void); +extern s32 func_801742A4(void *a0); +extern void func_8017427C(void); +extern void func_80174318(u8 *a0); +extern void func_801742E0(u8 *a0); +extern void func_80174354(void); +extern s32 func_80174384(void *a0); +extern void func_8017435C(void); +extern void func_801743F0(u8 *a0); +extern void func_801743C0(u8 *a0); +extern void func_801743F0(u8 * a0); +extern void func_80174430(void); +extern s32 func_80174474(void *a0); +extern void func_80174438(s32 a0); +extern void func_801744E0(u8 *a0); +extern void func_801744B0(u8 *a0); +extern void func_80174524(void); +extern void func_80174554(); +extern void func_8017452C(void); +extern void func_80174554(s32 arg0); +extern void func_801745AC(); +extern void func_80174584(void); +extern void func_801745AC(s32 *a0); +extern void func_80174604(void); +extern void func_801745DC(void); +extern void func_80174630(void); +extern s32 func_80174650(s32 _arg0); +extern void func_80174674(void); +extern void func_80174684(void* a0); +extern void func_801746A4(void); +extern s32 func_800CF8CC(void); +extern s32 func_8016F0AC(); +extern void func_80174714(void); +extern s32 func_80174754(void); +extern s16 func_80174764(void); +extern s16 func_80174774(void); +extern s32 func_801747CC(void *a0); +extern void func_80174784(void); +extern s32 func_801747AC(s32 a0); +extern s32 func_80174808(u8 *a0); +extern void func_8017481C(void); +extern s32 func_80174888(void *a0); +extern void func_80174824(void); +extern void func_8017484C(s32 a0); +extern void func_801748C4(s32 a0); +extern void func_801748E4(void); +extern void func_8012A018(s32 a, s32 b); +extern s32 func_8017496C(void *a0); +extern s32 D_80126954; +extern s32 D_80126950; +extern s32 D_8012695C; +extern s16 D_80126968; +extern s16 D_8012696A; +extern s16 D_8012696C; +extern s16 D_80126976; +extern s16 D_80126978; +extern s16 D_8012697A; +extern void func_801748EC(void); +extern s32 func_801749C8(); +extern s32 func_801749A8(s32 a0); +extern void func_80174BBC(void *a0); +extern void func_8012A0E0(void); +extern void func_80174BF4(void *a0); +extern void func_80174BF4(void * arg0); +extern s32 func_80174CB0(s32, s32); +extern s32 func_80174C60(s32 a0); +extern void func_80174C80(s32 a0); +extern s32 D_8012697C; +extern u16 D_80126980; +extern s32 func_80174F28(void *a0); +extern void func_80174E9C(s32 a0); +extern void func_80174EF0(s32 a0, s16 a1); +extern s32 func_80175014(u8 *a0, u8 *a1, s32 a2); +extern void func_80174F64(u8 *a0); +extern void func_80174FBC(u8 *a0); +extern s32 func_8017509C(u8 *a0, s32 a1, u8 *a2, u8 *a3); +extern void func_80175184(s32 *a0); +extern void func_80175114(s32 *a0); +extern void func_80175184(); +extern void func_80175150(s32 *a0); +extern s32 func_80175268(s32); +extern void func_80175184(s32* arg0); +extern s32 func_80175218(void *a0); +extern void func_801751D8(void *a0); +extern s32 func_80175218(void * param_1); +extern s32 func_80175268(s32 param_1); +extern void func_801752BC(s32 *a0); +extern u8 D_8011F7A8; +extern u8 D_8011F7A9; +extern u8 D_8011F7AD; +extern u8 D_8011F7AE; +extern void func_80175494(void); +extern s32 func_801758FC(void); +extern s32 func_80175820(void); +extern s32 func_801759D8(void); +extern void func_8017553C(s32 *param); +extern void func_801757A0(s32 a0); +extern void func_80175590(void *arg0); +extern s16 D_800B9A02; +extern void func_801757A0(s32); +extern void func_80175624(void *a0); +extern void func_801757E0(int); +extern void func_80175668(void); +extern void func_80175690(s32 *param); +extern void func_80175DA8(s32 a0); +extern void func_80175AB8(s32 a0); +extern void func_80176144(s32 a0); +extern void func_801756E4(s32 arg0); +extern void func_80175798(void); +extern void func_80176734(s32 a0); +extern void func_80176218(s32 a0); +extern void func_80176D00(s32 a0); +extern void func_801757E0(s32 a0); +extern s32 func_80178004(s32 a0, s32 a1, s32 a2); +extern u8 D_8011F7B1; +extern u16 D_8011F7B4; +extern u16 D_8011F7B6; +extern s16 D_8011F81E; +extern void *func_80177784(void *a0, s32 a1, s32 a2, s32 a3); +extern u32 func_801783D0(s32 a0, s32 a1); +extern void *func_801777BC(void *a0, s32 a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6); +extern u16 D_8011F82C; +extern u16 D_8011F82A; +extern u32 * func_80176D94(void *param_1, u32 param_2, s16 param_3_); +extern void func_801778A8(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_80176FF4(s32 a0); +extern u16 D_8011F830; +extern u16 D_8011F82E; +extern u32 * func_801770E0(void *param_1, u32 param_2, s16 param_3_); +extern void func_80177340(s32 a0); +extern u8 D_8011F837; +extern u8 D_8011F7F0; +extern u8 D_8011F7AB; +extern u32 * func_8017742C(u32 *param_1, s32 param_2, s32 param_3); +extern void func_801776EC(u8 *a0); +extern void func_801775E0(s32 param_1, s32 param_2); +extern void * func_80177784(void *a0, s32 a1, s32 a2, s32 a3); +extern uint * func_80177EA4(uint *param_1, int param_2, uint param_3, int param_4); +extern void func_80177F84(s32 param_1, s32 param_2); +extern u32 * func_80178298(u32 *param_1, u8 *param_2, short param_3, short param_4); +extern void func_80178438(u16 *arg0); +extern void func_801787D4(void); +extern void func_8012A908(void); +extern void func_8017869C(s32 a0); +extern void func_80130D0C(s32 a0); +extern s32 D_8011DB08; +extern void func_8017849C(void); +extern void func_8013E4B4(void); +extern s16 D_801270C4; +extern s16 D_801270C2; +extern u8 D_801270C6; +extern u8 D_801270C7; +extern s32 D_801274E0; +extern void func_80178608(void); +extern void func_80178744(s32 a0, s32 a1); +extern void func_80178840(); +extern void func_80131E00(struct S80131E00 *a0, s32 a1); +extern void func_80178840(int param_1); +extern void func_8012E8E0(s32 a0, s32 a1); +extern void func_8012B2CC(s32 a0); +extern s32 func_801788B8(s32 arg0, s32 arg1); +extern s32 func_801789AC(s32 arg0); +extern int func_80178970(void); +extern s32 func_80178B18(s32 param_1, s32 param_2); +extern s32 func_80178B70(s32 param_1, s32 param_2); +extern void func_80178BB8(s32 a0, s32 a1); +extern void func_80178BF8(s32 _unused0, s32 _unused1); +extern M2C_UNK func_80178D40(s32 arg0, s32 arg1); +extern void func_80178CBC(s32 arg0, s32 arg1); +extern void func_80178D18(void); +extern void func_80179B28(s32 a0); +extern void func_80179B74(u16 *p); +extern void func_80179D30(u16 *a0); +extern void func_80179D78(u16 *a0); +extern void func_80179DCC(short a0); +extern void func_80179DF8(void); +extern void func_80179E1C(short a0); +extern void func_80179E48(s16 a0); +extern void func_80179E74(s16 a0); +extern void func_80179EA0(u16 *a0); +extern void func_80179EE8(short a0); +extern void func_80179F14(s16 a0, s16 a1); +extern void func_80179F44(void); +extern void func_80179F6C(short a0); +extern void func_80179F98(u16 *a0); +extern void func_80179FEC(u16 *a0); +extern void func_8017A040(u16 *a0); +extern void func_8017A094(s32 arg0); +extern void func_8017A0C4(s32 arg0); +extern void func_8017A0F4(void); +extern void func_8017A11C(void); +extern void func_8017A144(s32 a0); +extern void func_8017A180(void); +extern void func_8017A1A8(void); +extern void func_8017A1D0(void); +extern void func_8017A1F8(void); +extern void func_8017A220(void); +extern void func_8017A248(void); +extern void func_8017A270(void); +extern void func_8017A298(void); +extern void func_8017A2C0(void); +extern void func_8017A2E8(void); +extern void func_8017A310(void); +extern void func_8017A338(void); +extern void func_8017A360(void); +extern void func_8017A388(void); +extern s32 func_8017A3B0(void); +extern int func_800D0CA0(int); +extern int func_8001AAA0(void); +extern int func_800D0CE0(void); +extern int func_8017A3D8(void); +extern s32 func_8017AD0C(s32 arg0); +extern s32 func_8017AD0C(s32); +extern s32 func_8017ADE8(s32 a0); +extern s32 func_8017AE08(void); +extern s32 func_8012B608(s32 a0, s32 a1, s32 a2); +extern void func_8012B178(s32 a0, s32 a1); +extern void func_8012AD80(s32 a0); +extern s32 func_8012B030(u8 *a0); +extern s32 func_8012B744(void *a0, void *a1); +extern s32 func_8012BE98(s32 a0, u16 *a1); +extern s16 D_801A94A0; +extern s16 D_801A94A2; +extern s16 D_801A94AC; +extern void func_8017AE2C(s32 param_1); +extern void func_8017B0E4(int param_1, int param_2); +extern void func_8012A418(void); +extern void func_8017B1D8(void); +extern s32 func_8017B238(s32 param_1, s32 param_2); +extern s32 func_8017B368(s32 param); +extern s32 func_8017B490(s32 param); +extern s32 func_8017B614(s32 param_1, s32 param_2); +extern void func_8017B7A8(void); +extern void func_8017B824(void); +extern void func_8017B880(void); +extern s32 func_8017B8E8(s32 src); +extern void func_8017B940(void); +extern void func_8012F214(s32 a0, s32 a1, s32 a2); +extern void func_80049CAC(s32 a0, s32 a1); +extern void RotTransSV(void *a0, void *a1, void *a2); +extern void func_8017BA3C(s32 param_1, s32 param_2); +extern s32 func_8017BB34(s32 param_1, s32 param_2); +extern void func_8017BC38(int param_1); +extern void func_8017B0E4(int, int); +extern void func_8017BCA0(int param_1); +extern void func_8012A4BC(void); +extern void func_8017BCF4(int param_1); +extern void func_8017BD50(int param_1); +extern void func_8017BE60(void *a0); +extern void func_8017BE9C(void); +extern void func_8017BEA4(void); +extern void func_8017BEAC(void); +extern void func_8017BEB4(void); +extern void ReadRotMatrix(void *a0); +extern void PushMatrix(void); +extern void func_8004974C(void *a0, void *a1); +extern void PopMatrix(void); +extern void func_8017C294(u16 *a0, void *a1); +extern int func_8017C338(short *param_1, short *param_2, short *param_3, int param_4); +extern void ReadGeomOffset(s32 *a0, s32 *a1); +extern void func_8004921C(s32 a0, s32 a1); +extern void func_8017C530(s32 a0, s32 a1); +extern void func_8017C59C(s32 arg0); +extern void func_8017D468(void *a0); +extern s32 func_8017D4F8(void); +extern void func_8017D51C(void *a0); +extern s32 func_8017D558(void *a0); +extern void func_8001BFD0(void); +extern void func_800D1E28(void); +extern s32 func_8017D574(u8 *a0); +extern void func_8017D688(void *a0); +extern void func_8017D6C4(s32 *a0); +extern s8 D_80185C00; +extern s8 D_80185C02; +extern s16 D_80185C08; +extern void func_8013C9C4(void *); +extern void func_80019064(void *); +extern s32 func_80171A88(s32); +extern void func_8017DCB8(s32); +extern void func_8017D708(s32 param_1); +extern s32 func_8017DCC8(void); +extern void func_8017D7E4(void *a0); +extern void func_8017D820(void *a0); +extern void func_8017DDA0(s32 *a0); +extern s32 func_80171990(u8*); +extern void func_8017D85C(s32 *a0); +extern s32 D_80185AC8; +extern void func_8017D91C(u8 *a0); +extern void func_8017D974(); +extern void func_8017D9CC(u8 *a0); +extern void func_8013C9C4(void *a0); +extern void func_8017EBB8(void *a0, void *a1); +extern void func_8017F5FC(s16); +extern u8 D_80185B70[]; +extern s32 D_80185C10; +extern void func_8017DA30(void *arg0); +extern void func_80016940(s32 a0); +extern void func_8017DAD0(void *a0); +extern s32 func_80016978(s32 a0); +extern void func_8012C098(void *a0); +extern void func_8017DB14(void *arg0); +extern void func_80016450(s32 a0, s32 a1); +extern void func_8017DCB8(s32 a0); +extern void func_8017DC10(void *arg0); +extern void func_8017DC68(void); +extern void func_8017DC90(void); +extern void func_8017DCD8(void); +extern void func_8017DE68(void *a0); +extern void func_8017DEEC(s32, s16*); +extern void func_8017DEA4(s32 a0); +extern s32 func_80012ABC(s32 a0, s32 a1, s32 a2); +extern void func_8017DEEC(s32 param_1, s16 *param_2); +extern void func_8017E084(void *a0); +extern void func_8017E0C0(s32 a0); +extern void func_8017E168(void); +extern void func_8017E170(void *a0); +extern void func_8017E1AC(s32 param_1); +extern void func_8017E234(void *a0); +extern void func_8017E290(void); +extern void func_8017E298(void *a0); +extern void func_8017E2D4(s32 param_1); +extern void func_8017E70C(); +extern void func_8017E374(s32 a0); +extern void func_8017E520(); +extern void func_8013C9C4(void *arg0); +extern void func_8012BF4C(s32 *a0, s32 a1); +extern void (*D_80185D10[])(void); +extern void (*D_80185D18[])(void); +extern void (*D_80185D20[])(void); +extern void func_8017E3EC(s32 param_1); +extern void func_8017E4D0(s32 a0); +extern void func_8017E518(void); +extern void func_8017E5B8(); +extern void func_8017E520(s32 a0); +extern struct S6C D_80185D6C[]; +extern struct S72 D_80185D72[]; +extern struct S9E D_80185D9E[]; +extern void func_8017E70C(void); +extern void func_8017E854(void *a0); +extern s16 D_800B9ABA; +extern void func_8017E900(void *a0); +extern void func_8017E914(void *a0); +extern s32 func_8012AD50(void*); +extern void func_8017E97C(void); +extern void func_8001599C(void *a0, void *a1); +extern void func_8001D0E8(s32 a0, s32 a1, s32 a2); +extern u8 D_80185DD4[]; +extern u8 D_8019F064[]; +extern void func_8017E99C(s32 param_1); +extern void func_8017EAF4(s32 arg0); +extern u8 D_801A7D00[]; +extern s32 aF8017EBB8(); +extern void func_8017ED54(void); +extern void func_8001CD9C(s32, void *); +extern u32 D_801A7D0C[]; +extern void func_8017ED74(s32 a0); +extern s32 func_8017F4A8(void *a0, void *a1); +extern s32 func_8017F51C(void *a0, void *a1); +extern s32 func_8017F478(u8 *a0); +extern u8 D_80185E2C[]; +extern u8 D_80185E30[]; +extern void func_8017EE24(void *a0); +extern void func_8017EE7C(void); +extern void func_8017EE9C(); +extern u8 D_80185E34[]; +extern u8 D_80185E38[]; +extern void func_8017EF4C(void *a0); +extern void func_8017EFA4(void); +extern void func_8017EFC4(s32 a0); +extern u8 D_80185E3C[]; +extern u8 D_80185E40[]; +extern void func_8017F094(void *a0); +extern void func_8017F0EC(void); +extern void func_8017F10C(s32 a0); +extern void func_8017F2BC(); +extern void func_8017F214(s32 a0); +extern void func_8017F29C(void); +extern void func_8017F2BC(s16 *arg0); +extern void func_8017F2FC(void); +extern void func_8017F3D8(s32 *param_1); +extern void func_8017F438(void *a0); +extern s32 func_8017F54C(void *a0, void *a1); +extern s32 func_8017F51C(void *arg0, void *arg1); +extern void func_8017F5A4(void *a0, s32 a1); +extern void func_8017F5FC(s16 param_1); +extern void func_8017F638(s32 arg0); +extern void func_8017F778(void); +extern void func_8017F798(void *arg0); +extern void func_8017FA24(void *a0); +extern void func_8017FA94(); +extern void func_8017FA50(s32 a0, void *s0); +extern Blk8 D_80185E68; +extern Blk8 D_80185E70; +extern Blk8 D_80185E78; +extern Blk8 D_80185E80; +extern void func_80017E30(void *a0, void *a1); +extern void func_80017738(void *a0, void *a1); +extern void func_8017FA94(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_8017FBB8(void); +extern void func_8017FD54(void *a0); +extern void func_8017FED8(u8 *a0); +extern void func_8017FF68(s32 a0, void *a1); +extern u8 D_801A814C[][0x44]; +extern void func_8017FC54(u8 *arg0); +extern void func_8017FD54(void *param_1); +/* ==== end §8b carried decl layer ==== */ + +extern s32 func_80029178(s32 a0); +extern short func_8002AE60(void); +extern s32 func_80014C54(s32 a0, s32 a1, s32 a2); +extern s32 func_800CF8B4(); +extern void func_800D1724(s32 a0); +extern void func_8012B2CC(s32 a0); +extern void (*D_801859D0)(void *); + +void func_80180138(short *a0) { + extern void (*D_80185ED8[])(void *); + extern void (*D_80185EFC[])(void *); + extern void (*D_80185F10[])(void *); + extern void (*D_80185F28[])(void *); + extern void (*D_80185F34[])(void *); + + switch (*(s16 *)(a0 + 0x38)) { + case 0: + D_80185ED8[*(u16 *)(a0 + 1)](a0); + break; + case 1: + D_80185EFC[*(u16 *)(a0 + 1)](a0); + break; + case 2: + if (func_80029178(0x123) & 0xFF) { + if (func_8002AE60() << 16 == 0) { + if ((func_80014C54(0, 0, 0x800) << 16 != 0) || + (func_80014C54(0, 0, 0x40) << 16 != 0)) { + if (func_800CF8B4() != 0) { + func_800D1724((s32)&D_801859D0); + } + } + } + } + D_80185F10[*(u16 *)(a0 + 1)](a0); + break; + case 3: + D_80185F28[*(u16 *)(a0 + 1)](a0); + break; + case 4: + D_80185F34[*(u16 *)(a0 + 1)](a0); + break; + } + + if ((*(u16 *)a0 != 0) && (*(s32 *)(a0 + 0x10) != 0)) { + func_8012B2CC((s32)a0); + } +} + + +extern void func_8012C1B8(void); +extern void func_8012CAE4(void *a0); +extern void func_8001C214(s32 a0, s32 a1); +extern void func_8001D0E8(s32 a0, s32 a1, s32 a2); +extern s32 func_8012AD50(void *a0); +extern s16 D_801A52E4; +extern s16 D_801A924C; + +void func_801802CC(s32 a0) { + s32 v0; + s32 s0; + + v0 = ((s32 (*)(void))func_8012C1B8)(); + s0 = v0; + *(s32 *)(a0 + 0x20) = v0; + if (v0 == 0) { + func_8012CAE4((void *)a0); + } else { + func_8001C214(s0, (s32)&D_801A52E4); + func_8001D0E8(s0, 0x7FFF, 0x7FFF); + *(s32 *)(s0 + 0x80) = (s32)&D_801A924C; + *(s16 *)(s0 + 0x1C) = 0x600; + *(s16 *)(s0 + 0x1A) = 0x600; + *(s16 *)(s0 + 0x18) = 0x600; + *(s32 *)(s0 + 0x04) |= 0x80000000; + *(u16 *)(s0 + 0x2C) |= 0x90; + func_8012AD50((void *)a0); + } +} + + +extern void func_80180674(s32, s16); + +void func_80180378(void *a0) { + s32 *s0 = *(s32 **)((s32)a0 + 0x20); + if (func_8017DCC8() == 6) { + *(u16 *)((s32)s0 + 0x12) = 0x400; + *(s32 *)((s32)s0 + 4) &= 0x7FFFFFFF; + ((void (*)(void *, s32))func_80180674)(a0, 0x80); + func_8012AD50(a0); + } +} + + +void func_801803E8(s32 *a0) { + if (func_8017DCC8() == 7) { + func_8012BF4C(a0, 30); + func_8012AD50(a0); + } +} + + +void func_8018042C(s32 a0) { + extern s32 D_801151D4; + extern s32 func_8012BEE8(s32 a0); + extern s32 func_8012AD50(void *a0); + s32 p; + s32 v0; + + p = D_801151D4; + v0 = *(s32 *)(p + 0x10); + v0 -= 3; + *(s32 *)(p + 0x10) = v0; + *(s32 *)(p + 0x14) = v0; + if (func_8012BEE8(a0) != 0) { + func_8012AD50((void *)a0); + } +} + + +void func_80180480(s32 a0) { + extern s16 D_800B9AAC[]; + extern s16 D_800B9B00; + extern s32 D_801151D4; + extern s32 func_8012E544(s32 a0); + extern void func_8012C098(void *a0); + extern void func_8012BF4C(s32 *a0, s32 a1); + extern s32 func_8013D13C(void); + extern s32 func_8012AD50(void *a0); + register s32 p __asm__("$3"); + s32 v0; + + p = D_801151D4; + v0 = *(s32 *)(p + 0x10); + v0 = v0 - 3; + *(s32 *)(p + 0x10) = v0; + *(s32 *)(p + 0x14) = v0; + if (((s32 (*)(s32))func_8013D13C)(10) == 0) { + (*(s16 *)&D_800B9AAC) = 0x7FFF; + D_800B9B00 = 0x7FFF; + func_8013C938(); + v0 = func_8012E544(0x397); + if (v0 != 0) { + func_8012C098((void *)v0); + } + v0 = func_8012E544(0x395); + if (v0 != 0) { + func_8012C098((void *)v0); + } + v0 = func_8012E544(0x396); + if (v0 != 0) { + func_8012C098((void *)v0); + } + v0 = func_8012E544(0x398); + if (v0 != 0) { + func_8012C098((void *)v0); + } + func_8012BF4C((s32 *)a0, 0x1E); + func_8012AD50((void *)a0); + } +} + + +extern s32 func_8012AD50(void * arg0); +extern s32 func_8012BEE8(s32 a0); +extern void func_8017DCB8(s32 a0); + +void func_80180558(s32 a0) { + if (func_8012BEE8(a0) != 0) { + func_8017DCB8(0x8); + ((void (*)(s32))func_8012AD50)(a0); + } +} + + +INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_80180138", func_80180598); + +INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_80180138", func_801805E4); + +extern void func_80180694(s32 a0); +extern s32 func_80180A98(s32 a0); +extern void func_8017DCB8(s32 a0); +extern void func_8012C098(void *a0); + +void func_8018062C(s32 a0) { + func_80180694(a0); + if (func_80180A98(a0) != 0) { + func_8017DCB8(0xA); + func_8012C098((void *)a0); + } +} + + +extern s16 D_801A9250; +extern s16 D_801A924E; +extern s16 D_801A924C; + +void func_80180674(s32 a0, s16 a1) { + D_801A9250 = a1; + D_801A924E = a1; + D_801A924C = a1; +} + + +INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_80180138", func_80180694); + +extern void func_8012C1B8(void); +extern void func_8012CAE4(void *a0); +extern void func_8001C810(s32 a0, s32 a1); +extern void func_8001D0E8(s32 a0, s32 a1, s32 a2); +extern s32 func_8012AD50(void *a0); +extern s32 D_8019D52C; +extern s32 D_801A9254; + +void func_801806E0(void *a0) { + s32 s1; + s32 s0; + s32 v0; + + v0 = ((s32 (*)(void))func_8012C1B8)(); + s0 = v0; + s1 = (s32)a0; + *(s32 *)((s8 *)s1 + 0x20) = v0; + if (v0 == 0) { + func_8012CAE4((void *)s1); + } else { + __asm__ __volatile__(""); + func_8001C810(s0, (s32)&D_8019D52C); + func_8001D0E8(s0, 0x7FFF, 0x7FFF); + *(u16 *)((s8 *)s0 + 0x18) = *(u16 *)((s8 *)s0 + 0x1A) = *(u16 *)((s8 *)s0 + 0x1C) = 0x600; + *(s32 *)((s8 *)s0 + 0x80) = (s32)&D_801A9254; + *(s32 *)((s8 *)s0 + 0x4) |= 0xC0000000; + *(u16 *)((s8 *)s0 + 0x2C) |= 0x30; + func_8012AD50((void *)s1); + } +} + + +INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_80180138", func_8018078C); + +INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_80180138", func_80180834); + +void func_80180894(s32 arg0) { + register s32 s0 __asm__("$16") = arg0; + s32 v0, v1; + func_80180944(arg0); + v1 = *(s32 *)(s0 + 0x20); + v0 = *(u16 *)(v1 + 0x12); + v0 += 0x10; + *(u16 *)(v1 + 0x12) = v0; + v0 = func_8012BEE8(s0); + if (v0 != 0) { + func_80180A50(s0); + func_8012AD50((void *)s0); + } +} + + +extern s32 func_80180A98(s32 a0); +extern void func_8012C098(void *a0); + +void func_801808F0(s32 arg0) { + extern s32 func_80180944(s32 a0); + register s32 s0 __asm__("$16") = arg0; + s32 v1; + + func_80180944(s0); + v1 = *(s32 *)(s0 + 0x20); + *(u16 *)(v1 + 0x12) += 0x10; + if (func_80180A98(s0) != 0) { + func_8012C098((void *)s0); + } +} + + + + + +void func_80180944(s32 param_1) +{ + extern s32 rand(void); + extern s32 D_801A9254; + extern s32 D_801A9258; + extern s32 D_801A925C; + extern s32 D_801A9264; + extern s32 D_801A9268; + extern s32 D_801A926C; + extern s32 D_801A9274; + extern s32 D_801A9278; + extern s32 D_801A927C; + SV4_L_8017C294 vec; /* sp+0x10 */ + MTX_L_8017C294 mtx; /* sp+0x18 */ + s32 prim; + s32 mode; + s32 code; + s32 hi; + s32 val; + + if ((rand() & 0xF) != 0) { + mode = 0x40000000; + } else { + mode = 0x50000000; + } + prim = *(s32 *)(param_1 + 0x20); + code = *(s32 *)(prim + 4) & 0xCFFFFFFF; + hi = 0x40000000; + *(s32 *)(prim + 4) = code | (mode | hi); + val = *(u16 *)(param_1 + 0x108) + 0x80; + *(u16 *)(param_1 + 0x108) = val; + vec.a = val; + val = *(u16 *)(param_1 + 0x10A) + 0x100; + *(u16 *)(param_1 + 0x10A) = val; + vec.b = val; + vec.c = 0; + RotMatrixYXZ(&vec, &mtx); + vec.b = 0; + vec.a = 0; + vec.c = 0x200; + ApplyMatrixSV(&mtx, &vec, &vec); + D_801A9274 = vec.a; + D_801A9264 = vec.a; + D_801A9254 = vec.a; + D_801A9278 = vec.b; + D_801A9268 = vec.b; + D_801A9258 = vec.b; + D_801A927C = vec.c; + D_801A926C = vec.c; + D_801A925C = vec.c; +} + + +INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_80180138", func_80180A50); + +extern s16 D_80185F50; +extern s16 D_80185F52; +extern s16 D_80185F54; +extern s16 D_80185F56; + +s32 func_80180A98(s32 param_1) +{ + int iVar1; + int iVar3; + short sVar2; + + iVar1 = *(int *)(param_1 + 0x1c); + iVar3 = *(int *)(param_1 + 0x20); + if (iVar1 < 0x3c) { + *(short *)(param_1 + 6) = + *(short *)(param_1 + 0x12) + + (short)((((int)D_80185F50 - (int)*(short *)(param_1 + 0x12)) * iVar1) / 0x3c); + *(short *)(param_1 + 10) = + *(short *)(param_1 + 0x16) + + (short)((((int)D_80185F52 - (int)*(short *)(param_1 + 0x16)) * *(int *)(param_1 + 0x1c)) / 0x3c); + *(short *)(param_1 + 0xe) = + *(short *)(param_1 + 0x1a) + + (short)((((int)D_80185F54 - (int)*(short *)(param_1 + 0x1a)) * *(int *)(param_1 + 0x1c)) / 0x3c); + sVar2 = *(short *)(param_1 + 0x100) + + (short)((((int)D_80185F56 - (int)*(short *)(param_1 + 0x100)) * *(int *)(param_1 + 0x1c)) / 0x3c); + *(short *)(iVar3 + 0x1c) = sVar2; + *(short *)(iVar3 + 0x1a) = sVar2; + *(short *)(iVar3 + 0x18) = sVar2; + *(int *)(param_1 + 0x1c) = *(int *)(param_1 + 0x1c) + 1; + return 0; + } + return 1; +} + + +extern void func_801325B8(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4); +extern void func_8001D0E8(s32 a0, s32 a1, s32 a2); +extern u8 D_8019F5EC; +extern u8 D_8019F8F4; +extern u8 D_8019FBF4; +extern u8 D_8019F8EC; +extern void (*D_80185F58[])(void); +extern u16 D_80185F88; +extern u16 D_80185F8A; +extern u16 D_80185F8C; +extern void func_8012C1B8(void); + +void func_80180BEC(void *param_1) { + s32 v0; + s32 s0; + + func_801325B8((s32)&D_8019F5EC, (s32)&D_8019F8F4, (s32)&D_8019FBF4, 0, 0); + v0 = ((s32 (*)(void))func_8012C1B8)(); + s0 = v0; + *(s32 *)((s8 *)param_1 + 0x20) = v0; + if (v0 == 0) { + func_8012CAE4(param_1); + } else { + func_8001C214(s0, (s32)&D_8019F8EC); + func_8001D0E8(s0, 0x7FFF, 0x7FFF); + *(s32 *)((s8 *)s0 + 0x80) = (s32)&D_80185F58; + *(s32 *)((s8 *)s0 + 0x04) |= 0xD0000000; + *(u16 *)((s8 *)s0 + 0x2C) |= 0xB0; + D_80185F8C = 0; + D_80185F8A = 0; + D_80185F88 = 0; + *(s16 *)((s8 *)s0 + 0x1C) = 0; + *(s16 *)((s8 *)s0 + 0x1A) = 0; + *(s16 *)((s8 *)s0 + 0x18) = 0; + func_8012AD50(param_1); + } +} + + +extern s32 func_8017DCC8(void); +extern s32 func_8012AD50(void *a0); + +void func_80180CD4(void *a0) { + s32 *s0 = *(s32 **)((s32)a0 + 0x20); + if (func_8017DCC8() == 8) { + *(s32 *)((s32)s0 + 4) &= 0x7FFFFFFF; + func_8012AD50(a0); + } +} + + + + + + + + + +extern void func_80181204(A801593E4 *a0); +extern void func_80181224(void); +extern void func_801811C8(s32 a0); +extern void func_8012BF4C(s32 *a0, s32 a1); +extern s32 func_8012AD50(void *a0); + +void func_80180D30(A801593E4 *a0) { + u8 *s1; + u16 w; + + s1 = *(u8 **)((u8 *)a0 + 0x20); + func_80181204(a0); + ((void (*)(A801593E4 *))func_80181224)(a0); + + w = *(u16 *)(s1 + 0x1A); + w = w + 0x10; + *(u16 *)(s1 + 0x1A) = w; + if ((s16)w >= 0x24A) { + *(u16 *)(s1 + 0x1A) = 0x249; + } + + func_801811C8((s32)a0); + if (*(s16 *)(s1 + 0x1A) == 0x249) { + *(u16 *)((u8 *)a0 + 0xFC) = 0; + func_8012BF4C((s32 *)a0, 0x5A); + func_8012AD50((void *)a0); + } +} + + + +extern void func_80181204(A801593E4 *a0); +extern void func_80181224(void); +extern s32 func_8012BEE8(s32 a0); +extern s32 func_8012AD50(void *a0); + +void func_80180DC4(A801593E4 *a0) { + void *s1 = *(void **)((u8 *)a0 + 0x20); + func_80181204(a0); + ((void (*)(A801593E4 *))func_80181224)(a0); + if (func_8012BEE8((s32)a0) != 0) { + if (*(s16 *)((u8 *)a0 + 0xFC) != 0) { + if (*(s16 *)((u8 *)s1 + 0x12) >= 0x400) { + *(s16 *)((u8 *)s1 + 0x12) = 0x400; + *(s16 *)((u8 *)a0 + 0xFC) = 0; + func_8012AD50((void *)a0); + } + } else { + if (*(s16 *)((u8 *)s1 + 0x12) < 0x400) { + *(s16 *)((u8 *)a0 + 0xFC) = 1; + } + } + } +} + + +INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_80180138", func_80180E68); + +INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_80180138", func_801810F8); + +void func_801811C8(s32 arg0) { + u16 temp; + arg0 = *(s32 *)(arg0 + 0x20); + temp = *(u16 *)(arg0 + 0x1A); + *(s16 *)(arg0 + 0x1C) = temp; + *(s16 *)(arg0 + 0x18) = (((s32)(s16)temp << 7) / 94); +} + + +void func_80181204(A801593E4 *a0) { + S801593E4 *v1 = a0->p20; + v1->field12 = (v1->field12 + 0x44) & 0xFFF; +} + + +extern u16 D_80185F88; +extern u16 D_80185F8A; +extern u16 D_80185F8C; + +void func_80181224(void) { + u16 *p = &D_80185F88; + + *p += 4; + if ((s16)*p >= 0x100) { + *p = 0xFF; + } + D_80185F8C = *p; + D_80185F8A = *p; +} + + +extern s32 func_8017DCC8(void); +extern void func_8002D4C8(s32 a0, s32 a1); +extern void func_801813F8(void *a0, void *a1, void *a2); +extern s32 func_8012AD50(void *a0); +extern void (*D_80185FC0[])(void *); +extern u32 D_80185F90[]; + +void func_80181270(void *a0) { + if (func_8017DCC8() == 0xA) { + func_8002D4C8(0xC16, 0); + func_801813F8(a0, &D_80185F90[0], &D_80185FC0[0]); + func_801813F8(a0, &D_80185F90[2], &D_80185FC0[1]); + func_801813F8(a0, &D_80185F90[4], &D_80185FC0[2]); + func_8012AD50(a0); + } +} + + +INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_80180138", func_80181304); + + +extern s32 func_8017DCC8(void); + extern void func_8012C098(void *a0); + void func_80181394(void *a0) { + if (((s32 (*)(s32))func_8017DCC8)((s32)a0) == 12) { + ((void (*)(s32))func_8012C098)((s32)a0); + } + } + + +extern s32 func_8001739C(s32 *a0); +void func_801813D0(void) { + + extern s32 D_80185FA8; + func_8001739C(&D_80185FA8); +} + + +void func_801813F8(void *a0, void *a1, void *a2) { + u16 var; + var = *(u16 *)((s32)a1 + 6); + *(u16 *)((s32)a1 + 0) = 0; + *(u16 *)((s32)a1 + 2) = var; + *(s32 *)((s32)a2 + 0) = 0; +} + + +extern void (*D_80185FC0[])(void *); +extern u32 D_80185F90[]; + +s32 func_8018140C(void) +{ + s32 done; + s32 i; + s32 c; + u16 *p; + u8 *q; + + done = 0; + for (i = 0; i < 3; i++) { + p = (u16 *)((u32 *)D_80185F90 + i * 2); + q = (u8 *)(D_80185FC0 + i); + switch ((s16)p[0]) { + case 0: + p[1] -= 1; + if ((s16)p[1] == -1) { + p[0] = p[0] + 1; + } + break; + case 1: + c = *q; + c += 0x10; + if (c >= 0x100) { + c = 0xFF; + p[0] = p[0] + 1; + } + c = (c << 0x10) | (c << 8) | c; + *(u32 *)q = c; + break; + case 2: + c = *q; + c -= 0x10; + if (c < 0) { + c = 0; + p[0] = p[0] + 1; + } + c = (c << 0x10) | (c << 8) | c; + *(u32 *)q = c; + break; + case 3: + done += 1; + break; + } + } + return done == 3; +} + + +extern s32 func_8017DCC8(void); +extern void func_800167B8(s32 a0); +extern s32 func_8012AD50(void *a0); + +void func_80181534(void *a0) { + if (func_8017DCC8() == 11) { + func_800167B8(4); + func_8012AD50(a0); + } +} + + +extern u16 D_800AF7CE; +extern u8 D_800B9A11; +extern s32 D_800B9A18; +void func_80181578(void *arg0) { + u16 v0; + v0 = D_800AF7CE; + D_800AF7CE = v0 + 4; + if ((u16)(v0 + 4) < 0xFF) { + } else { + D_800AF7CE = 0xFF; + } + func_80016224((u8)D_800AF7CE, 0); + if (D_800AF7CE == 0xFF) { + func_8017DCB8(0xC); + func_800167B8(0); + D_800B9A11 = 1; + func_800146B0(7); + D_800B9A18 = 0; + func_8012AD50(arg0); + } +} + + +void func_80181620(void *a0) { + extern s32 func_8012AD50(void *a0); + if (func_80181F40() != 0) { + *(u16 *)((s32)a0 + 0xFC) = 0; + func_8012AD50(a0); + } +} + + +INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_80180138", func_8018165C); + +extern s32 func_80014D94(); +extern s32 func_8012AD50(void *a0); +extern void func_801817D0(); +extern s16 D_800B9A02; + +void func_801816D4(void *a0) { + if ((func_80014D94(0) & 0xF0) != 0) { + func_8012AD50(a0); + } + func_801817D0(*(u16 *)&D_800B9A02, *(s16 *)((s32)a0 + 0xFC)); +} + + +void func_80181728(void *a0) { + extern void func_801817D0(); + extern void func_800146B0(s32 a0); + extern void func_800D1724(s32 a0); + extern s32 func_8012AD50(void *a0); + extern short D_800B9A02; + extern s32 D_800B9A18; + extern u8 D_80078E78[]; + extern void (*D_801859D0)(void *); + u16 v; + + v = *(u16 *)((s32)a0 + 0xFC) - 4; + *(u16 *)((s32)a0 + 0xFC) = v; + if ((s16)v < 0) { + *(u16 *)((s32)a0 + 0xFC) = 0; + } + func_801817D0(*(u16 *)&D_800B9A02, *(s16 *)((s32)a0 + 0xFC)); + if (*(s16 *)((s32)a0 + 0xFC) == 0) { + func_800146B0(1); + D_800B9A18 = 2; + *(u32 *)&D_80078E78 = 1; + func_800D1724((s32)&D_801859D0); + func_8012AD50(a0); + } +} + + +void func_801817C8(void) { +} + +INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_80180138", func_801817D0); + +void func_80181B2C(void *a0) { + extern void (*D_80186070[])(void); + switch (*(s32 *)((s32)a0 + 0x34)) { + case 0: + D_80186070[*(u16 *)((s32)a0 + 0x2)](); + break; + case 1: + func_80181E20(a0); + break; + } +} + + +extern s32 func_8001CC3C(s32, s32, s32, s32); +extern void func_80128EA8(s32 a0, s32 a1, s32 a2); +extern u8 D_800D387C[]; +extern void (*D_80185FD0)(void); + +void func_80181B98(s32 param_1) +{ + s32 work; + s32 val; + s32 res; + + work = *(s32 *)(param_1 + 0x20); + ((void (*)(s32, s32, s32, s32))func_8001CC3C)(work, D_800D387C, 0, 0); + *(u8 *)(work + 0x27) = 0x9C; + *(s32 *)(work + 4) = *(s32 *)(work + 4) | 0x50000000; + val = *(s32 *)(param_1 + 0x2C); + *(u8 *)(work + 0x24) = 0xC0; + *(u8 *)(work + 0x25) = 0x40; + *(u8 *)(work + 0x26) = 0x20; + res = ((8 - val) * 3) << 9; + *(u16 *)(work + 0x1A) = res; + *(u16 *)(work + 0x18) = res; + func_80128EA8(work, param_1 + 0x24, &D_80185FD0); + *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; +} + + +INCLUDE_ASM("asm/ov_SC07_010/nonmatchings/ov_SC07_010_jr_80180138", func_80181C54); + +void func_80181CDC(void *a0) { + extern void func_8012931C(void *a0); + u16 t; + if ((*(s32 *)((s32)a0 + 0x1C))-- == 0) { + *(s32 *)((s32)a0 + 0x10) >>= 1; + *(s32 *)((s32)a0 + 0x14) >>= 1; + *(s32 *)((s32)a0 + 0x18) >>= 1; + t = *(u16 *)((s32)a0 + 2) + 1; + *(u16 *)((s32)a0 + 2) = t; + } else { + func_8012931C(a0); + } +} + + +void func_80181D48(s32 a0) { + u8 *s0; + u8 v1; + s16 v0; + + s0 = *(u8 **)(a0 + 0x20); + func_8012931C(); + + v0 = *(u8 *)(s0 + 0x24); + v0 = v0 - 4; + *(u8 *)(s0 + 0x24) = v0; + if ((u8)v0 > 0xC0) { + *(u8 *)(s0 + 0x24) = 0; + } + + v1 = *(u8 *)(s0 + 0x24); + if (v1 < *(u8 *)(s0 + 0x25)) { + *(u8 *)(s0 + 0x25) = v1; + v1 = *(u8 *)(s0 + 0x24); + } + if (v1 < *(u8 *)(s0 + 0x26)) { + *(u8 *)(s0 + 0x26) = v1; + } + + v0 = *(u16 *)(s0 + 0x18) + 0x100; + *(u16 *)(s0 + 0x18) = v0; + if ((s16)v0 >= 0x4001) { + *(u16 *)(s0 + 0x18) = 0x4000; + } + + *(u16 *)(s0 + 0x1A) = *(u16 *)(s0 + 0x18); + + if (*(u8 *)(s0 + 0x24) == 0) { + func_801292C8(a0); + } +} + + + + +void func_80181E20(void *a0) { + + extern void (*D_80186090[])(void); + D_80186090[*(u16 *)((s32)a0 + 0x2)](); +} + + +extern s32 func_8001CC3C(s32, s32, s32, s32); +extern void func_80128EA8(s32 a0, s32 a1, s32 a2); +extern u8 D_800D387C[]; +extern u8 D_80186020[]; + +void func_80181E5C(s32 param_1) +{ + s32 work; + + work = *(s32 *)(param_1 + 0x20); + ((void (*)(s32, s32, s32, s32))func_8001CC3C)(work, D_800D387C, 0, 0); + *(u8 *)(work + 0x27) = 0x9C; + *(u16 *)(work + 0x1A) = 0x3000; + *(u16 *)(work + 0x18) = 0x3000; + *(u32 *)(work + 4) = *(u32 *)(work + 4) | 0x50000000; + func_80128EA8(work, param_1 + 0x24, D_80186020); + *(u16 *)(param_1 + 2) = *(u16 *)(param_1 + 2) + 1; +} + + +extern s32 func_80128ED8(s32 param_1, s32 *param_2); +extern void func_801292C8(u8 *a0); + +void func_80181EEC(int param_1) +{ + int base; + unsigned short *p; + unsigned short val; + + base = *(int *)(param_1 + 0x20); + p = (unsigned short *)(base + 0x1A); + val = *p - 0x100; + p[0] = val; + p[-1] = val; + if (func_80128ED8(base, (s32 *)(param_1 + 0x24)) != 0) { + func_801292C8((u8 *)param_1); + } +} + + + + +extern void func_8001ABBC(u32, u32, void *, u32, u32); + +void func_80181F40(void) { + + extern u8 D_800AF608[]; + func_8001ABBC(0, 0, D_800AF608, 0, 0); +} + + + +