papermario/ver/jp/asm/nonmatchings/42230/osViSetSpecialFeatures.s

105 lines
5.3 KiB
ArmAsm
Raw Normal View History

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel osViSetSpecialFeatures
/* 42230 80066E30 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 42234 80066E34 AFB00010 */ sw $s0, 0x10($sp)
/* 42238 80066E38 AFBF0014 */ sw $ra, 0x14($sp)
/* 4223C 80066E3C 0C01ACD0 */ jal func_8006B340
/* 42240 80066E40 00808021 */ addu $s0, $a0, $zero
/* 42244 80066E44 00403021 */ addu $a2, $v0, $zero
/* 42248 80066E48 32020001 */ andi $v0, $s0, 1
/* 4224C 80066E4C 10400007 */ beqz $v0, .L80066E6C
/* 42250 80066E50 32020002 */ andi $v0, $s0, 2
/* 42254 80066E54 3C038009 */ lui $v1, %hi(D_80095964)
/* 42258 80066E58 8C635964 */ lw $v1, %lo(D_80095964)($v1)
/* 4225C 80066E5C 8C62000C */ lw $v0, 0xc($v1)
/* 42260 80066E60 34420008 */ ori $v0, $v0, 8
/* 42264 80066E64 AC62000C */ sw $v0, 0xc($v1)
/* 42268 80066E68 32020002 */ andi $v0, $s0, 2
.L80066E6C:
/* 4226C 80066E6C 10400006 */ beqz $v0, .L80066E88
/* 42270 80066E70 2404FFF7 */ addiu $a0, $zero, -9
/* 42274 80066E74 3C028009 */ lui $v0, %hi(D_80095964)
/* 42278 80066E78 8C425964 */ lw $v0, %lo(D_80095964)($v0)
/* 4227C 80066E7C 8C43000C */ lw $v1, 0xc($v0)
/* 42280 80066E80 00641824 */ and $v1, $v1, $a0
/* 42284 80066E84 AC43000C */ sw $v1, 0xc($v0)
.L80066E88:
/* 42288 80066E88 32020004 */ andi $v0, $s0, 4
/* 4228C 80066E8C 10400007 */ beqz $v0, .L80066EAC
/* 42290 80066E90 32020008 */ andi $v0, $s0, 8
/* 42294 80066E94 3C038009 */ lui $v1, %hi(D_80095964)
/* 42298 80066E98 8C635964 */ lw $v1, %lo(D_80095964)($v1)
/* 4229C 80066E9C 8C62000C */ lw $v0, 0xc($v1)
/* 422A0 80066EA0 34420004 */ ori $v0, $v0, 4
/* 422A4 80066EA4 AC62000C */ sw $v0, 0xc($v1)
/* 422A8 80066EA8 32020008 */ andi $v0, $s0, 8
.L80066EAC:
/* 422AC 80066EAC 10400006 */ beqz $v0, .L80066EC8
/* 422B0 80066EB0 2404FFFB */ addiu $a0, $zero, -5
/* 422B4 80066EB4 3C028009 */ lui $v0, %hi(D_80095964)
/* 422B8 80066EB8 8C425964 */ lw $v0, %lo(D_80095964)($v0)
/* 422BC 80066EBC 8C43000C */ lw $v1, 0xc($v0)
/* 422C0 80066EC0 00641824 */ and $v1, $v1, $a0
/* 422C4 80066EC4 AC43000C */ sw $v1, 0xc($v0)
.L80066EC8:
/* 422C8 80066EC8 32020010 */ andi $v0, $s0, 0x10
/* 422CC 80066ECC 10400007 */ beqz $v0, .L80066EEC
/* 422D0 80066ED0 32020020 */ andi $v0, $s0, 0x20
/* 422D4 80066ED4 3C038009 */ lui $v1, %hi(D_80095964)
/* 422D8 80066ED8 8C635964 */ lw $v1, %lo(D_80095964)($v1)
/* 422DC 80066EDC 8C62000C */ lw $v0, 0xc($v1)
/* 422E0 80066EE0 34420010 */ ori $v0, $v0, 0x10
/* 422E4 80066EE4 AC62000C */ sw $v0, 0xc($v1)
/* 422E8 80066EE8 32020020 */ andi $v0, $s0, 0x20
.L80066EEC:
/* 422EC 80066EEC 10400006 */ beqz $v0, .L80066F08
/* 422F0 80066EF0 2404FFEF */ addiu $a0, $zero, -0x11
/* 422F4 80066EF4 3C028009 */ lui $v0, %hi(D_80095964)
/* 422F8 80066EF8 8C425964 */ lw $v0, %lo(D_80095964)($v0)
/* 422FC 80066EFC 8C43000C */ lw $v1, 0xc($v0)
/* 42300 80066F00 00641824 */ and $v1, $v1, $a0
/* 42304 80066F04 AC43000C */ sw $v1, 0xc($v0)
.L80066F08:
/* 42308 80066F08 32020040 */ andi $v0, $s0, 0x40
/* 4230C 80066F0C 10400008 */ beqz $v0, .L80066F30
/* 42310 80066F10 3C030001 */ lui $v1, 1
/* 42314 80066F14 3C048009 */ lui $a0, %hi(D_80095964)
/* 42318 80066F18 8C845964 */ lw $a0, %lo(D_80095964)($a0)
/* 4231C 80066F1C 8C82000C */ lw $v0, 0xc($a0)
/* 42320 80066F20 00431025 */ or $v0, $v0, $v1
/* 42324 80066F24 2403FCFF */ addiu $v1, $zero, -0x301
/* 42328 80066F28 00431024 */ and $v0, $v0, $v1
/* 4232C 80066F2C AC82000C */ sw $v0, 0xc($a0)
.L80066F30:
/* 42330 80066F30 32020080 */ andi $v0, $s0, 0x80
/* 42334 80066F34 1040000C */ beqz $v0, .L80066F68
/* 42338 80066F38 3C02FFFE */ lui $v0, 0xfffe
/* 4233C 80066F3C 3C048009 */ lui $a0, %hi(D_80095964)
/* 42340 80066F40 8C845964 */ lw $a0, %lo(D_80095964)($a0)
/* 42344 80066F44 8C83000C */ lw $v1, 0xc($a0)
/* 42348 80066F48 8C850008 */ lw $a1, 8($a0)
/* 4234C 80066F4C 3442FFFF */ ori $v0, $v0, 0xffff
/* 42350 80066F50 00621824 */ and $v1, $v1, $v0
/* 42354 80066F54 AC83000C */ sw $v1, 0xc($a0)
/* 42358 80066F58 8CA20004 */ lw $v0, 4($a1)
/* 4235C 80066F5C 30420300 */ andi $v0, $v0, 0x300
/* 42360 80066F60 00621825 */ or $v1, $v1, $v0
/* 42364 80066F64 AC83000C */ sw $v1, 0xc($a0)
.L80066F68:
/* 42368 80066F68 3C038009 */ lui $v1, %hi(D_80095964)
/* 4236C 80066F6C 8C635964 */ lw $v1, %lo(D_80095964)($v1)
/* 42370 80066F70 94620000 */ lhu $v0, ($v1)
/* 42374 80066F74 00C02021 */ addu $a0, $a2, $zero
/* 42378 80066F78 34420008 */ ori $v0, $v0, 8
/* 4237C 80066F7C 0C01ACEC */ jal func_8006B3B0
/* 42380 80066F80 A4620000 */ sh $v0, ($v1)
/* 42384 80066F84 8FBF0014 */ lw $ra, 0x14($sp)
/* 42388 80066F88 8FB00010 */ lw $s0, 0x10($sp)
/* 4238C 80066F8C 03E00008 */ jr $ra
/* 42390 80066F90 27BD0018 */ addiu $sp, $sp, 0x18
/* 42394 80066F94 00000000 */ nop
/* 42398 80066F98 00000000 */ nop
/* 4239C 80066F9C 00000000 */ nop