feat(phase-30 S39/S4): propagate func_801820DC family (94 ins x 2 members) - R22 140/140

This commit is contained in:
Drew T
2026-08-04 23:29:28 -06:00
parent 0414171237
commit 0f73618fa8
8 changed files with 5716 additions and 28 deletions
+2 -2
View File
@@ -233,7 +233,7 @@ 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,tail18.data.o,ov_SC02_000_jr_8017EA84.o,tail19.data.o,ov_SC02_000_jr_8017FCB0.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
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,tail18.data.o,ov_SC02_000_jr_8017EA84.o,tail19.data.o,ov_SC02_000_jr_8017FB24.o,ov_SC02_000_jr_8017FCB0.o,tail20.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
@@ -269,7 +269,7 @@ 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,tail18.data.o,ov_SC02_003_jr_8017EA84.o,tail19.data.o,ov_SC02_003_jr_8017FCB0.o,tail20.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
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,tail18.data.o,ov_SC02_003_jr_8017EA84.o,tail19.data.o,ov_SC02_003_jr_8017FB24.o,ov_SC02_003_jr_8017FCB0.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
+2
View File
@@ -121,6 +121,7 @@ segments:
- [0x52354, c, ov_SC02_000_jr_8017A4AC]
- [0x52cd4, c, ov_SC02_000_jr_8017AE2C]
- [0x5692c, c, ov_SC02_000_jr_8017EA84]
- [0x579cc, c, ov_SC02_000_jr_8017FB24]
- [0x57b58, c, ov_SC02_000_jr_8017FCB0]
- [0x62a58, data, tail]
- [0xbd648, .rodata, ov_SC02_000] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
@@ -166,6 +167,7 @@ segments:
- [0xbe77c, data, tail18]
- [0xbe7fc, .rodata, ov_SC02_000_jr_8017EA84] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbe874, data, tail19]
- [0xbe924, .rodata, ov_SC02_000_jr_8017FB24] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbe944, .rodata, ov_SC02_000_jr_8017FCB0] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbe964, data, tail20]
- [0xC070C, bin, trailing] # final 3 bytes (EOF not 4-aligned; spimdisasm drops a partial word)
+2
View File
@@ -121,6 +121,7 @@ segments:
- [0x52354, c, ov_SC02_003_jr_8017A4AC]
- [0x52cd4, c, ov_SC02_003_jr_8017AE2C]
- [0x5692c, c, ov_SC02_003_jr_8017EA84]
- [0x579cc, c, ov_SC02_003_jr_8017FB24]
- [0x57b58, c, ov_SC02_003_jr_8017FCB0]
- [0x62a58, data, tail]
- [0xbd648, .rodata, ov_SC02_003] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
@@ -166,6 +167,7 @@ segments:
- [0xbe77c, data, tail18]
- [0xbe7fc, .rodata, ov_SC02_003_jr_8017EA84] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbe874, data, tail19]
- [0xbe924, .rodata, ov_SC02_003_jr_8017FB24] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbe944, .rodata, ov_SC02_003_jr_8017FCB0] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbe964, data, tail20]
- [0xC070C, bin, trailing] # final 3 bytes (EOF not 4-aligned; spimdisasm drops a partial word)
+8 -8
View File
@@ -4,16 +4,16 @@
# cross-binary collapsible-byte leverage: docs/duplicates.cross.md.
# THREE progress metrics (all matter — see the labels):
FLEET fn-count byte-ident: 341206 / 353717 = 96.46% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 12410749 / 13141652 = 94.4% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 5029095 / 5634875 = 89.2% (77968/87459 unique fns; the DISTINCT-RE number)
FLEET fn-count byte-ident: 341208 / 353717 = 96.46% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 12410937 / 13141652 = 94.4% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 5029189 / 5634875 = 89.3% (77969/87459 unique fns; the DISTINCT-RE number)
MAIN game-code weighted : 436 / 60201 = 0.7% (INCLUDED in the fleet numbers above since 2026-07-22 — roadmap §1 metrics contract; LINKED-excluding Ghidra sig dated 2026-06-14; caveat is R34: no independent second oracle for a PS-X EXE, NOT drift)
(fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 12410313 / 13081451 = 94.9%)
(fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 12410501 / 13081451 = 94.9%)
FLEET REAL substantive : 339351 (of which dedup-shared 241142 via 1910 groups / 241216 instances)
FLEET REAL substantive : 339353 (of which dedup-shared 241142 via 1910 groups / 241216 instances)
FLEET LINKED PsyQ objs : 959
FLEET NON_MATCHING : 7 (0 in any default build — G4)
FLEET INCLUDE_ASM stubs : 12504
FLEET INCLUDE_ASM stubs : 12502
FLEET matchable : 353717
| binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % |
@@ -31,8 +31,8 @@ FLEET matchable : 353717
| ov_SC01_077 | 2551 | 1711 | 0 | 2553 | 2586 | 98.7% |
| ov_SC01_080 | 2420 | 1749 | 0 | 2420 | 2512 | 96.3% |
| ov_SC01_084 | 2445 | 1754 | 0 | 2450 | 2579 | 95.0% |
| ov_SC02_000 | 2511 | 1793 | 0 | 2511 | 2683 | 93.6% |
| ov_SC02_003 | 2511 | 1793 | 0 | 2511 | 2683 | 93.6% |
| ov_SC02_000 | 2512 | 1793 | 0 | 2512 | 2683 | 93.6% |
| ov_SC02_003 | 2512 | 1793 | 0 | 2512 | 2683 | 93.6% |
| ov_SC02_004 | 2385 | 1749 | 0 | 2385 | 2401 | 99.3% |
| ov_SC02_005 | 2535 | 1745 | 0 | 2545 | 2927 | 86.9% |
| ov_SC02_011 | 2621 | 1752 | 0 | 2632 | 2893 | 91.0% |
@@ -3273,12 +3273,3 @@ void func_8017F5E4(s32 param_1) {
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017EA84", func_8017F62C);
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017EA84", func_8017F950);
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8017EA84", func_8017FB24);
DEFINE_func_8017FC9C() /* dedup: shared engine-core @0x8017FC9C (src/shared) */
File diff suppressed because it is too large Load Diff
@@ -3273,12 +3273,3 @@ void func_8017F5E4(s32 param_1) {
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017EA84", func_8017F62C);
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017EA84", func_8017F950);
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017EA84", func_8017FB24);
DEFINE_func_8017FC9C() /* dedup: shared engine-core @0x8017FC9C (src/shared) */
File diff suppressed because it is too large Load Diff