From 0ab51c803cb92647bc2059cec773cbcf992befb3 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 4 Sep 2026 18:00:01 -0600 Subject: [PATCH] =?UTF-8?q?feat(phase-31):=20S79=20#6=20(1)=20=E2=80=94=20?= =?UTF-8?q?md=5FMAIN=5F003:=20D=5F800D3200=20was=20a=20data=20word=20carri?= =?UTF-8?q?ed=20as=20a=20stub;=20emitted=20inside=20its=20asm=20island,=20?= =?UTF-8?q?byte-identical=20(dd1b32ec);=20the=20census's=20H-VIRGIN=20phan?= =?UTF-8?q?tom=20is=20gone?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/md_MAIN_003/md_MAIN_003_jr_800D1E18.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/md_MAIN_003/md_MAIN_003_jr_800D1E18.c b/src/md_MAIN_003/md_MAIN_003_jr_800D1E18.c index a4785a1fa..16caf8ff9 100644 --- a/src/md_MAIN_003/md_MAIN_003_jr_800D1E18.c +++ b/src/md_MAIN_003/md_MAIN_003_jr_800D1E18.c @@ -931,11 +931,13 @@ s32 aF800D30D0(char *arg0) { } -INCLUDE_ASM("asm/md_MAIN_003/nonmatchings/md_MAIN_003_jr_800D1E18", D_800D3200); - -extern s32 D_800D3200; /* dup-def demoted: a sibling .s still emits it (S61) */ - -__asm__(".text\n.align 2\n.globl func_800D3204\n.ent\tfunc_800D3204\n" +/* 0x800D3200 is NOT a function: a one-word data sentinel (0x00FFFFFF, an invalid opcode) sitting in + * .text, which func_800D3204 / func_800D3234 materialise via lui/addiu and read/write (self-referencing + * data-in-text; S45 pin in config/symbols.md_MAIN_003.txt). It was carried as an INCLUDE_ASM "stub" — + * the census's H-VIRGIN phantom — until P31 S79 #6; the word is emitted here, inside the hand-written + * asm island it belongs to, so the stub record is gone and the bytes are unchanged (byte-gated). */ +__asm__(".text\n.align 2\n.globl D_800D3200\nD_800D3200:\n.word 0x00FFFFFF\n" +".globl func_800D3204\n.ent\tfunc_800D3204\n" "func_800D3204:\n.frame $sp,0,$31\n.mask 0x00000000,0\n.fmask 0,0\n" ".set\tnoreorder\n.set\tnoat\n" "lui $t0, %hi(D_800D3200)\n"