chore(decomp): commit in-tree banked work before the serial lane

This commit is contained in:
Drew T
2026-08-25 22:07:25 -06:00
parent 10d14582db
commit 47160efee8
9 changed files with 2899 additions and 11 deletions
+2 -2
View File
@@ -2870,7 +2870,7 @@ 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_8017E1D0.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
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
@@ -4411,7 +4411,7 @@ 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,ov_SC06_022_jr_80182D08.o,ov_SC06_022_jr_80184304.o,ov_SC06_022_jr_80184A28.o,tail19.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
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
+4 -1
View File
@@ -121,6 +121,7 @@ segments:
- [0x52354, c, ov_SC03_121_jr_8017A4AC]
- [0x52cd4, c, ov_SC03_121_jr_8017AE2C]
- [0x53d64, c, ov_SC03_121_jr_8017BEBC]
- [0x55dd4, c, ov_SC03_121_jr_8017DF2C]
- [0x56078, c, ov_SC03_121_jr_8017E1D0]
- [0x59fe0, data, tail]
- [0x84680, .rodata, ov_SC03_121] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
@@ -165,8 +166,10 @@ segments:
- [0x857a0, .rodata, ov_SC03_121_jr_8017AE2C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0x857b4, .rodata, ov_SC03_121_jr_8017BEBC] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0x857d4, data, tail18]
- [0x857ec, .rodata, ov_SC03_121_jr_8017DF2C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0x85800, data, tail19]
- [0x85804, .rodata, ov_SC03_121_jr_8017E1D0] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
- [0x85838, data, tail19]
- [0x85838, data, tail20]
- [0x86E54, bin, trailing] # final 3 bytes (EOF not 4-aligned; spimdisasm drops a partial word)
- [0x86E57] # 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
+6 -1
View File
@@ -218,7 +218,12 @@ void func_801E7FF8(void *a0) {
}
INCLUDE_ASM("asm/md_SC04_025/nonmatchings/md_SC04_025", func_801E8034);
void func_801E8034(void *a0) {
extern void func_801E805C(s32 a0, s16 *a1);
extern s16 D_801274E8;
func_801E805C((s32)a0, &D_801274E8);
}
/* MATRIX 0x20: short m[3][3] @0x00 (18B) + 2B pad, long t[3] @0x14 (PsyQ layout) */
+7 -1
View File
@@ -3940,7 +3940,13 @@ DEFINE_func_80174824() /* dedup: shared engine-core @0x80174824 (src/shared) */
DEFINE_func_8017484C() /* dedup: shared engine-core @0x8017484c (src/shared) */
INCLUDE_ASM("asm/ov_SC02_037/nonmatchings/ov_SC02_037_jr_80171B4C", func_80174888);
extern void (*D_80187278[])(void);
s32 func_80174888(void *a0)
{
D_80187278[*(u8 *)((s32)a0 + 0x214)]();
}
DEFINE_func_801748C4() /* dedup: shared engine-core @0x801748c4 (src/shared) */
+9 -1
View File
@@ -3984,7 +3984,15 @@ void func_8017E73C(s32 a0) {
}
INCLUDE_ASM("asm/ov_SC03_103/nonmatchings/ov_SC03_103_jr_8017C294", func_8017E780);
void func_8017E780(s32 a0) {
extern s32 D_801C4D68;
extern s32 D_80197F1C;
extern void func_8017D174(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
func_8017D174((s32)&D_801C4D68, (s32)&D_80197F1C,
*(s16 *)(a0 + 0xDC), 0);
*(u16 *)(a0 + 0xDC) = *(u16 *)(a0 + 0xDC) + 0xA;
}
extern void (*D_801880C0[])(void);
+13 -1
View File
@@ -4458,7 +4458,19 @@ void func_80181A84(s32 a0, s32 a1) {
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8017CA80", func_80181AD0);
INCLUDE_ASM("asm/ov_SC03_104/nonmatchings/ov_SC03_104_jr_8017CA80", func_80181B14);
extern void func_8013B6A0(s32 idx, u16 *src, s32 val);
void func_80181B14(void) {
register s32 a0v __asm__("$4");
register s32 a1v __asm__("$5");
register s32 a2v __asm__("$6");
u16 sp[3];
sp[0] = *(u16 *)(a0v + 0x2);
sp[1] = *(u16 *)(a0v + 0x6);
sp[2] = *(u16 *)(a0v + 0xA);
func_8013B6A0(a1v, sp, a2v);
}
void func_80181B58(void) {
}
@@ -3722,6 +3722,3 @@ void func_8017DDB4(s32 a0) {
*(s16 *)(s0 + 0xE) = sv2.vz + (s16)(iVar1 * 0x20 >> 0xC);
}
}
INCLUDE_ASM("asm/ov_SC03_121/nonmatchings/ov_SC03_121_jr_8017BEBC", func_8017DF2C);
File diff suppressed because it is too large Load Diff
+44 -1
View File
@@ -4154,7 +4154,50 @@ extern s32 func_80029178(s32 arg);
}
INCLUDE_ASM("asm/ov_SC05_017/nonmatchings/ov_SC05_017_jr_801808D4", func_80182318);
extern s32 func_8012BD14(s32 a0);
extern s32 func_80178BF8();
extern void func_80172710(void);
extern s32 func_80182318_def(void *a0) __asm__("func_80182318");
s32 func_80182318_def(void *a0)
{
void *p;
u16 st;
p = *(void **)((s32)a0 + 0x64);
st = *(u16 *)((s32)p + 0x2);
switch (st) {
case 3:
if (func_8012BD14((s32)p) >= 0x4001) {
return 0;
}
{
void *p2 = *(void **)((s32)a0 + 0x64);
u16 v = *(u16 *)((s32)p2 + 0x2);
v = v + 1;
*(u16 *)((s32)p2 + 0x2) = v;
}
break;
case 8:
if (func_8012BD14((s32)p) >= 0x4001) {
return 0;
}
{
void *p3 = *(void **)((s32)a0 + 0x64);
u16 w = *(u16 *)((s32)p3 + 0x34);
w = w + 1;
*(u16 *)((s32)p3 + 0x34) = w;
}
break;
default:
return 0;
}
func_80178BF8();
return (s32)func_80172710;
}
/* func_801823D0 — guarded dispatch: ask func_801848AC(9, 0x11); if it answers