From 6a8274398eca007f4a4643e22b2f023fbabd95c9 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 11 Sep 2026 04:42:02 -0600 Subject: [PATCH] =?UTF-8?q?phase-36:=20S104=20s104=5Fe33=20=E2=80=94=20fun?= =?UTF-8?q?c=5F8017EE80=20banked=20at=200=20through=20the=20whole-object?= =?UTF-8?q?=20gate=20+=20propagated=20=E2=80=94=20$18=20pin=20=E2=86=92=20?= =?UTF-8?q?0:=20one=20walked=20pointer,=20cast=20reads=20(loop.c:4421/5494?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .run/P36/delever/calibration.json | 372 +++++++++++----------- .run/P36/delever/ledger.jsonl | 1 + src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c | 101 +++--- 3 files changed, 228 insertions(+), 246 deletions(-) diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index c888991101..3334118bd8 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,5 +1,5 @@ { - "head": "47166c6d3", + "head": "cf872da51", "stamp": "15956e4a96c4", "generated": "2026-09-11 04:41", "aliases": [ @@ -21,207 +21,207 @@ "main": { "objects": 85, "identical": 85, - "seconds": 6.283999999999999, - "mean_s": 0.074 + "seconds": 9.406000000000002, + "mean_s": 0.111 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 4.374, - "mean_s": 0.137 + "seconds": 5.918000000000001, + "mean_s": 0.185 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 4.189, - "mean_s": 0.131 + "seconds": 5.624, + "mean_s": 0.176 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 3.6809999999999996, - "mean_s": 0.131 + "seconds": 4.995000000000002, + "mean_s": 0.178 } }, "per_object_seconds": { - "build/src/800.o": 0.723, - "build/src/800_b.o": 0.079, - "build/src/800_b_2.o": 0.289, - "build/src/800_b_o0a.o": 0.062, - "build/src/800_c.o": 0.186, - "build/src/800b2.o": 0.072, - "build/src/apicard1.o": 0.065, - "build/src/apicard2.o": 0.062, - "build/src/apicard3.o": 0.066, - "build/src/apicard4.o": 0.06, - "build/src/apicard5.o": 0.071, - "build/src/apicard6.o": 0.056, - "build/src/apicard7.o": 0.085, - "build/src/boot.o": 0.093, - "build/src/gap.o": 0.067, - "build/src/libapi1.o": 0.062, + "build/src/800.o": 0.918, + "build/src/800_b.o": 0.104, + "build/src/800_b_2.o": 0.405, + "build/src/800_b_o0a.o": 0.103, + "build/src/800_c.o": 0.239, + "build/src/800b2.o": 0.128, + "build/src/apicard1.o": 0.075, + "build/src/apicard2.o": 0.09, + "build/src/apicard3.o": 0.102, + "build/src/apicard4.o": 0.095, + "build/src/apicard5.o": 0.125, + "build/src/apicard6.o": 0.11, + "build/src/apicard7.o": 0.09, + "build/src/boot.o": 0.151, + "build/src/gap.o": 0.078, + "build/src/libapi1.o": 0.077, "build/src/libapi2.o": 0.057, - "build/src/libc2_1.o": 0.061, - "build/src/libc2_2.o": 0.059, - "build/src/libcd1.o": 0.07, - "build/src/libcd2.o": 0.052, - "build/src/libetc.o": 0.057, - "build/src/libgpu.o": 0.053, - "build/src/libgpu2.o": 0.06, - "build/src/libgs1.o": 0.055, - "build/src/libgs2.o": 0.058, - "build/src/libgs3.o": 0.058, - "build/src/libgs4.o": 0.057, - "build/src/libgs5.o": 0.059, - "build/src/libgs6.o": 0.074, - "build/src/libgs7.o": 0.06, - "build/src/libgs8.o": 0.057, - "build/src/libgte1.o": 0.064, - "build/src/libgte10.o": 0.056, - "build/src/libgte11.o": 0.062, - "build/src/libgte12.o": 0.057, - "build/src/libgte13.o": 0.061, - "build/src/libgte14.o": 0.059, - "build/src/libgte15.o": 0.061, - "build/src/libgte16.o": 0.052, - "build/src/libgte17.o": 0.059, - "build/src/libgte18.o": 0.063, - "build/src/libgte19.o": 0.06, - "build/src/libgte2.o": 0.062, - "build/src/libgte20.o": 0.061, - "build/src/libgte21.o": 0.058, - "build/src/libgte22.o": 0.053, - "build/src/libgte23.o": 0.056, - "build/src/libgte24.o": 0.055, - "build/src/libgte25.o": 0.061, - "build/src/libgte26.o": 0.055, - "build/src/libgte27.o": 0.063, - "build/src/libgte28.o": 0.064, - "build/src/libgte29.o": 0.054, - "build/src/libgte3.o": 0.063, - "build/src/libgte30.o": 0.058, - "build/src/libgte4.o": 0.059, - "build/src/libgte5.o": 0.062, - "build/src/libgte6.o": 0.066, - "build/src/libgte7.o": 0.06, - "build/src/libgte8.o": 0.061, - "build/src/libgte9.o": 0.056, - "build/src/libmcrd1.o": 0.077, - "build/src/libmcrd2.o": 0.064, - "build/src/libpad1.o": 0.061, - "build/src/libpad2.o": 0.071, - "build/src/sgap.o": 0.052, - "build/src/sgap_2.o": 0.059, - "build/src/sgap_3.o": 0.061, - "build/src/sgap_4.o": 0.074, - "build/src/sgap_5.o": 0.063, - "build/src/sgap_6.o": 0.054, - "build/src/sgap_8.o": 0.072, - "build/src/snd1.o": 0.063, - "build/src/snd10.o": 0.064, - "build/src/snd11.o": 0.062, - "build/src/snd12.o": 0.058, - "build/src/snd2.o": 0.074, - "build/src/snd3.o": 0.062, - "build/src/snd4.o": 0.059, - "build/src/snd5.o": 0.054, - "build/src/snd6.o": 0.065, - "build/src/snd7.o": 0.057, - "build/src/snd8.o": 0.064, - "build/src/snd9.o": 0.068, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.113, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.464, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.403, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.064, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.072, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.12, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.145, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.126, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.078, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.073, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.183, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.074, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.163, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.08, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.059, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.062, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.083, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.445, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.233, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.098, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.168, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.057, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.089, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.063, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.165, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.174, - "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.05, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.251, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.046, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.055, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.052, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.066, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.12, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.476, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.361, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.043, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.049, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.116, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.135, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.085, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.063, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.056, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.164, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.059, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.15, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.089, - "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.055, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.063, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.091, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.415, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.25, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.081, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.202, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.055, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.098, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.063, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.156, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.189, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.046, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.243, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.057, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.051, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.056, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.052, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.112, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.398, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.312, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.05, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.051, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.112, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.149, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.095, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.067, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.059, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.162, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.069, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.153, - "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.083, - "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.058, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.064, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.095, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.328, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.207, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.092, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.158, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.05, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.092, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.06, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.087, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.408, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.054, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.056 + "build/src/libc2_1.o": 0.066, + "build/src/libc2_2.o": 0.094, + "build/src/libcd1.o": 0.093, + "build/src/libcd2.o": 0.064, + "build/src/libetc.o": 0.102, + "build/src/libgpu.o": 0.094, + "build/src/libgpu2.o": 0.109, + "build/src/libgs1.o": 0.103, + "build/src/libgs2.o": 0.088, + "build/src/libgs3.o": 0.084, + "build/src/libgs4.o": 0.102, + "build/src/libgs5.o": 0.088, + "build/src/libgs6.o": 0.086, + "build/src/libgs7.o": 0.069, + "build/src/libgs8.o": 0.061, + "build/src/libgte1.o": 0.117, + "build/src/libgte10.o": 0.113, + "build/src/libgte11.o": 0.073, + "build/src/libgte12.o": 0.089, + "build/src/libgte13.o": 0.077, + "build/src/libgte14.o": 0.083, + "build/src/libgte15.o": 0.074, + "build/src/libgte16.o": 0.07, + "build/src/libgte17.o": 0.076, + "build/src/libgte18.o": 0.067, + "build/src/libgte19.o": 0.087, + "build/src/libgte2.o": 0.089, + "build/src/libgte20.o": 0.09, + "build/src/libgte21.o": 0.093, + "build/src/libgte22.o": 0.105, + "build/src/libgte23.o": 0.085, + "build/src/libgte24.o": 0.147, + "build/src/libgte25.o": 0.13, + "build/src/libgte26.o": 0.101, + "build/src/libgte27.o": 0.076, + "build/src/libgte28.o": 0.087, + "build/src/libgte29.o": 0.084, + "build/src/libgte3.o": 0.089, + "build/src/libgte30.o": 0.131, + "build/src/libgte4.o": 0.129, + "build/src/libgte5.o": 0.09, + "build/src/libgte6.o": 0.093, + "build/src/libgte7.o": 0.109, + "build/src/libgte8.o": 0.065, + "build/src/libgte9.o": 0.079, + "build/src/libmcrd1.o": 0.112, + "build/src/libmcrd2.o": 0.07, + "build/src/libpad1.o": 0.102, + "build/src/libpad2.o": 0.12, + "build/src/sgap.o": 0.137, + "build/src/sgap_2.o": 0.072, + "build/src/sgap_3.o": 0.078, + "build/src/sgap_4.o": 0.102, + "build/src/sgap_5.o": 0.1, + "build/src/sgap_6.o": 0.094, + "build/src/sgap_8.o": 0.106, + "build/src/snd1.o": 0.12, + "build/src/snd10.o": 0.103, + "build/src/snd11.o": 0.114, + "build/src/snd12.o": 0.112, + "build/src/snd2.o": 0.153, + "build/src/snd3.o": 0.08, + "build/src/snd4.o": 0.069, + "build/src/snd5.o": 0.128, + "build/src/snd6.o": 0.133, + "build/src/snd7.o": 0.062, + "build/src/snd8.o": 0.098, + "build/src/snd9.o": 0.093, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.15, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.585, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.447, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.063, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.074, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.152, + "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.191, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.134, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.146, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.091, + "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.215, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.088, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.208, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.156, + "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.126, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.117, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.11, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.535, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.352, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.132, + "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.249, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.099, + "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.142, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.081, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.191, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.274, + "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.087, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.328, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.097, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.084, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.099, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.115, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.172, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.612, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.472, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.072, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.055, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.149, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.177, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.124, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.119, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.07, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.2, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.106, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.181, + "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.101, + "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.074, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.076, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.102, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.559, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.302, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.121, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.232, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.084, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.132, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.122, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.213, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.23, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.074, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.329, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.079, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.08, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.079, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.126, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.172, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.526, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.42, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.061, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.062, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.179, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.166, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.115, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.118, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.079, + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.21, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.104, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.22, + "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.103, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.082, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.085, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.117, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.416, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.288, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.148, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.223, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.081, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.133, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.089, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.131, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.49, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.099, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.078 }, "ok": true, - "seconds": 2.1 + "seconds": 2.7 } diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index a7675f120a..d9b652db6a 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29521,3 +29521,4 @@ {"ts": "2026-09-11 04:10:08", "label": "s104_r42", "rung": "E", "calib": {"head": "652e7fc3b", "stamp": "15956e4a96c4"}, "tu": "src/shared/ov/func_80169584.h", "fn": "func_80169584", "addr": 2148963716, "aliases": null, "header": true, "includers": 136, "nhash_before": "10ad776da40952ce425630b380774b2d6effaa5b", "nhash_after": "63d16be57f5b0369130f235a1c2d97babd4c7a68", "source": "delever_regen R42 move-far @8 below @10", "verdict": "LEVER-FREE", "sites": [], "compiles": 141, "seconds": 47.035, "objects": ["build/src/ov_MAIN_012/ov_MAIN_012_jr_8015A3C8.o", "build/src/ov_SC01_000/ov_SC01_000_jr_8015C32C.o", "build/src/ov_SC01_001/ov_SC01_001_jr_8015C32C.o", "build/src/ov_SC01_004/ov_SC01_004_jr_8015C32C.o", "build/src/ov_SC01_005/ov_SC01_005_jr_8015C32C.o", "build/src/ov_SC01_006/ov_SC01_006_jr_8015C32C.o", "build/src/ov_SC01_008/ov_SC01_008_jr_8015C32C.o", "build/src/ov_SC01_009/ov_SC01_009_jr_8015C32C.o", "build/src/ov_SC01_074/ov_SC01_074_jr_8015C32C.o", "build/src/ov_SC01_077/ov_SC01_077_jr_8015C32C.o", "build/src/ov_SC01_080/ov_SC01_080_jr_8015C32C.o", "build/src/ov_SC01_084/ov_SC01_084_jr_8015C32C.o", "build/src/ov_SC02_000/ov_SC02_000_jr_8015C32C.o", "build/src/ov_SC02_003/ov_SC02_003_jr_8015C32C.o", "build/src/ov_SC02_004/ov_SC02_004_jr_8015C32C.o", "build/src/ov_SC02_005/ov_SC02_005_jr_8015C32C.o", "build/src/ov_SC02_011/ov_SC02_011_jr_8015C32C.o", "build/src/ov_SC02_015/ov_SC02_015_jr_8015C32C.o", "build/src/ov_SC02_016/ov_SC02_016_jr_8015C32C.o", "build/src/ov_SC02_017/ov_SC02_017_jr_8015C32C.o", "build/src/ov_SC02_021/ov_SC02_021_jr_8015C32C.o", "build/src/ov_SC02_026/ov_SC02_026_jr_8015C32C.o", "build/src/ov_SC02_027/ov_SC02_027_jr_8015C32C.o", "build/src/ov_SC02_028/ov_SC02_028_jr_8015C32C.o", "build/src/ov_SC02_031/ov_SC02_031_jr_8015C32C.o", "build/src/ov_SC02_035/ov_SC02_035_jr_8015C32C.o", "build/src/ov_SC02_037/ov_SC02_037_jr_8015A3C8.o", "build/src/ov_SC02_039/ov_SC02_039_jr_8015C32C.o", "build/src/ov_SC02_041/ov_SC02_041_jr_8015C32C.o", "build/src/ov_SC03_001/ov_SC03_001_jr_8015C32C.o", "build/src/ov_SC03_002/ov_SC03_002_jr_8015C32C.o", "build/src/ov_SC03_003/ov_SC03_003_jr_8015C32C.o", "build/src/ov_SC03_006/ov_SC03_006_jr_8015C32C.o", "build/src/ov_SC03_007/ov_SC03_007_jr_8015C32C.o", "build/src/ov_SC03_010/ov_SC03_010_jr_8015C32C.o", "build/src/ov_SC03_011/ov_SC03_011_jr_8015C32C.o", "build/src/ov_SC03_012/ov_SC03_012_jr_8015C32C.o", "build/src/ov_SC03_013/ov_SC03_013_jr_8015C32C.o", "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o", "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o", "build/src/ov_SC03_023/ov_SC03_023_jr_8015C32C.o", "build/src/ov_SC03_024/ov_SC03_024_jr_8015C32C.o", "build/src/ov_SC03_028/ov_SC03_028_jr_8015C32C.o", "build/src/ov_SC03_029/ov_SC03_029_jr_8015C32C.o", "build/src/ov_SC03_030/ov_SC03_030_jr_8015C32C.o", "build/src/ov_SC03_031/ov_SC03_031_jr_8015C32C.o", "build/src/ov_SC03_089/ov_SC03_089_jr_8015C32C.o", "build/src/ov_SC03_090/ov_SC03_090_jr_8015C32C.o", "build/src/ov_SC03_091/ov_SC03_091_jr_8015C32C.o", "build/src/ov_SC03_092/ov_SC03_092_jr_8015C32C.o", "build/src/ov_SC03_093/ov_SC03_093_jr_8015C32C.o", "build/src/ov_SC03_094/ov_SC03_094_jr_8015C32C.o", "build/src/ov_SC03_095/ov_SC03_095_jr_8015C32C.o", "build/src/ov_SC03_096/ov_SC03_096_jr_8015C32C.o", "build/src/ov_SC03_097/ov_SC03_097_jr_8015C32C.o", "build/src/ov_SC03_098/ov_SC03_098_jr_8015C32C.o", "build/src/ov_SC03_099/ov_SC03_099_jr_8015C32C.o", "build/src/ov_SC03_100/ov_SC03_100_jr_8015C32C.o", "build/src/ov_SC03_101/ov_SC03_101_jr_8015C32C.o", "build/src/ov_SC03_102/ov_SC03_102_jr_8015C32C.o", "build/src/ov_SC03_103/ov_SC03_103_jr_8015C32C.o", "build/src/ov_SC03_104/ov_SC03_104_jr_8015C32C.o", "build/src/ov_SC03_105/ov_SC03_105_jr_8015C32C.o", "build/src/ov_SC03_107/ov_SC03_107_jr_8015A3C8.o", "build/src/ov_SC03_108/ov_SC03_108_jr_8015C32C.o", "build/src/ov_SC03_109/ov_SC03_109_jr_8015C32C.o", "build/src/ov_SC03_110/ov_SC03_110_jr_8015C32C.o", "build/src/ov_SC03_111/ov_SC03_111_jr_8015C32C.o", "build/src/ov_SC03_112/ov_SC03_112_jr_8015C32C.o", "build/src/ov_SC03_113/ov_SC03_113_jr_8015C32C.o", "build/src/ov_SC03_114/ov_SC03_114_jr_8015C32C.o", "build/src/ov_SC03_115/ov_SC03_115_jr_8015C32C.o", "build/src/ov_SC03_116/ov_SC03_116_jr_8015C32C.o", "build/src/ov_SC03_117/ov_SC03_117_jr_8015C32C.o", "build/src/ov_SC03_118/ov_SC03_118_jr_8015C32C.o", "build/src/ov_SC03_119/ov_SC03_119_jr_8015C32C.o", "build/src/ov_SC03_121/ov_SC03_121_jr_8015C32C.o", "build/src/ov_SC03_124/ov_SC03_124_jr_8015C32C.o", "build/src/ov_SC03_125/ov_SC03_125_jr_8015C32C.o", "build/src/ov_SC03_126/ov_SC03_126_jr_8015C32C.o", "build/src/ov_SC04_000/ov_SC04_000_jr_8015C32C.o", "build/src/ov_SC04_002/ov_SC04_002_jr_8015C32C.o", "build/src/ov_SC04_003/ov_SC04_003_jr_8015C32C.o", "build/src/ov_SC04_004/ov_SC04_004_jr_8015C32C.o", "build/src/ov_SC04_005/ov_SC04_005_jr_8015C32C.o", "build/src/ov_SC04_006/ov_SC04_006_jr_8015C32C.o", "build/src/ov_SC04_007/ov_SC04_007_jr_8015C32C.o", "build/src/ov_SC04_008/ov_SC04_008_jr_8015C32C.o", "build/src/ov_SC04_009/ov_SC04_009_jr_8015C32C.o", "build/src/ov_SC04_010/ov_SC04_010_jr_8015C32C.o", "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o", "build/src/ov_SC04_012/ov_SC04_012_jr_8015C32C.o", "build/src/ov_SC04_015/ov_SC04_015_jr_8015C32C.o", "build/src/ov_SC04_016/ov_SC04_016_jr_8015C32C.o", "build/src/ov_SC04_018/ov_SC04_018_jr_8015C32C.o", "build/src/ov_SC04_019/ov_SC04_019_jr_8015C32C.o", "build/src/ov_SC04_020/ov_SC04_020_jr_8015C32C.o", "build/src/ov_SC04_021/ov_SC04_021_jr_8015C32C.o", "build/src/ov_SC05_000/ov_SC05_000_jr_8015C32C.o", "build/src/ov_SC05_001/ov_SC05_001_jr_8015C32C.o", "build/src/ov_SC05_002/ov_SC05_002_jr_8015C32C.o", "build/src/ov_SC05_003/ov_SC05_003_jr_8015C32C.o", "build/src/ov_SC05_004/ov_SC05_004_jr_8015C32C.o", "build/src/ov_SC05_005/ov_SC05_005_jr_8015C32C.o", "build/src/ov_SC05_006/ov_SC05_006_jr_8015C32C.o", "build/src/ov_SC05_007/ov_SC05_007_jr_8015C32C.o", "build/src/ov_SC05_008/ov_SC05_008_jr_8015C32C.o", "build/src/ov_SC05_009/ov_SC05_009_jr_8015C32C.o", "build/src/ov_SC05_010/ov_SC05_010_jr_8015C32C.o", "build/src/ov_SC05_011/ov_SC05_011_jr_8015C32C.o", "build/src/ov_SC05_017/ov_SC05_017_jr_8015C32C.o", "build/src/ov_SC05_018/ov_SC05_018_jr_8015C32C.o", "build/src/ov_SC05_019/ov_SC05_019_jr_8015C32C.o", "build/src/ov_SC06_000/ov_SC06_000_jr_8015C32C.o", "build/src/ov_SC06_006/ov_SC06_006_jr_8015C32C.o", "build/src/ov_SC06_008/ov_SC06_008_jr_8015C32C.o", "build/src/ov_SC06_010/ov_SC06_010_jr_8015C32C.o", "build/src/ov_SC06_011/ov_SC06_011_jr_8015C32C.o", "build/src/ov_SC06_013/ov_SC06_013_jr_8015C32C.o", "build/src/ov_SC06_014/ov_SC06_014_jr_8015C32C.o", "build/src/ov_SC06_015/ov_SC06_015_jr_8015C32C.o", "build/src/ov_SC06_016/ov_SC06_016_jr_8015C32C.o", "build/src/ov_SC06_018/ov_SC06_018_jr_8015C32C.o", "build/src/ov_SC06_020/ov_SC06_020_jr_8015C32C.o", "build/src/ov_SC06_022/ov_SC06_022_jr_8015C32C.o", "build/src/ov_SC06_024/ov_SC06_024_jr_8015C32C.o", "build/src/ov_SC06_025/ov_SC06_025_jr_8015C32C.o", "build/src/ov_SC06_027/ov_SC06_027_jr_8015C32C.o", "build/src/ov_SC06_029/ov_SC06_029_jr_8015C32C.o", "build/src/ov_SC06_030/ov_SC06_030_jr_8015C32C.o", "build/src/ov_SC06_032/ov_SC06_032_jr_8015C32C.o", "build/src/ov_SC06_033/ov_SC06_033_jr_8015C32C.o", "build/src/ov_SC07_000/ov_SC07_000_jr_8015C32C.o", "build/src/ov_SC07_001/ov_SC07_001_jr_8015C32C.o", "build/src/ov_SC07_002/ov_SC07_002_jr_8015C32C.o", "build/src/ov_SC07_006/ov_SC07_006_jr_8015C32C.o", "build/src/ov_SC07_007/ov_SC07_007_jr_8015C32C.o", "build/src/ov_SC07_008/ov_SC07_008_jr_8015C32C.o", "build/src/ov_SC07_009/ov_SC07_009_jr_8015C32C.o", "build/src/ov_SC07_010/ov_SC07_010_jr_8015C32C.o", "build/src/ov_SC07_011/ov_SC07_011_jr_8015C32C.o"], "before_text": "void func_80169584(s32 param_1) {\n u8 buf[0x60]; /* spans $sp+0x10 .. (named local_<0x78-off>) */\n s32 v1;\n s32 v0;\n s32 s0; /* param_1 + 0x38, held across both calls */\n *(s16 *)(buf + 0x00) = 7; /* 0x10 = local_68 */\n *(s16 *)(buf + 0x18) = -7; /* 0x28 = local_50 */\n *(s16 *)(buf + 0x0a) = 2; /* 0x1A = local_5e */\n *(s16 *)(buf + 0x10) = 0; /* 0x20 = local_58 */\n *(s16 *)(buf + 0x08) = 0; /* 0x18 = local_60 */\n *(s16 *)(buf + 0x1a) = 0; /* 0x2A = local_4e */\n *(s16 *)(buf + 0x02) = 0; /* 0x12 = local_66 */\n *(s16 *)(buf + 0x12) = -2; /* 0x22 = local_56 */\n *(s16 *)(buf + 0x1c) = 0; /* 0x2C = local_4c */\n *(s16 *)(buf + 0x14) = 0; /* 0x24 = local_54 */\n *(s16 *)(buf + 0x0c) = 0; /* 0x1C = local_5c */\n *(s16 *)(buf + 0x04) = 0; /* 0x14 = local_64 */\n *(u8 *)(buf + 0x22) = 0; /* 0x32 = local_46 */\n *(u8 *)(buf + 0x20) = 0; /* 0x30 = local_48 */\n *(u8 *)(buf + 0x2e) = 0; /* 0x3E = local_3a */\n *(u8 *)(buf + 0x2c) = 0; /* 0x3C = local_3c */\n *(u8 *)(buf + 0x2d) = 0; /* 0x3D = local_3b */\n *(u8 *)(buf + 0x21) = 0; /* 0x31 = local_47 */\n if (*(s32 *)(param_1 + 0x2c) == 0) {\n v1 = -0x40 - (*(s32 *)(param_1 + 0x1c) << 4);\n v0 = ((u32)(v1 & 0xff)) >> 2;\n *(s8 *)(buf + 0x29) = v1; /* 0x39 = local_3f */\n *(s8 *)(buf + 0x25) = v1; /* 0x35 = local_43 */\n *(s8 *)(buf + 0x2a) = v0; /* 0x3A = local_3e */\n *(s8 *)(buf + 0x26) = v0; /* 0x36 = local_42 */\n } else {\n v1 = -0x40 - (*(s32 *)(param_1 + 0x1c) << 4);\n v0 = ((u32)(v1 & 0xff)) >> 2;\n *(s8 *)(buf + 0x29) = v1; /* 0x39 */\n *(s8 *)(buf + 0x25) = v1; /* 0x35 */\n *(s8 *)(buf + 0x2a) = v1; /* 0x3A */\n *(s8 *)(buf + 0x26) = v1; /* 0x36 */\n }\n do { *(s8 *)(buf + 0x28) = v0; /* 0x38 = local_40 */ } while (0); // !FAKE: do-while \u2014 a LOOP-note scheduling barrier (sched.c:2058-2074; P36 R7)\n *(s8 *)(buf + 0x24) = v0; /* 0x34 = local_44 */\n *(s32 *)(buf + 0x30) = 0x50000000; /* 0x40 = local_38 */\n s0 = param_1 + 0x38;\n *(s32 *)(param_1 + 0x4c) = (s32)*(s16 *)(param_1 + 0x06);\n *(s32 *)(param_1 + 0x50) = (s32)*(s16 *)(param_1 + 0x0a);\n *(s32 *)(param_1 + 0x54) = (s32)*(s16 *)(param_1 + 0x0e);\n func_80017758(buf + 0x00, (void *)s0);\n *(s16 *)(buf + 0x02) = 7; /* 0x12 = local_66 */\n *(s16 *)(buf + 0x1a) = -7; /* 0x2A = local_4e */\n *(s16 *)(buf + 0x08) = 2; /* 0x18 = local_60 */\n *(s16 *)(buf + 0x12) = 0; /* 0x22 = local_56 */\n *(s16 *)(buf + 0x0a) = 0; /* 0x1A = local_5e */\n *(s16 *)(buf + 0x18) = 0; /* 0x28 = local_50 */\n *(s16 *)(buf + 0x00) = 0; /* 0x10 = local_68 */\n *(s16 *)(buf + 0x10) = -2; /* 0x20 = local_58 */\n func_80017758(buf + 0x00, (void *)s0);\n}\n", "after_text": "void func_80169584(s32 param_1) {\n u8 buf[0x60]; /* spans $sp+0x10 .. (named local_<0x78-off>) */\n s32 v1;\n s32 v0;\n s32 s0; /* param_1 + 0x38, held across both calls */\n *(s16 *)(buf + 0x00) = 7; /* 0x10 = local_68 */\n *(s16 *)(buf + 0x18) = -7; /* 0x28 = local_50 */\n *(s16 *)(buf + 0x10) = 0; /* 0x20 = local_58 */\n *(s16 *)(buf + 0x08) = 0; /* 0x18 = local_60 */\n *(s16 *)(buf + 0x0a) = 2; /* 0x1A = local_5e */\n *(s16 *)(buf + 0x1a) = 0; /* 0x2A = local_4e */\n *(s16 *)(buf + 0x02) = 0; /* 0x12 = local_66 */\n *(s16 *)(buf + 0x12) = -2; /* 0x22 = local_56 */\n *(s16 *)(buf + 0x1c) = 0; /* 0x2C = local_4c */\n *(s16 *)(buf + 0x14) = 0; /* 0x24 = local_54 */\n *(s16 *)(buf + 0x0c) = 0; /* 0x1C = local_5c */\n *(s16 *)(buf + 0x04) = 0; /* 0x14 = local_64 */\n *(u8 *)(buf + 0x22) = 0; /* 0x32 = local_46 */\n *(u8 *)(buf + 0x20) = 0; /* 0x30 = local_48 */\n *(u8 *)(buf + 0x2e) = 0; /* 0x3E = local_3a */\n *(u8 *)(buf + 0x2c) = 0; /* 0x3C = local_3c */\n *(u8 *)(buf + 0x2d) = 0; /* 0x3D = local_3b */\n *(u8 *)(buf + 0x21) = 0; /* 0x31 = local_47 */\n if (*(s32 *)(param_1 + 0x2c) == 0) {\n v1 = -0x40 - (*(s32 *)(param_1 + 0x1c) << 4);\n v0 = ((u32)(v1 & 0xff)) >> 2;\n *(s8 *)(buf + 0x29) = v1; /* 0x39 = local_3f */\n *(s8 *)(buf + 0x25) = v1; /* 0x35 = local_43 */\n *(s8 *)(buf + 0x2a) = v0; /* 0x3A = local_3e */\n *(s8 *)(buf + 0x26) = v0; /* 0x36 = local_42 */\n } else {\n v1 = -0x40 - (*(s32 *)(param_1 + 0x1c) << 4);\n v0 = ((u32)(v1 & 0xff)) >> 2;\n *(s8 *)(buf + 0x29) = v1; /* 0x39 */\n *(s8 *)(buf + 0x25) = v1; /* 0x35 */\n *(s8 *)(buf + 0x2a) = v1; /* 0x3A */\n *(s8 *)(buf + 0x26) = v1; /* 0x36 */\n }\n do { *(s8 *)(buf + 0x28) = v0; /* 0x38 = local_40 */ } while (0); // !FAKE: do-while \u2014 a LOOP-note scheduling barrier (sched.c:2058-2074; P36 R7)\n *(s8 *)(buf + 0x24) = v0; /* 0x34 = local_44 */\n *(s32 *)(buf + 0x30) = 0x50000000; /* 0x40 = local_38 */\n s0 = param_1 + 0x38;\n *(s32 *)(param_1 + 0x4c) = (s32)*(s16 *)(param_1 + 0x06);\n *(s32 *)(param_1 + 0x50) = (s32)*(s16 *)(param_1 + 0x0a);\n *(s32 *)(param_1 + 0x54) = (s32)*(s16 *)(param_1 + 0x0e);\n func_80017758(buf + 0x00, (void *)s0);\n *(s16 *)(buf + 0x02) = 7; /* 0x12 = local_66 */\n *(s16 *)(buf + 0x1a) = -7; /* 0x2A = local_4e */\n *(s16 *)(buf + 0x08) = 2; /* 0x18 = local_60 */\n *(s16 *)(buf + 0x12) = 0; /* 0x22 = local_56 */\n *(s16 *)(buf + 0x0a) = 0; /* 0x1A = local_5e */\n *(s16 *)(buf + 0x18) = 0; /* 0x28 = local_50 */\n *(s16 *)(buf + 0x00) = 0; /* 0x10 = local_68 */\n *(s16 *)(buf + 0x10) = -2; /* 0x20 = local_58 */\n func_80017758(buf + 0x00, (void *)s0);\n}\n"} {"ts": "2026-09-11 04:10:12", "label": "s104_r42", "rung": "E", "calib": {"head": "652e7fc3b", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.c", "fn": "func_801846D0", "addr": 2149074640, "aliases": null, "header": false, "includers": 0, "nhash_before": "760092163c48b6aef6bfee31afc51ec9d0d2b78b", "nhash_after": "28a33a963b8fc028c1aab87a2a4d8241604c44b7", "source": "delever_regen R42 move-far @34 below @36", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.539, "objects": ["build/src/ov_SC03_006/ov_SC03_006_jr_8017AE2C.o"], "before_text": "void func_801846D0(void *a0) {\n s32 s0 = (s32)a0;\n s32 p20a;\n\n *(s16 *)(s0 + 0x76) = 0;\n\n if (*(s32 *)(s0 + 0xE4) == 0) {\n p20a = *(s32 *)(s0 + 0x20);\n *(u8 *)(s0 + 0xC1) = 0;\n *(s16 *)(s0 + 0x2) = 1;\n *(s32 *)(p20a + 0x4) |= 0x80000000;\n\n {\n s32 p20b = *(s32 *)(s0 + 0x20);\n *(s16 *)(s0 + 0x5E) = 0;\n *(s16 *)(s0 + 0x5C) = 0;\n *(s16 *)(p20b + 0x14) = 0;\n *(s16 *)(p20b + 0x12) = 0;\n *(s16 *)(p20b + 0x10) = 0;\n }\n\n {\n s32 p20c = *(s32 *)(s0 + 0x20);\n *(u16 *)(p20c + 0x1C) = 0x1000;\n *(u16 *)(p20c + 0x1A) = 0x1000;\n *(u16 *)(p20c + 0x18) = 0x1000;\n }\n\n {\n register u16 t88 __asm__(\"$2\") = *(u16 *)(s0 + 0x88); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus7)\n register u16 t8A __asm__(\"$3\") = *(u16 *)(s0 + 0x8A); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B tus7)\n *(s16 *)(s0 + 0xDE) = 0;\n *(s16 *)(s0 + 0xAA) = 0;\n *(u16 *)(s0 + 0xE) = *(u16 *)(s0 + 0x8C);\n *(u16 *)(s0 + 0x6) = t88;\n *(u16 *)(s0 + 0xA) = t8A;\n func_8012A828(s0, (void *)&D_801C553C);\n }\n func_8012B2CC(s0);\n func_8002A04C(s0);\n\n if (*(s32 *)(s0 + 0xCC) != 0) {\n func_801439C0(*(s32 *)(s0 + 0xCC));\n }\n } else {\n s32 p68;\n\n if ((*(s16 *)(s0 + 0x70) & 0x8000) == 0) {\n p68 = *(s32 *)(s0 + 0x68);\n if (p68 != 0) {\n if (*(s16 *)(s0 + 0x72) & 0x8000) {\n *(u16 *)(p68 + 0xA) = *(u16 *)(p68 + 0xA) & 0x7FFF;\n }\n }\n }\n func_8012C218((void *)s0);\n }\n}\n", "after_text": "void func_801846D0(void *a0) {\n s32 s0 = (s32)a0;\n s32 p20a;\n\n *(s16 *)(s0 + 0x76) = 0;\n\n if (*(s32 *)(s0 + 0xE4) == 0) {\n p20a = *(s32 *)(s0 + 0x20);\n *(u8 *)(s0 + 0xC1) = 0;\n *(s16 *)(s0 + 0x2) = 1;\n *(s32 *)(p20a + 0x4) |= 0x80000000;\n\n {\n s32 p20b = *(s32 *)(s0 + 0x20);\n *(s16 *)(s0 + 0x5E) = 0;\n *(s16 *)(s0 + 0x5C) = 0;\n *(s16 *)(p20b + 0x14) = 0;\n *(s16 *)(p20b + 0x12) = 0;\n *(s16 *)(p20b + 0x10) = 0;\n }\n\n {\n s32 p20c = *(s32 *)(s0 + 0x20);\n *(u16 *)(p20c + 0x1C) = 0x1000;\n *(u16 *)(p20c + 0x1A) = 0x1000;\n *(u16 *)(p20c + 0x18) = 0x1000;\n }\n\n {\n u16 t88 = *(u16 *)(s0 + 0x88);\n u16 t8A = *(u16 *)(s0 + 0x8A);\n *(s16 *)(s0 + 0xDE) = 0;\n *(s16 *)(s0 + 0xAA) = 0;\n *(u16 *)(s0 + 0x6) = t88;\n *(u16 *)(s0 + 0xA) = t8A;\n *(u16 *)(s0 + 0xE) = *(u16 *)(s0 + 0x8C);\n func_8012A828(s0, (void *)&D_801C553C);\n }\n func_8012B2CC(s0);\n func_8002A04C(s0);\n\n if (*(s32 *)(s0 + 0xCC) != 0) {\n func_801439C0(*(s32 *)(s0 + 0xCC));\n }\n } else {\n s32 p68;\n\n if ((*(s16 *)(s0 + 0x70) & 0x8000) == 0) {\n p68 = *(s32 *)(s0 + 0x68);\n if (p68 != 0) {\n if (*(s16 *)(s0 + 0x72) & 0x8000) {\n *(u16 *)(p68 + 0xA) = *(u16 *)(p68 + 0xA) & 0x7FFF;\n }\n }\n }\n func_8012C218((void *)s0);\n }\n}\n"} {"ts": "2026-09-11 04:41:39", "label": "s104_e33", "rung": "E", "calib": {"head": "47166c6d3", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c", "fn": "func_8017E830", "addr": 2149050416, "aliases": null, "header": false, "includers": 0, "nhash_before": "5b4fd150ecfe52e06efad1f39a43de85304f7575", "nhash_after": "6bc528fc69fdbdd30b940d4e86929e083f255274", "source": ".run/P36/agents/ov_SC04_015__func_8017E830/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.185, "objects": ["build/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.o"], "before_text": "void func_8017E830(s32 a0)\n{\n /* frame: vars = 0x50 - ROUND8(args 0x10) - ROUND8(4*6 regs) = 0x28 (cookbook 164-53/162i1) */\n s32 pad[10];\n s32 fval;\n s32 n1;\n s32 s4;\n s32 s1, s2;\n u8 *p;\n s32 u_lo, u_hi;\n s32 X, Y;\n s32 x_lo, y_lo, x_hi, y_hi;\n\n if (*(s16 *)(a0 + 0) == 2) {\n fval = *(s16 *)(a0 + 0x18);\n D_801C8C60 = 1;\n\n n1 = fval + 1;\n s4 = ((n1 & 7) << 2) + 0x140;\n s1 = (n1 / 8) * 24;\n\n p = (u8 *)func_80010A08(0x28);\n s2 = s1 + 0x160;\n *(u16 *)(p + 0xE) = GetClut(0x160, 0x1BA);\n *(u16 *)(p + 0x16) = GetTPage(0, 0, s4 & 0x3C0, s2 & -0x100);\n\n p[3] = 9;\n *(u32 *)(p + 4) = 0x808080;\n p[7] = 0x2C;\n __asm__(\"\"); // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus7)\n\n u_hi = (s4 & 0x3F) << 2;\n u_lo = u_hi;\n u_hi += 0x10;\n s1 = s1 + 0x178;\n p[0xC] = u_lo;\n p[0xD] = s2;\n p[0x14] = u_hi;\n p[0x15] = s2;\n p[0x1C] = u_lo;\n p[0x1D] = s1;\n p[0x24] = u_hi;\n p[0x25] = s1;\n\n X = *(s16 *)(a0 + 0x10);\n Y = *(s16 *)(a0 + 0x14);\n x_lo = X - 8;\n y_lo = Y - 9;\n x_hi = X + 8;\n y_hi = Y + 0xF;\n *(s16 *)(p + 0x8) = x_lo;\n *(s16 *)(p + 0xA) = y_lo;\n *(s16 *)(p + 0x10) = x_hi;\n *(s16 *)(p + 0x12) = y_lo;\n *(s16 *)(p + 0x18) = x_lo;\n *(s16 *)(p + 0x1A) = y_hi;\n *(s16 *)(p + 0x20) = x_hi;\n *(s16 *)(p + 0x22) = y_hi;\n\n AddPrim(*(s32 *)((u8 *)&D_800A651C + ((u16)D_800B9A02 * 0x14)) + 4, p);\n }\n}\n", "after_text": "void func_8017E830(s32 a0)\n{\n /* frame: vars = 0x50 - ROUND8(args 0x10) - ROUND8(4*6 regs) = 0x28 (cookbook 164-53/162i1) */\n s32 pad[10];\n s32 fval;\n s32 n1;\n s32 s4;\n s32 s1, s2;\n u8 *p;\n s32 u;\n u8 u_lo;\n s32 u_hi;\n s32 X, Y;\n s32 x_lo, y_lo, x_hi, y_hi;\n\n if (*(s16 *)(a0 + 0) == 2) {\n fval = *(s16 *)(a0 + 0x18);\n D_801C8C60 = 1;\n\n n1 = fval + 1;\n s4 = ((n1 & 7) << 2) + 0x140;\n s1 = (n1 / 8) * 24;\n\n p = (u8 *)func_80010A08(0x28);\n s2 = s1 + 0x160;\n *(u16 *)(p + 0xE) = GetClut(0x160, 0x1BA);\n *(u16 *)(p + 0x16) = GetTPage(0, 0, s4 & 0x3C0, s2 & -0x100);\n\n p[3] = 9;\n *(u32 *)(p + 4) = 0x808080;\n p[7] = 0x2C;\n\n u = (s4 & 0x3F) << 2;\n u_lo = u;\n u_hi = u + 0x10;\n s1 = s1 + 0x178;\n p[0xC] = u_lo;\n p[0xD] = s2;\n p[0x14] = u_hi;\n p[0x15] = s2;\n p[0x1C] = u_lo;\n p[0x1D] = s1;\n p[0x24] = u_hi;\n p[0x25] = s1;\n\n X = *(s16 *)(a0 + 0x10);\n Y = *(s16 *)(a0 + 0x14);\n x_lo = X - 8;\n y_lo = Y - 9;\n x_hi = X + 8;\n y_hi = Y + 0xF;\n *(s16 *)(p + 0x8) = x_lo;\n *(s16 *)(p + 0xA) = y_lo;\n *(s16 *)(p + 0x10) = x_hi;\n *(s16 *)(p + 0x12) = y_lo;\n *(s16 *)(p + 0x18) = x_lo;\n *(s16 *)(p + 0x1A) = y_hi;\n *(s16 *)(p + 0x20) = x_hi;\n *(s16 *)(p + 0x22) = y_hi;\n\n AddPrim(*(s32 *)((u8 *)&D_800A651C + ((u16)D_800B9A02 * 0x14)) + 4, p);\n }\n}\n"} +{"ts": "2026-09-11 04:42:00", "label": "s104_e33", "rung": "E", "calib": {"head": "cf872da51", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c", "fn": "func_8017EE80", "addr": 2149052032, "aliases": null, "header": false, "includers": 0, "nhash_before": "8843c1efad04ed57adab37eceebc3d8dd20040ae", "nhash_after": "c868b2a3c361339d539109ee62eca22bc37042b4", "source": ".run/P36/agents/ov_SC04_015__func_8017EE80/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.21, "objects": ["build/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.o"], "before_text": "void func_8017EE80(s32 a0)\n{\n s32 s4;\n s32 s3;\n register s32 s2 __asm__(\"$18\"); // !FAKE: pin $18 \u2014 NEEDED DIFFERS (P36 rung B tus7)\n s32 s1;\n s32 s0;\n s32 v0;\n s32 v1;\n u16 buf[10];\n\n s4 = a0;\n s3 = (s32)D_80188838[*(s16 *)(s4 + 0x70)];\n if (s3 == 0) {\n return;\n }\n s2 = s3 + 6;\n for (;;) {\n s1 = ((s32 (*)(void))func_8012C194)();\n if (s1 != 0) {\n v1 = 0;\n s0 = (s32)&D_801C8C64;\n while (v1 < 0x20) {\n if (*(s16 *)s0 == 0) {\n break;\n }\n v1 += 1;\n s0 += 0x1C;\n }\n v0 = 0x20;\n if (v1 == v0) {\n goto next;\n }\n *(s32 *)(s0 + 0xC) = s1;\n func_8001CC3C(s1, 0, 0, 0);\n *(s32 *)(s1 + 0x20) = (s32)D_801886BC;\n *(u8 *)(s1 + 0x27) = 0x4C;\n *(u16 *)(s1 + 0x2C) = 0xC020;\n *(u16 *)(s1 + 0x1A) = 0x2000;\n *(u16 *)(s1 + 0x18) = 0x2000;\n *(u32 *)(s1 + 4) |= 0x50000000;\n func_80128EA8(s1, s0 + 0x14, (s32)D_801886C8);\n v0 = 1;\n *(u16 *)(s0 + 0x0) = v0;\n v0 = *(u16 *)s3;\n *(u16 *)(s0 + 0x4) = v0;\n v0 = *(u16 *)(s2 - 4);\n *(u16 *)(s0 + 0x6) = v0;\n v0 = *(u16 *)(s2 - 2);\n *(s32 *)(s0 + 0x10) = s4;\n *(u16 *)(s0 + 0x8) = v0;\n v0 = *(u16 *)s3;\n buf[0] = v0;\n v0 = *(u16 *)(s2 - 4);\n buf[1] = v0;\n v1 = *(u16 *)(s2 - 2);\n buf[2] = v1;\n v0 = 0x3DB;\n buf[3] = v0;\n buf[5] = 0;\n buf[4] = 0;\n *(u32 *)&buf[8] = 0;\n buf[7] = 0;\n v0 = 0x7FFF;\n buf[6] = v0;\n func_8012C51C(buf, s4);\n }\nnext:\n v1 = *(s16 *)s2;\n if (v1 == -1) {\n break;\n }\n s2 += 8;\n s3 += 8;\n }\n}\n", "after_text": "void func_8017EE80(s32 a0)\n{\n u8 *e;\n s32 obj;\n s32 slot;\n s32 i;\n u16 buf[10];\n\n e = (u8 *)D_80188838[*(s16 *)(a0 + 0x70)];\n if (e == 0) {\n return;\n }\n for (;;) {\n obj = ((s32 (*)(void))func_8012C194)();\n if (obj != 0) {\n i = 0;\n slot = (s32)&D_801C8C64;\n while (i < 0x20) {\n if (*(s16 *)slot == 0) {\n break;\n }\n i += 1;\n slot += 0x1C;\n }\n if (i != 0x20) {\n *(s32 *)(slot + 0xC) = obj;\n func_8001CC3C(obj, 0, 0, 0);\n *(s32 *)(obj + 0x20) = (s32)D_801886BC;\n *(u8 *)(obj + 0x27) = 0x4C;\n *(u16 *)(obj + 0x2C) = 0xC020;\n *(u16 *)(obj + 0x1A) = 0x2000;\n *(u16 *)(obj + 0x18) = 0x2000;\n *(u32 *)(obj + 4) |= 0x50000000;\n func_80128EA8(obj, slot + 0x14, (s32)D_801886C8);\n *(u16 *)(slot + 0x0) = 1;\n *(u16 *)(slot + 0x4) = *(u16 *)e;\n *(u16 *)(slot + 0x6) = *(u16 *)(e + 2);\n *(u16 *)(slot + 0x8) = *(u16 *)(e + 4);\n *(s32 *)(slot + 0x10) = a0;\n buf[0] = *(u16 *)e;\n buf[1] = *(u16 *)(e + 2);\n buf[2] = *(u16 *)(e + 4);\n buf[3] = 0x3DB;\n buf[5] = 0;\n buf[4] = 0;\n *(u32 *)&buf[8] = 0;\n buf[7] = 0;\n buf[6] = 0x7FFF;\n func_8012C51C(buf, a0);\n }\n }\n if (*(s16 *)(e + 6) == -1) {\n break;\n }\n e += 8;\n }\n}\n"} diff --git a/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c b/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c index 8cf02c135c..96796e12ac 100644 --- a/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c +++ b/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c @@ -5194,78 +5194,59 @@ extern s32 D_801C8C64; void func_8017EE80(s32 a0) { - s32 s4; - s32 s3; - register s32 s2 __asm__("$18"); // !FAKE: pin $18 — NEEDED DIFFERS (P36 rung B tus7) - s32 s1; - s32 s0; - s32 v0; - s32 v1; + u8 *e; + s32 obj; + s32 slot; + s32 i; u16 buf[10]; - s4 = a0; - s3 = (s32)D_80188838[*(s16 *)(s4 + 0x70)]; - if (s3 == 0) { + e = (u8 *)D_80188838[*(s16 *)(a0 + 0x70)]; + if (e == 0) { return; } - s2 = s3 + 6; for (;;) { - s1 = ((s32 (*)(void))func_8012C194)(); - if (s1 != 0) { - v1 = 0; - s0 = (s32)&D_801C8C64; - while (v1 < 0x20) { - if (*(s16 *)s0 == 0) { + obj = ((s32 (*)(void))func_8012C194)(); + if (obj != 0) { + i = 0; + slot = (s32)&D_801C8C64; + while (i < 0x20) { + if (*(s16 *)slot == 0) { break; } - v1 += 1; - s0 += 0x1C; + i += 1; + slot += 0x1C; } - v0 = 0x20; - if (v1 == v0) { - goto next; + if (i != 0x20) { + *(s32 *)(slot + 0xC) = obj; + func_8001CC3C(obj, 0, 0, 0); + *(s32 *)(obj + 0x20) = (s32)D_801886BC; + *(u8 *)(obj + 0x27) = 0x4C; + *(u16 *)(obj + 0x2C) = 0xC020; + *(u16 *)(obj + 0x1A) = 0x2000; + *(u16 *)(obj + 0x18) = 0x2000; + *(u32 *)(obj + 4) |= 0x50000000; + func_80128EA8(obj, slot + 0x14, (s32)D_801886C8); + *(u16 *)(slot + 0x0) = 1; + *(u16 *)(slot + 0x4) = *(u16 *)e; + *(u16 *)(slot + 0x6) = *(u16 *)(e + 2); + *(u16 *)(slot + 0x8) = *(u16 *)(e + 4); + *(s32 *)(slot + 0x10) = a0; + buf[0] = *(u16 *)e; + buf[1] = *(u16 *)(e + 2); + buf[2] = *(u16 *)(e + 4); + buf[3] = 0x3DB; + buf[5] = 0; + buf[4] = 0; + *(u32 *)&buf[8] = 0; + buf[7] = 0; + buf[6] = 0x7FFF; + func_8012C51C(buf, a0); } - *(s32 *)(s0 + 0xC) = s1; - func_8001CC3C(s1, 0, 0, 0); - *(s32 *)(s1 + 0x20) = (s32)D_801886BC; - *(u8 *)(s1 + 0x27) = 0x4C; - *(u16 *)(s1 + 0x2C) = 0xC020; - *(u16 *)(s1 + 0x1A) = 0x2000; - *(u16 *)(s1 + 0x18) = 0x2000; - *(u32 *)(s1 + 4) |= 0x50000000; - func_80128EA8(s1, s0 + 0x14, (s32)D_801886C8); - v0 = 1; - *(u16 *)(s0 + 0x0) = v0; - v0 = *(u16 *)s3; - *(u16 *)(s0 + 0x4) = v0; - v0 = *(u16 *)(s2 - 4); - *(u16 *)(s0 + 0x6) = v0; - v0 = *(u16 *)(s2 - 2); - *(s32 *)(s0 + 0x10) = s4; - *(u16 *)(s0 + 0x8) = v0; - v0 = *(u16 *)s3; - buf[0] = v0; - v0 = *(u16 *)(s2 - 4); - buf[1] = v0; - v1 = *(u16 *)(s2 - 2); - buf[2] = v1; - v0 = 0x3DB; - buf[3] = v0; - buf[5] = 0; - buf[4] = 0; - *(u32 *)&buf[8] = 0; - buf[7] = 0; - v0 = 0x7FFF; - buf[6] = v0; - func_8012C51C(buf, s4); } -next: - v1 = *(s16 *)s2; - if (v1 == -1) { + if (*(s16 *)(e + 6) == -1) { break; } - s2 += 8; - s3 += 8; + e += 8; } }