feat(phase-30 S48-T6): propagate func_80183324 to its zero-crack siblings

This commit is contained in:
Drew T
2026-08-11 22:59:47 -06:00
parent d5fb0561ca
commit 5a97bbdc2a
7 changed files with 6060 additions and 80 deletions
+4 -2
View File
@@ -237,7 +237,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_8017FB24.o,ov_SC02_000_jr_8017FCB0.o,tail20.data.o,ov_SC02_000_jr_801808C4.o,tail21.data.o,ov_SC02_000_jr_80181538.o,tail22.data.o,ov_SC02_000_jr_80181698.o,ov_SC02_000_jr_8018173C.o,tail23.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,ov_SC02_000_jr_801808C4.o,tail21.data.o,ov_SC02_000_jr_80180D6C.o,tail22.data.o,ov_SC02_000_jr_80181538.o,tail23.data.o,ov_SC02_000_jr_80181698.o,ov_SC02_000_jr_8018173C.o,tail24.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
@@ -253,6 +253,7 @@ build/src/ov_SC02_000/ov_SC02_000_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (
build/src/ov_SC02_000/ov_SC02_000_jr_8017AE2C.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x34
build/src/ov_SC02_000/ov_SC02_000_jr_8017EA84.o: JTBL_PADS := 0,4,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18,+0x38,+0x58
build/src/ov_SC02_000/ov_SC02_000_jr_8017FCB0.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 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40,+0x60,+0x80
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
@@ -275,7 +276,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_8017FB24.o,ov_SC02_003_jr_8017FCB0.o,tail20.data.o,ov_SC02_003_jr_801808C4.o,tail21.data.o,ov_SC02_003_jr_80181538.o,tail22.data.o,ov_SC02_003_jr_80181698.o,ov_SC02_003_jr_8018173C.o,tail23.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,ov_SC02_003_jr_801808C4.o,tail21.data.o,ov_SC02_003_jr_80180D6C.o,tail22.data.o,ov_SC02_003_jr_80181538.o,tail23.data.o,ov_SC02_003_jr_80181698.o,ov_SC02_003_jr_8018173C.o,tail24.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
@@ -291,6 +292,7 @@ build/src/ov_SC02_003/ov_SC02_003_jr_80178D40.o: JTBL_PADS := 0,0 # §8e pads (
build/src/ov_SC02_003/ov_SC02_003_jr_8017AE2C.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14,+0x34
build/src/ov_SC02_003/ov_SC02_003_jr_8017EA84.o: JTBL_PADS := 0,4,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18,+0x38,+0x58
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_80180D6C.o: JTBL_PADS := 0,0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40,+0x60,+0x80
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
+5 -2
View File
@@ -124,6 +124,7 @@ segments:
- [0x579cc, c, ov_SC02_000_jr_8017FB24]
- [0x57b58, c, ov_SC02_000_jr_8017FCB0]
- [0x5876c, c, ov_SC02_000_jr_801808C4]
- [0x58c14, c, ov_SC02_000_jr_80180D6C]
- [0x593e0, c, ov_SC02_000_jr_80181538]
- [0x59540, c, ov_SC02_000_jr_80181698]
- [0x595e4, c, ov_SC02_000_jr_8018173C]
@@ -176,11 +177,13 @@ segments:
- [0xbe984, data, tail20]
- [0xbe9a4, .rodata, ov_SC02_000_jr_801808C4] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbe9c4, data, tail21]
- [0xbe9e4, .rodata, ov_SC02_000_jr_80180D6C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbea84, data, tail22]
- [0xbeaa4, .rodata, ov_SC02_000_jr_80181538] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbeac4, data, tail22]
- [0xbeac4, data, tail23]
- [0xbeae4, .rodata, ov_SC02_000_jr_80181698] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbeb04, .rodata, ov_SC02_000_jr_8018173C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbeb24, data, tail23]
- [0xbeb24, data, tail24]
- [0xC070C, bin, trailing] # final 3 bytes (EOF not 4-aligned; spimdisasm drops a partial word)
- [0xC070F] # EOF marker = the 0.4.dec byte length
# @TRAILING@ (above) is replaced by tools/new_overlay.sh: for a non-4-aligned overlay it becomes
+5 -2
View File
@@ -124,6 +124,7 @@ segments:
- [0x579cc, c, ov_SC02_003_jr_8017FB24]
- [0x57b58, c, ov_SC02_003_jr_8017FCB0]
- [0x5876c, c, ov_SC02_003_jr_801808C4]
- [0x58c14, c, ov_SC02_003_jr_80180D6C]
- [0x593e0, c, ov_SC02_003_jr_80181538]
- [0x59540, c, ov_SC02_003_jr_80181698]
- [0x595e4, c, ov_SC02_003_jr_8018173C]
@@ -176,11 +177,13 @@ segments:
- [0xbe984, data, tail20]
- [0xbe9a4, .rodata, ov_SC02_003_jr_801808C4] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbe9c4, data, tail21]
- [0xbe9e4, .rodata, ov_SC02_003_jr_80180D6C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbea84, data, tail22]
- [0xbeaa4, .rodata, ov_SC02_003_jr_80181538] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbeac4, data, tail22]
- [0xbeac4, data, tail23]
- [0xbeae4, .rodata, ov_SC02_003_jr_80181698] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbeb04, .rodata, ov_SC02_003_jr_8018173C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0xbeb24, data, tail23]
- [0xbeb24, data, tail24]
- [0xC070C, bin, trailing] # final 3 bytes (EOF not 4-aligned; spimdisasm drops a partial word)
- [0xC070F] # EOF marker = the 0.4.dec byte length
# @TRAILING@ (above) is replaced by tools/new_overlay.sh: for a non-4-aligned overlay it becomes
-37
View File
@@ -2838,40 +2838,3 @@ void func_80180A64(s32 param_1)
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_801808C4", func_80180AD4);
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_801808C4", func_80180D6C);
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_801808C4", func_8018127C);
extern void func_8012E364(void);
void func_80181498(void) {
((s32 (*)(void))func_8012E364)();
}
extern s32 func_8012E470(s32 a0);
extern s32 func_8012E4C8(void *a0);
void func_801814B8(int param_1)
{
if (((int (*)(void))func_8012E470)() != 0) {
((void (*)(int))func_8012E4C8)(param_1);
}
}
// @class: plumbing
// @stuck: none — MATCH expected (clean structural stub)
extern s32 func_8012BEE8(s32 a0);
extern void func_8012A828(s32 a0, void *a1);
extern unsigned char D_801A6F44;
void func_801814F0(int param_1)
{
((void (*)(void))func_8012BEE8)();
if (*(int *)(param_1 + 0x1c) == 1) {
func_8012A828(param_1, &D_801A6F44);
}
return;
}
File diff suppressed because it is too large Load Diff
-37
View File
@@ -2838,40 +2838,3 @@ void func_80180A64(s32 param_1)
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_801808C4", func_80180AD4);
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_801808C4", func_80180D6C);
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_801808C4", func_8018127C);
extern void func_8012E364(void);
void func_80181498(void) {
((s32 (*)(void))func_8012E364)();
}
extern s32 func_8012E470(s32 a0);
extern s32 func_8012E4C8(void *a0);
void func_801814B8(int param_1)
{
if (((int (*)(void))func_8012E470)() != 0) {
((void (*)(int))func_8012E4C8)(param_1);
}
}
// @class: plumbing
// @stuck: none — MATCH expected (clean structural stub)
extern s32 func_8012BEE8(s32 a0);
extern void func_8012A828(s32 a0, void *a1);
extern unsigned char D_801A6F44;
void func_801814F0(int param_1)
{
((void (*)(void))func_8012BEE8)();
if (*(int *)(param_1 + 0x1c) == 1) {
func_8012A828(param_1, &D_801A6F44);
}
return;
}
File diff suppressed because it is too large Load Diff