mirror of https://github.com/ctnlaring/sm64
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
791 lines
38 KiB
791 lines
38 KiB
# Super Mario 64 (J) disassembly and split file
|
|
# generated by n64split v0.4a - N64 ROM splitter
|
|
|
|
# assembler directives
|
|
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
.set gp=64
|
|
|
|
.include "macros.inc"
|
|
|
|
|
|
.section .text, "ax"
|
|
/* 000040 00000000 40806800 */ mtc0 $zero, $13
|
|
/* 000044 00000004 40804800 */ mtc0 $zero, $9
|
|
/* 000048 00000008 40805800 */ mtc0 $zero, $11
|
|
/* 00004C 0000000C 3C08A470 */ lui $t0, 0xa470
|
|
/* 000050 00000010 25080000 */ addiu $t0, $t0, 0
|
|
/* 000054 00000014 8D09000C */ lw $t1, 0xc($t0)
|
|
/* 000058 00000018 152000ED */ bnez $t1, .L000003D0
|
|
/* 00005C 0000001C 00000000 */ nop
|
|
/* 000060 00000020 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
/* 000064 00000024 AFB30000 */ sw $s3, ($sp)
|
|
/* 000068 00000028 AFB40004 */ sw $s4, 4($sp)
|
|
/* 00006C 0000002C AFB50008 */ sw $s5, 8($sp)
|
|
/* 000070 00000030 AFB6000C */ sw $s6, 0xc($sp)
|
|
/* 000074 00000034 AFB70010 */ sw $s7, 0x10($sp)
|
|
/* 000078 00000038 3C08A470 */ lui $t0, 0xa470
|
|
/* 00007C 0000003C 25080000 */ addiu $t0, $t0, 0
|
|
/* 000080 00000040 3C0AA3F8 */ lui $t2, %hi(D_A3F80004) # $t2, 0xa3f8
|
|
/* 000084 00000044 3C0BA3F0 */ lui $t3, 0xa3f0
|
|
/* 000088 00000048 3C0CA430 */ lui $t4, 0xa430
|
|
/* 00008C 0000004C 258C0000 */ addiu $t4, $t4, 0
|
|
/* 000090 00000050 34090040 */ ori $t1, $zero, 64
|
|
/* 000094 00000054 AD090004 */ sw $t1, 4($t0)
|
|
/* 000098 00000058 24111F40 */ li $s1, 8000
|
|
.L0000005C:
|
|
/* 00009C 0000005C 00000000 */ nop
|
|
/* 0000A0 00000060 2231FFFF */ addi $s1, $s1, -1
|
|
/* 0000A4 00000064 1620FFFD */ bnez $s1, .L0000005C
|
|
/* 0000A8 00000068 00000000 */ nop
|
|
/* 0000AC 0000006C AD000008 */ sw $zero, 8($t0)
|
|
/* 0000B0 00000070 24090014 */ ori $t1, $zero, 20
|
|
/* 0000B4 00000074 AD09000C */ sw $t1, 0xc($t0)
|
|
/* 0000B8 00000078 AD000000 */ sw $zero, ($t0)
|
|
/* 0000BC 0000007C 24110004 */ li $s1, 4
|
|
.L00000080:
|
|
/* 0000C0 00000080 00000000 */ nop
|
|
/* 0000C4 00000084 2231FFFF */ addi $s1, $s1, -1
|
|
/* 0000C8 00000088 1620FFFD */ bnez $s1, .L00000080
|
|
/* 0000CC 0000008C 00000000 */ nop
|
|
/* 0000D0 00000090 3209000E */ ori $t1, $zero, 14
|
|
/* 0000D4 00000094 AD090000 */ sw $t1, ($t0)
|
|
/* 0000D8 00000098 24110020 */ li $s1, 32
|
|
.L0000009C:
|
|
/* 0000DC 0000009C 2231FFFF */ addi $s1, $s1, -1
|
|
/* 0000E0 000000A0 1620FFFE */ bnez $s1, .L0000009C
|
|
/* 0000E4 000000A4 3409010F */ ori $t1, $zero, 271
|
|
/* 0000E8 000000A8 AD890000 */ sw $t1, ($t4)
|
|
/* 0000EC 000000AC 3C091808 */ lui $t1, (0x18082838 >> 16) # lui $t1, 0x1808
|
|
/* 0000F0 000000B0 35292838 */ ori $t1, (0x18082838 & 0xFFFF) # ori $t1, $t1, 0x2838
|
|
/* 0000F4 000000B4 AD490008 */ sw $t1, %lo(D_A3F80008)($t2)
|
|
/* 0000F8 000000B8 AD400014 */ sw $zero, %lo(D_A3F80014)($t2)
|
|
/* 0000FC 000000BC 3C098000 */ lui $t1, 0x8000
|
|
/* 000100 000000C0 AD490004 */ sw $t1, %lo(D_A3F80004)($t2)
|
|
/* 000104 000000C4 00006825 */ move $t5, $zero
|
|
/* 000108 000000C8 00007025 */ move $t6, $zero
|
|
/* 00010C 000000CC 3C0FA3F0 */ lui $t7, %hi(D_A3F00018) # $t7, 0xa3f0
|
|
/* 000110 000000D0 0000C025 */ move $t8, $zero
|
|
/* 000114 000000D4 3C19A3F0 */ lui $t9, 0xa3f0
|
|
/* 000118 000000D8 3C16A000 */ lui $s6, 0xa000
|
|
/* 00011C 000000DC 0000B825 */ move $s7, $zero
|
|
/* 000120 000000E0 3C06A3F0 */ lui $a2, 0xa3f0
|
|
/* 000124 000000E4 3C07A000 */ lui $a3, 0xa000
|
|
/* 000128 000000E8 00009025 */ move $s2, $zero
|
|
/* 00012C 000000EC 3C14A000 */ lui $s4, 0xa000
|
|
/* 000130 000000F0 27BDFFB8 */ addiu $sp, $sp, -0x48
|
|
/* 000134 000000F4 03A0F025 */ move $fp, $sp
|
|
/* 000138 000000F8 3C10A430 */ lui $s0, %hi(D_A4300004) # $s0, 0xa430
|
|
/* 00013C 000000FC 8E100004 */ lw $s0, %lo(D_A4300004)($s0)
|
|
/* 000140 00000100 3C110101 */ lui $s1, 0x0101 # $s1, 0x101
|
|
/* 000144 00000104 26310101 */ addiu $s1, 0x0101 # addiu $s1, $s1, 0x101
|
|
/* 000148 00000108 16110005 */ bne $s0, $s1, .L00000120
|
|
/* 00014C 0000010C 00000000 */ nop
|
|
/* 000150 00000110 24100200 */ li $s0, 512
|
|
/* 000154 00000114 35714000 */ ori $s1, $t3, 0x4000
|
|
/* 000158 00000118 10000003 */ b .L00000128
|
|
/* 00015C 0000011C 00000000 */ nop
|
|
.L00000120:
|
|
/* 000160 00000120 24100400 */ li $s0, 1024
|
|
/* 000164 00000124 35718000 */ ori $s1, $t3, 0x8000
|
|
.L00000128:
|
|
/* 000168 00000128 AE2E0004 */ sw $t6, 4($s1)
|
|
/* 00016C 0000012C 25F5000C */ addiu $s5, $t7, 0xc
|
|
/* 000170 00000130 0D0001DE */ jal func_04000778
|
|
/* 000174 00000134 00000000 */ nop
|
|
/* 000178 00000138 10400038 */ beqz $v0, .L0000021C
|
|
/* 00017C 0000013C 00000000 */ nop
|
|
/* 000180 00000140 AFA20000 */ sw $v0, ($sp)
|
|
/* 000184 00000144 24092000 */ li $t1, 8192
|
|
/* 000188 00000148 AD890000 */ sw $t1, ($t4)
|
|
/* 00018C 0000014C 8DEB0000 */ lw $t3, ($t7)
|
|
/* 000190 00000150 3C08F0FF */ lui $t0, 0xf0ff
|
|
/* 000194 00000154 01685824 */ and $t3, $t3, $t0
|
|
/* 000198 00000158 AFAB0004 */ sw $t3, 4($sp)
|
|
/* 00019C 0000015C 23BD0008 */ addi $sp, $sp, 8
|
|
/* 0001A0 00000160 24091000 */ li $t1, 4096
|
|
/* 0001A4 00000164 AD890000 */ sw $t1, ($t4)
|
|
/* 0001A8 00000168 3C08B019 */ lui $t0, 0xb019
|
|
/* 0001AC 0000016C 1568000C */ bne $t3, $t0, .L000001A0
|
|
/* 0001B0 00000170 00000000 */ nop
|
|
/* 0001B4 00000174 3C080800 */ lui $t0, 0x800
|
|
/* 0001B8 00000178 0308C020 */ add $t8, $t8, $t0
|
|
/* 0001BC 0000017C 0330C820 */ add $t9, $t9, $s0
|
|
/* 0001C0 00000180 0330C820 */ add $t9, $t9, $s0
|
|
/* 0001C4 00000184 3C080020 */ lui $t0, 0x20
|
|
/* 0001C8 00000188 02C8B020 */ add $s6, $s6, $t0
|
|
/* 0001CC 0000018C 0288A020 */ add $s4, $s4, $t0
|
|
/* 0001D0 00000190 00129040 */ sll $s2, $s2, 1
|
|
/* 0001D4 00000194 22520001 */ addi $s2, $s2, 1
|
|
/* 0001D8 00000198 10000003 */ b .L000001A8
|
|
/* 0001DC 0000019C 00000000 */ nop
|
|
.L000001A0:
|
|
/* 0001E0 000001A0 3C080010 */ lui $t0, 0x10
|
|
/* 0001E4 000001A4 0288A020 */ add $s4, $s4, $t0
|
|
.L000001A8:
|
|
/* 0001E8 000001A8 24082000 */ li $t0, 8192
|
|
/* 0001EC 000001AC AD880000 */ sw $t0, ($t4)
|
|
/* 0001F0 000001B0 8DE90024 */ lw $t1, %lo(D_A3F00024)($t7)
|
|
/* 0001F4 000001B4 8DFA0000 */ lw $k0, ($t7)
|
|
/* 0001F8 000001B8 24081000 */ li $t0, 4096
|
|
/* 0001FC 000001BC AD880000 */ sw $t0, ($t4)
|
|
/* 000200 000001C0 3129FFFF */ andi $t1, $t1, 0xffff
|
|
/* 000204 000001C4 24080500 */ li $t0, 1280
|
|
/* 000208 000001C8 15280009 */ bne $t1, $t0, .L000001F0
|
|
/* 00020C 000001CC 00000000 */ nop
|
|
/* 000210 000001D0 3C1B0100 */ lui $k1, 0x100
|
|
/* 000214 000001D4 035BD024 */ and $k0, $k0, $k1
|
|
/* 000218 000001D8 17400005 */ bnez $k0, .L000001F0
|
|
/* 00021C 000001DC 00000000 */ nop
|
|
/* 000220 000001E0 3C08101C */ lui $t0, (0x101C0A04 >> 16) # lui $t0, 0x101c
|
|
/* 000224 000001E4 35080A04 */ ori $t0, (0x101C0A04 & 0xFFFF) # ori $t0, $t0, 0xa04
|
|
/* 000228 000001E8 ADE80018 */ sw $t0, %lo(D_A3F00018)($t7)
|
|
/* 00022C 000001EC 10000003 */ b .L000001FC
|
|
.L000001F0:
|
|
/* 000230 000001F0 3C08080C */ lui $t0, (0x080C1204 >> 16) # lui $t0, 0x80c
|
|
/* 000234 000001F4 35081204 */ ori $t0, (0x080C1204 & 0xFFFF) # ori $t0, $t0, 0x1204
|
|
/* 000238 000001F8 ADE80018 */ sw $t0, %lo(D_A3F00018)($t7)
|
|
.L000001FC:
|
|
/* 00023C 000001FC 3C080800 */ lui $t0, 0x800
|
|
/* 000240 00000200 01C87020 */ add $t6, $t6, $t0
|
|
/* 000244 00000204 01F07820 */ add $t7, $t7, $s0
|
|
/* 000248 00000208 01F07820 */ add $t7, $t7, $s0
|
|
/* 00024C 0000020C 25AD0001 */ addiu $t5, $t5, 1
|
|
/* 000250 00000210 2DA80008 */ sltiu $t0, $t5, 8
|
|
/* 000254 00000214 1500FFC4 */ bnez $t0, .L00000128
|
|
/* 000258 00000218 00000000 */ nop
|
|
.L0000021C:
|
|
/* 00025C 0000021C 3C08C400 */ lui $t0, 0xc400
|
|
/* 000260 00000220 AD48000C */ sw $t0, %lo(D_A3F8000C)($t2)
|
|
/* 000264 00000224 3C088000 */ lui $t0, 0x8000
|
|
/* 000268 00000228 AD480004 */ sw $t0, %lo(D_A3F80004)($t2)
|
|
/* 00026C 0000022C 03C0E825 */ move $sp, $fp
|
|
/* 000270 00000230 00001825 */ move $v1, $zero
|
|
.L00000234:
|
|
/* 000274 00000234 8FA90004 */ lw $t1, 4($sp)
|
|
/* 000278 00000238 3C08B009 */ lui $t0, 0xb009
|
|
/* 00027C 0000023C 15280016 */ bne $t1, $t0, .L00000298
|
|
/* 000280 00000240 00000000 */ nop
|
|
/* 000284 00000244 AE380004 */ sw $t8, 4($s1)
|
|
/* 000288 00000248 2735000C */ addiu $s5, $t9, 0xc
|
|
/* 00028C 0000024C 8FA40000 */ lw $a0, ($sp)
|
|
/* 000290 00000250 23BD0008 */ addi $sp, $sp, 8
|
|
/* 000294 00000254 24050001 */ li $a1, 1
|
|
/* 000298 00000258 0D000290 */ jal func_04000A40
|
|
/* 00029C 0000025C 00000000 */ nop
|
|
/* 0002A0 00000260 8EC80000 */ lw $t0, ($s6)
|
|
/* 0002A4 00000264 3C080008 */ lui $t0, 8
|
|
/* 0002A8 00000268 01164020 */ add $t0, $t0, $s6
|
|
/* 0002AC 0000026C 8D090000 */ lw $t1, ($t0)
|
|
/* 0002B0 00000270 8EC80000 */ lw $t0, ($s6)
|
|
/* 0002B4 00000274 3C080008 */ lui $t0, 8
|
|
/* 0002B8 00000278 01164020 */ add $t0, $t0, $s6
|
|
/* 0002BC 0000027C 8D090000 */ lw $t1, ($t0)
|
|
/* 0002C0 00000280 3C080400 */ lui $t0, 0x400
|
|
/* 0002C4 00000284 01C87020 */ add $t6, $t6, $t0
|
|
/* 0002C8 00000288 0330C820 */ add $t9, $t9, $s0
|
|
/* 0002CC 0000028C 3C080010 */ lui $t0, 0x10
|
|
/* 0002D0 00000290 02C8B020 */ add $s6, $s6, $t0
|
|
/* 0002D4 00000294 10000021 */ b .L0000031C
|
|
.L00000298:
|
|
/* 0002D8 00000298 AE370004 */ sw $s7, 4($s1)
|
|
/* 0002DC 0000029C 24D5000C */ addiu $s5, $a2, 0xc
|
|
/* 0002E0 000002A0 8FA40000 */ lw $a0, ($sp)
|
|
/* 0002E4 000002A4 23BD0008 */ addi $sp, $sp, 8
|
|
/* 0002E8 000002A8 24050001 */ li $a1, 1
|
|
/* 0002EC 000002AC 0D000290 */ jal func_04000A40
|
|
/* 0002F0 000002B0 00000000 */ nop
|
|
/* 0002F4 000002B4 8CE80000 */ lw $t0, ($a3)
|
|
/* 0002F8 000002B8 3C080008 */ lui $t0, 8
|
|
/* 0002FC 000002BC 01074020 */ add $t0, $t0, $a3
|
|
/* 000300 000002C0 8D090000 */ lw $t1, ($t0)
|
|
/* 000304 000002C4 3C080010 */ lui $t0, 0x10
|
|
/* 000308 000002C8 01074020 */ add $t0, $t0, $a3
|
|
/* 00030C 000002CC 8D090000 */ lw $t1, ($t0)
|
|
/* 000310 000002D0 3C080018 */ lui $t0, 0x18
|
|
/* 000314 000002D4 01074020 */ add $t0, $t0, $a3
|
|
/* 000318 000002D8 8D090000 */ lw $t1, ($t0)
|
|
/* 00031C 000002DC 8CE80000 */ lw $t0, ($a3)
|
|
/* 000320 000002E0 3C080008 */ lui $t0, 8
|
|
/* 000324 000002E4 01074020 */ add $t0, $t0, $a3
|
|
/* 000328 000002E8 8D090000 */ lw $t1, ($t0)
|
|
/* 00032C 000002EC 3C080010 */ lui $t0, 0x10
|
|
/* 000330 000002F0 01074020 */ add $t0, $t0, $a3
|
|
/* 000334 000002F4 8D090000 */ lw $t1, ($t0)
|
|
/* 000338 000002F8 3C080018 */ lui $t0, 0x18
|
|
/* 00033C 000002FC 01074020 */ add $t0, $t0, $a3
|
|
/* 000340 00000300 8D090000 */ lw $t1, ($t0)
|
|
/* 000344 00000304 3C080800 */ lui $t0, 0x800
|
|
/* 000348 00000308 02E8B820 */ add $s7, $s7, $t0
|
|
/* 00034C 0000030C 00D03020 */ add $a2, $a2, $s0
|
|
/* 000350 00000310 00D03020 */ add $a2, $a2, $s0
|
|
/* 000354 00000314 3C080020 */ lui $t0, 0x20
|
|
/* 000358 00000318 00E83820 */ add $a3, $a3, $t0
|
|
.L0000031C:
|
|
/* 00035C 0000031C 24630001 */ addiu $v1, $v1, 1
|
|
/* 000360 00000320 006D402A */ slt $t0, $v1, $t5
|
|
/* 000364 00000324 1500FFC3 */ bnez $t0, .L00000234
|
|
/* 000368 00000328 00000000 */ nop
|
|
/* 00036C 0000032C 3C0AA470 */ lui $t2, %hi(D_A4700010) # $t2, 0xa470
|
|
/* 000370 00000330 001294C0 */ sll $s2, $s2, 0x13
|
|
/* 000374 00000334 3C090006 */ lui $t1, (0x00063634 >> 16) # lui $t1, 6
|
|
/* 000378 00000338 35293634 */ ori $t1, (0x00063634 & 0xFFFF) # ori $t1, $t1, 0x3634
|
|
/* 00037C 0000033C 01324825 */ or $t1, $t1, $s2
|
|
/* 000380 00000340 AD490010 */ sw $t1, %lo(D_A4700010)($t2)
|
|
/* 000384 00000344 8D490010 */ lw $t1, %lo(D_A4700010)($t2)
|
|
/* 000388 00000348 3C08A000 */ lui $t0, %hi(D_A0000018) # $t0, 0xa000
|
|
/* 00038C 0000034C 35080300 */ ori $t0, (0xA0000300 & 0xFFFF) # ori $t0, $t0, 0x300
|
|
/* 000390 00000350 3C090FFF */ lui $t1, (0x0FFFFFFF >> 16) # lui $t1, 0xfff
|
|
/* 000394 00000354 3529FFFF */ ori $t1, (0x0FFFFFFF & 0xFFFF) # ori $t1, $t1, 0xffff
|
|
/* 000398 00000358 02C9B024 */ and $s6, $s6, $t1
|
|
/* 00039C 0000035C AD160018 */ sw $s6, %lo(D_A0000018)($t0)
|
|
/* 0003A0 00000360 03C0E825 */ move $sp, $fp
|
|
/* 0003A4 00000364 27BD0048 */ addiu $sp, $sp, 0x48
|
|
/* 0003A8 00000368 8FB30000 */ lw $s3, ($sp)
|
|
/* 0003AC 0000036C 8FB40004 */ lw $s4, 4($sp)
|
|
/* 0003B0 00000370 8FB50008 */ lw $s5, 8($sp)
|
|
/* 0003B4 00000374 8FB6000C */ lw $s6, 0xc($sp)
|
|
/* 0003B8 00000378 8FB70010 */ lw $s7, 0x10($sp)
|
|
/* 0003BC 0000037C 27BD0018 */ addiu $sp, $sp, 0x18
|
|
/* 0003C0 00000380 3C088000 */ lui $t0, 0x8000
|
|
/* 0003C4 00000384 25080000 */ addiu $t0, $t0, 0
|
|
/* 0003C8 00000388 25094000 */ addiu $t1, $t0, 0x4000
|
|
/* 0003CC 0000038C 2529FFE0 */ addiu $t1, $t1, -0x20
|
|
/* 0003D0 00000390 4080E000 */ mtc0 $zero, $28
|
|
/* 0003D4 00000394 4080E800 */ mtc0 $zero, $29
|
|
.L00000398:
|
|
/* 0003D8 00000398 BD080000 */ cache 8, ($t0)
|
|
/* 0003DC 0000039C 0109082B */ sltu $at, $t0, $t1
|
|
/* 0003E0 000003A0 1420FFFD */ bnez $at, .L00000398
|
|
/* 0003E4 000003A4 25080020 */ addiu $t0, $t0, 0x20
|
|
/* 0003E8 000003A8 3C088000 */ lui $t0, 0x8000
|
|
/* 0003EC 000003AC 25080000 */ addiu $t0, $t0, 0
|
|
/* 0003F0 000003B0 25092000 */ addiu $t1, $t0, 0x2000
|
|
/* 0003F4 000003B4 2529FFF0 */ addiu $t1, $t1, -0x10
|
|
.L000003B8:
|
|
/* 0003F8 000003B8 BD090000 */ cache 9, ($t0)
|
|
/* 0003FC 000003BC 0109082B */ sltu $at, $t0, $t1
|
|
/* 000400 000003C0 1420FFFD */ bnez $at, .L000003B8
|
|
/* 000404 000003C4 25080010 */ addiu $t0, $t0, 0x10
|
|
/* 000408 000003C8 10000013 */ b .L00000418
|
|
/* 00040C 000003CC 00000000 */ nop
|
|
.L000003D0:
|
|
/* 000410 000003D0 3C088000 */ lui $t0, 0x8000
|
|
/* 000414 000003D4 25080000 */ addiu $t0, $t0, 0
|
|
/* 000418 000003D8 25094000 */ addiu $t1, $t0, 0x4000
|
|
/* 00041C 000003DC 2529FFE0 */ addiu $t1, $t1, -0x20
|
|
/* 000420 000003E0 4080E000 */ mtc0 $zero, $28
|
|
/* 000424 000003E4 4080E800 */ mtc0 $zero, $29
|
|
.L000003E8:
|
|
/* 000428 000003E8 BD080000 */ cache 8, ($t0)
|
|
/* 00042C 000003EC 0109082B */ sltu $at, $t0, $t1
|
|
/* 000430 000003F0 1420FFFD */ bnez $at, .L000003E8
|
|
/* 000434 000003F4 25080020 */ addiu $t0, $t0, 0x20
|
|
/* 000438 000003F8 3C088000 */ lui $t0, 0x8000
|
|
/* 00043C 000003FC 25080000 */ addiu $t0, $t0, 0
|
|
/* 000440 00000400 25092000 */ addiu $t1, $t0, 0x2000
|
|
/* 000444 00000404 2529FFF0 */ addiu $t1, $t1, -0x10
|
|
.L00000408:
|
|
/* 000448 00000408 BD010000 */ cache 1, ($t0)
|
|
/* 00044C 0000040C 0109082B */ sltu $at, $t0, $t1
|
|
/* 000450 00000410 1420FFFD */ bnez $at, .L00000408
|
|
/* 000454 00000414 25080010 */ addiu $t0, $t0, 0x10
|
|
.L00000418:
|
|
/* 000458 00000418 3C0AA400 */ lui $t2, 0xa400
|
|
/* 00045C 0000041C 254A0000 */ addiu $t2, $t2, 0
|
|
/* 000460 00000420 3C0BFFF0 */ lui $t3, 0xfff0
|
|
/* 000464 00000424 3C090010 */ lui $t1, 0x0010 # $t1, 0x10
|
|
/* 000468 00000428 014B5024 */ and $t2, $t2, $t3
|
|
/* 00046C 0000042C 3C08A400 */ lui $t0, %hi(D_A40004C0) # $t0, 0xa400
|
|
/* 000470 00000430 2529FFFF */ addiu $t1, -1 # addiu $t1, $t1, -1
|
|
/* 000474 00000434 3C0BA400 */ lui $t3, %hi(D_A4000774) # $t3, 0xa400
|
|
/* 000478 00000438 250804C0 */ addiu $t0, %lo(D_A40004C0) # addiu $t0, $t0, 0x4c0
|
|
/* 00047C 0000043C 256B0774 */ addiu $t3, %lo(D_A4000774) # addiu $t3, $t3, 0x774
|
|
/* 000480 00000440 01094024 */ and $t0, $t0, $t1
|
|
/* 000484 00000444 01695824 */ and $t3, $t3, $t1
|
|
/* 000488 00000448 3C09A000 */ lui $t1, 0xa000
|
|
/* 00048C 0000044C 010A4025 */ or $t0, $t0, $t2
|
|
/* 000490 00000450 016A5825 */ or $t3, $t3, $t2
|
|
/* 000494 00000454 25290000 */ addiu $t1, $t1, 0
|
|
.L00000458:
|
|
/* 000498 00000458 8D0D0000 */ lw $t5, ($t0)
|
|
/* 00049C 0000045C 25080004 */ addiu $t0, $t0, 4
|
|
/* 0004A0 00000460 010B082B */ sltu $at, $t0, $t3
|
|
/* 0004A4 00000464 25290004 */ addiu $t1, $t1, 4
|
|
/* 0004A8 00000468 1420FFFB */ bnez $at, .L00000458
|
|
/* 0004AC 0000046C AD2DFFFC */ sw $t5, -4($t1)
|
|
/* 0004B0 00000470 3C0C8000 */ lui $t4, 0x8000
|
|
/* 0004B4 00000474 258C0000 */ addiu $t4, $t4, 0
|
|
/* 0004B8 00000478 01800008 */ jr $t4
|
|
/* 0004BC 0000047C 00000000 */ nop
|
|
/* 0004C0 00000480 3C0BB000 */ lui $t3, %hi(D_B0000008) # $t3, 0xb000
|
|
/* 0004C4 00000484 8D690008 */ lw $t1, %lo(D_B0000008)($t3)
|
|
/* 0004C8 00000488 3C0A1FFF */ lui $t2, (0x1FFFFFFF >> 16) # lui $t2, 0x1fff
|
|
/* 0004CC 0000048C 354AFFFF */ ori $t2, (0x1FFFFFFF & 0xFFFF) # ori $t2, $t2, 0xffff
|
|
/* 0004D0 00000490 3C01A460 */ lui $at, 0xa460
|
|
/* 0004D4 00000494 012A4824 */ and $t1, $t1, $t2
|
|
/* 0004D8 00000498 AC290000 */ sw $t1, ($at)
|
|
/* 0004DC 0000049C 3C08A460 */ lui $t0, %hi(D_A4600010) # $t0, 0xa460
|
|
.L000004A0:
|
|
/* 0004E0 000004A0 8D080010 */ lw $t0, %lo(D_A4600010)($t0)
|
|
/* 0004E4 000004A4 31080002 */ andi $t0, $t0, 2
|
|
/* 0004E8 000004A8 5500FFFD */ bnezl $t0, .L000004A0
|
|
/* 0004EC 000004AC 3C08A460 */ lui $t0, 0xa460
|
|
/* 0004F0 000004B0 24081000 */ li $t0, 4096
|
|
/* 0004F4 000004B4 010B4020 */ add $t0, $t0, $t3
|
|
/* 0004F8 000004B8 010A4024 */ and $t0, $t0, $t2
|
|
/* 0004FC 000004BC 3C01A460 */ lui $at, %hi(D_A4600004) # $at, 0xa460
|
|
/* 000500 000004C0 AC280004 */ sw $t0, %lo(D_A4600004)($at)
|
|
/* 000504 000004C4 3C0A0010 */ lui $t2, 0x0010 # $t2, 0x10
|
|
/* 000508 000004C8 254AFFFF */ addiu $t2, 0xFFFF # addiu $t2, $t2, -1
|
|
/* 00050C 000004CC 3C01A460 */ lui $at, %hi(D_A460000C) # $at, 0xa460
|
|
/* 000510 000004D0 AC2A000C */ sw $t2, %lo(D_A460000C)($at)
|
|
|
|
.L000004D4:
|
|
/* 000514 000004D4 00000000 */ nop
|
|
/* 000518 000004D8 00000000 */ nop
|
|
/* 00051C 000004DC 00000000 */ nop
|
|
/* 000520 000004E0 00000000 */ nop
|
|
/* 000524 000004E4 00000000 */ nop
|
|
/* 000528 000004E8 00000000 */ nop
|
|
/* 00052C 000004EC 00000000 */ nop
|
|
/* 000530 000004F0 00000000 */ nop
|
|
/* 000534 000004F4 00000000 */ nop
|
|
/* 000538 000004F8 00000000 */ nop
|
|
/* 00053C 000004FC 00000000 */ nop
|
|
/* 000540 00000500 00000000 */ nop
|
|
/* 000544 00000504 00000000 */ nop
|
|
/* 000548 00000508 00000000 */ nop
|
|
/* 00054C 0000050C 00000000 */ nop
|
|
/* 000550 00000510 00000000 */ nop
|
|
/* 000554 00000514 00000000 */ nop
|
|
/* 000558 00000518 00000000 */ nop
|
|
/* 00055C 0000051C 00000000 */ nop
|
|
/* 000560 00000520 00000000 */ nop
|
|
/* 000564 00000524 00000000 */ nop
|
|
/* 000568 00000528 00000000 */ nop
|
|
/* 00056C 0000052C 00000000 */ nop
|
|
/* 000570 00000530 00000000 */ nop
|
|
/* 000574 00000534 00000000 */ nop
|
|
/* 000578 00000538 00000000 */ nop
|
|
/* 00057C 0000053C 00000000 */ nop
|
|
/* 000580 00000540 00000000 */ nop
|
|
/* 000584 00000544 3C0BA460 */ lui $t3, %hi(D_A4600010) # $t3, 0xa460
|
|
/* 000588 00000548 8D6B0010 */ lw $t3, %lo(D_A4600010)($t3)
|
|
/* 00058C 0000054C 316B0001 */ andi $t3, $t3, 1
|
|
/* 000590 00000550 1560FFE0 */ bnez $t3, .L000004D4
|
|
/* 000594 00000554 00000000 */ nop
|
|
/* 000598 00000558 3C0BB000 */ lui $t3, %hi(D_B0000008) # $t3, 0xb000
|
|
/* 00059C 0000055C 8D640008 */ lw $a0, %lo(D_B0000008)($t3)
|
|
/* 0005A0 00000560 02C02825 */ move $a1, $s6
|
|
/* 0005A4 00000564 3C015D58 */ lui $at, (0x5D588B65 >> 16) # lui $at, 0x5d58
|
|
/* 0005A8 00000568 34218B65 */ ori $at, (0x5D588B65 & 0xFFFF) # ori $at, $at, 0x8b65
|
|
/* 0005AC 0000056C 00A10019 */ multu $a1, $at
|
|
/* 0005B0 00000570 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 0005B4 00000574 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 0005B8 00000578 AFB00014 */ sw $s0, 0x14($sp)
|
|
/* 0005BC 0000057C 3C1F0010 */ lui $ra, 0x10
|
|
/* 0005C0 00000580 00001825 */ move $v1, $zero
|
|
/* 0005C4 00000584 00004025 */ move $t0, $zero
|
|
/* 0005C8 00000588 00804825 */ move $t1, $a0
|
|
/* 0005CC 0000058C 240D0020 */ li $t5, 32
|
|
/* 0005D0 00000590 00001012 */ mflo $v0
|
|
/* 0005D4 00000594 24420001 */ addiu $v0, $v0, 1
|
|
/* 0005D8 00000598 00403825 */ move $a3, $v0
|
|
/* 0005DC 0000059C 00405025 */ move $t2, $v0
|
|
/* 0005E0 000005A0 00405825 */ move $t3, $v0
|
|
/* 0005E4 000005A4 00408025 */ move $s0, $v0
|
|
/* 0005E8 000005A8 00403025 */ move $a2, $v0
|
|
/* 0005EC 000005AC 00406025 */ move $t4, $v0
|
|
.L000005B0:
|
|
/* 0005F0 000005B0 8D220000 */ lw $v0, ($t1)
|
|
/* 0005F4 000005B4 00E21821 */ addu $v1, $a3, $v0
|
|
/* 0005F8 000005B8 0067082B */ sltu $at, $v1, $a3
|
|
/* 0005FC 000005BC 10200002 */ beqz $at, .L000005C8
|
|
/* 000600 000005C0 00602825 */ move $a1, $v1
|
|
/* 000604 000005C4 254A0001 */ addiu $t2, $t2, 1
|
|
.L000005C8:
|
|
/* 000608 000005C8 3043001F */ andi $v1, $v0, 0x1f
|
|
/* 00060C 000005CC 01A37823 */ subu $t7, $t5, $v1
|
|
/* 000610 000005D0 01E2C006 */ srlv $t8, $v0, $t7
|
|
/* 000614 000005D4 00627004 */ sllv $t6, $v0, $v1
|
|
/* 000618 000005D8 01D82025 */ or $a0, $t6, $t8
|
|
/* 00061C 000005DC 00C2082B */ sltu $at, $a2, $v0
|
|
/* 000620 000005E0 00A03825 */ move $a3, $a1
|
|
/* 000624 000005E4 01625826 */ xor $t3, $t3, $v0
|
|
/* 000628 000005E8 10200004 */ beqz $at, .L000005FC
|
|
/* 00062C 000005EC 02048021 */ addu $s0, $s0, $a0
|
|
/* 000630 000005F0 00E2C826 */ xor $t9, $a3, $v0
|
|
/* 000634 000005F4 10000002 */ b .L00000600
|
|
/* 000638 000005F8 03263026 */ xor $a2, $t9, $a2
|
|
.L000005FC:
|
|
/* 00063C 000005FC 00C43026 */ xor $a2, $a2, $a0
|
|
.L00000600:
|
|
/* 000640 00000600 25080004 */ addiu $t0, $t0, 4
|
|
/* 000644 00000604 00507826 */ xor $t7, $v0, $s0
|
|
/* 000648 00000608 25290004 */ addiu $t1, $t1, 4
|
|
/* 00064C 0000060C 151FFFE8 */ bne $t0, $ra, .L000005B0
|
|
/* 000650 00000610 01EC6021 */ addu $t4, $t7, $t4
|
|
/* 000654 00000614 00EA7026 */ xor $t6, $a3, $t2
|
|
/* 000658 00000618 01CB3826 */ xor $a3, $t6, $t3
|
|
/* 00065C 0000061C 0206C026 */ xor $t8, $s0, $a2
|
|
/* 000660 00000620 030C8026 */ xor $s0, $t8, $t4
|
|
/* 000664 00000624 3C0BB000 */ lui $t3, %hi(D_B0000014) # $t3, 0xb000
|
|
/* 000668 00000628 8D680010 */ lw $t0, %lo(D_B0000010)($t3)
|
|
/* 00066C 0000062C 14E80006 */ bne $a3, $t0, .L00000648
|
|
/* 000670 00000630 00000000 */ nop
|
|
/* 000674 00000634 8D680014 */ lw $t0, %lo(D_B0000014)($t3)
|
|
/* 000678 00000638 16080003 */ bne $s0, $t0, .L00000648
|
|
/* 00067C 0000063C 00000000 */ nop
|
|
/* 000680 00000640 04110003 */ bal func_00000650
|
|
/* 000684 00000644 00000000 */ nop
|
|
func_00000648:
|
|
.L00000648:
|
|
/* 000688 00000648 0411FFFF */ bal func_00000648
|
|
/* 00068C 0000064C 00000000 */ nop
|
|
func_00000650:
|
|
/* 000690 00000650 3C09A408 */ lui $t1, 0xa408
|
|
/* 000694 00000654 8D290000 */ lw $t1, ($t1)
|
|
/* 000698 00000658 8FB00014 */ lw $s0, 0x14($sp)
|
|
/* 00069C 0000065C 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 0006A0 00000660 11200006 */ beqz $t1, .L0000067C
|
|
/* 0006A4 00000664 27BD0020 */ addiu $sp, $sp, 0x20
|
|
/* 0006A8 00000668 240A0041 */ li $t2, 65
|
|
/* 0006AC 0000066C 3C01A404 */ lui $at, %hi(D_A4040010) # $at, 0xa404
|
|
/* 0006B0 00000670 AC2A0010 */ sw $t2, %lo(D_A4040010)($at)
|
|
/* 0006B4 00000674 3C01A408 */ lui $at, 0xa408
|
|
/* 0006B8 00000678 AC200000 */ sw $zero, ($at)
|
|
.L0000067C:
|
|
/* 0006BC 0000067C 3C0B00AA */ lui $t3, (0x00AAAAAE >> 16) # lui $t3, 0xaa
|
|
/* 0006C0 00000680 356BAAAE */ ori $t3, (0x00AAAAAE & 0xFFFF) # ori $t3, $t3, 0xaaae
|
|
/* 0006C4 00000684 3C01A404 */ lui $at, %hi(D_A4040010) # $at, 0xa404
|
|
/* 0006C8 00000688 AC2B0010 */ sw $t3, %lo(D_A4040010)($at)
|
|
/* 0006CC 0000068C 3C01A430 */ lui $at, %hi(D_A430000C) # $at, 0xa430
|
|
/* 0006D0 00000690 24080555 */ li $t0, 1365
|
|
/* 0006D4 00000694 AC28000C */ sw $t0, %lo(D_A430000C)($at)
|
|
/* 0006D8 00000698 3C01A480 */ lui $at, %hi(D_A4800018) # $at, 0xa480
|
|
/* 0006DC 0000069C AC200018 */ sw $zero, %lo(D_A4800018)($at)
|
|
/* 0006E0 000006A0 3C01A450 */ lui $at, %hi(D_A450000C) # $at, 0xa450
|
|
/* 0006E4 000006A4 AC20000C */ sw $zero, %lo(D_A450000C)($at)
|
|
/* 0006E8 000006A8 3C01A430 */ lui $at, 0xa430
|
|
/* 0006EC 000006AC 24090800 */ li $t1, 2048
|
|
/* 0006F0 000006B0 AC290000 */ sw $t1, ($at)
|
|
/* 0006F4 000006B4 24090002 */ li $t1, 2
|
|
/* 0006F8 000006B8 3C01A460 */ lui $at, %hi(D_A4600010) # $at, 0xa460
|
|
/* 0006FC 000006BC 3C08A000 */ lui $t0, %hi(D_A0000008) # $t0, 0xa000
|
|
/* 000700 000006C0 35080300 */ ori $t0, (0xA0000300 & 0xFFFF) # ori $t0, $t0, 0x300
|
|
/* 000704 000006C4 AC290010 */ sw $t1, %lo(D_A4600010)($at)
|
|
/* 000708 000006C8 AD170014 */ sw $s7, %lo(D_A0000014)($t0)
|
|
/* 00070C 000006CC AD15000C */ sw $s5, %lo(D_A000000C)($t0)
|
|
/* 000710 000006D0 AD130004 */ sw $s3, %lo(D_A0000004)($t0)
|
|
/* 000714 000006D4 12600004 */ beqz $s3, .L000006E8
|
|
/* 000718 000006D8 AD140000 */ sw $s4, ($t0)
|
|
/* 00071C 000006DC 3C09A600 */ lui $t1, 0xa600
|
|
/* 000720 000006E0 10000003 */ b .L000006F0
|
|
/* 000724 000006E4 25290000 */ addiu $t1, $t1, 0
|
|
.L000006E8:
|
|
/* 000728 000006E8 3C09B000 */ lui $t1, 0xb000
|
|
/* 00072C 000006EC 25290000 */ addiu $t1, $t1, 0
|
|
.L000006F0:
|
|
/* 000730 000006F0 AD090008 */ sw $t1, %lo(D_A0000008)($t0)
|
|
/* 000734 000006F4 3C08A400 */ lui $t0, 0xa400
|
|
/* 000738 000006F8 25080000 */ addiu $t0, $t0, 0
|
|
/* 00073C 000006FC 21091000 */ addi $t1, $t0, 0x1000
|
|
.L00000700:
|
|
/* 000740 00000700 25080004 */ addiu $t0, $t0, 4
|
|
/* 000744 00000704 1509FFFE */ bne $t0, $t1, .L00000700
|
|
/* 000748 00000708 AD00FFFC */ sw $zero, -4($t0)
|
|
/* 00074C 0000070C 3C08A400 */ lui $t0, %hi(D_A4001000) # $t0, 0xa400
|
|
/* 000750 00000710 25081000 */ addiu $t0, %lo(D_A4001000) # addiu $t0, $t0, 0x1000
|
|
/* 000754 00000714 21091000 */ addi $t1, $t0, 0x1000
|
|
.L00000718:
|
|
/* 000758 00000718 25080004 */ addiu $t0, $t0, 4
|
|
/* 00075C 0000071C 1509FFFE */ bne $t0, $t1, .L00000718
|
|
/* 000760 00000720 AD00FFFC */ sw $zero, -4($t0)
|
|
/* 000764 00000724 3C0BB000 */ lui $t3, %hi(D_B0000008) # $t3, 0xb000
|
|
/* 000768 00000728 8D690008 */ lw $t1, %lo(D_B0000008)($t3)
|
|
/* 00076C 0000072C 01200008 */ jr $t1
|
|
/* 000770 00000730 00000000 */ nop
|
|
/* 000774 00000734 00000000 */ nop
|
|
func_04000778:
|
|
/* 000778 00000738 27BDFF60 */ addiu $sp, $sp, -0xa0
|
|
/* 00077C 0000073C AFB00040 */ sw $s0, 0x40($sp)
|
|
/* 000780 00000740 AFB10044 */ sw $s1, 0x44($sp)
|
|
/* 000784 00000744 00008825 */ move $s1, $zero
|
|
/* 000788 00000748 00008025 */ move $s0, $zero
|
|
/* 00078C 0000074C AFA20000 */ sw $v0, ($sp)
|
|
/* 000790 00000750 AFA30004 */ sw $v1, 4($sp)
|
|
/* 000794 00000754 AFA40008 */ sw $a0, 8($sp)
|
|
/* 000798 00000758 AFA5000C */ sw $a1, 0xc($sp)
|
|
/* 00079C 0000075C AFA60010 */ sw $a2, 0x10($sp)
|
|
/* 0007A0 00000760 AFA70014 */ sw $a3, 0x14($sp)
|
|
/* 0007A4 00000764 AFA80018 */ sw $t0, 0x18($sp)
|
|
/* 0007A8 00000768 AFA9001C */ sw $t1, 0x1c($sp)
|
|
/* 0007AC 0000076C AFAA0020 */ sw $t2, 0x20($sp)
|
|
/* 0007B0 00000770 AFAB0024 */ sw $t3, 0x24($sp)
|
|
/* 0007B4 00000774 AFAC0028 */ sw $t4, 0x28($sp)
|
|
/* 0007B8 00000778 AFAD002C */ sw $t5, 0x2c($sp)
|
|
/* 0007BC 0000077C AFAE0030 */ sw $t6, 0x30($sp)
|
|
/* 0007C0 00000780 AFAF0034 */ sw $t7, 0x34($sp)
|
|
/* 0007C4 00000784 AFB80038 */ sw $t8, 0x38($sp)
|
|
/* 0007C8 00000788 AFB9003C */ sw $t9, 0x3c($sp)
|
|
/* 0007CC 0000078C AFB20048 */ sw $s2, 0x48($sp)
|
|
/* 0007D0 00000790 AFB3004C */ sw $s3, 0x4c($sp)
|
|
/* 0007D4 00000794 AFB40050 */ sw $s4, 0x50($sp)
|
|
/* 0007D8 00000798 AFB50054 */ sw $s5, 0x54($sp)
|
|
/* 0007DC 0000079C AFB60058 */ sw $s6, 0x58($sp)
|
|
/* 0007E0 000007A0 AFB7005C */ sw $s7, 0x5c($sp)
|
|
/* 0007E4 000007A4 AFBE0060 */ sw $fp, 0x60($sp)
|
|
/* 0007E8 000007A8 AFBF0064 */ sw $ra, 0x64($sp)
|
|
.L000007AC:
|
|
/* 0007EC 000007AC 0D000220 */ jal func_04000880
|
|
/* 0007F0 000007B0 00000000 */ nop
|
|
/* 0007F4 000007B4 26100001 */ addiu $s0, $s0, 1
|
|
/* 0007F8 000007B8 2A090004 */ slti $t1, $s0, 4
|
|
/* 0007FC 000007BC 1520FFFB */ bnez $t1, .L000007AC
|
|
/* 000800 000007C0 02228821 */ addu $s1, $s1, $v0
|
|
/* 000804 000007C4 00112082 */ srl $a0, $s1, 2
|
|
/* 000808 000007C8 0D000290 */ jal func_04000A40
|
|
/* 00080C 000007CC 24050001 */ li $a1, 1
|
|
/* 000810 000007D0 8FBF0064 */ lw $ra, 0x64($sp)
|
|
/* 000814 000007D4 00111082 */ srl $v0, $s1, 2
|
|
/* 000818 000007D8 8FB10044 */ lw $s1, 0x44($sp)
|
|
/* 00081C 000007DC 8FA30004 */ lw $v1, 4($sp)
|
|
/* 000820 000007E0 8FA40008 */ lw $a0, 8($sp)
|
|
/* 000824 000007E4 8FA5000C */ lw $a1, 0xc($sp)
|
|
/* 000828 000007E8 8FA60010 */ lw $a2, 0x10($sp)
|
|
/* 00082C 000007EC 8FA70014 */ lw $a3, 0x14($sp)
|
|
/* 000830 000007F0 8FA80018 */ lw $t0, 0x18($sp)
|
|
/* 000834 000007F4 8FA9001C */ lw $t1, 0x1c($sp)
|
|
/* 000838 000007F8 8FAA0020 */ lw $t2, 0x20($sp)
|
|
/* 00083C 000007FC 8FAB0024 */ lw $t3, 0x24($sp)
|
|
/* 000840 00000800 8FAC0028 */ lw $t4, 0x28($sp)
|
|
/* 000844 00000804 8FAD002C */ lw $t5, 0x2c($sp)
|
|
/* 000848 00000808 8FAE0030 */ lw $t6, 0x30($sp)
|
|
/* 00084C 0000080C 8FAF0034 */ lw $t7, 0x34($sp)
|
|
/* 000850 00000810 8FB80038 */ lw $t8, 0x38($sp)
|
|
/* 000854 00000814 8FB9003C */ lw $t9, 0x3c($sp)
|
|
/* 000858 00000818 8FB00040 */ lw $s0, 0x40($sp)
|
|
/* 00085C 0000081C 8FB20048 */ lw $s2, 0x48($sp)
|
|
/* 000860 00000820 8FB3004C */ lw $s3, 0x4c($sp)
|
|
/* 000864 00000824 8FB40050 */ lw $s4, 0x50($sp)
|
|
/* 000868 00000828 8FB50054 */ lw $s5, 0x54($sp)
|
|
/* 00086C 0000082C 8FB60058 */ lw $s6, 0x58($sp)
|
|
/* 000870 00000830 8FB7005C */ lw $s7, 0x5c($sp)
|
|
/* 000874 00000834 8FBE0060 */ lw $fp, 0x60($sp)
|
|
/* 000878 00000838 03E00008 */ jr $ra
|
|
/* 00087C 0000083C 27BD00A0 */ addiu $sp, $sp, 0xa0
|
|
|
|
func_04000880:
|
|
/* 000880 00000840 27BDFFE0 */ addiu $sp, $sp, -0x20
|
|
/* 000884 00000844 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 000888 00000848 00004825 */ move $t1, $zero
|
|
/* 00088C 0000084C 00005825 */ move $t3, $zero
|
|
/* 000890 00000850 00006025 */ move $t4, $zero
|
|
.L00000854:
|
|
/* 000894 00000854 299A0040 */ slti $k0, $t4, 0x40
|
|
/* 000898 00000858 53400018 */ beql $k0, $zero, .L000008BC
|
|
/* 00089C 0000085C 00001025 */ move $v0, $zero
|
|
/* 0008A0 00000860 0D000243 */ jal func_0400090C
|
|
/* 0008A4 00000864 01802025 */ move $a0, $t4
|
|
/* 0008A8 00000868 58400008 */ blezl $v0, .L0000088C
|
|
/* 0008AC 0000086C 293A0050 */ slti $k0, $t1, 0x50
|
|
/* 0008B0 00000870 0049D023 */ subu $k0, $v0, $t1
|
|
/* 0008B4 00000874 034C0019 */ multu $k0, $t4
|
|
/* 0008B8 00000878 00404825 */ move $t1, $v0
|
|
/* 0008BC 0000087C 0000D012 */ mflo $k0
|
|
/* 0008C0 00000880 017A5821 */ addu $t3, $t3, $k0
|
|
/* 0008C4 00000884 00000000 */ nop
|
|
/* 0008C8 00000888 293A0050 */ slti $k0, $t1, 0x50
|
|
.L0000088C:
|
|
/* 0008CC 0000088C 1740FFF1 */ bnez $k0, .L00000854
|
|
/* 0008D0 00000890 258C0001 */ addiu $t4, $t4, 1
|
|
/* 0008D4 00000894 000B2080 */ sll $a0, $t3, 2
|
|
/* 0008D8 00000898 008B2023 */ subu $a0, $a0, $t3
|
|
/* 0008DC 0000089C 00042080 */ sll $a0, $a0, 2
|
|
/* 0008E0 000008A0 008B2023 */ subu $a0, $a0, $t3
|
|
/* 0008E4 000008A4 00042040 */ sll $a0, $a0, 1
|
|
/* 0008E8 000008A8 0D000260 */ jal func_04000980
|
|
/* 0008EC 000008AC 2484FC90 */ addiu $a0, $a0, -0x370
|
|
/* 0008F0 000008B0 10000003 */ b .L000008C0
|
|
/* 0008F4 000008B4 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 0008F8 000008B8 00001025 */ move $v0, $zero
|
|
.L000008BC:
|
|
/* 0008FC 000008BC 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L000008C0:
|
|
/* 000900 000008C0 27BD0020 */ addiu $sp, $sp, 0x20
|
|
/* 000904 000008C4 03E00008 */ jr $ra
|
|
/* 000908 000008C8 00000000 */ nop
|
|
|
|
func_0400090C:
|
|
/* 00090C 000008CC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 000910 000008D0 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 000914 000008D4 00001025 */ move $v0, $zero
|
|
/* 000918 000008D8 0D000290 */ jal func_04000A40
|
|
/* 00091C 000008DC 24050002 */ li $a1, 2
|
|
/* 000920 000008E0 0000F025 */ move $fp, $zero
|
|
/* 000924 000008E4 241AFFFF */ li $k0, -1
|
|
.L000008E8:
|
|
/* 000928 000008E8 AE9A0004 */ sw $k0, 4($s4)
|
|
/* 00092C 000008EC 8E830004 */ lw $v1, 4($s4)
|
|
/* 000930 000008F0 AE9A0000 */ sw $k0, ($s4)
|
|
/* 000934 000008F4 AE9A0000 */ sw $k0, ($s4)
|
|
/* 000938 000008F8 0000E025 */ move $gp, $zero
|
|
/* 00093C 000008FC 00031C02 */ srl $v1, $v1, 0x10
|
|
.L00000900:
|
|
/* 000940 00000900 307A0001 */ andi $k0, $v1, 1
|
|
/* 000944 00000904 53400003 */ beql $k0, $zero, .L00000914
|
|
/* 000948 00000908 279C0001 */ addiu $gp, $gp, 1
|
|
/* 00094C 0000090C 24420001 */ addiu $v0, $v0, 1
|
|
/* 000950 00000910 279C0001 */ addiu $gp, $gp, 1
|
|
.L00000914:
|
|
/* 000954 00000914 2B9A0008 */ slti $k0, $gp, 8
|
|
/* 000958 00000918 1740FFF9 */ bnez $k0, .L00000900
|
|
/* 00095C 0000091C 00031842 */ srl $v1, $v1, 1
|
|
/* 000960 00000920 27DE0001 */ addiu $fp, $fp, 1
|
|
/* 000964 00000924 2BDA000A */ slti $k0, $fp, 0xa
|
|
/* 000968 00000928 5740FFEF */ bnezl $k0, .L000008E8
|
|
/* 00096C 0000092C 241AFFFF */ li $k0, -1
|
|
/* 000970 00000930 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 000974 00000934 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* 000978 00000938 03E00008 */ jr $ra
|
|
/* 00097C 0000093C 00000000 */ nop
|
|
func_04000980:
|
|
/* 000980 00000940 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 000984 00000944 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 000988 00000948 AFA40020 */ sw $a0, 0x20($sp)
|
|
/* 00098C 0000094C A3A00027 */ sb $zero, 0x27($sp)
|
|
/* 000990 00000950 00004025 */ move $t0, $zero
|
|
/* 000994 00000954 00005025 */ move $t2, $zero
|
|
/* 000998 00000958 340DC800 */ li $t5, 51200
|
|
/* 00099C 0000095C 00007025 */ move $t6, $zero
|
|
/* 0009A0 00000960 29DA0040 */ slti $k0, $t6, 0x40
|
|
.L00000964:
|
|
/* 0009A4 00000964 57400004 */ bnezl $k0, .L00000978
|
|
/* 0009A8 00000968 01C02025 */ move $a0, $t6
|
|
/* 0009AC 0000096C 10000020 */ b .L000009F0
|
|
/* 0009B0 00000970 00001025 */ move $v0, $zero
|
|
/* 0009B4 00000974 01C02025 */ move $a0, $t6
|
|
.L00000978:
|
|
/* 0009B8 00000978 0D000290 */ jal func_04000A40
|
|
/* 0009BC 0000097C 24050001 */ li $a1, 1
|
|
/* 0009C0 00000980 0D0002B4 */ jal func_04000AD0
|
|
/* 0009C4 00000984 27A40027 */ addiu $a0, $sp, 0x27
|
|
/* 0009C8 00000988 0D0002B4 */ jal func_04000AD0
|
|
/* 0009CC 0000098C 27A40027 */ addiu $a0, $sp, 0x27
|
|
/* 0009D0 00000990 93BA0027 */ lbu $k0, 0x27($sp)
|
|
/* 0009D4 00000994 241B0320 */ li $k1, 800
|
|
/* 0009D8 00000998 8FA40020 */ lw $a0, 0x20($sp)
|
|
/* 0009DC 0000099C 035B0019 */ multu $k0, $k1
|
|
/* 0009E0 000009A0 00004012 */ mflo $t0
|
|
/* 0009E4 000009A4 0104D023 */ subu $k0, $t0, $a0
|
|
/* 0009E8 000009A8 07430003 */ bgezl $k0, .L000009B8
|
|
/* 0009EC 000009AC 034DD82A */ slt $k1, $k0, $t5
|
|
/* 0009F0 000009B0 0088D023 */ subu $k0, $a0, $t0
|
|
/* 0009F4 000009B4 034DD82A */ slt $k1, $k0, $t5
|
|
.L000009B8:
|
|
/* 0009F8 000009B8 53600004 */ beql $k1, $zero, .L000009CC
|
|
/* 0009FC 000009BC 8FA40020 */ lw $a0, 0x20($sp)
|
|
/* 000A00 000009C0 03406825 */ move $t5, $k0
|
|
/* 000A04 000009C4 01C05025 */ move $t2, $t6
|
|
/* 000A08 000009C8 8FA40020 */ lw $a0, 0x20($sp)
|
|
.L000009CC:
|
|
/* 000A0C 000009CC 0104D82A */ slt $k1, $t0, $a0
|
|
/* 000A10 000009D0 53600006 */ beql $k1, $zero, .L000009EC
|
|
/* 000A14 000009D4 014E1021 */ addu $v0, $t2, $t6
|
|
/* 000A18 000009D8 25CE0001 */ addiu $t6, $t6, 1
|
|
/* 000A1C 000009DC 29DB0041 */ slti $k1, $t6, 0x41
|
|
/* 000A20 000009E0 5760FFE0 */ bnezl $k1, .L00000964
|
|
/* 000A24 000009E4 29DA0040 */ slti $k0, $t6, 0x40
|
|
/* 000A28 000009E8 014E1021 */ addu $v0, $t2, $t6
|
|
.L000009EC:
|
|
/* 000A2C 000009EC 00021042 */ srl $v0, $v0, 1
|
|
.L000009F0:
|
|
/* 000A30 000009F0 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 000A34 000009F4 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* 000A38 000009F8 03E00008 */ jr $ra
|
|
/* 000A3C 000009FC 00000000 */ nop
|
|
|
|
func_04000A40:
|
|
/* 000A40 00000A00 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 000A44 00000A04 308400FF */ andi $a0, $a0, 0xff
|
|
/* 000A48 00000A08 241B0001 */ li $k1, 1
|
|
/* 000A4C 00000A0C 3884003F */ xori $a0, $a0, 0x3f
|
|
/* 000A50 00000A10 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 000A54 00000A14 14BB0003 */ bne $a1, $k1, .L00000A24
|
|
/* 000A58 00000A18 3C0F4600 */ lui $t7, 0x4600
|
|
/* 000A5C 00000A1C 3C1A8000 */ lui $k0, 0x8000
|
|
/* 000A60 00000A20 01FA7825 */ or $t7, $t7, $k0
|
|
.L00000A24:
|
|
/* 000A64 00000A24 309A0001 */ andi $k0, $a0, 1
|
|
/* 000A68 00000A28 001AD180 */ sll $k0, $k0, 6
|
|
/* 000A6C 00000A2C 01FA7825 */ or $t7, $t7, $k0
|
|
/* 000A70 00000A30 309A0002 */ andi $k0, $a0, 2
|
|
/* 000A74 00000A34 001AD340 */ sll $k0, $k0, 0xd
|
|
/* 000A78 00000A38 01FA7825 */ or $t7, $t7, $k0
|
|
/* 000A7C 00000A3C 309A0004 */ andi $k0, $a0, 4
|
|
/* 000A80 00000A40 001AD500 */ sll $k0, $k0, 0x14
|
|
/* 000A84 00000A44 01FA7825 */ or $t7, $t7, $k0
|
|
/* 000A88 00000A48 309A0008 */ andi $k0, $a0, 8
|
|
/* 000A8C 00000A4C 001AD100 */ sll $k0, $k0, 4
|
|
/* 000A90 00000A50 01FA7825 */ or $t7, $t7, $k0
|
|
/* 000A94 00000A54 309A0010 */ andi $k0, $a0, 0x10
|
|
/* 000A98 00000A58 001AD2C0 */ sll $k0, $k0, 0xb
|
|
/* 000A9C 00000A5C 01FA7825 */ or $t7, $t7, $k0
|
|
/* 000AA0 00000A60 309A0020 */ andi $k0, $a0, 0x20
|
|
/* 000AA4 00000A64 001AD480 */ sll $k0, $k0, 0x12
|
|
/* 000AA8 00000A68 01FA7825 */ or $t7, $t7, $k0
|
|
/* 000AAC 00000A6C 241B0001 */ li $k1, 1
|
|
/* 000AB0 00000A70 14BB0003 */ bne $a1, $k1, .L00000A80
|
|
/* 000AB4 00000A74 AEAF0000 */ sw $t7, ($s5)
|
|
/* 000AB8 00000A78 3C1AA430 */ lui $k0, 0xa430
|
|
/* 000ABC 00000A7C AF400000 */ sw $zero, ($k0)
|
|
.L00000A80:
|
|
/* 000AC0 00000A80 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 000AC4 00000A84 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* 000AC8 00000A88 03E00008 */ jr $ra
|
|
/* 000ACC 00000A8C 00000000 */ nop
|
|
|
|
func_04000AD0:
|
|
/* 000AD0 00000A90 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 000AD4 00000A94 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 000AD8 00000A98 241A2000 */ li $k0, 8192
|
|
/* 000ADC 00000A9C 3C1BA430 */ lui $k1, 0xa430
|
|
/* 000AE0 00000AA0 AF7A0000 */ sw $k0, ($k1)
|
|
/* 000AE4 00000AA4 0000F025 */ move $fp, $zero
|
|
/* 000AE8 00000AA8 8EBE0000 */ lw $fp, ($s5)
|
|
/* 000AEC 00000AAC 241A1000 */ li $k0, 4096
|
|
/* 000AF0 00000AB0 AF7A0000 */ sw $k0, ($k1)
|
|
/* 000AF4 00000AB4 241B0040 */ li $k1, 64
|
|
/* 000AF8 00000AB8 037ED824 */ and $k1, $k1, $fp
|
|
/* 000AFC 00000ABC 001BD982 */ srl $k1, $k1, 6
|
|
/* 000B00 00000AC0 0000D025 */ move $k0, $zero
|
|
/* 000B04 00000AC4 035BD025 */ or $k0, $k0, $k1
|
|
/* 000B08 00000AC8 241B4000 */ li $k1, 16384
|
|
/* 000B0C 00000ACC 037ED824 */ and $k1, $k1, $fp
|
|
/* 000B10 00000AD0 001BDB42 */ srl $k1, $k1, 0xd
|
|
/* 000B14 00000AD4 035BD025 */ or $k0, $k0, $k1
|
|
/* 000B18 00000AD8 3C1B0040 */ lui $k1, 0x40
|
|
/* 000B1C 00000ADC 037ED824 */ and $k1, $k1, $fp
|
|
/* 000B20 00000AE0 001BDD02 */ srl $k1, $k1, 0x14
|
|
/* 000B24 00000AE4 035BD025 */ or $k0, $k0, $k1
|
|
/* 000B28 00000AE8 241B0080 */ li $k1, 128
|
|
/* 000B2C 00000AEC 037ED824 */ and $k1, $k1, $fp
|
|
/* 000B30 00000AF0 001BD902 */ srl $k1, $k1, 4
|
|
/* 000B34 00000AF4 035BD025 */ or $k0, $k0, $k1
|
|
/* 000B38 00000AF8 341B8000 */ li $k1, 32768
|
|
/* 000B3C 00000AFC 037ED824 */ and $k1, $k1, $fp
|
|
/* 000B40 00000B00 001BDAC2 */ srl $k1, $k1, 0xb
|
|
/* 000B44 00000B04 035BD025 */ or $k0, $k0, $k1
|
|
/* 000B48 00000B08 3C1B0080 */ lui $k1, 0x80
|
|
/* 000B4C 00000B0C 037ED824 */ and $k1, $k1, $fp
|
|
/* 000B50 00000B10 001BDC82 */ srl $k1, $k1, 0x12
|
|
/* 000B54 00000B14 035BD025 */ or $k0, $k0, $k1
|
|
/* 000B58 00000B18 A09A0000 */ sb $k0, ($a0)
|
|
/* 000B5C 00000B1C 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 000B60 00000B20 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* 000B64 00000B24 03E00008 */ jr $ra
|
|
/* 000B68 00000B28 00000000 */ nop
|
|
/* 000B6C 00000B2C 00000000 */ nop
|
|
|
|
.incbin "lib/bin/ipl3_font.bin"
|