From 04253d7d9ecca735666e2b208ff3f9a19cdab7e6 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 11 Sep 2026 04:07:22 -0600 Subject: [PATCH] =?UTF-8?q?phase-36:=20S104=20s104=5Fe27=20=E2=80=94=20fun?= =?UTF-8?q?c=5F800377D8=20banked=20at=200=20through=20the=20whole-object?= =?UTF-8?q?=20gate=20+=20propagated=20=E2=80=94=20pin=20+=203=20barriers?= =?UTF-8?q?=20=E2=86=92=200:=20nxt=20set=20twice=20(birthing=5Finsn=5Fp=20?= =?UTF-8?q?sched.c:2469-2490)=20+=20the=20zero=20stores=20in=20each=20arm?= =?UTF-8?q?=20(jump.c:1985)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .run/P36/delever/calibration.json | 356 +++++++++++++++--------------- .run/P36/delever/ledger.jsonl | 1 + src/800_c.c | 30 ++- 3 files changed, 192 insertions(+), 195 deletions(-) diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index 3a6321ce2..6ce0dcd0a 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,7 +1,7 @@ { - "head": "e21fe37b6", + "head": "19cab8910", "stamp": "15956e4a96c4", - "generated": "2026-09-11 04:06", + "generated": "2026-09-11 04:07", "aliases": [ "main", "ov_SC03_014", @@ -21,206 +21,206 @@ "main": { "objects": 85, "identical": 85, - "seconds": 6.589999999999998, - "mean_s": 0.078 + "seconds": 6.581000000000001, + "mean_s": 0.077 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 4.509, + "seconds": 4.525, "mean_s": 0.141 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 4.285999999999999, - "mean_s": 0.134 + "seconds": 4.385999999999999, + "mean_s": 0.137 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 3.78, - "mean_s": 0.135 + "seconds": 3.725, + "mean_s": 0.133 } }, "per_object_seconds": { - "build/src/800.o": 0.716, - "build/src/800_b.o": 0.085, - "build/src/800_b_2.o": 0.266, - "build/src/800_b_o0a.o": 0.067, - "build/src/800_c.o": 0.186, - "build/src/800b2.o": 0.108, - "build/src/apicard1.o": 0.058, - "build/src/apicard2.o": 0.064, - "build/src/apicard3.o": 0.068, - "build/src/apicard4.o": 0.065, - "build/src/apicard5.o": 0.072, - "build/src/apicard6.o": 0.091, - "build/src/apicard7.o": 0.078, - "build/src/boot.o": 0.078, - "build/src/gap.o": 0.062, - "build/src/libapi1.o": 0.068, - "build/src/libapi2.o": 0.057, - "build/src/libc2_1.o": 0.08, - "build/src/libc2_2.o": 0.059, - "build/src/libcd1.o": 0.067, - "build/src/libcd2.o": 0.065, - "build/src/libetc.o": 0.052, + "build/src/800.o": 0.717, + "build/src/800_b.o": 0.073, + "build/src/800_b_2.o": 0.269, + "build/src/800_b_o0a.o": 0.063, + "build/src/800_c.o": 0.178, + "build/src/800b2.o": 0.088, + "build/src/apicard1.o": 0.061, + "build/src/apicard2.o": 0.069, + "build/src/apicard3.o": 0.084, + "build/src/apicard4.o": 0.07, + "build/src/apicard5.o": 0.062, + "build/src/apicard6.o": 0.068, + "build/src/apicard7.o": 0.066, + "build/src/boot.o": 0.093, + "build/src/gap.o": 0.065, + "build/src/libapi1.o": 0.078, + "build/src/libapi2.o": 0.059, + "build/src/libc2_1.o": 0.058, + "build/src/libc2_2.o": 0.06, + "build/src/libcd1.o": 0.073, + "build/src/libcd2.o": 0.063, + "build/src/libetc.o": 0.061, "build/src/libgpu.o": 0.063, - "build/src/libgpu2.o": 0.064, - "build/src/libgs1.o": 0.058, - "build/src/libgs2.o": 0.065, - "build/src/libgs3.o": 0.058, - "build/src/libgs4.o": 0.075, - "build/src/libgs5.o": 0.056, - "build/src/libgs6.o": 0.075, + "build/src/libgpu2.o": 0.072, + "build/src/libgs1.o": 0.061, + "build/src/libgs2.o": 0.062, + "build/src/libgs3.o": 0.063, + "build/src/libgs4.o": 0.059, + "build/src/libgs5.o": 0.063, + "build/src/libgs6.o": 0.082, "build/src/libgs7.o": 0.064, - "build/src/libgs8.o": 0.064, - "build/src/libgte1.o": 0.066, - "build/src/libgte10.o": 0.066, - "build/src/libgte11.o": 0.065, - "build/src/libgte12.o": 0.057, - "build/src/libgte13.o": 0.063, - "build/src/libgte14.o": 0.074, - "build/src/libgte15.o": 0.065, - "build/src/libgte16.o": 0.06, - "build/src/libgte17.o": 0.058, - "build/src/libgte18.o": 0.062, - "build/src/libgte19.o": 0.064, - "build/src/libgte2.o": 0.062, - "build/src/libgte20.o": 0.057, - "build/src/libgte21.o": 0.061, - "build/src/libgte22.o": 0.066, - "build/src/libgte23.o": 0.06, + "build/src/libgs8.o": 0.058, + "build/src/libgte1.o": 0.068, + "build/src/libgte10.o": 0.062, + "build/src/libgte11.o": 0.061, + "build/src/libgte12.o": 0.062, + "build/src/libgte13.o": 0.061, + "build/src/libgte14.o": 0.062, + "build/src/libgte15.o": 0.064, + "build/src/libgte16.o": 0.063, + "build/src/libgte17.o": 0.064, + "build/src/libgte18.o": 0.059, + "build/src/libgte19.o": 0.065, + "build/src/libgte2.o": 0.061, + "build/src/libgte20.o": 0.059, + "build/src/libgte21.o": 0.062, + "build/src/libgte22.o": 0.06, + "build/src/libgte23.o": 0.064, "build/src/libgte24.o": 0.066, - "build/src/libgte25.o": 0.069, - "build/src/libgte26.o": 0.063, - "build/src/libgte27.o": 0.07, - "build/src/libgte28.o": 0.064, - "build/src/libgte29.o": 0.055, - "build/src/libgte3.o": 0.056, - "build/src/libgte30.o": 0.066, - "build/src/libgte4.o": 0.067, - "build/src/libgte5.o": 0.061, - "build/src/libgte6.o": 0.066, - "build/src/libgte7.o": 0.061, - "build/src/libgte8.o": 0.065, - "build/src/libgte9.o": 0.064, - "build/src/libmcrd1.o": 0.071, - "build/src/libmcrd2.o": 0.067, - "build/src/libpad1.o": 0.07, - "build/src/libpad2.o": 0.069, - "build/src/sgap.o": 0.069, - "build/src/sgap_2.o": 0.07, + "build/src/libgte25.o": 0.07, + "build/src/libgte26.o": 0.056, + "build/src/libgte27.o": 0.06, + "build/src/libgte28.o": 0.072, + "build/src/libgte29.o": 0.058, + "build/src/libgte3.o": 0.061, + "build/src/libgte30.o": 0.065, + "build/src/libgte4.o": 0.062, + "build/src/libgte5.o": 0.07, + "build/src/libgte6.o": 0.063, + "build/src/libgte7.o": 0.066, + "build/src/libgte8.o": 0.064, + "build/src/libgte9.o": 0.065, + "build/src/libmcrd1.o": 0.075, + "build/src/libmcrd2.o": 0.065, + "build/src/libpad1.o": 0.062, + "build/src/libpad2.o": 0.071, + "build/src/sgap.o": 0.074, + "build/src/sgap_2.o": 0.068, "build/src/sgap_3.o": 0.064, - "build/src/sgap_4.o": 0.068, - "build/src/sgap_5.o": 0.066, - "build/src/sgap_6.o": 0.058, - "build/src/sgap_8.o": 0.071, - "build/src/snd1.o": 0.071, - "build/src/snd10.o": 0.065, - "build/src/snd11.o": 0.059, - "build/src/snd12.o": 0.064, - "build/src/snd2.o": 0.062, - "build/src/snd3.o": 0.055, - "build/src/snd4.o": 0.06, - "build/src/snd5.o": 0.054, - "build/src/snd6.o": 0.092, - "build/src/snd7.o": 0.085, - "build/src/snd8.o": 0.064, + "build/src/sgap_4.o": 0.07, + "build/src/sgap_5.o": 0.067, + "build/src/sgap_6.o": 0.068, + "build/src/sgap_8.o": 0.069, + "build/src/snd1.o": 0.073, + "build/src/snd10.o": 0.066, + "build/src/snd11.o": 0.062, + "build/src/snd12.o": 0.067, + "build/src/snd2.o": 0.071, + "build/src/snd3.o": 0.061, + "build/src/snd4.o": 0.069, + "build/src/snd5.o": 0.065, + "build/src/snd6.o": 0.068, + "build/src/snd7.o": 0.073, + "build/src/snd8.o": 0.07, "build/src/snd9.o": 0.063, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.122, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.485, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.376, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.059, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.063, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.126, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.155, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.106, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.08, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.083, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.179, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.073, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.175, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.086, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.067, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.071, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.089, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.44, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.26, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.096, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.197, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.062, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.096, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.064, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.164, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.206, - "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.051, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.245, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.061, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.057, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.053, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.062, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.106, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.484, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.371, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.048, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.046, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.111, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.148, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.103, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.07, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.061, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.158, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.071, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.168, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.071, - "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.063, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.127, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.511, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.388, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.062, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.062, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.106, + "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.148, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.118, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.076, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.067, + "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.19, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.077, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.164, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.087, + "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.07, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.066, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.079, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.446, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.264, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.095, + "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.195, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.055, + "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.09, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.065, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.161, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.193, + "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.048, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.268, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.065, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.06, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.059, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.063, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.109, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.507, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.369, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.051, + "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.11, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.14, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.106, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.065, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.057, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.165, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.063, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.173, + "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.077, + "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.066, "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.065, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.083, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.429, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.257, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.088, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.199, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.053, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.102, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.065, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.154, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.173, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.047, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.248, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.061, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.087, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.444, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.261, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.09, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.198, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.056, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.104, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.07, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.163, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.187, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.051, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.264, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.056, "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.06, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.055, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.068, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.118, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.396, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.324, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.045, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.046, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.117, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.142, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.106, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.07, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.054, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.069, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.116, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.411, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.326, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.046, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.045, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.102, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.14, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.107, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.075, "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.058, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.174, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.059, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.163, - "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.084, - "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.093, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.34, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.225, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.101, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.159, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.057, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.086, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.061, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.101, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.436, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.046, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.051 + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.172, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.072, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.157, + "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.062, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.072, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.076, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.339, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.209, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.095, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.153, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.055, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.081, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.054, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.088, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.416, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.058, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.057 }, "ok": true, "seconds": 2.2 diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index 28133f91c..f7360d9c3 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29514,3 +29514,4 @@ {"ts": "2026-09-11 04:06:27", "label": "s104_e27", "rung": "E", "calib": {"head": "2fe2d27f1", "stamp": "15956e4a96c4"}, "tu": "src/md_SC07_004/md_SC07_004.c", "fn": "func_801AC9CC", "addr": 2149239244, "aliases": null, "header": false, "includers": 0, "nhash_before": "d23c241dff31d4f195ace094466ba7d78cf28d21", "nhash_after": "47219f2a0f515992ac59607a19ed82f6bd6416db", "source": ".run/P36/agents/md_SC07_004__func_801AC9CC/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.31, "objects": ["build/src/md_SC07_004/md_SC07_004.o"], "before_text": "void func_801AC9CC(void *arg0) {\n void *temp_a0;\n s16 sp10[8];\n s32 v0;\n s32 v1;\n u16 a3;\n\n temp_a0 = *(void **)((u8 *)arg0 + 0x20);\n if (temp_a0 != NULL) {\n func_80016714(temp_a0, 0x38);\n *(void **)((u8 *)arg0 + 0x20) = NULL;\n }\n sp10[0] = *(u16 *)((u8 *)arg0 + 0x6);\n sp10[1] = *(u16 *)((u8 *)arg0 + 0xA);\n sp10[2] = *(u16 *)((u8 *)arg0 + 0xE);\n v0 = *(s16 *)((u8 *)arg0 + 0x30);\n __asm__ __volatile__(\"\" ::: \"memory\"); // !FAKE: barrier memory \u2014 NEEDED DIFFERS (P36 rung B tus9)\n a3 = *(u16 *)((u8 *)arg0 + 0x30);\n if (v0 == 0) {\n a3 = 6;\n }\n v0 = func_8017D7D4(sp10, NULL, (u8 *)arg0 + 0x34, (s8)a3);\n v1 = *(s16 *)((u8 *)arg0 + 0x32);\n *(s32 *)((u8 *)arg0 + 0x2C) = v0;\n if (v1 == 0) {\n *(s32 *)((u8 *)arg0 + 0x1C) = 0x10;\n } else {\n *(s32 *)((u8 *)arg0 + 0x1C) = v1;\n }\n *(u16 *)((u8 *)arg0 + 0x2) = *(u16 *)((u8 *)arg0 + 0x2) + 1;\n}\n", "after_text": "void func_801AC9CC(void *arg0) {\n void *temp_a0;\n s16 sp10[4];\n s16 a3;\n s32 v1;\n\n temp_a0 = *(void **)((u8 *)arg0 + 0x20);\n if (temp_a0 != NULL) {\n func_80016714(temp_a0, 0x38);\n *(void **)((u8 *)arg0 + 0x20) = NULL;\n }\n sp10[0] = *(u16 *)((u8 *)arg0 + 0x6);\n sp10[1] = *(u16 *)((u8 *)arg0 + 0xA);\n sp10[2] = *(u16 *)((u8 *)arg0 + 0xE);\n a3 = *(s16 *)((u8 *)arg0 + 0x30);\n if (a3 == 0) {\n a3 = 6;\n }\n *(s32 *)((u8 *)arg0 + 0x2C) = func_8017D7D4(sp10, NULL, (u8 *)arg0 + 0x34, (s8)a3);\n v1 = *(s16 *)((u8 *)arg0 + 0x32);\n if (v1 == 0) {\n *(s32 *)((u8 *)arg0 + 0x1C) = 0x10;\n } else {\n *(s32 *)((u8 *)arg0 + 0x1C) = v1;\n }\n *(u16 *)((u8 *)arg0 + 0x2) += 1;\n}\n"} {"ts": "2026-09-11 04:06:45", "label": "s104_e27", "rung": "E", "calib": {"head": "b17b29df6", "stamp": "15956e4a96c4"}, "tu": "src/md_SC07_004/md_SC07_004.c", "fn": "func_801AD068", "addr": 2149240936, "aliases": null, "header": false, "includers": 0, "nhash_before": "1ef3aea477b8fcc70d6f6d1b34e5c885b4fd8d54", "nhash_after": "c7e43d0024851c27addeb7a8b9915e09fbe468dd", "source": ".run/P36/agents/md_SC07_004__func_801AD068/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.309, "objects": ["build/src/md_SC07_004/md_SC07_004.o"], "before_text": "void func_801AD068(void *arg0) {\n if (func_8012BEE8((s32)arg0) != 0) {\n func_80016714(*(void **)((u8 *)arg0 + 0xCC), 0x38);\n func_80016714(*(void **)((u8 *)arg0 + 0xD0), 0x38);\n func_8012C218(arg0);\n } else {\n /* target keeps this guard value in $v1; unpinned it lands in $a0 (5 mismatches) */\n register s32 v1 __asm__(\"$3\") = *(s32 *)((u8 *)arg0 + 0x1C); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 t; /* address-taken => lives in 0x10($sp); every assignment is a real store */\n s32 *p;\n\n if (v1 < 15) {\n s32 v0;\n\n /* arms textually swapped vs. the natural reading so gcc emits the real\n `j .L801AD0D8` + delay slot instead of a delay-slot-fused shortcut */\n if (v1 >= 12) {\n v0 = 0xF - v1;\n v0 = v0 << 5;\n } else {\n v0 = v1 << 3;\n }\n func_80016450(v0 & 0xF8, 1);\n }\n\n *(u16 *)((u8 *)*(void **)((u8 *)arg0 + 0x20) + 0x18) += 0x1C0;\n *(u16 *)((u8 *)*(void **)((u8 *)arg0 + 0x20) + 0x1C) =\n *(u16 *)((u8 *)*(void **)((u8 *)arg0 + 0x20) + 0x18);\n *(u16 *)((u8 *)*(void **)((u8 *)arg0 + 0x20) + 0x1A) += 0x80;\n *(u16 *)((u8 *)*(void **)((u8 *)arg0 + 0x20) + 0x12) += 0x100;\n\n func_801ADE1C(D_801B07F0, (u16 *)D_801F8A98, (s8 *)D_801F8AB8, (u8 *)D_801F8AE8);\n\n /* the two write-backs are ASYMMETRIC IN THE TARGET and the asymmetry is spelled here:\n D_801F8D18 is reached through a NAMED POINTER LOCAL, so its address is materialised\n (lui+addiu $a0) before the read and the read folds onto it (`lw 0($a0)`), sharing one\n base with the swl/swr. D_801F8D58 is named bare, so the read %lo-folds\n (`lw %lo(D_801F8D58)($v0)`) and the store re-materialises its own base ($a1). */\n p = &D_801F8D18;\n t = *p;\n t -= ((Obj_801AD068 *)arg0)->dE0;\n *(Align1W_801AD068 *)p = *(Align1W_801AD068 *)&t;\n func_801AD220(arg0, *(void **)((u8 *)arg0 + 0xCC));\n\n t = D_801F8D58;\n t -= ((Obj_801AD068 *)arg0)->dE4;\n *(Align1W_801AD068 *)&D_801F8D58 = *(Align1W_801AD068 *)&t;\n func_801AD220(arg0, *(void **)((u8 *)arg0 + 0xD0));\n }\n}\n", "after_text": "void func_801AD068(void *arg0) {\n if (func_8012BEE8((s32)arg0) != 0) {\n func_80016714(*(void **)((u8 *)arg0 + 0xCC), 0x38);\n func_80016714(*(void **)((u8 *)arg0 + 0xD0), 0x38);\n func_8012C218(arg0);\n } else {\n s32 v1 = *(s32 *)((u8 *)arg0 + 0x1C);\n s32 t; /* address-taken => lives in 0x10($sp); every assignment is a real store */\n s32 *p;\n\n if (v1 < 15) {\n func_80016450((v1 >= 12 ? (0xF - v1) << 5 : v1 << 3) & 0xF8, 1);\n }\n\n *(u16 *)((u8 *)*(void **)((u8 *)arg0 + 0x20) + 0x18) += 0x1C0;\n *(u16 *)((u8 *)*(void **)((u8 *)arg0 + 0x20) + 0x1C) =\n *(u16 *)((u8 *)*(void **)((u8 *)arg0 + 0x20) + 0x18);\n *(u16 *)((u8 *)*(void **)((u8 *)arg0 + 0x20) + 0x1A) += 0x80;\n *(u16 *)((u8 *)*(void **)((u8 *)arg0 + 0x20) + 0x12) += 0x100;\n\n func_801ADE1C(D_801B07F0, (u16 *)D_801F8A98, (s8 *)D_801F8AB8, (u8 *)D_801F8AE8);\n\n /* the two write-backs are ASYMMETRIC IN THE TARGET and the asymmetry is spelled here:\n D_801F8D18 is reached through a NAMED POINTER LOCAL, so its address is materialised\n (lui+addiu $a0) before the read and the read folds onto it (`lw 0($a0)`), sharing one\n base with the swl/swr. D_801F8D58 is named bare, so the read %lo-folds\n (`lw %lo(D_801F8D58)($v0)`) and the store re-materialises its own base ($a1). */\n p = &D_801F8D18;\n t = *p;\n t -= ((Obj_801AD068 *)arg0)->dE0;\n *(Align1W_801AD068 *)p = *(Align1W_801AD068 *)&t;\n func_801AD220(arg0, *(void **)((u8 *)arg0 + 0xCC));\n\n t = D_801F8D58;\n t -= ((Obj_801AD068 *)arg0)->dE4;\n *(Align1W_801AD068 *)&D_801F8D58 = *(Align1W_801AD068 *)&t;\n func_801AD220(arg0, *(void **)((u8 *)arg0 + 0xD0));\n }\n}\n"} {"ts": "2026-09-11 04:07:02", "label": "s104_e27", "rung": "E", "calib": {"head": "e21fe37b6", "stamp": "15956e4a96c4"}, "tu": "src/md_SC07_004/md_SC07_004.c", "fn": "func_801AE82C", "addr": 2149247020, "aliases": null, "header": false, "includers": 0, "nhash_before": "50882bce1a157804124cca32db6e6c477c2c5941", "nhash_after": "aab41d85b80954e7df688a4aa16a4d8672e2f005", "source": ".run/P36/agents/md_SC07_004__func_801AE82C/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.306, "objects": ["build/src/md_SC07_004/md_SC07_004.o"], "before_text": "void func_801AE82C(s32 a0) {\n register u32 zr __asm__(\"$0\"); // !FAKE: pin $0 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 cnt;\n s32 v1;\n s32 t;\n s32 w;\n s32 frame_pad[1];\n\n (void)&frame_pad;\n\n cnt = *(s32 *)((s32)a0 + 0x1C);\n v1 = *(s32 *)((s32)a0 + 0x34);\n if (cnt != 0) {\n *(s32 *)((s32)a0 + 0x1C) = cnt - 1;\n } else {\n t = *(s16 *)(v1 + 0xC);\n w = t + zr;\n if (t < 0x1000) {\n t = w + 0x400;\n *(s16 *)(v1 + 0xC) = t;\n *(s16 *)(v1 + 0x10) = t;\n } else {\n *(u16 *)((s32)a0 + 2) += 1;\n *(s32 *)((s32)a0 + 0x1C) = 0x48;\n }\n }\n if (*(s32 *)((s32)a0 + 0x1C) & 1) {\n func_801ADA10(a0);\n }\n}\n", "after_text": "void func_801AE82C(s32 a0) {\n s32 p;\n\n p = *(s32 *)(a0 + 0x34);\n if (*(s32 *)(a0 + 0x1C) != 0) {\n *(s32 *)(a0 + 0x1C) -= 1;\n } else if (*(s16 *)(p + 0xC) < 0x1000) {\n *(s16 *)(p + 0xC) += 0x400;\n *(s16 *)(p + 0x10) = *(s16 *)(p + 0xC);\n } else {\n *(u16 *)(a0 + 2) += 1;\n *(s32 *)(a0 + 0x1C) = 0x48;\n }\n if (*(s32 *)(a0 + 0x1C) & 1) {\n func_801ADA10(a0);\n }\n}\n"} +{"ts": "2026-09-11 04:07:21", "label": "s104_e27", "rung": "E", "calib": {"head": "19cab8910", "stamp": "15956e4a96c4"}, "tu": "src/800_c.c", "fn": "func_800377D8", "addr": 2147710936, "aliases": null, "header": false, "includers": 0, "nhash_before": "bdd55769bb0e50f0c4938e6e5282f79a4e9ec355", "nhash_after": "877ffe25157e67c61ff5a8fc7ebb73a8ff4ce8ed", "source": ".run/P36/agents/main__func_800377D8/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.119, "objects": ["build/src/800_c.o"], "before_text": "void func_800377D8(u8 arg0) {\n s32 *pInt;\n u8 *pSt;\n s32 pos;\n s32 idx;\n s32 ptr;\n s32 nxt;\n u16 *pCnt;\n s32 cnt;\n\n if (arg0 != 1) goto err;\n if (func_80043994(D_800762A0, 3) == 0) goto err;\n pos = CdPosToInt((CdlLOC *)D_800762A0);\n pInt = &D_8007623C;\n if (pos != *pInt) goto err;\n *pInt = pos + 1;\n\n switch (gD_80076243) {\n case 1:\n if (func_80043994((void *)gD_80076228, 0x200) == 0) goto err;\n if (sD_80076240 == 0 && *(s32 *)gD_80076228 != 0x7671732E) {\n D_80076298 = 1;\n D_80076250[gD_80076294 * 16] = 2;\n goto err;\n }\n {\n register s32 rnxt __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 rcnt;\n pCnt = &hD_80076240;\n rnxt = gD_80076228 + 0x800;\n rcnt = *pCnt + 1;\n *pCnt = rcnt;\n gD_80076228 = rnxt;\n if ((s16)rcnt != 0xE) {\n return;\n }\n }\n if (D_80076248[gD_80076294].unk00 & 0x1000) {\n D_80076250[gD_80076294 * 16] = 1;\n idx = gD_80076294 + 1;\n gD_80076294 = idx;\n if (idx < 5 && (&D_80076251)[idx * 16] != 0) {\n if (D_80076248[idx].unk00 & 0x2000) {\n gD_80076243 = 1;\n __asm__ __volatile__(\"\"); // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus9)\n } else {\n gD_80076243 = 2;\n }\n D_80076298 = 0;\n hD_80076240 = 0;\n __asm__ __volatile__(\"\"); // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus9)\n gD_80076228 = D_80076244[gD_80076294].unk00;\n gD_80076238 = D_80076244[gD_80076294].unk08;\n return;\n }\n gD_80076243 = 4;\n D_8006AEF4 = D_8006AEF4 & 0xFD;\n return;\n }\n gD_80076243 = 2;\n *pCnt = 0;\n return;\n\n case 2:\n if (func_80043994((void *)gD_80076228, 0x200) == 0) goto err;\n gD_80076228 = gD_80076228 + 0x800;\n hD_80076240 = hD_80076240 + 1;\n if ((s16)hD_80076240 != 7) {\n return;\n }\n gD_80076243 = 3;\n hD_80076240 = 0;\n if (gD_80076242 != 0) {\n if (func_8003C4F0(0) == 0) {\n return;\n }\n gD_80076242 = 0;\n }\n return;\n\n case 3:\n if (func_80043994((void *)gD_80076228, 0x200) == 0) goto err;\n hD_80076240 = hD_80076240 + 1;\n if (gD_80076242 != 0) {\n if (func_8003C4F0(0) == 0) goto err;\n }\n if (((s32 (*)(s32))func_8003C498)(gD_80076238) == 0) goto err;\n ptr = gD_80076228;\n if (sD_80076240 == *(s16 *)(ptr - 4)) {\n SpuWrite(ptr, *(s16 *)(ptr - 2));\n gD_80076242 = 1;\n D_8006AEF4 = D_8006AEF4 | 1;\n D_80076250[gD_80076294 * 16] = 1;\n idx = gD_80076294 + 1;\n gD_80076294 = idx;\n if (idx < 5 && (&D_80076251)[idx * 16] != 0) {\n if (D_80076248[idx].unk00 & 0x2000) {\n gD_80076243 = 1;\n } else {\n gD_80076243 = 2;\n }\n D_80076298 = 0;\n hD_80076240 = 0;\n __asm__ __volatile__(\"\"); // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus9)\n gD_80076228 = D_80076244[gD_80076294].unk00;\n gD_80076238 = D_80076244[gD_80076294].unk08;\n return;\n }\n gD_80076243 = 4;\n D_8006AEF4 = D_8006AEF4 & 0xFD;\n return;\n }\n SpuWrite(ptr, 0x800);\n gD_80076242 = 1;\n D_8006AEF4 = D_8006AEF4 | 1;\n gD_80076238 = gD_80076238 + 0x800;\n return;\n }\n return;\n\nerr:\n pSt = &gD_80076243;\n if (*pSt == 0) return;\n if (*pSt == 4) return;\n if (*pSt == 5) return;\n *pSt = 5;\n D_8006AEF4 = D_8006AEF4 & 0xFD;\n}\n", "after_text": "void func_800377D8(u8 arg0) {\n s32 *pInt;\n u8 *pSt;\n s32 pos;\n s32 idx;\n s32 ptr;\n s32 nxt;\n u16 *pCnt;\n\n if (arg0 != 1) goto err;\n if (func_80043994(D_800762A0, 3) == 0) goto err;\n pos = CdPosToInt((CdlLOC *)D_800762A0);\n pInt = &D_8007623C;\n if (pos != *pInt) goto err;\n *pInt = pos + 1;\n\n switch (gD_80076243) {\n case 1:\n if (func_80043994((void *)gD_80076228, 0x200) == 0) goto err;\n if (sD_80076240 == 0 && *(s32 *)gD_80076228 != 0x7671732E) {\n D_80076298 = 1;\n D_80076250[gD_80076294 * 16] = 2;\n goto err;\n }\n pCnt = &hD_80076240;\n nxt = gD_80076228;\n nxt += 0x800;\n (*pCnt)++;\n gD_80076228 = nxt;\n if ((s16)*pCnt != 0xE) {\n return;\n }\n if (D_80076248[gD_80076294].unk00 & 0x1000) {\n D_80076250[gD_80076294 * 16] = 1;\n idx = gD_80076294 + 1;\n gD_80076294 = idx;\n if (idx < 5 && (&D_80076251)[idx * 16] != 0) {\n if (D_80076248[idx].unk00 & 0x2000) {\n gD_80076243 = 1;\n D_80076298 = 0;\n hD_80076240 = 0;\n } else {\n gD_80076243 = 2;\n D_80076298 = 0;\n hD_80076240 = 0;\n }\n gD_80076228 = D_80076244[gD_80076294].unk00;\n gD_80076238 = D_80076244[gD_80076294].unk08;\n return;\n }\n gD_80076243 = 4;\n D_8006AEF4 = D_8006AEF4 & 0xFD;\n return;\n }\n gD_80076243 = 2;\n *pCnt = 0;\n return;\n\n case 2:\n if (func_80043994((void *)gD_80076228, 0x200) == 0) goto err;\n gD_80076228 = gD_80076228 + 0x800;\n hD_80076240 = hD_80076240 + 1;\n if ((s16)hD_80076240 != 7) {\n return;\n }\n gD_80076243 = 3;\n hD_80076240 = 0;\n if (gD_80076242 != 0) {\n if (func_8003C4F0(0) == 0) {\n return;\n }\n gD_80076242 = 0;\n }\n return;\n\n case 3:\n if (func_80043994((void *)gD_80076228, 0x200) == 0) goto err;\n hD_80076240 = hD_80076240 + 1;\n if (gD_80076242 != 0) {\n if (func_8003C4F0(0) == 0) goto err;\n }\n if (((s32 (*)(s32))func_8003C498)(gD_80076238) == 0) goto err;\n ptr = gD_80076228;\n if (sD_80076240 == *(s16 *)(ptr - 4)) {\n SpuWrite(ptr, *(s16 *)(ptr - 2));\n gD_80076242 = 1;\n D_8006AEF4 = D_8006AEF4 | 1;\n D_80076250[gD_80076294 * 16] = 1;\n idx = gD_80076294 + 1;\n gD_80076294 = idx;\n if (idx < 5 && (&D_80076251)[idx * 16] != 0) {\n if (D_80076248[idx].unk00 & 0x2000) {\n gD_80076243 = 1;\n D_80076298 = 0;\n hD_80076240 = 0;\n } else {\n gD_80076243 = 2;\n D_80076298 = 0;\n hD_80076240 = 0;\n }\n gD_80076228 = D_80076244[gD_80076294].unk00;\n gD_80076238 = D_80076244[gD_80076294].unk08;\n return;\n }\n gD_80076243 = 4;\n D_8006AEF4 = D_8006AEF4 & 0xFD;\n return;\n }\n SpuWrite(ptr, 0x800);\n gD_80076242 = 1;\n D_8006AEF4 = D_8006AEF4 | 1;\n gD_80076238 = gD_80076238 + 0x800;\n return;\n }\n return;\n\nerr:\n pSt = &gD_80076243;\n if (*pSt == 0) return;\n if (*pSt == 4) return;\n if (*pSt == 5) return;\n *pSt = 5;\n D_8006AEF4 = D_8006AEF4 & 0xFD;\n}\n"} diff --git a/src/800_c.c b/src/800_c.c index e652c8620..3fb291916 100644 --- a/src/800_c.c +++ b/src/800_c.c @@ -2088,7 +2088,6 @@ void func_800377D8(u8 arg0) { s32 ptr; s32 nxt; u16 *pCnt; - s32 cnt; if (arg0 != 1) goto err; if (func_80043994(D_800762A0, 3) == 0) goto err; @@ -2105,18 +2104,14 @@ void func_800377D8(u8 arg0) { D_80076250[gD_80076294 * 16] = 2; goto err; } - { - register s32 rnxt __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9) - s32 rcnt; pCnt = &hD_80076240; - rnxt = gD_80076228 + 0x800; - rcnt = *pCnt + 1; - *pCnt = rcnt; - gD_80076228 = rnxt; - if ((s16)rcnt != 0xE) { + nxt = gD_80076228; + nxt += 0x800; + (*pCnt)++; + gD_80076228 = nxt; + if ((s16)*pCnt != 0xE) { return; } - } if (D_80076248[gD_80076294].unk00 & 0x1000) { D_80076250[gD_80076294 * 16] = 1; idx = gD_80076294 + 1; @@ -2124,13 +2119,13 @@ void func_800377D8(u8 arg0) { if (idx < 5 && (&D_80076251)[idx * 16] != 0) { if (D_80076248[idx].unk00 & 0x2000) { gD_80076243 = 1; - __asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9) + D_80076298 = 0; + hD_80076240 = 0; } else { gD_80076243 = 2; + D_80076298 = 0; + hD_80076240 = 0; } - D_80076298 = 0; - hD_80076240 = 0; - __asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9) gD_80076228 = D_80076244[gD_80076294].unk00; gD_80076238 = D_80076244[gD_80076294].unk08; return; @@ -2178,12 +2173,13 @@ void func_800377D8(u8 arg0) { if (idx < 5 && (&D_80076251)[idx * 16] != 0) { if (D_80076248[idx].unk00 & 0x2000) { gD_80076243 = 1; + D_80076298 = 0; + hD_80076240 = 0; } else { gD_80076243 = 2; + D_80076298 = 0; + hD_80076240 = 0; } - D_80076298 = 0; - hD_80076240 = 0; - __asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9) gD_80076228 = D_80076244[gD_80076294].unk00; gD_80076238 = D_80076244[gD_80076294].unk08; return;