feat(phase-30 S3): func_801754A8 banked (37 ins x138 head) — plain gate

This commit is contained in:
Drew T
2026-08-01 09:46:22 -06:00
parent 4a23c82a33
commit d9586392a6
+24 -1
View File
@@ -2988,7 +2988,30 @@ DEFINE_func_80175454() /* dedup: shared engine-core @0x80175454 (src/shared) */
DEFINE_func_80175494() /* dedup: shared engine-core @0x80175494 (src/shared) */
INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077_jr_801734BC", func_801754A8);
// @class: regalloc-order
// @stuck: none — MATCH (37 ins, relocation-masked proxy)
extern s32 func_80029504(void);
extern u8 D_8011F7A8;
extern unsigned char D_800B9A13;
extern s32 D_80126B9C;
extern DispatchFn D_8018A308[];
void func_801754A8(void) {
u8 *p = &D_8011F7A8;
s32 r = func_80029504();
s32 flag = 0;
if (((D_800B9A13 == 0) && ((D_80126B9C & 0x80) == 0)) ||
(0x4AF < (u32)(r - 10))) {
flag = 1;
}
p[9] = flag;
D_8018A308[p[0]]((void *)p);
}
// @class: struct
// @stuck: none — MATCH expected. fn-ptr-table dispatch: byte at param+1 indexes D_8018A314[] declared extern void(*[])() so %lo folds into the lw of the fn-ptr; dispatched call takes no args (no $a0 setup before jalr), then three plain jal tail calls.