mirror of
https://github.com/n64decomp/mk64
synced 2026-08-17 12:59:29 -04:00
f6a11c734a
Added some comments for the possible values of Mode and CC selection Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
99 lines
4.8 KiB
ArmAsm
99 lines
4.8 KiB
ArmAsm
glabel func_8007DDC0
|
|
/* 07E9C0 8007DDC0 000478C0 */ sll $t7, $a0, 3
|
|
/* 07E9C4 8007DDC4 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* 07E9C8 8007DDC8 01E47823 */ subu $t7, $t7, $a0
|
|
/* 07E9CC 8007DDCC 3C188016 */ lui $t8, %hi(D_80165C18) # $t8, 0x8016
|
|
/* 07E9D0 8007DDD0 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 07E9D4 8007DDD4 27185C18 */ addiu $t8, %lo(D_80165C18) # addiu $t8, $t8, 0x5c18
|
|
/* 07E9D8 8007DDD8 000F7940 */ sll $t7, $t7, 5
|
|
/* 07E9DC 8007DDDC 01F88021 */ addu $s0, $t7, $t8
|
|
/* 07E9E0 8007DDE0 8E02004C */ lw $v0, 0x4c($s0)
|
|
/* 07E9E4 8007DDE4 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 07E9E8 8007DDE8 AFA40030 */ sw $a0, 0x30($sp)
|
|
/* 07E9EC 8007DDEC 18400005 */ blez $v0, .L8007DE04
|
|
/* 07E9F0 8007DDF0 2459FFFF */ addiu $t9, $v0, -1
|
|
/* 07E9F4 8007DDF4 17200003 */ bnez $t9, .L8007DE04
|
|
/* 07E9F8 8007DDF8 AE19004C */ sw $t9, 0x4c($s0)
|
|
/* 07E9FC 8007DDFC 0C01C8B3 */ jal func_800722CC
|
|
/* 07EA00 8007DE00 24050001 */ li $a1, 1
|
|
.L8007DE04:
|
|
/* 07EA04 8007DE04 8E020048 */ lw $v0, 0x48($s0)
|
|
/* 07EA08 8007DE08 18400007 */ blez $v0, .L8007DE28
|
|
/* 07EA0C 8007DE0C 2449FFFF */ addiu $t1, $v0, -1
|
|
/* 07EA10 8007DE10 15200005 */ bnez $t1, .L8007DE28
|
|
/* 07EA14 8007DE14 AE090048 */ sw $t1, 0x48($s0)
|
|
/* 07EA18 8007DE18 3C055102 */ lui $a1, (0x51028006 >> 16) # lui $a1, 0x5102
|
|
/* 07EA1C 8007DE1C 34A58006 */ ori $a1, (0x51028006 & 0xFFFF) # ori $a1, $a1, 0x8006
|
|
/* 07EA20 8007DE20 0C0327BD */ jal func_800C9EF4
|
|
/* 07EA24 8007DE24 26040004 */ addiu $a0, $s0, 4
|
|
.L8007DE28:
|
|
/* 07EA28 8007DE28 8E0B004C */ lw $t3, 0x4c($s0)
|
|
/* 07EA2C 8007DE2C 3C02800E */ lui $v0, %hi(gCCSelection) # $v0, 0x800e
|
|
/* 07EA30 8007DE30 55600031 */ bnel $t3, $zero, .L8007DEF8
|
|
/* 07EA34 8007DE34 2404000F */ li $a0, 15
|
|
/* 07EA38 8007DE38 8C42C548 */ lw $v0, %lo(gCCSelection)($v0)
|
|
/* 07EA3C 8007DE3C 24010001 */ li $at, 1
|
|
/* 07EA40 8007DE40 10400006 */ beqz $v0, .L8007DE5C
|
|
/* 07EA44 8007DE44 00000000 */ nop
|
|
/* 07EA48 8007DE48 10410004 */ beq $v0, $at, .L8007DE5C
|
|
/* 07EA4C 8007DE4C 24010002 */ li $at, 2
|
|
/* 07EA50 8007DE50 10410002 */ beq $v0, $at, .L8007DE5C
|
|
/* 07EA54 8007DE54 24010003 */ li $at, 3
|
|
/* 07EA58 8007DE58 14410003 */ bne $v0, $at, .L8007DE68
|
|
.L8007DE5C:
|
|
/* 07EA5C 8007DE5C 3C01800F */ lui $at, %hi(D_800EEF40) # $at, 0x800f
|
|
/* 07EA60 8007DE60 C424EF40 */ lwc1 $f4, %lo(D_800EEF40)($at)
|
|
/* 07EA64 8007DE64 E7A4002C */ swc1 $f4, 0x2c($sp)
|
|
.L8007DE68:
|
|
/* 07EA68 8007DE68 8FA40030 */ lw $a0, 0x30($sp)
|
|
/* 07EA6C 8007DE6C 0C0229B7 */ jal func_8008A6DC
|
|
/* 07EA70 8007DE70 8FA5002C */ lw $a1, 0x2c($sp)
|
|
/* 07EA74 8007DE74 8FA40030 */ lw $a0, 0x30($sp)
|
|
/* 07EA78 8007DE78 0C01C88F */ jal func_8007223C
|
|
/* 07EA7C 8007DE7C 3C050004 */ lui $a1, 4
|
|
/* 07EA80 8007DE80 1040001C */ beqz $v0, .L8007DEF4
|
|
/* 07EA84 8007DE84 8FA40030 */ lw $a0, 0x30($sp)
|
|
/* 07EA88 8007DE88 0C01C8D5 */ jal func_80072354
|
|
/* 07EA8C 8007DE8C 24050001 */ li $a1, 1
|
|
/* 07EA90 8007DE90 10400018 */ beqz $v0, .L8007DEF4
|
|
/* 07EA94 8007DE94 8FA40030 */ lw $a0, 0x30($sp)
|
|
/* 07EA98 8007DE98 260C0004 */ addiu $t4, $s0, 4
|
|
/* 07EA9C 8007DE9C AFAC0020 */ sw $t4, 0x20($sp)
|
|
/* 07EAA0 8007DEA0 0C01C8A9 */ jal func_800722A4
|
|
/* 07EAA4 8007DEA4 24050001 */ li $a1, 1
|
|
/* 07EAA8 8007DEA8 3C065102 */ lui $a2, (0x51028006 >> 16) # lui $a2, 0x5102
|
|
/* 07EAAC 8007DEAC 34C68006 */ ori $a2, (0x51028006 & 0xFFFF) # ori $a2, $a2, 0x8006
|
|
/* 07EAB0 8007DEB0 8FA40020 */ lw $a0, 0x20($sp)
|
|
/* 07EAB4 8007DEB4 0C032760 */ jal func_800C9D80
|
|
/* 07EAB8 8007DEB8 26050038 */ addiu $a1, $s0, 0x38
|
|
/* 07EABC 8007DEBC 8FA40030 */ lw $a0, 0x30($sp)
|
|
/* 07EAC0 8007DEC0 0C01C9B3 */ jal func_800726CC
|
|
/* 07EAC4 8007DEC4 24050003 */ li $a1, 3
|
|
/* 07EAC8 8007DEC8 860200A4 */ lh $v0, 0xa4($s0)
|
|
/* 07EACC 8007DECC 240F0168 */ li $t7, 360
|
|
/* 07EAD0 8007DED0 2418012C */ li $t8, 300
|
|
/* 07EAD4 8007DED4 18400005 */ blez $v0, .L8007DEEC
|
|
/* 07EAD8 8007DED8 244DFFFF */ addiu $t5, $v0, -1
|
|
/* 07EADC 8007DEDC 240E0168 */ li $t6, 360
|
|
/* 07EAE0 8007DEE0 A60D00A4 */ sh $t5, 0xa4($s0)
|
|
/* 07EAE4 8007DEE4 10000002 */ b .L8007DEF0
|
|
/* 07EAE8 8007DEE8 AE0E004C */ sw $t6, 0x4c($s0)
|
|
.L8007DEEC:
|
|
/* 07EAEC 8007DEEC AE0F004C */ sw $t7, 0x4c($s0)
|
|
.L8007DEF0:
|
|
/* 07EAF0 8007DEF0 AE180048 */ sw $t8, 0x48($s0)
|
|
.L8007DEF4:
|
|
/* 07EAF4 8007DEF4 2404000F */ li $a0, 15
|
|
.L8007DEF8:
|
|
/* 07EAF8 8007DEF8 0C022A2C */ jal func_8008A8B0
|
|
/* 07EAFC 8007DEFC 24050012 */ li $a1, 18
|
|
/* 07EB00 8007DF00 14400002 */ bnez $v0, .L8007DF0C
|
|
/* 07EB04 8007DF04 24190002 */ li $t9, 2
|
|
/* 07EB08 8007DF08 A61900A4 */ sh $t9, 0xa4($s0)
|
|
.L8007DF0C:
|
|
/* 07EB0C 8007DF0C 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 07EB10 8007DF10 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 07EB14 8007DF14 27BD0030 */ addiu $sp, $sp, 0x30
|
|
/* 07EB18 8007DF18 03E00008 */ jr $ra
|
|
/* 07EB1C 8007DF1C 00000000 */ nop
|