feat(t5): Claude wave t5t — 13 banked of 15 (sonnet 13/14, opus 0/1); fleet 213 passed, 0 failed of 213 (P31 S65 T5)

First wave at the new 1x15 cap (5x plan). Bank rate 13/15 = 87%, against t5s's 24/29 = 83% — halving
the wave did not cost quality. Banked: func_800CAE0C func_800CB028 func_8017C120 func_8017CD9C
func_8017E0FC func_8017EADC func_8017EB34 func_8017EC78 func_80182AFC func_80182C78 func_8018A124
func_8018B698 func_8018B8B0.

Misses: func_801831B4 (71 ins, closeness 10 — a D_801B7A84 reload-scheduling residual the agent
probed 5 structurally distinct ways, byte-identical residual each time) and ov_SC03_023:func_8017BEBC
(246 ins, closeness 45) whose ov_SC03_012 sibling was hand-banked earlier this session — try a family
remap there before spending another wave slot.

R22: verified from a CLEAN rebuild after the ov_MAIN_012 repair (commit:3195).
This commit is contained in:
Drew T
2026-08-29 15:51:55 -06:00
parent 25b72baa8a
commit 83334a6c9e
10 changed files with 309 additions and 13 deletions
+12 -1
View File
@@ -1,6 +1,17 @@
#include "common.h"
INCLUDE_ASM("asm/md_MAIN_013/nonmatchings/md_MAIN_013", func_800CAE0C);
extern void func_800183E0(s32 a0);
void func_800CAE0C(void) {
extern s32 D_800CC57C;
extern s32 D_800CC5BC;
extern s32 D_800CB93C;
func_800183E0((s32)&D_800CC57C);
func_800183E0((s32)&D_800CC5BC);
func_800183E0((s32)&D_800CB93C);
}
+38 -1
View File
@@ -65,7 +65,44 @@ void func_800CAF9C(s32 a0) {
}
INCLUDE_ASM("asm/md_MAIN_041/nonmatchings/md_MAIN_041", func_800CB028);
#include "common.h"
extern void func_8014659C(void);
extern void func_8001C214(s32 a0, s32 a1);
extern s32 D_800CBE04;
extern void func_80149374(s32 a0, s32 a1);
extern void func_80146DE8(s32 *a0, s32 a1, s32 a2, s32 a3);
extern void func_80146E90(s32 *a0, s32 a1);
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
extern void func_80147324(s32 a0);
extern void func_80146CA0(void *a0);
extern void func_800CB338(void);
void func_800CB028(s32 a0) {
s32 s2;
s32 s0;
s2 = *(s32 *)(a0 + 0x4C);
s0 = ((s32 (*)(void))func_8014659C)();
*(s32 *)(a0 + 0x20) = s0;
if (s0 != 0) {
func_8001C214(s0, (s32)&D_800CBE04);
*(u16 *)(s0 + 0x2C) = *(u16 *)(s0 + 0x2C) | 0x10;
*(u16 *)(s0 + 0x1C) = 0x2000;
*(u16 *)(s0 + 0x1A) = 0x2000;
*(u16 *)(s0 + 0x18) = 0x2000;
*(u16 *)(s0 + 0x12) = *(u16 *)(*(s32 *)(s2 + 0x20) + 0x12);
func_80149374(s2, a0 + 4);
func_80146DE8((s32 *)a0, 0, 0, 0xFFE80000);
func_80146E90((s32 *)a0, 0x3C);
func_80146A6C(0x4F, (void *)a0, 0, 0, 0, 0, 0);
func_80147324(0x8E5);
func_80146CA0((void *)a0);
} else {
((void (*)(s32))func_800CB338)(a0);
}
}
extern void func_80162FF4();
extern void func_80162FC0(s32 *a0);
+75 -1
View File
@@ -5559,7 +5559,81 @@ void func_80182AA4(void *a0) {
}
INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027_jr_8017D898", func_80182AFC);
#include "common.h"
extern void func_8012AD80(s32 a0);
extern void func_8012E014(s32 a0);
extern void func_80182D4C(u8 *a0, u8 *a1, s32 a2);
extern s32 func_8012DB84(void);
extern void func_80182C78(s32 a0);
extern s32 D_80126B58;
extern s32 D_801AB660[];
extern Stride8_u16_80182868 D_801AB670[];
extern Stride8_s16_80182868 D_801AB676[];
extern s16 D_801AB668[];
void func_80182AFC(s32 arg0)
{
s32 s0 = arg0;
s16 st;
s32 v1;
u16 a0v;
s32 s2;
s32 diff;
register s32 ok __asm__("$5");
u8 *base = (u8 *)&D_80126B58;
func_8012AD80(s0);
if (*(u8 *)(s0 + 0x74) != 0) {
func_8012E014(s0);
func_80182D4C((u8 *)s0, (u8 *)D_801AB660, -1);
} else {
st = *(s16 *)(s0 + 0x70);
func_80182D4C((u8 *)s0, (u8 *)D_801AB660, D_801AB676[st].v);
}
s2 = 0x200;
st = *(s16 *)(s0 + 0x70);
if (st == 1) {
s2 = 0x180;
}
v1 = D_801AB676[st].v;
a0v = D_801AB670[st].v;
ok = 1;
if (v1 != 0) {
if (*(s32 *)(s0 + 0x10) < (s32)0xFFF80000) {
*(s32 *)(s0 + 0x44) = 0;
}
diff = a0v - *(u16 *)(s0 + 0x6);
} else {
if (*(s32 *)(s0 + 0x10) > 0x80000) {
*(s32 *)(s0 + 0x44) = 0;
}
diff = *(u16 *)(s0 + 0x6) - a0v;
}
if ((s16)diff >= s2 - 0x18) {
register int zr __asm__("$0");
register s32 vt __asm__("$2");
vt = ok + zr;
if (vt != 0) {
if (*(s16 *)(base + 0xA) >= *(s16 *)(s0 + 0xA) + D_801AB668[0]) {
func_8012DB84();
}
}
}
if ((s16)diff >= s2) {
func_80182C78(s0);
}
}
void func_80182C78(s32 a0)
{
+61 -1
View File
@@ -3986,7 +3986,67 @@ void func_8017DEBC(s32 a0) {
}
INCLUDE_ASM("asm/ov_SC03_094/nonmatchings/ov_SC03_094_jr_8017BEBC", func_8017E0FC);
#include "common.h"
extern s32 func_8004787C(s32 a0);
extern void func_8002D4C8(s32 a0, s32 a1);
void func_8017E0FC(s32 a0) {
extern u8 D_8018B4F2[];
extern u8 D_8018B4F4[];
extern u8 D_8018B4F8[];
extern u8 D_8018B50C[];
s32 s0 = a0;
s32 ret;
u16 sum;
s16 a2;
s32 a1;
s32 matched;
ret = func_8004787C((s16)(*(u16 *)(s0 + 0xFC) += 0x40));
*(s16 *)(s0 + 0x6) = *(u16 *)(s0 + 0x88) + ((*(s16 *)(s0 + 0xFE) * ret) >> 12);
if (*(s16 *)(s0 + 0xFC) < 0x400) {
return;
}
sum = *(u16 *)(s0 + 0x88) + *(u16 *)(s0 + 0xFE);
*(s16 *)(s0 + 0x6) = sum;
*(s16 *)(s0 + 0x88) = sum;
*(s16 *)(s0 + 0x8C) = *(u16 *)(s0 + 0xE);
a2 = *(s16 *)(s0 + 0x6);
a1 = (*(s32 *)(s0 + 0xDC) << 3) - 8;
for (;;) {
if (a2 == *(s16 *)(D_8018B4F4 + a1)) {
if (*(s16 *)(s0 + 0xE) == *(s16 *)(D_8018B4F8 + a1)) {
func_8002D4C8(0x744, 0);
matched = 1;
break;
}
}
a1 += 8;
if (*(s16 *)(D_8018B4F2 + a1) == 0) {
matched = 0;
break;
}
}
if (matched == 1) {
*(s16 *)(s0 + 0x2) = 4;
*(u16 *)(s0 + 0xFC) = 0;
*(u16 *)(*(s32 *)(s0 + 0x20) + 0x2C) |= 0x80;
*(s32 *)(*(s32 *)(s0 + 0x20) + 0x80) =
(s32)(D_8018B50C + *(s16 *)(s0 + 0x70) * 8);
} else {
*(s16 *)(s0 + 0x2) = 1;
*(u16 *)(s0 + 0x5C) = (*(u16 *)(s0 + 0x5C) | 0x1000) & 0xF7FF;
}
}
INCLUDE_ASM("asm/ov_SC03_094/nonmatchings/ov_SC03_094_jr_8017BEBC", func_8017E254);
+37 -3
View File
@@ -4276,9 +4276,34 @@ void func_8017EA2C(void *a0) {
}
INCLUDE_ASM("asm/ov_SC06_014/nonmatchings/ov_SC06_014_jr_8017BEBC", func_8017EADC);
void func_8017EADC(s32 a0) {
s16 v0;
v0 = *(u16 *)(a0 + 0xA) - 4;
*(u16 *)(a0 + 0xA) = v0;
if (v0 < -0x5FF) {
*(s16 *)(a0 + 2) = 3;
*(s16 *)(a0 + 0x34) = 2;
*(s32 *)(a0 + 0x1C) = 0xF;
}
func_8012DFD4((u8 *)a0);
}
#include "common.h"
extern void func_8012DFD4(u8 *a0);
void func_8017EB34(s32 a0) {
s32 v0 = *(s32 *)(a0 + 0x1C);
if (v0 != 0) {
*(s32 *)(a0 + 0x1C) = v0 - 1;
} else {
*(s16 *)(a0 + 2) = *(u16 *)(a0 + 0x34);
}
func_8012DFD4((u8 *)a0);
}
INCLUDE_ASM("asm/ov_SC06_014/nonmatchings/ov_SC06_014_jr_8017BEBC", func_8017EB34);
INCLUDE_ASM("asm/ov_SC06_014/nonmatchings/ov_SC06_014_jr_8017BEBC", func_8017EB78);
@@ -4325,7 +4350,16 @@ void func_8017EC68(void) {
void func_8017EC70(void) {
}
INCLUDE_ASM("asm/ov_SC06_014/nonmatchings/ov_SC06_014_jr_8017BEBC", func_8017EC78);
void func_8017EC78(void *a0) {
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x18) - 0x100;
*(u16 *)(*(s32 *)(a0 + 0x20) + 0x1a) = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x1a) - 0x100;
if (*(s16 *)(*(s32 *)(a0 + 0x20) + 0x1a) < 0x81) {
*(u32 *)(*(s32 *)(a0 + 0x20) + 4) |= 0x80000000;
*(s16 *)((u8 *)a0 + 0x2) = 1;
*(u16 *)((u8 *)a0 + 0x5c) = 0x8000;
}
}
void func_8017ECEC(void *a0) {
*(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) = *(s16 *)(*(s32 *)(a0 + 0x20) + 0x18) + 0x100;
+28 -1
View File
@@ -3417,7 +3417,34 @@ void func_8017C0A4(s32 param_1) {
}
INCLUDE_ASM("asm/ov_SC06_018/nonmatchings/ov_SC06_018_jr_8017AE2C", func_8017C120);
extern s16 D_80196FF4;
void func_8017C120(s32 param_1) {
s32 node;
s32 val;
s16 *p;
u16 vec[3];
s32 val2;
node = *(s32 *)(param_1 + 0x20);
*(s32 *)(param_1 + 0x2c) += 0xE3;
val = func_8004787C(*(s32 *)(param_1 + 0x2c));
p = &D_80196FF4;
if (val < 0) {
val += 0xFF;
}
*p = val >> 8;
func_800139C8(*(s16 *)(node + 0x14), p - 2, vec);
*(s16 *)(param_1 + 6) = *(u16 *)(param_1 + 0x12) + vec[0];
*(s16 *)(param_1 + 0xe) = *(u16 *)(param_1 + 0x1a) + vec[2];
val2 = *(s32 *)(param_1 + 0x1c) - 1;
*(s32 *)(param_1 + 0x1c) = val2;
if (val2 == -1) {
func_80146E90(param_1, 0x10);
*(u16 *)(param_1 + 2) += 1;
}
}
extern s32 func_80146E98(s32 a0);
extern void func_80146C3C(void);
+33 -2
View File
@@ -5406,7 +5406,25 @@ void func_8018B65C(void *a0) {
}
INCLUDE_ASM("asm/ov_SC06_018/nonmatchings/ov_SC06_018_jr_80187AEC", func_8018B698);
extern void func_801437D8(s32 a0, s32 a1, s32 a2, s32 a3);
extern void func_8002D4C8(s32 a0, s32 a1);
extern u8 D_801CD4C0[];
void func_8018B698(s32 arg0)
{
s32 s0 = arg0;
u16 sp10[4];
sp10[0] = *(u16 *)(s0 + 6);
sp10[1] = *(u16 *)(s0 + 0xA) - 0x40;
sp10[2] = *(u16 *)(s0 + 0xE);
sp10[3] = 0x3000;
func_801437D8(s0 + 0xFE, (s32)sp10, (s32)D_801CD4C0, 0);
if ((*(u16 *)(s0 + 0xFE) & 3) == 0) {
func_8002D4C8(0xA9F, 0);
}
}
void func_8018B714(s32 param_1)
{
@@ -5428,7 +5446,20 @@ void func_8018B714(s32 param_1)
INCLUDE_ASM("asm/ov_SC06_018/nonmatchings/ov_SC06_018_jr_80187AEC", func_8018B774);
INCLUDE_ASM("asm/ov_SC06_018/nonmatchings/ov_SC06_018_jr_80187AEC", func_8018B8B0);
#include "common.h"
extern void func_8018BBB8(s32 a0);
extern void func_8002D4C8(s32 a0, s32 a1);
extern void func_8012AD44(s32 *a0, s16 a1);
void func_8018B8B0(s32 param_1)
{
*(u16 *)(param_1 + 0xE6) = 0x800;
func_8018BBB8(param_1);
func_8002D4C8(0xAE4, 0);
func_8012AD44((s32 *)param_1, 1);
}
extern Blk4 D_801D57B0;
+7 -1
View File
@@ -3675,7 +3675,13 @@ void func_8017BEBC(s32 arg0)
}
INCLUDE_ASM("asm/ov_SC07_006/nonmatchings/ov_SC07_006_jr_8017BEBC", func_8017CD9C);
extern void func_8002931C(s32 a0);
void func_8017CD9C(void)
{
func_8002931C(0x4740000);
}
+7 -1
View File
@@ -5834,7 +5834,13 @@ void func_80189FDC(s32 param_1)
}
INCLUDE_ASM("asm/ov_SC07_006/nonmatchings/ov_SC07_006_jr_80183814", func_8018A124);
void func_8018A124(void *param_1)
{
if ((--*(s32 *)((char *)param_1 + 0x1C)) == 0) {
*(u16 *)((char *)param_1 + 2) += 1;
}
}
#include "common.h"
+11 -1
View File
@@ -7827,7 +7827,17 @@ void func_80182C3C(u8 *a0) {
}
INCLUDE_ASM("asm/ov_SC07_007/nonmatchings/ov_SC07_007_jr_8017BEBC", func_80182C78);
extern s32 func_80181334(s32 a0, s32 a1);
extern void func_80171928(void *a0);
extern void *D_8011F738;
void func_80182C78(u8 *a0)
{
if (func_80181334(0, (s32)D_8011F738) != 0) {
func_80171928((void *)a0);
}
}
extern void func_8014706C(void *a0);
extern void func_80154274(s32 *a0, s32 a1);