feat(decomp): main lane m74 — 1 banked

One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  _SsVmKeyOnNow
This commit is contained in:
Drew T
2026-08-26 08:44:23 -06:00
parent ece1584f40
commit 90cf8c2faa
+126 -1
View File
@@ -1,6 +1,131 @@
#include "common.h"
INCLUDE_ASM("asm/nonmatchings/sgap_8", _SsVmKeyOnNow);
__asm__(
".text\n"
".align\t2\n"
".globl\t_SsVmKeyOnNow\n"
".type\t_SsVmKeyOnNow, @function\n"
".ent\t_SsVmKeyOnNow\n"
"_SsVmKeyOnNow:\n"
".set\tnoreorder\n"
"lui $v0, %hi(D_800A6580)\n"
"lw $v0, %lo(D_800A6580)($v0)\n"
"nop\n"
"lbu $a0, 24($v0)\n"
"lui $v1, %hi(D_800B9B24)\n"
"lbu $v1, %lo(D_800B9B24)($v1)\n"
"sll $v0, $a0, 14\n"
"subu $v0, $v0, $a0\n"
"mult $v1, $v0\n"
"mflo $v1\n"
"lui $v0, 0x8206\n"
"ori $v0, $v0, 0x1029\n"
"mult $v1, $v0\n"
"lui $a0, %hi(D_800B9B2A)\n"
"lbu $a0, %lo(D_800B9B2A)($a0)\n"
"mfhi $v0\n"
"addu $v0, $v0, $v1\n"
"sra $v0, $v0, 13\n"
"sra $v1, $v1, 31\n"
"subu $a3, $v0, $v1\n"
"mult $a3, $a0\n"
"mflo $v1\n"
"lui $v0, %hi(D_800B9B2D)\n"
"lbu $v0, %lo(D_800B9B2D)($v0)\n"
"nop\n"
"mult $v1, $v0\n"
"mflo $v0\n"
"lui $a0, 0x040C\n"
"ori $a0, $a0, 0x2051\n"
"multu $v0, $a0\n"
"addiu $sp, $sp, -16\n"
"lui $v1, %hi(D_800B9B3A)\n"
"lh $v1, %lo(D_800B9B3A)($v1)\n"
"addu $t0, $a1, $zero\n"
"sll $t1, $v1, 3\n"
"lui $v1, %hi(D_800B9B36)\n"
"lhu $v1, %lo(D_800B9B36)($v1)\n"
"mfhi $a0\n"
"subu $v0, $v0, $a0\n"
"srl $v0, $v0, 1\n"
"addu $a0, $a0, $v0\n"
"srl $a2, $a0, 13\n"
"andi $a0, $v1, 0xFF\n"
"sll $a0, $a0, 2\n"
"sll $v1, $v1, 16\n"
"sra $a1, $v1, 16\n"
"srl $v1, $v1, 24\n"
"sll $v0, $v1, 1\n"
"addu $v0, $v0, $v1\n"
"sll $v0, $v0, 2\n"
"subu $v0, $v0, $v1\n"
"lui $at, %hi(D_800C73D8)\n"
"addu $at, $at, $a0\n"
"lw $v1, %lo(D_800C73D8)($at)\n"
"sll $v0, $v0, 4\n"
"addu $v1, $v1, $v0\n"
"addiu $v0, $zero, 0x21\n"
"beq $a1, $v0, .L80040A84\n"
" addu $a3, $a2, $zero\n"
"lhu $v0, 88($v1)\n"
"nop\n"
"mult $a2, $v0\n"
"mflo $v0\n"
"lhu $v1, 90($v1)\n"
"nop\n"
"mult $a2, $v1\n"
"mflo $v1\n"
"lui $a0, 0x0204\n"
"ori $a0, $a0, 0x0811\n"
"multu $v0, $a0\n"
"mfhi $a1\n"
"nop\n"
"nop\n"
"multu $v1, $a0\n"
"subu $v0, $v0, $a1\n"
"srl $v0, $v0, 1\n"
"addu $a1, $a1, $v0\n"
"srl $a3, $a1, 6\n"
"mfhi $a0\n"
"subu $v1, $v1, $a0\n"
"srl $v1, $v1, 1\n"
"addu $a0, $a0, $v1\n"
"srl $a2, $a0, 6\n"
".L80040A84:\n"
"lui $v1, %hi(D_800B9B2E)\n"
"lbu $v1, %lo(D_800B9B2E)($v1)\n"
"nop\n"
"sltiu $v0, $v1, 0x40\n"
"beqz $v0, .L80040AC8\n"
" mult $a2, $v1\n"
"mflo $v0\n"
"lui $v1, 0x0410\n"
"ori $v1, $v1, 0x4105\n"
"multu $v0, $v1\n"
"addu $a1, $a3, $zero\n"
"mfhi $v1\n"
"subu $v0, $v0, $v1\n"
"srl $v0, $v0, 1\n"
"addu $v1, $v1, $v0\n"
"j VM_NOWON_OBJ_1C0\n"
" srl $a2, $v1, 5\n"
".L80040AC8:\n"
"addiu $v0, $zero, 0x7F\n"
"subu $v0, $v0, $v1\n"
"mult $a3, $v0\n"
"mflo $v0\n"
"lui $v1, 0x0410\n"
"ori $v1, $v1, 0x4105\n"
"multu $v0, $v1\n"
"mfhi $v1\n"
"subu $v0, $v0, $v1\n"
"srl $v0, $v0, 1\n"
"addu $v1, $v1, $v0\n"
"srl $a1, $v1, 5\n"
".set\treorder\n"
".size\t_SsVmKeyOnNow, . - _SsVmKeyOnNow\n"
".end\t_SsVmKeyOnNow\n"
);
__asm__(
".text\n"