phase-36: S104 s104_e33 — func_8017E2CC banked at 0 through the whole-object gate + propagated — 2 pins → 0: gcc's own * 127 / 512 (expmed.c:2979-2995; local-alloc.c:1722)

This commit is contained in:
Drew T
2026-09-11 04:42:24 -06:00
parent 6a8274398e
commit f1a4328bba
3 changed files with 196 additions and 200 deletions
+184 -184
View File
@@ -1,7 +1,7 @@
{
"head": "cf872da51",
"head": "6a8274398",
"stamp": "15956e4a96c4",
"generated": "2026-09-11 04:41",
"generated": "2026-09-11 04:42",
"aliases": [
"main",
"ov_SC03_014",
@@ -21,207 +21,207 @@
"main": {
"objects": 85,
"identical": 85,
"seconds": 9.406000000000002,
"mean_s": 0.111
"seconds": 9.287,
"mean_s": 0.109
},
"ov_SC03_014": {
"objects": 32,
"identical": 32,
"seconds": 5.918000000000001,
"mean_s": 0.185
"seconds": 6.083,
"mean_s": 0.19
},
"ov_SC03_015": {
"objects": 32,
"identical": 32,
"seconds": 5.624,
"mean_s": 0.176
"seconds": 5.843,
"mean_s": 0.183
},
"ov_SC04_011": {
"objects": 28,
"identical": 28,
"seconds": 4.995000000000002,
"mean_s": 0.178
"seconds": 5.035000000000001,
"mean_s": 0.18
}
},
"per_object_seconds": {
"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.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/800.o": 0.903,
"build/src/800_b.o": 0.096,
"build/src/800_b_2.o": 0.39,
"build/src/800_b_o0a.o": 0.124,
"build/src/800_c.o": 0.251,
"build/src/800b2.o": 0.11,
"build/src/apicard1.o": 0.149,
"build/src/apicard2.o": 0.123,
"build/src/apicard3.o": 0.118,
"build/src/apicard4.o": 0.119,
"build/src/apicard5.o": 0.119,
"build/src/apicard6.o": 0.096,
"build/src/apicard7.o": 0.086,
"build/src/boot.o": 0.122,
"build/src/gap.o": 0.071,
"build/src/libapi1.o": 0.095,
"build/src/libapi2.o": 0.064,
"build/src/libc2_1.o": 0.076,
"build/src/libc2_2.o": 0.113,
"build/src/libcd1.o": 0.087,
"build/src/libcd2.o": 0.097,
"build/src/libetc.o": 0.098,
"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/libgpu2.o": 0.102,
"build/src/libgs1.o": 0.078,
"build/src/libgs2.o": 0.102,
"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/libgs4.o": 0.104,
"build/src/libgs5.o": 0.084,
"build/src/libgs6.o": 0.085,
"build/src/libgs7.o": 0.066,
"build/src/libgs8.o": 0.083,
"build/src/libgte1.o": 0.076,
"build/src/libgte10.o": 0.097,
"build/src/libgte11.o": 0.13,
"build/src/libgte12.o": 0.084,
"build/src/libgte13.o": 0.105,
"build/src/libgte14.o": 0.071,
"build/src/libgte15.o": 0.086,
"build/src/libgte16.o": 0.112,
"build/src/libgte17.o": 0.069,
"build/src/libgte18.o": 0.081,
"build/src/libgte19.o": 0.104,
"build/src/libgte2.o": 0.07,
"build/src/libgte20.o": 0.071,
"build/src/libgte21.o": 0.072,
"build/src/libgte22.o": 0.106,
"build/src/libgte23.o": 0.084,
"build/src/libgte24.o": 0.088,
"build/src/libgte25.o": 0.092,
"build/src/libgte26.o": 0.07,
"build/src/libgte27.o": 0.084,
"build/src/libgte28.o": 0.081,
"build/src/libgte29.o": 0.089,
"build/src/libgte3.o": 0.128,
"build/src/libgte30.o": 0.095,
"build/src/libgte4.o": 0.071,
"build/src/libgte5.o": 0.099,
"build/src/libgte6.o": 0.151,
"build/src/libgte7.o": 0.08,
"build/src/libgte8.o": 0.08,
"build/src/libgte9.o": 0.076,
"build/src/libmcrd1.o": 0.093,
"build/src/libmcrd2.o": 0.122,
"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/libpad2.o": 0.121,
"build/src/sgap.o": 0.085,
"build/src/sgap_2.o": 0.099,
"build/src/sgap_3.o": 0.094,
"build/src/sgap_4.o": 0.11,
"build/src/sgap_5.o": 0.09,
"build/src/sgap_6.o": 0.122,
"build/src/sgap_8.o": 0.081,
"build/src/snd1.o": 0.105,
"build/src/snd10.o": 0.077,
"build/src/snd11.o": 0.094,
"build/src/snd12.o": 0.087,
"build/src/snd2.o": 0.076,
"build/src/snd3.o": 0.094,
"build/src/snd4.o": 0.08,
"build/src/snd5.o": 0.074,
"build/src/snd6.o": 0.081,
"build/src/snd7.o": 0.124,
"build/src/snd8.o": 0.071,
"build/src/snd9.o": 0.114,
"build/src/ov_SC03_014/ov_SC03_014.o": 0.157,
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.576,
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.454,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.117,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.123,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.143,
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.207,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.143,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.135,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.082,
"build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.211,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.143,
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.26,
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.119,
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.119,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.075,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.136,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.619,
"build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.339,
"build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.124,
"build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.234,
"build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.116,
"build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.137,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.082,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.219,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.277,
"build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.056,
"build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.355,
"build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.078,
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.085,
"build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.073,
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.089,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.136,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.604,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.457,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.08,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.102,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.166,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.184,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.131,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.087,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.109,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.225,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.091,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.213,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.151,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.079,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.107,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.113,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.536,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.326,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.135,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.236,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.114,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.122,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.094,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.23,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.255,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.087,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.353,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.065,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.095,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.084,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.076,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.176,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.516,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.435,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.057,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.075,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.139,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.164,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.184,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.105,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.092,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.214,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.102,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.214,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.113,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.099,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.08,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.109,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.466,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.268,
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.125,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.212,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.088,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.124,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.088,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.15,
"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
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.081,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.069
},
"ok": true,
"seconds": 2.7
"seconds": 2.8
}
+1
View File
@@ -29522,3 +29522,4 @@
{"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"}
{"ts": "2026-09-11 04:42:22", "label": "s104_e33", "rung": "E", "calib": {"head": "6a8274398", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c", "fn": "func_8017E2CC", "addr": 2149049036, "aliases": null, "header": false, "includers": 0, "nhash_before": "55ccc6baa1f7d3e71eb9ba8c52afd9babc2f4751", "nhash_after": "21b79ed16d1c8f410682e12af0240c54c0582df9", "source": ".run/P36/agents/ov_SC04_015__func_8017E2CC/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.23, "objects": ["build/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.o"], "before_text": "void func_8017E2CC(s32 param_1) {\n s32 *s2 = &D_80126B58;\n s32 *s1 = &D_800AE6A8;\n register s32 v1 asm(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B tus7)\n register s32 v0 asm(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus7)\n\n if (D_801C8B74 != 0) {\n v1 = D_801C8B78;\n if (v1 == 0x7FFF) {\n func_8002D4C8(4, 0x76C);\n } else {\n if (v1 >= 0x300) {\n func_8002D4C8(4, 0x76C);\n } else if (v1 < 0x101) {\n func_8002D4C8(0x76C, 0x107F);\n } else {\n v0 = 0x300 - v1;\n v1 = (v0 << 7) - v0;\n func_8002D4C8(0x76C, (v1 / 512 & 0x7F) | 0x1000);\n }\n D_801C8B78 = 0x7FFF;\n }\n switch (D_801C8B60) {\n case 0:\n if (func_800CF8B4() != 0) {\n if ((s1[2] & 0x80FFFFFF) == 0 && (s2[0x11] & 0x8000000) != 0) {\n func_8014CBE8();\n func_80178B18(param_1, &D_80188590);\n D_801C8B60 = 1;\n }\n }\n break;\n case 1:\n func_801789AC(param_1);\n break;\n }\n } else {\n D_801C8B60 = 0;\n func_8017EA2C();\n func_8017ED28();\n v1 = D_801C8B78;\n if (v1 == 0x7FFF) {\n func_8002D4C8(4, 0x76C);\n } else {\n if (v1 >= 0x300) {\n func_8002D4C8(4, 0x76C);\n } else if (v1 < 0x101) {\n func_8002D4C8(0x76C, 0x107F);\n } else {\n v0 = 0x300 - v1;\n v1 = (v0 << 7) - v0;\n func_8002D4C8(0x76C, (v1 / 512 & 0x7F) | 0x1000);\n }\n D_801C8B78 = 0x7FFF;\n }\n }\n}\n", "after_text": "void func_8017E2CC(s32 param_1) {\n s32 *s2 = &D_80126B58;\n s32 *s1 = &D_800AE6A8;\n s32 t;\n\n if (D_801C8B74 != 0) {\n t = D_801C8B78;\n if (t == 0x7FFF) {\n func_8002D4C8(4, 0x76C);\n } else {\n if (t >= 0x300) {\n func_8002D4C8(4, 0x76C);\n } else if (t < 0x101) {\n func_8002D4C8(0x76C, 0x107F);\n } else {\n func_8002D4C8(0x76C, (((0x300 - t) * 127) / 512 & 0x7F) | 0x1000);\n }\n D_801C8B78 = 0x7FFF;\n }\n switch (D_801C8B60) {\n case 0:\n if (func_800CF8B4() != 0) {\n if ((s1[2] & 0x80FFFFFF) == 0 && (s2[0x11] & 0x8000000) != 0) {\n func_8014CBE8();\n func_80178B18(param_1, &D_80188590);\n D_801C8B60 = 1;\n }\n }\n break;\n case 1:\n func_801789AC(param_1);\n break;\n }\n } else {\n D_801C8B60 = 0;\n func_8017EA2C();\n func_8017ED28();\n t = D_801C8B78;\n if (t == 0x7FFF) {\n func_8002D4C8(4, 0x76C);\n } else {\n if (t >= 0x300) {\n func_8002D4C8(4, 0x76C);\n } else if (t < 0x101) {\n func_8002D4C8(0x76C, 0x107F);\n } else {\n func_8002D4C8(0x76C, (((0x300 - t) * 127) / 512 & 0x7F) | 0x1000);\n }\n D_801C8B78 = 0x7FFF;\n }\n }\n}\n"}
+11 -16
View File
@@ -4708,22 +4708,19 @@ extern s32 func_801789AC(s32 arg0);
void func_8017E2CC(s32 param_1) {
s32 *s2 = &D_80126B58;
s32 *s1 = &D_800AE6A8;
register s32 v1 asm("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus7)
register s32 v0 asm("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus7)
s32 t;
if (D_801C8B74 != 0) {
v1 = D_801C8B78;
if (v1 == 0x7FFF) {
t = D_801C8B78;
if (t == 0x7FFF) {
func_8002D4C8(4, 0x76C);
} else {
if (v1 >= 0x300) {
if (t >= 0x300) {
func_8002D4C8(4, 0x76C);
} else if (v1 < 0x101) {
} else if (t < 0x101) {
func_8002D4C8(0x76C, 0x107F);
} else {
v0 = 0x300 - v1;
v1 = (v0 << 7) - v0;
func_8002D4C8(0x76C, (v1 / 512 & 0x7F) | 0x1000);
func_8002D4C8(0x76C, (((0x300 - t) * 127) / 512 & 0x7F) | 0x1000);
}
D_801C8B78 = 0x7FFF;
}
@@ -4745,18 +4742,16 @@ void func_8017E2CC(s32 param_1) {
D_801C8B60 = 0;
func_8017EA2C();
func_8017ED28();
v1 = D_801C8B78;
if (v1 == 0x7FFF) {
t = D_801C8B78;
if (t == 0x7FFF) {
func_8002D4C8(4, 0x76C);
} else {
if (v1 >= 0x300) {
if (t >= 0x300) {
func_8002D4C8(4, 0x76C);
} else if (v1 < 0x101) {
} else if (t < 0x101) {
func_8002D4C8(0x76C, 0x107F);
} else {
v0 = 0x300 - v1;
v1 = (v0 << 7) - v0;
func_8002D4C8(0x76C, (v1 / 512 & 0x7F) | 0x1000);
func_8002D4C8(0x76C, (((0x300 - t) * 127) / 512 & 0x7F) | 0x1000);
}
D_801C8B78 = 0x7FFF;
}