feat(phase-32): T2c (3) — 5 more free banks (md_MAIN_007 ×2, md_SC03_054 ×2, md_SC03_056 ×1), byte-identical

- md_MAIN_007: func_800CF390 (8 — a 3-arg pass-through to func_800CF3B0, the shape of main's func_80014128, its
  d=0 twin) + func_800CF0B8 (15 — RELOC-ONLY twin of resident:0x800cf4d4 with the index global read as lw, s32)
- md_SC03_054: func_801F0098 + func_801F0104 (12 each — NEAR-COUSINs of ov_SC03_006:0x80183744; constants
  0x3C9 -> 0x11A, 1 -> 3, exactly as the real-TU diff named them)
- md_SC03_056: func_801CBBDC (11 — cousin of ov_SC03_001:0x8017ed8c, 2 -> 0xE)
- rtu_match MATCH each; make build -j8 rc 0: md_MAIN_007 2ff702b6 · md_SC03_054 06bd73df · md_SC03_056 bc768a6b
This commit is contained in:
Drew T
2026-09-05 00:12:09 -06:00
parent 89d177aa37
commit 9ffd0b7ee3
3 changed files with 45 additions and 5 deletions
+14 -2
View File
@@ -33,7 +33,14 @@ INCLUDE_RODATA("asm/md_MAIN_007/nonmatchings/md_MAIN_007", D_800CEDF8);
INCLUDE_ASM("asm/md_MAIN_007/nonmatchings/md_MAIN_007", func_800CF068);
INCLUDE_ASM("asm/md_MAIN_007/nonmatchings/md_MAIN_007", func_800CF0B8);
extern s32 D_800D1374; /* the target reads it with lw (real-TU diff), not lhu */
extern void (*D_800D1344[])(void);
void func_800CF0B8(void) {
D_800D1344[D_800D1374]();
}
INCLUDE_ASM("asm/md_MAIN_007/nonmatchings/md_MAIN_007", func_800CF0F4);
@@ -49,7 +56,12 @@ INCLUDE_ASM("asm/md_MAIN_007/nonmatchings/md_MAIN_007", func_800CF2BC);
INCLUDE_ASM("asm/md_MAIN_007/nonmatchings/md_MAIN_007", func_800CF33C);
INCLUDE_ASM("asm/md_MAIN_007/nonmatchings/md_MAIN_007", func_800CF390);
extern void func_800CF3B0(void *a0, void *a1, void *a2);
void func_800CF390(void *a0, void *a1, void *a2) {
func_800CF3B0(a0, a1, a2);
}
INCLUDE_ASM("asm/md_MAIN_007/nonmatchings/md_MAIN_007", func_800CF3B0);
+22 -2
View File
@@ -8,11 +8,31 @@ INCLUDE_ASM("asm/md_SC03_054/nonmatchings/md_SC03_054", func_801EF6D8);
INCLUDE_ASM("asm/md_SC03_054/nonmatchings/md_SC03_054", func_801F0048);
INCLUDE_ASM("asm/md_SC03_054/nonmatchings/md_SC03_054", func_801F0098);
extern s32 func_8012E544(s32 a0);
void func_801F0098(void) {
s32 v0 = func_8012E544(0x11A);
if (v0 != 0) {
*(s16*)(v0 + 0xfc) = 1;
}
}
INCLUDE_ASM("asm/md_SC03_054/nonmatchings/md_SC03_054", func_801F00C8);
INCLUDE_ASM("asm/md_SC03_054/nonmatchings/md_SC03_054", func_801F0104);
extern s32 func_8012E544(s32 a0);
void func_801F0104(void) {
s32 v0 = func_8012E544(0x11A);
if (v0 != 0) {
*(s16*)(v0 + 0xfc) = 3;
}
}
extern s16 D_801F1480;
+9 -1
View File
@@ -13,7 +13,15 @@ extern void func_80178CBC(s32*, s32);
INCLUDE_ASM("asm/md_SC03_056/nonmatchings/md_SC03_056", func_801CBB80);
INCLUDE_ASM("asm/md_SC03_056/nonmatchings/md_SC03_056", func_801CBBDC);
extern void func_80178CBC(s32 *a0, s32 a1);
extern short D_801CC950;
void func_801CBBDC(void *a0) {
*(short *)((char *)a0 + 0x2) = 0xE;
func_80178CBC(a0, &D_801CC950);
}
extern s32 func_80178970(s32 *a0);
extern void func_80178D18(u8 *a0);