Files
BFM-decomp/src/sgap_7.c
T
Drew T 352d0b6c31 feat(decomp): main lane m24ba — 2 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.

  func_80011680
  vmNoiseOn
2026-08-25 08:20:29 -06:00

287 lines
7.2 KiB
C

#include "common.h"
__asm__(
".text\n"
".align\t2\n"
".globl\tvmNoiseOn\n"
".type\tvmNoiseOn, @function\n"
".ent\tvmNoiseOn\n"
"vmNoiseOn:\n"
".set\tnoreorder\n"
"lui $v1, %hi(D_800B9B36)\n"
"lhu $v1, %lo(D_800B9B36)($v1)\n"
"addu $t2, $a0, $zero\n"
"andi $a0, $v1, 0xFF\n"
"sll $a0, $a0, 2\n"
"srl $v1, $v1, 8\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 $a0, %lo(D_800C73D8)($at)\n"
"sll $v0, $v0, 4\n"
"addu $a0, $a0, $v0\n"
"lhu $v0, 88($a0)\n"
"lui $v1, %hi(D_800B9B2A)\n"
"lbu $v1, %lo(D_800B9B2A)($v1)\n"
"sll $a1, $v0, 7\n"
"addu $a1, $a1, $v0\n"
"mult $a1, $v1\n"
"lhu $a0, 90($a0)\n"
"mflo $a1\n"
"sll $v0, $a0, 7\n"
"addu $a3, $v0, $a0\n"
"mult $a3, $v1\n"
"mflo $v1\n"
"lui $a2, 0x204\n"
"ori $a2, $a2, 0x811\n"
"multu $a1, $a2\n"
"mfhi $v0\n"
"nop\n"
"nop\n"
"multu $v1, $a2\n"
"lui $a0, %hi(D_800B9B2D)\n"
"lbu $a0, %lo(D_800B9B2D)($a0)\n"
"subu $a1, $a1, $v0\n"
"srl $a1, $a1, 1\n"
"mfhi $a3\n"
"addu $v0, $v0, $a1\n"
"srl $a1, $v0, 6\n"
"mult $a1, $a0\n"
"subu $v1, $v1, $a3\n"
"srl $v1, $v1, 1\n"
"mflo $a1\n"
"addu $a3, $a3, $v1\n"
"srl $a3, $a3, 6\n"
"mult $a3, $a0\n"
"mflo $a0\n"
"nop\n"
"nop\n"
"multu $a1, $a2\n"
"mfhi $v0\n"
"nop\n"
"nop\n"
"multu $a0, $a2\n"
"addiu $sp, $sp, -8\n"
"lui $v1, %hi(D_8006B8FC)\n"
"lw $v1, %lo(D_8006B8FC)($v1)\n"
"lui $t0, %hi(D_800B9B2E)\n"
"lbu $t0, %lo(D_800B9B2E)($t0)\n"
"lhu $t1, 426($v1)\n"
"subu $a1, $a1, $v0\n"
"srl $a1, $a1, 1\n"
"addu $v0, $v0, $a1\n"
"srl $a1, $v0, 6\n"
"sltiu $v0, $t0, 0x40\n"
"mfhi $a2\n"
"subu $a0, $a0, $a2\n"
"srl $a0, $a0, 1\n"
"addu $a2, $a2, $a0\n"
"beqz $v0, .L800404F4\n"
" srl $a3, $a2, 6\n"
"mult $a3, $t0\n"
"mflo $v0\n"
"lui $v1, 0x410\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"
"j VM_NO1_OBJ_184\n"
" srl $a2, $v1, 5\n"
".L800404F4:\n"
"addiu $v0, $zero, 0x7F\n"
"subu $v0, $v0, $t0\n"
"mult $a1, $v0\n"
"mflo $v0\n"
"lui $v1, 0x410\n"
"ori $v1, $v1, 0x4105\n"
"multu $v0, $v1\n"
"addu $a2, $a3, $zero\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\tvmNoiseOn, . - vmNoiseOn\n"
".end\tvmNoiseOn\n"
);
__asm__(
".text\n"
".align\t2\n"
".globl\tVM_NO1_OBJ_184\n"
".type\tVM_NO1_OBJ_184, @function\n"
".ent\tVM_NO1_OBJ_184\n"
"VM_NO1_OBJ_184:\n"
".set\tnoreorder\n"
"lui $t0, %hi(D_800B9B2B)\n"
"lbu $t0, %lo(D_800B9B2B)($t0)\n"
"nop\n"
"sltiu $v0, $t0, 0x40\n"
"beqz $v0, .L80040568\n"
" mult $a2, $t0\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"
"j VM_NO1_OBJ_1F4\n"
" srl $a2, $v1, 5\n"
".L80040568:\n"
"addiu $v0, $zero, 0x7F\n"
"subu $v0, $v0, $t0\n"
"mult $a1, $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\tVM_NO1_OBJ_184, . - VM_NO1_OBJ_184\n"
".end\tVM_NO1_OBJ_184\n"
);
__asm__(
".text\n"
".align\t2\n"
".globl\tVM_NO1_OBJ_1F4\n"
".type\tVM_NO1_OBJ_1F4, @function\n"
".ent\tVM_NO1_OBJ_1F4\n"
"VM_NO1_OBJ_1F4:\n"
".set\tnoreorder\n"
"lui $t0, %hi(D_800B9B25)\n"
"lbu $t0, %lo(D_800B9B25)($t0)\n"
"nop\n"
"sltiu $v0, $t0, 0x40\n"
"beqz $v0, .L800405D8\n"
" mult $t0, $a2\n"
"mflo $v0\n"
"lui $v1, 0x410\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"
"j VM_NO1_OBJ_264\n"
" srl $a2, $v1, 5\n"
".L800405D8:\n"
"addiu $v0, $zero, 0x7F\n"
"subu $v0, $v0, $t0\n"
"mult $a1, $v0\n"
"mflo $v0\n"
"lui $v1, 0x410\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\tVM_NO1_OBJ_1F4, . - VM_NO1_OBJ_1F4\n"
".end\tVM_NO1_OBJ_1F4\n"
);
__asm__(
".text\n"
".align\t2\n"
".globl\tVM_NO1_OBJ_264\n"
".ent\tVM_NO1_OBJ_264\n"
"VM_NO1_OBJ_264:\n"
".set\tnoreorder\n"
"lui $v1, %hi(D_800A6434)\n"
"lh $v1, %lo(D_800A6434)($v1)\n"
"addiu $v0, $zero, 0x1\n"
"bne $v1, $v0, .L80040630\n"
" .word 0x00A6102B\n"
"beqz $v0, .L8004062C\n"
" nop\n"
"j VM_NO1_OBJ_28C\n"
" addu $a1, $a2, $zero\n"
".L8004062C:\n"
"addu $a2, $a1, $zero\n"
".L80040630:\n"
".set\treorder\n"
".end\tVM_NO1_OBJ_264\n"
);
__asm__(
".text\n"
".align 2\n"
".globl VM_NO1_OBJ_28C\n"
".ent\tVM_NO1_OBJ_28C\n"
"VM_NO1_OBJ_28C:\n"
".frame $sp,0,$31\n"
".mask 0,0\n"
".fmask 0,0\n"
".set\tnoreorder\n"
"lui $v0, %hi(D_800B9B22)\n"
"lbu $v0, %lo(D_800B9B22)($v0)\n"
"lui $v1, %hi(D_800B9B30)\n"
"lbu $v1, %lo(D_800B9B30)($v1)\n"
"andi $a0, $t1, 0xC0FF\n"
"subu $v0, $v0, $v1\n"
"andi $v0, $v0, 0x3F\n"
"sll $v0, $v0, 8\n"
"or $t1, $a0, $v0\n"
"lui $v1, %hi(D_8006B8FC)\n"
"lw $v1, %lo(D_8006B8FC)($v1)\n"
"andi $a0, $t2, 0xFF\n"
"sh $t1, 426($v1)\n"
"sll $v1, $a0, 4\n"
"lui $at, %hi(D_800B9B5A)\n"
"addu $at, $at, $v1\n"
"sh $a2, %lo(D_800B9B5A)($at)\n"
"lui $at, %hi(D_800A4620)\n"
"addu $at, $at, $a0\n"
"lbu $v0, %lo(D_800A4620)($at)\n"
"lui $at, %hi(D_800B9B58)\n"
"addu $at, $at, $v1\n"
"sh $a1, %lo(D_800B9B58)($at)\n"
"ori $v0, $v0, 0x3\n"
"lui $at, %hi(D_800A4620)\n"
"addu $at, $at, $a0\n"
"sb $v0, %lo(D_800A4620)($at)\n"
"sltiu $v0, $a0, 0x10\n"
"beqz $v0, .L800406B4\n"
"addiu $v0, $zero, 0x1\n"
"sllv $a3, $v0, $a0\n"
"j VM_NO1_OBJ_31C\n"
"addu $a2, $zero, $zero\n"
".L800406B4:\n"
"addu $a3, $zero, $zero\n"
"addiu $v1, $a0, -0x10\n"
"sllv $a2, $v0, $v1\n"
".set\treorder\n"
".end\tVM_NO1_OBJ_28C\n");
INCLUDE_ASM("asm/nonmatchings/sgap_7", VM_NO1_OBJ_31C);
extern u32 D_8006B8FC;
void VM_NO1_OBJ_4A4() {
__asm__ __volatile__(
".set\tnoreorder\n"
"lui\t$v0, %hi(D_8006B8FC)\n"
"lw\t$v0, %lo(D_8006B8FC)($v0)\n"
"nop\n"
"sh\t$a3, 404($v0)\n"
"sh\t$a2, 406($v0)\n"
"addiu\t$sp, $sp, 8\n"
".set\treorder\n");
}