feat(phase-26): func_801380E0 banked ×1 (crack wave) — whole-binary gate, R22 136/136

This commit is contained in:
Drew T
2026-07-14 01:52:02 -06:00
parent 8a3f227ac1
commit c12c497e10
5 changed files with 5418 additions and 3975 deletions
+1 -1
View File
@@ -21,7 +21,7 @@ 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,tail2.data.o,ov_SC01_077.o,tail3.data.o,ov_SC01_077_jr_8015444C.o,tail4.data.o,ov_SC01_077_jr_8015A3C8.o,tail5.data.o,ov_SC01_077_jr_8015AE2C.o,tail6.data.o,ov_SC01_077_jr_8016AB6C.o,tail7.data.o,ov_SC01_077_jr_801734BC.o,tail8.data.o,ov_SC01_077_jr_80178D40.o,tail9.data.o,ov_SC01_077_jr_80182268.o,tail10.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
ov_SC01_077_JTBL_INTERLEAVE := --order tail.data.o,ov_SC01_077_jr_8012ACE0.o,tail2.data.o,ov_SC01_077_jr_801380E0.o,tail3.data.o,ov_SC01_077.o,tail4.data.o,ov_SC01_077_jr_8015444C.o,tail5.data.o,ov_SC01_077_jr_8015A3C8.o,tail6.data.o,ov_SC01_077_jr_8015AE2C.o,tail7.data.o,ov_SC01_077_jr_8016AB6C.o,tail8.data.o,ov_SC01_077_jr_801734BC.o,tail9.data.o,ov_SC01_077_jr_80178D40.o,tail10.data.o,ov_SC01_077_jr_80182268.o,tail11.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
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
+14 -10
View File
@@ -57,7 +57,9 @@ segments:
# CC1FLAGS=-O0 on ov_SC01_077_o0.o). A single object's .text can't be split around a middle
# object, so before/after are DISTINCT objects: before -> ov_SC01_077_a (smaller, asm paths
# rewritten), after KEEPS the ov_SC01_077 name (the bulk matched C + asm paths unchanged).
- [0x0, c, ov_SC01_077_a] # -O2 before: vram 0x80128158..0x8013B568 (file 0x0..0x13410)
- [0x0, c, ov_SC01_077_a]
- [0x2b88, c, ov_SC01_077_jr_8012ACE0]
- [0xff88, c, ov_SC01_077_jr_801380E0]
- [0x13410, c, ov_SC01_077_o0] # -O0 cluster: 16 fns vram 0x8013B568..0x8013C98C (file 0x13410..0x14834)
# Phase-24 whale: func_80144B9C is a SECOND -O0 region (prologue 21F0A003) stranded in the
# -O2 "after" segment (0x80144B9C..0x801457A4). Carve it into its own -O0 object (o0b), splitting
@@ -84,24 +86,26 @@ segments:
# = file 0xAFF20..0xAFFEC. func_8012ACE0 lives in the ov_SC01_077_a subseg. Other functions'
# jtbls stay raw .data until matched (each matched fn's jtbl gets its own carve — the ×134 tool).
- [0x5e978, data, tail]
- [0xaff20, .rodata, ov_SC01_077_a] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xaff20, .rodata, ov_SC01_077_jr_8012ACE0] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xaffec, data, tail2]
- [0xb0098, .rodata, ov_SC01_077_jr_801380E0] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xb00fc, data, tail3]
- [0xb0740, .rodata, ov_SC01_077] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xb0774, data, tail3]
- [0xb0774, data, tail4]
- [0xb07dc, .rodata, ov_SC01_077_jr_8015444C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xb0848, data, tail4]
- [0xb0848, data, tail5]
- [0xb09dc, .rodata, ov_SC01_077_jr_8015A3C8] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xb09f8, data, tail5]
- [0xb09f8, data, tail6]
- [0xb09fc, .rodata, ov_SC01_077_jr_8015AE2C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xb0a18, data, tail6]
- [0xb0a18, data, tail7]
- [0xb0a70, .rodata, ov_SC01_077_jr_8016AB6C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xb0a90, data, tail7]
- [0xb0a90, data, tail8]
- [0xb0b10, .rodata, ov_SC01_077_jr_801734BC] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xb0b24, data, tail8]
- [0xb0b24, data, tail9]
- [0xb0ccc, .rodata, ov_SC01_077_jr_80178D40] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xb0e44, data, tail9]
- [0xb0e44, data, tail10]
- [0xb1148, .rodata, ov_SC01_077_jr_80182268] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xb1168, data, tail10]
- [0xb1168, data, tail11]
- [0xB29D4, bin, trailing] # final 3 bytes (EOF 0xB29D7 not word-aligned; spimdisasm drops
# a trailing partial word and a <4-byte `data` carve emits nothing,
# so use `bin` = raw .incbin, byte-exact). Word-aligned overlays omit this.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff