mirror of
https://github.com/zeldaret/oot
synced 2026-07-31 00:04:49 -04:00
First proper commit.
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
# Cache files
|
||||
__pycache__/
|
||||
.pyc
|
||||
|
||||
# Text editor remnants
|
||||
.vscode/
|
||||
.vs/
|
||||
.idea/
|
||||
CMakeLists.txt
|
||||
cmake-build-debug
|
||||
venv/
|
||||
|
||||
# Project-specific ignores
|
||||
build/
|
||||
notes/
|
||||
baserom/
|
||||
*.elf
|
||||
*.sra
|
||||
*.z64
|
||||
*.map
|
||||
*.dump
|
||||
out.txt
|
||||
|
||||
# Tool artifacts
|
||||
tools/ido7.1_compiler/*
|
||||
tools/overlayhelpers/batchdisasm/output/*
|
||||
tools/overlayhelpers/batchdisasm/output2/*
|
||||
tools/overlayhelpers/batchdisasm/mipsdisasm/*
|
||||
tools/disasm/output/*
|
||||
tools/asmsplitter/asm/*
|
||||
tools/asmsplitter/c/*
|
||||
|
||||
# Assets
|
||||
*.rgba32.png
|
||||
*.rgb5a1.png
|
||||
*.i4.png
|
||||
*.i8.png
|
||||
*.ia4.png
|
||||
*.ia8.png
|
||||
*.ci4.png
|
||||
*.ci8.png
|
||||
|
||||
#Per-user configuration
|
||||
.python-version
|
||||
@@ -0,0 +1,3 @@
|
||||
[submodule "tools/ZAP2"]
|
||||
path = tools/ZAP2
|
||||
url = https://github.com/NEstelami/ZAP2.git
|
||||
@@ -1 +1,21 @@
|
||||
oot
|
||||
# Legend of Zelda: Ocarina of Time Master Quest (debug)
|
||||
|
||||
```diff
|
||||
- WARNING! -
|
||||
|
||||
The ROM this repository builds while has a matching checksum cannot be 'shifted' due
|
||||
to hardcoded pointers which have yet to be dumped. Thus this repository is currently
|
||||
in an experimental and research phase and cannot currently be used traditionally as a
|
||||
source code base for general changes.
|
||||
```
|
||||
|
||||
This repo does not include all assets necessary for compiling the ROM. A prior copy of the game is required to extract the required assets.
|
||||
|
||||
This is a disassembly and decompilation of Legend of Zelda: Ocarina of Time Master Quest (debug)
|
||||
|
||||
It builds the following ROM:
|
||||
* zelda_ocarina_mq_dbg.z64 `md5: 717179476af84133b14ff73af87db57a`
|
||||
|
||||
Please refer to the Getting Started guide in the Wiki for setup instructions.
|
||||
|
||||
Thanks to z64me and CrookedPoe for their actor documentation. https://github.com/CrookedPoe/z64-rw
|
||||
|
||||
+2936
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,41 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel __osDisableInt
|
||||
/* 007E80 80007280 3C0A8001 */ lui $t2, %hi(__OSGlobalIntMask) # $t2, 0x8001
|
||||
/* 007E84 80007284 254AAD00 */ addiu $t2, %lo(__OSGlobalIntMask) # addiu $t2, $t2, -0x5300
|
||||
/* 007E88 80007288 8D4B0000 */ lw $t3, ($t2)
|
||||
/* 007E8C 8000728C 316BFF00 */ andi $t3, $t3, 0xff00
|
||||
/* 007E90 80007290 40086000 */ mfc0 $t0, $12
|
||||
/* 007E94 80007294 2401FFFE */ li $at, -2
|
||||
/* 007E98 80007298 01014824 */ and $t1, $t0, $at
|
||||
/* 007E9C 8000729C 40896000 */ mtc0 $t1, $12
|
||||
/* 007EA0 800072A0 31020001 */ andi $v0, $t0, 1
|
||||
/* 007EA4 800072A4 8D480000 */ lw $t0, ($t2)
|
||||
/* 007EA8 800072A8 3108FF00 */ andi $t0, $t0, 0xff00
|
||||
/* 007EAC 800072AC 110B000E */ beq $t0, $t3, .L800072E8
|
||||
/* 007EB0 800072B0 3C0A8001 */ lui $t2, %hi(__osRunningThread) # $t2, 0x8001
|
||||
/* 007EB4 800072B4 254AAD50 */ addiu $t2, %lo(__osRunningThread) # addiu $t2, $t2, -0x52b0
|
||||
/* 007EB8 800072B8 8D490118 */ lw $t1, 0x118($t2)
|
||||
/* 007EBC 800072BC 312AFF00 */ andi $t2, $t1, 0xff00
|
||||
/* 007EC0 800072C0 01485024 */ and $t2, $t2, $t0
|
||||
/* 007EC4 800072C4 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff
|
||||
/* 007EC8 800072C8 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff
|
||||
/* 007ECC 800072CC 01214824 */ and $t1, $t1, $at
|
||||
/* 007ED0 800072D0 012A4825 */ or $t1, $t1, $t2
|
||||
/* 007ED4 800072D4 2401FFFE */ li $at, -2
|
||||
/* 007ED8 800072D8 01214824 */ and $t1, $t1, $at
|
||||
/* 007EDC 800072DC 40896000 */ mtc0 $t1, $12
|
||||
/* 007EE0 800072E0 00000000 */ nop
|
||||
/* 007EE4 800072E4 00000000 */ nop
|
||||
.L800072E8:
|
||||
/* 007EE8 800072E8 03E00008 */ jr $ra
|
||||
/* 007EEC 800072EC 00000000 */ nop
|
||||
@@ -0,0 +1,15 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel __osGetCause
|
||||
/* 008790 80007B90 40026800 */ mfc0 $v0, $13
|
||||
/* 008794 80007B94 03E00008 */ jr $ra
|
||||
/* 008798 80007B98 00000000 */ nop
|
||||
@@ -0,0 +1,15 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel __osGetFpcCsr
|
||||
/* 008680 80007A80 4442F800 */ cfc1 $v0, $31
|
||||
/* 008684 80007A84 03E00008 */ jr $ra
|
||||
/* 008688 80007A88 00000000 */ nop
|
||||
@@ -0,0 +1,15 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel __osGetSR
|
||||
/* 0052B0 800046B0 40026000 */ mfc0 $v0, $12
|
||||
/* 0052B4 800046B4 03E00008 */ jr $ra
|
||||
/* 0052B8 800046B8 00000000 */ nop
|
||||
@@ -0,0 +1,62 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel __osProbeTLB
|
||||
/* 005C40 80005040 40085000 */ mfc0 $t0, $10
|
||||
/* 005C44 80005044 310900FF */ andi $t1, $t0, 0xff
|
||||
/* 005C48 80005048 2401E000 */ li $at, -8192
|
||||
/* 005C4C 8000504C 00815024 */ and $t2, $a0, $at
|
||||
/* 005C50 80005050 012A4825 */ or $t1, $t1, $t2
|
||||
/* 005C54 80005054 40895000 */ mtc0 $t1, $10
|
||||
/* 005C58 80005058 00000000 */ nop
|
||||
/* 005C5C 8000505C 00000000 */ nop
|
||||
/* 005C60 80005060 00000000 */ nop
|
||||
/* 005C64 80005064 42000008 */ tlbp
|
||||
/* 005C68 80005068 00000000 */ nop
|
||||
/* 005C6C 8000506C 00000000 */ nop
|
||||
/* 005C70 80005070 400B0000 */ mfc0 $t3, $0
|
||||
/* 005C74 80005074 3C018000 */ lui $at, 0x8000
|
||||
/* 005C78 80005078 01615824 */ and $t3, $t3, $at
|
||||
/* 005C7C 8000507C 1560001A */ bnez $t3, .L800050E8
|
||||
/* 005C80 80005080 00000000 */ nop
|
||||
/* 005C84 80005084 42000001 */ tlbr
|
||||
/* 005C88 80005088 00000000 */ nop
|
||||
/* 005C8C 8000508C 00000000 */ nop
|
||||
/* 005C90 80005090 00000000 */ nop
|
||||
/* 005C94 80005094 400B2800 */ mfc0 $t3, $5
|
||||
/* 005C98 80005098 216B2000 */ addi $t3, $t3, 0x2000
|
||||
/* 005C9C 8000509C 000B5842 */ srl $t3, $t3, 1
|
||||
/* 005CA0 800050A0 01646024 */ and $t4, $t3, $a0
|
||||
/* 005CA4 800050A4 15800004 */ bnez $t4, .L800050B8
|
||||
/* 005CA8 800050A8 216BFFFF */ addi $t3, $t3, -1
|
||||
/* 005CAC 800050AC 40021000 */ mfc0 $v0, $2
|
||||
/* 005CB0 800050B0 10000002 */ b .L800050BC
|
||||
/* 005CB4 800050B4 00000000 */ nop
|
||||
.L800050B8:
|
||||
/* 005CB8 800050B8 40021800 */ mfc0 $v0, $3
|
||||
.L800050BC:
|
||||
/* 005CBC 800050BC 304D0002 */ andi $t5, $v0, 2
|
||||
/* 005CC0 800050C0 11A00009 */ beqz $t5, .L800050E8
|
||||
/* 005CC4 800050C4 00000000 */ nop
|
||||
/* 005CC8 800050C8 3C013FFF */ lui $at, (0x3FFFFFC0 >> 16) # lui $at, 0x3fff
|
||||
/* 005CCC 800050CC 3421FFC0 */ ori $at, (0x3FFFFFC0 & 0xFFFF) # ori $at, $at, 0xffc0
|
||||
/* 005CD0 800050D0 00411024 */ and $v0, $v0, $at
|
||||
/* 005CD4 800050D4 00021180 */ sll $v0, $v0, 6
|
||||
/* 005CD8 800050D8 008B6824 */ and $t5, $a0, $t3
|
||||
/* 005CDC 800050DC 004D1020 */ add $v0, $v0, $t5
|
||||
/* 005CE0 800050E0 10000002 */ b .L800050EC
|
||||
/* 005CE4 800050E4 00000000 */ nop
|
||||
.L800050E8:
|
||||
/* 005CE8 800050E8 2402FFFF */ li $v0, -1
|
||||
.L800050EC:
|
||||
/* 005CEC 800050EC 40885000 */ mtc0 $t0, $10
|
||||
/* 005CF0 800050F0 03E00008 */ jr $ra
|
||||
/* 005CF4 800050F4 00000000 */ nop
|
||||
@@ -0,0 +1,19 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel __osRestoreInt
|
||||
/* 007EF0 800072F0 40086000 */ mfc0 $t0, $12
|
||||
/* 007EF4 800072F4 01044025 */ or $t0, $t0, $a0
|
||||
/* 007EF8 800072F8 40886000 */ mtc0 $t0, $12
|
||||
/* 007EFC 800072FC 00000000 */ nop
|
||||
/* 007F00 80007300 00000000 */ nop
|
||||
/* 007F04 80007304 03E00008 */ jr $ra
|
||||
/* 007F08 80007308 00000000 */ nop
|
||||
@@ -0,0 +1,15 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel __osSetCompare
|
||||
/* 007B00 80006F00 40845800 */ mtc0 $a0, $11
|
||||
/* 007B04 80006F04 03E00008 */ jr $ra
|
||||
/* 007B08 80006F08 00000000 */ nop
|
||||
@@ -0,0 +1,16 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel __osSetFpcCsr
|
||||
/* 008670 80007A70 4442F800 */ cfc1 $v0, $31
|
||||
/* 008674 80007A74 44C4F800 */ ctc1 $a0, $31
|
||||
/* 008678 80007A78 03E00008 */ jr $ra
|
||||
/* 00867C 80007A7C 00000000 */ nop
|
||||
@@ -0,0 +1,16 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel __osSetSR
|
||||
/* 0052A0 800046A0 40846000 */ mtc0 $a0, $12
|
||||
/* 0052A4 800046A4 00000000 */ nop
|
||||
/* 0052A8 800046A8 03E00008 */ jr $ra
|
||||
/* 0052AC 800046AC 00000000 */ nop
|
||||
@@ -0,0 +1,16 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel __osSetWatchLo
|
||||
/* 009F10 80009310 40849000 */ mtc0 $a0, $18
|
||||
/* 009F14 80009314 00000000 */ nop
|
||||
/* 009F18 80009318 03E00008 */ jr $ra
|
||||
/* 009F1C 8000931C 00000000 */ nop
|
||||
+94
@@ -0,0 +1,94 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel bcmp
|
||||
/* 0074C0 800068C0 28C10010 */ slti $at, $a2, 0x10
|
||||
/* 0074C4 800068C4 14200037 */ bnez $at, .bytecmp
|
||||
/* 0074C8 800068C8 00851026 */ xor $v0, $a0, $a1
|
||||
/* 0074CC 800068CC 30420003 */ andi $v0, $v0, 3
|
||||
/* 0074D0 800068D0 14400019 */ bnez $v0, .unalgncmp
|
||||
/* 0074D4 800068D4 0004C023 */ negu $t8, $a0
|
||||
/* 0074D8 800068D8 33180003 */ andi $t8, $t8, 3
|
||||
/* 0074DC 800068DC 13000007 */ beqz $t8, .wordcmp
|
||||
/* 0074E0 800068E0 00D83023 */ subu $a2, $a2, $t8
|
||||
/* 0074E4 800068E4 00601025 */ move $v0, $v1
|
||||
/* 0074E8 800068E8 88820000 */ lwl $v0, ($a0)
|
||||
/* 0074EC 800068EC 88A30000 */ lwl $v1, ($a1)
|
||||
/* 0074F0 800068F0 00982021 */ addu $a0, $a0, $t8
|
||||
/* 0074F4 800068F4 00B82821 */ addu $a1, $a1, $t8
|
||||
/* 0074F8 800068F8 14430036 */ bne $v0, $v1, .cmpdone
|
||||
.wordcmp:
|
||||
/* 0074FC 800068FC 2401FFFC */ li $at, -4
|
||||
/* 007500 80006900 00C13824 */ and $a3, $a2, $at
|
||||
/* 007504 80006904 10E00027 */ beqz $a3, .bytecmp
|
||||
/* 007508 80006908 00C73023 */ subu $a2, $a2, $a3
|
||||
/* 00750C 8000690C 00E43821 */ addu $a3, $a3, $a0
|
||||
/* 007510 80006910 8C820000 */ lw $v0, ($a0)
|
||||
.L80006914:
|
||||
/* 007514 80006914 8CA30000 */ lw $v1, ($a1)
|
||||
/* 007518 80006918 24840004 */ addiu $a0, $a0, 4
|
||||
/* 00751C 8000691C 24A50004 */ addiu $a1, $a1, 4
|
||||
/* 007520 80006920 1443002C */ bne $v0, $v1, .cmpdone
|
||||
/* 007524 80006924 00000000 */ nop
|
||||
/* 007528 80006928 5487FFFA */ bnel $a0, $a3, .L80006914
|
||||
/* 00752C 8000692C 8C820000 */ lw $v0, ($a0)
|
||||
/* 007530 80006930 1000001C */ b .bytecmp
|
||||
/* 007534 80006934 00000000 */ nop
|
||||
.unalgncmp:
|
||||
/* 007538 80006938 00053823 */ negu $a3, $a1
|
||||
/* 00753C 8000693C 30E70003 */ andi $a3, $a3, 3
|
||||
/* 007540 80006940 10E0000A */ beqz $a3, .partaligncmp
|
||||
/* 007544 80006944 00C73023 */ subu $a2, $a2, $a3
|
||||
/* 007548 80006948 00E43821 */ addu $a3, $a3, $a0
|
||||
/* 00754C 8000694C 90820000 */ lbu $v0, ($a0)
|
||||
.L80006950:
|
||||
/* 007550 80006950 90A30000 */ lbu $v1, ($a1)
|
||||
/* 007554 80006954 24840001 */ addiu $a0, $a0, 1
|
||||
/* 007558 80006958 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 00755C 8000695C 1443001D */ bne $v0, $v1, .cmpdone
|
||||
/* 007560 80006960 00000000 */ nop
|
||||
/* 007564 80006964 5487FFFA */ bnel $a0, $a3, .L80006950
|
||||
/* 007568 80006968 90820000 */ lbu $v0, ($a0)
|
||||
.partaligncmp:
|
||||
/* 00756C 8000696C 2401FFFC */ li $at, -4
|
||||
/* 007570 80006970 00C13824 */ and $a3, $a2, $at
|
||||
/* 007574 80006974 10E0000B */ beqz $a3, .bytecmp
|
||||
/* 007578 80006978 00C73023 */ subu $a2, $a2, $a3
|
||||
/* 00757C 8000697C 00E43821 */ addu $a3, $a3, $a0
|
||||
/* 007580 80006980 88820000 */ lwl $v0, ($a0)
|
||||
.L80006984:
|
||||
/* 007584 80006984 8CA30000 */ lw $v1, ($a1)
|
||||
/* 007588 80006988 98820003 */ lwr $v0, 3($a0)
|
||||
/* 00758C 8000698C 24840004 */ addiu $a0, $a0, 4
|
||||
/* 007590 80006990 24A50004 */ addiu $a1, $a1, 4
|
||||
/* 007594 80006994 1443000F */ bne $v0, $v1, .cmpdone
|
||||
/* 007598 80006998 00000000 */ nop
|
||||
/* 00759C 8000699C 5487FFF9 */ bnel $a0, $a3, .L80006984
|
||||
/* 0075A0 800069A0 88820000 */ lwl $v0, ($a0)
|
||||
.bytecmp:
|
||||
/* 0075A4 800069A4 18C00009 */ blez $a2, .L800069CC
|
||||
/* 0075A8 800069A8 00C43821 */ addu $a3, $a2, $a0
|
||||
/* 0075AC 800069AC 90820000 */ lbu $v0, ($a0)
|
||||
.L800069B0:
|
||||
/* 0075B0 800069B0 90A30000 */ lbu $v1, ($a1)
|
||||
/* 0075B4 800069B4 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0075B8 800069B8 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 0075BC 800069BC 14430005 */ bne $v0, $v1, .cmpdone
|
||||
/* 0075C0 800069C0 00000000 */ nop
|
||||
/* 0075C4 800069C4 5487FFFA */ bnel $a0, $a3, .L800069B0
|
||||
/* 0075C8 800069C8 90820000 */ lbu $v0, ($a0)
|
||||
.L800069CC:
|
||||
/* 0075CC 800069CC 03E00008 */ jr $ra
|
||||
/* 0075D0 800069D0 00001025 */ move $v0, $zero
|
||||
|
||||
.cmpdone:
|
||||
/* 0075D4 800069D4 03E00008 */ jr $ra
|
||||
/* 0075D8 800069D8 24020001 */ li $v0, 1
|
||||
+230
@@ -0,0 +1,230 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel bcopy
|
||||
/* 007B10 80006F10 10C0001A */ beqz $a2, ret
|
||||
/* 007B14 80006F14 00A03825 */ move $a3, $a1
|
||||
/* 007B18 80006F18 10850018 */ beq $a0, $a1, ret
|
||||
/* 007B1C 80006F1C 00A4082A */ slt $at, $a1, $a0
|
||||
/* 007B20 80006F20 54200008 */ bnezl $at, goforwards
|
||||
/* 007B24 80006F24 28C10010 */ slti $at, $a2, 0x10
|
||||
/* 007B28 80006F28 00861020 */ add $v0, $a0, $a2
|
||||
/* 007B2C 80006F2C 00A2082A */ slt $at, $a1, $v0
|
||||
/* 007B30 80006F30 50200004 */ beql $at, $zero, goforwards
|
||||
/* 007B34 80006F34 28C10010 */ slti $at, $a2, 0x10
|
||||
/* 007B38 80006F38 1000005B */ b gobackwards
|
||||
/* 007B3C 80006F3C 28C10010 */ slti $at, $a2, 0x10
|
||||
/* 007B40 80006F40 28C10010 */ slti $at, $a2, 0x10
|
||||
goforwards:
|
||||
/* 007B44 80006F44 14200005 */ bnez $at, forwards_bytecopy
|
||||
/* 007B48 80006F48 00000000 */ nop
|
||||
/* 007B4C 80006F4C 30820003 */ andi $v0, $a0, 3
|
||||
/* 007B50 80006F50 30A30003 */ andi $v1, $a1, 3
|
||||
/* 007B54 80006F54 1043000B */ beq $v0, $v1, forwalignable
|
||||
/* 007B58 80006F58 00000000 */ nop
|
||||
forwards_bytecopy:
|
||||
/* 007B5C 80006F5C 10C00007 */ beqz $a2, ret
|
||||
/* 007B60 80006F60 00000000 */ nop
|
||||
/* 007B64 80006F64 00861821 */ addu $v1, $a0, $a2
|
||||
.L80006F68:
|
||||
/* 007B68 80006F68 80820000 */ lb $v0, ($a0)
|
||||
/* 007B6C 80006F6C 24840001 */ addiu $a0, $a0, 1
|
||||
/* 007B70 80006F70 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 007B74 80006F74 1483FFFC */ bne $a0, $v1, .L80006F68
|
||||
/* 007B78 80006F78 A0A2FFFF */ sb $v0, -1($a1)
|
||||
ret:
|
||||
/* 007B7C 80006F7C 03E00008 */ jr $ra
|
||||
/* 007B80 80006F80 00E01025 */ move $v0, $a3
|
||||
|
||||
forwalignable:
|
||||
/* 007B84 80006F84 10400018 */ beqz $v0, forwards_32
|
||||
/* 007B88 80006F88 24010001 */ li $at, 1
|
||||
/* 007B8C 80006F8C 1041000F */ beq $v0, $at, forw_copy3
|
||||
/* 007B90 80006F90 24010002 */ li $at, 2
|
||||
/* 007B94 80006F94 50410008 */ beql $v0, $at, forw_copy2
|
||||
/* 007B98 80006F98 84820000 */ lh $v0, ($a0)
|
||||
/* 007B9C 80006F9C 80820000 */ lb $v0, ($a0)
|
||||
/* 007BA0 80006FA0 24840001 */ addiu $a0, $a0, 1
|
||||
/* 007BA4 80006FA4 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 007BA8 80006FA8 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 007BAC 80006FAC 1000000E */ b forwards_32
|
||||
/* 007BB0 80006FB0 A0A2FFFF */ sb $v0, -1($a1)
|
||||
/* 007BB4 80006FB4 84820000 */ lh $v0, ($a0)
|
||||
forw_copy2:
|
||||
/* 007BB8 80006FB8 24840002 */ addiu $a0, $a0, 2
|
||||
/* 007BBC 80006FBC 24A50002 */ addiu $a1, $a1, 2
|
||||
/* 007BC0 80006FC0 24C6FFFE */ addiu $a2, $a2, -2
|
||||
/* 007BC4 80006FC4 10000008 */ b forwards_32
|
||||
/* 007BC8 80006FC8 A4A2FFFE */ sh $v0, -2($a1)
|
||||
forw_copy3:
|
||||
/* 007BCC 80006FCC 80820000 */ lb $v0, ($a0)
|
||||
/* 007BD0 80006FD0 84830001 */ lh $v1, 1($a0)
|
||||
/* 007BD4 80006FD4 24840003 */ addiu $a0, $a0, 3
|
||||
/* 007BD8 80006FD8 24A50003 */ addiu $a1, $a1, 3
|
||||
/* 007BDC 80006FDC 24C6FFFD */ addiu $a2, $a2, -3
|
||||
/* 007BE0 80006FE0 A0A2FFFD */ sb $v0, -3($a1)
|
||||
/* 007BE4 80006FE4 A4A3FFFE */ sh $v1, -2($a1)
|
||||
forwards_32:
|
||||
/* 007BE8 80006FE8 28C10020 */ slti $at, $a2, 0x20
|
||||
/* 007BEC 80006FEC 54200016 */ bnezl $at, .L80007048
|
||||
/* 007BF0 80006FF0 28C10010 */ slti $at, $a2, 0x10
|
||||
/* 007BF4 80006FF4 8C820000 */ lw $v0, ($a0)
|
||||
/* 007BF8 80006FF8 8C830004 */ lw $v1, 4($a0)
|
||||
/* 007BFC 80006FFC 8C880008 */ lw $t0, 8($a0)
|
||||
/* 007C00 80007000 8C89000C */ lw $t1, 0xc($a0)
|
||||
/* 007C04 80007004 8C8A0010 */ lw $t2, 0x10($a0)
|
||||
/* 007C08 80007008 8C8B0014 */ lw $t3, 0x14($a0)
|
||||
/* 007C0C 8000700C 8C8C0018 */ lw $t4, 0x18($a0)
|
||||
/* 007C10 80007010 8C8D001C */ lw $t5, 0x1c($a0)
|
||||
/* 007C14 80007014 24840020 */ addiu $a0, $a0, 0x20
|
||||
/* 007C18 80007018 24A50020 */ addiu $a1, $a1, 0x20
|
||||
/* 007C1C 8000701C 24C6FFE0 */ addiu $a2, $a2, -0x20
|
||||
/* 007C20 80007020 ACA2FFE0 */ sw $v0, -0x20($a1)
|
||||
/* 007C24 80007024 ACA3FFE4 */ sw $v1, -0x1c($a1)
|
||||
/* 007C28 80007028 ACA8FFE8 */ sw $t0, -0x18($a1)
|
||||
/* 007C2C 8000702C ACA9FFEC */ sw $t1, -0x14($a1)
|
||||
/* 007C30 80007030 ACAAFFF0 */ sw $t2, -0x10($a1)
|
||||
/* 007C34 80007034 ACABFFF4 */ sw $t3, -0xc($a1)
|
||||
/* 007C38 80007038 ACACFFF8 */ sw $t4, -8($a1)
|
||||
/* 007C3C 8000703C 1000FFEA */ b forwards_32
|
||||
/* 007C40 80007040 ACADFFFC */ sw $t5, -4($a1)
|
||||
forwards_16:
|
||||
/* 007C44 80007044 28C10010 */ slti $at, $a2, 0x10
|
||||
.L80007048:
|
||||
/* 007C48 80007048 5420000E */ bnezl $at, .L80007084
|
||||
/* 007C4C 8000704C 28C10004 */ slti $at, $a2, 4
|
||||
/* 007C50 80007050 8C820000 */ lw $v0, ($a0)
|
||||
/* 007C54 80007054 8C830004 */ lw $v1, 4($a0)
|
||||
/* 007C58 80007058 8C880008 */ lw $t0, 8($a0)
|
||||
/* 007C5C 8000705C 8C89000C */ lw $t1, 0xc($a0)
|
||||
/* 007C60 80007060 24840010 */ addiu $a0, $a0, 0x10
|
||||
/* 007C64 80007064 24A50010 */ addiu $a1, $a1, 0x10
|
||||
/* 007C68 80007068 24C6FFF0 */ addiu $a2, $a2, -0x10
|
||||
/* 007C6C 8000706C ACA2FFF0 */ sw $v0, -0x10($a1)
|
||||
/* 007C70 80007070 ACA3FFF4 */ sw $v1, -0xc($a1)
|
||||
/* 007C74 80007074 ACA8FFF8 */ sw $t0, -8($a1)
|
||||
/* 007C78 80007078 1000FFF2 */ b forwards_16
|
||||
/* 007C7C 8000707C ACA9FFFC */ sw $t1, -4($a1)
|
||||
forwards_4:
|
||||
/* 007C80 80007080 28C10004 */ slti $at, $a2, 4
|
||||
.L80007084:
|
||||
/* 007C84 80007084 1420FFB5 */ bnez $at, forwards_bytecopy
|
||||
/* 007C88 80007088 00000000 */ nop
|
||||
/* 007C8C 8000708C 8C820000 */ lw $v0, ($a0)
|
||||
/* 007C90 80007090 24840004 */ addiu $a0, $a0, 4
|
||||
/* 007C94 80007094 24A50004 */ addiu $a1, $a1, 4
|
||||
/* 007C98 80007098 24C6FFFC */ addiu $a2, $a2, -4
|
||||
/* 007C9C 8000709C 1000FFF8 */ b forwards_4
|
||||
/* 007CA0 800070A0 ACA2FFFC */ sw $v0, -4($a1)
|
||||
/* 007CA4 800070A4 28C10010 */ slti $at, $a2, 0x10
|
||||
gobackwards:
|
||||
/* 007CA8 800070A8 00862020 */ add $a0, $a0, $a2
|
||||
/* 007CAC 800070AC 14200005 */ bnez $at, backwards_bytecopy
|
||||
/* 007CB0 800070B0 00A62820 */ add $a1, $a1, $a2
|
||||
/* 007CB4 800070B4 30820003 */ andi $v0, $a0, 3
|
||||
/* 007CB8 800070B8 30A30003 */ andi $v1, $a1, 3
|
||||
/* 007CBC 800070BC 1043000D */ beq $v0, $v1, backalignable
|
||||
/* 007CC0 800070C0 00000000 */ nop
|
||||
backwards_bytecopy:
|
||||
/* 007CC4 800070C4 10C0FFAD */ beqz $a2, ret
|
||||
/* 007CC8 800070C8 00000000 */ nop
|
||||
/* 007CCC 800070CC 2484FFFF */ addiu $a0, $a0, -1
|
||||
/* 007CD0 800070D0 24A5FFFF */ addiu $a1, $a1, -1
|
||||
/* 007CD4 800070D4 00861823 */ subu $v1, $a0, $a2
|
||||
.L800070D8:
|
||||
/* 007CD8 800070D8 80820000 */ lb $v0, ($a0)
|
||||
/* 007CDC 800070DC 2484FFFF */ addiu $a0, $a0, -1
|
||||
/* 007CE0 800070E0 24A5FFFF */ addiu $a1, $a1, -1
|
||||
/* 007CE4 800070E4 1483FFFC */ bne $a0, $v1, .L800070D8
|
||||
/* 007CE8 800070E8 A0A20001 */ sb $v0, 1($a1)
|
||||
/* 007CEC 800070EC 03E00008 */ jr $ra
|
||||
/* 007CF0 800070F0 00E01025 */ move $v0, $a3
|
||||
|
||||
backalignable:
|
||||
/* 007CF4 800070F4 10400018 */ beqz $v0, backwards_32
|
||||
/* 007CF8 800070F8 24010003 */ li $at, 3
|
||||
/* 007CFC 800070FC 1041000F */ beq $v0, $at, back_copy3
|
||||
/* 007D00 80007100 24010002 */ li $at, 2
|
||||
/* 007D04 80007104 50410008 */ beql $v0, $at, back_copy2
|
||||
/* 007D08 80007108 8482FFFE */ lh $v0, -2($a0)
|
||||
/* 007D0C 8000710C 8082FFFF */ lb $v0, -1($a0)
|
||||
/* 007D10 80007110 2484FFFF */ addiu $a0, $a0, -1
|
||||
/* 007D14 80007114 24A5FFFF */ addiu $a1, $a1, -1
|
||||
/* 007D18 80007118 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 007D1C 8000711C 1000000E */ b backwards_32
|
||||
/* 007D20 80007120 A0A20000 */ sb $v0, ($a1)
|
||||
/* 007D24 80007124 8482FFFE */ lh $v0, -2($a0)
|
||||
back_copy2:
|
||||
/* 007D28 80007128 2484FFFE */ addiu $a0, $a0, -2
|
||||
/* 007D2C 8000712C 24A5FFFE */ addiu $a1, $a1, -2
|
||||
/* 007D30 80007130 24C6FFFE */ addiu $a2, $a2, -2
|
||||
/* 007D34 80007134 10000008 */ b backwards_32
|
||||
/* 007D38 80007138 A4A20000 */ sh $v0, ($a1)
|
||||
back_copy3:
|
||||
/* 007D3C 8000713C 8082FFFF */ lb $v0, -1($a0)
|
||||
/* 007D40 80007140 8483FFFD */ lh $v1, -3($a0)
|
||||
/* 007D44 80007144 2484FFFD */ addiu $a0, $a0, -3
|
||||
/* 007D48 80007148 24A5FFFD */ addiu $a1, $a1, -3
|
||||
/* 007D4C 8000714C 24C6FFFD */ addiu $a2, $a2, -3
|
||||
/* 007D50 80007150 A0A20002 */ sb $v0, 2($a1)
|
||||
/* 007D54 80007154 A4A30000 */ sh $v1, ($a1)
|
||||
backwards_32:
|
||||
/* 007D58 80007158 28C10020 */ slti $at, $a2, 0x20
|
||||
/* 007D5C 8000715C 54200016 */ bnezl $at, .L800071B8
|
||||
/* 007D60 80007160 28C10010 */ slti $at, $a2, 0x10
|
||||
/* 007D64 80007164 8C82FFFC */ lw $v0, -4($a0)
|
||||
/* 007D68 80007168 8C83FFF8 */ lw $v1, -8($a0)
|
||||
/* 007D6C 8000716C 8C88FFF4 */ lw $t0, -0xc($a0)
|
||||
/* 007D70 80007170 8C89FFF0 */ lw $t1, -0x10($a0)
|
||||
/* 007D74 80007174 8C8AFFEC */ lw $t2, -0x14($a0)
|
||||
/* 007D78 80007178 8C8BFFE8 */ lw $t3, -0x18($a0)
|
||||
/* 007D7C 8000717C 8C8CFFE4 */ lw $t4, -0x1c($a0)
|
||||
/* 007D80 80007180 8C8DFFE0 */ lw $t5, -0x20($a0)
|
||||
/* 007D84 80007184 2484FFE0 */ addiu $a0, $a0, -0x20
|
||||
/* 007D88 80007188 24A5FFE0 */ addiu $a1, $a1, -0x20
|
||||
/* 007D8C 8000718C 24C6FFE0 */ addiu $a2, $a2, -0x20
|
||||
/* 007D90 80007190 ACA2001C */ sw $v0, 0x1c($a1)
|
||||
/* 007D94 80007194 ACA30018 */ sw $v1, 0x18($a1)
|
||||
/* 007D98 80007198 ACA80014 */ sw $t0, 0x14($a1)
|
||||
/* 007D9C 8000719C ACA90010 */ sw $t1, 0x10($a1)
|
||||
/* 007DA0 800071A0 ACAA000C */ sw $t2, 0xc($a1)
|
||||
/* 007DA4 800071A4 ACAB0008 */ sw $t3, 8($a1)
|
||||
/* 007DA8 800071A8 ACAC0004 */ sw $t4, 4($a1)
|
||||
/* 007DAC 800071AC 1000FFEA */ b backwards_32
|
||||
/* 007DB0 800071B0 ACAD0000 */ sw $t5, ($a1)
|
||||
backwards_16:
|
||||
/* 007DB4 800071B4 28C10010 */ slti $at, $a2, 0x10
|
||||
.L800071B8:
|
||||
/* 007DB8 800071B8 5420000E */ bnezl $at, .L800071F4
|
||||
/* 007DBC 800071BC 28C10004 */ slti $at, $a2, 4
|
||||
/* 007DC0 800071C0 8C82FFFC */ lw $v0, -4($a0)
|
||||
/* 007DC4 800071C4 8C83FFF8 */ lw $v1, -8($a0)
|
||||
/* 007DC8 800071C8 8C88FFF4 */ lw $t0, -0xc($a0)
|
||||
/* 007DCC 800071CC 8C89FFF0 */ lw $t1, -0x10($a0)
|
||||
/* 007DD0 800071D0 2484FFF0 */ addiu $a0, $a0, -0x10
|
||||
/* 007DD4 800071D4 24A5FFF0 */ addiu $a1, $a1, -0x10
|
||||
/* 007DD8 800071D8 24C6FFF0 */ addiu $a2, $a2, -0x10
|
||||
/* 007DDC 800071DC ACA2000C */ sw $v0, 0xc($a1)
|
||||
/* 007DE0 800071E0 ACA30008 */ sw $v1, 8($a1)
|
||||
/* 007DE4 800071E4 ACA80004 */ sw $t0, 4($a1)
|
||||
/* 007DE8 800071E8 1000FFF2 */ b backwards_16
|
||||
/* 007DEC 800071EC ACA90000 */ sw $t1, ($a1)
|
||||
backwards_4:
|
||||
/* 007DF0 800071F0 28C10004 */ slti $at, $a2, 4
|
||||
.L800071F4:
|
||||
/* 007DF4 800071F4 1420FFB3 */ bnez $at, backwards_bytecopy
|
||||
/* 007DF8 800071F8 00000000 */ nop
|
||||
/* 007DFC 800071FC 8C82FFFC */ lw $v0, -4($a0)
|
||||
/* 007E00 80007200 2484FFFC */ addiu $a0, $a0, -4
|
||||
/* 007E04 80007204 24A5FFFC */ addiu $a1, $a1, -4
|
||||
/* 007E08 80007208 24C6FFFC */ addiu $a2, $a2, -4
|
||||
/* 007E0C 8000720C 1000FFF8 */ b backwards_4
|
||||
/* 007E10 80007210 ACA20000 */ sw $v0, ($a1)
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel bzero
|
||||
/* 005050 80004450 28A1000C */ slti $at, $a1, 0xc
|
||||
/* 005054 80004454 1420001D */ bnez $at, .bytezero
|
||||
/* 005058 80004458 00041823 */ negu $v1, $a0
|
||||
/* 00505C 8000445C 30630003 */ andi $v1, $v1, 3
|
||||
/* 005060 80004460 10600003 */ beqz $v1, .blkzero
|
||||
/* 005064 80004464 00A32823 */ subu $a1, $a1, $v1
|
||||
/* 005068 80004468 A8800000 */ swl $zero, ($a0)
|
||||
/* 00506C 8000446C 00832021 */ addu $a0, $a0, $v1
|
||||
.blkzero:
|
||||
/* 005070 80004470 2401FFE0 */ li $at, -32
|
||||
/* 005074 80004474 00A13824 */ and $a3, $a1, $at
|
||||
/* 005078 80004478 10E0000C */ beqz $a3, .wordzero
|
||||
/* 00507C 8000447C 00A72823 */ subu $a1, $a1, $a3
|
||||
/* 005080 80004480 00E43821 */ addu $a3, $a3, $a0
|
||||
.L80004484:
|
||||
/* 005084 80004484 24840020 */ addiu $a0, $a0, 0x20
|
||||
/* 005088 80004488 AC80FFE0 */ sw $zero, -0x20($a0)
|
||||
/* 00508C 8000448C AC80FFE4 */ sw $zero, -0x1c($a0)
|
||||
/* 005090 80004490 AC80FFE8 */ sw $zero, -0x18($a0)
|
||||
/* 005094 80004494 AC80FFEC */ sw $zero, -0x14($a0)
|
||||
/* 005098 80004498 AC80FFF0 */ sw $zero, -0x10($a0)
|
||||
/* 00509C 8000449C AC80FFF4 */ sw $zero, -0xc($a0)
|
||||
/* 0050A0 800044A0 AC80FFF8 */ sw $zero, -8($a0)
|
||||
/* 0050A4 800044A4 1487FFF7 */ bne $a0, $a3, .L80004484
|
||||
/* 0050A8 800044A8 AC80FFFC */ sw $zero, -4($a0)
|
||||
.wordzero:
|
||||
/* 0050AC 800044AC 2401FFFC */ li $at, -4
|
||||
/* 0050B0 800044B0 00A13824 */ and $a3, $a1, $at
|
||||
/* 0050B4 800044B4 10E00005 */ beqz $a3, .bytezero
|
||||
/* 0050B8 800044B8 00A72823 */ subu $a1, $a1, $a3
|
||||
/* 0050BC 800044BC 00E43821 */ addu $a3, $a3, $a0
|
||||
.L800044C0:
|
||||
/* 0050C0 800044C0 24840004 */ addiu $a0, $a0, 4
|
||||
/* 0050C4 800044C4 1487FFFE */ bne $a0, $a3, .L800044C0
|
||||
/* 0050C8 800044C8 AC80FFFC */ sw $zero, -4($a0)
|
||||
.bytezero:
|
||||
/* 0050CC 800044CC 18A00005 */ blez $a1, .zerodone
|
||||
/* 0050D0 800044D0 00000000 */ nop
|
||||
/* 0050D4 800044D4 00A42821 */ addu $a1, $a1, $a0
|
||||
.L800044D8:
|
||||
/* 0050D8 800044D8 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0050DC 800044DC 1485FFFE */ bne $a0, $a1, .L800044D8
|
||||
/* 0050E0 800044E0 A080FFFF */ sb $zero, -1($a0)
|
||||
.zerodone:
|
||||
/* 0050E4 800044E4 03E00008 */ jr $ra
|
||||
/* 0050E8 800044E8 00000000 */ nop
|
||||
|
||||
/* 0050EC 800044EC 00000000 */ nop
|
||||
/* 0050F0 800044F0 00000000 */ nop
|
||||
/* 0050F4 800044F4 00000000 */ nop
|
||||
/* 0050F8 800044F8 00000000 */ nop
|
||||
/* 0050FC 800044FC 00000000 */ nop
|
||||
/* 005100 80004500 00000000 */ nop
|
||||
/* 005104 80004504 00000000 */ nop
|
||||
/* 005108 80004508 00000000 */ nop
|
||||
/* 00510C 8000450C 00000000 */ nop
|
||||
/* 005110 80004510 00000000 */ nop
|
||||
/* 005114 80004514 00000000 */ nop
|
||||
/* 005118 80004518 00000000 */ nop
|
||||
/* 00511C 8000451C 00000000 */ nop
|
||||
/* 005120 80004520 00000000 */ nop
|
||||
/* 005124 80004524 00000000 */ nop
|
||||
/* 005128 80004528 00000000 */ nop
|
||||
/* 00512C 8000452C 00000000 */ nop
|
||||
/* 005130 80004530 00000000 */ nop
|
||||
/* 005134 80004534 00000000 */ nop
|
||||
/* 005138 80004538 00000000 */ nop
|
||||
/* 00513C 8000453C 00000000 */ nop
|
||||
/* 005140 80004540 00000000 */ nop
|
||||
/* 005144 80004544 00000000 */ nop
|
||||
/* 005148 80004548 00000000 */ nop
|
||||
/* 00514C 8000454C 00000000 */ nop
|
||||
@@ -0,0 +1,137 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_8006BA00
|
||||
/* AE2BA0 8006BA00 24831DB4 */ addiu $v1, $a0, 0x1db4
|
||||
/* AE2BA4 8006BA04 24040010 */ li $a0, 16
|
||||
/* AE2BA8 8006BA08 00001025 */ move $v0, $zero
|
||||
.L8006BA0C:
|
||||
/* AE2BAC 8006BA0C 24420004 */ addiu $v0, $v0, 4
|
||||
/* AE2BB0 8006BA10 A4600000 */ sh $zero, ($v1)
|
||||
/* AE2BB4 8006BA14 A460001C */ sh $zero, 0x1c($v1)
|
||||
/* AE2BB8 8006BA18 A4600038 */ sh $zero, 0x38($v1)
|
||||
/* AE2BBC 8006BA1C A4600054 */ sh $zero, 0x54($v1)
|
||||
/* AE2BC0 8006BA20 1444FFFA */ bne $v0, $a0, .L8006BA0C
|
||||
/* AE2BC4 8006BA24 24630070 */ addiu $v1, $v1, 0x70
|
||||
/* AE2BC8 8006BA28 03E00008 */ jr $ra
|
||||
/* AE2BCC 8006BA2C 00000000 */ nop
|
||||
|
||||
glabel func_8006BA30
|
||||
/* AE2BD0 8006BA30 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* AE2BD4 8006BA34 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* AE2BD8 8006BA38 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* AE2BDC 8006BA3C AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* AE2BE0 8006BA40 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* AE2BE4 8006BA44 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* AE2BE8 8006BA48 3C140001 */ lui $s4, (0x00011D60 >> 16) # lui $s4, 1
|
||||
/* AE2BEC 8006BA4C 00809025 */ move $s2, $a0
|
||||
/* AE2BF0 8006BA50 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* AE2BF4 8006BA54 24901DB4 */ addiu $s0, $a0, 0x1db4
|
||||
/* AE2BF8 8006BA58 36941D60 */ ori $s4, (0x00011D60 & 0xFFFF) # ori $s4, $s4, 0x1d60
|
||||
/* AE2BFC 8006BA5C 00008825 */ move $s1, $zero
|
||||
/* AE2C00 8006BA60 24130010 */ li $s3, 16
|
||||
.L8006BA64:
|
||||
/* AE2C04 8006BA64 96020000 */ lhu $v0, ($s0)
|
||||
/* AE2C08 8006BA68 50400011 */ beql $v0, $zero, .L8006BAB0
|
||||
/* AE2C0C 8006BA6C 26310001 */ addiu $s1, $s1, 1
|
||||
/* AE2C10 8006BA70 14400003 */ bnez $v0, .L8006BA80
|
||||
/* AE2C14 8006BA74 244EFFFF */ addiu $t6, $v0, -1
|
||||
/* AE2C18 8006BA78 10000003 */ b .L8006BA88
|
||||
/* AE2C1C 8006BA7C 00001825 */ move $v1, $zero
|
||||
.L8006BA80:
|
||||
/* AE2C20 8006BA80 A60E0000 */ sh $t6, ($s0)
|
||||
/* AE2C24 8006BA84 31C3FFFF */ andi $v1, $t6, 0xffff
|
||||
.L8006BA88:
|
||||
/* AE2C28 8006BA88 14600005 */ bnez $v1, .L8006BAA0
|
||||
/* AE2C2C 8006BA8C 02542021 */ addu $a0, $s2, $s4
|
||||
/* AE2C30 8006BA90 0C03E27A */ jal func_800F89E8
|
||||
/* AE2C34 8006BA94 26040010 */ addiu $a0, $s0, 0x10
|
||||
/* AE2C38 8006BA98 10000005 */ b .L8006BAB0
|
||||
/* AE2C3C 8006BA9C 26310001 */ addiu $s1, $s1, 1
|
||||
.L8006BAA0:
|
||||
/* AE2C40 8006BAA0 26050004 */ addiu $a1, $s0, 4
|
||||
/* AE2C44 8006BAA4 0C029BBD */ jal func_800A6EF4
|
||||
/* AE2C48 8006BAA8 26060010 */ addiu $a2, $s0, 0x10
|
||||
/* AE2C4C 8006BAAC 26310001 */ addiu $s1, $s1, 1
|
||||
.L8006BAB0:
|
||||
/* AE2C50 8006BAB0 1633FFEC */ bne $s1, $s3, .L8006BA64
|
||||
/* AE2C54 8006BAB4 2610001C */ addiu $s0, $s0, 0x1c
|
||||
/* AE2C58 8006BAB8 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* AE2C5C 8006BABC 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* AE2C60 8006BAC0 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* AE2C64 8006BAC4 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* AE2C68 8006BAC8 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* AE2C6C 8006BACC 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* AE2C70 8006BAD0 03E00008 */ jr $ra
|
||||
/* AE2C74 8006BAD4 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
|
||||
glabel Audio_PlaySoundAtPosition
|
||||
/* AE2C78 8006BAD8 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* AE2C7C 8006BADC AFA40038 */ sw $a0, 0x38($sp)
|
||||
/* AE2C80 8006BAE0 AFA5003C */ sw $a1, 0x3c($sp)
|
||||
/* AE2C84 8006BAE4 24881DB4 */ addiu $t0, $a0, 0x1db4
|
||||
/* AE2C88 8006BAE8 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* AE2C8C 8006BAEC AFA60040 */ sw $a2, 0x40($sp)
|
||||
/* AE2C90 8006BAF0 AFA70044 */ sw $a3, 0x44($sp)
|
||||
/* AE2C94 8006BAF4 340AFFFF */ li $t2, 65535
|
||||
/* AE2C98 8006BAF8 24040010 */ li $a0, 16
|
||||
/* AE2C9C 8006BAFC 8FA50028 */ lw $a1, 0x28($sp)
|
||||
/* AE2CA0 8006BB00 00004825 */ move $t1, $zero
|
||||
.L8006BB04:
|
||||
/* AE2CA4 8006BB04 95020000 */ lhu $v0, ($t0)
|
||||
/* AE2CA8 8006BB08 10400007 */ beqz $v0, .L8006BB28
|
||||
/* AE2CAC 8006BB0C 004A082A */ slt $at, $v0, $t2
|
||||
/* AE2CB0 8006BB10 10200003 */ beqz $at, .L8006BB20
|
||||
/* AE2CB4 8006BB14 25290001 */ addiu $t1, $t1, 1
|
||||
/* AE2CB8 8006BB18 00405025 */ move $t2, $v0
|
||||
/* AE2CBC 8006BB1C 01002825 */ move $a1, $t0
|
||||
.L8006BB20:
|
||||
/* AE2CC0 8006BB20 1524FFF8 */ bne $t1, $a0, .L8006BB04
|
||||
/* AE2CC4 8006BB24 2508001C */ addiu $t0, $t0, 0x1c
|
||||
.L8006BB28:
|
||||
/* AE2CC8 8006BB28 29210010 */ slti $at, $t1, 0x10
|
||||
/* AE2CCC 8006BB2C 14200004 */ bnez $at, .L8006BB40
|
||||
/* AE2CD0 8006BB30 24A40010 */ addiu $a0, $a1, 0x10
|
||||
/* AE2CD4 8006BB34 0C03E27A */ jal func_800F89E8
|
||||
/* AE2CD8 8006BB38 AFA50030 */ sw $a1, 0x30($sp)
|
||||
/* AE2CDC 8006BB3C 8FA80030 */ lw $t0, 0x30($sp)
|
||||
.L8006BB40:
|
||||
/* AE2CE0 8006BB40 8FAE003C */ lw $t6, 0x3c($sp)
|
||||
/* AE2CE4 8006BB44 25050004 */ addiu $a1, $t0, 4
|
||||
/* AE2CE8 8006BB48 3C010001 */ lui $at, (0x00011D60 >> 16) # lui $at, 1
|
||||
/* AE2CEC 8006BB4C 8DD80000 */ lw $t8, ($t6)
|
||||
/* AE2CF0 8006BB50 34211D60 */ ori $at, (0x00011D60 & 0xFFFF) # ori $at, $at, 0x1d60
|
||||
/* AE2CF4 8006BB54 25060010 */ addiu $a2, $t0, 0x10
|
||||
/* AE2CF8 8006BB58 ACB80000 */ sw $t8, ($a1)
|
||||
/* AE2CFC 8006BB5C 8DCF0004 */ lw $t7, 4($t6)
|
||||
/* AE2D00 8006BB60 ACAF0004 */ sw $t7, 4($a1)
|
||||
/* AE2D04 8006BB64 8DD80008 */ lw $t8, 8($t6)
|
||||
/* AE2D08 8006BB68 ACB80008 */ sw $t8, 8($a1)
|
||||
/* AE2D0C 8006BB6C 8FB90040 */ lw $t9, 0x40($sp)
|
||||
/* AE2D10 8006BB70 A5190000 */ sh $t9, ($t0)
|
||||
/* AE2D14 8006BB74 8FA40038 */ lw $a0, 0x38($sp)
|
||||
/* AE2D18 8006BB78 AFA60020 */ sw $a2, 0x20($sp)
|
||||
/* AE2D1C 8006BB7C 0C029BBD */ jal func_800A6EF4
|
||||
/* AE2D20 8006BB80 00812021 */ addu $a0, $a0, $at
|
||||
/* AE2D24 8006BB84 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
|
||||
/* AE2D28 8006BB88 3C0B8013 */ lui $t3, %hi(D_801333E8) # $t3, 0x8013
|
||||
/* AE2D2C 8006BB8C 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
|
||||
/* AE2D30 8006BB90 256B33E8 */ addiu $t3, %lo(D_801333E8) # addiu $t3, $t3, 0x33e8
|
||||
/* AE2D34 8006BB94 AFAB0014 */ sw $t3, 0x14($sp)
|
||||
/* AE2D38 8006BB98 AFA70010 */ sw $a3, 0x10($sp)
|
||||
/* AE2D3C 8006BB9C 97A40046 */ lhu $a0, 0x46($sp)
|
||||
/* AE2D40 8006BBA0 8FA50020 */ lw $a1, 0x20($sp)
|
||||
/* AE2D44 8006BBA4 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
/* AE2D48 8006BBA8 24060004 */ li $a2, 4
|
||||
/* AE2D4C 8006BBAC 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* AE2D50 8006BBB0 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
/* AE2D54 8006BBB4 03E00008 */ jr $ra
|
||||
/* AE2D58 8006BBB8 00000000 */ nop
|
||||
@@ -0,0 +1,132 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_8008E4E0
|
||||
/* B05680 8008E4E0 AFA50004 */ sw $a1, 4($sp)
|
||||
/* B05684 8008E4E4 AFA60008 */ sw $a2, 8($sp)
|
||||
/* B05688 8008E4E8 00063400 */ sll $a2, $a2, 0x10
|
||||
/* B0568C 8008E4EC 00052C00 */ sll $a1, $a1, 0x10
|
||||
/* B05690 8008E4F0 00052C03 */ sra $a1, $a1, 0x10
|
||||
/* B05694 8008E4F4 00063403 */ sra $a2, $a2, 0x10
|
||||
/* B05698 8008E4F8 10A60007 */ beq $a1, $a2, .L8008E518
|
||||
/* B0569C 8008E4FC 00001825 */ move $v1, $zero
|
||||
/* B056A0 8008E500 3C0E0001 */ lui $t6, 1
|
||||
/* B056A4 8008E504 01C47021 */ addu $t6, $t6, $a0
|
||||
/* B056A8 8008E508 8DCE1E08 */ lw $t6, 0x1e08($t6)
|
||||
/* B056AC 8008E50C 000578C0 */ sll $t7, $a1, 3
|
||||
/* B056B0 8008E510 03E00008 */ jr $ra
|
||||
/* B056B4 8008E514 01CF1021 */ addu $v0, $t6, $t7
|
||||
.L8008E518:
|
||||
/* B056B8 8008E518 03E00008 */ jr $ra
|
||||
/* B056BC 8008E51C 00601025 */ move $v0, $v1
|
||||
|
||||
glabel func_8008E520
|
||||
/* B056C0 8008E520 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* B056C4 8008E524 AFA60028 */ sw $a2, 0x28($sp)
|
||||
/* B056C8 8008E528 00063400 */ sll $a2, $a2, 0x10
|
||||
/* B056CC 8008E52C 00063403 */ sra $a2, $a2, 0x10
|
||||
/* B056D0 8008E530 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B056D4 8008E534 14A00005 */ bnez $a1, .L8008E54C
|
||||
/* B056D8 8008E538 AFA7002C */ sw $a3, 0x2c($sp)
|
||||
/* B056DC 8008E53C 3C01BF80 */ li $at, 0xBF800000 # 0.000000
|
||||
/* B056E0 8008E540 44810000 */ mtc1 $at, $f0
|
||||
/* B056E4 8008E544 1000002E */ b .L8008E600
|
||||
/* B056E8 8008E548 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L8008E54C:
|
||||
/* B056EC 8008E54C 8CA30004 */ lw $v1, 4($a1)
|
||||
/* B056F0 8008E550 3C198016 */ lui $t9, %hi(gSegments)
|
||||
/* B056F4 8008E554 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
|
||||
/* B056F8 8008E558 00037100 */ sll $t6, $v1, 4
|
||||
/* B056FC 8008E55C 000E7F02 */ srl $t7, $t6, 0x1c
|
||||
/* B05700 8008E560 000FC080 */ sll $t8, $t7, 2
|
||||
/* B05704 8008E564 0338C821 */ addu $t9, $t9, $t8
|
||||
/* B05708 8008E568 8F396FA8 */ lw $t9, %lo(gSegments)($t9)
|
||||
/* B0570C 8008E56C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* B05710 8008E570 00614024 */ and $t0, $v1, $at
|
||||
/* B05714 8008E574 00064880 */ sll $t1, $a2, 2
|
||||
/* B05718 8008E578 3C018000 */ lui $at, 0x8000
|
||||
/* B0571C 8008E57C 01264823 */ subu $t1, $t1, $a2
|
||||
/* B05720 8008E580 03281021 */ addu $v0, $t9, $t0
|
||||
/* B05724 8008E584 00411021 */ addu $v0, $v0, $at
|
||||
/* B05728 8008E588 00094840 */ sll $t1, $t1, 1
|
||||
/* B0572C 8008E58C 01221021 */ addu $v0, $t1, $v0
|
||||
/* B05730 8008E590 844A0000 */ lh $t2, ($v0)
|
||||
/* B05734 8008E594 844B0004 */ lh $t3, 4($v0)
|
||||
/* B05738 8008E598 C4880024 */ lwc1 $f8, 0x24($a0)
|
||||
/* B0573C 8008E59C 448A2000 */ mtc1 $t2, $f4
|
||||
/* B05740 8008E5A0 448B5000 */ mtc1 $t3, $f10
|
||||
/* B05744 8008E5A4 C492002C */ lwc1 $f18, 0x2c($a0)
|
||||
/* B05748 8008E5A8 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* B0574C 8008E5AC 46805420 */ cvt.s.w $f16, $f10
|
||||
/* B05750 8008E5B0 46083301 */ sub.s $f12, $f6, $f8
|
||||
/* B05754 8008E5B4 46128381 */ sub.s $f14, $f16, $f18
|
||||
/* B05758 8008E5B8 E7AC001C */ swc1 $f12, 0x1c($sp)
|
||||
/* B0575C 8008E5BC 0C03F494 */ jal func_800FD250
|
||||
/* B05760 8008E5C0 E7AE0018 */ swc1 $f14, 0x18($sp)
|
||||
/* B05764 8008E5C4 3C018014 */ lui $at, %hi(D_8013E760)
|
||||
/* B05768 8008E5C8 C424E760 */ lwc1 $f4, %lo(D_8013E760)($at)
|
||||
/* B0576C 8008E5CC C7AC001C */ lwc1 $f12, 0x1c($sp)
|
||||
/* B05770 8008E5D0 C7AE0018 */ lwc1 $f14, 0x18($sp)
|
||||
/* B05774 8008E5D4 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* B05778 8008E5D8 8FAE002C */ lw $t6, 0x2c($sp)
|
||||
/* B0577C 8008E5DC 460C6282 */ mul.s $f10, $f12, $f12
|
||||
/* B05780 8008E5E0 00000000 */ nop
|
||||
/* B05784 8008E5E4 460E7402 */ mul.s $f16, $f14, $f14
|
||||
/* B05788 8008E5E8 4600320D */ trunc.w.s $f8, $f6
|
||||
/* B0578C 8008E5EC 46105000 */ add.s $f0, $f10, $f16
|
||||
/* B05790 8008E5F0 440D4000 */ mfc1 $t5, $f8
|
||||
/* B05794 8008E5F4 00000000 */ nop
|
||||
/* B05798 8008E5F8 A5CD0000 */ sh $t5, ($t6)
|
||||
/* B0579C 8008E5FC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L8008E600:
|
||||
/* B057A0 8008E600 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* B057A4 8008E604 03E00008 */ jr $ra
|
||||
/* B057A8 8008E608 00000000 */ nop
|
||||
|
||||
glabel func_8008E60C
|
||||
/* B057AC 8008E60C 10800022 */ beqz $a0, .L8008E698
|
||||
/* B057B0 8008E610 3C198016 */ lui $t9, %hi(gSegments)
|
||||
/* B057B4 8008E614 8C830004 */ lw $v1, 4($a0)
|
||||
/* B057B8 8008E618 908A0000 */ lbu $t2, ($a0)
|
||||
/* B057BC 8008E61C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
|
||||
/* B057C0 8008E620 00037100 */ sll $t6, $v1, 4
|
||||
/* B057C4 8008E624 000E7F02 */ srl $t7, $t6, 0x1c
|
||||
/* B057C8 8008E628 000FC080 */ sll $t8, $t7, 2
|
||||
/* B057CC 8008E62C 0338C821 */ addu $t9, $t9, $t8
|
||||
/* B057D0 8008E630 8F396FA8 */ lw $t9, %lo(gSegments)($t9)
|
||||
/* B057D4 8008E634 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
|
||||
/* B057D8 8008E638 00614024 */ and $t0, $v1, $at
|
||||
/* B057DC 8008E63C 000A5880 */ sll $t3, $t2, 2
|
||||
/* B057E0 8008E640 016A5823 */ subu $t3, $t3, $t2
|
||||
/* B057E4 8008E644 000B5840 */ sll $t3, $t3, 1
|
||||
/* B057E8 8008E648 3C017FFF */ lui $at, (0x7FFFFFFA >> 16) # lui $at, 0x7fff
|
||||
/* B057EC 8008E64C 03284821 */ addu $t1, $t9, $t0
|
||||
/* B057F0 8008E650 012B1021 */ addu $v0, $t1, $t3
|
||||
/* B057F4 8008E654 3421FFFA */ ori $at, (0x7FFFFFFA & 0xFFFF) # ori $at, $at, 0xfffa
|
||||
/* B057F8 8008E658 00411021 */ addu $v0, $v0, $at
|
||||
/* B057FC 8008E65C 844C0000 */ lh $t4, ($v0)
|
||||
/* B05800 8008E660 448C2000 */ mtc1 $t4, $f4
|
||||
/* B05804 8008E664 00000000 */ nop
|
||||
/* B05808 8008E668 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* B0580C 8008E66C E4A60000 */ swc1 $f6, ($a1)
|
||||
/* B05810 8008E670 844D0002 */ lh $t5, 2($v0)
|
||||
/* B05814 8008E674 448D4000 */ mtc1 $t5, $f8
|
||||
/* B05818 8008E678 00000000 */ nop
|
||||
/* B0581C 8008E67C 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* B05820 8008E680 E4AA0004 */ swc1 $f10, 4($a1)
|
||||
/* B05824 8008E684 844E0004 */ lh $t6, 4($v0)
|
||||
/* B05828 8008E688 448E8000 */ mtc1 $t6, $f16
|
||||
/* B0582C 8008E68C 00000000 */ nop
|
||||
/* B05830 8008E690 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* B05834 8008E694 E4B20008 */ swc1 $f18, 8($a1)
|
||||
.L8008E698:
|
||||
/* B05838 8008E698 03E00008 */ jr $ra
|
||||
/* B0583C 8008E69C 00000000 */ nop
|
||||
@@ -0,0 +1,61 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_8008E6A0
|
||||
/* B05840 8008E6A0 AC800004 */ sw $zero, 4($a0)
|
||||
/* B05844 8008E6A4 03E00008 */ jr $ra
|
||||
/* B05848 8008E6A8 AC800000 */ sw $zero, ($a0)
|
||||
|
||||
glabel func_8008E6AC
|
||||
/* B0584C 8008E6AC 94AE0000 */ lhu $t6, ($a1)
|
||||
/* B05850 8008E6B0 2403FFEF */ li $v1, -17
|
||||
/* B05854 8008E6B4 01C37827 */ nor $t7, $t6, $v1
|
||||
/* B05858 8008E6B8 55E0000A */ bnezl $t7, .L8008E6E4
|
||||
/* B0585C 8008E6BC 8C880000 */ lw $t0, ($a0)
|
||||
/* B05860 8008E6C0 94B8000C */ lhu $t8, 0xc($a1)
|
||||
/* B05864 8008E6C4 2401FBFF */ li $at, -1025
|
||||
/* B05868 8008E6C8 0301C827 */ nor $t9, $t8, $at
|
||||
/* B0586C 8008E6CC 57200005 */ bnezl $t9, .L8008E6E4
|
||||
/* B05870 8008E6D0 8C880000 */ lw $t0, ($a0)
|
||||
/* B05874 8008E6D4 8C820000 */ lw $v0, ($a0)
|
||||
/* B05878 8008E6D8 2C420001 */ sltiu $v0, $v0, 1
|
||||
/* B0587C 8008E6DC AC820000 */ sw $v0, ($a0)
|
||||
/* B05880 8008E6E0 8C880000 */ lw $t0, ($a0)
|
||||
.L8008E6E4:
|
||||
/* B05884 8008E6E4 51000013 */ beql $t0, $zero, .L8008E734
|
||||
/* B05888 8008E6E8 AC800004 */ sw $zero, 4($a0)
|
||||
/* B0588C 8008E6EC 94A20000 */ lhu $v0, ($a1)
|
||||
/* B05890 8008E6F0 2401DFFF */ li $at, -8193
|
||||
/* B05894 8008E6F4 00414827 */ nor $t1, $v0, $at
|
||||
/* B05898 8008E6F8 55200011 */ bnezl $t1, .L8008E740
|
||||
/* B0589C 8008E6FC 00001025 */ move $v0, $zero
|
||||
/* B058A0 8008E700 94AA000C */ lhu $t2, 0xc($a1)
|
||||
/* B058A4 8008E704 00436027 */ nor $t4, $v0, $v1
|
||||
/* B058A8 8008E708 01435827 */ nor $t3, $t2, $v1
|
||||
/* B058AC 8008E70C 51600009 */ beql $t3, $zero, .L8008E734
|
||||
/* B058B0 8008E710 AC800004 */ sw $zero, 4($a0)
|
||||
/* B058B4 8008E714 5580000A */ bnezl $t4, .L8008E740
|
||||
/* B058B8 8008E718 00001025 */ move $v0, $zero
|
||||
/* B058BC 8008E71C 8C8D0004 */ lw $t5, 4($a0)
|
||||
/* B058C0 8008E720 25AE0001 */ addiu $t6, $t5, 1
|
||||
/* B058C4 8008E724 29C10009 */ slti $at, $t6, 9
|
||||
/* B058C8 8008E728 14200004 */ bnez $at, .L8008E73C
|
||||
/* B058CC 8008E72C AC8E0004 */ sw $t6, 4($a0)
|
||||
/* B058D0 8008E730 AC800004 */ sw $zero, 4($a0)
|
||||
.L8008E734:
|
||||
/* B058D4 8008E734 03E00008 */ jr $ra
|
||||
/* B058D8 8008E738 24020001 */ li $v0, 1
|
||||
|
||||
.L8008E73C:
|
||||
/* B058DC 8008E73C 00001025 */ move $v0, $zero
|
||||
.L8008E740:
|
||||
/* B058E0 8008E740 03E00008 */ jr $ra
|
||||
/* B058E4 8008E744 00000000 */ nop
|
||||
+1036
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,121 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800ACE70
|
||||
/* B24010 800ACE70 240200FF */ li $v0, 255
|
||||
/* B24014 800ACE74 AC800000 */ sw $zero, ($a0)
|
||||
/* B24018 800ACE78 AC800004 */ sw $zero, 4($a0)
|
||||
/* B2401C 800ACE7C A0820008 */ sb $v0, 8($a0)
|
||||
/* B24020 800ACE80 A0820009 */ sb $v0, 9($a0)
|
||||
/* B24024 800ACE84 A082000A */ sb $v0, 0xa($a0)
|
||||
/* B24028 800ACE88 03E00008 */ jr $ra
|
||||
/* B2402C 800ACE8C A082000B */ sb $v0, 0xb($a0)
|
||||
|
||||
glabel func_800ACE90
|
||||
/* B24030 800ACE90 03E00008 */ jr $ra
|
||||
/* B24034 800ACE94 AFA40000 */ sw $a0, ($sp)
|
||||
|
||||
glabel func_800ACE98
|
||||
/* B24038 800ACE98 8CA20000 */ lw $v0, ($a1)
|
||||
/* B2403C 800ACE9C 00803025 */ move $a2, $a0
|
||||
/* B24040 800ACEA0 3C03E700 */ lui $v1, 0xe700
|
||||
/* B24044 800ACEA4 00402025 */ move $a0, $v0
|
||||
/* B24048 800ACEA8 AC830000 */ sw $v1, ($a0)
|
||||
/* B2404C 800ACEAC AC800004 */ sw $zero, 4($a0)
|
||||
/* B24050 800ACEB0 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24054 800ACEB4 00402025 */ move $a0, $v0
|
||||
/* B24058 800ACEB8 3C0EEE00 */ lui $t6, 0xee00
|
||||
/* B2405C 800ACEBC 240FFFFF */ li $t7, -1
|
||||
/* B24060 800ACEC0 AC8F0004 */ sw $t7, 4($a0)
|
||||
/* B24064 800ACEC4 AC8E0000 */ sw $t6, ($a0)
|
||||
/* B24068 800ACEC8 8CD80004 */ lw $t8, 4($a2)
|
||||
/* B2406C 800ACECC 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24070 800ACED0 24070001 */ li $a3, 1
|
||||
/* B24074 800ACED4 14F80007 */ bne $a3, $t8, .L800ACEF4
|
||||
/* B24078 800ACED8 00402025 */ move $a0, $v0
|
||||
/* B2407C 800ACEDC 3C080050 */ lui $t0, (0x005003C0 >> 16) # lui $t0, 0x50
|
||||
/* B24080 800ACEE0 350803C0 */ ori $t0, (0x005003C0 & 0xFFFF) # ori $t0, $t0, 0x3c0
|
||||
/* B24084 800ACEE4 3C19ED00 */ lui $t9, 0xed00
|
||||
/* B24088 800ACEE8 AC990000 */ sw $t9, ($a0)
|
||||
/* B2408C 800ACEEC AC880004 */ sw $t0, 4($a0)
|
||||
/* B24090 800ACEF0 24420008 */ addiu $v0, $v0, 8
|
||||
.L800ACEF4:
|
||||
/* B24094 800ACEF4 8CC40000 */ lw $a0, ($a2)
|
||||
/* B24098 800ACEF8 3C0A8013 */ lui $t2, %hi(D_8012AC40) # $t2, 0x8013
|
||||
/* B2409C 800ACEFC 254AAC40 */ addiu $t2, %lo(D_8012AC40) # addiu $t2, $t2, -0x53c0
|
||||
/* B240A0 800ACF00 1087000C */ beq $a0, $a3, .L800ACF34
|
||||
/* B240A4 800ACF04 3C09DE00 */ lui $t1, 0xde00
|
||||
/* B240A8 800ACF08 24010002 */ li $at, 2
|
||||
/* B240AC 800ACF0C 1081000E */ beq $a0, $at, .L800ACF48
|
||||
/* B240B0 800ACF10 3C0BFA00 */ lui $t3, 0xfa00
|
||||
/* B240B4 800ACF14 24010003 */ li $at, 3
|
||||
/* B240B8 800ACF18 10810018 */ beq $a0, $at, .L800ACF7C
|
||||
/* B240BC 800ACF1C 3C0FF900 */ lui $t7, 0xf900
|
||||
/* B240C0 800ACF20 24010004 */ li $at, 4
|
||||
/* B240C4 800ACF24 10810022 */ beq $a0, $at, .L800ACFB0
|
||||
/* B240C8 800ACF28 3C09F800 */ lui $t1, 0xf800
|
||||
/* B240CC 800ACF2C 1000002D */ b .L800ACFE4
|
||||
/* B240D0 800ACF30 00402025 */ move $a0, $v0
|
||||
.L800ACF34:
|
||||
/* B240D4 800ACF34 00402025 */ move $a0, $v0
|
||||
/* B240D8 800ACF38 AC890000 */ sw $t1, ($a0)
|
||||
/* B240DC 800ACF3C AC8A0004 */ sw $t2, 4($a0)
|
||||
/* B240E0 800ACF40 10000027 */ b .L800ACFE0
|
||||
/* B240E4 800ACF44 24420008 */ addiu $v0, $v0, 8
|
||||
.L800ACF48:
|
||||
/* B240E8 800ACF48 00402025 */ move $a0, $v0
|
||||
/* B240EC 800ACF4C AC8B0000 */ sw $t3, ($a0)
|
||||
/* B240F0 800ACF50 8CCC0008 */ lw $t4, 8($a2)
|
||||
/* B240F4 800ACF54 24420008 */ addiu $v0, $v0, 8
|
||||
/* B240F8 800ACF58 3C0E8013 */ lui $t6, %hi(D_8012AC58) # $t6, 0x8013
|
||||
/* B240FC 800ACF5C AC8C0004 */ sw $t4, 4($a0)
|
||||
/* B24100 800ACF60 00402025 */ move $a0, $v0
|
||||
/* B24104 800ACF64 25CEAC58 */ addiu $t6, %lo(D_8012AC58) # addiu $t6, $t6, -0x53a8
|
||||
/* B24108 800ACF68 3C0DDE00 */ lui $t5, 0xde00
|
||||
/* B2410C 800ACF6C AC8D0000 */ sw $t5, ($a0)
|
||||
/* B24110 800ACF70 AC8E0004 */ sw $t6, 4($a0)
|
||||
/* B24114 800ACF74 1000001A */ b .L800ACFE0
|
||||
/* B24118 800ACF78 24420008 */ addiu $v0, $v0, 8
|
||||
.L800ACF7C:
|
||||
/* B2411C 800ACF7C 00402025 */ move $a0, $v0
|
||||
/* B24120 800ACF80 AC8F0000 */ sw $t7, ($a0)
|
||||
/* B24124 800ACF84 8CD80008 */ lw $t8, 8($a2)
|
||||
/* B24128 800ACF88 24420008 */ addiu $v0, $v0, 8
|
||||
/* B2412C 800ACF8C 3C088013 */ lui $t0, %hi(D_8012AC00) # $t0, 0x8013
|
||||
/* B24130 800ACF90 AC980004 */ sw $t8, 4($a0)
|
||||
/* B24134 800ACF94 00402025 */ move $a0, $v0
|
||||
/* B24138 800ACF98 2508AC00 */ addiu $t0, %lo(D_8012AC00) # addiu $t0, $t0, -0x5400
|
||||
/* B2413C 800ACF9C 3C19DE00 */ lui $t9, 0xde00
|
||||
/* B24140 800ACFA0 AC990000 */ sw $t9, ($a0)
|
||||
/* B24144 800ACFA4 AC880004 */ sw $t0, 4($a0)
|
||||
/* B24148 800ACFA8 1000000D */ b .L800ACFE0
|
||||
/* B2414C 800ACFAC 24420008 */ addiu $v0, $v0, 8
|
||||
.L800ACFB0:
|
||||
/* B24150 800ACFB0 00402025 */ move $a0, $v0
|
||||
/* B24154 800ACFB4 AC890000 */ sw $t1, ($a0)
|
||||
/* B24158 800ACFB8 8CCA0008 */ lw $t2, 8($a2)
|
||||
/* B2415C 800ACFBC 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24160 800ACFC0 3C0C8013 */ lui $t4, %hi(D_8012AC28) # $t4, 0x8013
|
||||
/* B24164 800ACFC4 AC8A0004 */ sw $t2, 4($a0)
|
||||
/* B24168 800ACFC8 00402025 */ move $a0, $v0
|
||||
/* B2416C 800ACFCC 258CAC28 */ addiu $t4, %lo(D_8012AC28) # addiu $t4, $t4, -0x53d8
|
||||
/* B24170 800ACFD0 3C0BDE00 */ lui $t3, 0xde00
|
||||
/* B24174 800ACFD4 AC8B0000 */ sw $t3, ($a0)
|
||||
/* B24178 800ACFD8 AC8C0004 */ sw $t4, 4($a0)
|
||||
/* B2417C 800ACFDC 24420008 */ addiu $v0, $v0, 8
|
||||
.L800ACFE0:
|
||||
/* B24180 800ACFE0 00402025 */ move $a0, $v0
|
||||
.L800ACFE4:
|
||||
/* B24184 800ACFE4 AC830000 */ sw $v1, ($a0)
|
||||
/* B24188 800ACFE8 AC800004 */ sw $zero, 4($a0)
|
||||
/* B2418C 800ACFEC 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24190 800ACFF0 03E00008 */ jr $ra
|
||||
/* B24194 800ACFF4 ACA20000 */ sw $v0, ($a1)
|
||||
@@ -0,0 +1,181 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800AD920
|
||||
/* B24AC0 800AD920 240200FF */ li $v0, 255
|
||||
/* B24AC4 800AD924 AC800000 */ sw $zero, ($a0)
|
||||
/* B24AC8 800AD928 AC800004 */ sw $zero, 4($a0)
|
||||
/* B24ACC 800AD92C A0820008 */ sb $v0, 8($a0)
|
||||
/* B24AD0 800AD930 A0820009 */ sb $v0, 9($a0)
|
||||
/* B24AD4 800AD934 A082000A */ sb $v0, 0xa($a0)
|
||||
/* B24AD8 800AD938 A082000B */ sb $v0, 0xb($a0)
|
||||
/* B24ADC 800AD93C A082000F */ sb $v0, 0xf($a0)
|
||||
/* B24AE0 800AD940 A080000C */ sb $zero, 0xc($a0)
|
||||
/* B24AE4 800AD944 A080000D */ sb $zero, 0xd($a0)
|
||||
/* B24AE8 800AD948 03E00008 */ jr $ra
|
||||
/* B24AEC 800AD94C A080000E */ sb $zero, 0xe($a0)
|
||||
|
||||
glabel func_800AD950
|
||||
/* B24AF0 800AD950 03E00008 */ jr $ra
|
||||
/* B24AF4 800AD954 AFA40000 */ sw $a0, ($sp)
|
||||
|
||||
glabel func_800AD958
|
||||
/* B24AF8 800AD958 27BDFFF8 */ addiu $sp, $sp, -8
|
||||
/* B24AFC 800AD95C AFB00004 */ sw $s0, 4($sp)
|
||||
/* B24B00 800AD960 AFA5000C */ sw $a1, 0xc($sp)
|
||||
/* B24B04 800AD964 8C8F0000 */ lw $t7, ($a0)
|
||||
/* B24B08 800AD968 3C060E00 */ lui $a2, 0xe00
|
||||
/* B24B0C 800AD96C 8CA20000 */ lw $v0, ($a1)
|
||||
/* B24B10 800AD970 15E00003 */ bnez $t7, .L800AD980
|
||||
/* B24B14 800AD974 24C60000 */ addiu $a2, $a2, 0
|
||||
/* B24B18 800AD978 10000002 */ b .L800AD984
|
||||
/* B24B1C 800AD97C 24030003 */ li $v1, 3
|
||||
.L800AD980:
|
||||
/* B24B20 800AD980 00001825 */ move $v1, $zero
|
||||
.L800AD984:
|
||||
/* B24B24 800AD984 00402825 */ move $a1, $v0
|
||||
/* B24B28 800AD988 3C18E700 */ lui $t8, 0xe700
|
||||
/* B24B2C 800AD98C ACB80000 */ sw $t8, ($a1)
|
||||
/* B24B30 800AD990 ACA00004 */ sw $zero, 4($a1)
|
||||
/* B24B34 800AD994 8C990004 */ lw $t9, 4($a0)
|
||||
/* B24B38 800AD998 24010001 */ li $at, 1
|
||||
/* B24B3C 800AD99C 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24B40 800AD9A0 17210008 */ bne $t9, $at, .L800AD9C4
|
||||
/* B24B44 800AD9A4 3C18EF00 */ lui $t8, (0xEF000C30 >> 16) # lui $t8, 0xef00
|
||||
/* B24B48 800AD9A8 00402825 */ move $a1, $v0
|
||||
/* B24B4C 800AD9AC 3C0F0050 */ lui $t7, (0x005003C0 >> 16) # lui $t7, 0x50
|
||||
/* B24B50 800AD9B0 35EF03C0 */ ori $t7, (0x005003C0 & 0xFFFF) # ori $t7, $t7, 0x3c0
|
||||
/* B24B54 800AD9B4 3C0EED00 */ lui $t6, 0xed00
|
||||
/* B24B58 800AD9B8 ACAE0000 */ sw $t6, ($a1)
|
||||
/* B24B5C 800AD9BC ACAF0004 */ sw $t7, 4($a1)
|
||||
/* B24B60 800AD9C0 24420008 */ addiu $v0, $v0, 8
|
||||
.L800AD9C4:
|
||||
/* B24B64 800AD9C4 00402825 */ move $a1, $v0
|
||||
/* B24B68 800AD9C8 3C190F0A */ lui $t9, (0x0F0A4004 >> 16) # lui $t9, 0xf0a
|
||||
/* B24B6C 800AD9CC 37394004 */ ori $t9, (0x0F0A4004 & 0xFFFF) # ori $t9, $t9, 0x4004
|
||||
/* B24B70 800AD9D0 37180C30 */ ori $t8, (0xEF000C30 & 0xFFFF) # ori $t8, $t8, 0xc30
|
||||
/* B24B74 800AD9D4 ACB80000 */ sw $t8, ($a1)
|
||||
/* B24B78 800AD9D8 ACB90004 */ sw $t9, 4($a1)
|
||||
/* B24B7C 800AD9DC 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24B80 800AD9E0 00402825 */ move $a1, $v0
|
||||
/* B24B84 800AD9E4 3C0EFC30 */ lui $t6, (0xFC30B261 >> 16) # lui $t6, 0xfc30
|
||||
/* B24B88 800AD9E8 3C0F5566 */ lui $t7, (0x5566DB6D >> 16) # lui $t7, 0x5566
|
||||
/* B24B8C 800AD9EC 35EFDB6D */ ori $t7, (0x5566DB6D & 0xFFFF) # ori $t7, $t7, 0xdb6d
|
||||
/* B24B90 800AD9F0 35CEB261 */ ori $t6, (0xFC30B261 & 0xFFFF) # ori $t6, $t6, 0xb261
|
||||
/* B24B94 800AD9F4 ACAE0000 */ sw $t6, ($a1)
|
||||
/* B24B98 800AD9F8 ACAF0004 */ sw $t7, 4($a1)
|
||||
/* B24B9C 800AD9FC 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24BA0 800ADA00 00402825 */ move $a1, $v0
|
||||
/* B24BA4 800ADA04 3C18FA00 */ lui $t8, 0xfa00
|
||||
/* B24BA8 800ADA08 ACB80000 */ sw $t8, ($a1)
|
||||
/* B24BAC 800ADA0C 8C990008 */ lw $t9, 8($a0)
|
||||
/* B24BB0 800ADA10 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24BB4 800ADA14 3C0EFB00 */ lui $t6, 0xfb00
|
||||
/* B24BB8 800ADA18 ACB90004 */ sw $t9, 4($a1)
|
||||
/* B24BBC 800ADA1C 00402825 */ move $a1, $v0
|
||||
/* B24BC0 800ADA20 30690007 */ andi $t1, $v1, 7
|
||||
/* B24BC4 800ADA24 ACAE0000 */ sw $t6, ($a1)
|
||||
/* B24BC8 800ADA28 00094D40 */ sll $t1, $t1, 0x15
|
||||
/* B24BCC 800ADA2C 3C01FD00 */ lui $at, 0xfd00
|
||||
/* B24BD0 800ADA30 8C8F000C */ lw $t7, 0xc($a0)
|
||||
/* B24BD4 800ADA34 01213825 */ or $a3, $t1, $at
|
||||
/* B24BD8 800ADA38 3C010010 */ lui $at, 0x10
|
||||
/* B24BDC 800ADA3C 00E13825 */ or $a3, $a3, $at
|
||||
/* B24BE0 800ADA40 3C01F500 */ lui $at, 0xf500
|
||||
/* B24BE4 800ADA44 ACAF0004 */ sw $t7, 4($a1)
|
||||
/* B24BE8 800ADA48 01212825 */ or $a1, $t1, $at
|
||||
/* B24BEC 800ADA4C 3C010010 */ lui $at, 0x10
|
||||
/* B24BF0 800ADA50 00A12825 */ or $a1, $a1, $at
|
||||
/* B24BF4 800ADA54 3C090708 */ lui $t1, (0x07080200 >> 16) # lui $t1, 0x708
|
||||
/* B24BF8 800ADA58 3C0D0008 */ lui $t5, (0x00080200 >> 16) # lui $t5, 8
|
||||
/* B24BFC 800ADA5C 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24C00 800ADA60 35AD0200 */ ori $t5, (0x00080200 & 0xFFFF) # ori $t5, $t5, 0x200
|
||||
/* B24C04 800ADA64 35290200 */ ori $t1, (0x07080200 & 0xFFFF) # ori $t1, $t1, 0x200
|
||||
/* B24C08 800ADA68 34A8A000 */ ori $t0, $a1, 0xa000
|
||||
/* B24C0C 800ADA6C 00002025 */ move $a0, $zero
|
||||
/* B24C10 800ADA70 3C0C0700 */ lui $t4, 0x700
|
||||
/* B24C14 800ADA74 3C0BF300 */ lui $t3, 0xf300
|
||||
/* B24C18 800ADA78 3C0AE600 */ lui $t2, 0xe600
|
||||
.L800ADA7C:
|
||||
/* B24C1C 800ADA7C 00401825 */ move $v1, $v0
|
||||
/* B24C20 800ADA80 AC670000 */ sw $a3, ($v1)
|
||||
/* B24C24 800ADA84 AC660004 */ sw $a2, 4($v1)
|
||||
/* B24C28 800ADA88 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24C2C 800ADA8C 00401825 */ move $v1, $v0
|
||||
/* B24C30 800ADA90 AC650000 */ sw $a1, ($v1)
|
||||
/* B24C34 800ADA94 AC690004 */ sw $t1, 4($v1)
|
||||
/* B24C38 800ADA98 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24C3C 800ADA9C 00401825 */ move $v1, $v0
|
||||
/* B24C40 800ADAA0 2410077F */ li $s0, 1919
|
||||
/* B24C44 800ADAA4 32180FFF */ andi $t8, $s0, 0xfff
|
||||
/* B24C48 800ADAA8 AC6A0000 */ sw $t2, ($v1)
|
||||
/* B24C4C 800ADAAC AC600004 */ sw $zero, 4($v1)
|
||||
/* B24C50 800ADAB0 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24C54 800ADAB4 00401825 */ move $v1, $v0
|
||||
/* B24C58 800ADAB8 0018CB00 */ sll $t9, $t8, 0xc
|
||||
/* B24C5C 800ADABC 032C7025 */ or $t6, $t9, $t4
|
||||
/* B24C60 800ADAC0 35CF001A */ ori $t7, $t6, 0x1a
|
||||
/* B24C64 800ADAC4 AC6F0004 */ sw $t7, 4($v1)
|
||||
/* B24C68 800ADAC8 AC6B0000 */ sw $t3, ($v1)
|
||||
/* B24C6C 800ADACC 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24C70 800ADAD0 00401825 */ move $v1, $v0
|
||||
/* B24C74 800ADAD4 3C18E700 */ lui $t8, 0xe700
|
||||
/* B24C78 800ADAD8 AC780000 */ sw $t8, ($v1)
|
||||
/* B24C7C 800ADADC AC600004 */ sw $zero, 4($v1)
|
||||
/* B24C80 800ADAE0 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24C84 800ADAE4 00401825 */ move $v1, $v0
|
||||
/* B24C88 800ADAE8 AC680000 */ sw $t0, ($v1)
|
||||
/* B24C8C 800ADAEC AC6D0004 */ sw $t5, 4($v1)
|
||||
/* B24C90 800ADAF0 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24C94 800ADAF4 00401825 */ move $v1, $v0
|
||||
/* B24C98 800ADAF8 3C0E004F */ lui $t6, (0x004FC014 >> 16) # lui $t6, 0x4f
|
||||
/* B24C9C 800ADAFC 35CEC014 */ ori $t6, (0x004FC014 & 0xFFFF) # ori $t6, $t6, 0xc014
|
||||
/* B24CA0 800ADB00 3C19F200 */ lui $t9, 0xf200
|
||||
/* B24CA4 800ADB04 AC790000 */ sw $t9, ($v1)
|
||||
/* B24CA8 800ADB08 AC6E0004 */ sw $t6, 4($v1)
|
||||
/* B24CAC 800ADB0C 24830006 */ addiu $v1, $a0, 6
|
||||
/* B24CB0 800ADB10 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24CB4 800ADB14 00037880 */ sll $t7, $v1, 2
|
||||
/* B24CB8 800ADB18 31F80FFF */ andi $t8, $t7, 0xfff
|
||||
/* B24CBC 800ADB1C 00408025 */ move $s0, $v0
|
||||
/* B24CC0 800ADB20 00047080 */ sll $t6, $a0, 2
|
||||
/* B24CC4 800ADB24 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24CC8 800ADB28 3C01E450 */ lui $at, 0xe450
|
||||
/* B24CCC 800ADB2C 0301C825 */ or $t9, $t8, $at
|
||||
/* B24CD0 800ADB30 00402025 */ move $a0, $v0
|
||||
/* B24CD4 800ADB34 31CF0FFF */ andi $t7, $t6, 0xfff
|
||||
/* B24CD8 800ADB38 AE0F0004 */ sw $t7, 4($s0)
|
||||
/* B24CDC 800ADB3C AE190000 */ sw $t9, ($s0)
|
||||
/* B24CE0 800ADB40 3C18E100 */ lui $t8, 0xe100
|
||||
/* B24CE4 800ADB44 AC980000 */ sw $t8, ($a0)
|
||||
/* B24CE8 800ADB48 AC800004 */ sw $zero, 4($a0)
|
||||
/* B24CEC 800ADB4C 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24CF0 800ADB50 00402025 */ move $a0, $v0
|
||||
/* B24CF4 800ADB54 3C0E0400 */ lui $t6, (0x04000400 >> 16) # lui $t6, 0x400
|
||||
/* B24CF8 800ADB58 35CE0400 */ ori $t6, (0x04000400 & 0xFFFF) # ori $t6, $t6, 0x400
|
||||
/* B24CFC 800ADB5C 3C19F100 */ lui $t9, 0xf100
|
||||
/* B24D00 800ADB60 286100EB */ slti $at, $v1, 0xeb
|
||||
/* B24D04 800ADB64 AC990000 */ sw $t9, ($a0)
|
||||
/* B24D08 800ADB68 AC8E0004 */ sw $t6, 4($a0)
|
||||
/* B24D0C 800ADB6C 00602025 */ move $a0, $v1
|
||||
/* B24D10 800ADB70 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24D14 800ADB74 1420FFC1 */ bnez $at, .L800ADA7C
|
||||
/* B24D18 800ADB78 24C60F00 */ addiu $a2, $a2, 0xf00
|
||||
/* B24D1C 800ADB7C 00401825 */ move $v1, $v0
|
||||
/* B24D20 800ADB80 3C0FE700 */ lui $t7, 0xe700
|
||||
/* B24D24 800ADB84 AC6F0000 */ sw $t7, ($v1)
|
||||
/* B24D28 800ADB88 AC600004 */ sw $zero, 4($v1)
|
||||
/* B24D2C 800ADB8C 8FB8000C */ lw $t8, 0xc($sp)
|
||||
/* B24D30 800ADB90 24420008 */ addiu $v0, $v0, 8
|
||||
/* B24D34 800ADB94 AF020000 */ sw $v0, ($t8)
|
||||
/* B24D38 800ADB98 8FB00004 */ lw $s0, 4($sp)
|
||||
/* B24D3C 800ADB9C 03E00008 */ jr $ra
|
||||
/* B24D40 800ADBA0 27BD0008 */ addiu $sp, $sp, 8
|
||||
@@ -0,0 +1,423 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800B2400
|
||||
/* B295A0 800B2400 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* B295A4 800B2404 24010001 */ li $at, 1
|
||||
/* B295A8 800B2408 10410002 */ beq $v0, $at, .L800B2414
|
||||
/* B295AC 800B240C 24010002 */ li $at, 2
|
||||
/* B295B0 800B2410 14410004 */ bne $v0, $at, .L800B2424
|
||||
.L800B2414:
|
||||
/* B295B4 800B2414 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B295B8 800B2418 44812000 */ mtc1 $at, $f4
|
||||
/* B295BC 800B241C 03E00008 */ jr $ra
|
||||
/* B295C0 800B2420 E4840004 */ swc1 $f4, 4($a0)
|
||||
.L800B2424:
|
||||
/* B295C4 800B2424 3C018014 */ lui $at, %hi(D_80143090)
|
||||
/* B295C8 800B2428 C4263090 */ lwc1 $f6, %lo(D_80143090)($at)
|
||||
/* B295CC 800B242C E4860004 */ swc1 $f6, 4($a0)
|
||||
/* B295D0 800B2430 03E00008 */ jr $ra
|
||||
/* B295D4 800B2434 00000000 */ nop
|
||||
|
||||
glabel func_800B2438
|
||||
/* B295D8 800B2438 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* B295DC 800B243C AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B295E0 800B2440 AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* B295E4 800B2444 00808025 */ move $s0, $a0
|
||||
/* B295E8 800B2448 0C001114 */ jal bzero
|
||||
/* B295EC 800B244C 240501E0 */ li $a1, 480
|
||||
/* B295F0 800B2450 3C0142F0 */ li $at, 0x42F00000 # 0.000000
|
||||
/* B295F4 800B2454 44812000 */ mtc1 $at, $f4
|
||||
/* B295F8 800B2458 3C01C47A */ li $at, 0xC47A0000 # 0.000000
|
||||
/* B295FC 800B245C 44813000 */ mtc1 $at, $f6
|
||||
/* B29600 800B2460 3C01447A */ li $at, 0x447A0000 # 0.000000
|
||||
/* B29604 800B2464 44814000 */ mtc1 $at, $f8
|
||||
/* B29608 800B2468 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B2960C 800B246C 44815000 */ mtc1 $at, $f10
|
||||
/* B29610 800B2470 26040018 */ addiu $a0, $s0, 0x18
|
||||
/* B29614 800B2474 3C05C320 */ lui $a1, 0xc320
|
||||
/* B29618 800B2478 3C064320 */ lui $a2, 0x4320
|
||||
/* B2961C 800B247C 3C07C2F0 */ lui $a3, 0xc2f0
|
||||
/* B29620 800B2480 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* B29624 800B2484 E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* B29628 800B2488 E7A80018 */ swc1 $f8, 0x18($sp)
|
||||
/* B2962C 800B248C 0C041169 */ jal func_801045A4
|
||||
/* B29630 800B2490 E7AA001C */ swc1 $f10, 0x1c($sp)
|
||||
/* B29634 800B2494 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B29638 800B2498 44818000 */ mtc1 $at, $f16
|
||||
/* B2963C 800B249C 240E0002 */ li $t6, 2
|
||||
/* B29640 800B24A0 AE0E000C */ sw $t6, 0xc($s0)
|
||||
/* B29644 800B24A4 3C018014 */ lui $at, %hi(D_80143094)
|
||||
/* B29648 800B24A8 E6100004 */ swc1 $f16, 4($s0)
|
||||
/* B2964C 800B24AC C4323094 */ lwc1 $f18, %lo(D_80143094)($at)
|
||||
/* B29650 800B24B0 240F0001 */ li $t7, 1
|
||||
/* B29654 800B24B4 AE0F0010 */ sw $t7, 0x10($s0)
|
||||
/* B29658 800B24B8 E6120008 */ swc1 $f18, 8($s0)
|
||||
/* B2965C 800B24BC 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B29660 800B24C0 02001025 */ move $v0, $s0
|
||||
/* B29664 800B24C4 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* B29668 800B24C8 03E00008 */ jr $ra
|
||||
/* B2966C 800B24CC 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
|
||||
glabel func_800B24D0
|
||||
/* B29670 800B24D0 03E00008 */ jr $ra
|
||||
/* B29674 800B24D4 AFA40000 */ sw $a0, ($sp)
|
||||
|
||||
glabel func_800B24D8
|
||||
/* B29678 800B24D8 18A00042 */ blez $a1, .L800B25E4
|
||||
/* B2967C 800B24DC 00A01025 */ move $v0, $a1
|
||||
/* B29680 800B24E0 3C018014 */ lui $at, %hi(D_80143098)
|
||||
/* B29684 800B24E4 C42C3098 */ lwc1 $f12, %lo(D_80143098)($at)
|
||||
/* B29688 800B24E8 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B2968C 800B24EC 44811000 */ mtc1 $at, $f2
|
||||
/* B29690 800B24F0 24080004 */ li $t0, 4
|
||||
/* B29694 800B24F4 24070003 */ li $a3, 3
|
||||
/* B29698 800B24F8 24060002 */ li $a2, 2
|
||||
/* B2969C 800B24FC 24050001 */ li $a1, 1
|
||||
/* B296A0 800B2500 8C83000C */ lw $v1, 0xc($a0)
|
||||
.L800B2504:
|
||||
/* B296A4 800B2504 2442FFFF */ addiu $v0, $v0, -1
|
||||
/* B296A8 800B2508 14A3000D */ bne $a1, $v1, .L800B2540
|
||||
/* B296AC 800B250C 00000000 */ nop
|
||||
/* B296B0 800B2510 C4860008 */ lwc1 $f6, 8($a0)
|
||||
/* B296B4 800B2514 C4840004 */ lwc1 $f4, 4($a0)
|
||||
/* B296B8 800B2518 46061201 */ sub.s $f8, $f2, $f6
|
||||
/* B296BC 800B251C 46082002 */ mul.s $f0, $f4, $f8
|
||||
/* B296C0 800B2520 460C003C */ c.lt.s $f0, $f12
|
||||
/* B296C4 800B2524 00000000 */ nop
|
||||
/* B296C8 800B2528 45000003 */ bc1f .L800B2538
|
||||
/* B296CC 800B252C 00000000 */ nop
|
||||
/* B296D0 800B2530 1000002A */ b .L800B25DC
|
||||
/* B296D4 800B2534 E48C0004 */ swc1 $f12, 4($a0)
|
||||
.L800B2538:
|
||||
/* B296D8 800B2538 10000028 */ b .L800B25DC
|
||||
/* B296DC 800B253C E4800004 */ swc1 $f0, 4($a0)
|
||||
.L800B2540:
|
||||
/* B296E0 800B2540 14C3000C */ bne $a2, $v1, .L800B2574
|
||||
/* B296E4 800B2544 00000000 */ nop
|
||||
/* B296E8 800B2548 C48A0004 */ lwc1 $f10, 4($a0)
|
||||
/* B296EC 800B254C C4900008 */ lwc1 $f16, 8($a0)
|
||||
/* B296F0 800B2550 46105001 */ sub.s $f0, $f10, $f16
|
||||
/* B296F4 800B2554 460C003C */ c.lt.s $f0, $f12
|
||||
/* B296F8 800B2558 00000000 */ nop
|
||||
/* B296FC 800B255C 45000003 */ bc1f .L800B256C
|
||||
/* B29700 800B2560 00000000 */ nop
|
||||
/* B29704 800B2564 1000001D */ b .L800B25DC
|
||||
/* B29708 800B2568 E48C0004 */ swc1 $f12, 4($a0)
|
||||
.L800B256C:
|
||||
/* B2970C 800B256C 1000001B */ b .L800B25DC
|
||||
/* B29710 800B2570 E4800004 */ swc1 $f0, 4($a0)
|
||||
.L800B2574:
|
||||
/* B29714 800B2574 14E3000D */ bne $a3, $v1, .L800B25AC
|
||||
/* B29718 800B2578 00000000 */ nop
|
||||
/* B2971C 800B257C C4860008 */ lwc1 $f6, 8($a0)
|
||||
/* B29720 800B2580 C4920004 */ lwc1 $f18, 4($a0)
|
||||
/* B29724 800B2584 46061101 */ sub.s $f4, $f2, $f6
|
||||
/* B29728 800B2588 46049003 */ div.s $f0, $f18, $f4
|
||||
/* B2972C 800B258C 4600103C */ c.lt.s $f2, $f0
|
||||
/* B29730 800B2590 00000000 */ nop
|
||||
/* B29734 800B2594 45000003 */ bc1f .L800B25A4
|
||||
/* B29738 800B2598 00000000 */ nop
|
||||
/* B2973C 800B259C 1000000F */ b .L800B25DC
|
||||
/* B29740 800B25A0 E4820004 */ swc1 $f2, 4($a0)
|
||||
.L800B25A4:
|
||||
/* B29744 800B25A4 1000000D */ b .L800B25DC
|
||||
/* B29748 800B25A8 E4800004 */ swc1 $f0, 4($a0)
|
||||
.L800B25AC:
|
||||
/* B2974C 800B25AC 1503000B */ bne $t0, $v1, .L800B25DC
|
||||
/* B29750 800B25B0 00000000 */ nop
|
||||
/* B29754 800B25B4 C4880004 */ lwc1 $f8, 4($a0)
|
||||
/* B29758 800B25B8 C48A0008 */ lwc1 $f10, 8($a0)
|
||||
/* B2975C 800B25BC 460A4000 */ add.s $f0, $f8, $f10
|
||||
/* B29760 800B25C0 4600103C */ c.lt.s $f2, $f0
|
||||
/* B29764 800B25C4 00000000 */ nop
|
||||
/* B29768 800B25C8 45020004 */ bc1fl .L800B25DC
|
||||
/* B2976C 800B25CC E4800004 */ swc1 $f0, 4($a0)
|
||||
/* B29770 800B25D0 10000002 */ b .L800B25DC
|
||||
/* B29774 800B25D4 E4820004 */ swc1 $f2, 4($a0)
|
||||
/* B29778 800B25D8 E4800004 */ swc1 $f0, 4($a0)
|
||||
.L800B25DC:
|
||||
/* B2977C 800B25DC 5440FFC9 */ bnezl $v0, .L800B2504
|
||||
/* B29780 800B25E0 8C83000C */ lw $v1, 0xc($a0)
|
||||
.L800B25E4:
|
||||
/* B29784 800B25E4 03E00008 */ jr $ra
|
||||
/* B29788 800B25E8 00000000 */ nop
|
||||
|
||||
glabel func_800B25EC
|
||||
/* B2978C 800B25EC 03E00008 */ jr $ra
|
||||
/* B29790 800B25F0 AC850000 */ sw $a1, ($a0)
|
||||
|
||||
glabel func_800B25F4
|
||||
/* B29794 800B25F4 03E00008 */ jr $ra
|
||||
/* B29798 800B25F8 AC850010 */ sw $a1, 0x10($a0)
|
||||
|
||||
glabel func_800B25FC
|
||||
/* B2979C 800B25FC 03E00008 */ jr $ra
|
||||
/* B297A0 800B2600 AC85000C */ sw $a1, 0xc($a0)
|
||||
|
||||
glabel func_800B2604
|
||||
/* B297A4 800B2604 27BDFF68 */ addiu $sp, $sp, -0x98
|
||||
/* B297A8 800B2608 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B297AC 800B260C AFA40098 */ sw $a0, 0x98($sp)
|
||||
/* B297B0 800B2610 AFA5009C */ sw $a1, 0x9c($sp)
|
||||
/* B297B4 800B2614 8C820058 */ lw $v0, 0x58($a0)
|
||||
/* B297B8 800B2618 3C0143B4 */ li $at, 0x43B40000 # 0.000000
|
||||
/* B297BC 800B261C 44812000 */ mtc1 $at, $f4
|
||||
/* B297C0 800B2620 C4820004 */ lwc1 $f2, 4($a0)
|
||||
/* B297C4 800B2624 0002C080 */ sll $t8, $v0, 2
|
||||
/* B297C8 800B2628 0302C023 */ subu $t8, $t8, $v0
|
||||
/* B297CC 800B262C 0018C180 */ sll $t8, $t8, 6
|
||||
/* B297D0 800B2630 3C013F20 */ li $at, 0x3F200000 # 0.000000
|
||||
/* B297D4 800B2634 46041382 */ mul.s $f14, $f2, $f4
|
||||
/* B297D8 800B2638 44813000 */ mtc1 $at, $f6
|
||||
/* B297DC 800B263C 0098C821 */ addu $t9, $a0, $t8
|
||||
/* B297E0 800B2640 8CA30000 */ lw $v1, ($a1)
|
||||
/* B297E4 800B2644 27280060 */ addiu $t0, $t9, 0x60
|
||||
/* B297E8 800B2648 AFA80090 */ sw $t0, 0x90($sp)
|
||||
/* B297EC 800B264C 38490001 */ xori $t1, $v0, 1
|
||||
/* B297F0 800B2650 46061302 */ mul.s $f12, $f2, $f6
|
||||
/* B297F4 800B2654 AC890058 */ sw $t1, 0x58($a0)
|
||||
/* B297F8 800B2658 44805000 */ mtc1 $zero, $f10
|
||||
/* B297FC 800B265C 46001221 */ cvt.d.s $f8, $f2
|
||||
/* B29800 800B2660 46007421 */ cvt.d.s $f16, $f14
|
||||
/* B29804 800B2664 44074000 */ mfc1 $a3, $f8
|
||||
/* B29808 800B2668 46005021 */ cvt.d.s $f0, $f10
|
||||
/* B2980C 800B266C 44064800 */ mfc1 $a2, $f9
|
||||
/* B29810 800B2670 3C048014 */ lui $a0, %hi(D_80143070)
|
||||
/* B29814 800B2674 24843070 */ addiu $a0, %lo(D_80143070) # addiu $a0, $a0, 0x3070
|
||||
/* B29818 800B2678 F7A00010 */ sdc1 $f0, 0x10($sp)
|
||||
/* B2981C 800B267C F7A00018 */ sdc1 $f0, 0x18($sp)
|
||||
/* B29820 800B2680 F7B00020 */ sdc1 $f16, 0x20($sp)
|
||||
/* B29824 800B2684 E7AE0080 */ swc1 $f14, 0x80($sp)
|
||||
/* B29828 800B2688 E7AC008C */ swc1 $f12, 0x8c($sp)
|
||||
/* B2982C 800B268C 0C00084C */ jal osSyncPrintf
|
||||
/* B29830 800B2690 AFA30094 */ sw $v1, 0x94($sp)
|
||||
/* B29834 800B2694 C7AC008C */ lwc1 $f12, 0x8c($sp)
|
||||
/* B29838 800B2698 8FA40090 */ lw $a0, 0x90($sp)
|
||||
/* B2983C 800B269C 3C073F80 */ li $a3, 0x3F800000 # 0.000000
|
||||
/* B29840 800B26A0 44056000 */ mfc1 $a1, $f12
|
||||
/* B29844 800B26A4 44066000 */ mfc1 $a2, $f12
|
||||
/* B29848 800B26A8 0C040078 */ jal func_801001E0
|
||||
/* B2984C 800B26AC 00000000 */ nop
|
||||
/* B29850 800B26B0 44800000 */ mtc1 $zero, $f0
|
||||
/* B29854 800B26B4 8FA40090 */ lw $a0, 0x90($sp)
|
||||
/* B29858 800B26B8 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B2985C 800B26BC 44819000 */ mtc1 $at, $f18
|
||||
/* B29860 800B26C0 24840040 */ addiu $a0, $a0, 0x40
|
||||
/* B29864 800B26C4 44060000 */ mfc1 $a2, $f0
|
||||
/* B29868 800B26C8 44070000 */ mfc1 $a3, $f0
|
||||
/* B2986C 800B26CC AFA40034 */ sw $a0, 0x34($sp)
|
||||
/* B29870 800B26D0 8FA50080 */ lw $a1, 0x80($sp)
|
||||
/* B29874 800B26D4 0C040FE9 */ jal func_80103FA4
|
||||
/* B29878 800B26D8 E7B20010 */ swc1 $f18, 0x10($sp)
|
||||
/* B2987C 800B26DC 44800000 */ mtc1 $zero, $f0
|
||||
/* B29880 800B26E0 8FA40090 */ lw $a0, 0x90($sp)
|
||||
/* B29884 800B26E4 44050000 */ mfc1 $a1, $f0
|
||||
/* B29888 800B26E8 24840080 */ addiu $a0, $a0, 0x80
|
||||
/* B2988C 800B26EC 44060000 */ mfc1 $a2, $f0
|
||||
/* B29890 800B26F0 44070000 */ mfc1 $a3, $f0
|
||||
/* B29894 800B26F4 0C041708 */ jal func_80105C20
|
||||
/* B29898 800B26F8 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* B2989C 800B26FC 8FA20094 */ lw $v0, 0x94($sp)
|
||||
/* B298A0 800B2700 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* B298A4 800B2704 3C0AE700 */ lui $t2, 0xe700
|
||||
/* B298A8 800B2708 AC4A0000 */ sw $t2, ($v0)
|
||||
/* B298AC 800B270C AC400004 */ sw $zero, 4($v0)
|
||||
/* B298B0 800B2710 24430008 */ addiu $v1, $v0, 8
|
||||
/* B298B4 800B2714 00601025 */ move $v0, $v1
|
||||
/* B298B8 800B2718 3C0C8013 */ lui $t4, %hi(D_8012B030) # $t4, 0x8013
|
||||
/* B298BC 800B271C 258CB030 */ addiu $t4, %lo(D_8012B030) # addiu $t4, $t4, -0x4fd0
|
||||
/* B298C0 800B2720 3C0BDE00 */ lui $t3, 0xde00
|
||||
/* B298C4 800B2724 AC4B0000 */ sw $t3, ($v0)
|
||||
/* B298C8 800B2728 AC4C0004 */ sw $t4, 4($v0)
|
||||
/* B298CC 800B272C 8FA60098 */ lw $a2, 0x98($sp)
|
||||
/* B298D0 800B2730 24630008 */ addiu $v1, $v1, 8
|
||||
/* B298D4 800B2734 00601025 */ move $v0, $v1
|
||||
/* B298D8 800B2738 3C0DFA00 */ lui $t5, 0xfa00
|
||||
/* B298DC 800B273C AC4D0000 */ sw $t5, ($v0)
|
||||
/* B298E0 800B2740 8CCE0000 */ lw $t6, ($a2)
|
||||
/* B298E4 800B2744 24630008 */ addiu $v1, $v1, 8
|
||||
/* B298E8 800B2748 3C18FCFF */ lui $t8, (0xFCFFFFFF >> 16) # lui $t8, 0xfcff
|
||||
/* B298EC 800B274C AC4E0004 */ sw $t6, 4($v0)
|
||||
/* B298F0 800B2750 00601025 */ move $v0, $v1
|
||||
/* B298F4 800B2754 3C19FFFD */ lui $t9, (0xFFFDF6FB >> 16) # lui $t9, 0xfffd
|
||||
/* B298F8 800B2758 3739F6FB */ ori $t9, (0xFFFDF6FB & 0xFFFF) # ori $t9, $t9, 0xf6fb
|
||||
/* B298FC 800B275C 3718FFFF */ ori $t8, (0xFCFFFFFF & 0xFFFF) # ori $t8, $t8, 0xffff
|
||||
/* B29900 800B2760 AC580000 */ sw $t8, ($v0)
|
||||
/* B29904 800B2764 AC590004 */ sw $t9, 4($v0)
|
||||
/* B29908 800B2768 24630008 */ addiu $v1, $v1, 8
|
||||
/* B2990C 800B276C 00601025 */ move $v0, $v1
|
||||
/* B29910 800B2770 3C08DA38 */ lui $t0, (0xDA380007 >> 16) # lui $t0, 0xda38
|
||||
/* B29914 800B2774 35080007 */ ori $t0, (0xDA380007 & 0xFFFF) # ori $t0, $t0, 7
|
||||
/* B29918 800B2778 24C90018 */ addiu $t1, $a2, 0x18
|
||||
/* B2991C 800B277C AC490004 */ sw $t1, 4($v0)
|
||||
/* B29920 800B2780 AC480000 */ sw $t0, ($v0)
|
||||
/* B29924 800B2784 24630008 */ addiu $v1, $v1, 8
|
||||
/* B29928 800B2788 3C0FDA38 */ lui $t7, (0xDA380003 >> 16) # lui $t7, 0xda38
|
||||
/* B2992C 800B278C 35EF0003 */ ori $t7, (0xDA380003 & 0xFFFF) # ori $t7, $t7, 3
|
||||
/* B29930 800B2790 00601025 */ move $v0, $v1
|
||||
/* B29934 800B2794 AC4F0000 */ sw $t7, ($v0)
|
||||
/* B29938 800B2798 8FAA0090 */ lw $t2, 0x90($sp)
|
||||
/* B2993C 800B279C 24630008 */ addiu $v1, $v1, 8
|
||||
/* B29940 800B27A0 3C05DA38 */ lui $a1, (0xDA380001 >> 16) # lui $a1, 0xda38
|
||||
/* B29944 800B27A4 AC4A0004 */ sw $t2, 4($v0)
|
||||
/* B29948 800B27A8 00601025 */ move $v0, $v1
|
||||
/* B2994C 800B27AC 34A50001 */ ori $a1, (0xDA380001 & 0xFFFF) # ori $a1, $a1, 1
|
||||
/* B29950 800B27B0 AC450000 */ sw $a1, ($v0)
|
||||
/* B29954 800B27B4 8FAB0034 */ lw $t3, 0x34($sp)
|
||||
/* B29958 800B27B8 24630008 */ addiu $v1, $v1, 8
|
||||
/* B2995C 800B27BC 3C0D8013 */ lui $t5, %hi(D_8012B060) # $t5, 0x8013
|
||||
/* B29960 800B27C0 AC4B0004 */ sw $t3, 4($v0)
|
||||
/* B29964 800B27C4 00601025 */ move $v0, $v1
|
||||
/* B29968 800B27C8 AC450000 */ sw $a1, ($v0)
|
||||
/* B2996C 800B27CC 24630008 */ addiu $v1, $v1, 8
|
||||
/* B29970 800B27D0 AC440004 */ sw $a0, 4($v0)
|
||||
/* B29974 800B27D4 00601025 */ move $v0, $v1
|
||||
/* B29978 800B27D8 3C0C0100 */ lui $t4, (0x0100A014 >> 16) # lui $t4, 0x100
|
||||
/* B2997C 800B27DC 358CA014 */ ori $t4, (0x0100A014 & 0xFFFF) # ori $t4, $t4, 0xa014
|
||||
/* B29980 800B27E0 25ADB060 */ addiu $t5, %lo(D_8012B060) # addiu $t5, $t5, -0x4fa0
|
||||
/* B29984 800B27E4 AC4D0004 */ sw $t5, 4($v0)
|
||||
/* B29988 800B27E8 AC4C0000 */ sw $t4, ($v0)
|
||||
/* B2998C 800B27EC 24630008 */ addiu $v1, $v1, 8
|
||||
/* B29990 800B27F0 AFA30094 */ sw $v1, 0x94($sp)
|
||||
/* B29994 800B27F4 0C02CA51 */ jal func_800B2944
|
||||
/* B29998 800B27F8 00C02025 */ move $a0, $a2
|
||||
/* B2999C 800B27FC 14400038 */ bnez $v0, .L800B28E0
|
||||
/* B299A0 800B2800 8FA30094 */ lw $v1, 0x94($sp)
|
||||
/* B299A4 800B2804 8FAE0098 */ lw $t6, 0x98($sp)
|
||||
/* B299A8 800B2808 24010001 */ li $at, 1
|
||||
/* B299AC 800B280C 3C180600 */ lui $t8, (0x0600080A >> 16) # lui $t8, 0x600
|
||||
/* B299B0 800B2810 8DC20010 */ lw $v0, 0x10($t6)
|
||||
/* B299B4 800B2814 3C190008 */ lui $t9, (0x00080206 >> 16) # lui $t9, 8
|
||||
/* B299B8 800B2818 37390206 */ ori $t9, (0x00080206 & 0xFFFF) # ori $t9, $t9, 0x206
|
||||
/* B299BC 800B281C 10410006 */ beq $v0, $at, .L800B2838
|
||||
/* B299C0 800B2820 3718080A */ ori $t8, (0x0600080A & 0xFFFF) # ori $t8, $t8, 0x80a
|
||||
/* B299C4 800B2824 24010002 */ li $at, 2
|
||||
/* B299C8 800B2828 1041000E */ beq $v0, $at, .L800B2864
|
||||
/* B299CC 800B282C 3C090606 */ lui $t1, (0x0606080A >> 16) # lui $t1, 0x606
|
||||
/* B299D0 800B2830 1000003A */ b .L800B291C
|
||||
/* B299D4 800B2834 00601025 */ move $v0, $v1
|
||||
.L800B2838:
|
||||
/* B299D8 800B2838 00601025 */ move $v0, $v1
|
||||
/* B299DC 800B283C AC580000 */ sw $t8, ($v0)
|
||||
/* B299E0 800B2840 AC590004 */ sw $t9, 4($v0)
|
||||
/* B299E4 800B2844 24630008 */ addiu $v1, $v1, 8
|
||||
/* B299E8 800B2848 00601025 */ move $v0, $v1
|
||||
/* B299EC 800B284C 3C08050A */ lui $t0, (0x050A0604 >> 16) # lui $t0, 0x50a
|
||||
/* B299F0 800B2850 35080604 */ ori $t0, (0x050A0604 & 0xFFFF) # ori $t0, $t0, 0x604
|
||||
/* B299F4 800B2854 AC480000 */ sw $t0, ($v0)
|
||||
/* B299F8 800B2858 AC400004 */ sw $zero, 4($v0)
|
||||
/* B299FC 800B285C 1000002E */ b .L800B2918
|
||||
/* B29A00 800B2860 24630008 */ addiu $v1, $v1, 8
|
||||
.L800B2864:
|
||||
/* B29A04 800B2864 00601025 */ move $v0, $v1
|
||||
/* B29A08 800B2868 3529080A */ ori $t1, (0x0606080A & 0xFFFF) # ori $t1, $t1, 0x80a
|
||||
/* B29A0C 800B286C 240F040C */ li $t7, 1036
|
||||
/* B29A10 800B2870 AC4F0004 */ sw $t7, 4($v0)
|
||||
/* B29A14 800B2874 AC490000 */ sw $t1, ($v0)
|
||||
/* B29A18 800B2878 24630008 */ addiu $v1, $v1, 8
|
||||
/* B29A1C 800B287C 00601025 */ move $v0, $v1
|
||||
/* B29A20 800B2880 3C0A0600 */ lui $t2, (0x06000C0E >> 16) # lui $t2, 0x600
|
||||
/* B29A24 800B2884 3C0B0002 */ lui $t3, (0x0002000E >> 16) # lui $t3, 2
|
||||
/* B29A28 800B2888 356B000E */ ori $t3, (0x0002000E & 0xFFFF) # ori $t3, $t3, 0xe
|
||||
/* B29A2C 800B288C 354A0C0E */ ori $t2, (0x06000C0E & 0xFFFF) # ori $t2, $t2, 0xc0e
|
||||
/* B29A30 800B2890 AC4A0000 */ sw $t2, ($v0)
|
||||
/* B29A34 800B2894 AC4B0004 */ sw $t3, 4($v0)
|
||||
/* B29A38 800B2898 24630008 */ addiu $v1, $v1, 8
|
||||
/* B29A3C 800B289C 00601025 */ move $v0, $v1
|
||||
/* B29A40 800B28A0 3C0C0602 */ lui $t4, (0x06020E10 >> 16) # lui $t4, 0x602
|
||||
/* B29A44 800B28A4 3C0D0002 */ lui $t5, (0x00021012 >> 16) # lui $t5, 2
|
||||
/* B29A48 800B28A8 35AD1012 */ ori $t5, (0x00021012 & 0xFFFF) # ori $t5, $t5, 0x1012
|
||||
/* B29A4C 800B28AC 358C0E10 */ ori $t4, (0x06020E10 & 0xFFFF) # ori $t4, $t4, 0xe10
|
||||
/* B29A50 800B28B0 AC4C0000 */ sw $t4, ($v0)
|
||||
/* B29A54 800B28B4 AC4D0004 */ sw $t5, 4($v0)
|
||||
/* B29A58 800B28B8 24630008 */ addiu $v1, $v1, 8
|
||||
/* B29A5C 800B28BC 00601025 */ move $v0, $v1
|
||||
/* B29A60 800B28C0 3C0E0602 */ lui $t6, (0x06021204 >> 16) # lui $t6, 0x602
|
||||
/* B29A64 800B28C4 3C180004 */ lui $t8, (0x0004120C >> 16) # lui $t8, 4
|
||||
/* B29A68 800B28C8 3718120C */ ori $t8, (0x0004120C & 0xFFFF) # ori $t8, $t8, 0x120c
|
||||
/* B29A6C 800B28CC 35CE1204 */ ori $t6, (0x06021204 & 0xFFFF) # ori $t6, $t6, 0x1204
|
||||
/* B29A70 800B28D0 AC4E0000 */ sw $t6, ($v0)
|
||||
/* B29A74 800B28D4 AC580004 */ sw $t8, 4($v0)
|
||||
/* B29A78 800B28D8 1000000F */ b .L800B2918
|
||||
/* B29A7C 800B28DC 24630008 */ addiu $v1, $v1, 8
|
||||
.L800B28E0:
|
||||
/* B29A80 800B28E0 8FB90098 */ lw $t9, 0x98($sp)
|
||||
/* B29A84 800B28E4 24010001 */ li $at, 1
|
||||
/* B29A88 800B28E8 8F220010 */ lw $v0, 0x10($t9)
|
||||
/* B29A8C 800B28EC 1041000A */ beq $v0, $at, .L800B2918
|
||||
/* B29A90 800B28F0 24010002 */ li $at, 2
|
||||
/* B29A94 800B28F4 14410008 */ bne $v0, $at, .L800B2918
|
||||
/* B29A98 800B28F8 3C08070C */ lui $t0, (0x070C0E10 >> 16) # lui $t0, 0x70c
|
||||
/* B29A9C 800B28FC 00601025 */ move $v0, $v1
|
||||
/* B29AA0 800B2900 3C09000C */ lui $t1, (0x000C1012 >> 16) # lui $t1, 0xc
|
||||
/* B29AA4 800B2904 35291012 */ ori $t1, (0x000C1012 & 0xFFFF) # ori $t1, $t1, 0x1012
|
||||
/* B29AA8 800B2908 35080E10 */ ori $t0, (0x070C0E10 & 0xFFFF) # ori $t0, $t0, 0xe10
|
||||
/* B29AAC 800B290C AC480000 */ sw $t0, ($v0)
|
||||
/* B29AB0 800B2910 AC490004 */ sw $t1, 4($v0)
|
||||
/* B29AB4 800B2914 24630008 */ addiu $v1, $v1, 8
|
||||
.L800B2918:
|
||||
/* B29AB8 800B2918 00601025 */ move $v0, $v1
|
||||
.L800B291C:
|
||||
/* B29ABC 800B291C 3C0FE700 */ lui $t7, 0xe700
|
||||
/* B29AC0 800B2920 AC4F0000 */ sw $t7, ($v0)
|
||||
/* B29AC4 800B2924 AC400004 */ sw $zero, 4($v0)
|
||||
/* B29AC8 800B2928 8FAA009C */ lw $t2, 0x9c($sp)
|
||||
/* B29ACC 800B292C 24630008 */ addiu $v1, $v1, 8
|
||||
/* B29AD0 800B2930 AD430000 */ sw $v1, ($t2)
|
||||
/* B29AD4 800B2934 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B29AD8 800B2938 27BD0098 */ addiu $sp, $sp, 0x98
|
||||
/* B29ADC 800B293C 03E00008 */ jr $ra
|
||||
/* B29AE0 800B2940 00000000 */ nop
|
||||
|
||||
glabel func_800B2944
|
||||
/* B29AE4 800B2944 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* B29AE8 800B2948 24010001 */ li $at, 1
|
||||
/* B29AEC 800B294C 10410002 */ beq $v0, $at, .L800B2958
|
||||
/* B29AF0 800B2950 24010002 */ li $at, 2
|
||||
/* B29AF4 800B2954 1441000B */ bne $v0, $at, .L800B2984
|
||||
.L800B2958:
|
||||
/* B29AF8 800B2958 3C018014 */ lui $at, %hi(D_8014309C)
|
||||
/* B29AFC 800B295C C424309C */ lwc1 $f4, %lo(D_8014309C)($at)
|
||||
/* B29B00 800B2960 C4860004 */ lwc1 $f6, 4($a0)
|
||||
/* B29B04 800B2964 00001025 */ move $v0, $zero
|
||||
/* B29B08 800B2968 4604303E */ c.le.s $f6, $f4
|
||||
/* B29B0C 800B296C 00000000 */ nop
|
||||
/* B29B10 800B2970 45000002 */ bc1f .L800B297C
|
||||
/* B29B14 800B2974 00000000 */ nop
|
||||
/* B29B18 800B2978 24020001 */ li $v0, 1
|
||||
.L800B297C:
|
||||
/* B29B1C 800B297C 03E00008 */ jr $ra
|
||||
/* B29B20 800B2980 00000000 */ nop
|
||||
|
||||
.L800B2984:
|
||||
/* B29B24 800B2984 24010003 */ li $at, 3
|
||||
/* B29B28 800B2988 10410002 */ beq $v0, $at, .L800B2994
|
||||
/* B29B2C 800B298C 24010004 */ li $at, 4
|
||||
/* B29B30 800B2990 1441000B */ bne $v0, $at, .L800B29C0
|
||||
.L800B2994:
|
||||
/* B29B34 800B2994 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B29B38 800B2998 44815000 */ mtc1 $at, $f10
|
||||
/* B29B3C 800B299C C4880004 */ lwc1 $f8, 4($a0)
|
||||
/* B29B40 800B29A0 00001025 */ move $v0, $zero
|
||||
/* B29B44 800B29A4 4608503E */ c.le.s $f10, $f8
|
||||
/* B29B48 800B29A8 00000000 */ nop
|
||||
/* B29B4C 800B29AC 45000002 */ bc1f .L800B29B8
|
||||
/* B29B50 800B29B0 00000000 */ nop
|
||||
/* B29B54 800B29B4 24020001 */ li $v0, 1
|
||||
.L800B29B8:
|
||||
/* B29B58 800B29B8 03E00008 */ jr $ra
|
||||
/* B29B5C 800B29BC 00000000 */ nop
|
||||
|
||||
.L800B29C0:
|
||||
/* B29B60 800B29C0 00001025 */ move $v0, $zero
|
||||
/* B29B64 800B29C4 03E00008 */ jr $ra
|
||||
/* B29B68 800B29C8 00000000 */ nop
|
||||
@@ -0,0 +1,318 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800B29D0
|
||||
/* B29B70 800B29D0 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* B29B74 800B29D4 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* B29B78 800B29D8 AFB00030 */ sw $s0, 0x30($sp)
|
||||
/* B29B7C 800B29DC 908E0008 */ lbu $t6, 8($a0)
|
||||
/* B29B80 800B29E0 00808025 */ move $s0, $a0
|
||||
/* B29B84 800B29E4 A080000A */ sb $zero, 0xa($a0)
|
||||
/* B29B88 800B29E8 11C00004 */ beqz $t6, .L800B29FC
|
||||
/* B29B8C 800B29EC 26050010 */ addiu $a1, $s0, 0x10
|
||||
/* B29B90 800B29F0 240F014D */ li $t7, 333
|
||||
/* B29B94 800B29F4 10000003 */ b .L800B2A04
|
||||
/* B29B98 800B29F8 A48F000E */ sh $t7, 0xe($a0)
|
||||
.L800B29FC:
|
||||
/* B29B9C 800B29FC 24180264 */ li $t8, 612
|
||||
/* B29BA0 800B2A00 A618000E */ sh $t8, 0xe($s0)
|
||||
.L800B2A04:
|
||||
/* B29BA4 800B2A04 3C014120 */ li $at, 0x41200000 # 0.000000
|
||||
/* B29BA8 800B2A08 44812000 */ mtc1 $at, $f4
|
||||
/* B29BAC 800B2A0C 3C014648 */ li $at, 0x46480000 # 0.000000
|
||||
/* B29BB0 800B2A10 44813000 */ mtc1 $at, $f6
|
||||
/* B29BB4 800B2A14 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B29BB8 800B2A18 44814000 */ mtc1 $at, $f8
|
||||
/* B29BBC 800B2A1C 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa
|
||||
/* B29BC0 800B2A20 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab
|
||||
/* B29BC4 800B2A24 26040018 */ addiu $a0, $s0, 0x18
|
||||
/* B29BC8 800B2A28 3C064270 */ li $a2, 0x42700000 # 0.000000
|
||||
/* B29BCC 800B2A2C E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* B29BD0 800B2A30 E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* B29BD4 800B2A34 0C0404C0 */ jal guPerspective
|
||||
/* B29BD8 800B2A38 E7A80018 */ swc1 $f8, 0x18($sp)
|
||||
/* B29BDC 800B2A3C 44800000 */ mtc1 $zero, $f0
|
||||
/* B29BE0 800B2A40 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B29BE4 800B2A44 44815000 */ mtc1 $at, $f10
|
||||
/* B29BE8 800B2A48 44050000 */ mfc1 $a1, $f0
|
||||
/* B29BEC 800B2A4C 44060000 */ mfc1 $a2, $f0
|
||||
/* B29BF0 800B2A50 26040058 */ addiu $a0, $s0, 0x58
|
||||
/* B29BF4 800B2A54 3C0743C8 */ lui $a3, 0x43c8
|
||||
/* B29BF8 800B2A58 E7A00010 */ swc1 $f0, 0x10($sp)
|
||||
/* B29BFC 800B2A5C E7A00014 */ swc1 $f0, 0x14($sp)
|
||||
/* B29C00 800B2A60 E7A00018 */ swc1 $f0, 0x18($sp)
|
||||
/* B29C04 800B2A64 E7A0001C */ swc1 $f0, 0x1c($sp)
|
||||
/* B29C08 800B2A68 E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* B29C0C 800B2A6C 0C04078D */ jal func_80101E34
|
||||
/* B29C10 800B2A70 E7AA0020 */ swc1 $f10, 0x20($sp)
|
||||
/* B29C14 800B2A74 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* B29C18 800B2A78 8FB00030 */ lw $s0, 0x30($sp)
|
||||
/* B29C1C 800B2A7C 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
/* B29C20 800B2A80 03E00008 */ jr $ra
|
||||
/* B29C24 800B2A84 00000000 */ nop
|
||||
|
||||
glabel func_800B2A88
|
||||
/* B29C28 800B2A88 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B29C2C 800B2A8C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B29C30 800B2A90 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B29C34 800B2A94 0C001114 */ jal bzero
|
||||
/* B29C38 800B2A98 24050218 */ li $a1, 536
|
||||
/* B29C3C 800B2A9C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B29C40 800B2AA0 8FA20018 */ lw $v0, 0x18($sp)
|
||||
/* B29C44 800B2AA4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B29C48 800B2AA8 03E00008 */ jr $ra
|
||||
/* B29C4C 800B2AAC 00000000 */ nop
|
||||
|
||||
glabel func_800B2AB0
|
||||
/* B29C50 800B2AB0 03E00008 */ jr $ra
|
||||
/* B29C54 800B2AB4 AFA40000 */ sw $a0, ($sp)
|
||||
|
||||
glabel func_800B2AB8
|
||||
/* B29C58 800B2AB8 908E0008 */ lbu $t6, 8($a0)
|
||||
/* B29C5C 800B2ABC 3C028016 */ lui $v0, %hi(gSaveContext+0x1419)
|
||||
/* B29C60 800B2AC0 11C0001B */ beqz $t6, .L800B2B30
|
||||
/* B29C64 800B2AC4 00000000 */ nop
|
||||
/* B29C68 800B2AC8 3C028016 */ lui $v0, %hi(gSaveContext+0x1419) # $v0, 0x8016
|
||||
/* B29C6C 800B2ACC 9042FA79 */ lbu $v0, %lo(gSaveContext+0x1419)($v0)
|
||||
/* B29C70 800B2AD0 948F000E */ lhu $t7, 0xe($a0)
|
||||
/* B29C74 800B2AD4 240A0264 */ li $t2, 612
|
||||
/* B29C78 800B2AD8 0002C080 */ sll $t8, $v0, 2
|
||||
/* B29C7C 800B2ADC 0302C023 */ subu $t8, $t8, $v0
|
||||
/* B29C80 800B2AE0 0305001A */ div $zero, $t8, $a1
|
||||
/* B29C84 800B2AE4 14A00002 */ bnez $a1, .L800B2AF0
|
||||
/* B29C88 800B2AE8 00000000 */ nop
|
||||
/* B29C8C 800B2AEC 0007000D */ break 7
|
||||
.L800B2AF0:
|
||||
/* B29C90 800B2AF0 2401FFFF */ li $at, -1
|
||||
/* B29C94 800B2AF4 14A10004 */ bne $a1, $at, .L800B2B08
|
||||
/* B29C98 800B2AF8 3C018000 */ lui $at, 0x8000
|
||||
/* B29C9C 800B2AFC 17010002 */ bne $t8, $at, .L800B2B08
|
||||
/* B29CA0 800B2B00 00000000 */ nop
|
||||
/* B29CA4 800B2B04 0006000D */ break 6
|
||||
.L800B2B08:
|
||||
/* B29CA8 800B2B08 0000C812 */ mflo $t9
|
||||
/* B29CAC 800B2B0C 01F94021 */ addu $t0, $t7, $t9
|
||||
/* B29CB0 800B2B10 3109FFFF */ andi $t1, $t0, 0xffff
|
||||
/* B29CB4 800B2B14 29210264 */ slti $at, $t1, 0x264
|
||||
/* B29CB8 800B2B18 1420001D */ bnez $at, .L800B2B90
|
||||
/* B29CBC 800B2B1C A488000E */ sh $t0, 0xe($a0)
|
||||
/* B29CC0 800B2B20 240B0001 */ li $t3, 1
|
||||
/* B29CC4 800B2B24 A48A000E */ sh $t2, 0xe($a0)
|
||||
/* B29CC8 800B2B28 03E00008 */ jr $ra
|
||||
/* B29CCC 800B2B2C A08B000A */ sb $t3, 0xa($a0)
|
||||
.L800B2B30:
|
||||
/* B29CD0 800B2B30 9042FA79 */ lbu $v0, %lo(gSaveContext+0x1419)($v0)
|
||||
/* B29CD4 800B2B34 948C000E */ lhu $t4, 0xe($a0)
|
||||
/* B29CD8 800B2B38 2419014D */ li $t9, 333
|
||||
/* B29CDC 800B2B3C 00026880 */ sll $t5, $v0, 2
|
||||
/* B29CE0 800B2B40 01A26823 */ subu $t5, $t5, $v0
|
||||
/* B29CE4 800B2B44 01A5001A */ div $zero, $t5, $a1
|
||||
/* B29CE8 800B2B48 14A00002 */ bnez $a1, .L800B2B54
|
||||
/* B29CEC 800B2B4C 00000000 */ nop
|
||||
/* B29CF0 800B2B50 0007000D */ break 7
|
||||
.L800B2B54:
|
||||
/* B29CF4 800B2B54 2401FFFF */ li $at, -1
|
||||
/* B29CF8 800B2B58 14A10004 */ bne $a1, $at, .L800B2B6C
|
||||
/* B29CFC 800B2B5C 3C018000 */ lui $at, 0x8000
|
||||
/* B29D00 800B2B60 15A10002 */ bne $t5, $at, .L800B2B6C
|
||||
/* B29D04 800B2B64 00000000 */ nop
|
||||
/* B29D08 800B2B68 0006000D */ break 6
|
||||
.L800B2B6C:
|
||||
/* B29D0C 800B2B6C 00007012 */ mflo $t6
|
||||
/* B29D10 800B2B70 018EC023 */ subu $t8, $t4, $t6
|
||||
/* B29D14 800B2B74 330FFFFF */ andi $t7, $t8, 0xffff
|
||||
/* B29D18 800B2B78 29E1014E */ slti $at, $t7, 0x14e
|
||||
/* B29D1C 800B2B7C 10200004 */ beqz $at, .L800B2B90
|
||||
/* B29D20 800B2B80 A498000E */ sh $t8, 0xe($a0)
|
||||
/* B29D24 800B2B84 24080001 */ li $t0, 1
|
||||
/* B29D28 800B2B88 A499000E */ sh $t9, 0xe($a0)
|
||||
/* B29D2C 800B2B8C A088000A */ sb $t0, 0xa($a0)
|
||||
.L800B2B90:
|
||||
/* B29D30 800B2B90 03E00008 */ jr $ra
|
||||
/* B29D34 800B2B94 00000000 */ nop
|
||||
|
||||
glabel func_800B2B98
|
||||
/* B29D38 800B2B98 27BDFF80 */ addiu $sp, $sp, -0x80
|
||||
/* B29D3C 800B2B9C AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B29D40 800B2BA0 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* B29D44 800B2BA4 AFA50084 */ sw $a1, 0x84($sp)
|
||||
/* B29D48 800B2BA8 8CAF0000 */ lw $t7, ($a1)
|
||||
/* B29D4C 800B2BAC 3C018014 */ lui $at, %hi(D_801430A0)
|
||||
/* B29D50 800B2BB0 C42030A0 */ lwc1 $f0, %lo(D_801430A0)($at)
|
||||
/* B29D54 800B2BB4 AFAF007C */ sw $t7, 0x7c($sp)
|
||||
/* B29D58 800B2BB8 90820009 */ lbu $v0, 9($a0)
|
||||
/* B29D5C 800B2BBC 00808025 */ move $s0, $a0
|
||||
/* B29D60 800B2BC0 44050000 */ mfc1 $a1, $f0
|
||||
/* B29D64 800B2BC4 0002C080 */ sll $t8, $v0, 2
|
||||
/* B29D68 800B2BC8 0302C023 */ subu $t8, $t8, $v0
|
||||
/* B29D6C 800B2BCC 0018C180 */ sll $t8, $t8, 6
|
||||
/* B29D70 800B2BD0 00982021 */ addu $a0, $a0, $t8
|
||||
/* B29D74 800B2BD4 38590001 */ xori $t9, $v0, 1
|
||||
/* B29D78 800B2BD8 24840098 */ addiu $a0, $a0, 0x98
|
||||
/* B29D7C 800B2BDC A2190009 */ sb $t9, 9($s0)
|
||||
/* B29D80 800B2BE0 44060000 */ mfc1 $a2, $f0
|
||||
/* B29D84 800B2BE4 AFA40078 */ sw $a0, 0x78($sp)
|
||||
/* B29D88 800B2BE8 0C040078 */ jal func_801001E0
|
||||
/* B29D8C 800B2BEC 3C073F80 */ li $a3, 0x3F800000 # 0.000000
|
||||
/* B29D90 800B2BF0 44800000 */ mtc1 $zero, $f0
|
||||
/* B29D94 800B2BF4 8FA40078 */ lw $a0, 0x78($sp)
|
||||
/* B29D98 800B2BF8 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B29D9C 800B2BFC 44812000 */ mtc1 $at, $f4
|
||||
/* B29DA0 800B2C00 24840040 */ addiu $a0, $a0, 0x40
|
||||
/* B29DA4 800B2C04 44050000 */ mfc1 $a1, $f0
|
||||
/* B29DA8 800B2C08 44060000 */ mfc1 $a2, $f0
|
||||
/* B29DAC 800B2C0C 44070000 */ mfc1 $a3, $f0
|
||||
/* B29DB0 800B2C10 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* B29DB4 800B2C14 0C040FE9 */ jal func_80103FA4
|
||||
/* B29DB8 800B2C18 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* B29DBC 800B2C1C 44800000 */ mtc1 $zero, $f0
|
||||
/* B29DC0 800B2C20 8FA40078 */ lw $a0, 0x78($sp)
|
||||
/* B29DC4 800B2C24 44050000 */ mfc1 $a1, $f0
|
||||
/* B29DC8 800B2C28 24840080 */ addiu $a0, $a0, 0x80
|
||||
/* B29DCC 800B2C2C 44060000 */ mfc1 $a2, $f0
|
||||
/* B29DD0 800B2C30 44070000 */ mfc1 $a3, $f0
|
||||
/* B29DD4 800B2C34 0C041708 */ jal func_80105C20
|
||||
/* B29DD8 800B2C38 AFA4002C */ sw $a0, 0x2c($sp)
|
||||
/* B29DDC 800B2C3C 8FA8007C */ lw $t0, 0x7c($sp)
|
||||
/* B29DE0 800B2C40 3C0AE700 */ lui $t2, 0xe700
|
||||
/* B29DE4 800B2C44 27A4007C */ addiu $a0, $sp, 0x7c
|
||||
/* B29DE8 800B2C48 25090008 */ addiu $t1, $t0, 8
|
||||
/* B29DEC 800B2C4C AFA9007C */ sw $t1, 0x7c($sp)
|
||||
/* B29DF0 800B2C50 AD000004 */ sw $zero, 4($t0)
|
||||
/* B29DF4 800B2C54 AD0A0000 */ sw $t2, ($t0)
|
||||
/* B29DF8 800B2C58 9606000E */ lhu $a2, 0xe($s0)
|
||||
/* B29DFC 800B2C5C 9605000C */ lhu $a1, 0xc($s0)
|
||||
/* B29E00 800B2C60 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* B29E04 800B2C64 0C02536E */ jal func_80094DB8
|
||||
/* B29E08 800B2C68 00003825 */ move $a3, $zero
|
||||
/* B29E0C 800B2C6C 8FAB007C */ lw $t3, 0x7c($sp)
|
||||
/* B29E10 800B2C70 3C0DDB06 */ lui $t5, (0xDB060020 >> 16) # lui $t5, 0xdb06
|
||||
/* B29E14 800B2C74 35AD0020 */ ori $t5, (0xDB060020 & 0xFFFF) # ori $t5, $t5, 0x20
|
||||
/* B29E18 800B2C78 256C0008 */ addiu $t4, $t3, 8
|
||||
/* B29E1C 800B2C7C AFAC007C */ sw $t4, 0x7c($sp)
|
||||
/* B29E20 800B2C80 AD620004 */ sw $v0, 4($t3)
|
||||
/* B29E24 800B2C84 AD6D0000 */ sw $t5, ($t3)
|
||||
/* B29E28 800B2C88 8FA2007C */ lw $v0, 0x7c($sp)
|
||||
/* B29E2C 800B2C8C 3C18FA00 */ lui $t8, (0xFA000080 >> 16) # lui $t8, 0xfa00
|
||||
/* B29E30 800B2C90 37180080 */ ori $t8, (0xFA000080 & 0xFFFF) # ori $t8, $t8, 0x80
|
||||
/* B29E34 800B2C94 244F0008 */ addiu $t7, $v0, 8
|
||||
/* B29E38 800B2C98 AFAF007C */ sw $t7, 0x7c($sp)
|
||||
/* B29E3C 800B2C9C AC580000 */ sw $t8, ($v0)
|
||||
/* B29E40 800B2CA0 920B0001 */ lbu $t3, 1($s0)
|
||||
/* B29E44 800B2CA4 92080000 */ lbu $t0, ($s0)
|
||||
/* B29E48 800B2CA8 920F0002 */ lbu $t7, 2($s0)
|
||||
/* B29E4C 800B2CAC 000B6400 */ sll $t4, $t3, 0x10
|
||||
/* B29E50 800B2CB0 00084E00 */ sll $t1, $t0, 0x18
|
||||
/* B29E54 800B2CB4 012C6825 */ or $t5, $t1, $t4
|
||||
/* B29E58 800B2CB8 000FC200 */ sll $t8, $t7, 8
|
||||
/* B29E5C 800B2CBC 01B8C825 */ or $t9, $t5, $t8
|
||||
/* B29E60 800B2CC0 372800FF */ ori $t0, $t9, 0xff
|
||||
/* B29E64 800B2CC4 AC480004 */ sw $t0, 4($v0)
|
||||
/* B29E68 800B2CC8 8FAA007C */ lw $t2, 0x7c($sp)
|
||||
/* B29E6C 800B2CCC 3C09DA38 */ lui $t1, (0xDA380007 >> 16) # lui $t1, 0xda38
|
||||
/* B29E70 800B2CD0 35290007 */ ori $t1, (0xDA380007 & 0xFFFF) # ori $t1, $t1, 7
|
||||
/* B29E74 800B2CD4 254B0008 */ addiu $t3, $t2, 8
|
||||
/* B29E78 800B2CD8 AFAB007C */ sw $t3, 0x7c($sp)
|
||||
/* B29E7C 800B2CDC 260C0018 */ addiu $t4, $s0, 0x18
|
||||
/* B29E80 800B2CE0 AD4C0004 */ sw $t4, 4($t2)
|
||||
/* B29E84 800B2CE4 AD490000 */ sw $t1, ($t2)
|
||||
/* B29E88 800B2CE8 8FAE007C */ lw $t6, 0x7c($sp)
|
||||
/* B29E8C 800B2CEC 3C0DDB0E */ lui $t5, 0xdb0e
|
||||
/* B29E90 800B2CF0 3C0ADA38 */ lui $t2, (0xDA380005 >> 16) # lui $t2, 0xda38
|
||||
/* B29E94 800B2CF4 25CF0008 */ addiu $t7, $t6, 8
|
||||
/* B29E98 800B2CF8 AFAF007C */ sw $t7, 0x7c($sp)
|
||||
/* B29E9C 800B2CFC ADCD0000 */ sw $t5, ($t6)
|
||||
/* B29EA0 800B2D00 96180010 */ lhu $t8, 0x10($s0)
|
||||
/* B29EA4 800B2D04 354A0005 */ ori $t2, (0xDA380005 & 0xFFFF) # ori $t2, $t2, 5
|
||||
/* B29EA8 800B2D08 260B0058 */ addiu $t3, $s0, 0x58
|
||||
/* B29EAC 800B2D0C ADD80004 */ sw $t8, 4($t6)
|
||||
/* B29EB0 800B2D10 8FB9007C */ lw $t9, 0x7c($sp)
|
||||
/* B29EB4 800B2D14 3C0EDA38 */ lui $t6, (0xDA380003 >> 16) # lui $t6, 0xda38
|
||||
/* B29EB8 800B2D18 35CE0003 */ ori $t6, (0xDA380003 & 0xFFFF) # ori $t6, $t6, 3
|
||||
/* B29EBC 800B2D1C 27280008 */ addiu $t0, $t9, 8
|
||||
/* B29EC0 800B2D20 AFA8007C */ sw $t0, 0x7c($sp)
|
||||
/* B29EC4 800B2D24 AF2B0004 */ sw $t3, 4($t9)
|
||||
/* B29EC8 800B2D28 AF2A0000 */ sw $t2, ($t9)
|
||||
/* B29ECC 800B2D2C 8FA9007C */ lw $t1, 0x7c($sp)
|
||||
/* B29ED0 800B2D30 3C03DA38 */ lui $v1, (0xDA380001 >> 16) # lui $v1, 0xda38
|
||||
/* B29ED4 800B2D34 34630001 */ ori $v1, (0xDA380001 & 0xFFFF) # ori $v1, $v1, 1
|
||||
/* B29ED8 800B2D38 252C0008 */ addiu $t4, $t1, 8
|
||||
/* B29EDC 800B2D3C AFAC007C */ sw $t4, 0x7c($sp)
|
||||
/* B29EE0 800B2D40 AD2E0000 */ sw $t6, ($t1)
|
||||
/* B29EE4 800B2D44 8FAF0078 */ lw $t7, 0x78($sp)
|
||||
/* B29EE8 800B2D48 3C0EDE00 */ lui $t6, 0xde00
|
||||
/* B29EEC 800B2D4C AD2F0004 */ sw $t7, 4($t1)
|
||||
/* B29EF0 800B2D50 8FAD007C */ lw $t5, 0x7c($sp)
|
||||
/* B29EF4 800B2D54 3C0F8013 */ lui $t7, %hi(D_8012BA90) # $t7, 0x8013
|
||||
/* B29EF8 800B2D58 25EFBA90 */ addiu $t7, %lo(D_8012BA90) # addiu $t7, $t7, -0x4570
|
||||
/* B29EFC 800B2D5C 25B80008 */ addiu $t8, $t5, 8
|
||||
/* B29F00 800B2D60 AFB8007C */ sw $t8, 0x7c($sp)
|
||||
/* B29F04 800B2D64 ADA30000 */ sw $v1, ($t5)
|
||||
/* B29F08 800B2D68 8FB90030 */ lw $t9, 0x30($sp)
|
||||
/* B29F0C 800B2D6C ADB90004 */ sw $t9, 4($t5)
|
||||
/* B29F10 800B2D70 8FA8007C */ lw $t0, 0x7c($sp)
|
||||
/* B29F14 800B2D74 3C19E700 */ lui $t9, 0xe700
|
||||
/* B29F18 800B2D78 250A0008 */ addiu $t2, $t0, 8
|
||||
/* B29F1C 800B2D7C AFAA007C */ sw $t2, 0x7c($sp)
|
||||
/* B29F20 800B2D80 AD030000 */ sw $v1, ($t0)
|
||||
/* B29F24 800B2D84 8FAB002C */ lw $t3, 0x2c($sp)
|
||||
/* B29F28 800B2D88 AD0B0004 */ sw $t3, 4($t0)
|
||||
/* B29F2C 800B2D8C 8FA9007C */ lw $t1, 0x7c($sp)
|
||||
/* B29F30 800B2D90 252C0008 */ addiu $t4, $t1, 8
|
||||
/* B29F34 800B2D94 AFAC007C */ sw $t4, 0x7c($sp)
|
||||
/* B29F38 800B2D98 AD2F0004 */ sw $t7, 4($t1)
|
||||
/* B29F3C 800B2D9C AD2E0000 */ sw $t6, ($t1)
|
||||
/* B29F40 800B2DA0 8FAD007C */ lw $t5, 0x7c($sp)
|
||||
/* B29F44 800B2DA4 25B80008 */ addiu $t8, $t5, 8
|
||||
/* B29F48 800B2DA8 AFB8007C */ sw $t8, 0x7c($sp)
|
||||
/* B29F4C 800B2DAC ADA00004 */ sw $zero, 4($t5)
|
||||
/* B29F50 800B2DB0 ADB90000 */ sw $t9, ($t5)
|
||||
/* B29F54 800B2DB4 8FAA0084 */ lw $t2, 0x84($sp)
|
||||
/* B29F58 800B2DB8 8FA8007C */ lw $t0, 0x7c($sp)
|
||||
/* B29F5C 800B2DBC AD480000 */ sw $t0, ($t2)
|
||||
/* B29F60 800B2DC0 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B29F64 800B2DC4 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* B29F68 800B2DC8 27BD0080 */ addiu $sp, $sp, 0x80
|
||||
/* B29F6C 800B2DCC 03E00008 */ jr $ra
|
||||
/* B29F70 800B2DD0 00000000 */ nop
|
||||
|
||||
glabel func_800B2DD4
|
||||
/* B29F74 800B2DD4 03E00008 */ jr $ra
|
||||
/* B29F78 800B2DD8 9082000A */ lbu $v0, 0xa($a0)
|
||||
|
||||
glabel func_800B2DDC
|
||||
/* B29F7C 800B2DDC 24010001 */ li $at, 1
|
||||
/* B29F80 800B2DE0 14A10003 */ bne $a1, $at, .L800B2DF0
|
||||
/* B29F84 800B2DE4 240E0001 */ li $t6, 1
|
||||
/* B29F88 800B2DE8 10000002 */ b .L800B2DF4
|
||||
/* B29F8C 800B2DEC A08E0008 */ sb $t6, 8($a0)
|
||||
.L800B2DF0:
|
||||
/* B29F90 800B2DF0 A0800008 */ sb $zero, 8($a0)
|
||||
.L800B2DF4:
|
||||
/* B29F94 800B2DF4 908F0008 */ lbu $t7, 8($a0)
|
||||
/* B29F98 800B2DF8 2418014D */ li $t8, 333
|
||||
/* B29F9C 800B2DFC 24190264 */ li $t9, 612
|
||||
/* B29FA0 800B2E00 51E00004 */ beql $t7, $zero, .L800B2E14
|
||||
/* B29FA4 800B2E04 A499000E */ sh $t9, 0xe($a0)
|
||||
/* B29FA8 800B2E08 03E00008 */ jr $ra
|
||||
/* B29FAC 800B2E0C A498000E */ sh $t8, 0xe($a0)
|
||||
/* B29FB0 800B2E10 A499000E */ sh $t9, 0xe($a0)
|
||||
.L800B2E14:
|
||||
/* B29FB4 800B2E14 03E00008 */ jr $ra
|
||||
/* B29FB8 800B2E18 00000000 */ nop
|
||||
|
||||
glabel func_800B2E1C
|
||||
/* B29FBC 800B2E1C 03E00008 */ jr $ra
|
||||
/* B29FC0 800B2E20 AC850000 */ sw $a1, ($a0)
|
||||
|
||||
glabel func_800B2E24
|
||||
/* B29FC4 800B2E24 03E00008 */ jr $ra
|
||||
/* B29FC8 800B2E28 AC850004 */ sw $a1, 4($a0)
|
||||
@@ -0,0 +1,485 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800B2E30
|
||||
/* B29FD0 800B2E30 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* B29FD4 800B2E34 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* B29FD8 800B2E38 AFB00030 */ sw $s0, 0x30($sp)
|
||||
/* B29FDC 800B2E3C 90820017 */ lbu $v0, 0x17($a0)
|
||||
/* B29FE0 800B2E40 24030001 */ li $v1, 1
|
||||
/* B29FE4 800B2E44 00808025 */ move $s0, $a0
|
||||
/* B29FE8 800B2E48 1043000B */ beq $v0, $v1, .L800B2E78
|
||||
/* B29FEC 800B2E4C A0800018 */ sb $zero, 0x18($a0)
|
||||
/* B29FF0 800B2E50 24040002 */ li $a0, 2
|
||||
/* B29FF4 800B2E54 1044000D */ beq $v0, $a0, .L800B2E8C
|
||||
/* B29FF8 800B2E58 3C188013 */ lui $t8, %hi(D_8012C3A8) # $t8, 0x8013
|
||||
/* B29FFC 800B2E5C 24010003 */ li $at, 3
|
||||
/* B2A000 800B2E60 1041000D */ beq $v0, $at, .L800B2E98
|
||||
/* B2A004 800B2E64 3C198013 */ lui $t9, %hi(D_8012C7A8) # $t9, 0x8013
|
||||
/* B2A008 800B2E68 3C0E8013 */ lui $t6, %hi(D_8012BBA8) # $t6, 0x8013
|
||||
/* B2A00C 800B2E6C 25CEBBA8 */ addiu $t6, %lo(D_8012BBA8) # addiu $t6, $t6, -0x4458
|
||||
/* B2A010 800B2E70 1000000B */ b .L800B2EA0
|
||||
/* B2A014 800B2E74 AE0E00A0 */ sw $t6, 0xa0($s0)
|
||||
.L800B2E78:
|
||||
/* B2A018 800B2E78 3C0F8013 */ lui $t7, %hi(D_8012BFA8) # $t7, 0x8013
|
||||
/* B2A01C 800B2E7C 25EFBFA8 */ addiu $t7, %lo(D_8012BFA8) # addiu $t7, $t7, -0x4058
|
||||
/* B2A020 800B2E80 AE0F00A0 */ sw $t7, 0xa0($s0)
|
||||
/* B2A024 800B2E84 10000006 */ b .L800B2EA0
|
||||
/* B2A028 800B2E88 24040002 */ li $a0, 2
|
||||
.L800B2E8C:
|
||||
/* B2A02C 800B2E8C 2718C3A8 */ addiu $t8, %lo(D_8012C3A8) # addiu $t8, $t8, -0x3c58
|
||||
/* B2A030 800B2E90 10000003 */ b .L800B2EA0
|
||||
/* B2A034 800B2E94 AE1800A0 */ sw $t8, 0xa0($s0)
|
||||
.L800B2E98:
|
||||
/* B2A038 800B2E98 2739C7A8 */ addiu $t9, %lo(D_8012C7A8) # addiu $t9, $t9, -0x3858
|
||||
/* B2A03C 800B2E9C AE1900A0 */ sw $t9, 0xa0($s0)
|
||||
.L800B2EA0:
|
||||
/* B2A040 800B2EA0 92080016 */ lbu $t0, 0x16($s0)
|
||||
/* B2A044 800B2EA4 24090014 */ li $t1, 20
|
||||
/* B2A048 800B2EA8 240A000A */ li $t2, 10
|
||||
/* B2A04C 800B2EAC 15000003 */ bnez $t0, .L800B2EBC
|
||||
/* B2A050 800B2EB0 240B00FF */ li $t3, 255
|
||||
/* B2A054 800B2EB4 10000002 */ b .L800B2EC0
|
||||
/* B2A058 800B2EB8 AE090010 */ sw $t1, 0x10($s0)
|
||||
.L800B2EBC:
|
||||
/* B2A05C 800B2EBC AE0A0010 */ sw $t2, 0x10($s0)
|
||||
.L800B2EC0:
|
||||
/* B2A060 800B2EC0 92020015 */ lbu $v0, 0x15($s0)
|
||||
/* B2A064 800B2EC4 14400003 */ bnez $v0, .L800B2ED4
|
||||
/* B2A068 800B2EC8 00000000 */ nop
|
||||
/* B2A06C 800B2ECC 10000018 */ b .L800B2F30
|
||||
/* B2A070 800B2ED0 AE0B0000 */ sw $t3, ($s0)
|
||||
.L800B2ED4:
|
||||
/* B2A074 800B2ED4 14620004 */ bne $v1, $v0, .L800B2EE8
|
||||
/* B2A078 800B2ED8 3C0CA0A0 */ lui $t4, (0xA0A0A0FF >> 16) # lui $t4, 0xa0a0
|
||||
/* B2A07C 800B2EDC 358CA0FF */ ori $t4, (0xA0A0A0FF & 0xFFFF) # ori $t4, $t4, 0xa0ff
|
||||
/* B2A080 800B2EE0 10000013 */ b .L800B2F30
|
||||
/* B2A084 800B2EE4 AE0C0000 */ sw $t4, ($s0)
|
||||
.L800B2EE8:
|
||||
/* B2A088 800B2EE8 14820007 */ bne $a0, $v0, .L800B2F08
|
||||
/* B2A08C 800B2EEC 240D00FF */ li $t5, 255
|
||||
/* B2A090 800B2EF0 24020064 */ li $v0, 100
|
||||
/* B2A094 800B2EF4 A2020000 */ sb $v0, ($s0)
|
||||
/* B2A098 800B2EF8 A2020001 */ sb $v0, 1($s0)
|
||||
/* B2A09C 800B2EFC A2020002 */ sb $v0, 2($s0)
|
||||
/* B2A0A0 800B2F00 1000000B */ b .L800B2F30
|
||||
/* B2A0A4 800B2F04 A20D0003 */ sb $t5, 3($s0)
|
||||
.L800B2F08:
|
||||
/* B2A0A8 800B2F08 920F0017 */ lbu $t7, 0x17($s0)
|
||||
/* B2A0AC 800B2F0C 240E0028 */ li $t6, 40
|
||||
/* B2A0B0 800B2F10 AE0E0010 */ sw $t6, 0x10($s0)
|
||||
/* B2A0B4 800B2F14 146F0004 */ bne $v1, $t7, .L800B2F28
|
||||
/* B2A0B8 800B2F18 3C19A0A0 */ lui $t9, (0xA0A0A0FF >> 16) # lui $t9, 0xa0a0
|
||||
/* B2A0BC 800B2F1C 241800FF */ li $t8, 255
|
||||
/* B2A0C0 800B2F20 10000003 */ b .L800B2F30
|
||||
/* B2A0C4 800B2F24 AE180000 */ sw $t8, ($s0)
|
||||
.L800B2F28:
|
||||
/* B2A0C8 800B2F28 3739A0FF */ ori $t9, (0xA0A0A0FF & 0xFFFF) # ori $t9, $t9, 0xa0ff
|
||||
/* B2A0CC 800B2F2C AE190000 */ sw $t9, ($s0)
|
||||
.L800B2F30:
|
||||
/* B2A0D0 800B2F30 92080014 */ lbu $t0, 0x14($s0)
|
||||
/* B2A0D4 800B2F34 51000009 */ beql $t0, $zero, .L800B2F5C
|
||||
/* B2A0D8 800B2F38 920C0017 */ lbu $t4, 0x17($s0)
|
||||
/* B2A0DC 800B2F3C 92090015 */ lbu $t1, 0x15($s0)
|
||||
/* B2A0E0 800B2F40 24010003 */ li $at, 3
|
||||
/* B2A0E4 800B2F44 AE00000C */ sw $zero, 0xc($s0)
|
||||
/* B2A0E8 800B2F48 15210012 */ bne $t1, $at, .L800B2F94
|
||||
/* B2A0EC 800B2F4C 240A00FA */ li $t2, 250
|
||||
/* B2A0F0 800B2F50 10000010 */ b .L800B2F94
|
||||
/* B2A0F4 800B2F54 AE0A000C */ sw $t2, 0xc($s0)
|
||||
/* B2A0F8 800B2F58 920C0017 */ lbu $t4, 0x17($s0)
|
||||
.L800B2F5C:
|
||||
/* B2A0FC 800B2F5C 240B01F4 */ li $t3, 500
|
||||
/* B2A100 800B2F60 AE0B000C */ sw $t3, 0xc($s0)
|
||||
/* B2A104 800B2F64 148C000B */ bne $a0, $t4, .L800B2F94
|
||||
/* B2A108 800B2F68 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
|
||||
/* B2A10C 800B2F6C 3C0D8013 */ lui $t5, %hi(D_801333E8) # $t5, 0x8013
|
||||
/* B2A110 800B2F70 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
|
||||
/* B2A114 800B2F74 25AD33E8 */ addiu $t5, %lo(D_801333E8) # addiu $t5, $t5, 0x33e8
|
||||
/* B2A118 800B2F78 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
|
||||
/* B2A11C 800B2F7C 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
|
||||
/* B2A120 800B2F80 AFAD0014 */ sw $t5, 0x14($sp)
|
||||
/* B2A124 800B2F84 AFA70010 */ sw $a3, 0x10($sp)
|
||||
/* B2A128 800B2F88 24045804 */ li $a0, 22532
|
||||
/* B2A12C 800B2F8C 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
/* B2A130 800B2F90 24060004 */ li $a2, 4
|
||||
.L800B2F94:
|
||||
/* B2A134 800B2F94 3C014120 */ li $at, 0x41200000 # 0.000000
|
||||
/* B2A138 800B2F98 44812000 */ mtc1 $at, $f4
|
||||
/* B2A13C 800B2F9C 3C014648 */ li $at, 0x46480000 # 0.000000
|
||||
/* B2A140 800B2FA0 44813000 */ mtc1 $at, $f6
|
||||
/* B2A144 800B2FA4 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B2A148 800B2FA8 44814000 */ mtc1 $at, $f8
|
||||
/* B2A14C 800B2FAC 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa
|
||||
/* B2A150 800B2FB0 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab
|
||||
/* B2A154 800B2FB4 26040020 */ addiu $a0, $s0, 0x20
|
||||
/* B2A158 800B2FB8 2605001A */ addiu $a1, $s0, 0x1a
|
||||
/* B2A15C 800B2FBC 3C064270 */ li $a2, 0x42700000 # 0.000000
|
||||
/* B2A160 800B2FC0 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* B2A164 800B2FC4 E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* B2A168 800B2FC8 0C0404C0 */ jal guPerspective
|
||||
/* B2A16C 800B2FCC E7A80018 */ swc1 $f8, 0x18($sp)
|
||||
/* B2A170 800B2FD0 44800000 */ mtc1 $zero, $f0
|
||||
/* B2A174 800B2FD4 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B2A178 800B2FD8 44815000 */ mtc1 $at, $f10
|
||||
/* B2A17C 800B2FDC 44050000 */ mfc1 $a1, $f0
|
||||
/* B2A180 800B2FE0 44060000 */ mfc1 $a2, $f0
|
||||
/* B2A184 800B2FE4 26040060 */ addiu $a0, $s0, 0x60
|
||||
/* B2A188 800B2FE8 3C0743C8 */ lui $a3, 0x43c8
|
||||
/* B2A18C 800B2FEC E7A00010 */ swc1 $f0, 0x10($sp)
|
||||
/* B2A190 800B2FF0 E7A00014 */ swc1 $f0, 0x14($sp)
|
||||
/* B2A194 800B2FF4 E7A00018 */ swc1 $f0, 0x18($sp)
|
||||
/* B2A198 800B2FF8 E7A0001C */ swc1 $f0, 0x1c($sp)
|
||||
/* B2A19C 800B2FFC E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* B2A1A0 800B3000 0C04078D */ jal func_80101E34
|
||||
/* B2A1A4 800B3004 E7AA0020 */ swc1 $f10, 0x20($sp)
|
||||
/* B2A1A8 800B3008 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* B2A1AC 800B300C 8FB00030 */ lw $s0, 0x30($sp)
|
||||
/* B2A1B0 800B3010 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
/* B2A1B4 800B3014 03E00008 */ jr $ra
|
||||
/* B2A1B8 800B3018 00000000 */ nop
|
||||
|
||||
glabel func_800B301C
|
||||
/* B2A1BC 800B301C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B2A1C0 800B3020 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B2A1C4 800B3024 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B2A1C8 800B3028 0C001114 */ jal bzero
|
||||
/* B2A1CC 800B302C 24050228 */ li $a1, 552
|
||||
/* B2A1D0 800B3030 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B2A1D4 800B3034 8FA20018 */ lw $v0, 0x18($sp)
|
||||
/* B2A1D8 800B3038 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B2A1DC 800B303C 03E00008 */ jr $ra
|
||||
/* B2A1E0 800B3040 00000000 */ nop
|
||||
|
||||
glabel func_800B3044
|
||||
/* B2A1E4 800B3044 03E00008 */ jr $ra
|
||||
/* B2A1E8 800B3048 AFA40000 */ sw $a0, ($sp)
|
||||
|
||||
glabel func_800B304C
|
||||
/* B2A1EC 800B304C 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* B2A1F0 800B3050 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B2A1F4 800B3054 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* B2A1F8 800B3058 AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* B2A1FC 800B305C 908E0014 */ lbu $t6, 0x14($a0)
|
||||
/* B2A200 800B3060 00808025 */ move $s0, $a0
|
||||
/* B2A204 800B3064 51C00031 */ beql $t6, $zero, .L800B312C
|
||||
/* B2A208 800B3068 8E0F0010 */ lw $t7, 0x10($s0)
|
||||
/* B2A20C 800B306C 8E02000C */ lw $v0, 0xc($s0)
|
||||
/* B2A210 800B3070 54400012 */ bnezl $v0, .L800B30BC
|
||||
/* B2A214 800B3074 8E190010 */ lw $t9, 0x10($s0)
|
||||
/* B2A218 800B3078 920F0017 */ lbu $t7, 0x17($s0)
|
||||
/* B2A21C 800B307C 24010002 */ li $at, 2
|
||||
/* B2A220 800B3080 55E1000E */ bnel $t7, $at, .L800B30BC
|
||||
/* B2A224 800B3084 8E190010 */ lw $t9, 0x10($s0)
|
||||
/* B2A228 800B3088 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
|
||||
/* B2A22C 800B308C 3C188013 */ lui $t8, %hi(D_801333E8) # $t8, 0x8013
|
||||
/* B2A230 800B3090 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
|
||||
/* B2A234 800B3094 271833E8 */ addiu $t8, %lo(D_801333E8) # addiu $t8, $t8, 0x33e8
|
||||
/* B2A238 800B3098 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
|
||||
/* B2A23C 800B309C 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
|
||||
/* B2A240 800B30A0 AFB80014 */ sw $t8, 0x14($sp)
|
||||
/* B2A244 800B30A4 AFA70010 */ sw $a3, 0x10($sp)
|
||||
/* B2A248 800B30A8 24045803 */ li $a0, 22531
|
||||
/* B2A24C 800B30AC 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
/* B2A250 800B30B0 24060004 */ li $a2, 4
|
||||
/* B2A254 800B30B4 8E02000C */ lw $v0, 0xc($s0)
|
||||
/* B2A258 800B30B8 8E190010 */ lw $t9, 0x10($s0)
|
||||
.L800B30BC:
|
||||
/* B2A25C 800B30BC 24030003 */ li $v1, 3
|
||||
/* B2A260 800B30C0 8FA9002C */ lw $t1, 0x2c($sp)
|
||||
/* B2A264 800B30C4 03230019 */ multu $t9, $v1
|
||||
/* B2A268 800B30C8 240D01F4 */ li $t5, 500
|
||||
/* B2A26C 800B30CC 240E0001 */ li $t6, 1
|
||||
/* B2A270 800B30D0 00004012 */ mflo $t0
|
||||
/* B2A274 800B30D4 00000000 */ nop
|
||||
/* B2A278 800B30D8 00000000 */ nop
|
||||
/* B2A27C 800B30DC 0109001A */ div $zero, $t0, $t1
|
||||
/* B2A280 800B30E0 15200002 */ bnez $t1, .L800B30EC
|
||||
/* B2A284 800B30E4 00000000 */ nop
|
||||
/* B2A288 800B30E8 0007000D */ break 7
|
||||
.L800B30EC:
|
||||
/* B2A28C 800B30EC 2401FFFF */ li $at, -1
|
||||
/* B2A290 800B30F0 15210004 */ bne $t1, $at, .L800B3104
|
||||
/* B2A294 800B30F4 3C018000 */ lui $at, 0x8000
|
||||
/* B2A298 800B30F8 15010002 */ bne $t0, $at, .L800B3104
|
||||
/* B2A29C 800B30FC 00000000 */ nop
|
||||
/* B2A2A0 800B3100 0006000D */ break 6
|
||||
.L800B3104:
|
||||
/* B2A2A4 800B3104 00005012 */ mflo $t2
|
||||
/* B2A2A8 800B3108 004A5821 */ addu $t3, $v0, $t2
|
||||
/* B2A2AC 800B310C 296101F4 */ slti $at, $t3, 0x1f4
|
||||
/* B2A2B0 800B3110 AE0B000C */ sw $t3, 0xc($s0)
|
||||
/* B2A2B4 800B3114 14200029 */ bnez $at, .L800B31BC
|
||||
/* B2A2B8 800B3118 01606025 */ move $t4, $t3
|
||||
/* B2A2BC 800B311C AE0D000C */ sw $t5, 0xc($s0)
|
||||
/* B2A2C0 800B3120 10000026 */ b .L800B31BC
|
||||
/* B2A2C4 800B3124 A20E0018 */ sb $t6, 0x18($s0)
|
||||
/* B2A2C8 800B3128 8E0F0010 */ lw $t7, 0x10($s0)
|
||||
.L800B312C:
|
||||
/* B2A2CC 800B312C 24030003 */ li $v1, 3
|
||||
/* B2A2D0 800B3130 8FB9002C */ lw $t9, 0x2c($sp)
|
||||
/* B2A2D4 800B3134 01E30019 */ multu $t7, $v1
|
||||
/* B2A2D8 800B3138 8E09000C */ lw $t1, 0xc($s0)
|
||||
/* B2A2DC 800B313C 920B0015 */ lbu $t3, 0x15($s0)
|
||||
/* B2A2E0 800B3140 0000C012 */ mflo $t8
|
||||
/* B2A2E4 800B3144 00000000 */ nop
|
||||
/* B2A2E8 800B3148 00000000 */ nop
|
||||
/* B2A2EC 800B314C 0319001A */ div $zero, $t8, $t9
|
||||
/* B2A2F0 800B3150 00004012 */ mflo $t0
|
||||
/* B2A2F4 800B3154 01285023 */ subu $t2, $t1, $t0
|
||||
/* B2A2F8 800B3158 17200002 */ bnez $t9, .L800B3164
|
||||
/* B2A2FC 800B315C 00000000 */ nop
|
||||
/* B2A300 800B3160 0007000D */ break 7
|
||||
.L800B3164:
|
||||
/* B2A304 800B3164 2401FFFF */ li $at, -1
|
||||
/* B2A308 800B3168 17210004 */ bne $t9, $at, .L800B317C
|
||||
/* B2A30C 800B316C 3C018000 */ lui $at, 0x8000
|
||||
/* B2A310 800B3170 17010002 */ bne $t8, $at, .L800B317C
|
||||
/* B2A314 800B3174 00000000 */ nop
|
||||
/* B2A318 800B3178 0006000D */ break 6
|
||||
.L800B317C:
|
||||
/* B2A31C 800B317C AE0A000C */ sw $t2, 0xc($s0)
|
||||
/* B2A320 800B3180 506B0007 */ beql $v1, $t3, .L800B31A0
|
||||
/* B2A324 800B3184 8E0E000C */ lw $t6, 0xc($s0)
|
||||
/* B2A328 800B3188 1D40000C */ bgtz $t2, .L800B31BC
|
||||
/* B2A32C 800B318C 240D0001 */ li $t5, 1
|
||||
/* B2A330 800B3190 AE00000C */ sw $zero, 0xc($s0)
|
||||
/* B2A334 800B3194 10000009 */ b .L800B31BC
|
||||
/* B2A338 800B3198 A20D0018 */ sb $t5, 0x18($s0)
|
||||
/* B2A33C 800B319C 8E0E000C */ lw $t6, 0xc($s0)
|
||||
.L800B31A0:
|
||||
/* B2A340 800B31A0 240F00FA */ li $t7, 250
|
||||
/* B2A344 800B31A4 24180001 */ li $t8, 1
|
||||
/* B2A348 800B31A8 29C100FB */ slti $at, $t6, 0xfb
|
||||
/* B2A34C 800B31AC 50200004 */ beql $at, $zero, .L800B31C0
|
||||
/* B2A350 800B31B0 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B2A354 800B31B4 AE0F000C */ sw $t7, 0xc($s0)
|
||||
/* B2A358 800B31B8 A2180018 */ sb $t8, 0x18($s0)
|
||||
.L800B31BC:
|
||||
/* B2A35C 800B31BC 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L800B31C0:
|
||||
/* B2A360 800B31C0 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* B2A364 800B31C4 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* B2A368 800B31C8 03E00008 */ jr $ra
|
||||
/* B2A36C 800B31CC 00000000 */ nop
|
||||
|
||||
glabel func_800B31D0
|
||||
/* B2A370 800B31D0 27BDFF80 */ addiu $sp, $sp, -0x80
|
||||
/* B2A374 800B31D4 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B2A378 800B31D8 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* B2A37C 800B31DC AFA50084 */ sw $a1, 0x84($sp)
|
||||
/* B2A380 800B31E0 8CAF0000 */ lw $t7, ($a1)
|
||||
/* B2A384 800B31E4 3C0CE700 */ lui $t4, 0xe700
|
||||
/* B2A388 800B31E8 00808025 */ move $s0, $a0
|
||||
/* B2A38C 800B31EC AFAF007C */ sw $t7, 0x7c($sp)
|
||||
/* B2A390 800B31F0 90820019 */ lbu $v0, 0x19($a0)
|
||||
/* B2A394 800B31F4 240D0040 */ li $t5, 64
|
||||
/* B2A398 800B31F8 24070010 */ li $a3, 16
|
||||
/* B2A39C 800B31FC 0002C080 */ sll $t8, $v0, 2
|
||||
/* B2A3A0 800B3200 0302C023 */ subu $t8, $t8, $v0
|
||||
/* B2A3A4 800B3204 0018C180 */ sll $t8, $t8, 6
|
||||
/* B2A3A8 800B3208 0098C821 */ addu $t9, $a0, $t8
|
||||
/* B2A3AC 800B320C 272800A8 */ addiu $t0, $t9, 0xa8
|
||||
/* B2A3B0 800B3210 AFA80078 */ sw $t0, 0x78($sp)
|
||||
/* B2A3B4 800B3214 38490001 */ xori $t1, $v0, 1
|
||||
/* B2A3B8 800B3218 A0890019 */ sb $t1, 0x19($a0)
|
||||
/* B2A3BC 800B321C 8FAA007C */ lw $t2, 0x7c($sp)
|
||||
/* B2A3C0 800B3220 27A4007C */ addiu $a0, $sp, 0x7c
|
||||
/* B2A3C4 800B3224 254B0008 */ addiu $t3, $t2, 8
|
||||
/* B2A3C8 800B3228 AFAB007C */ sw $t3, 0x7c($sp)
|
||||
/* B2A3CC 800B322C AD400004 */ sw $zero, 4($t2)
|
||||
/* B2A3D0 800B3230 AD4C0000 */ sw $t4, ($t2)
|
||||
/* B2A3D4 800B3234 8E06000C */ lw $a2, 0xc($s0)
|
||||
/* B2A3D8 800B3238 8E050008 */ lw $a1, 8($s0)
|
||||
/* B2A3DC 800B323C 0C02536E */ jal func_80094DB8
|
||||
/* B2A3E0 800B3240 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* B2A3E4 800B3244 8FAE007C */ lw $t6, 0x7c($sp)
|
||||
/* B2A3E8 800B3248 3C18DB06 */ lui $t8, (0xDB060024 >> 16) # lui $t8, 0xdb06
|
||||
/* B2A3EC 800B324C 37180024 */ ori $t8, (0xDB060024 & 0xFFFF) # ori $t8, $t8, 0x24
|
||||
/* B2A3F0 800B3250 25CF0008 */ addiu $t7, $t6, 8
|
||||
/* B2A3F4 800B3254 AFAF007C */ sw $t7, 0x7c($sp)
|
||||
/* B2A3F8 800B3258 ADC20004 */ sw $v0, 4($t6)
|
||||
/* B2A3FC 800B325C ADD80000 */ sw $t8, ($t6)
|
||||
/* B2A400 800B3260 8FB9007C */ lw $t9, 0x7c($sp)
|
||||
/* B2A404 800B3264 3C09DB06 */ lui $t1, (0xDB060020 >> 16) # lui $t1, 0xdb06
|
||||
/* B2A408 800B3268 35290020 */ ori $t1, (0xDB060020 & 0xFFFF) # ori $t1, $t1, 0x20
|
||||
/* B2A40C 800B326C 27280008 */ addiu $t0, $t9, 8
|
||||
/* B2A410 800B3270 AFA8007C */ sw $t0, 0x7c($sp)
|
||||
/* B2A414 800B3274 AF290000 */ sw $t1, ($t9)
|
||||
/* B2A418 800B3278 8E0A00A0 */ lw $t2, 0xa0($s0)
|
||||
/* B2A41C 800B327C 3C0DFA00 */ lui $t5, 0xfa00
|
||||
/* B2A420 800B3280 3C018014 */ lui $at, %hi(D_801430B0)
|
||||
/* B2A424 800B3284 AF2A0004 */ sw $t2, 4($t9)
|
||||
/* B2A428 800B3288 8FAB007C */ lw $t3, 0x7c($sp)
|
||||
/* B2A42C 800B328C 3C19FB00 */ lui $t9, 0xfb00
|
||||
/* B2A430 800B3290 256C0008 */ addiu $t4, $t3, 8
|
||||
/* B2A434 800B3294 AFAC007C */ sw $t4, 0x7c($sp)
|
||||
/* B2A438 800B3298 AD6D0000 */ sw $t5, ($t3)
|
||||
/* B2A43C 800B329C 8E0E0000 */ lw $t6, ($s0)
|
||||
/* B2A440 800B32A0 260C0020 */ addiu $t4, $s0, 0x20
|
||||
/* B2A444 800B32A4 AD6E0004 */ sw $t6, 4($t3)
|
||||
/* B2A448 800B32A8 8FAF007C */ lw $t7, 0x7c($sp)
|
||||
/* B2A44C 800B32AC 3C0BDA38 */ lui $t3, (0xDA380007 >> 16) # lui $t3, 0xda38
|
||||
/* B2A450 800B32B0 356B0007 */ ori $t3, (0xDA380007 & 0xFFFF) # ori $t3, $t3, 7
|
||||
/* B2A454 800B32B4 25F80008 */ addiu $t8, $t7, 8
|
||||
/* B2A458 800B32B8 AFB8007C */ sw $t8, 0x7c($sp)
|
||||
/* B2A45C 800B32BC ADF90000 */ sw $t9, ($t7)
|
||||
/* B2A460 800B32C0 8E080000 */ lw $t0, ($s0)
|
||||
/* B2A464 800B32C4 ADE80004 */ sw $t0, 4($t7)
|
||||
/* B2A468 800B32C8 8FA9007C */ lw $t1, 0x7c($sp)
|
||||
/* B2A46C 800B32CC 3C0FDB0E */ lui $t7, 0xdb0e
|
||||
/* B2A470 800B32D0 252A0008 */ addiu $t2, $t1, 8
|
||||
/* B2A474 800B32D4 AFAA007C */ sw $t2, 0x7c($sp)
|
||||
/* B2A478 800B32D8 AD2C0004 */ sw $t4, 4($t1)
|
||||
/* B2A47C 800B32DC AD2B0000 */ sw $t3, ($t1)
|
||||
/* B2A480 800B32E0 8FAD007C */ lw $t5, 0x7c($sp)
|
||||
/* B2A484 800B32E4 3C09DA38 */ li $t1, 0xDA380000 # 0.000000
|
||||
/* B2A488 800B32E8 35290005 */ ori $t1, (0xDA380005 & 0xFFFF) # ori $t1, $t1, 5
|
||||
/* B2A48C 800B32EC 25AE0008 */ addiu $t6, $t5, 8
|
||||
/* B2A490 800B32F0 AFAE007C */ sw $t6, 0x7c($sp)
|
||||
/* B2A494 800B32F4 ADAF0000 */ sw $t7, ($t5)
|
||||
/* B2A498 800B32F8 9618001A */ lhu $t8, 0x1a($s0)
|
||||
/* B2A49C 800B32FC 260A0060 */ addiu $t2, $s0, 0x60
|
||||
/* B2A4A0 800B3300 ADB80004 */ sw $t8, 4($t5)
|
||||
/* B2A4A4 800B3304 8FB9007C */ lw $t9, 0x7c($sp)
|
||||
/* B2A4A8 800B3308 27280008 */ addiu $t0, $t9, 8
|
||||
/* B2A4AC 800B330C AFA8007C */ sw $t0, 0x7c($sp)
|
||||
/* B2A4B0 800B3310 AF2A0004 */ sw $t2, 4($t9)
|
||||
/* B2A4B4 800B3314 AF290000 */ sw $t1, ($t9)
|
||||
/* B2A4B8 800B3318 C42030B0 */ lwc1 $f0, %lo(D_801430B0)($at)
|
||||
/* B2A4BC 800B331C 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B2A4C0 800B3320 44811000 */ mtc1 $at, $f2
|
||||
/* B2A4C4 800B3324 00000000 */ nop
|
||||
/* B2A4C8 800B3328 46020032 */ c.eq.s $f0, $f2
|
||||
/* B2A4CC 800B332C 00000000 */ nop
|
||||
/* B2A4D0 800B3330 45030011 */ bc1tl .L800B3378
|
||||
/* B2A4D4 800B3334 44800000 */ mtc1 $zero, $f0
|
||||
/* B2A4D8 800B3338 44050000 */ mfc1 $a1, $f0
|
||||
/* B2A4DC 800B333C 44060000 */ mfc1 $a2, $f0
|
||||
/* B2A4E0 800B3340 44071000 */ mfc1 $a3, $f2
|
||||
/* B2A4E4 800B3344 0C040078 */ jal func_801001E0
|
||||
/* B2A4E8 800B3348 8FA40078 */ lw $a0, 0x78($sp)
|
||||
/* B2A4EC 800B334C 8FAB007C */ lw $t3, 0x7c($sp)
|
||||
/* B2A4F0 800B3350 3C0DDA38 */ li $t5, 0xDA380000 # 0.000000
|
||||
/* B2A4F4 800B3354 35AD0003 */ ori $t5, (0xDA380003 & 0xFFFF) # ori $t5, $t5, 3
|
||||
/* B2A4F8 800B3358 256C0008 */ addiu $t4, $t3, 8
|
||||
/* B2A4FC 800B335C AFAC007C */ sw $t4, 0x7c($sp)
|
||||
/* B2A500 800B3360 AD6D0000 */ sw $t5, ($t3)
|
||||
/* B2A504 800B3364 8FAE0078 */ lw $t6, 0x78($sp)
|
||||
/* B2A508 800B3368 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B2A50C 800B336C 44811000 */ mtc1 $at, $f2
|
||||
/* B2A510 800B3370 AD6E0004 */ sw $t6, 4($t3)
|
||||
/* B2A514 800B3374 44800000 */ mtc1 $zero, $f0
|
||||
.L800B3378:
|
||||
/* B2A518 800B3378 8FB00078 */ lw $s0, 0x78($sp)
|
||||
/* B2A51C 800B337C 46000032 */ c.eq.s $f0, $f0
|
||||
/* B2A520 800B3380 26100040 */ addiu $s0, $s0, 0x40
|
||||
/* B2A524 800B3384 02002025 */ move $a0, $s0
|
||||
/* B2A528 800B3388 4503000F */ bc1tl .L800B33C8
|
||||
/* B2A52C 800B338C 46000032 */ c.eq.s $f0, $f0
|
||||
/* B2A530 800B3390 44050000 */ mfc1 $a1, $f0
|
||||
/* B2A534 800B3394 44060000 */ mfc1 $a2, $f0
|
||||
/* B2A538 800B3398 44070000 */ mfc1 $a3, $f0
|
||||
/* B2A53C 800B339C 0C040FE9 */ jal func_80103FA4
|
||||
/* B2A540 800B33A0 E7A20010 */ swc1 $f2, 0x10($sp)
|
||||
/* B2A544 800B33A4 8FAF007C */ lw $t7, 0x7c($sp)
|
||||
/* B2A548 800B33A8 3C19DA38 */ li $t9, 0xDA380000 # 0.000000
|
||||
/* B2A54C 800B33AC 37390001 */ ori $t9, (0xDA380001 & 0xFFFF) # ori $t9, $t9, 1
|
||||
/* B2A550 800B33B0 25F80008 */ addiu $t8, $t7, 8
|
||||
/* B2A554 800B33B4 AFB8007C */ sw $t8, 0x7c($sp)
|
||||
/* B2A558 800B33B8 44800000 */ mtc1 $zero, $f0
|
||||
/* B2A55C 800B33BC ADF00004 */ sw $s0, 4($t7)
|
||||
/* B2A560 800B33C0 ADF90000 */ sw $t9, ($t7)
|
||||
/* B2A564 800B33C4 46000032 */ c.eq.s $f0, $f0
|
||||
.L800B33C8:
|
||||
/* B2A568 800B33C8 8FB00078 */ lw $s0, 0x78($sp)
|
||||
/* B2A56C 800B33CC 45000005 */ bc1f .L800B33E4
|
||||
/* B2A570 800B33D0 26100080 */ addiu $s0, $s0, 0x80
|
||||
/* B2A574 800B33D4 46000032 */ c.eq.s $f0, $f0
|
||||
/* B2A578 800B33D8 00000000 */ nop
|
||||
/* B2A57C 800B33DC 4503000E */ bc1tl .L800B3418
|
||||
/* B2A580 800B33E0 8FAB007C */ lw $t3, 0x7c($sp)
|
||||
.L800B33E4:
|
||||
/* B2A584 800B33E4 44050000 */ mfc1 $a1, $f0
|
||||
/* B2A588 800B33E8 44060000 */ mfc1 $a2, $f0
|
||||
/* B2A58C 800B33EC 44070000 */ mfc1 $a3, $f0
|
||||
/* B2A590 800B33F0 0C041708 */ jal func_80105C20
|
||||
/* B2A594 800B33F4 02002025 */ move $a0, $s0
|
||||
/* B2A598 800B33F8 8FA8007C */ lw $t0, 0x7c($sp)
|
||||
/* B2A59C 800B33FC 3C0ADA38 */ lui $t2, (0xDA380001 >> 16) # lui $t2, 0xda38
|
||||
/* B2A5A0 800B3400 354A0001 */ ori $t2, (0xDA380001 & 0xFFFF) # ori $t2, $t2, 1
|
||||
/* B2A5A4 800B3404 25090008 */ addiu $t1, $t0, 8
|
||||
/* B2A5A8 800B3408 AFA9007C */ sw $t1, 0x7c($sp)
|
||||
/* B2A5AC 800B340C AD100004 */ sw $s0, 4($t0)
|
||||
/* B2A5B0 800B3410 AD0A0000 */ sw $t2, ($t0)
|
||||
/* B2A5B4 800B3414 8FAB007C */ lw $t3, 0x7c($sp)
|
||||
.L800B3418:
|
||||
/* B2A5B8 800B3418 3C0E8013 */ lui $t6, %hi(D_8012CDC8) # $t6, 0x8013
|
||||
/* B2A5BC 800B341C 25CECDC8 */ addiu $t6, %lo(D_8012CDC8) # addiu $t6, $t6, -0x3238
|
||||
/* B2A5C0 800B3420 256C0008 */ addiu $t4, $t3, 8
|
||||
/* B2A5C4 800B3424 AFAC007C */ sw $t4, 0x7c($sp)
|
||||
/* B2A5C8 800B3428 3C0DDE00 */ lui $t5, 0xde00
|
||||
/* B2A5CC 800B342C AD6D0000 */ sw $t5, ($t3)
|
||||
/* B2A5D0 800B3430 AD6E0004 */ sw $t6, 4($t3)
|
||||
/* B2A5D4 800B3434 8FAF007C */ lw $t7, 0x7c($sp)
|
||||
/* B2A5D8 800B3438 3C19E700 */ lui $t9, 0xe700
|
||||
/* B2A5DC 800B343C 25F80008 */ addiu $t8, $t7, 8
|
||||
/* B2A5E0 800B3440 AFB8007C */ sw $t8, 0x7c($sp)
|
||||
/* B2A5E4 800B3444 ADE00004 */ sw $zero, 4($t7)
|
||||
/* B2A5E8 800B3448 ADF90000 */ sw $t9, ($t7)
|
||||
/* B2A5EC 800B344C 8FA90084 */ lw $t1, 0x84($sp)
|
||||
/* B2A5F0 800B3450 8FA8007C */ lw $t0, 0x7c($sp)
|
||||
/* B2A5F4 800B3454 AD280000 */ sw $t0, ($t1)
|
||||
/* B2A5F8 800B3458 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B2A5FC 800B345C 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* B2A600 800B3460 27BD0080 */ addiu $sp, $sp, 0x80
|
||||
/* B2A604 800B3464 03E00008 */ jr $ra
|
||||
/* B2A608 800B3468 00000000 */ nop
|
||||
|
||||
glabel func_800B346C
|
||||
/* B2A60C 800B346C 03E00008 */ jr $ra
|
||||
/* B2A610 800B3470 90820018 */ lbu $v0, 0x18($a0)
|
||||
|
||||
glabel func_800B3474
|
||||
/* B2A614 800B3474 30AE0080 */ andi $t6, $a1, 0x80
|
||||
/* B2A618 800B3478 11C0000D */ beqz $t6, .L800B34B0
|
||||
/* B2A61C 800B347C 24010001 */ li $at, 1
|
||||
/* B2A620 800B3480 00057943 */ sra $t7, $a1, 5
|
||||
/* B2A624 800B3484 0005C8C3 */ sra $t9, $a1, 3
|
||||
/* B2A628 800B3488 00055043 */ sra $t2, $a1, 1
|
||||
/* B2A62C 800B348C 31F80001 */ andi $t8, $t7, 1
|
||||
/* B2A630 800B3490 33280003 */ andi $t0, $t9, 3
|
||||
/* B2A634 800B3494 30A90001 */ andi $t1, $a1, 1
|
||||
/* B2A638 800B3498 314B0003 */ andi $t3, $t2, 3
|
||||
/* B2A63C 800B349C A0980014 */ sb $t8, 0x14($a0)
|
||||
/* B2A640 800B34A0 A0880015 */ sb $t0, 0x15($a0)
|
||||
/* B2A644 800B34A4 A0890016 */ sb $t1, 0x16($a0)
|
||||
/* B2A648 800B34A8 03E00008 */ jr $ra
|
||||
/* B2A64C 800B34AC A08B0017 */ sb $t3, 0x17($a0)
|
||||
|
||||
.L800B34B0:
|
||||
/* B2A650 800B34B0 14A10003 */ bne $a1, $at, .L800B34C0
|
||||
/* B2A654 800B34B4 240C0001 */ li $t4, 1
|
||||
/* B2A658 800B34B8 03E00008 */ jr $ra
|
||||
/* B2A65C 800B34BC A08C0014 */ sb $t4, 0x14($a0)
|
||||
|
||||
.L800B34C0:
|
||||
/* B2A660 800B34C0 A0800014 */ sb $zero, 0x14($a0)
|
||||
/* B2A664 800B34C4 03E00008 */ jr $ra
|
||||
/* B2A668 800B34C8 00000000 */ nop
|
||||
|
||||
glabel func_800B34CC
|
||||
/* B2A66C 800B34CC 03E00008 */ jr $ra
|
||||
/* B2A670 800B34D0 AC850000 */ sw $a1, ($a0)
|
||||
|
||||
glabel func_800B34D4
|
||||
/* B2A674 800B34D4 03E00008 */ jr $ra
|
||||
/* B2A678 800B34D8 AC850004 */ sw $a1, 4($a0)
|
||||
@@ -0,0 +1,263 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800B34E0
|
||||
/* B2A680 800B34E0 90820000 */ lbu $v0, ($a0)
|
||||
/* B2A684 800B34E4 24010001 */ li $at, 1
|
||||
/* B2A688 800B34E8 10400011 */ beqz $v0, .L800B3530
|
||||
/* B2A68C 800B34EC 00000000 */ nop
|
||||
/* B2A690 800B34F0 10410005 */ beq $v0, $at, .L800B3508
|
||||
/* B2A694 800B34F4 24010002 */ li $at, 2
|
||||
/* B2A698 800B34F8 5041000D */ beql $v0, $at, .L800B3530
|
||||
/* B2A69C 800B34FC A0800007 */ sb $zero, 7($a0)
|
||||
/* B2A6A0 800B3500 1000000B */ b .L800B3530
|
||||
/* B2A6A4 800B3504 00000000 */ nop
|
||||
.L800B3508:
|
||||
/* B2A6A8 800B3508 908E0002 */ lbu $t6, 2($a0)
|
||||
/* B2A6AC 800B350C A4800008 */ sh $zero, 8($a0)
|
||||
/* B2A6B0 800B3510 240F00FF */ li $t7, 255
|
||||
/* B2A6B4 800B3514 11C00003 */ beqz $t6, .L800B3524
|
||||
/* B2A6B8 800B3518 00000000 */ nop
|
||||
/* B2A6BC 800B351C 10000004 */ b .L800B3530
|
||||
/* B2A6C0 800B3520 A08F0007 */ sb $t7, 7($a0)
|
||||
.L800B3524:
|
||||
/* B2A6C4 800B3524 10000002 */ b .L800B3530
|
||||
/* B2A6C8 800B3528 A0800007 */ sb $zero, 7($a0)
|
||||
/* B2A6CC 800B352C A0800007 */ sb $zero, 7($a0)
|
||||
.L800B3530:
|
||||
/* B2A6D0 800B3530 03E00008 */ jr $ra
|
||||
/* B2A6D4 800B3534 A0800001 */ sb $zero, 1($a0)
|
||||
|
||||
glabel func_800B3538
|
||||
/* B2A6D8 800B3538 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B2A6DC 800B353C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B2A6E0 800B3540 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B2A6E4 800B3544 0C001114 */ jal bzero
|
||||
/* B2A6E8 800B3548 2405000C */ li $a1, 12
|
||||
/* B2A6EC 800B354C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B2A6F0 800B3550 8FA20018 */ lw $v0, 0x18($sp)
|
||||
/* B2A6F4 800B3554 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B2A6F8 800B3558 03E00008 */ jr $ra
|
||||
/* B2A6FC 800B355C 00000000 */ nop
|
||||
|
||||
glabel func_800B3560
|
||||
/* B2A700 800B3560 03E00008 */ jr $ra
|
||||
/* B2A704 800B3564 AFA40000 */ sw $a0, ($sp)
|
||||
|
||||
glabel func_800B3568
|
||||
/* B2A708 800B3568 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* B2A70C 800B356C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B2A710 800B3570 90820000 */ lbu $v0, ($a0)
|
||||
/* B2A714 800B3574 00803825 */ move $a3, $a0
|
||||
/* B2A718 800B3578 24010001 */ li $at, 1
|
||||
/* B2A71C 800B357C 50400063 */ beql $v0, $zero, .L800B370C
|
||||
/* B2A720 800B3580 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B2A724 800B3584 10410005 */ beq $v0, $at, .L800B359C
|
||||
/* B2A728 800B3588 24010002 */ li $at, 2
|
||||
/* B2A72C 800B358C 50410037 */ beql $v0, $at, .L800B366C
|
||||
/* B2A730 800B3590 90ED0007 */ lbu $t5, 7($a3)
|
||||
/* B2A734 800B3594 1000005D */ b .L800B370C
|
||||
/* B2A738 800B3598 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800B359C:
|
||||
/* B2A73C 800B359C 94EE0008 */ lhu $t6, 8($a3)
|
||||
/* B2A740 800B35A0 3C028016 */ lui $v0, %hi(gSaveContext+0x1418) # $v0, 0x8016
|
||||
/* B2A744 800B35A4 3C048014 */ lui $a0, %hi(D_801430C0) # $a0, 0x8014
|
||||
/* B2A748 800B35A8 01C57821 */ addu $t7, $t6, $a1
|
||||
/* B2A74C 800B35AC A4EF0008 */ sh $t7, 8($a3)
|
||||
/* B2A750 800B35B0 9042FA78 */ lbu $v0, %lo(gSaveContext+0x1418)($v0)
|
||||
/* B2A754 800B35B4 31F8FFFF */ andi $t8, $t7, 0xffff
|
||||
/* B2A758 800B35B8 24190001 */ li $t9, 1
|
||||
/* B2A75C 800B35BC 0302082A */ slt $at, $t8, $v0
|
||||
/* B2A760 800B35C0 14200005 */ bnez $at, .L800B35D8
|
||||
/* B2A764 800B35C4 248430C0 */ addiu $a0, %lo(D_801430C0) # addiu $a0, $a0, 0x30c0
|
||||
/* B2A768 800B35C8 A4E20008 */ sh $v0, 8($a3)
|
||||
/* B2A76C 800B35CC 3C028016 */ lui $v0, %hi(gSaveContext+0x1418) # $v0, 0x8016
|
||||
/* B2A770 800B35D0 A0F90001 */ sb $t9, 1($a3)
|
||||
/* B2A774 800B35D4 9042FA78 */ lbu $v0, %lo(gSaveContext+0x1418)($v0)
|
||||
.L800B35D8:
|
||||
/* B2A778 800B35D8 54400007 */ bnezl $v0, .L800B35F8
|
||||
/* B2A77C 800B35DC 94E80008 */ lhu $t0, 8($a3)
|
||||
/* B2A780 800B35E0 0C00084C */ jal osSyncPrintf
|
||||
/* B2A784 800B35E4 AFA70030 */ sw $a3, 0x30($sp)
|
||||
/* B2A788 800B35E8 3C028016 */ lui $v0, %hi(gSaveContext+0x1418) # $v0, 0x8016
|
||||
/* B2A78C 800B35EC 9042FA78 */ lbu $v0, %lo(gSaveContext+0x1418)($v0)
|
||||
/* B2A790 800B35F0 8FA70030 */ lw $a3, 0x30($sp)
|
||||
/* B2A794 800B35F4 94E80008 */ lhu $t0, 8($a3)
|
||||
.L800B35F8:
|
||||
/* B2A798 800B35F8 3C01437F */ li $at, 0x437F0000 # 0.000000
|
||||
/* B2A79C 800B35FC 44812000 */ mtc1 $at, $f4
|
||||
/* B2A7A0 800B3600 44883000 */ mtc1 $t0, $f6
|
||||
/* B2A7A4 800B3604 44829000 */ mtc1 $v0, $f18
|
||||
/* B2A7A8 800B3608 05010005 */ bgez $t0, .L800B3620
|
||||
/* B2A7AC 800B360C 46803220 */ cvt.s.w $f8, $f6
|
||||
/* B2A7B0 800B3610 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
||||
/* B2A7B4 800B3614 44815000 */ mtc1 $at, $f10
|
||||
/* B2A7B8 800B3618 00000000 */ nop
|
||||
/* B2A7BC 800B361C 460A4200 */ add.s $f8, $f8, $f10
|
||||
.L800B3620:
|
||||
/* B2A7C0 800B3620 46082402 */ mul.s $f16, $f4, $f8
|
||||
/* B2A7C4 800B3624 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
||||
/* B2A7C8 800B3628 240B00FF */ li $t3, 255
|
||||
/* B2A7CC 800B362C 04410004 */ bgez $v0, .L800B3640
|
||||
/* B2A7D0 800B3630 468091A0 */ cvt.s.w $f6, $f18
|
||||
/* B2A7D4 800B3634 44815000 */ mtc1 $at, $f10
|
||||
/* B2A7D8 800B3638 00000000 */ nop
|
||||
/* B2A7DC 800B363C 460A3180 */ add.s $f6, $f6, $f10
|
||||
.L800B3640:
|
||||
/* B2A7E0 800B3640 46068103 */ div.s $f4, $f16, $f6
|
||||
/* B2A7E4 800B3644 90EA0002 */ lbu $t2, 2($a3)
|
||||
/* B2A7E8 800B3648 4600220D */ trunc.w.s $f8, $f4
|
||||
/* B2A7EC 800B364C 44034000 */ mfc1 $v1, $f8
|
||||
/* B2A7F0 800B3650 11400003 */ beqz $t2, .L800B3660
|
||||
/* B2A7F4 800B3654 01636023 */ subu $t4, $t3, $v1
|
||||
/* B2A7F8 800B3658 1000002B */ b .L800B3708
|
||||
/* B2A7FC 800B365C A0EC0007 */ sb $t4, 7($a3)
|
||||
.L800B3660:
|
||||
/* B2A800 800B3660 10000029 */ b .L800B3708
|
||||
/* B2A804 800B3664 A0E30007 */ sb $v1, 7($a3)
|
||||
/* B2A808 800B3668 90ED0007 */ lbu $t5, 7($a3)
|
||||
.L800B366C:
|
||||
/* B2A80C 800B366C 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
|
||||
/* B2A810 800B3670 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0)
|
||||
/* B2A814 800B3674 A7AD002A */ sh $t5, 0x2a($sp)
|
||||
/* B2A818 800B3678 84430D38 */ lh $v1, 0xd38($v0)
|
||||
/* B2A81C 800B367C 50600021 */ beql $v1, $zero, .L800B3704
|
||||
/* B2A820 800B3680 87A9002A */ lh $t1, 0x2a($sp)
|
||||
/* B2A824 800B3684 0461000D */ bgez $v1, .L800B36BC
|
||||
/* B2A828 800B3688 24440D38 */ addiu $a0, $v0, 0xd38
|
||||
/* B2A82C 800B368C 27A4002A */ addiu $a0, $sp, 0x2a
|
||||
/* B2A830 800B3690 240500FF */ li $a1, 255
|
||||
/* B2A834 800B3694 240600FF */ li $a2, 255
|
||||
/* B2A838 800B3698 0C01DE5F */ jal Math_ApproxS
|
||||
/* B2A83C 800B369C AFA70030 */ sw $a3, 0x30($sp)
|
||||
/* B2A840 800B36A0 10400017 */ beqz $v0, .L800B3700
|
||||
/* B2A844 800B36A4 8FA70030 */ lw $a3, 0x30($sp)
|
||||
/* B2A848 800B36A8 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
|
||||
/* B2A84C 800B36AC 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
|
||||
/* B2A850 800B36B0 240E0096 */ li $t6, 150
|
||||
/* B2A854 800B36B4 10000012 */ b .L800B3700
|
||||
/* B2A858 800B36B8 A5EE0D38 */ sh $t6, 0xd38($t7)
|
||||
.L800B36BC:
|
||||
/* B2A85C 800B36BC 24050014 */ li $a1, 20
|
||||
/* B2A860 800B36C0 2406003C */ li $a2, 60
|
||||
/* B2A864 800B36C4 0C01DE5F */ jal Math_ApproxS
|
||||
/* B2A868 800B36C8 AFA70030 */ sw $a3, 0x30($sp)
|
||||
/* B2A86C 800B36CC 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
|
||||
/* B2A870 800B36D0 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
|
||||
/* B2A874 800B36D4 27A4002A */ addiu $a0, $sp, 0x2a
|
||||
/* B2A878 800B36D8 00002825 */ move $a1, $zero
|
||||
/* B2A87C 800B36DC 0C01DE5F */ jal Math_ApproxS
|
||||
/* B2A880 800B36E0 87060D38 */ lh $a2, 0xd38($t8)
|
||||
/* B2A884 800B36E4 10400006 */ beqz $v0, .L800B3700
|
||||
/* B2A888 800B36E8 8FA70030 */ lw $a3, 0x30($sp)
|
||||
/* B2A88C 800B36EC 3C198016 */ lui $t9, %hi(gGameInfo) # $t9, 0x8016
|
||||
/* B2A890 800B36F0 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
|
||||
/* B2A894 800B36F4 24080001 */ li $t0, 1
|
||||
/* B2A898 800B36F8 A7200D38 */ sh $zero, 0xd38($t9)
|
||||
/* B2A89C 800B36FC A0E80001 */ sb $t0, 1($a3)
|
||||
.L800B3700:
|
||||
/* B2A8A0 800B3700 87A9002A */ lh $t1, 0x2a($sp)
|
||||
.L800B3704:
|
||||
/* B2A8A4 800B3704 A0E90007 */ sb $t1, 7($a3)
|
||||
.L800B3708:
|
||||
/* B2A8A8 800B3708 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800B370C:
|
||||
/* B2A8AC 800B370C 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
/* B2A8B0 800B3710 03E00008 */ jr $ra
|
||||
/* B2A8B4 800B3714 00000000 */ nop
|
||||
|
||||
glabel func_800B3718
|
||||
/* B2A8B8 800B3718 908E0007 */ lbu $t6, 7($a0)
|
||||
/* B2A8BC 800B371C 3C188013 */ lui $t8, %hi(D_8012CEA0) # $t8, 0x8013
|
||||
/* B2A8C0 800B3720 2718CEA0 */ addiu $t8, %lo(D_8012CEA0) # addiu $t8, $t8, -0x3160
|
||||
/* B2A8C4 800B3724 19C0002B */ blez $t6, .L800B37D4
|
||||
/* B2A8C8 800B3728 3C0FDE00 */ lui $t7, 0xde00
|
||||
/* B2A8CC 800B372C 8CA20000 */ lw $v0, ($a1)
|
||||
/* B2A8D0 800B3730 3C19FA00 */ lui $t9, 0xfa00
|
||||
/* B2A8D4 800B3734 3C01F600 */ lui $at, 0xf600
|
||||
/* B2A8D8 800B3738 24460008 */ addiu $a2, $v0, 8
|
||||
/* B2A8DC 800B373C AC4F0000 */ sw $t7, ($v0)
|
||||
/* B2A8E0 800B3740 AC580004 */ sw $t8, 4($v0)
|
||||
/* B2A8E4 800B3744 ACD90000 */ sw $t9, ($a2)
|
||||
/* B2A8E8 800B3748 24820004 */ addiu $v0, $a0, 4
|
||||
/* B2A8EC 800B374C 90490000 */ lbu $t1, ($v0)
|
||||
/* B2A8F0 800B3750 904C0001 */ lbu $t4, 1($v0)
|
||||
/* B2A8F4 800B3754 90580002 */ lbu $t8, 2($v0)
|
||||
/* B2A8F8 800B3758 904B0003 */ lbu $t3, 3($v0)
|
||||
/* B2A8FC 800B375C 00095600 */ sll $t2, $t1, 0x18
|
||||
/* B2A900 800B3760 000C6C00 */ sll $t5, $t4, 0x10
|
||||
/* B2A904 800B3764 014D7025 */ or $t6, $t2, $t5
|
||||
/* B2A908 800B3768 0018CA00 */ sll $t9, $t8, 8
|
||||
/* B2A90C 800B376C 01D94025 */ or $t0, $t6, $t9
|
||||
/* B2A910 800B3770 010B6025 */ or $t4, $t0, $t3
|
||||
/* B2A914 800B3774 ACCC0004 */ sw $t4, 4($a2)
|
||||
/* B2A918 800B3778 3C0A8013 */ lui $t2, %hi(gScreenWidth) # $t2, 0x8013
|
||||
/* B2A91C 800B377C 8D4AD270 */ lw $t2, %lo(gScreenWidth)($t2)
|
||||
/* B2A920 800B3780 3C198013 */ lui $t9, %hi(gScreenHeight) # $t9, 0x8013
|
||||
/* B2A924 800B3784 8F39D274 */ lw $t9, %lo(gScreenHeight)($t9)
|
||||
/* B2A928 800B3788 254DFFFF */ addiu $t5, $t2, -1
|
||||
/* B2A92C 800B378C 24C30008 */ addiu $v1, $a2, 8
|
||||
/* B2A930 800B3790 31AF03FF */ andi $t7, $t5, 0x3ff
|
||||
/* B2A934 800B3794 2729FFFF */ addiu $t1, $t9, -1
|
||||
/* B2A938 800B3798 312803FF */ andi $t0, $t1, 0x3ff
|
||||
/* B2A93C 800B379C 000FC380 */ sll $t8, $t7, 0xe
|
||||
/* B2A940 800B37A0 00601025 */ move $v0, $v1
|
||||
/* B2A944 800B37A4 03017025 */ or $t6, $t8, $at
|
||||
/* B2A948 800B37A8 00085880 */ sll $t3, $t0, 2
|
||||
/* B2A94C 800B37AC 01CB6025 */ or $t4, $t6, $t3
|
||||
/* B2A950 800B37B0 AC4C0000 */ sw $t4, ($v0)
|
||||
/* B2A954 800B37B4 AC400004 */ sw $zero, 4($v0)
|
||||
/* B2A958 800B37B8 24630008 */ addiu $v1, $v1, 8
|
||||
/* B2A95C 800B37BC 00601025 */ move $v0, $v1
|
||||
/* B2A960 800B37C0 3C0AE700 */ lui $t2, 0xe700
|
||||
/* B2A964 800B37C4 AC4A0000 */ sw $t2, ($v0)
|
||||
/* B2A968 800B37C8 AC400004 */ sw $zero, 4($v0)
|
||||
/* B2A96C 800B37CC 24630008 */ addiu $v1, $v1, 8
|
||||
/* B2A970 800B37D0 ACA30000 */ sw $v1, ($a1)
|
||||
.L800B37D4:
|
||||
/* B2A974 800B37D4 03E00008 */ jr $ra
|
||||
/* B2A978 800B37D8 00000000 */ nop
|
||||
|
||||
glabel func_800B37DC
|
||||
/* B2A97C 800B37DC 03E00008 */ jr $ra
|
||||
/* B2A980 800B37E0 90820001 */ lbu $v0, 1($a0)
|
||||
|
||||
glabel func_800B37E4
|
||||
/* B2A984 800B37E4 03E00008 */ jr $ra
|
||||
/* B2A988 800B37E8 AC850004 */ sw $a1, 4($a0)
|
||||
|
||||
glabel func_800B37EC
|
||||
/* B2A98C 800B37EC 24010001 */ li $at, 1
|
||||
/* B2A990 800B37F0 14A10004 */ bne $a1, $at, .L800B3804
|
||||
/* B2A994 800B37F4 24020001 */ li $v0, 1
|
||||
/* B2A998 800B37F8 A0820000 */ sb $v0, ($a0)
|
||||
/* B2A99C 800B37FC 03E00008 */ jr $ra
|
||||
/* B2A9A0 800B3800 A0820002 */ sb $v0, 2($a0)
|
||||
|
||||
.L800B3804:
|
||||
/* B2A9A4 800B3804 24010002 */ li $at, 2
|
||||
/* B2A9A8 800B3808 14A10004 */ bne $a1, $at, .L800B381C
|
||||
/* B2A9AC 800B380C 24020001 */ li $v0, 1
|
||||
/* B2A9B0 800B3810 A0820000 */ sb $v0, ($a0)
|
||||
/* B2A9B4 800B3814 03E00008 */ jr $ra
|
||||
/* B2A9B8 800B3818 A0800002 */ sb $zero, 2($a0)
|
||||
|
||||
.L800B381C:
|
||||
/* B2A9BC 800B381C 24010003 */ li $at, 3
|
||||
/* B2A9C0 800B3820 14A10003 */ bne $a1, $at, .L800B3830
|
||||
/* B2A9C4 800B3824 240E0002 */ li $t6, 2
|
||||
/* B2A9C8 800B3828 03E00008 */ jr $ra
|
||||
/* B2A9CC 800B382C A08E0000 */ sb $t6, ($a0)
|
||||
|
||||
.L800B3830:
|
||||
/* B2A9D0 800B3830 A0800000 */ sb $zero, ($a0)
|
||||
/* B2A9D4 800B3834 03E00008 */ jr $ra
|
||||
/* B2A9D8 800B3838 00000000 */ nop
|
||||
@@ -0,0 +1,335 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800BB0A0
|
||||
/* B32240 800BB0A0 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B32244 800BB0A4 44818000 */ mtc1 $at, $f16
|
||||
/* B32248 800BB0A8 27BDFFF0 */ addiu $sp, $sp, -0x10
|
||||
/* B3224C 800BB0AC AFA60018 */ sw $a2, 0x18($sp)
|
||||
/* B32250 800BB0B0 460C803C */ c.lt.s $f16, $f12
|
||||
/* B32254 800BB0B4 00000000 */ nop
|
||||
/* B32258 800BB0B8 45020003 */ bc1fl .L800BB0C8
|
||||
/* B3225C 800BB0BC 460C8001 */ sub.s $f0, $f16, $f12
|
||||
/* B32260 800BB0C0 46008306 */ mov.s $f12, $f16
|
||||
/* B32264 800BB0C4 460C8001 */ sub.s $f0, $f16, $f12
|
||||
.L800BB0C8:
|
||||
/* B32268 800BB0C8 3C0140C0 */ li $at, 0x40C00000 # 0.000000
|
||||
/* B3226C 800BB0CC 44819000 */ mtc1 $at, $f18
|
||||
/* B32270 800BB0D0 3C013F00 */ li $at, 0x3F000000 # 0.000000
|
||||
/* B32274 800BB0D4 46000102 */ mul.s $f4, $f0, $f0
|
||||
/* B32278 800BB0D8 44815000 */ mtc1 $at, $f10
|
||||
/* B3227C 800BB0DC 3C018014 */ lui $at, %hi(D_80143CE0)
|
||||
/* B32280 800BB0E0 8FA30020 */ lw $v1, 0x20($sp)
|
||||
/* B32284 800BB0E4 8FA40024 */ lw $a0, 0x24($sp)
|
||||
/* B32288 800BB0E8 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* B3228C 800BB0EC 8FA2002C */ lw $v0, 0x2c($sp)
|
||||
/* B32290 800BB0F0 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* B32294 800BB0F4 00000000 */ nop
|
||||
/* B32298 800BB0F8 460C6082 */ mul.s $f2, $f12, $f12
|
||||
/* B3229C 800BB0FC 46123203 */ div.s $f8, $f6, $f18
|
||||
/* B322A0 800BB100 460C1382 */ mul.s $f14, $f2, $f12
|
||||
/* B322A4 800BB104 00000000 */ nop
|
||||
/* B322A8 800BB108 460A7102 */ mul.s $f4, $f14, $f10
|
||||
/* B322AC 800BB10C C42A3CE0 */ lwc1 $f10, %lo(D_80143CE0)($at)
|
||||
/* B322B0 800BB110 3C013F00 */ li $at, 0x3F000000 # 0.000000
|
||||
/* B322B4 800BB114 E7A80000 */ swc1 $f8, ($sp)
|
||||
/* B322B8 800BB118 46022181 */ sub.s $f6, $f4, $f2
|
||||
/* B322BC 800BB11C 460A3100 */ add.s $f4, $f6, $f10
|
||||
/* B322C0 800BB120 46006187 */ neg.s $f6, $f12
|
||||
/* B322C4 800BB124 E7A40004 */ swc1 $f4, 4($sp)
|
||||
/* B322C8 800BB128 460C3282 */ mul.s $f10, $f6, $f12
|
||||
/* B322CC 800BB12C 00000000 */ nop
|
||||
/* B322D0 800BB130 460C5182 */ mul.s $f6, $f10, $f12
|
||||
/* B322D4 800BB134 44815000 */ mtc1 $at, $f10
|
||||
/* B322D8 800BB138 00000000 */ nop
|
||||
/* B322DC 800BB13C 460A3182 */ mul.s $f6, $f6, $f10
|
||||
/* B322E0 800BB140 44815000 */ mtc1 $at, $f10
|
||||
/* B322E4 800BB144 00000000 */ nop
|
||||
/* B322E8 800BB148 460A1282 */ mul.s $f10, $f2, $f10
|
||||
/* B322EC 800BB14C 460A3180 */ add.s $f6, $f6, $f10
|
||||
/* B322F0 800BB150 44815000 */ mtc1 $at, $f10
|
||||
/* B322F4 800BB154 3C018014 */ lui $at, %hi(D_80143CE4)
|
||||
/* B322F8 800BB158 460A6282 */ mul.s $f10, $f12, $f10
|
||||
/* B322FC 800BB15C 460A3180 */ add.s $f6, $f6, $f10
|
||||
/* B32300 800BB160 C42A3CE4 */ lwc1 $f10, %lo(D_80143CE4)($at)
|
||||
/* B32304 800BB164 460A3180 */ add.s $f6, $f6, $f10
|
||||
/* B32308 800BB168 46127283 */ div.s $f10, $f14, $f18
|
||||
/* B3230C 800BB16C E7A60008 */ swc1 $f6, 8($sp)
|
||||
/* B32310 800BB170 E7AA000C */ swc1 $f10, 0xc($sp)
|
||||
/* B32314 800BB174 C46A0000 */ lwc1 $f10, ($v1)
|
||||
/* B32318 800BB178 460A4202 */ mul.s $f8, $f8, $f10
|
||||
/* B3231C 800BB17C C48A0000 */ lwc1 $f10, ($a0)
|
||||
/* B32320 800BB180 460A2102 */ mul.s $f4, $f4, $f10
|
||||
/* B32324 800BB184 46044280 */ add.s $f10, $f8, $f4
|
||||
/* B32328 800BB188 C4C80000 */ lwc1 $f8, ($a2)
|
||||
/* B3232C 800BB18C 46083102 */ mul.s $f4, $f6, $f8
|
||||
/* B32330 800BB190 C4480000 */ lwc1 $f8, ($v0)
|
||||
/* B32334 800BB194 46045180 */ add.s $f6, $f10, $f4
|
||||
/* B32338 800BB198 C7AA000C */ lwc1 $f10, 0xc($sp)
|
||||
/* B3233C 800BB19C 460A4102 */ mul.s $f4, $f8, $f10
|
||||
/* B32340 800BB1A0 46062200 */ add.s $f8, $f4, $f6
|
||||
/* B32344 800BB1A4 E4A80000 */ swc1 $f8, ($a1)
|
||||
/* B32348 800BB1A8 C7AA0000 */ lwc1 $f10, ($sp)
|
||||
/* B3234C 800BB1AC C4640004 */ lwc1 $f4, 4($v1)
|
||||
/* B32350 800BB1B0 C7A80004 */ lwc1 $f8, 4($sp)
|
||||
/* B32354 800BB1B4 46045182 */ mul.s $f6, $f10, $f4
|
||||
/* B32358 800BB1B8 C48A0004 */ lwc1 $f10, 4($a0)
|
||||
/* B3235C 800BB1BC 460A4102 */ mul.s $f4, $f8, $f10
|
||||
/* B32360 800BB1C0 C7AA0008 */ lwc1 $f10, 8($sp)
|
||||
/* B32364 800BB1C4 46043200 */ add.s $f8, $f6, $f4
|
||||
/* B32368 800BB1C8 C4C60004 */ lwc1 $f6, 4($a2)
|
||||
/* B3236C 800BB1CC 46065102 */ mul.s $f4, $f10, $f6
|
||||
/* B32370 800BB1D0 C4460004 */ lwc1 $f6, 4($v0)
|
||||
/* B32374 800BB1D4 46044280 */ add.s $f10, $f8, $f4
|
||||
/* B32378 800BB1D8 C7A8000C */ lwc1 $f8, 0xc($sp)
|
||||
/* B3237C 800BB1DC 46083102 */ mul.s $f4, $f6, $f8
|
||||
/* B32380 800BB1E0 460A2180 */ add.s $f6, $f4, $f10
|
||||
/* B32384 800BB1E4 E4A60004 */ swc1 $f6, 4($a1)
|
||||
/* B32388 800BB1E8 C7A80000 */ lwc1 $f8, ($sp)
|
||||
/* B3238C 800BB1EC C4640008 */ lwc1 $f4, 8($v1)
|
||||
/* B32390 800BB1F0 C7A60004 */ lwc1 $f6, 4($sp)
|
||||
/* B32394 800BB1F4 46044282 */ mul.s $f10, $f8, $f4
|
||||
/* B32398 800BB1F8 C4880008 */ lwc1 $f8, 8($a0)
|
||||
/* B3239C 800BB1FC 46083102 */ mul.s $f4, $f6, $f8
|
||||
/* B323A0 800BB200 C7A80008 */ lwc1 $f8, 8($sp)
|
||||
/* B323A4 800BB204 46045180 */ add.s $f6, $f10, $f4
|
||||
/* B323A8 800BB208 C4CA0008 */ lwc1 $f10, 8($a2)
|
||||
/* B323AC 800BB20C 460A4102 */ mul.s $f4, $f8, $f10
|
||||
/* B323B0 800BB210 C44A0008 */ lwc1 $f10, 8($v0)
|
||||
/* B323B4 800BB214 46043200 */ add.s $f8, $f6, $f4
|
||||
/* B323B8 800BB218 C7A6000C */ lwc1 $f6, 0xc($sp)
|
||||
/* B323BC 800BB21C 46065102 */ mul.s $f4, $f10, $f6
|
||||
/* B323C0 800BB220 46082280 */ add.s $f10, $f4, $f8
|
||||
/* B323C4 800BB224 E4AA0008 */ swc1 $f10, 8($a1)
|
||||
/* B323C8 800BB228 C7A60000 */ lwc1 $f6, ($sp)
|
||||
/* B323CC 800BB22C C464000C */ lwc1 $f4, 0xc($v1)
|
||||
/* B323D0 800BB230 C7AA0004 */ lwc1 $f10, 4($sp)
|
||||
/* B323D4 800BB234 8FAE0018 */ lw $t6, 0x18($sp)
|
||||
/* B323D8 800BB238 46043202 */ mul.s $f8, $f6, $f4
|
||||
/* B323DC 800BB23C C486000C */ lwc1 $f6, 0xc($a0)
|
||||
/* B323E0 800BB240 46065102 */ mul.s $f4, $f10, $f6
|
||||
/* B323E4 800BB244 C7A60008 */ lwc1 $f6, 8($sp)
|
||||
/* B323E8 800BB248 46044280 */ add.s $f10, $f8, $f4
|
||||
/* B323EC 800BB24C C4C8000C */ lwc1 $f8, 0xc($a2)
|
||||
/* B323F0 800BB250 46083102 */ mul.s $f4, $f6, $f8
|
||||
/* B323F4 800BB254 C448000C */ lwc1 $f8, 0xc($v0)
|
||||
/* B323F8 800BB258 46045180 */ add.s $f6, $f10, $f4
|
||||
/* B323FC 800BB25C C7AA000C */ lwc1 $f10, 0xc($sp)
|
||||
/* B32400 800BB260 460A4102 */ mul.s $f4, $f8, $f10
|
||||
/* B32404 800BB264 46062200 */ add.s $f8, $f4, $f6
|
||||
/* B32408 800BB268 E5C80000 */ swc1 $f8, ($t6)
|
||||
/* B3240C 800BB26C C7AA0000 */ lwc1 $f10, ($sp)
|
||||
/* B32410 800BB270 C4640010 */ lwc1 $f4, 0x10($v1)
|
||||
/* B32414 800BB274 C7A80004 */ lwc1 $f8, 4($sp)
|
||||
/* B32418 800BB278 46045182 */ mul.s $f6, $f10, $f4
|
||||
/* B3241C 800BB27C C48A0010 */ lwc1 $f10, 0x10($a0)
|
||||
/* B32420 800BB280 460A4102 */ mul.s $f4, $f8, $f10
|
||||
/* B32424 800BB284 C7AA0008 */ lwc1 $f10, 8($sp)
|
||||
/* B32428 800BB288 46043200 */ add.s $f8, $f6, $f4
|
||||
/* B3242C 800BB28C C4C60010 */ lwc1 $f6, 0x10($a2)
|
||||
/* B32430 800BB290 46065102 */ mul.s $f4, $f10, $f6
|
||||
/* B32434 800BB294 C4460010 */ lwc1 $f6, 0x10($v0)
|
||||
/* B32438 800BB298 46044280 */ add.s $f10, $f8, $f4
|
||||
/* B3243C 800BB29C C7A8000C */ lwc1 $f8, 0xc($sp)
|
||||
/* B32440 800BB2A0 27BD0010 */ addiu $sp, $sp, 0x10
|
||||
/* B32444 800BB2A4 46083102 */ mul.s $f4, $f6, $f8
|
||||
/* B32448 800BB2A8 460A2180 */ add.s $f6, $f4, $f10
|
||||
/* B3244C 800BB2AC 03E00008 */ jr $ra
|
||||
/* B32450 800BB2B0 E4E60000 */ swc1 $f6, ($a3)
|
||||
|
||||
glabel func_800BB2B4
|
||||
/* B32454 800BB2B4 27BDFF60 */ addiu $sp, $sp, -0xa0
|
||||
/* B32458 800BB2B8 8FAF00B0 */ lw $t7, 0xb0($sp)
|
||||
/* B3245C 800BB2BC AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B32460 800BB2C0 AFA400A0 */ sw $a0, 0xa0($sp)
|
||||
/* B32464 800BB2C4 AFA500A4 */ sw $a1, 0xa4($sp)
|
||||
/* B32468 800BB2C8 AFA600A8 */ sw $a2, 0xa8($sp)
|
||||
/* B3246C 800BB2CC AFA700AC */ sw $a3, 0xac($sp)
|
||||
/* B32470 800BB2D0 44809000 */ mtc1 $zero, $f18
|
||||
/* B32474 800BB2D4 85E80000 */ lh $t0, ($t7)
|
||||
/* B32478 800BB2D8 8FAE00B4 */ lw $t6, 0xb4($sp)
|
||||
/* B3247C 800BB2DC 00005025 */ move $t2, $zero
|
||||
/* B32480 800BB2E0 46009386 */ mov.s $f14, $f18
|
||||
/* B32484 800BB2E4 46009406 */ mov.s $f16, $f18
|
||||
/* B32488 800BB2E8 05010002 */ bgez $t0, .L800BB2F4
|
||||
/* B3248C 800BB2EC C5CC0000 */ lwc1 $f12, ($t6)
|
||||
/* B32490 800BB2F0 46009306 */ mov.s $f12, $f18
|
||||
.L800BB2F4:
|
||||
/* B32494 800BB2F4 8FB800AC */ lw $t8, 0xac($sp)
|
||||
/* B32498 800BB2F8 0008C900 */ sll $t9, $t0, 4
|
||||
/* B3249C 800BB2FC 2409FFFF */ li $t1, -1
|
||||
/* B324A0 800BB300 03191021 */ addu $v0, $t8, $t9
|
||||
/* B324A4 800BB304 804B0000 */ lb $t3, ($v0)
|
||||
/* B324A8 800BB308 112B0009 */ beq $t1, $t3, .L800BB330
|
||||
/* B324AC 800BB30C 00000000 */ nop
|
||||
/* B324B0 800BB310 804C0010 */ lb $t4, 0x10($v0)
|
||||
/* B324B4 800BB314 112C0006 */ beq $t1, $t4, .L800BB330
|
||||
/* B324B8 800BB318 00000000 */ nop
|
||||
/* B324BC 800BB31C 804D0020 */ lb $t5, 0x20($v0)
|
||||
/* B324C0 800BB320 27A2004C */ addiu $v0, $sp, 0x4c
|
||||
/* B324C4 800BB324 00002025 */ move $a0, $zero
|
||||
/* B324C8 800BB328 152D0003 */ bne $t1, $t5, .L800BB338
|
||||
/* B324CC 800BB32C 8FAE00AC */ lw $t6, 0xac($sp)
|
||||
.L800BB330:
|
||||
/* B324D0 800BB330 1000008B */ b .L800BB560
|
||||
/* B324D4 800BB334 24020001 */ li $v0, 1
|
||||
.L800BB338:
|
||||
/* B324D8 800BB338 00087900 */ sll $t7, $t0, 4
|
||||
/* B324DC 800BB33C 01CF1821 */ addu $v1, $t6, $t7
|
||||
/* B324E0 800BB340 24050040 */ li $a1, 64
|
||||
/* B324E4 800BB344 24840010 */ addiu $a0, $a0, 0x10
|
||||
/* B324E8 800BB348 1085001A */ beq $a0, $a1, .L800BB3B4
|
||||
/* B324EC 800BB34C 84780008 */ lh $t8, 8($v1)
|
||||
.L800BB350:
|
||||
/* B324F0 800BB350 44989000 */ mtc1 $t8, $f18
|
||||
/* B324F4 800BB354 24840010 */ addiu $a0, $a0, 0x10
|
||||
/* B324F8 800BB358 24420014 */ addiu $v0, $v0, 0x14
|
||||
/* B324FC 800BB35C 468094A0 */ cvt.s.w $f18, $f18
|
||||
/* B32500 800BB360 24630010 */ addiu $v1, $v1, 0x10
|
||||
/* B32504 800BB364 E452FFEC */ swc1 $f18, -0x14($v0)
|
||||
/* B32508 800BB368 8479FFFA */ lh $t9, -6($v1)
|
||||
/* B3250C 800BB36C 44999000 */ mtc1 $t9, $f18
|
||||
/* B32510 800BB370 00000000 */ nop
|
||||
/* B32514 800BB374 468094A0 */ cvt.s.w $f18, $f18
|
||||
/* B32518 800BB378 E452FFF0 */ swc1 $f18, -0x10($v0)
|
||||
/* B3251C 800BB37C 846BFFFC */ lh $t3, -4($v1)
|
||||
/* B32520 800BB380 448B9000 */ mtc1 $t3, $f18
|
||||
/* B32524 800BB384 00000000 */ nop
|
||||
/* B32528 800BB388 468094A0 */ cvt.s.w $f18, $f18
|
||||
/* B3252C 800BB38C E452FFF4 */ swc1 $f18, -0xc($v0)
|
||||
/* B32530 800BB390 806CFFF1 */ lb $t4, -0xf($v1)
|
||||
/* B32534 800BB394 448C9000 */ mtc1 $t4, $f18
|
||||
/* B32538 800BB398 00000000 */ nop
|
||||
/* B3253C 800BB39C 468094A0 */ cvt.s.w $f18, $f18
|
||||
/* B32540 800BB3A0 E452FFF8 */ swc1 $f18, -8($v0)
|
||||
/* B32544 800BB3A4 C472FFF4 */ lwc1 $f18, -0xc($v1)
|
||||
/* B32548 800BB3A8 E452FFFC */ swc1 $f18, -4($v0)
|
||||
/* B3254C 800BB3AC 1485FFE8 */ bne $a0, $a1, .L800BB350
|
||||
/* B32550 800BB3B0 84780008 */ lh $t8, 8($v1)
|
||||
.L800BB3B4:
|
||||
/* B32554 800BB3B4 44989000 */ mtc1 $t8, $f18
|
||||
/* B32558 800BB3B8 24420014 */ addiu $v0, $v0, 0x14
|
||||
/* B3255C 800BB3BC 24630010 */ addiu $v1, $v1, 0x10
|
||||
/* B32560 800BB3C0 468094A0 */ cvt.s.w $f18, $f18
|
||||
/* B32564 800BB3C4 E452FFEC */ swc1 $f18, -0x14($v0)
|
||||
/* B32568 800BB3C8 8479FFFA */ lh $t9, -6($v1)
|
||||
/* B3256C 800BB3CC 44999000 */ mtc1 $t9, $f18
|
||||
/* B32570 800BB3D0 00000000 */ nop
|
||||
/* B32574 800BB3D4 468094A0 */ cvt.s.w $f18, $f18
|
||||
/* B32578 800BB3D8 E452FFF0 */ swc1 $f18, -0x10($v0)
|
||||
/* B3257C 800BB3DC 846BFFFC */ lh $t3, -4($v1)
|
||||
/* B32580 800BB3E0 448B9000 */ mtc1 $t3, $f18
|
||||
/* B32584 800BB3E4 00000000 */ nop
|
||||
/* B32588 800BB3E8 468094A0 */ cvt.s.w $f18, $f18
|
||||
/* B3258C 800BB3EC E452FFF4 */ swc1 $f18, -0xc($v0)
|
||||
/* B32590 800BB3F0 806CFFF1 */ lb $t4, -0xf($v1)
|
||||
/* B32594 800BB3F4 448C9000 */ mtc1 $t4, $f18
|
||||
/* B32598 800BB3F8 00000000 */ nop
|
||||
/* B3259C 800BB3FC 468094A0 */ cvt.s.w $f18, $f18
|
||||
/* B325A0 800BB400 E452FFF8 */ swc1 $f18, -8($v0)
|
||||
/* B325A4 800BB404 C472FFF4 */ lwc1 $f18, -0xc($v1)
|
||||
/* B325A8 800BB408 E452FFFC */ swc1 $f18, -4($v0)
|
||||
/* B325AC 800BB40C 27AD004C */ addiu $t5, $sp, 0x4c
|
||||
/* B325B0 800BB410 27AE0060 */ addiu $t6, $sp, 0x60
|
||||
/* B325B4 800BB414 27AF0074 */ addiu $t7, $sp, 0x74
|
||||
/* B325B8 800BB418 27B80088 */ addiu $t8, $sp, 0x88
|
||||
/* B325BC 800BB41C AFB8001C */ sw $t8, 0x1c($sp)
|
||||
/* B325C0 800BB420 AFAF0018 */ sw $t7, 0x18($sp)
|
||||
/* B325C4 800BB424 AFAE0014 */ sw $t6, 0x14($sp)
|
||||
/* B325C8 800BB428 AFAD0010 */ sw $t5, 0x10($sp)
|
||||
/* B325CC 800BB42C 8FA500A0 */ lw $a1, 0xa0($sp)
|
||||
/* B325D0 800BB430 8FA600A4 */ lw $a2, 0xa4($sp)
|
||||
/* B325D4 800BB434 8FA700A8 */ lw $a3, 0xa8($sp)
|
||||
/* B325D8 800BB438 AFAA009C */ sw $t2, 0x9c($sp)
|
||||
/* B325DC 800BB43C E7AE003C */ swc1 $f14, 0x3c($sp)
|
||||
/* B325E0 800BB440 0C02EC28 */ jal func_800BB0A0
|
||||
/* B325E4 800BB444 E7B00038 */ swc1 $f16, 0x38($sp)
|
||||
/* B325E8 800BB448 8FA500B0 */ lw $a1, 0xb0($sp)
|
||||
/* B325EC 800BB44C 8FA600AC */ lw $a2, 0xac($sp)
|
||||
/* B325F0 800BB450 44809000 */ mtc1 $zero, $f18
|
||||
/* B325F4 800BB454 84B90000 */ lh $t9, ($a1)
|
||||
/* B325F8 800BB458 8FA400B4 */ lw $a0, 0xb4($sp)
|
||||
/* B325FC 800BB45C 2409FFFF */ li $t1, -1
|
||||
/* B32600 800BB460 00195900 */ sll $t3, $t9, 4
|
||||
/* B32604 800BB464 00CB1021 */ addu $v0, $a2, $t3
|
||||
/* B32608 800BB468 94430012 */ lhu $v1, 0x12($v0)
|
||||
/* B3260C 800BB46C 8FAA009C */ lw $t2, 0x9c($sp)
|
||||
/* B32610 800BB470 C7AE003C */ lwc1 $f14, 0x3c($sp)
|
||||
/* B32614 800BB474 1060000B */ beqz $v1, .L800BB4A4
|
||||
/* B32618 800BB478 C7B00038 */ lwc1 $f16, 0x38($sp)
|
||||
/* B3261C 800BB47C 44834000 */ mtc1 $v1, $f8
|
||||
/* B32620 800BB480 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B32624 800BB484 44813000 */ mtc1 $at, $f6
|
||||
/* B32628 800BB488 04610005 */ bgez $v1, .L800BB4A0
|
||||
/* B3262C 800BB48C 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* B32630 800BB490 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
||||
/* B32634 800BB494 44812000 */ mtc1 $at, $f4
|
||||
/* B32638 800BB498 00000000 */ nop
|
||||
/* B3263C 800BB49C 46045280 */ add.s $f10, $f10, $f4
|
||||
.L800BB4A0:
|
||||
/* B32640 800BB4A0 460A3383 */ div.s $f14, $f6, $f10
|
||||
.L800BB4A4:
|
||||
/* B32644 800BB4A4 94430022 */ lhu $v1, 0x22($v0)
|
||||
/* B32648 800BB4A8 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B3264C 800BB4AC 5060000B */ beql $v1, $zero, .L800BB4DC
|
||||
/* B32650 800BB4B0 460E8101 */ sub.s $f4, $f16, $f14
|
||||
/* B32654 800BB4B4 44832000 */ mtc1 $v1, $f4
|
||||
/* B32658 800BB4B8 44814000 */ mtc1 $at, $f8
|
||||
/* B3265C 800BB4BC 04610005 */ bgez $v1, .L800BB4D4
|
||||
/* B32660 800BB4C0 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* B32664 800BB4C4 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
||||
/* B32668 800BB4C8 44815000 */ mtc1 $at, $f10
|
||||
/* B3266C 800BB4CC 00000000 */ nop
|
||||
/* B32670 800BB4D0 460A3180 */ add.s $f6, $f6, $f10
|
||||
.L800BB4D4:
|
||||
/* B32674 800BB4D4 46064403 */ div.s $f16, $f8, $f6
|
||||
/* B32678 800BB4D8 460E8101 */ sub.s $f4, $f16, $f14
|
||||
.L800BB4DC:
|
||||
/* B3267C 800BB4DC C4820000 */ lwc1 $f2, ($a0)
|
||||
/* B32680 800BB4E0 46041282 */ mul.s $f10, $f2, $f4
|
||||
/* B32684 800BB4E4 460E5000 */ add.s $f0, $f10, $f14
|
||||
/* B32688 800BB4E8 4612003C */ c.lt.s $f0, $f18
|
||||
/* B3268C 800BB4EC 00000000 */ nop
|
||||
/* B32690 800BB4F0 45020004 */ bc1fl .L800BB504
|
||||
/* B32694 800BB4F4 46001200 */ add.s $f8, $f2, $f0
|
||||
/* B32698 800BB4F8 44800000 */ mtc1 $zero, $f0
|
||||
/* B3269C 800BB4FC 00000000 */ nop
|
||||
/* B326A0 800BB500 46001200 */ add.s $f8, $f2, $f0
|
||||
.L800BB504:
|
||||
/* B326A4 800BB504 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B326A8 800BB508 44816000 */ mtc1 $at, $f12
|
||||
/* B326AC 800BB50C E4880000 */ swc1 $f8, ($a0)
|
||||
/* B326B0 800BB510 C4860000 */ lwc1 $f6, ($a0)
|
||||
/* B326B4 800BB514 4606603E */ c.le.s $f12, $f6
|
||||
/* B326B8 800BB518 00000000 */ nop
|
||||
/* B326BC 800BB51C 45020010 */ bc1fl .L800BB560
|
||||
/* B326C0 800BB520 01401025 */ move $v0, $t2
|
||||
/* B326C4 800BB524 84AC0000 */ lh $t4, ($a1)
|
||||
/* B326C8 800BB528 258D0001 */ addiu $t5, $t4, 1
|
||||
/* B326CC 800BB52C A4AD0000 */ sh $t5, ($a1)
|
||||
/* B326D0 800BB530 84AE0000 */ lh $t6, ($a1)
|
||||
/* B326D4 800BB534 000E7900 */ sll $t7, $t6, 4
|
||||
/* B326D8 800BB538 00CFC021 */ addu $t8, $a2, $t7
|
||||
/* B326DC 800BB53C 83190030 */ lb $t9, 0x30($t8)
|
||||
/* B326E0 800BB540 55390004 */ bnel $t1, $t9, .L800BB554
|
||||
/* B326E4 800BB544 C4840000 */ lwc1 $f4, ($a0)
|
||||
/* B326E8 800BB548 A4A00000 */ sh $zero, ($a1)
|
||||
/* B326EC 800BB54C 240A0001 */ li $t2, 1
|
||||
/* B326F0 800BB550 C4840000 */ lwc1 $f4, ($a0)
|
||||
.L800BB554:
|
||||
/* B326F4 800BB554 460C2281 */ sub.s $f10, $f4, $f12
|
||||
/* B326F8 800BB558 E48A0000 */ swc1 $f10, ($a0)
|
||||
/* B326FC 800BB55C 01401025 */ move $v0, $t2
|
||||
.L800BB560:
|
||||
/* B32700 800BB560 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B32704 800BB564 27BD00A0 */ addiu $sp, $sp, 0xa0
|
||||
/* B32708 800BB568 03E00008 */ jr $ra
|
||||
/* B3270C 800BB56C 00000000 */ nop
|
||||
@@ -0,0 +1,501 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800BB570
|
||||
/* B32710 800BB570 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* B32714 800BB574 AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* B32718 800BB578 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B3271C 800BB57C 3C048016 */ lui $a0, %hi(gPadMgr) # $a0, 0x8016
|
||||
/* B32720 800BB580 AFA0001C */ sw $zero, 0x1c($sp)
|
||||
/* B32724 800BB584 0C031C94 */ jal PadMgr_LockGetControllerQueue
|
||||
/* B32728 800BB588 248468C0 */ addiu $a0, %lo(gPadMgr) # addiu $a0, $a0, 0x68c0
|
||||
/* B3272C 800BB58C 3C058016 */ lui $a1, %hi(D_801612F0) # $a1, 0x8016
|
||||
/* B32730 800BB590 AFA20024 */ sw $v0, 0x24($sp)
|
||||
/* B32734 800BB594 24A512F0 */ addiu $a1, %lo(D_801612F0) # addiu $a1, $a1, 0x12f0
|
||||
/* B32738 800BB598 00402025 */ move $a0, $v0
|
||||
/* B3273C 800BB59C 0C0413D0 */ jal func_80104F40
|
||||
/* B32740 800BB5A0 8FA60028 */ lw $a2, 0x28($sp)
|
||||
/* B32744 800BB5A4 14400003 */ bnez $v0, .L800BB5B4
|
||||
/* B32748 800BB5A8 3C048016 */ lui $a0, %hi(D_801612F0) # $a0, 0x8016
|
||||
/* B3274C 800BB5AC 240E0001 */ li $t6, 1
|
||||
/* B32750 800BB5B0 AFAE001C */ sw $t6, 0x1c($sp)
|
||||
.L800BB5B4:
|
||||
/* B32754 800BB5B4 3C058016 */ lui $a1, %hi(D_80161358) # $a1, 0x8016
|
||||
/* B32758 800BB5B8 24A51358 */ addiu $a1, %lo(D_80161358) # addiu $a1, $a1, 0x1358
|
||||
/* B3275C 800BB5BC 0C040010 */ jal func_80100040
|
||||
/* B32760 800BB5C0 248412F0 */ addiu $a0, %lo(D_801612F0) # addiu $a0, $a0, 0x12f0
|
||||
/* B32764 800BB5C4 3C048016 */ lui $a0, %hi(gPadMgr) # $a0, 0x8016
|
||||
/* B32768 800BB5C8 248468C0 */ addiu $a0, %lo(gPadMgr) # addiu $a0, $a0, 0x68c0
|
||||
/* B3276C 800BB5CC 0C031CBF */ jal PadMgr_UnlockReleaseControllerQueue
|
||||
/* B32770 800BB5D0 8FA50024 */ lw $a1, 0x24($sp)
|
||||
/* B32774 800BB5D4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B32778 800BB5D8 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* B3277C 800BB5DC 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* B32780 800BB5E0 03E00008 */ jr $ra
|
||||
/* B32784 800BB5E4 00000000 */ nop
|
||||
|
||||
glabel func_800BB5E8
|
||||
/* B32788 800BB5E8 3C028016 */ lui $v0, %hi(D_80161358)
|
||||
/* B3278C 800BB5EC AFA40000 */ sw $a0, ($sp)
|
||||
/* B32790 800BB5F0 03E00008 */ jr $ra
|
||||
/* B32794 800BB5F4 8C421358 */ lw $v0, %lo(D_80161358)($v0)
|
||||
|
||||
glabel func_800BB5F8
|
||||
/* B32798 800BB5F8 27BDFF98 */ addiu $sp, $sp, -0x68
|
||||
/* B3279C 800BB5FC AFA40068 */ sw $a0, 0x68($sp)
|
||||
/* B327A0 800BB600 AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* B327A4 800BB604 AFB50034 */ sw $s5, 0x34($sp)
|
||||
/* B327A8 800BB608 AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* B327AC 800BB60C AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* B327B0 800BB610 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* B327B4 800BB614 3C048016 */ lui $a0, %hi(gPadMgr) # $a0, 0x8016
|
||||
/* B327B8 800BB618 30B000FF */ andi $s0, $a1, 0xff
|
||||
/* B327BC 800BB61C 30D100FF */ andi $s1, $a2, 0xff
|
||||
/* B327C0 800BB620 AFBE0040 */ sw $fp, 0x40($sp)
|
||||
/* B327C4 800BB624 AFB7003C */ sw $s7, 0x3c($sp)
|
||||
/* B327C8 800BB628 AFB60038 */ sw $s6, 0x38($sp)
|
||||
/* B327CC 800BB62C AFB40030 */ sw $s4, 0x30($sp)
|
||||
/* B327D0 800BB630 AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* B327D4 800BB634 AFA5006C */ sw $a1, 0x6c($sp)
|
||||
/* B327D8 800BB638 AFA60070 */ sw $a2, 0x70($sp)
|
||||
/* B327DC 800BB63C 24130001 */ li $s3, 1
|
||||
/* B327E0 800BB640 0000A825 */ move $s5, $zero
|
||||
/* B327E4 800BB644 0C031C94 */ jal PadMgr_LockGetControllerQueue
|
||||
/* B327E8 800BB648 248468C0 */ addiu $a0, %lo(gPadMgr) # addiu $a0, $a0, 0x68c0
|
||||
/* B327EC 800BB64C 0230082A */ slt $at, $s1, $s0
|
||||
/* B327F0 800BB650 AFA20064 */ sw $v0, 0x64($sp)
|
||||
/* B327F4 800BB654 321200FF */ andi $s2, $s0, 0xff
|
||||
/* B327F8 800BB658 AFB10050 */ sw $s1, 0x50($sp)
|
||||
/* B327FC 800BB65C 1420002A */ bnez $at, .L800BB708
|
||||
/* B32800 800BB660 AFB0004C */ sw $s0, 0x4c($sp)
|
||||
/* B32804 800BB664 3C1E8013 */ lui $fp, %hi(D_8012D184) # $fp, 0x8013
|
||||
/* B32808 800BB668 3C178013 */ lui $s7, %hi(D_8012D180) # $s7, 0x8013
|
||||
/* B3280C 800BB66C 3C168016 */ lui $s6, %hi(D_801612F0) # $s6, 0x8016
|
||||
/* B32810 800BB670 3C148013 */ lui $s4, %hi(D_8012D198) # $s4, 0x8013
|
||||
/* B32814 800BB674 2694D198 */ addiu $s4, %lo(D_8012D198) # addiu $s4, $s4, -0x2e68
|
||||
/* B32818 800BB678 26D612F0 */ addiu $s6, %lo(D_801612F0) # addiu $s6, $s6, 0x12f0
|
||||
/* B3281C 800BB67C 26F7D180 */ addiu $s7, %lo(D_8012D180) # addiu $s7, $s7, -0x2e80
|
||||
/* B32820 800BB680 27DED184 */ addiu $fp, %lo(D_8012D184) # addiu $fp, $fp, -0x2e7c
|
||||
/* B32824 800BB684 02408025 */ move $s0, $s2
|
||||
.L800BB688:
|
||||
/* B32828 800BB688 3C088016 */ lui $t0, %hi(D_80161360) # $t0, 0x8016
|
||||
/* B3282C 800BB68C 25081360 */ addiu $t0, %lo(D_80161360) # addiu $t0, $t0, 0x1360
|
||||
/* B32830 800BB690 0010C880 */ sll $t9, $s0, 2
|
||||
/* B32834 800BB694 03288821 */ addu $s1, $t9, $t0
|
||||
/* B32838 800BB698 2618FFD9 */ addiu $t8, $s0, -0x27
|
||||
/* B3283C 800BB69C 2629FEFC */ addiu $t1, $s1, -0x104
|
||||
/* B32840 800BB6A0 3C078013 */ lui $a3, %hi(D_8012D188) # $a3, 0x8013
|
||||
/* B32844 800BB6A4 A2980000 */ sb $t8, ($s4)
|
||||
/* B32848 800BB6A8 24E7D188 */ addiu $a3, %lo(D_8012D188) # addiu $a3, $a3, -0x2e78
|
||||
/* B3284C 800BB6AC AFA90014 */ sw $t1, 0x14($sp)
|
||||
/* B32850 800BB6B0 02C02025 */ move $a0, $s6
|
||||
/* B32854 800BB6B4 96E50000 */ lhu $a1, ($s7)
|
||||
/* B32858 800BB6B8 8FC60000 */ lw $a2, ($fp)
|
||||
/* B3285C 800BB6BC 0C040C04 */ jal func_80103010
|
||||
/* B32860 800BB6C0 AFB40010 */ sw $s4, 0x10($sp)
|
||||
/* B32864 800BB6C4 14400003 */ bnez $v0, .L800BB6D4
|
||||
/* B32868 800BB6C8 00403025 */ move $a2, $v0
|
||||
/* B3286C 800BB6CC 10000003 */ b .L800BB6DC
|
||||
/* B32870 800BB6D0 02B3A825 */ or $s5, $s5, $s3
|
||||
.L800BB6D4:
|
||||
/* B32874 800BB6D4 240AFFFF */ li $t2, -1
|
||||
/* B32878 800BB6D8 AE2AFEFC */ sw $t2, -0x104($s1)
|
||||
.L800BB6DC:
|
||||
/* B3287C 800BB6DC 3C048014 */ lui $a0, %hi(D_80143CF0) # $a0, 0x8014
|
||||
/* B32880 800BB6E0 00139840 */ sll $s3, $s3, 1
|
||||
/* B32884 800BB6E4 24843CF0 */ addiu $a0, %lo(D_80143CF0) # addiu $a0, $a0, 0x3cf0
|
||||
/* B32888 800BB6E8 0C00084C */ jal osSyncPrintf
|
||||
/* B3288C 800BB6EC 02002825 */ move $a1, $s0
|
||||
/* B32890 800BB6F0 8FAB0050 */ lw $t3, 0x50($sp)
|
||||
/* B32894 800BB6F4 26520001 */ addiu $s2, $s2, 1
|
||||
/* B32898 800BB6F8 325200FF */ andi $s2, $s2, 0xff
|
||||
/* B3289C 800BB6FC 0172082A */ slt $at, $t3, $s2
|
||||
/* B328A0 800BB700 1020FFE1 */ beqz $at, .L800BB688
|
||||
/* B328A4 800BB704 02408025 */ move $s0, $s2
|
||||
.L800BB708:
|
||||
/* B328A8 800BB708 3C048016 */ lui $a0, %hi(gPadMgr) # $a0, 0x8016
|
||||
/* B328AC 800BB70C 248468C0 */ addiu $a0, %lo(gPadMgr) # addiu $a0, $a0, 0x68c0
|
||||
/* B328B0 800BB710 0C031CBF */ jal PadMgr_UnlockReleaseControllerQueue
|
||||
/* B328B4 800BB714 8FA50064 */ lw $a1, 0x64($sp)
|
||||
/* B328B8 800BB718 3C048014 */ lui $a0, %hi(D_80143D08) # $a0, 0x8014
|
||||
/* B328BC 800BB71C 24843D08 */ addiu $a0, %lo(D_80143D08) # addiu $a0, $a0, 0x3d08
|
||||
/* B328C0 800BB720 8FA5004C */ lw $a1, 0x4c($sp)
|
||||
/* B328C4 800BB724 8FA60050 */ lw $a2, 0x50($sp)
|
||||
/* B328C8 800BB728 0C00084C */ jal osSyncPrintf
|
||||
/* B328CC 800BB72C 02A03825 */ move $a3, $s5
|
||||
/* B328D0 800BB730 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* B328D4 800BB734 02A01025 */ move $v0, $s5
|
||||
/* B328D8 800BB738 8FB50034 */ lw $s5, 0x34($sp)
|
||||
/* B328DC 800BB73C 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* B328E0 800BB740 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* B328E4 800BB744 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* B328E8 800BB748 8FB3002C */ lw $s3, 0x2c($sp)
|
||||
/* B328EC 800BB74C 8FB40030 */ lw $s4, 0x30($sp)
|
||||
/* B328F0 800BB750 8FB60038 */ lw $s6, 0x38($sp)
|
||||
/* B328F4 800BB754 8FB7003C */ lw $s7, 0x3c($sp)
|
||||
/* B328F8 800BB758 8FBE0040 */ lw $fp, 0x40($sp)
|
||||
/* B328FC 800BB75C 03E00008 */ jr $ra
|
||||
/* B32900 800BB760 27BD0068 */ addiu $sp, $sp, 0x68
|
||||
|
||||
glabel func_800BB764
|
||||
/* B32904 800BB764 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* B32908 800BB768 AFA40038 */ sw $a0, 0x38($sp)
|
||||
/* B3290C 800BB76C AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B32910 800BB770 3C048016 */ lui $a0, %hi(gPadMgr) # $a0, 0x8016
|
||||
/* B32914 800BB774 AFA5003C */ sw $a1, 0x3c($sp)
|
||||
/* B32918 800BB778 AFA60040 */ sw $a2, 0x40($sp)
|
||||
/* B3291C 800BB77C AFA70044 */ sw $a3, 0x44($sp)
|
||||
/* B32920 800BB780 AFA0002C */ sw $zero, 0x2c($sp)
|
||||
/* B32924 800BB784 0C031C94 */ jal PadMgr_LockGetControllerQueue
|
||||
/* B32928 800BB788 248468C0 */ addiu $a0, %lo(gPadMgr) # addiu $a0, $a0, 0x68c0
|
||||
/* B3292C 800BB78C 3C0E8016 */ lui $t6, %hi(D_80161358) # $t6, 0x8016
|
||||
/* B32930 800BB790 8FA80048 */ lw $t0, 0x48($sp)
|
||||
/* B32934 800BB794 8DCE1358 */ lw $t6, %lo(D_80161358)($t6)
|
||||
/* B32938 800BB798 3C048016 */ lui $a0, %hi(D_801612F0) # $a0, 0x8016
|
||||
/* B3293C 800BB79C AFA20034 */ sw $v0, 0x34($sp)
|
||||
/* B32940 800BB7A0 010E082A */ slt $at, $t0, $t6
|
||||
/* B32944 800BB7A4 1020001B */ beqz $at, .L800BB814
|
||||
/* B32948 800BB7A8 248412F0 */ addiu $a0, %lo(D_801612F0) # addiu $a0, $a0, 0x12f0
|
||||
/* B3294C 800BB7AC 93A2003F */ lbu $v0, 0x3f($sp)
|
||||
/* B32950 800BB7B0 3C188016 */ lui $t8, %hi(D_80161360) # $t8, 0x8016
|
||||
/* B32954 800BB7B4 8FB90040 */ lw $t9, 0x40($sp)
|
||||
/* B32958 800BB7B8 27181360 */ addiu $t8, %lo(D_80161360) # addiu $t8, $t8, 0x1360
|
||||
/* B3295C 800BB7BC 00027880 */ sll $t7, $v0, 2
|
||||
/* B32960 800BB7C0 01F81821 */ addu $v1, $t7, $t8
|
||||
/* B32964 800BB7C4 8C65FEFC */ lw $a1, -0x104($v1)
|
||||
/* B32968 800BB7C8 AFA30020 */ sw $v1, 0x20($sp)
|
||||
/* B3296C 800BB7CC 24060001 */ li $a2, 1
|
||||
/* B32970 800BB7D0 8FA70044 */ lw $a3, 0x44($sp)
|
||||
/* B32974 800BB7D4 AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* B32978 800BB7D8 AFA20024 */ sw $v0, 0x24($sp)
|
||||
/* B3297C 800BB7DC 0C040565 */ jal func_80101594
|
||||
/* B32980 800BB7E0 AFB90014 */ sw $t9, 0x14($sp)
|
||||
/* B32984 800BB7E4 8FA30020 */ lw $v1, 0x20($sp)
|
||||
/* B32988 800BB7E8 14400003 */ bnez $v0, .L800BB7F8
|
||||
/* B3298C 800BB7EC 00404025 */ move $t0, $v0
|
||||
/* B32990 800BB7F0 24090001 */ li $t1, 1
|
||||
/* B32994 800BB7F4 AFA9002C */ sw $t1, 0x2c($sp)
|
||||
.L800BB7F8:
|
||||
/* B32998 800BB7F8 3C048014 */ lui $a0, %hi(D_80143D28) # $a0, 0x8014
|
||||
/* B3299C 800BB7FC 24843D28 */ addiu $a0, %lo(D_80143D28) # addiu $a0, $a0, 0x3d28
|
||||
/* B329A0 800BB800 8FA50048 */ lw $a1, 0x48($sp)
|
||||
/* B329A4 800BB804 8FA60024 */ lw $a2, 0x24($sp)
|
||||
/* B329A8 800BB808 8C67FEFC */ lw $a3, -0x104($v1)
|
||||
/* B329AC 800BB80C 0C00084C */ jal osSyncPrintf
|
||||
/* B329B0 800BB810 AFA80010 */ sw $t0, 0x10($sp)
|
||||
.L800BB814:
|
||||
/* B329B4 800BB814 3C048016 */ lui $a0, %hi(gPadMgr) # $a0, 0x8016
|
||||
/* B329B8 800BB818 248468C0 */ addiu $a0, %lo(gPadMgr) # addiu $a0, $a0, 0x68c0
|
||||
/* B329BC 800BB81C 0C031CBF */ jal PadMgr_UnlockReleaseControllerQueue
|
||||
/* B329C0 800BB820 8FA50034 */ lw $a1, 0x34($sp)
|
||||
/* B329C4 800BB824 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* B329C8 800BB828 8FA2002C */ lw $v0, 0x2c($sp)
|
||||
/* B329CC 800BB82C 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
/* B329D0 800BB830 03E00008 */ jr $ra
|
||||
/* B329D4 800BB834 00000000 */ nop
|
||||
|
||||
glabel func_800BB838
|
||||
/* B329D8 800BB838 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* B329DC 800BB83C AFA40038 */ sw $a0, 0x38($sp)
|
||||
/* B329E0 800BB840 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B329E4 800BB844 3C048016 */ lui $a0, %hi(gPadMgr) # $a0, 0x8016
|
||||
/* B329E8 800BB848 AFA5003C */ sw $a1, 0x3c($sp)
|
||||
/* B329EC 800BB84C AFA60040 */ sw $a2, 0x40($sp)
|
||||
/* B329F0 800BB850 AFA70044 */ sw $a3, 0x44($sp)
|
||||
/* B329F4 800BB854 AFA0002C */ sw $zero, 0x2c($sp)
|
||||
/* B329F8 800BB858 0C031C94 */ jal PadMgr_LockGetControllerQueue
|
||||
/* B329FC 800BB85C 248468C0 */ addiu $a0, %lo(gPadMgr) # addiu $a0, $a0, 0x68c0
|
||||
/* B32A00 800BB860 3C0E8016 */ lui $t6, %hi(D_80161358) # $t6, 0x8016
|
||||
/* B32A04 800BB864 8FA80048 */ lw $t0, 0x48($sp)
|
||||
/* B32A08 800BB868 8DCE1358 */ lw $t6, %lo(D_80161358)($t6)
|
||||
/* B32A0C 800BB86C 3C048016 */ lui $a0, %hi(D_801612F0) # $a0, 0x8016
|
||||
/* B32A10 800BB870 AFA20034 */ sw $v0, 0x34($sp)
|
||||
/* B32A14 800BB874 010E082A */ slt $at, $t0, $t6
|
||||
/* B32A18 800BB878 1020001B */ beqz $at, .L800BB8E8
|
||||
/* B32A1C 800BB87C 248412F0 */ addiu $a0, %lo(D_801612F0) # addiu $a0, $a0, 0x12f0
|
||||
/* B32A20 800BB880 93A2003F */ lbu $v0, 0x3f($sp)
|
||||
/* B32A24 800BB884 3C188016 */ lui $t8, %hi(D_80161360) # $t8, 0x8016
|
||||
/* B32A28 800BB888 8FB90040 */ lw $t9, 0x40($sp)
|
||||
/* B32A2C 800BB88C 27181360 */ addiu $t8, %lo(D_80161360) # addiu $t8, $t8, 0x1360
|
||||
/* B32A30 800BB890 00027880 */ sll $t7, $v0, 2
|
||||
/* B32A34 800BB894 01F81821 */ addu $v1, $t7, $t8
|
||||
/* B32A38 800BB898 8C65FEFC */ lw $a1, -0x104($v1)
|
||||
/* B32A3C 800BB89C AFA30020 */ sw $v1, 0x20($sp)
|
||||
/* B32A40 800BB8A0 00003025 */ move $a2, $zero
|
||||
/* B32A44 800BB8A4 8FA70044 */ lw $a3, 0x44($sp)
|
||||
/* B32A48 800BB8A8 AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* B32A4C 800BB8AC AFA20024 */ sw $v0, 0x24($sp)
|
||||
/* B32A50 800BB8B0 0C040565 */ jal func_80101594
|
||||
/* B32A54 800BB8B4 AFB90014 */ sw $t9, 0x14($sp)
|
||||
/* B32A58 800BB8B8 8FA30020 */ lw $v1, 0x20($sp)
|
||||
/* B32A5C 800BB8BC 14400003 */ bnez $v0, .L800BB8CC
|
||||
/* B32A60 800BB8C0 00404025 */ move $t0, $v0
|
||||
/* B32A64 800BB8C4 24090001 */ li $t1, 1
|
||||
/* B32A68 800BB8C8 AFA9002C */ sw $t1, 0x2c($sp)
|
||||
.L800BB8CC:
|
||||
/* B32A6C 800BB8CC 3C048014 */ lui $a0, %hi(D_80143D50) # $a0, 0x8014
|
||||
/* B32A70 800BB8D0 24843D50 */ addiu $a0, %lo(D_80143D50) # addiu $a0, $a0, 0x3d50
|
||||
/* B32A74 800BB8D4 8FA50048 */ lw $a1, 0x48($sp)
|
||||
/* B32A78 800BB8D8 8FA60024 */ lw $a2, 0x24($sp)
|
||||
/* B32A7C 800BB8DC 8C67FEFC */ lw $a3, -0x104($v1)
|
||||
/* B32A80 800BB8E0 0C00084C */ jal osSyncPrintf
|
||||
/* B32A84 800BB8E4 AFA80010 */ sw $t0, 0x10($sp)
|
||||
.L800BB8E8:
|
||||
/* B32A88 800BB8E8 3C048016 */ lui $a0, %hi(gPadMgr) # $a0, 0x8016
|
||||
/* B32A8C 800BB8EC 248468C0 */ addiu $a0, %lo(gPadMgr) # addiu $a0, $a0, 0x68c0
|
||||
/* B32A90 800BB8F0 0C031CBF */ jal PadMgr_UnlockReleaseControllerQueue
|
||||
/* B32A94 800BB8F4 8FA50034 */ lw $a1, 0x34($sp)
|
||||
/* B32A98 800BB8F8 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* B32A9C 800BB8FC 8FA2002C */ lw $v0, 0x2c($sp)
|
||||
/* B32AA0 800BB900 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
/* B32AA4 800BB904 03E00008 */ jr $ra
|
||||
/* B32AA8 800BB908 00000000 */ nop
|
||||
|
||||
glabel func_800BB90C
|
||||
/* B32AAC 800BB90C 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* B32AB0 800BB910 AFA40040 */ sw $a0, 0x40($sp)
|
||||
/* B32AB4 800BB914 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B32AB8 800BB918 AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* B32ABC 800BB91C 3C048016 */ lui $a0, %hi(gPadMgr) # $a0, 0x8016
|
||||
/* B32AC0 800BB920 00A08025 */ move $s0, $a1
|
||||
/* B32AC4 800BB924 AFA60048 */ sw $a2, 0x48($sp)
|
||||
/* B32AC8 800BB928 AFA00034 */ sw $zero, 0x34($sp)
|
||||
/* B32ACC 800BB92C 0C031C94 */ jal PadMgr_LockGetControllerQueue
|
||||
/* B32AD0 800BB930 248468C0 */ addiu $a0, %lo(gPadMgr) # addiu $a0, $a0, 0x68c0
|
||||
/* B32AD4 800BB934 AFA2003C */ sw $v0, 0x3c($sp)
|
||||
/* B32AD8 800BB938 92030000 */ lbu $v1, ($s0)
|
||||
/* B32ADC 800BB93C 00001025 */ move $v0, $zero
|
||||
/* B32AE0 800BB940 2405000A */ li $a1, 10
|
||||
/* B32AE4 800BB944 28610041 */ slti $at, $v1, 0x41
|
||||
/* B32AE8 800BB948 14200058 */ bnez $at, .L800BBAAC
|
||||
/* B32AEC 800BB94C 2404FFFF */ li $a0, -1
|
||||
/* B32AF0 800BB950 2861004C */ slti $at, $v1, 0x4c
|
||||
/* B32AF4 800BB954 10200055 */ beqz $at, .L800BBAAC
|
||||
/* B32AF8 800BB958 3C088013 */ lui $t0, %hi(D_8012D198) # $t0, 0x8013
|
||||
/* B32AFC 800BB95C 2508D198 */ addiu $t0, %lo(D_8012D198) # addiu $t0, $t0, -0x2e68
|
||||
/* B32B00 800BB960 246EFFD9 */ addiu $t6, $v1, -0x27
|
||||
/* B32B04 800BB964 A10E0000 */ sb $t6, ($t0)
|
||||
/* B32B08 800BB968 92030000 */ lbu $v1, ($s0)
|
||||
/* B32B0C 800BB96C 3C188016 */ lui $t8, %hi(D_80161360) # $t8, 0x8016
|
||||
/* B32B10 800BB970 27181360 */ addiu $t8, %lo(D_80161360) # addiu $t8, $t8, 0x1360
|
||||
/* B32B14 800BB974 00037880 */ sll $t7, $v1, 2
|
||||
/* B32B18 800BB978 01F81021 */ addu $v0, $t7, $t8
|
||||
/* B32B1C 800BB97C 8C59FEFC */ lw $t9, -0x104($v0)
|
||||
/* B32B20 800BB980 2404FFFF */ li $a0, -1
|
||||
/* B32B24 800BB984 3C058013 */ lui $a1, %hi(D_8012D180)
|
||||
/* B32B28 800BB988 1499001A */ bne $a0, $t9, .L800BB9F4
|
||||
/* B32B2C 800BB98C 246CFFD9 */ addiu $t4, $v1, -0x27
|
||||
/* B32B30 800BB990 8FA90048 */ lw $t1, 0x48($sp)
|
||||
/* B32B34 800BB994 3C048016 */ lui $a0, %hi(D_801612F0) # $a0, 0x8016
|
||||
/* B32B38 800BB998 3C058013 */ lui $a1, %hi(D_8012D180) # $a1, 0x8013
|
||||
/* B32B3C 800BB99C 3C068013 */ lui $a2, %hi(D_8012D184) # $a2, 0x8013
|
||||
/* B32B40 800BB9A0 3C078013 */ lui $a3, %hi(D_8012D188) # $a3, 0x8013
|
||||
/* B32B44 800BB9A4 244AFEFC */ addiu $t2, $v0, -0x104
|
||||
/* B32B48 800BB9A8 AFAA0018 */ sw $t2, 0x18($sp)
|
||||
/* B32B4C 800BB9AC 24E7D188 */ addiu $a3, %lo(D_8012D188) # addiu $a3, $a3, -0x2e78
|
||||
/* B32B50 800BB9B0 8CC6D184 */ lw $a2, %lo(D_8012D184)($a2)
|
||||
/* B32B54 800BB9B4 94A5D180 */ lhu $a1, %lo(D_8012D180)($a1)
|
||||
/* B32B58 800BB9B8 248412F0 */ addiu $a0, %lo(D_801612F0) # addiu $a0, $a0, 0x12f0
|
||||
/* B32B5C 800BB9BC AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* B32B60 800BB9C0 0C0407AC */ jal func_80101EB0
|
||||
/* B32B64 800BB9C4 AFA90014 */ sw $t1, 0x14($sp)
|
||||
/* B32B68 800BB9C8 14400003 */ bnez $v0, .L800BB9D8
|
||||
/* B32B6C 800BB9CC 00403825 */ move $a3, $v0
|
||||
/* B32B70 800BB9D0 240B0001 */ li $t3, 1
|
||||
/* B32B74 800BB9D4 AFAB0034 */ sw $t3, 0x34($sp)
|
||||
.L800BB9D8:
|
||||
/* B32B78 800BB9D8 3C048014 */ lui $a0, %hi(D_80143D74) # $a0, 0x8014
|
||||
/* B32B7C 800BB9DC 24843D74 */ addiu $a0, %lo(D_80143D74) # addiu $a0, $a0, 0x3d74
|
||||
/* B32B80 800BB9E0 8FA50048 */ lw $a1, 0x48($sp)
|
||||
/* B32B84 800BB9E4 0C00084C */ jal osSyncPrintf
|
||||
/* B32B88 800BB9E8 92060000 */ lbu $a2, ($s0)
|
||||
/* B32B8C 800BB9EC 10000056 */ b .L800BBB48
|
||||
/* B32B90 800BB9F0 00000000 */ nop
|
||||
.L800BB9F4:
|
||||
/* B32B94 800BB9F4 A10C0000 */ sb $t4, ($t0)
|
||||
/* B32B98 800BB9F8 3C048016 */ lui $a0, %hi(D_801612F0) # $a0, 0x8016
|
||||
/* B32B9C 800BB9FC 3C068013 */ lui $a2, %hi(D_8012D184) # $a2, 0x8013
|
||||
/* B32BA0 800BBA00 3C078013 */ lui $a3, %hi(D_8012D188) # $a3, 0x8013
|
||||
/* B32BA4 800BBA04 24E7D188 */ addiu $a3, %lo(D_8012D188) # addiu $a3, $a3, -0x2e78
|
||||
/* B32BA8 800BBA08 8CC6D184 */ lw $a2, %lo(D_8012D184)($a2)
|
||||
/* B32BAC 800BBA0C 248412F0 */ addiu $a0, %lo(D_801612F0) # addiu $a0, $a0, 0x12f0
|
||||
/* B32BB0 800BBA10 94A5D180 */ lhu $a1, %lo(D_8012D180)($a1)
|
||||
/* B32BB4 800BBA14 0C041078 */ jal func_801041E0
|
||||
/* B32BB8 800BBA18 AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* B32BBC 800BBA1C 3C088013 */ lui $t0, %hi(D_8012D198) # $t0, 0x8013
|
||||
/* B32BC0 800BBA20 14400003 */ bnez $v0, .L800BBA30
|
||||
/* B32BC4 800BBA24 2508D198 */ addiu $t0, %lo(D_8012D198) # addiu $t0, $t0, -0x2e68
|
||||
/* B32BC8 800BBA28 240D0001 */ li $t5, 1
|
||||
/* B32BCC 800BBA2C AFAD0034 */ sw $t5, 0x34($sp)
|
||||
.L800BBA30:
|
||||
/* B32BD0 800BBA30 8FAE0048 */ lw $t6, 0x48($sp)
|
||||
/* B32BD4 800BBA34 AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* B32BD8 800BBA38 3C098016 */ lui $t1, %hi(D_80161360) # $t1, 0x8016
|
||||
/* B32BDC 800BBA3C AFAE0014 */ sw $t6, 0x14($sp)
|
||||
/* B32BE0 800BBA40 920F0000 */ lbu $t7, ($s0)
|
||||
/* B32BE4 800BBA44 25291360 */ addiu $t1, %lo(D_80161360) # addiu $t1, $t1, 0x1360
|
||||
/* B32BE8 800BBA48 3C048016 */ lui $a0, %hi(D_801612F0) # $a0, 0x8016
|
||||
/* B32BEC 800BBA4C 000FC080 */ sll $t8, $t7, 2
|
||||
/* B32BF0 800BBA50 2719FEFC */ addiu $t9, $t8, -0x104
|
||||
/* B32BF4 800BBA54 03295021 */ addu $t2, $t9, $t1
|
||||
/* B32BF8 800BBA58 3C058013 */ lui $a1, %hi(D_8012D180) # $a1, 0x8013
|
||||
/* B32BFC 800BBA5C 3C068013 */ lui $a2, %hi(D_8012D184) # $a2, 0x8013
|
||||
/* B32C00 800BBA60 3C078013 */ lui $a3, %hi(D_8012D188) # $a3, 0x8013
|
||||
/* B32C04 800BBA64 24E7D188 */ addiu $a3, %lo(D_8012D188) # addiu $a3, $a3, -0x2e78
|
||||
/* B32C08 800BBA68 8CC6D184 */ lw $a2, %lo(D_8012D184)($a2)
|
||||
/* B32C0C 800BBA6C 94A5D180 */ lhu $a1, %lo(D_8012D180)($a1)
|
||||
/* B32C10 800BBA70 AFAA0018 */ sw $t2, 0x18($sp)
|
||||
/* B32C14 800BBA74 0C0407AC */ jal func_80101EB0
|
||||
/* B32C18 800BBA78 248412F0 */ addiu $a0, %lo(D_801612F0) # addiu $a0, $a0, 0x12f0
|
||||
/* B32C1C 800BBA7C 14400004 */ bnez $v0, .L800BBA90
|
||||
/* B32C20 800BBA80 00403825 */ move $a3, $v0
|
||||
/* B32C24 800BBA84 8FAB0034 */ lw $t3, 0x34($sp)
|
||||
/* B32C28 800BBA88 356C0001 */ ori $t4, $t3, 1
|
||||
/* B32C2C 800BBA8C AFAC0034 */ sw $t4, 0x34($sp)
|
||||
.L800BBA90:
|
||||
/* B32C30 800BBA90 3C048014 */ lui $a0, %hi(D_80143D98) # $a0, 0x8014
|
||||
/* B32C34 800BBA94 24843D98 */ addiu $a0, %lo(D_80143D98) # addiu $a0, $a0, 0x3d98
|
||||
/* B32C38 800BBA98 8FA50048 */ lw $a1, 0x48($sp)
|
||||
/* B32C3C 800BBA9C 0C00084C */ jal osSyncPrintf
|
||||
/* B32C40 800BBAA0 92060000 */ lbu $a2, ($s0)
|
||||
/* B32C44 800BBAA4 10000028 */ b .L800BBB48
|
||||
/* B32C48 800BBAA8 00000000 */ nop
|
||||
.L800BBAAC:
|
||||
/* B32C4C 800BBAAC 3C038016 */ lui $v1, %hi(D_80161360) # $v1, 0x8016
|
||||
/* B32C50 800BBAB0 24631360 */ addiu $v1, %lo(D_80161360) # addiu $v1, $v1, 0x1360
|
||||
.L800BBAB4:
|
||||
/* B32C54 800BBAB4 8C6D0000 */ lw $t5, ($v1)
|
||||
/* B32C58 800BBAB8 508D0005 */ beql $a0, $t5, .L800BBAD0
|
||||
/* B32C5C 800BBABC 244F0041 */ addiu $t7, $v0, 0x41
|
||||
/* B32C60 800BBAC0 24420001 */ addiu $v0, $v0, 1
|
||||
/* B32C64 800BBAC4 1445FFFB */ bne $v0, $a1, .L800BBAB4
|
||||
/* B32C68 800BBAC8 24630004 */ addiu $v1, $v1, 4
|
||||
/* B32C6C 800BBACC 244F0041 */ addiu $t7, $v0, 0x41
|
||||
.L800BBAD0:
|
||||
/* B32C70 800BBAD0 A20F0000 */ sb $t7, ($s0)
|
||||
/* B32C74 800BBAD4 3C088013 */ lui $t0, %hi(D_8012D198) # $t0, 0x8013
|
||||
/* B32C78 800BBAD8 8FB90048 */ lw $t9, 0x48($sp)
|
||||
/* B32C7C 800BBADC 2508D198 */ addiu $t0, %lo(D_8012D198) # addiu $t0, $t0, -0x2e68
|
||||
/* B32C80 800BBAE0 25F8FFD9 */ addiu $t8, $t7, -0x27
|
||||
/* B32C84 800BBAE4 A1180000 */ sb $t8, ($t0)
|
||||
/* B32C88 800BBAE8 3C048016 */ lui $a0, %hi(D_801612F0) # $a0, 0x8016
|
||||
/* B32C8C 800BBAEC 3C058013 */ lui $a1, %hi(D_8012D180) # $a1, 0x8013
|
||||
/* B32C90 800BBAF0 3C068013 */ lui $a2, %hi(D_8012D184) # $a2, 0x8013
|
||||
/* B32C94 800BBAF4 3C078013 */ lui $a3, %hi(D_8012D188) # $a3, 0x8013
|
||||
/* B32C98 800BBAF8 24E7D188 */ addiu $a3, %lo(D_8012D188) # addiu $a3, $a3, -0x2e78
|
||||
/* B32C9C 800BBAFC 8CC6D184 */ lw $a2, %lo(D_8012D184)($a2)
|
||||
/* B32CA0 800BBB00 94A5D180 */ lhu $a1, %lo(D_8012D180)($a1)
|
||||
/* B32CA4 800BBB04 248412F0 */ addiu $a0, %lo(D_801612F0) # addiu $a0, $a0, 0x12f0
|
||||
/* B32CA8 800BBB08 AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* B32CAC 800BBB0C AFA30018 */ sw $v1, 0x18($sp)
|
||||
/* B32CB0 800BBB10 0C0407AC */ jal func_80101EB0
|
||||
/* B32CB4 800BBB14 AFB90014 */ sw $t9, 0x14($sp)
|
||||
/* B32CB8 800BBB18 AFA20038 */ sw $v0, 0x38($sp)
|
||||
/* B32CBC 800BBB1C 3C048014 */ lui $a0, %hi(D_80143DBC) # $a0, 0x8014
|
||||
/* B32CC0 800BBB20 24843DBC */ addiu $a0, %lo(D_80143DBC) # addiu $a0, $a0, 0x3dbc
|
||||
/* B32CC4 800BBB24 92060000 */ lbu $a2, ($s0)
|
||||
/* B32CC8 800BBB28 8FA50048 */ lw $a1, 0x48($sp)
|
||||
/* B32CCC 800BBB2C 0C00084C */ jal osSyncPrintf
|
||||
/* B32CD0 800BBB30 00403825 */ move $a3, $v0
|
||||
/* B32CD4 800BBB34 8FA90038 */ lw $t1, 0x38($sp)
|
||||
/* B32CD8 800BBB38 240A0001 */ li $t2, 1
|
||||
/* B32CDC 800BBB3C 15200002 */ bnez $t1, .L800BBB48
|
||||
/* B32CE0 800BBB40 00000000 */ nop
|
||||
/* B32CE4 800BBB44 AFAA0034 */ sw $t2, 0x34($sp)
|
||||
.L800BBB48:
|
||||
/* B32CE8 800BBB48 3C048016 */ lui $a0, %hi(gPadMgr) # $a0, 0x8016
|
||||
/* B32CEC 800BBB4C 248468C0 */ addiu $a0, %lo(gPadMgr) # addiu $a0, $a0, 0x68c0
|
||||
/* B32CF0 800BBB50 0C031CBF */ jal PadMgr_UnlockReleaseControllerQueue
|
||||
/* B32CF4 800BBB54 8FA5003C */ lw $a1, 0x3c($sp)
|
||||
/* B32CF8 800BBB58 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B32CFC 800BBB5C 8FA20034 */ lw $v0, 0x34($sp)
|
||||
/* B32D00 800BBB60 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* B32D04 800BBB64 03E00008 */ jr $ra
|
||||
/* B32D08 800BBB68 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
|
||||
glabel func_800BBB6C
|
||||
/* B32D0C 800BBB6C 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* B32D10 800BBB70 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* B32D14 800BBB74 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B32D18 800BBB78 3C048016 */ lui $a0, %hi(gPadMgr) # $a0, 0x8016
|
||||
/* B32D1C 800BBB7C AFA50034 */ sw $a1, 0x34($sp)
|
||||
/* B32D20 800BBB80 AFA00024 */ sw $zero, 0x24($sp)
|
||||
/* B32D24 800BBB84 0C031C94 */ jal PadMgr_LockGetControllerQueue
|
||||
/* B32D28 800BBB88 248468C0 */ addiu $a0, %lo(gPadMgr) # addiu $a0, $a0, 0x68c0
|
||||
/* B32D2C 800BBB8C 93A30037 */ lbu $v1, 0x37($sp)
|
||||
/* B32D30 800BBB90 3C088013 */ lui $t0, %hi(D_8012D198) # $t0, 0x8013
|
||||
/* B32D34 800BBB94 2508D198 */ addiu $t0, %lo(D_8012D198) # addiu $t0, $t0, -0x2e68
|
||||
/* B32D38 800BBB98 246EFFD9 */ addiu $t6, $v1, -0x27
|
||||
/* B32D3C 800BBB9C A10E0000 */ sb $t6, ($t0)
|
||||
/* B32D40 800BBBA0 3C048016 */ lui $a0, %hi(D_801612F0) # $a0, 0x8016
|
||||
/* B32D44 800BBBA4 3C058013 */ lui $a1, %hi(D_8012D180) # $a1, 0x8013
|
||||
/* B32D48 800BBBA8 3C068013 */ lui $a2, %hi(D_8012D184) # $a2, 0x8013
|
||||
/* B32D4C 800BBBAC 3C078013 */ lui $a3, %hi(D_8012D188) # $a3, 0x8013
|
||||
/* B32D50 800BBBB0 AFA2002C */ sw $v0, 0x2c($sp)
|
||||
/* B32D54 800BBBB4 24E7D188 */ addiu $a3, %lo(D_8012D188) # addiu $a3, $a3, -0x2e78
|
||||
/* B32D58 800BBBB8 8CC6D184 */ lw $a2, %lo(D_8012D184)($a2)
|
||||
/* B32D5C 800BBBBC 94A5D180 */ lhu $a1, %lo(D_8012D180)($a1)
|
||||
/* B32D60 800BBBC0 248412F0 */ addiu $a0, %lo(D_801612F0) # addiu $a0, $a0, 0x12f0
|
||||
/* B32D64 800BBBC4 AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* B32D68 800BBBC8 0C041078 */ jal func_801041E0
|
||||
/* B32D6C 800BBBCC AFA30020 */ sw $v1, 0x20($sp)
|
||||
/* B32D70 800BBBD0 14400003 */ bnez $v0, .L800BBBE0
|
||||
/* B32D74 800BBBD4 00403025 */ move $a2, $v0
|
||||
/* B32D78 800BBBD8 240F0001 */ li $t7, 1
|
||||
/* B32D7C 800BBBDC AFAF0024 */ sw $t7, 0x24($sp)
|
||||
.L800BBBE0:
|
||||
/* B32D80 800BBBE0 3C048014 */ lui $a0, %hi(D_80143DEC) # $a0, 0x8014
|
||||
/* B32D84 800BBBE4 24843DEC */ addiu $a0, %lo(D_80143DEC) # addiu $a0, $a0, 0x3dec
|
||||
/* B32D88 800BBBE8 0C00084C */ jal osSyncPrintf
|
||||
/* B32D8C 800BBBEC 8FA50020 */ lw $a1, 0x20($sp)
|
||||
/* B32D90 800BBBF0 3C048016 */ lui $a0, %hi(gPadMgr) # $a0, 0x8016
|
||||
/* B32D94 800BBBF4 248468C0 */ addiu $a0, %lo(gPadMgr) # addiu $a0, $a0, 0x68c0
|
||||
/* B32D98 800BBBF8 0C031CBF */ jal PadMgr_UnlockReleaseControllerQueue
|
||||
/* B32D9C 800BBBFC 8FA5002C */ lw $a1, 0x2c($sp)
|
||||
/* B32DA0 800BBC00 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* B32DA4 800BBC04 8FA20024 */ lw $v0, 0x24($sp)
|
||||
/* B32DA8 800BBC08 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
/* B32DAC 800BBC0C 03E00008 */ jr $ra
|
||||
/* B32DB0 800BBC10 00000000 */ nop
|
||||
|
||||
glabel func_800BBC14
|
||||
/* B32DB4 800BBC14 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* B32DB8 800BBC18 AFA40048 */ sw $a0, 0x48($sp)
|
||||
/* B32DBC 800BBC1C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B32DC0 800BBC20 3C048016 */ lui $a0, %hi(gPadMgr) # $a0, 0x8016
|
||||
/* B32DC4 800BBC24 AFA5004C */ sw $a1, 0x4c($sp)
|
||||
/* B32DC8 800BBC28 0C031C94 */ jal PadMgr_LockGetControllerQueue
|
||||
/* B32DCC 800BBC2C 248468C0 */ addiu $a0, %lo(gPadMgr) # addiu $a0, $a0, 0x68c0
|
||||
/* B32DD0 800BBC30 93AE004F */ lbu $t6, 0x4f($sp)
|
||||
/* B32DD4 800BBC34 3C058016 */ lui $a1, %hi(D_8016125C)
|
||||
/* B32DD8 800BBC38 3C048016 */ lui $a0, %hi(D_801612F0) # $a0, 0x8016
|
||||
/* B32DDC 800BBC3C 000E7880 */ sll $t7, $t6, 2
|
||||
/* B32DE0 800BBC40 00AF2821 */ addu $a1, $a1, $t7
|
||||
/* B32DE4 800BBC44 AFA20044 */ sw $v0, 0x44($sp)
|
||||
/* B32DE8 800BBC48 8CA5125C */ lw $a1, %lo(D_8016125C)($a1)
|
||||
/* B32DEC 800BBC4C 248412F0 */ addiu $a0, %lo(D_801612F0) # addiu $a0, $a0, 0x12f0
|
||||
/* B32DF0 800BBC50 0C041358 */ jal func_80104D60
|
||||
/* B32DF4 800BBC54 27A60024 */ addiu $a2, $sp, 0x24
|
||||
/* B32DF8 800BBC58 3C048016 */ lui $a0, %hi(gPadMgr) # $a0, 0x8016
|
||||
/* B32DFC 800BBC5C AFA20020 */ sw $v0, 0x20($sp)
|
||||
/* B32E00 800BBC60 248468C0 */ addiu $a0, %lo(gPadMgr) # addiu $a0, $a0, 0x68c0
|
||||
/* B32E04 800BBC64 0C031CBF */ jal PadMgr_UnlockReleaseControllerQueue
|
||||
/* B32E08 800BBC68 8FA50044 */ lw $a1, 0x44($sp)
|
||||
/* B32E0C 800BBC6C 8FB80020 */ lw $t8, 0x20($sp)
|
||||
/* B32E10 800BBC70 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B32E14 800BBC74 8FA20024 */ lw $v0, 0x24($sp)
|
||||
/* B32E18 800BBC78 13000003 */ beqz $t8, .L800BBC88
|
||||
/* B32E1C 800BBC7C 00000000 */ nop
|
||||
/* B32E20 800BBC80 10000001 */ b .L800BBC88
|
||||
/* B32E24 800BBC84 00001025 */ move $v0, $zero
|
||||
.L800BBC88:
|
||||
/* B32E28 800BBC88 03E00008 */ jr $ra
|
||||
/* B32E2C 800BBC8C 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
@@ -0,0 +1,32 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800C3C20
|
||||
/* B3ADC0 800C3C20 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* B3ADC4 800C3C24 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* B3ADC8 800C3C28 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* B3ADCC 800C3C2C 3C108013 */ lui $s0, %hi(D_8012D200) # $s0, 0x8013
|
||||
/* B3ADD0 800C3C30 3C118013 */ lui $s1, %hi(D_8012D207) # $s1, 0x8013
|
||||
/* B3ADD4 800C3C34 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B3ADD8 800C3C38 2631D207 */ addiu $s1, %lo(D_8012D207) # addiu $s1, $s1, -0x2df9
|
||||
/* B3ADDC 800C3C3C 2610D200 */ addiu $s0, %lo(D_8012D200) # addiu $s0, $s0, -0x2e00
|
||||
.L800C3C40:
|
||||
/* B3ADE0 800C3C40 0C03E1E8 */ jal func_800F87A0
|
||||
/* B3ADE4 800C3C44 92040000 */ lbu $a0, ($s0)
|
||||
/* B3ADE8 800C3C48 26100001 */ addiu $s0, $s0, 1
|
||||
/* B3ADEC 800C3C4C 0211082B */ sltu $at, $s0, $s1
|
||||
/* B3ADF0 800C3C50 1420FFFB */ bnez $at, .L800C3C40
|
||||
/* B3ADF4 800C3C54 00000000 */ nop
|
||||
/* B3ADF8 800C3C58 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* B3ADFC 800C3C5C 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* B3AE00 800C3C60 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* B3AE04 800C3C64 03E00008 */ jr $ra
|
||||
/* B3AE08 800C3C68 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
@@ -0,0 +1,256 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800D2E30
|
||||
/* B49FD0 800D2E30 2402FFFF */ li $v0, -1
|
||||
/* B49FD4 800D2E34 00001825 */ move $v1, $zero
|
||||
/* B49FD8 800D2E38 00802825 */ move $a1, $a0
|
||||
.L800D2E3C:
|
||||
/* B49FDC 800D2E3C 24630001 */ addiu $v1, $v1, 1
|
||||
/* B49FE0 800D2E40 28610004 */ slti $at, $v1, 4
|
||||
/* B49FE4 800D2E44 24A50001 */ addiu $a1, $a1, 1
|
||||
/* B49FE8 800D2E48 1420FFFC */ bnez $at, .L800D2E3C
|
||||
/* B49FEC 800D2E4C A0A0FFFF */ sb $zero, -1($a1)
|
||||
/* B49FF0 800D2E50 90830105 */ lbu $v1, 0x105($a0)
|
||||
/* B49FF4 800D2E54 3C0E8013 */ lui $t6, %hi(D_8012DBB0) # $t6, 0x8013
|
||||
/* B49FF8 800D2E58 3C018013 */ lui $at, %hi(D_8012DBB0)
|
||||
/* B49FFC 800D2E5C 14600010 */ bnez $v1, .L800D2EA0
|
||||
/* B4A000 800D2E60 00000000 */ nop
|
||||
/* B4A004 800D2E64 91CEDBB0 */ lbu $t6, %lo(D_8012DBB0)($t6)
|
||||
/* B4A008 800D2E68 3C018016 */ lui $at, %hi(gPadMgr+0x2AE) # $at, 0x8016
|
||||
/* B4A00C 800D2E6C 11C00009 */ beqz $t6, .L800D2E94
|
||||
/* B4A010 800D2E70 00000000 */ nop
|
||||
/* B4A014 800D2E74 A0206B6E */ sb $zero, %lo(gPadMgr+0x2AE)($at)
|
||||
/* B4A018 800D2E78 3C018016 */ lui $at, %hi(gPadMgr+0x2AF) # $at, 0x8016
|
||||
/* B4A01C 800D2E7C A0206B6F */ sb $zero, %lo(gPadMgr+0x2AF)($at)
|
||||
/* B4A020 800D2E80 3C018016 */ lui $at, %hi(gPadMgr+0x2B0) # $at, 0x8016
|
||||
/* B4A024 800D2E84 A0206B70 */ sb $zero, %lo(gPadMgr+0x2B0)($at)
|
||||
/* B4A028 800D2E88 3C018016 */ lui $at, %hi(gPadMgr+0x2B1) # $at, 0x8016
|
||||
/* B4A02C 800D2E8C A0206B71 */ sb $zero, %lo(gPadMgr+0x2B1)($at)
|
||||
/* B4A030 800D2E90 90830105 */ lbu $v1, 0x105($a0)
|
||||
.L800D2E94:
|
||||
/* B4A034 800D2E94 3C018013 */ lui $at, %hi(D_8012DBB0)
|
||||
/* B4A038 800D2E98 03E00008 */ jr $ra
|
||||
/* B4A03C 800D2E9C A023DBB0 */ sb $v1, %lo(D_8012DBB0)($at)
|
||||
.L800D2EA0:
|
||||
/* B4A040 800D2EA0 A023DBB0 */ sb $v1, %lo(D_8012DBB0)($at)
|
||||
/* B4A044 800D2EA4 90850104 */ lbu $a1, 0x104($a0)
|
||||
/* B4A048 800D2EA8 24010002 */ li $at, 2
|
||||
/* B4A04C 800D2EAC 3C038016 */ lui $v1, %hi(gPadMgr+4) # $v1, 0x8016
|
||||
/* B4A050 800D2EB0 14A10027 */ bne $a1, $at, .L800D2F50
|
||||
/* B4A054 800D2EB4 246368C4 */ addiu $v1, %lo(gPadMgr+4) # addiu $v1, $v1, 0x68c4
|
||||
/* B4A058 800D2EB8 3C058016 */ lui $a1, %hi(gPadMgr) # $a1, 0x8016
|
||||
/* B4A05C 800D2EBC 24A568C0 */ addiu $a1, %lo(gPadMgr) # addiu $a1, $a1, 0x68c0
|
||||
.L800D2EC0:
|
||||
/* B4A060 800D2EC0 24A50001 */ addiu $a1, $a1, 1
|
||||
/* B4A064 800D2EC4 00A3082B */ sltu $at, $a1, $v1
|
||||
/* B4A068 800D2EC8 1420FFFD */ bnez $at, .L800D2EC0
|
||||
/* B4A06C 800D2ECC A0A002AD */ sb $zero, 0x2ad($a1)
|
||||
/* B4A070 800D2ED0 00001825 */ move $v1, $zero
|
||||
/* B4A074 800D2ED4 00802825 */ move $a1, $a0
|
||||
/* B4A078 800D2ED8 24080040 */ li $t0, 64
|
||||
.L800D2EDC:
|
||||
/* B4A07C 800D2EDC 24630004 */ addiu $v1, $v1, 4
|
||||
/* B4A080 800D2EE0 A0A000C5 */ sb $zero, 0xc5($a1)
|
||||
/* B4A084 800D2EE4 A0A00085 */ sb $zero, 0x85($a1)
|
||||
/* B4A088 800D2EE8 A0A00045 */ sb $zero, 0x45($a1)
|
||||
/* B4A08C 800D2EEC A0A00005 */ sb $zero, 5($a1)
|
||||
/* B4A090 800D2EF0 A0A000C6 */ sb $zero, 0xc6($a1)
|
||||
/* B4A094 800D2EF4 A0A00086 */ sb $zero, 0x86($a1)
|
||||
/* B4A098 800D2EF8 A0A00046 */ sb $zero, 0x46($a1)
|
||||
/* B4A09C 800D2EFC A0A00006 */ sb $zero, 6($a1)
|
||||
/* B4A0A0 800D2F00 A0A000C7 */ sb $zero, 0xc7($a1)
|
||||
/* B4A0A4 800D2F04 A0A00087 */ sb $zero, 0x87($a1)
|
||||
/* B4A0A8 800D2F08 A0A00047 */ sb $zero, 0x47($a1)
|
||||
/* B4A0AC 800D2F0C A0A00007 */ sb $zero, 7($a1)
|
||||
/* B4A0B0 800D2F10 24A50004 */ addiu $a1, $a1, 4
|
||||
/* B4A0B4 800D2F14 A0A000C0 */ sb $zero, 0xc0($a1)
|
||||
/* B4A0B8 800D2F18 A0A00080 */ sb $zero, 0x80($a1)
|
||||
/* B4A0BC 800D2F1C A0A00040 */ sb $zero, 0x40($a1)
|
||||
/* B4A0C0 800D2F20 1468FFEE */ bne $v1, $t0, .L800D2EDC
|
||||
/* B4A0C4 800D2F24 A0A00000 */ sb $zero, ($a1)
|
||||
/* B4A0C8 800D2F28 300300FF */ andi $v1, $zero, 0xff
|
||||
/* B4A0CC 800D2F2C 240F0001 */ li $t7, 1
|
||||
/* B4A0D0 800D2F30 A083010C */ sb $v1, 0x10c($a0)
|
||||
/* B4A0D4 800D2F34 A083010B */ sb $v1, 0x10b($a0)
|
||||
/* B4A0D8 800D2F38 A083010A */ sb $v1, 0x10a($a0)
|
||||
/* B4A0DC 800D2F3C A4830108 */ sh $v1, 0x108($a0)
|
||||
/* B4A0E0 800D2F40 A4830106 */ sh $v1, 0x106($a0)
|
||||
/* B4A0E4 800D2F44 A080010D */ sb $zero, 0x10d($a0)
|
||||
/* B4A0E8 800D2F48 A08F0104 */ sb $t7, 0x104($a0)
|
||||
/* B4A0EC 800D2F4C 31E500FF */ andi $a1, $t7, 0xff
|
||||
.L800D2F50:
|
||||
/* B4A0F0 800D2F50 10A0005D */ beqz $a1, .L800D30C8
|
||||
/* B4A0F4 800D2F54 24080040 */ li $t0, 64
|
||||
/* B4A0F8 800D2F58 00001825 */ move $v1, $zero
|
||||
/* B4A0FC 800D2F5C 00802825 */ move $a1, $a0
|
||||
/* B4A100 800D2F60 2409FFFF */ li $t1, -1
|
||||
.L800D2F64:
|
||||
/* B4A104 800D2F64 90A60004 */ lbu $a2, 4($a1)
|
||||
/* B4A108 800D2F68 50C00021 */ beql $a2, $zero, .L800D2FF0
|
||||
/* B4A10C 800D2F6C 24630001 */ addiu $v1, $v1, 1
|
||||
/* B4A110 800D2F70 90A70044 */ lbu $a3, 0x44($a1)
|
||||
/* B4A114 800D2F74 00826021 */ addu $t4, $a0, $v0
|
||||
/* B4A118 800D2F78 18E00003 */ blez $a3, .L800D2F88
|
||||
/* B4A11C 800D2F7C 24F8FFFF */ addiu $t8, $a3, -1
|
||||
/* B4A120 800D2F80 10000008 */ b .L800D2FA4
|
||||
/* B4A124 800D2F84 A0B80044 */ sb $t8, 0x44($a1)
|
||||
.L800D2F88:
|
||||
/* B4A128 800D2F88 90B90084 */ lbu $t9, 0x84($a1)
|
||||
/* B4A12C 800D2F8C 00D93823 */ subu $a3, $a2, $t9
|
||||
/* B4A130 800D2F90 58E00004 */ blezl $a3, .L800D2FA4
|
||||
/* B4A134 800D2F94 A0A00004 */ sb $zero, 4($a1)
|
||||
/* B4A138 800D2F98 10000002 */ b .L800D2FA4
|
||||
/* B4A13C 800D2F9C A0A70004 */ sb $a3, 4($a1)
|
||||
/* B4A140 800D2FA0 A0A00004 */ sb $zero, 4($a1)
|
||||
.L800D2FA4:
|
||||
/* B4A144 800D2FA4 90A60004 */ lbu $a2, 4($a1)
|
||||
/* B4A148 800D2FA8 90AA00C4 */ lbu $t2, 0xc4($a1)
|
||||
/* B4A14C 800D2FAC 00CA3821 */ addu $a3, $a2, $t2
|
||||
/* B4A150 800D2FB0 14490006 */ bne $v0, $t1, .L800D2FCC
|
||||
/* B4A154 800D2FB4 A0A700C4 */ sb $a3, 0xc4($a1)
|
||||
/* B4A158 800D2FB8 28EB0100 */ slti $t3, $a3, 0x100
|
||||
/* B4A15C 800D2FBC 396B0001 */ xori $t3, $t3, 1
|
||||
/* B4A160 800D2FC0 00601025 */ move $v0, $v1
|
||||
/* B4A164 800D2FC4 10000009 */ b .L800D2FEC
|
||||
/* B4A168 800D2FC8 A08B0000 */ sb $t3, ($a0)
|
||||
.L800D2FCC:
|
||||
/* B4A16C 800D2FCC 918D0004 */ lbu $t5, 4($t4)
|
||||
/* B4A170 800D2FD0 28EE0100 */ slti $t6, $a3, 0x100
|
||||
/* B4A174 800D2FD4 39CE0001 */ xori $t6, $t6, 1
|
||||
/* B4A178 800D2FD8 01A6082A */ slt $at, $t5, $a2
|
||||
/* B4A17C 800D2FDC 50200004 */ beql $at, $zero, .L800D2FF0
|
||||
/* B4A180 800D2FE0 24630001 */ addiu $v1, $v1, 1
|
||||
/* B4A184 800D2FE4 00601025 */ move $v0, $v1
|
||||
/* B4A188 800D2FE8 A08E0000 */ sb $t6, ($a0)
|
||||
.L800D2FEC:
|
||||
/* B4A18C 800D2FEC 24630001 */ addiu $v1, $v1, 1
|
||||
.L800D2FF0:
|
||||
/* B4A190 800D2FF0 1468FFDC */ bne $v1, $t0, .L800D2F64
|
||||
/* B4A194 800D2FF4 24A50001 */ addiu $a1, $a1, 1
|
||||
/* B4A198 800D2FF8 9083010A */ lbu $v1, 0x10a($a0)
|
||||
/* B4A19C 800D2FFC 10600014 */ beqz $v1, .L800D3050
|
||||
/* B4A1A0 800D3000 00000000 */ nop
|
||||
/* B4A1A4 800D3004 9085010B */ lbu $a1, 0x10b($a0)
|
||||
/* B4A1A8 800D3008 18A00003 */ blez $a1, .L800D3018
|
||||
/* B4A1AC 800D300C 24AFFFFF */ addiu $t7, $a1, -1
|
||||
/* B4A1B0 800D3010 10000008 */ b .L800D3034
|
||||
/* B4A1B4 800D3014 A08F010B */ sb $t7, 0x10b($a0)
|
||||
.L800D3018:
|
||||
/* B4A1B8 800D3018 9098010C */ lbu $t8, 0x10c($a0)
|
||||
/* B4A1BC 800D301C 00783823 */ subu $a3, $v1, $t8
|
||||
/* B4A1C0 800D3020 58E00004 */ blezl $a3, .L800D3034
|
||||
/* B4A1C4 800D3024 A080010A */ sb $zero, 0x10a($a0)
|
||||
/* B4A1C8 800D3028 10000002 */ b .L800D3034
|
||||
/* B4A1CC 800D302C A087010A */ sb $a3, 0x10a($a0)
|
||||
/* B4A1D0 800D3030 A080010A */ sb $zero, 0x10a($a0)
|
||||
.L800D3034:
|
||||
/* B4A1D4 800D3034 9083010A */ lbu $v1, 0x10a($a0)
|
||||
/* B4A1D8 800D3038 9099010D */ lbu $t9, 0x10d($a0)
|
||||
/* B4A1DC 800D303C 03233821 */ addu $a3, $t9, $v1
|
||||
/* B4A1E0 800D3040 28EA0100 */ slti $t2, $a3, 0x100
|
||||
/* B4A1E4 800D3044 394A0001 */ xori $t2, $t2, 1
|
||||
/* B4A1E8 800D3048 A087010D */ sb $a3, 0x10d($a0)
|
||||
/* B4A1EC 800D304C A08A0000 */ sb $t2, ($a0)
|
||||
.L800D3050:
|
||||
/* B4A1F0 800D3050 10600003 */ beqz $v1, .L800D3060
|
||||
/* B4A1F4 800D3054 00000000 */ nop
|
||||
/* B4A1F8 800D3058 10000006 */ b .L800D3074
|
||||
/* B4A1FC 800D305C 00603825 */ move $a3, $v1
|
||||
.L800D3060:
|
||||
/* B4A200 800D3060 14490003 */ bne $v0, $t1, .L800D3070
|
||||
/* B4A204 800D3064 00825821 */ addu $t3, $a0, $v0
|
||||
/* B4A208 800D3068 10000002 */ b .L800D3074
|
||||
/* B4A20C 800D306C 00003825 */ move $a3, $zero
|
||||
.L800D3070:
|
||||
/* B4A210 800D3070 91670004 */ lbu $a3, 4($t3)
|
||||
.L800D3074:
|
||||
/* B4A214 800D3074 54E0000C */ bnezl $a3, .L800D30A8
|
||||
/* B4A218 800D3078 94980106 */ lhu $t8, 0x106($a0)
|
||||
/* B4A21C 800D307C 948C0108 */ lhu $t4, 0x108($a0)
|
||||
/* B4A220 800D3080 240F0005 */ li $t7, 5
|
||||
/* B4A224 800D3084 258D0001 */ addiu $t5, $t4, 1
|
||||
/* B4A228 800D3088 31AEFFFF */ andi $t6, $t5, 0xffff
|
||||
/* B4A22C 800D308C 29C10006 */ slti $at, $t6, 6
|
||||
/* B4A230 800D3090 14200029 */ bnez $at, .L800D3138
|
||||
/* B4A234 800D3094 A48D0108 */ sh $t5, 0x108($a0)
|
||||
/* B4A238 800D3098 A4800106 */ sh $zero, 0x106($a0)
|
||||
/* B4A23C 800D309C 03E00008 */ jr $ra
|
||||
/* B4A240 800D30A0 A48F0108 */ sh $t7, 0x108($a0)
|
||||
/* B4A244 800D30A4 94980106 */ lhu $t8, 0x106($a0)
|
||||
.L800D30A8:
|
||||
/* B4A248 800D30A8 A4800108 */ sh $zero, 0x108($a0)
|
||||
/* B4A24C 800D30AC 27190001 */ addiu $t9, $t8, 1
|
||||
/* B4A250 800D30B0 332AFFFF */ andi $t2, $t9, 0xffff
|
||||
/* B4A254 800D30B4 29411C21 */ slti $at, $t2, 0x1c21
|
||||
/* B4A258 800D30B8 1420001F */ bnez $at, .L800D3138
|
||||
/* B4A25C 800D30BC A4990106 */ sh $t9, 0x106($a0)
|
||||
/* B4A260 800D30C0 03E00008 */ jr $ra
|
||||
/* B4A264 800D30C4 A0800104 */ sb $zero, 0x104($a0)
|
||||
.L800D30C8:
|
||||
/* B4A268 800D30C8 00001825 */ move $v1, $zero
|
||||
/* B4A26C 800D30CC 00802825 */ move $a1, $a0
|
||||
.L800D30D0:
|
||||
/* B4A270 800D30D0 24630004 */ addiu $v1, $v1, 4
|
||||
/* B4A274 800D30D4 A0A000C5 */ sb $zero, 0xc5($a1)
|
||||
/* B4A278 800D30D8 A0A00085 */ sb $zero, 0x85($a1)
|
||||
/* B4A27C 800D30DC A0A00045 */ sb $zero, 0x45($a1)
|
||||
/* B4A280 800D30E0 A0A00005 */ sb $zero, 5($a1)
|
||||
/* B4A284 800D30E4 A0A000C6 */ sb $zero, 0xc6($a1)
|
||||
/* B4A288 800D30E8 A0A00086 */ sb $zero, 0x86($a1)
|
||||
/* B4A28C 800D30EC A0A00046 */ sb $zero, 0x46($a1)
|
||||
/* B4A290 800D30F0 A0A00006 */ sb $zero, 6($a1)
|
||||
/* B4A294 800D30F4 A0A000C7 */ sb $zero, 0xc7($a1)
|
||||
/* B4A298 800D30F8 A0A00087 */ sb $zero, 0x87($a1)
|
||||
/* B4A29C 800D30FC A0A00047 */ sb $zero, 0x47($a1)
|
||||
/* B4A2A0 800D3100 A0A00007 */ sb $zero, 7($a1)
|
||||
/* B4A2A4 800D3104 24A50004 */ addiu $a1, $a1, 4
|
||||
/* B4A2A8 800D3108 A0A000C0 */ sb $zero, 0xc0($a1)
|
||||
/* B4A2AC 800D310C A0A00080 */ sb $zero, 0x80($a1)
|
||||
/* B4A2B0 800D3110 A0A00040 */ sb $zero, 0x40($a1)
|
||||
/* B4A2B4 800D3114 1468FFEE */ bne $v1, $t0, .L800D30D0
|
||||
/* B4A2B8 800D3118 A0A00000 */ sb $zero, ($a1)
|
||||
/* B4A2BC 800D311C 300300FF */ andi $v1, $zero, 0xff
|
||||
/* B4A2C0 800D3120 A083010C */ sb $v1, 0x10c($a0)
|
||||
/* B4A2C4 800D3124 A083010B */ sb $v1, 0x10b($a0)
|
||||
/* B4A2C8 800D3128 A083010A */ sb $v1, 0x10a($a0)
|
||||
/* B4A2CC 800D312C A4830108 */ sh $v1, 0x108($a0)
|
||||
/* B4A2D0 800D3130 A4830106 */ sh $v1, 0x106($a0)
|
||||
/* B4A2D4 800D3134 A080010D */ sb $zero, 0x10d($a0)
|
||||
.L800D3138:
|
||||
/* B4A2D8 800D3138 03E00008 */ jr $ra
|
||||
/* B4A2DC 800D313C 00000000 */ nop
|
||||
|
||||
glabel func_800D3140
|
||||
/* B4A2E0 800D3140 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B4A2E4 800D3144 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B4A2E8 800D3148 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B4A2EC 800D314C 0C001114 */ jal bzero
|
||||
/* B4A2F0 800D3150 2405010E */ li $a1, 270
|
||||
/* B4A2F4 800D3154 8FA40018 */ lw $a0, 0x18($sp)
|
||||
/* B4A2F8 800D3158 240E0002 */ li $t6, 2
|
||||
/* B4A2FC 800D315C 240F0001 */ li $t7, 1
|
||||
/* B4A300 800D3160 A08E0104 */ sb $t6, 0x104($a0)
|
||||
/* B4A304 800D3164 A08F0105 */ sb $t7, 0x105($a0)
|
||||
/* B4A308 800D3168 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B4A30C 800D316C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B4A310 800D3170 03E00008 */ jr $ra
|
||||
/* B4A314 800D3174 00000000 */ nop
|
||||
|
||||
glabel func_800D3178
|
||||
/* B4A318 800D3178 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B4A31C 800D317C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B4A320 800D3180 0C001114 */ jal bzero
|
||||
/* B4A324 800D3184 2405010E */ li $a1, 270
|
||||
/* B4A328 800D3188 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B4A32C 800D318C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B4A330 800D3190 03E00008 */ jr $ra
|
||||
/* B4A334 800D3194 00000000 */ nop
|
||||
@@ -0,0 +1,48 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800D31A0
|
||||
/* B4A340 800D31A0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B4A344 800D31A4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B4A348 800D31A8 3C048014 */ lui $a0, %hi(D_80146670) # $a0, 0x8014
|
||||
/* B4A34C 800D31AC 0C00084C */ jal osSyncPrintf
|
||||
/* B4A350 800D31B0 24846670 */ addiu $a0, %lo(D_80146670) # addiu $a0, $a0, 0x6670
|
||||
.L800D31B4:
|
||||
/* B4A354 800D31B4 0C03FD2B */ jal func_800FF4AC
|
||||
/* B4A358 800D31B8 240403E8 */ li $a0, 1000
|
||||
/* B4A35C 800D31BC 1000FFFD */ b .L800D31B4
|
||||
/* B4A360 800D31C0 00000000 */ nop
|
||||
/* B4A364 800D31C4 00000000 */ nop
|
||||
/* B4A368 800D31C8 00000000 */ nop
|
||||
/* B4A36C 800D31CC 00000000 */ nop
|
||||
/* B4A370 800D31D0 00000000 */ nop
|
||||
/* B4A374 800D31D4 00000000 */ nop
|
||||
/* B4A378 800D31D8 00000000 */ nop
|
||||
/* B4A37C 800D31DC 00000000 */ nop
|
||||
/* B4A380 800D31E0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B4A384 800D31E4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B4A388 800D31E8 03E00008 */ jr $ra
|
||||
/* B4A38C 800D31EC 00000000 */ nop
|
||||
|
||||
glabel func_800D31F0
|
||||
/* B4A390 800D31F0 3C0E8016 */ lui $t6, %hi(gPadMgr) # $t6, 0x8016
|
||||
/* B4A394 800D31F4 25CE68C0 */ addiu $t6, %lo(gPadMgr) # addiu $t6, $t6, 0x68c0
|
||||
/* B4A398 800D31F8 91CF02A8 */ lbu $t7, 0x2a8($t6)
|
||||
/* B4A39C 800D31FC 3C018013 */ lui $at, %hi(D_8012DBC0)
|
||||
/* B4A3A0 800D3200 31F80002 */ andi $t8, $t7, 2
|
||||
/* B4A3A4 800D3204 0018C82B */ sltu $t9, $zero, $t8
|
||||
/* B4A3A8 800D3208 03E00008 */ jr $ra
|
||||
/* B4A3AC 800D320C AC39DBC0 */ sw $t9, %lo(D_8012DBC0)($at)
|
||||
|
||||
glabel func_800D3210
|
||||
/* B4A3B0 800D3210 3C018013 */ lui $at, %hi(D_8012DBC0)
|
||||
/* B4A3B4 800D3214 03E00008 */ jr $ra
|
||||
/* B4A3B8 800D3218 AC20DBC0 */ sw $zero, %lo(D_8012DBC0)($at)
|
||||
@@ -0,0 +1,57 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800D71F0
|
||||
/* B4E390 800D71F0 34018800 */ li $at, 34816
|
||||
/* B4E394 800D71F4 0081082A */ slt $at, $a0, $at
|
||||
/* B4E398 800D71F8 14200010 */ bnez $at, .L800D723C
|
||||
/* B4E39C 800D71FC 240600BC */ li $a2, 188
|
||||
/* B4E3A0 800D7200 00042A02 */ srl $a1, $a0, 8
|
||||
/* B4E3A4 800D7204 20A5FF78 */ addi $a1, $a1, -0x88
|
||||
/* B4E3A8 800D7208 00C50019 */ multu $a2, $a1
|
||||
/* B4E3AC 800D720C 308700FF */ andi $a3, $a0, 0xff
|
||||
/* B4E3B0 800D7210 20E7FFC0 */ addi $a3, $a3, -0x40
|
||||
/* B4E3B4 800D7214 28E10040 */ slti $at, $a3, 0x40
|
||||
/* B4E3B8 800D7218 00003012 */ mflo $a2
|
||||
/* B4E3BC 800D721C 54200003 */ bnezl $at, .L800D722C
|
||||
/* B4E3C0 800D7220 00003012 */ mflo $a2
|
||||
/* B4E3C4 800D7224 20E7FFFF */ addi $a3, $a3, -1
|
||||
/* B4E3C8 800D7228 00003012 */ mflo $a2
|
||||
.L800D722C:
|
||||
/* B4E3CC 800D722C 20E7030A */ addi $a3, $a3, 0x30a
|
||||
/* B4E3D0 800D7230 00E63820 */ add $a3, $a3, $a2
|
||||
/* B4E3D4 800D7234 03E00008 */ jr $ra
|
||||
/* B4E3D8 800D7238 000711C0 */ sll $v0, $a3, 7
|
||||
|
||||
.L800D723C:
|
||||
/* B4E3DC 800D723C 00042A02 */ srl $a1, $a0, 8
|
||||
/* B4E3E0 800D7240 20A5FF7F */ addi $a1, $a1, -0x81
|
||||
/* B4E3E4 800D7244 00C50019 */ multu $a2, $a1
|
||||
/* B4E3E8 800D7248 308700FF */ andi $a3, $a0, 0xff
|
||||
/* B4E3EC 800D724C 20E7FFC0 */ addi $a3, $a3, -0x40
|
||||
/* B4E3F0 800D7250 28E10040 */ slti $at, $a3, 0x40
|
||||
/* B4E3F4 800D7254 00003012 */ mflo $a2
|
||||
/* B4E3F8 800D7258 54200003 */ bnezl $at, .L800D7268
|
||||
/* B4E3FC 800D725C 00003012 */ mflo $a2
|
||||
/* B4E400 800D7260 20E7FFFF */ addi $a3, $a3, -1
|
||||
/* B4E404 800D7264 00003012 */ mflo $a2
|
||||
.L800D7268:
|
||||
/* B4E408 800D7268 00E63820 */ add $a3, $a3, $a2
|
||||
/* B4E40C 800D726C 3C06800D */ lui $a2, %hi(D_800D7288) # $a2, 0x800d
|
||||
/* B4E410 800D7270 00073840 */ sll $a3, $a3, 1
|
||||
/* B4E414 800D7274 24C67288 */ addiu $a2, %lo(D_800D7288) # addiu $a2, $a2, 0x7288
|
||||
/* B4E418 800D7278 00E63820 */ add $a3, $a3, $a2
|
||||
/* B4E41C 800D727C 84E60000 */ lh $a2, ($a3)
|
||||
/* B4E420 800D7280 03E00008 */ jr $ra
|
||||
/* B4E424 800D7284 000611C0 */ sll $v0, $a2, 7
|
||||
|
||||
glabel D_800D7288
|
||||
.incbin "baserom.z64", 0xB4E428, 0xB4EE70-0xB4E428
|
||||
+3434
File diff suppressed because it is too large
Load Diff
+3517
File diff suppressed because it is too large
Load Diff
+3730
File diff suppressed because it is too large
Load Diff
+6253
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,82 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800E6840
|
||||
/* B5D9E0 800E6840 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* B5D9E4 800E6844 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B5D9E8 800E6848 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* B5D9EC 800E684C AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* B5D9F0 800E6850 0C0013D0 */ jal osSetIntMask
|
||||
/* B5D9F4 800E6854 24040001 */ li $a0, 1
|
||||
/* B5D9F8 800E6858 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* B5D9FC 800E685C 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* B5DA00 800E6860 0C001880 */ jal osInvalDCache
|
||||
/* B5DA04 800E6864 8FA50024 */ lw $a1, 0x24($sp)
|
||||
/* B5DA08 800E6868 0C0013D0 */ jal osSetIntMask
|
||||
/* B5DA0C 800E686C 8FA4001C */ lw $a0, 0x1c($sp)
|
||||
/* B5DA10 800E6870 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B5DA14 800E6874 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* B5DA18 800E6878 03E00008 */ jr $ra
|
||||
/* B5DA1C 800E687C 00000000 */ nop
|
||||
|
||||
glabel func_800E6880
|
||||
/* B5DA20 800E6880 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* B5DA24 800E6884 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B5DA28 800E6888 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* B5DA2C 800E688C AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* B5DA30 800E6890 0C0013D0 */ jal osSetIntMask
|
||||
/* B5DA34 800E6894 24040001 */ li $a0, 1
|
||||
/* B5DA38 800E6898 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* B5DA3C 800E689C 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* B5DA40 800E68A0 0C0011B0 */ jal osWritebackDCache
|
||||
/* B5DA44 800E68A4 8FA50024 */ lw $a1, 0x24($sp)
|
||||
/* B5DA48 800E68A8 0C0013D0 */ jal osSetIntMask
|
||||
/* B5DA4C 800E68AC 8FA4001C */ lw $a0, 0x1c($sp)
|
||||
/* B5DA50 800E68B0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B5DA54 800E68B4 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* B5DA58 800E68B8 03E00008 */ jr $ra
|
||||
/* B5DA5C 800E68BC 00000000 */ nop
|
||||
|
||||
glabel func_800E68C0
|
||||
/* B5DA60 800E68C0 3C0E8013 */ lui $t6, %hi(D_80130500) # $t6, 0x8013
|
||||
/* B5DA64 800E68C4 91CE0500 */ lbu $t6, %lo(D_80130500)($t6)
|
||||
/* B5DA68 800E68C8 00857821 */ addu $t7, $a0, $a1
|
||||
/* B5DA6C 800E68CC 00801825 */ move $v1, $a0
|
||||
/* B5DA70 800E68D0 11C00002 */ beqz $t6, .L800E68DC
|
||||
/* B5DA74 800E68D4 31F81FFF */ andi $t8, $t7, 0x1fff
|
||||
/* B5DA78 800E68D8 2483E000 */ addiu $v1, $a0, -0x2000
|
||||
.L800E68DC:
|
||||
/* B5DA7C 800E68DC 17000005 */ bnez $t8, .L800E68F4
|
||||
/* B5DA80 800E68E0 3C08A450 */ lui $t0, %hi(D_A450000C) # $t0, 0xa450
|
||||
/* B5DA84 800E68E4 24190001 */ li $t9, 1
|
||||
/* B5DA88 800E68E8 3C018013 */ lui $at, %hi(D_80130500) # $at, 0x8013
|
||||
/* B5DA8C 800E68EC 10000003 */ b .L800E68FC
|
||||
/* B5DA90 800E68F0 A0390500 */ sb $t9, %lo(D_80130500)($at)
|
||||
.L800E68F4:
|
||||
/* B5DA94 800E68F4 3C018013 */ lui $at, %hi(D_80130500) # $at, 0x8013
|
||||
/* B5DA98 800E68F8 A0200500 */ sb $zero, %lo(D_80130500)($at)
|
||||
.L800E68FC:
|
||||
/* B5DA9C 800E68FC 8D02000C */ lw $v0, %lo(D_A450000C)($t0)
|
||||
/* B5DAA0 800E6900 3C018000 */ lui $at, 0x8000
|
||||
/* B5DAA4 800E6904 00615021 */ addu $t2, $v1, $at
|
||||
/* B5DAA8 800E6908 00024800 */ sll $t1, $v0, 0
|
||||
/* B5DAAC 800E690C 05210003 */ bgez $t1, .L800E691C
|
||||
/* B5DAB0 800E6910 3C0BA450 */ lui $t3, 0xa450
|
||||
/* B5DAB4 800E6914 03E00008 */ jr $ra
|
||||
/* B5DAB8 800E6918 2402FFFF */ li $v0, -1
|
||||
|
||||
.L800E691C:
|
||||
/* B5DABC 800E691C AD6A0000 */ sw $t2, ($t3)
|
||||
/* B5DAC0 800E6920 3C0CA450 */ lui $t4, %hi(D_A4500004) # $t4, 0xa450
|
||||
/* B5DAC4 800E6924 AD850004 */ sw $a1, %lo(D_A4500004)($t4)
|
||||
/* B5DAC8 800E6928 00001025 */ move $v0, $zero
|
||||
/* B5DACC 800E692C 03E00008 */ jr $ra
|
||||
/* B5DAD0 800E6930 00000000 */ nop
|
||||
+2241
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,764 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800E88C0
|
||||
/* B5FA60 800E88C0 8C820000 */ lw $v0, ($a0)
|
||||
/* B5FA64 800E88C4 00803825 */ move $a3, $a0
|
||||
/* B5FA68 800E88C8 24090010 */ li $t1, 16
|
||||
/* B5FA6C 800E88CC 00027A40 */ sll $t7, $v0, 9
|
||||
/* B5FA70 800E88D0 05E00003 */ bltz $t7, .L800E88E0
|
||||
/* B5FA74 800E88D4 24080080 */ li $t0, 128
|
||||
/* B5FA78 800E88D8 50A00016 */ beql $a1, $zero, .L800E8934
|
||||
/* B5FA7C 800E88DC 00027280 */ sll $t6, $v0, 0xa
|
||||
.L800E88E0:
|
||||
/* B5FA80 800E88E0 C484002C */ lwc1 $f4, 0x2c($a0)
|
||||
/* B5FA84 800E88E4 C4860028 */ lwc1 $f6, 0x28($a0)
|
||||
/* B5FA88 800E88E8 8C82004C */ lw $v0, 0x4c($a0)
|
||||
/* B5FA8C 800E88EC 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* B5FA90 800E88F0 C44A0030 */ lwc1 $f10, 0x30($v0)
|
||||
/* B5FA94 800E88F4 8C580000 */ lw $t8, ($v0)
|
||||
/* B5FA98 800E88F8 00185080 */ sll $t2, $t8, 2
|
||||
/* B5FA9C 800E88FC 460A4002 */ mul.s $f0, $f8, $f10
|
||||
/* B5FAA0 800E8900 05410008 */ bgez $t2, .L800E8924
|
||||
/* B5FAA4 800E8904 00000000 */ nop
|
||||
/* B5FAA8 800E8908 908B0003 */ lbu $t3, 3($a0)
|
||||
/* B5FAAC 800E890C 316C0020 */ andi $t4, $t3, 0x20
|
||||
/* B5FAB0 800E8910 11800004 */ beqz $t4, .L800E8924
|
||||
/* B5FAB4 800E8914 00000000 */ nop
|
||||
/* B5FAB8 800E8918 C4500028 */ lwc1 $f16, 0x28($v0)
|
||||
/* B5FABC 800E891C 46008002 */ mul.s $f0, $f16, $f0
|
||||
/* B5FAC0 800E8920 00000000 */ nop
|
||||
.L800E8924:
|
||||
/* B5FAC4 800E8924 46000482 */ mul.s $f18, $f0, $f0
|
||||
/* B5FAC8 800E8928 8C820000 */ lw $v0, ($a0)
|
||||
/* B5FACC 800E892C E4920034 */ swc1 $f18, 0x34($a0)
|
||||
/* B5FAD0 800E8930 00027280 */ sll $t6, $v0, 0xa
|
||||
.L800E8934:
|
||||
/* B5FAD4 800E8934 05C10007 */ bgez $t6, .L800E8954
|
||||
/* B5FAD8 800E8938 00000000 */ nop
|
||||
/* B5FADC 800E893C 908F000A */ lbu $t7, 0xa($a0)
|
||||
/* B5FAE0 800E8940 9098000B */ lbu $t8, 0xb($a0)
|
||||
/* B5FAE4 800E8944 01F80019 */ multu $t7, $t8
|
||||
/* B5FAE8 800E8948 0000C812 */ mflo $t9
|
||||
/* B5FAEC 800E894C AC990030 */ sw $t9, 0x30($a0)
|
||||
/* B5FAF0 800E8950 00000000 */ nop
|
||||
.L800E8954:
|
||||
/* B5FAF4 800E8954 10C00008 */ beqz $a2, .L800E8978
|
||||
/* B5FAF8 800E8958 C4800038 */ lwc1 $f0, 0x38($a0)
|
||||
/* B5FAFC 800E895C 8C8A004C */ lw $t2, 0x4c($a0)
|
||||
/* B5FB00 800E8960 908C0001 */ lbu $t4, 1($a0)
|
||||
/* B5FB04 800E8964 C5440034 */ lwc1 $f4, 0x34($t2)
|
||||
/* B5FB08 800E8968 358D0080 */ ori $t5, $t4, 0x80
|
||||
/* B5FB0C 800E896C A08D0001 */ sb $t5, 1($a0)
|
||||
/* B5FB10 800E8970 46040002 */ mul.s $f0, $f0, $f4
|
||||
/* B5FB14 800E8974 00000000 */ nop
|
||||
.L800E8978:
|
||||
/* B5FB18 800E8978 00003025 */ move $a2, $zero
|
||||
.L800E897C:
|
||||
/* B5FB1C 800E897C 8CE30050 */ lw $v1, 0x50($a3)
|
||||
/* B5FB20 800E8980 24C60004 */ addiu $a2, $a2, 4
|
||||
/* B5FB24 800E8984 1060003C */ beqz $v1, .L800E8A78
|
||||
/* B5FB28 800E8988 00000000 */ nop
|
||||
/* B5FB2C 800E898C 8C6E0000 */ lw $t6, ($v1)
|
||||
/* B5FB30 800E8990 000E7FC2 */ srl $t7, $t6, 0x1f
|
||||
/* B5FB34 800E8994 11E00038 */ beqz $t7, .L800E8A78
|
||||
/* B5FB38 800E8998 00000000 */ nop
|
||||
/* B5FB3C 800E899C 8C78002C */ lw $t8, 0x2c($v1)
|
||||
/* B5FB40 800E89A0 13000035 */ beqz $t8, .L800E8A78
|
||||
/* B5FB44 800E89A4 00000000 */ nop
|
||||
/* B5FB48 800E89A8 90620000 */ lbu $v0, ($v1)
|
||||
/* B5FB4C 800E89AC 30590001 */ andi $t9, $v0, 1
|
||||
/* B5FB50 800E89B0 53200015 */ beql $t9, $zero, .L800E8A08
|
||||
/* B5FB54 800E89B4 808A0001 */ lb $t2, 1($a0)
|
||||
/* B5FB58 800E89B8 C4660030 */ lwc1 $f6, 0x30($v1)
|
||||
/* B5FB5C 800E89BC C46A0038 */ lwc1 $f10, 0x38($v1)
|
||||
/* B5FB60 800E89C0 906A0006 */ lbu $t2, 6($v1)
|
||||
/* B5FB64 800E89C4 46003202 */ mul.s $f8, $f6, $f0
|
||||
/* B5FB68 800E89C8 3059FFFE */ andi $t9, $v0, 0xfffe
|
||||
/* B5FB6C 800E89CC E4680044 */ swc1 $f8, 0x44($v1)
|
||||
/* B5FB70 800E89D0 C4900034 */ lwc1 $f16, 0x34($a0)
|
||||
/* B5FB74 800E89D4 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* B5FB78 800E89D8 E4720040 */ swc1 $f18, 0x40($v1)
|
||||
/* B5FB7C 800E89DC 908B000B */ lbu $t3, 0xb($a0)
|
||||
/* B5FB80 800E89E0 8C8E0030 */ lw $t6, 0x30($a0)
|
||||
/* B5FB84 800E89E4 A0790000 */ sb $t9, ($v1)
|
||||
/* B5FB88 800E89E8 010B6023 */ subu $t4, $t0, $t3
|
||||
/* B5FB8C 800E89EC 014C0019 */ multu $t2, $t4
|
||||
/* B5FB90 800E89F0 00006812 */ mflo $t5
|
||||
/* B5FB94 800E89F4 01CD7821 */ addu $t7, $t6, $t5
|
||||
/* B5FB98 800E89F8 000FC1C3 */ sra $t8, $t7, 7
|
||||
/* B5FB9C 800E89FC 1000001E */ b .L800E8A78
|
||||
/* B5FBA0 800E8A00 A0780007 */ sb $t8, 7($v1)
|
||||
/* B5FBA4 800E8A04 808A0001 */ lb $t2, 1($a0)
|
||||
.L800E8A08:
|
||||
/* B5FBA8 800E8A08 05430005 */ bgezl $t2, .L800E8A20
|
||||
/* B5FBAC 800E8A0C 8C820000 */ lw $v0, ($a0)
|
||||
/* B5FBB0 800E8A10 C4640030 */ lwc1 $f4, 0x30($v1)
|
||||
/* B5FBB4 800E8A14 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* B5FBB8 800E8A18 E4660044 */ swc1 $f6, 0x44($v1)
|
||||
/* B5FBBC 800E8A1C 8C820000 */ lw $v0, ($a0)
|
||||
.L800E8A20:
|
||||
/* B5FBC0 800E8A20 00027240 */ sll $t6, $v0, 9
|
||||
/* B5FBC4 800E8A24 05C20004 */ bltzl $t6, .L800E8A38
|
||||
/* B5FBC8 800E8A28 C4680038 */ lwc1 $f8, 0x38($v1)
|
||||
/* B5FBCC 800E8A2C 50A00007 */ beql $a1, $zero, .L800E8A4C
|
||||
/* B5FBD0 800E8A30 00027A80 */ sll $t7, $v0, 0xa
|
||||
/* B5FBD4 800E8A34 C4680038 */ lwc1 $f8, 0x38($v1)
|
||||
.L800E8A38:
|
||||
/* B5FBD8 800E8A38 C48A0034 */ lwc1 $f10, 0x34($a0)
|
||||
/* B5FBDC 800E8A3C 460A4402 */ mul.s $f16, $f8, $f10
|
||||
/* B5FBE0 800E8A40 E4700040 */ swc1 $f16, 0x40($v1)
|
||||
/* B5FBE4 800E8A44 8C820000 */ lw $v0, ($a0)
|
||||
/* B5FBE8 800E8A48 00027A80 */ sll $t7, $v0, 0xa
|
||||
.L800E8A4C:
|
||||
/* B5FBEC 800E8A4C 05E1000A */ bgez $t7, .L800E8A78
|
||||
/* B5FBF0 800E8A50 00000000 */ nop
|
||||
/* B5FBF4 800E8A54 9099000B */ lbu $t9, 0xb($a0)
|
||||
/* B5FBF8 800E8A58 90780006 */ lbu $t8, 6($v1)
|
||||
/* B5FBFC 800E8A5C 8C8C0030 */ lw $t4, 0x30($a0)
|
||||
/* B5FC00 800E8A60 01195823 */ subu $t3, $t0, $t9
|
||||
/* B5FC04 800E8A64 030B0019 */ multu $t8, $t3
|
||||
/* B5FC08 800E8A68 00005012 */ mflo $t2
|
||||
/* B5FC0C 800E8A6C 018A7021 */ addu $t6, $t4, $t2
|
||||
/* B5FC10 800E8A70 000E69C3 */ sra $t5, $t6, 7
|
||||
/* B5FC14 800E8A74 A06D0007 */ sb $t5, 7($v1)
|
||||
.L800E8A78:
|
||||
/* B5FC18 800E8A78 14C9FFC0 */ bne $a2, $t1, .L800E897C
|
||||
/* B5FC1C 800E8A7C 24E70004 */ addiu $a3, $a3, 4
|
||||
/* B5FC20 800E8A80 03E00008 */ jr $ra
|
||||
/* B5FC24 800E8A84 A0800001 */ sb $zero, 1($a0)
|
||||
|
||||
glabel func_800E8A88
|
||||
/* B5FC28 800E8A88 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* B5FC2C 800E8A8C AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B5FC30 800E8A90 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* B5FC34 800E8A94 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* B5FC38 800E8A98 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* B5FC3C 800E8A9C AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* B5FC40 800E8AA0 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B5FC44 800E8AA4 948E0012 */ lhu $t6, 0x12($a0)
|
||||
/* B5FC48 800E8AA8 00809025 */ move $s2, $a0
|
||||
/* B5FC4C 800E8AAC 02408825 */ move $s1, $s2
|
||||
/* B5FC50 800E8AB0 11C00025 */ beqz $t6, .L800E8B48
|
||||
/* B5FC54 800E8AB4 00008025 */ move $s0, $zero
|
||||
/* B5FC58 800E8AB8 C484001C */ lwc1 $f4, 0x1c($a0)
|
||||
/* B5FC5C 800E8ABC C4860020 */ lwc1 $f6, 0x20($a0)
|
||||
/* B5FC60 800E8AC0 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B5FC64 800E8AC4 44811000 */ mtc1 $at, $f2
|
||||
/* B5FC68 800E8AC8 46062200 */ add.s $f8, $f4, $f6
|
||||
/* B5FC6C 800E8ACC 90980000 */ lbu $t8, ($a0)
|
||||
/* B5FC70 800E8AD0 E488001C */ swc1 $f8, 0x1c($a0)
|
||||
/* B5FC74 800E8AD4 C480001C */ lwc1 $f0, 0x1c($a0)
|
||||
/* B5FC78 800E8AD8 37190004 */ ori $t9, $t8, 4
|
||||
/* B5FC7C 800E8ADC A0990000 */ sb $t9, ($a0)
|
||||
/* B5FC80 800E8AE0 4600103C */ c.lt.s $f2, $f0
|
||||
/* B5FC84 800E8AE4 00000000 */ nop
|
||||
/* B5FC88 800E8AE8 45020004 */ bc1fl .L800E8AFC
|
||||
/* B5FC8C 800E8AEC 44801000 */ mtc1 $zero, $f2
|
||||
/* B5FC90 800E8AF0 E482001C */ swc1 $f2, 0x1c($a0)
|
||||
/* B5FC94 800E8AF4 C480001C */ lwc1 $f0, 0x1c($a0)
|
||||
/* B5FC98 800E8AF8 44801000 */ mtc1 $zero, $f2
|
||||
.L800E8AFC:
|
||||
/* B5FC9C 800E8AFC 00000000 */ nop
|
||||
/* B5FCA0 800E8B00 4602003C */ c.lt.s $f0, $f2
|
||||
/* B5FCA4 800E8B04 00000000 */ nop
|
||||
/* B5FCA8 800E8B08 45020003 */ bc1fl .L800E8B18
|
||||
/* B5FCAC 800E8B0C 96480012 */ lhu $t0, 0x12($s2)
|
||||
/* B5FCB0 800E8B10 E642001C */ swc1 $f2, 0x1c($s2)
|
||||
/* B5FCB4 800E8B14 96480012 */ lhu $t0, 0x12($s2)
|
||||
.L800E8B18:
|
||||
/* B5FCB8 800E8B18 2509FFFF */ addiu $t1, $t0, -1
|
||||
/* B5FCBC 800E8B1C 312AFFFF */ andi $t2, $t1, 0xffff
|
||||
/* B5FCC0 800E8B20 15400009 */ bnez $t2, .L800E8B48
|
||||
/* B5FCC4 800E8B24 A6490012 */ sh $t1, 0x12($s2)
|
||||
/* B5FCC8 800E8B28 924B0001 */ lbu $t3, 1($s2)
|
||||
/* B5FCCC 800E8B2C 24010002 */ li $at, 2
|
||||
/* B5FCD0 800E8B30 55610006 */ bnel $t3, $at, .L800E8B4C
|
||||
/* B5FCD4 800E8B34 8E4C0000 */ lw $t4, ($s2)
|
||||
/* B5FCD8 800E8B38 0C03A6DB */ jal func_800E9B6C
|
||||
/* B5FCDC 800E8B3C 02402025 */ move $a0, $s2
|
||||
/* B5FCE0 800E8B40 1000001D */ b .L800E8BB8
|
||||
/* B5FCE4 800E8B44 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L800E8B48:
|
||||
/* B5FCE8 800E8B48 8E4C0000 */ lw $t4, ($s2)
|
||||
.L800E8B4C:
|
||||
/* B5FCEC 800E8B4C 24140040 */ li $s4, 64
|
||||
/* B5FCF0 800E8B50 24130001 */ li $s3, 1
|
||||
/* B5FCF4 800E8B54 000C7140 */ sll $t6, $t4, 5
|
||||
/* B5FCF8 800E8B58 05C10005 */ bgez $t6, .L800E8B70
|
||||
/* B5FCFC 800E8B5C 00000000 */ nop
|
||||
/* B5FD00 800E8B60 C64A001C */ lwc1 $f10, 0x1c($s2)
|
||||
/* B5FD04 800E8B64 C650002C */ lwc1 $f16, 0x2c($s2)
|
||||
/* B5FD08 800E8B68 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* B5FD0C 800E8B6C E6520030 */ swc1 $f18, 0x30($s2)
|
||||
.L800E8B70:
|
||||
/* B5FD10 800E8B70 8E240038 */ lw $a0, 0x38($s1)
|
||||
/* B5FD14 800E8B74 8C8F0000 */ lw $t7, ($a0)
|
||||
/* B5FD18 800E8B78 000FC7C2 */ srl $t8, $t7, 0x1f
|
||||
/* B5FD1C 800E8B7C 56780008 */ bnel $s3, $t8, .L800E8BA0
|
||||
/* B5FD20 800E8B80 26100004 */ addiu $s0, $s0, 4
|
||||
/* B5FD24 800E8B84 8E450000 */ lw $a1, ($s2)
|
||||
/* B5FD28 800E8B88 92460000 */ lbu $a2, ($s2)
|
||||
/* B5FD2C 800E8B8C 00052940 */ sll $a1, $a1, 5
|
||||
/* B5FD30 800E8B90 00052FC2 */ srl $a1, $a1, 0x1f
|
||||
/* B5FD34 800E8B94 0C03A230 */ jal func_800E88C0
|
||||
/* B5FD38 800E8B98 30C60001 */ andi $a2, $a2, 1
|
||||
/* B5FD3C 800E8B9C 26100004 */ addiu $s0, $s0, 4
|
||||
.L800E8BA0:
|
||||
/* B5FD40 800E8BA0 1614FFF3 */ bne $s0, $s4, .L800E8B70
|
||||
/* B5FD44 800E8BA4 26310004 */ addiu $s1, $s1, 4
|
||||
/* B5FD48 800E8BA8 92590000 */ lbu $t9, ($s2)
|
||||
/* B5FD4C 800E8BAC 3328FFFB */ andi $t0, $t9, 0xfffb
|
||||
/* B5FD50 800E8BB0 A2480000 */ sb $t0, ($s2)
|
||||
/* B5FD54 800E8BB4 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L800E8BB8:
|
||||
/* B5FD58 800E8BB8 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B5FD5C 800E8BBC 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* B5FD60 800E8BC0 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* B5FD64 800E8BC4 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* B5FD68 800E8BC8 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* B5FD6C 800E8BCC 03E00008 */ jr $ra
|
||||
/* B5FD70 800E8BD0 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
|
||||
glabel func_800E8BD4
|
||||
/* B5FD74 800E8BD4 948E0002 */ lhu $t6, 2($a0)
|
||||
/* B5FD78 800E8BD8 948F0004 */ lhu $t7, 4($a0)
|
||||
/* B5FD7C 800E8BDC 01CF1021 */ addu $v0, $t6, $t7
|
||||
/* B5FD80 800E8BE0 A4820002 */ sh $v0, 2($a0)
|
||||
/* B5FD84 800E8BE4 00021203 */ sra $v0, $v0, 8
|
||||
/* B5FD88 800E8BE8 304200FF */ andi $v0, $v0, 0xff
|
||||
/* B5FD8C 800E8BEC 2C41007F */ sltiu $at, $v0, 0x7f
|
||||
/* B5FD90 800E8BF0 54200004 */ bnezl $at, .L800E8C04
|
||||
/* B5FD94 800E8BF4 3C013F80 */ lui $at, 0x3f80
|
||||
/* B5FD98 800E8BF8 2402007F */ li $v0, 127
|
||||
/* B5FD9C 800E8BFC A0800000 */ sb $zero, ($a0)
|
||||
/* B5FDA0 800E8C00 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
.L800E8C04:
|
||||
/* B5FDA4 800E8C04 44816000 */ mtc1 $at, $f12
|
||||
/* B5FDA8 800E8C08 3C018013 */ lui $at, %hi(D_8012F2B4)
|
||||
/* B5FDAC 800E8C0C 0002C880 */ sll $t9, $v0, 2
|
||||
/* B5FDB0 800E8C10 00390821 */ addu $at, $at, $t9
|
||||
/* B5FDB4 800E8C14 C424F2B4 */ lwc1 $f4, %lo(D_8012F2B4)($at)
|
||||
/* B5FDB8 800E8C18 C4880008 */ lwc1 $f8, 8($a0)
|
||||
/* B5FDBC 800E8C1C 460C2181 */ sub.s $f6, $f4, $f12
|
||||
/* B5FDC0 800E8C20 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* B5FDC4 800E8C24 460C5080 */ add.s $f2, $f10, $f12
|
||||
/* B5FDC8 800E8C28 03E00008 */ jr $ra
|
||||
/* B5FDCC 800E8C2C 46001006 */ mov.s $f0, $f2
|
||||
|
||||
glabel func_800E8C30
|
||||
/* B5FDD0 800E8C30 C4840010 */ lwc1 $f4, 0x10($a0)
|
||||
/* B5FDD4 800E8C34 8C8E0004 */ lw $t6, 4($a0)
|
||||
/* B5FDD8 800E8C38 8C880008 */ lw $t0, 8($a0)
|
||||
/* B5FDDC 800E8C3C 4600218D */ trunc.w.s $f6, $f4
|
||||
/* B5FDE0 800E8C40 44183000 */ mfc1 $t8, $f6
|
||||
/* B5FDE4 800E8C44 00000000 */ nop
|
||||
/* B5FDE8 800E8C48 01D8C821 */ addu $t9, $t6, $t8
|
||||
/* B5FDEC 800E8C4C 00191A82 */ srl $v1, $t9, 0xa
|
||||
/* B5FDF0 800E8C50 3063003F */ andi $v1, $v1, 0x3f
|
||||
/* B5FDF4 800E8C54 00034840 */ sll $t1, $v1, 1
|
||||
/* B5FDF8 800E8C58 AC990004 */ sw $t9, 4($a0)
|
||||
/* B5FDFC 800E8C5C 01095021 */ addu $t2, $t0, $t1
|
||||
/* B5FE00 800E8C60 03E00008 */ jr $ra
|
||||
/* B5FE04 800E8C64 85420000 */ lh $v0, ($t2)
|
||||
|
||||
glabel func_800E8C68
|
||||
/* B5FE08 800E8C68 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B5FE0C 800E8C6C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B5FE10 800E8C70 9482001A */ lhu $v0, 0x1a($a0)
|
||||
/* B5FE14 800E8C74 8C830000 */ lw $v1, ($a0)
|
||||
/* B5FE18 800E8C78 2401FFFF */ li $at, -1
|
||||
/* B5FE1C 800E8C7C 10400005 */ beqz $v0, .L800E8C94
|
||||
/* B5FE20 800E8C80 244EFFFF */ addiu $t6, $v0, -1
|
||||
/* B5FE24 800E8C84 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B5FE28 800E8C88 44810000 */ mtc1 $at, $f0
|
||||
/* B5FE2C 800E8C8C 10000081 */ b .L800E8E94
|
||||
/* B5FE30 800E8C90 A48E001A */ sh $t6, 0x1a($a0)
|
||||
.L800E8C94:
|
||||
/* B5FE34 800E8C94 50610056 */ beql $v1, $at, .L800E8DF0
|
||||
/* B5FE38 800E8C98 44802000 */ mtc1 $zero, $f4
|
||||
/* B5FE3C 800E8C9C 94820018 */ lhu $v0, 0x18($a0)
|
||||
/* B5FE40 800E8CA0 24010001 */ li $at, 1
|
||||
/* B5FE44 800E8CA4 50400019 */ beql $v0, $zero, .L800E8D0C
|
||||
/* B5FE48 800E8CA8 C484000C */ lwc1 $f4, 0xc($a0)
|
||||
/* B5FE4C 800E8CAC 14410008 */ bne $v0, $at, .L800E8CD0
|
||||
/* B5FE50 800E8CB0 00402825 */ move $a1, $v0
|
||||
/* B5FE54 800E8CB4 946F0016 */ lhu $t7, 0x16($v1)
|
||||
/* B5FE58 800E8CB8 94820018 */ lhu $v0, 0x18($a0)
|
||||
/* B5FE5C 800E8CBC 448F2000 */ mtc1 $t7, $f4
|
||||
/* B5FE60 800E8CC0 00000000 */ nop
|
||||
/* B5FE64 800E8CC4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* B5FE68 800E8CC8 1000000C */ b .L800E8CFC
|
||||
/* B5FE6C 800E8CCC E486000C */ swc1 $f6, 0xc($a0)
|
||||
.L800E8CD0:
|
||||
/* B5FE70 800E8CD0 94780016 */ lhu $t8, 0x16($v1)
|
||||
/* B5FE74 800E8CD4 44853000 */ mtc1 $a1, $f6
|
||||
/* B5FE78 800E8CD8 C480000C */ lwc1 $f0, 0xc($a0)
|
||||
/* B5FE7C 800E8CDC 44984000 */ mtc1 $t8, $f8
|
||||
/* B5FE80 800E8CE0 00000000 */ nop
|
||||
/* B5FE84 800E8CE4 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* B5FE88 800E8CE8 46803220 */ cvt.s.w $f8, $f6
|
||||
/* B5FE8C 800E8CEC 46005101 */ sub.s $f4, $f10, $f0
|
||||
/* B5FE90 800E8CF0 46082283 */ div.s $f10, $f4, $f8
|
||||
/* B5FE94 800E8CF4 460A0180 */ add.s $f6, $f0, $f10
|
||||
/* B5FE98 800E8CF8 E486000C */ swc1 $f6, 0xc($a0)
|
||||
.L800E8CFC:
|
||||
/* B5FE9C 800E8CFC 2459FFFF */ addiu $t9, $v0, -1
|
||||
/* B5FEA0 800E8D00 10000010 */ b .L800E8D44
|
||||
/* B5FEA4 800E8D04 A4990018 */ sh $t9, 0x18($a0)
|
||||
/* B5FEA8 800E8D08 C484000C */ lwc1 $f4, 0xc($a0)
|
||||
.L800E8D0C:
|
||||
/* B5FEAC 800E8D0C 946A0016 */ lhu $t2, 0x16($v1)
|
||||
/* B5FEB0 800E8D10 4600220D */ trunc.w.s $f8, $f4
|
||||
/* B5FEB4 800E8D14 44094000 */ mfc1 $t1, $f8
|
||||
/* B5FEB8 800E8D18 00000000 */ nop
|
||||
/* B5FEBC 800E8D1C 512A000A */ beql $t1, $t2, .L800E8D48
|
||||
/* B5FEC0 800E8D20 94820016 */ lhu $v0, 0x16($a0)
|
||||
/* B5FEC4 800E8D24 9462001A */ lhu $v0, 0x1a($v1)
|
||||
/* B5FEC8 800E8D28 14400006 */ bnez $v0, .L800E8D44
|
||||
/* B5FECC 800E8D2C A4820018 */ sh $v0, 0x18($a0)
|
||||
/* B5FED0 800E8D30 946B0016 */ lhu $t3, 0x16($v1)
|
||||
/* B5FED4 800E8D34 448B5000 */ mtc1 $t3, $f10
|
||||
/* B5FED8 800E8D38 00000000 */ nop
|
||||
/* B5FEDC 800E8D3C 468051A0 */ cvt.s.w $f6, $f10
|
||||
/* B5FEE0 800E8D40 E486000C */ swc1 $f6, 0xc($a0)
|
||||
.L800E8D44:
|
||||
/* B5FEE4 800E8D44 94820016 */ lhu $v0, 0x16($a0)
|
||||
.L800E8D48:
|
||||
/* B5FEE8 800E8D48 24010001 */ li $at, 1
|
||||
/* B5FEEC 800E8D4C 50400019 */ beql $v0, $zero, .L800E8DB4
|
||||
/* B5FEF0 800E8D50 C4840010 */ lwc1 $f4, 0x10($a0)
|
||||
/* B5FEF4 800E8D54 14410008 */ bne $v0, $at, .L800E8D78
|
||||
/* B5FEF8 800E8D58 00402825 */ move $a1, $v0
|
||||
/* B5FEFC 800E8D5C 946C0014 */ lhu $t4, 0x14($v1)
|
||||
/* B5FF00 800E8D60 94820016 */ lhu $v0, 0x16($a0)
|
||||
/* B5FF04 800E8D64 448C2000 */ mtc1 $t4, $f4
|
||||
/* B5FF08 800E8D68 00000000 */ nop
|
||||
/* B5FF0C 800E8D6C 46802220 */ cvt.s.w $f8, $f4
|
||||
/* B5FF10 800E8D70 1000000C */ b .L800E8DA4
|
||||
/* B5FF14 800E8D74 E4880010 */ swc1 $f8, 0x10($a0)
|
||||
.L800E8D78:
|
||||
/* B5FF18 800E8D78 946D0014 */ lhu $t5, 0x14($v1)
|
||||
/* B5FF1C 800E8D7C 44854000 */ mtc1 $a1, $f8
|
||||
/* B5FF20 800E8D80 C4800010 */ lwc1 $f0, 0x10($a0)
|
||||
/* B5FF24 800E8D84 448D5000 */ mtc1 $t5, $f10
|
||||
/* B5FF28 800E8D88 00000000 */ nop
|
||||
/* B5FF2C 800E8D8C 468051A0 */ cvt.s.w $f6, $f10
|
||||
/* B5FF30 800E8D90 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* B5FF34 800E8D94 46003101 */ sub.s $f4, $f6, $f0
|
||||
/* B5FF38 800E8D98 460A2183 */ div.s $f6, $f4, $f10
|
||||
/* B5FF3C 800E8D9C 46060200 */ add.s $f8, $f0, $f6
|
||||
/* B5FF40 800E8DA0 E4880010 */ swc1 $f8, 0x10($a0)
|
||||
.L800E8DA4:
|
||||
/* B5FF44 800E8DA4 244EFFFF */ addiu $t6, $v0, -1
|
||||
/* B5FF48 800E8DA8 10000010 */ b .L800E8DEC
|
||||
/* B5FF4C 800E8DAC A48E0016 */ sh $t6, 0x16($a0)
|
||||
/* B5FF50 800E8DB0 C4840010 */ lwc1 $f4, 0x10($a0)
|
||||
.L800E8DB4:
|
||||
/* B5FF54 800E8DB4 94790014 */ lhu $t9, 0x14($v1)
|
||||
/* B5FF58 800E8DB8 4600228D */ trunc.w.s $f10, $f4
|
||||
/* B5FF5C 800E8DBC 44185000 */ mfc1 $t8, $f10
|
||||
/* B5FF60 800E8DC0 00000000 */ nop
|
||||
/* B5FF64 800E8DC4 5319000A */ beql $t8, $t9, .L800E8DF0
|
||||
/* B5FF68 800E8DC8 44802000 */ mtc1 $zero, $f4
|
||||
/* B5FF6C 800E8DCC 94620018 */ lhu $v0, 0x18($v1)
|
||||
/* B5FF70 800E8DD0 14400006 */ bnez $v0, .L800E8DEC
|
||||
/* B5FF74 800E8DD4 A4820016 */ sh $v0, 0x16($a0)
|
||||
/* B5FF78 800E8DD8 94680014 */ lhu $t0, 0x14($v1)
|
||||
/* B5FF7C 800E8DDC 44883000 */ mtc1 $t0, $f6
|
||||
/* B5FF80 800E8DE0 00000000 */ nop
|
||||
/* B5FF84 800E8DE4 46803220 */ cvt.s.w $f8, $f6
|
||||
/* B5FF88 800E8DE8 E4880010 */ swc1 $f8, 0x10($a0)
|
||||
.L800E8DEC:
|
||||
/* B5FF8C 800E8DEC 44802000 */ mtc1 $zero, $f4
|
||||
.L800E8DF0:
|
||||
/* B5FF90 800E8DF0 C48A000C */ lwc1 $f10, 0xc($a0)
|
||||
/* B5FF94 800E8DF4 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B5FF98 800E8DF8 460A2032 */ c.eq.s $f4, $f10
|
||||
/* B5FF9C 800E8DFC 00000000 */ nop
|
||||
/* B5FFA0 800E8E00 45000004 */ bc1f .L800E8E14
|
||||
/* B5FFA4 800E8E04 00000000 */ nop
|
||||
/* B5FFA8 800E8E08 44810000 */ mtc1 $at, $f0
|
||||
/* B5FFAC 800E8E0C 10000022 */ b .L800E8E98
|
||||
/* B5FFB0 800E8E10 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800E8E14:
|
||||
/* B5FFB4 800E8E14 0C03A30C */ jal func_800E8C30
|
||||
/* B5FFB8 800E8E18 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B5FFBC 800E8E1C 8FA40018 */ lw $a0, 0x18($sp)
|
||||
/* B5FFC0 800E8E20 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B5FFC4 800E8E24 44819000 */ mtc1 $at, $f18
|
||||
/* B5FFC8 800E8E28 3C013980 */ li $at, 0x39800000 # 0.000000
|
||||
/* B5FFCC 800E8E2C 44814000 */ mtc1 $at, $f8
|
||||
/* B5FFD0 800E8E30 C486000C */ lwc1 $f6, 0xc($a0)
|
||||
/* B5FFD4 800E8E34 44822000 */ mtc1 $v0, $f4
|
||||
/* B5FFD8 800E8E38 3C014700 */ li $at, 0x47000000 # 0.000000
|
||||
/* B5FFDC 800E8E3C 46083402 */ mul.s $f16, $f6, $f8
|
||||
/* B5FFE0 800E8E40 44813000 */ mtc1 $at, $f6
|
||||
/* B5FFE4 800E8E44 3C014780 */ lui $at, 0x4780
|
||||
/* B5FFE8 800E8E48 3C098013 */ lui $t1, %hi(D_80130514)
|
||||
/* B5FFEC 800E8E4C 8D290514 */ lw $t1, %lo(D_80130514)($t1)
|
||||
/* B5FFF0 800E8E50 468022A0 */ cvt.s.w $f10, $f4
|
||||
/* B5FFF4 800E8E54 252A0001 */ addiu $t2, $t1, 1
|
||||
/* B5FFF8 800E8E58 46128080 */ add.s $f2, $f16, $f18
|
||||
/* B5FFFC 800E8E5C 46065200 */ add.s $f8, $f10, $f6
|
||||
/* B60000 800E8E60 44813000 */ mtc1 $at, $f6
|
||||
/* B60004 800E8E64 3C018013 */ lui $at, %hi(D_80130510)
|
||||
/* B60008 800E8E68 46029303 */ div.s $f12, $f18, $f2
|
||||
/* B6000C 800E8E6C 460C1101 */ sub.s $f4, $f2, $f12
|
||||
/* B60010 800E8E70 46082282 */ mul.s $f10, $f4, $f8
|
||||
/* B60014 800E8E74 46065103 */ div.s $f4, $f10, $f6
|
||||
/* B60018 800E8E78 C42A0510 */ lwc1 $f10, %lo(D_80130510)($at)
|
||||
/* B6001C 800E8E7C 460C2200 */ add.s $f8, $f4, $f12
|
||||
/* B60020 800E8E80 46089003 */ div.s $f0, $f18, $f8
|
||||
/* B60024 800E8E84 46005180 */ add.s $f6, $f10, $f0
|
||||
/* B60028 800E8E88 E4260510 */ swc1 $f6, %lo(D_80130510)($at)
|
||||
/* B6002C 800E8E8C 3C018013 */ lui $at, %hi(D_80130514) # $at, 0x8013
|
||||
/* B60030 800E8E90 AC2A0514 */ sw $t2, %lo(D_80130514)($at)
|
||||
.L800E8E94:
|
||||
/* B60034 800E8E94 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800E8E98:
|
||||
/* B60038 800E8E98 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B6003C 800E8E9C 03E00008 */ jr $ra
|
||||
/* B60040 800E8EA0 00000000 */ nop
|
||||
|
||||
glabel func_800E8EA4
|
||||
/* B60044 800E8EA4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B60048 800E8EA8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B6004C 800E8EAC 908E0090 */ lbu $t6, 0x90($a0)
|
||||
/* B60050 800E8EB0 00802825 */ move $a1, $a0
|
||||
/* B60054 800E8EB4 24840090 */ addiu $a0, $a0, 0x90
|
||||
/* B60058 800E8EB8 51C00006 */ beql $t6, $zero, .L800E8ED4
|
||||
/* B6005C 800E8EBC 90AF00B0 */ lbu $t7, 0xb0($a1)
|
||||
/* B60060 800E8EC0 0C03A2F5 */ jal func_800E8BD4
|
||||
/* B60064 800E8EC4 AFA50018 */ sw $a1, 0x18($sp)
|
||||
/* B60068 800E8EC8 8FA50018 */ lw $a1, 0x18($sp)
|
||||
/* B6006C 800E8ECC E4A00038 */ swc1 $f0, 0x38($a1)
|
||||
/* B60070 800E8ED0 90AF00B0 */ lbu $t7, 0xb0($a1)
|
||||
.L800E8ED4:
|
||||
/* B60074 800E8ED4 24A4009C */ addiu $a0, $a1, 0x9c
|
||||
/* B60078 800E8ED8 51E00006 */ beql $t7, $zero, .L800E8EF4
|
||||
/* B6007C 800E8EDC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B60080 800E8EE0 0C03A31A */ jal func_800E8C68
|
||||
/* B60084 800E8EE4 AFA50018 */ sw $a1, 0x18($sp)
|
||||
/* B60088 800E8EE8 8FA50018 */ lw $a1, 0x18($sp)
|
||||
/* B6008C 800E8EEC E4A0003C */ swc1 $f0, 0x3c($a1)
|
||||
/* B60090 800E8EF0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800E8EF4:
|
||||
/* B60094 800E8EF4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B60098 800E8EF8 03E00008 */ jr $ra
|
||||
/* B6009C 800E8EFC 00000000 */ nop
|
||||
|
||||
glabel func_800E8F00
|
||||
/* B600A0 800E8F00 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B600A4 800E8F04 44812000 */ mtc1 $at, $f4
|
||||
/* B600A8 800E8F08 240E0001 */ li $t6, 1
|
||||
/* B600AC 800E8F0C A08E00B0 */ sb $t6, 0xb0($a0)
|
||||
/* B600B0 800E8F10 AC8000A0 */ sw $zero, 0xa0($a0)
|
||||
/* B600B4 800E8F14 3C0F8013 */ lui $t7, %hi(D_8012F098) # $t7, 0x8013
|
||||
/* B600B8 800E8F18 E484003C */ swc1 $f4, 0x3c($a0)
|
||||
/* B600BC 800E8F1C 8DEFF098 */ lw $t7, %lo(D_8012F098)($t7)
|
||||
/* B600C0 800E8F20 8C980044 */ lw $t8, 0x44($a0)
|
||||
/* B600C4 800E8F24 AC8F00A4 */ sw $t7, 0xa4($a0)
|
||||
/* B600C8 800E8F28 8F190050 */ lw $t9, 0x50($t8)
|
||||
/* B600CC 800E8F2C AC99009C */ sw $t9, 0x9c($a0)
|
||||
/* B600D0 800E8F30 9725001A */ lhu $a1, 0x1a($t9)
|
||||
/* B600D4 800E8F34 03201825 */ move $v1, $t9
|
||||
/* B600D8 800E8F38 14A00008 */ bnez $a1, .L800E8F5C
|
||||
/* B600DC 800E8F3C A48500B4 */ sh $a1, 0xb4($a0)
|
||||
/* B600E0 800E8F40 97280016 */ lhu $t0, 0x16($t9)
|
||||
/* B600E4 800E8F44 2482009C */ addiu $v0, $a0, 0x9c
|
||||
/* B600E8 800E8F48 44883000 */ mtc1 $t0, $f6
|
||||
/* B600EC 800E8F4C 00000000 */ nop
|
||||
/* B600F0 800E8F50 46803220 */ cvt.s.w $f8, $f6
|
||||
/* B600F4 800E8F54 10000007 */ b .L800E8F74
|
||||
/* B600F8 800E8F58 E448000C */ swc1 $f8, 0xc($v0)
|
||||
.L800E8F5C:
|
||||
/* B600FC 800E8F5C 94690012 */ lhu $t1, 0x12($v1)
|
||||
/* B60100 800E8F60 2482009C */ addiu $v0, $a0, 0x9c
|
||||
/* B60104 800E8F64 44895000 */ mtc1 $t1, $f10
|
||||
/* B60108 800E8F68 00000000 */ nop
|
||||
/* B6010C 800E8F6C 46805420 */ cvt.s.w $f16, $f10
|
||||
/* B60110 800E8F70 E450000C */ swc1 $f16, 0xc($v0)
|
||||
.L800E8F74:
|
||||
/* B60114 800E8F74 94650018 */ lhu $a1, 0x18($v1)
|
||||
/* B60118 800E8F78 14A00007 */ bnez $a1, .L800E8F98
|
||||
/* B6011C 800E8F7C A4450016 */ sh $a1, 0x16($v0)
|
||||
/* B60120 800E8F80 946A0014 */ lhu $t2, 0x14($v1)
|
||||
/* B60124 800E8F84 448A9000 */ mtc1 $t2, $f18
|
||||
/* B60128 800E8F88 00000000 */ nop
|
||||
/* B6012C 800E8F8C 46809120 */ cvt.s.w $f4, $f18
|
||||
/* B60130 800E8F90 10000006 */ b .L800E8FAC
|
||||
/* B60134 800E8F94 E4440010 */ swc1 $f4, 0x10($v0)
|
||||
.L800E8F98:
|
||||
/* B60138 800E8F98 946B0010 */ lhu $t3, 0x10($v1)
|
||||
/* B6013C 800E8F9C 448B3000 */ mtc1 $t3, $f6
|
||||
/* B60140 800E8FA0 00000000 */ nop
|
||||
/* B60144 800E8FA4 46803220 */ cvt.s.w $f8, $f6
|
||||
/* B60148 800E8FA8 E4480010 */ swc1 $f8, 0x10($v0)
|
||||
.L800E8FAC:
|
||||
/* B6014C 800E8FAC 946C001C */ lhu $t4, 0x1c($v1)
|
||||
/* B60150 800E8FB0 03E00008 */ jr $ra
|
||||
/* B60154 800E8FB4 A44C001A */ sh $t4, 0x1a($v0)
|
||||
|
||||
glabel func_800E8FB8
|
||||
/* B60158 800E8FB8 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B6015C 800E8FBC 44812000 */ mtc1 $at, $f4
|
||||
/* B60160 800E8FC0 8C8E0044 */ lw $t6, 0x44($a0)
|
||||
/* B60164 800E8FC4 E4840038 */ swc1 $f4, 0x38($a0)
|
||||
/* B60168 800E8FC8 8DD80020 */ lw $t8, 0x20($t6)
|
||||
/* B6016C 800E8FCC AC980090 */ sw $t8, 0x90($a0)
|
||||
/* B60170 800E8FD0 8DCF0024 */ lw $t7, 0x24($t6)
|
||||
/* B60174 800E8FD4 AC8F0094 */ sw $t7, 0x94($a0)
|
||||
/* B60178 800E8FD8 8DD80028 */ lw $t8, 0x28($t6)
|
||||
/* B6017C 800E8FDC 03E00008 */ jr $ra
|
||||
/* B60180 800E8FE0 AC980098 */ sw $t8, 0x98($a0)
|
||||
|
||||
glabel func_800E8FE4
|
||||
/* B60184 800E8FE4 AFA60008 */ sw $a2, 8($sp)
|
||||
/* B60188 800E8FE8 44800000 */ mtc1 $zero, $f0
|
||||
/* B6018C 800E8FEC A0800000 */ sb $zero, ($a0)
|
||||
/* B60190 800E8FF0 A4800002 */ sh $zero, 2($a0)
|
||||
/* B60194 800E8FF4 AC85001C */ sw $a1, 0x1c($a0)
|
||||
/* B60198 800E8FF8 E4800004 */ swc1 $f0, 4($a0)
|
||||
/* B6019C 800E8FFC 03E00008 */ jr $ra
|
||||
/* B601A0 800E9000 E4800010 */ swc1 $f0, 0x10($a0)
|
||||
|
||||
glabel func_800E9004
|
||||
/* B601A4 800E9004 90830000 */ lbu $v1, ($a0)
|
||||
/* B601A8 800E9008 00601025 */ move $v0, $v1
|
||||
/* B601AC 800E900C 3042000F */ andi $v0, $v0, 0xf
|
||||
/* B601B0 800E9010 2C410009 */ sltiu $at, $v0, 9
|
||||
/* B601B4 800E9014 102000A2 */ beqz $at, .L800E92A0
|
||||
/* B601B8 800E9018 00402825 */ move $a1, $v0
|
||||
/* B601BC 800E901C 00027080 */ sll $t6, $v0, 2
|
||||
/* B601C0 800E9020 3C018015 */ lui $at, %hi(jtbl_801495F0)
|
||||
/* B601C4 800E9024 002E0821 */ addu $at, $at, $t6
|
||||
/* B601C8 800E9028 8C2E95F0 */ lw $t6, %lo(jtbl_801495F0)($at)
|
||||
/* B601CC 800E902C 01C00008 */ jr $t6
|
||||
/* B601D0 800E9030 00000000 */ nop
|
||||
glabel L800E9034
|
||||
/* B601D4 800E9034 44800000 */ mtc1 $zero, $f0
|
||||
/* B601D8 800E9038 03E00008 */ jr $ra
|
||||
/* B601DC 800E903C 00000000 */ nop
|
||||
glabel L800E9040
|
||||
/* B601E0 800E9040 8C8F0000 */ lw $t7, ($a0)
|
||||
/* B601E4 800E9044 3068FFF0 */ andi $t0, $v1, 0xfff0
|
||||
/* B601E8 800E9048 35090005 */ ori $t1, $t0, 5
|
||||
/* B601EC 800E904C 000FC840 */ sll $t9, $t7, 1
|
||||
/* B601F0 800E9050 07230004 */ bgezl $t9, .L800E9064
|
||||
/* B601F4 800E9054 306AFFF0 */ andi $t2, $v1, 0xfff0
|
||||
/* B601F8 800E9058 10000091 */ b .L800E92A0
|
||||
/* B601FC 800E905C A0890000 */ sb $t1, ($a0)
|
||||
glabel L800E9060
|
||||
/* B60200 800E9060 306AFFF0 */ andi $t2, $v1, 0xfff0
|
||||
.L800E9064:
|
||||
/* B60204 800E9064 354B0003 */ ori $t3, $t2, 3
|
||||
/* B60208 800E9068 A0800001 */ sb $zero, 1($a0)
|
||||
/* B6020C 800E906C A08B0000 */ sb $t3, ($a0)
|
||||
.L800E9070:
|
||||
glabel L800E9070
|
||||
/* B60210 800E9070 908D0001 */ lbu $t5, 1($a0)
|
||||
/* B60214 800E9074 8C8C001C */ lw $t4, 0x1c($a0)
|
||||
/* B60218 800E9078 2401FFFD */ li $at, -3
|
||||
/* B6021C 800E907C 000D7080 */ sll $t6, $t5, 2
|
||||
/* B60220 800E9080 018E1021 */ addu $v0, $t4, $t6
|
||||
/* B60224 800E9084 844F0000 */ lh $t7, ($v0)
|
||||
/* B60228 800E9088 A48F0002 */ sh $t7, 2($a0)
|
||||
/* B6022C 800E908C 84850002 */ lh $a1, 2($a0)
|
||||
/* B60230 800E9090 10A10013 */ beq $a1, $at, .L800E90E0
|
||||
/* B60234 800E9094 2401FFFE */ li $at, -2
|
||||
/* B60238 800E9098 10A1000E */ beq $a1, $at, .L800E90D4
|
||||
/* B6023C 800E909C 2401FFFF */ li $at, -1
|
||||
/* B60240 800E90A0 50A10008 */ beql $a1, $at, .L800E90C4
|
||||
/* B60244 800E90A4 90880000 */ lbu $t0, ($a0)
|
||||
/* B60248 800E90A8 54A00013 */ bnezl $a1, .L800E90F8
|
||||
/* B6024C 800E90AC 44852000 */ mtc1 $a1, $f4
|
||||
/* B60250 800E90B0 90980000 */ lbu $t8, ($a0)
|
||||
/* B60254 800E90B4 3319FFF0 */ andi $t9, $t8, 0xfff0
|
||||
/* B60258 800E90B8 10000038 */ b .L800E919C
|
||||
/* B6025C 800E90BC A0990000 */ sb $t9, ($a0)
|
||||
/* B60260 800E90C0 90880000 */ lbu $t0, ($a0)
|
||||
.L800E90C4:
|
||||
/* B60264 800E90C4 3109FFF0 */ andi $t1, $t0, 0xfff0
|
||||
/* B60268 800E90C8 352A0005 */ ori $t2, $t1, 5
|
||||
/* B6026C 800E90CC 10000033 */ b .L800E919C
|
||||
/* B60270 800E90D0 A08A0000 */ sb $t2, ($a0)
|
||||
.L800E90D4:
|
||||
/* B60274 800E90D4 844B0002 */ lh $t3, 2($v0)
|
||||
/* B60278 800E90D8 1000FFE5 */ b .L800E9070
|
||||
/* B6027C 800E90DC A08B0001 */ sb $t3, 1($a0)
|
||||
.L800E90E0:
|
||||
/* B60280 800E90E0 908D0000 */ lbu $t5, ($a0)
|
||||
/* B60284 800E90E4 31ACFFF0 */ andi $t4, $t5, 0xfff0
|
||||
/* B60288 800E90E8 358E0001 */ ori $t6, $t4, 1
|
||||
/* B6028C 800E90EC 1000002B */ b .L800E919C
|
||||
/* B60290 800E90F0 A08E0000 */ sb $t6, ($a0)
|
||||
/* B60294 800E90F4 44852000 */ mtc1 $a1, $f4
|
||||
.L800E90F8:
|
||||
/* B60298 800E90F8 3C018017 */ lui $at, %hi(D_801719EC)
|
||||
/* B6029C 800E90FC C42819EC */ lwc1 $f8, %lo(D_801719EC)($at)
|
||||
/* B602A0 800E9100 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* B602A4 800E9104 24190001 */ li $t9, 1
|
||||
/* B602A8 800E9108 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* B602AC 800E910C 4600540D */ trunc.w.s $f16, $f10
|
||||
/* B602B0 800E9110 44188000 */ mfc1 $t8, $f16
|
||||
/* B602B4 800E9114 00000000 */ nop
|
||||
/* B602B8 800E9118 A4980002 */ sh $t8, 2($a0)
|
||||
/* B602BC 800E911C 84850002 */ lh $a1, 2($a0)
|
||||
/* B602C0 800E9120 54A00004 */ bnezl $a1, .L800E9134
|
||||
/* B602C4 800E9124 90820001 */ lbu $v0, 1($a0)
|
||||
/* B602C8 800E9128 A4990002 */ sh $t9, 2($a0)
|
||||
/* B602CC 800E912C 84850002 */ lh $a1, 2($a0)
|
||||
/* B602D0 800E9130 90820001 */ lbu $v0, 1($a0)
|
||||
.L800E9134:
|
||||
/* B602D4 800E9134 8C88001C */ lw $t0, 0x1c($a0)
|
||||
/* B602D8 800E9138 3C018015 */ lui $at, %hi(D_80149614)
|
||||
/* B602DC 800E913C 00024880 */ sll $t1, $v0, 2
|
||||
/* B602E0 800E9140 01095021 */ addu $t2, $t0, $t1
|
||||
/* B602E4 800E9144 854B0002 */ lh $t3, 2($t2)
|
||||
/* B602E8 800E9148 C4269614 */ lwc1 $f6, %lo(D_80149614)($at)
|
||||
/* B602EC 800E914C 908D0000 */ lbu $t5, ($a0)
|
||||
/* B602F0 800E9150 448B9000 */ mtc1 $t3, $f18
|
||||
/* B602F4 800E9154 244F0001 */ addiu $t7, $v0, 1
|
||||
/* B602F8 800E9158 31ACFFF0 */ andi $t4, $t5, 0xfff0
|
||||
/* B602FC 800E915C 46809120 */ cvt.s.w $f4, $f18
|
||||
/* B60300 800E9160 C4920010 */ lwc1 $f18, 0x10($a0)
|
||||
/* B60304 800E9164 358E0004 */ ori $t6, $t4, 4
|
||||
/* B60308 800E9168 A08E0000 */ sb $t6, ($a0)
|
||||
/* B6030C 800E916C A08F0001 */ sb $t7, 1($a0)
|
||||
/* B60310 800E9170 46062203 */ div.s $f8, $f4, $f6
|
||||
/* B60314 800E9174 44853000 */ mtc1 $a1, $f6
|
||||
/* B60318 800E9178 E4880014 */ swc1 $f8, 0x14($a0)
|
||||
/* B6031C 800E917C C4800014 */ lwc1 $f0, 0x14($a0)
|
||||
/* B60320 800E9180 46803220 */ cvt.s.w $f8, $f6
|
||||
/* B60324 800E9184 46000282 */ mul.s $f10, $f0, $f0
|
||||
/* B60328 800E9188 E48A0014 */ swc1 $f10, 0x14($a0)
|
||||
/* B6032C 800E918C C4900014 */ lwc1 $f16, 0x14($a0)
|
||||
/* B60330 800E9190 46128101 */ sub.s $f4, $f16, $f18
|
||||
/* B60334 800E9194 46082283 */ div.s $f10, $f4, $f8
|
||||
/* B60338 800E9198 E48A0008 */ swc1 $f10, 8($a0)
|
||||
.L800E919C:
|
||||
/* B6033C 800E919C 90980000 */ lbu $t8, ($a0)
|
||||
/* B60340 800E91A0 24010004 */ li $at, 4
|
||||
/* B60344 800E91A4 3319000F */ andi $t9, $t8, 0xf
|
||||
/* B60348 800E91A8 5721003E */ bnel $t9, $at, .L800E92A4
|
||||
/* B6034C 800E91AC 8C820000 */ lw $v0, ($a0)
|
||||
glabel L800E91B0
|
||||
/* B60350 800E91B0 84880002 */ lh $t0, 2($a0)
|
||||
/* B60354 800E91B4 C4900010 */ lwc1 $f16, 0x10($a0)
|
||||
/* B60358 800E91B8 C4920008 */ lwc1 $f18, 8($a0)
|
||||
/* B6035C 800E91BC 2509FFFF */ addiu $t1, $t0, -1
|
||||
/* B60360 800E91C0 A4890002 */ sh $t1, 2($a0)
|
||||
/* B60364 800E91C4 46128180 */ add.s $f6, $f16, $f18
|
||||
/* B60368 800E91C8 848A0002 */ lh $t2, 2($a0)
|
||||
/* B6036C 800E91CC 1D400034 */ bgtz $t2, .L800E92A0
|
||||
/* B60370 800E91D0 E4860010 */ swc1 $f6, 0x10($a0)
|
||||
/* B60374 800E91D4 908B0000 */ lbu $t3, ($a0)
|
||||
/* B60378 800E91D8 316DFFF0 */ andi $t5, $t3, 0xfff0
|
||||
/* B6037C 800E91DC 35AC0003 */ ori $t4, $t5, 3
|
||||
/* B60380 800E91E0 1000002F */ b .L800E92A0
|
||||
/* B60384 800E91E4 A08C0000 */ sb $t4, ($a0)
|
||||
glabel L800E91E8
|
||||
/* B60388 800E91E8 44806000 */ mtc1 $zero, $f12
|
||||
/* B6038C 800E91EC C4800004 */ lwc1 $f0, 4($a0)
|
||||
/* B60390 800E91F0 C4840010 */ lwc1 $f4, 0x10($a0)
|
||||
/* B60394 800E91F4 C488000C */ lwc1 $f8, 0xc($a0)
|
||||
/* B60398 800E91F8 46006032 */ c.eq.s $f12, $f0
|
||||
/* B6039C 800E91FC 24010006 */ li $at, 6
|
||||
/* B603A0 800E9200 46082281 */ sub.s $f10, $f4, $f8
|
||||
/* B603A4 800E9204 45010010 */ bc1t .L800E9248
|
||||
/* B603A8 800E9208 E48A0010 */ swc1 $f10, 0x10($a0)
|
||||
/* B603AC 800E920C 14A1000E */ bne $a1, $at, .L800E9248
|
||||
/* B603B0 800E9210 00000000 */ nop
|
||||
/* B603B4 800E9214 C4900010 */ lwc1 $f16, 0x10($a0)
|
||||
/* B603B8 800E9218 240E0080 */ li $t6, 128
|
||||
/* B603BC 800E921C 4600803C */ c.lt.s $f16, $f0
|
||||
/* B603C0 800E9220 00000000 */ nop
|
||||
/* B603C4 800E9224 4502001F */ bc1fl .L800E92A4
|
||||
/* B603C8 800E9228 8C820000 */ lw $v0, ($a0)
|
||||
/* B603CC 800E922C 908F0000 */ lbu $t7, ($a0)
|
||||
/* B603D0 800E9230 E4800010 */ swc1 $f0, 0x10($a0)
|
||||
/* B603D4 800E9234 A48E0002 */ sh $t6, 2($a0)
|
||||
/* B603D8 800E9238 31F8FFF0 */ andi $t8, $t7, 0xfff0
|
||||
/* B603DC 800E923C 37190008 */ ori $t9, $t8, 8
|
||||
/* B603E0 800E9240 10000017 */ b .L800E92A0
|
||||
/* B603E4 800E9244 A0990000 */ sb $t9, ($a0)
|
||||
.L800E9248:
|
||||
/* B603E8 800E9248 3C018015 */ lui $at, %hi(D_80149618)
|
||||
/* B603EC 800E924C C4269618 */ lwc1 $f6, %lo(D_80149618)($at)
|
||||
/* B603F0 800E9250 C4920010 */ lwc1 $f18, 0x10($a0)
|
||||
/* B603F4 800E9254 4606903C */ c.lt.s $f18, $f6
|
||||
/* B603F8 800E9258 00000000 */ nop
|
||||
/* B603FC 800E925C 45020011 */ bc1fl .L800E92A4
|
||||
/* B60400 800E9260 8C820000 */ lw $v0, ($a0)
|
||||
/* B60404 800E9264 90880000 */ lbu $t0, ($a0)
|
||||
/* B60408 800E9268 E48C0010 */ swc1 $f12, 0x10($a0)
|
||||
/* B6040C 800E926C 3109FFF0 */ andi $t1, $t0, 0xfff0
|
||||
/* B60410 800E9270 1000000B */ b .L800E92A0
|
||||
/* B60414 800E9274 A0890000 */ sb $t1, ($a0)
|
||||
glabel L800E9278
|
||||
/* B60418 800E9278 848A0002 */ lh $t2, 2($a0)
|
||||
/* B6041C 800E927C 254BFFFF */ addiu $t3, $t2, -1
|
||||
/* B60420 800E9280 A48B0002 */ sh $t3, 2($a0)
|
||||
/* B60424 800E9284 848D0002 */ lh $t5, 2($a0)
|
||||
/* B60428 800E9288 55A00006 */ bnezl $t5, .L800E92A4
|
||||
/* B6042C 800E928C 8C820000 */ lw $v0, ($a0)
|
||||
/* B60430 800E9290 908C0000 */ lbu $t4, ($a0)
|
||||
/* B60434 800E9294 318EFFF0 */ andi $t6, $t4, 0xfff0
|
||||
/* B60438 800E9298 35CF0007 */ ori $t7, $t6, 7
|
||||
/* B6043C 800E929C A08F0000 */ sb $t7, ($a0)
|
||||
.L800E92A0:
|
||||
glabel L800E92A0
|
||||
/* B60440 800E92A0 8C820000 */ lw $v0, ($a0)
|
||||
.L800E92A4:
|
||||
/* B60444 800E92A4 44806000 */ mtc1 $zero, $f12
|
||||
/* B60448 800E92A8 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B6044C 800E92AC 0002C880 */ sll $t9, $v0, 2
|
||||
/* B60450 800E92B0 07230009 */ bgezl $t9, .L800E92D8
|
||||
/* B60454 800E92B4 000270C0 */ sll $t6, $v0, 3
|
||||
/* B60458 800E92B8 90880000 */ lbu $t0, ($a0)
|
||||
/* B6045C 800E92BC 3109FFF0 */ andi $t1, $t0, 0xfff0
|
||||
/* B60460 800E92C0 352B0006 */ ori $t3, $t1, 6
|
||||
/* B60464 800E92C4 A08B0000 */ sb $t3, ($a0)
|
||||
/* B60468 800E92C8 316D00DF */ andi $t5, $t3, 0xdf
|
||||
/* B6046C 800E92CC A08D0000 */ sb $t5, ($a0)
|
||||
/* B60470 800E92D0 8C820000 */ lw $v0, ($a0)
|
||||
/* B60474 800E92D4 000270C0 */ sll $t6, $v0, 3
|
||||
.L800E92D8:
|
||||
/* B60478 800E92D8 05C30008 */ bgezl $t6, .L800E92FC
|
||||
/* B6047C 800E92DC C4820010 */ lwc1 $f2, 0x10($a0)
|
||||
/* B60480 800E92E0 908F0000 */ lbu $t7, ($a0)
|
||||
/* B60484 800E92E4 31F8FFF0 */ andi $t8, $t7, 0xfff0
|
||||
/* B60488 800E92E8 37080007 */ ori $t0, $t8, 7
|
||||
/* B6048C 800E92EC A0880000 */ sb $t0, ($a0)
|
||||
/* B60490 800E92F0 310900EF */ andi $t1, $t0, 0xef
|
||||
/* B60494 800E92F4 A0890000 */ sb $t1, ($a0)
|
||||
/* B60498 800E92F8 C4820010 */ lwc1 $f2, 0x10($a0)
|
||||
.L800E92FC:
|
||||
/* B6049C 800E92FC 460C103C */ c.lt.s $f2, $f12
|
||||
/* B604A0 800E9300 00000000 */ nop
|
||||
/* B604A4 800E9304 45020004 */ bc1fl .L800E9318
|
||||
/* B604A8 800E9308 44816000 */ mtc1 $at, $f12
|
||||
/* B604AC 800E930C 03E00008 */ jr $ra
|
||||
/* B604B0 800E9310 46006006 */ mov.s $f0, $f12
|
||||
/* B604B4 800E9314 44816000 */ mtc1 $at, $f12
|
||||
.L800E9318:
|
||||
/* B604B8 800E9318 00000000 */ nop
|
||||
/* B604BC 800E931C 4602603C */ c.lt.s $f12, $f2
|
||||
/* B604C0 800E9320 00000000 */ nop
|
||||
/* B604C4 800E9324 45020004 */ bc1fl .L800E9338
|
||||
/* B604C8 800E9328 46001006 */ mov.s $f0, $f2
|
||||
/* B604CC 800E932C 03E00008 */ jr $ra
|
||||
/* B604D0 800E9330 46006006 */ mov.s $f0, $f12
|
||||
/* B604D4 800E9334 46001006 */ mov.s $f0, $f2
|
||||
.L800E9338:
|
||||
/* B604D8 800E9338 03E00008 */ jr $ra
|
||||
/* B604DC 800E933C 00000000 */ nop
|
||||
+3906
File diff suppressed because it is too large
Load Diff
+11813
File diff suppressed because it is too large
Load Diff
+2259
File diff suppressed because it is too large
Load Diff
+2038
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,175 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800FCB50
|
||||
/* B73CF0 800FCB50 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B73CF4 800FCB54 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B73CF8 800FCB58 0C001114 */ jal bzero
|
||||
/* B73CFC 800FCB5C 24050018 */ li $a1, 24
|
||||
/* B73D00 800FCB60 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B73D04 800FCB64 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B73D08 800FCB68 03E00008 */ jr $ra
|
||||
/* B73D0C 800FCB6C 00000000 */ nop
|
||||
|
||||
glabel func_800FCB70
|
||||
/* B73D10 800FCB70 03E00008 */ jr $ra
|
||||
/* B73D14 800FCB74 00000000 */ nop
|
||||
|
||||
glabel func_800FCB78
|
||||
/* B73D18 800FCB78 A480000C */ sh $zero, 0xc($a0)
|
||||
/* B73D1C 800FCB7C 03E00008 */ jr $ra
|
||||
/* B73D20 800FCB80 A4800012 */ sh $zero, 0x12($a0)
|
||||
|
||||
glabel func_800FCB84
|
||||
/* B73D24 800FCB84 AFA50004 */ sw $a1, 4($sp)
|
||||
/* B73D28 800FCB88 948E0000 */ lhu $t6, ($a0)
|
||||
/* B73D2C 800FCB8C 30A5FFFF */ andi $a1, $a1, 0xffff
|
||||
/* B73D30 800FCB90 01C51026 */ xor $v0, $t6, $a1
|
||||
/* B73D34 800FCB94 03E00008 */ jr $ra
|
||||
/* B73D38 800FCB98 2C420001 */ sltiu $v0, $v0, 1
|
||||
|
||||
glabel func_800FCB9C
|
||||
/* B73D3C 800FCB9C AFA50004 */ sw $a1, 4($sp)
|
||||
/* B73D40 800FCBA0 948E0000 */ lhu $t6, ($a0)
|
||||
/* B73D44 800FCBA4 30A5FFFF */ andi $a1, $a1, 0xffff
|
||||
/* B73D48 800FCBA8 01C57824 */ and $t7, $t6, $a1
|
||||
/* B73D4C 800FCBAC 01E51026 */ xor $v0, $t7, $a1
|
||||
/* B73D50 800FCBB0 03E00008 */ jr $ra
|
||||
/* B73D54 800FCBB4 2C420001 */ sltiu $v0, $v0, 1
|
||||
|
||||
glabel func_800FCBB8
|
||||
/* B73D58 800FCBB8 AFA50004 */ sw $a1, 4($sp)
|
||||
/* B73D5C 800FCBBC 948E000C */ lhu $t6, 0xc($a0)
|
||||
/* B73D60 800FCBC0 30A5FFFF */ andi $a1, $a1, 0xffff
|
||||
/* B73D64 800FCBC4 01C57824 */ and $t7, $t6, $a1
|
||||
/* B73D68 800FCBC8 01E51026 */ xor $v0, $t7, $a1
|
||||
/* B73D6C 800FCBCC 03E00008 */ jr $ra
|
||||
/* B73D70 800FCBD0 2C420001 */ sltiu $v0, $v0, 1
|
||||
|
||||
glabel func_800FCBD4
|
||||
/* B73D74 800FCBD4 AFA50004 */ sw $a1, 4($sp)
|
||||
/* B73D78 800FCBD8 948E0012 */ lhu $t6, 0x12($a0)
|
||||
/* B73D7C 800FCBDC 30A5FFFF */ andi $a1, $a1, 0xffff
|
||||
/* B73D80 800FCBE0 01C57824 */ and $t7, $t6, $a1
|
||||
/* B73D84 800FCBE4 01E51026 */ xor $v0, $t7, $a1
|
||||
/* B73D88 800FCBE8 03E00008 */ jr $ra
|
||||
/* B73D8C 800FCBEC 2C420001 */ sltiu $v0, $v0, 1
|
||||
|
||||
glabel func_800FCBF0
|
||||
/* B73D90 800FCBF0 03E00008 */ jr $ra
|
||||
/* B73D94 800FCBF4 94820000 */ lhu $v0, ($a0)
|
||||
|
||||
glabel func_800FCBF8
|
||||
/* B73D98 800FCBF8 03E00008 */ jr $ra
|
||||
/* B73D9C 800FCBFC 9482000C */ lhu $v0, 0xc($a0)
|
||||
|
||||
glabel func_800FCC00
|
||||
/* B73DA0 800FCC00 03E00008 */ jr $ra
|
||||
/* B73DA4 800FCC04 80820002 */ lb $v0, 2($a0)
|
||||
|
||||
glabel func_800FCC08
|
||||
/* B73DA8 800FCC08 03E00008 */ jr $ra
|
||||
/* B73DAC 800FCC0C 80820003 */ lb $v0, 3($a0)
|
||||
|
||||
glabel func_800FCC10
|
||||
/* B73DB0 800FCC10 A0850014 */ sb $a1, 0x14($a0)
|
||||
/* B73DB4 800FCC14 03E00008 */ jr $ra
|
||||
/* B73DB8 800FCC18 A0860015 */ sb $a2, 0x15($a0)
|
||||
|
||||
glabel func_800FCC1C
|
||||
/* B73DBC 800FCC1C 03E00008 */ jr $ra
|
||||
/* B73DC0 800FCC20 80820014 */ lb $v0, 0x14($a0)
|
||||
|
||||
glabel func_800FCC24
|
||||
/* B73DC4 800FCC24 03E00008 */ jr $ra
|
||||
/* B73DC8 800FCC28 80820015 */ lb $v0, 0x15($a0)
|
||||
|
||||
glabel func_800FCC2C
|
||||
/* B73DCC 800FCC2C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B73DD0 800FCC30 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B73DD4 800FCC34 0C03F307 */ jal func_800FCC1C
|
||||
/* B73DD8 800FCC38 00000000 */ nop
|
||||
/* B73DDC 800FCC3C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B73DE0 800FCC40 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B73DE4 800FCC44 03E00008 */ jr $ra
|
||||
/* B73DE8 800FCC48 00000000 */ nop
|
||||
|
||||
glabel func_800FCC4C
|
||||
/* B73DEC 800FCC4C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B73DF0 800FCC50 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B73DF4 800FCC54 0C03F309 */ jal func_800FCC24
|
||||
/* B73DF8 800FCC58 00000000 */ nop
|
||||
/* B73DFC 800FCC5C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B73E00 800FCC60 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B73E04 800FCC64 03E00008 */ jr $ra
|
||||
/* B73E08 800FCC68 00000000 */ nop
|
||||
|
||||
glabel func_800FCC6C
|
||||
/* B73E0C 800FCC6C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* B73E10 800FCC70 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B73E14 800FCC74 0C03F300 */ jal func_800FCC00
|
||||
/* B73E18 800FCC78 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* B73E1C 800FCC7C 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* B73E20 800FCC80 0C03F302 */ jal func_800FCC08
|
||||
/* B73E24 800FCC84 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* B73E28 800FCC88 8FA3001C */ lw $v1, 0x1c($sp)
|
||||
/* B73E2C 800FCC8C 28610008 */ slti $at, $v1, 8
|
||||
/* B73E30 800FCC90 14200007 */ bnez $at, .L800FCCB0
|
||||
/* B73E34 800FCC94 28610043 */ slti $at, $v1, 0x43
|
||||
/* B73E38 800FCC98 10200003 */ beqz $at, .L800FCCA8
|
||||
/* B73E3C 800FCC9C 00000000 */ nop
|
||||
/* B73E40 800FCCA0 1000000D */ b .L800FCCD8
|
||||
/* B73E44 800FCCA4 2465FFF9 */ addiu $a1, $v1, -7
|
||||
.L800FCCA8:
|
||||
/* B73E48 800FCCA8 1000000B */ b .L800FCCD8
|
||||
/* B73E4C 800FCCAC 2405003C */ li $a1, 60
|
||||
.L800FCCB0:
|
||||
/* B73E50 800FCCB0 2861FFF9 */ slti $at, $v1, -7
|
||||
/* B73E54 800FCCB4 10200008 */ beqz $at, .L800FCCD8
|
||||
/* B73E58 800FCCB8 00002825 */ move $a1, $zero
|
||||
/* B73E5C 800FCCBC 2861FFBE */ slti $at, $v1, -0x42
|
||||
/* B73E60 800FCCC0 14200003 */ bnez $at, .L800FCCD0
|
||||
/* B73E64 800FCCC4 00000000 */ nop
|
||||
/* B73E68 800FCCC8 10000003 */ b .L800FCCD8
|
||||
/* B73E6C 800FCCCC 24650007 */ addiu $a1, $v1, 7
|
||||
.L800FCCD0:
|
||||
/* B73E70 800FCCD0 10000001 */ b .L800FCCD8
|
||||
/* B73E74 800FCCD4 2405FFC4 */ li $a1, -60
|
||||
.L800FCCD8:
|
||||
/* B73E78 800FCCD8 28410008 */ slti $at, $v0, 8
|
||||
/* B73E7C 800FCCDC 14200007 */ bnez $at, .L800FCCFC
|
||||
/* B73E80 800FCCE0 28410043 */ slti $at, $v0, 0x43
|
||||
/* B73E84 800FCCE4 10200003 */ beqz $at, .L800FCCF4
|
||||
/* B73E88 800FCCE8 00000000 */ nop
|
||||
/* B73E8C 800FCCEC 1000000D */ b .L800FCD24
|
||||
/* B73E90 800FCCF0 2446FFF9 */ addiu $a2, $v0, -7
|
||||
.L800FCCF4:
|
||||
/* B73E94 800FCCF4 1000000B */ b .L800FCD24
|
||||
/* B73E98 800FCCF8 2406003C */ li $a2, 60
|
||||
.L800FCCFC:
|
||||
/* B73E9C 800FCCFC 2841FFF9 */ slti $at, $v0, -7
|
||||
/* B73EA0 800FCD00 10200008 */ beqz $at, .L800FCD24
|
||||
/* B73EA4 800FCD04 00003025 */ move $a2, $zero
|
||||
/* B73EA8 800FCD08 2841FFBE */ slti $at, $v0, -0x42
|
||||
/* B73EAC 800FCD0C 14200003 */ bnez $at, .L800FCD1C
|
||||
/* B73EB0 800FCD10 00000000 */ nop
|
||||
/* B73EB4 800FCD14 10000003 */ b .L800FCD24
|
||||
/* B73EB8 800FCD18 24460007 */ addiu $a2, $v0, 7
|
||||
.L800FCD1C:
|
||||
/* B73EBC 800FCD1C 10000001 */ b .L800FCD24
|
||||
/* B73EC0 800FCD20 2406FFC4 */ li $a2, -60
|
||||
.L800FCD24:
|
||||
/* B73EC4 800FCD24 0C03F304 */ jal func_800FCC10
|
||||
/* B73EC8 800FCD28 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* B73ECC 800FCD2C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B73ED0 800FCD30 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* B73ED4 800FCD34 03E00008 */ jr $ra
|
||||
/* B73ED8 800FCD38 00000000 */ nop
|
||||
@@ -0,0 +1,99 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800FCD40
|
||||
/* B73EE0 800FCD40 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* B73EE4 800FCD44 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B73EE8 800FCD48 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B73EEC 800FCD4C AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* B73EF0 800FCD50 240E00FF */ li $t6, 255
|
||||
/* B73EF4 800FCD54 A0AE0000 */ sb $t6, ($a1)
|
||||
/* B73EF8 800FCD58 00C08025 */ move $s0, $a2
|
||||
/* B73EFC 800FCD5C AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* B73F00 800FCD60 0C040304 */ jal osContInit
|
||||
/* B73F04 800FCD64 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* B73F08 800FCD68 10400003 */ beqz $v0, .L800FCD78
|
||||
/* B73F0C 800FCD6C 8FA70024 */ lw $a3, 0x24($sp)
|
||||
/* B73F10 800FCD70 1000003E */ b .L800FCE6C
|
||||
/* B73F14 800FCD74 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L800FCD78:
|
||||
/* B73F18 800FCD78 90EF0000 */ lbu $t7, ($a3)
|
||||
/* B73F1C 800FCD7C 240100FF */ li $at, 255
|
||||
/* B73F20 800FCD80 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* B73F24 800FCD84 55E10038 */ bnel $t7, $at, .L800FCE68
|
||||
/* B73F28 800FCD88 00001025 */ move $v0, $zero
|
||||
/* B73F2C 800FCD8C 0C040C84 */ jal func_80103210
|
||||
/* B73F30 800FCD90 AFA70024 */ sw $a3, 0x24($sp)
|
||||
/* B73F34 800FCD94 10400003 */ beqz $v0, .L800FCDA4
|
||||
/* B73F38 800FCD98 8FA70024 */ lw $a3, 0x24($sp)
|
||||
/* B73F3C 800FCD9C 10000032 */ b .L800FCE68
|
||||
/* B73F40 800FCDA0 24020001 */ li $v0, 1
|
||||
.L800FCDA4:
|
||||
/* B73F44 800FCDA4 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* B73F48 800FCDA8 00002825 */ move $a1, $zero
|
||||
/* B73F4C 800FCDAC 24060001 */ li $a2, 1
|
||||
/* B73F50 800FCDB0 0C000CA0 */ jal osRecvMesg
|
||||
/* B73F54 800FCDB4 AFA70024 */ sw $a3, 0x24($sp)
|
||||
/* B73F58 800FCDB8 0C040CA3 */ jal func_8010328C
|
||||
/* B73F5C 800FCDBC 02002025 */ move $a0, $s0
|
||||
/* B73F60 800FCDC0 8FA70024 */ lw $a3, 0x24($sp)
|
||||
/* B73F64 800FCDC4 02001025 */ move $v0, $s0
|
||||
/* B73F68 800FCDC8 24030005 */ li $v1, 5
|
||||
/* B73F6C 800FCDCC A0E00000 */ sb $zero, ($a3)
|
||||
/* B73F70 800FCDD0 92180003 */ lbu $t8, 3($s0)
|
||||
/* B73F74 800FCDD4 17000008 */ bnez $t8, .L800FCDF8
|
||||
/* B73F78 800FCDD8 00000000 */ nop
|
||||
/* B73F7C 800FCDDC 96190000 */ lhu $t9, ($s0)
|
||||
/* B73F80 800FCDE0 24030005 */ li $v1, 5
|
||||
/* B73F84 800FCDE4 34090001 */ ori $t1, $zero, 1
|
||||
/* B73F88 800FCDE8 54790004 */ bnel $v1, $t9, .L800FCDFC
|
||||
/* B73F8C 800FCDEC 904A0007 */ lbu $t2, 7($v0)
|
||||
/* B73F90 800FCDF0 10000001 */ b .L800FCDF8
|
||||
/* B73F94 800FCDF4 A0E90000 */ sb $t1, ($a3)
|
||||
.L800FCDF8:
|
||||
/* B73F98 800FCDF8 904A0007 */ lbu $t2, 7($v0)
|
||||
.L800FCDFC:
|
||||
/* B73F9C 800FCDFC 55400008 */ bnezl $t2, .L800FCE20
|
||||
/* B73FA0 800FCE00 904E000B */ lbu $t6, 0xb($v0)
|
||||
/* B73FA4 800FCE04 944B0004 */ lhu $t3, 4($v0)
|
||||
/* B73FA8 800FCE08 546B0005 */ bnel $v1, $t3, .L800FCE20
|
||||
/* B73FAC 800FCE0C 904E000B */ lbu $t6, 0xb($v0)
|
||||
/* B73FB0 800FCE10 90EC0000 */ lbu $t4, ($a3)
|
||||
/* B73FB4 800FCE14 358D0002 */ ori $t5, $t4, 2
|
||||
/* B73FB8 800FCE18 A0ED0000 */ sb $t5, ($a3)
|
||||
/* B73FBC 800FCE1C 904E000B */ lbu $t6, 0xb($v0)
|
||||
.L800FCE20:
|
||||
/* B73FC0 800FCE20 55C00008 */ bnezl $t6, .L800FCE44
|
||||
/* B73FC4 800FCE24 9048000F */ lbu $t0, 0xf($v0)
|
||||
/* B73FC8 800FCE28 944F0008 */ lhu $t7, 8($v0)
|
||||
/* B73FCC 800FCE2C 546F0005 */ bnel $v1, $t7, .L800FCE44
|
||||
/* B73FD0 800FCE30 9048000F */ lbu $t0, 0xf($v0)
|
||||
/* B73FD4 800FCE34 90F80000 */ lbu $t8, ($a3)
|
||||
/* B73FD8 800FCE38 37190004 */ ori $t9, $t8, 4
|
||||
/* B73FDC 800FCE3C A0F90000 */ sb $t9, ($a3)
|
||||
/* B73FE0 800FCE40 9048000F */ lbu $t0, 0xf($v0)
|
||||
.L800FCE44:
|
||||
/* B73FE4 800FCE44 55000008 */ bnezl $t0, .L800FCE68
|
||||
/* B73FE8 800FCE48 00001025 */ move $v0, $zero
|
||||
/* B73FEC 800FCE4C 9449000C */ lhu $t1, 0xc($v0)
|
||||
/* B73FF0 800FCE50 54690005 */ bnel $v1, $t1, .L800FCE68
|
||||
/* B73FF4 800FCE54 00001025 */ move $v0, $zero
|
||||
/* B73FF8 800FCE58 90EA0000 */ lbu $t2, ($a3)
|
||||
/* B73FFC 800FCE5C 354B0008 */ ori $t3, $t2, 8
|
||||
/* B74000 800FCE60 A0EB0000 */ sb $t3, ($a3)
|
||||
/* B74004 800FCE64 00001025 */ move $v0, $zero
|
||||
.L800FCE68:
|
||||
/* B74008 800FCE68 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L800FCE6C:
|
||||
/* B7400C 800FCE6C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B74010 800FCE70 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* B74014 800FCE74 03E00008 */ jr $ra
|
||||
/* B74018 800FCE78 00000000 */ nop
|
||||
@@ -0,0 +1,519 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800FCE80
|
||||
/* B74020 800FCE80 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* B74024 800FCE84 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B74028 800FCE88 E7AC0020 */ swc1 $f12, 0x20($sp)
|
||||
/* B7402C 800FCE8C 0C0400A4 */ jal sinf
|
||||
/* B74030 800FCE90 C7AC0020 */ lwc1 $f12, 0x20($sp)
|
||||
/* B74034 800FCE94 E7A0001C */ swc1 $f0, 0x1c($sp)
|
||||
/* B74038 800FCE98 0C041184 */ jal cosf
|
||||
/* B7403C 800FCE9C C7AC0020 */ lwc1 $f12, 0x20($sp)
|
||||
/* B74040 800FCEA0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B74044 800FCEA4 C7A4001C */ lwc1 $f4, 0x1c($sp)
|
||||
/* B74048 800FCEA8 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* B7404C 800FCEAC 03E00008 */ jr $ra
|
||||
/* B74050 800FCEB0 46002003 */ div.s $f0, $f4, $f0
|
||||
|
||||
glabel func_800FCEB4
|
||||
/* B74054 800FCEB4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B74058 800FCEB8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B7405C 800FCEBC 0C03F4E4 */ jal func_800FD390
|
||||
/* B74060 800FCEC0 00000000 */ nop
|
||||
/* B74064 800FCEC4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B74068 800FCEC8 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B7406C 800FCECC 03E00008 */ jr $ra
|
||||
/* B74070 800FCED0 00000000 */ nop
|
||||
|
||||
glabel func_800FCED4
|
||||
/* B74074 800FCED4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B74078 800FCED8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B7407C 800FCEDC 0C03F4F2 */ jal func_800FD3C8
|
||||
/* B74080 800FCEE0 00000000 */ nop
|
||||
/* B74084 800FCEE4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B74088 800FCEE8 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B7408C 800FCEEC 03E00008 */ jr $ra
|
||||
/* B74090 800FCEF0 00000000 */ nop
|
||||
|
||||
glabel func_800FCEF4
|
||||
/* B74094 800FCEF4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B74098 800FCEF8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B7409C 800FCEFC 0C03F51C */ jal func_800FD470
|
||||
/* B740A0 800FCF00 00000000 */ nop
|
||||
/* B740A4 800FCF04 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B740A8 800FCF08 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B740AC 800FCF0C 03E00008 */ jr $ra
|
||||
/* B740B0 800FCF10 00000000 */ nop
|
||||
|
||||
glabel func_800FCF14
|
||||
/* B740B4 800FCF14 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B740B8 800FCF18 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B740BC 800FCF1C 0C03F500 */ jal func_800FD400
|
||||
/* B740C0 800FCF20 00000000 */ nop
|
||||
/* B740C4 800FCF24 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B740C8 800FCF28 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B740CC 800FCF2C 03E00008 */ jr $ra
|
||||
/* B740D0 800FCF30 00000000 */ nop
|
||||
|
||||
glabel func_800FCF34
|
||||
/* B740D4 800FCF34 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B740D8 800FCF38 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B740DC 800FCF3C 0C03F50E */ jal func_800FD438
|
||||
/* B740E0 800FCF40 00000000 */ nop
|
||||
/* B740E4 800FCF44 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B740E8 800FCF48 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B740EC 800FCF4C 03E00008 */ jr $ra
|
||||
/* B740F0 800FCF50 00000000 */ nop
|
||||
|
||||
glabel func_800FCF54
|
||||
/* B740F4 800FCF54 460C6002 */ mul.s $f0, $f12, $f12
|
||||
/* B740F8 800FCF58 3C028015 */ lui $v0, %hi(D_8014AAC0) # $v0, 0x8015
|
||||
/* B740FC 800FCF5C 46006086 */ mov.s $f2, $f12
|
||||
/* B74100 800FCF60 2442AAC0 */ addiu $v0, %lo(D_8014AAC0) # addiu $v0, $v0, -0x5540
|
||||
/* B74104 800FCF64 46006382 */ mul.s $f14, $f12, $f0
|
||||
/* B74108 800FCF68 00000000 */ nop
|
||||
.L800FCF6C:
|
||||
/* B7410C 800FCF6C C4440000 */ lwc1 $f4, ($v0)
|
||||
/* B74110 800FCF70 24420004 */ addiu $v0, $v0, 4
|
||||
/* B74114 800FCF74 460E2302 */ mul.s $f12, $f4, $f14
|
||||
/* B74118 800FCF78 460C1400 */ add.s $f16, $f2, $f12
|
||||
/* B7411C 800FCF7C 46101032 */ c.eq.s $f2, $f16
|
||||
/* B74120 800FCF80 00000000 */ nop
|
||||
/* B74124 800FCF84 45010004 */ bc1t .L800FCF98
|
||||
/* B74128 800FCF88 00000000 */ nop
|
||||
/* B7412C 800FCF8C 46007382 */ mul.s $f14, $f14, $f0
|
||||
/* B74130 800FCF90 1000FFF6 */ b .L800FCF6C
|
||||
/* B74134 800FCF94 46008086 */ mov.s $f2, $f16
|
||||
.L800FCF98:
|
||||
/* B74138 800FCF98 03E00008 */ jr $ra
|
||||
/* B7413C 800FCF9C 46001006 */ mov.s $f0, $f2
|
||||
|
||||
glabel func_800FCFA0
|
||||
/* B74140 800FCFA0 44808000 */ mtc1 $zero, $f16
|
||||
/* B74144 800FCFA4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B74148 800FCFA8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B7414C 800FCFAC 460C803C */ c.lt.s $f16, $f12
|
||||
/* B74150 800FCFB0 46006386 */ mov.s $f14, $f12
|
||||
/* B74154 800FCFB4 3C018015 */ lui $at, %hi(D_8014AAE4)
|
||||
/* B74158 800FCFB8 45020004 */ bc1fl .L800FCFCC
|
||||
/* B7415C 800FCFBC 4610703C */ c.lt.s $f14, $f16
|
||||
/* B74160 800FCFC0 1000000F */ b .L800FD000
|
||||
/* B74164 800FCFC4 46006006 */ mov.s $f0, $f12
|
||||
/* B74168 800FCFC8 4610703C */ c.lt.s $f14, $f16
|
||||
.L800FCFCC:
|
||||
/* B7416C 800FCFCC 00000000 */ nop
|
||||
/* B74170 800FCFD0 45020004 */ bc1fl .L800FCFE4
|
||||
/* B74174 800FCFD4 46107032 */ c.eq.s $f14, $f16
|
||||
/* B74178 800FCFD8 10000009 */ b .L800FD000
|
||||
/* B7417C 800FCFDC 46007007 */ neg.s $f0, $f14
|
||||
/* B74180 800FCFE0 46107032 */ c.eq.s $f14, $f16
|
||||
.L800FCFE4:
|
||||
/* B74184 800FCFE4 3C018013 */ lui $at, %hi(D_801344A4)
|
||||
/* B74188 800FCFE8 45000003 */ bc1f .L800FCFF8
|
||||
/* B7418C 800FCFEC 00000000 */ nop
|
||||
/* B74190 800FCFF0 10000030 */ b .L800FD0B4
|
||||
/* B74194 800FCFF4 46008006 */ mov.s $f0, $f16
|
||||
.L800FCFF8:
|
||||
/* B74198 800FCFF8 1000002E */ b .L800FD0B4
|
||||
/* B7419C 800FCFFC C42044A4 */ lwc1 $f0, %lo(D_801344A4)($at)
|
||||
.L800FD000:
|
||||
/* B741A0 800FD000 C424AAE4 */ lwc1 $f4, %lo(D_8014AAE4)($at)
|
||||
/* B741A4 800FD004 3C018015 */ lui $at, %hi(D_8014AAE8)
|
||||
/* B741A8 800FD008 4604003E */ c.le.s $f0, $f4
|
||||
/* B741AC 800FD00C 00000000 */ nop
|
||||
/* B741B0 800FD010 45000005 */ bc1f .L800FD028
|
||||
/* B741B4 800FD014 00000000 */ nop
|
||||
/* B741B8 800FD018 0C03F3D5 */ jal func_800FCF54
|
||||
/* B741BC 800FD01C 46007306 */ mov.s $f12, $f14
|
||||
/* B741C0 800FD020 10000025 */ b .L800FD0B8
|
||||
/* B741C4 800FD024 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800FD028:
|
||||
/* B741C8 800FD028 C426AAE8 */ lwc1 $f6, %lo(D_8014AAE8)($at)
|
||||
/* B741CC 800FD02C 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B741D0 800FD030 4600303E */ c.le.s $f6, $f0
|
||||
/* B741D4 800FD034 00000000 */ nop
|
||||
/* B741D8 800FD038 4502000D */ bc1fl .L800FD070
|
||||
/* B741DC 800FD03C 44811000 */ mtc1 $at, $f2
|
||||
/* B741E0 800FD040 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B741E4 800FD044 44811000 */ mtc1 $at, $f2
|
||||
/* B741E8 800FD048 E7AE0018 */ swc1 $f14, 0x18($sp)
|
||||
/* B741EC 800FD04C 0C03F3D5 */ jal func_800FCF54
|
||||
/* B741F0 800FD050 46001303 */ div.s $f12, $f2, $f0
|
||||
/* B741F4 800FD054 3C018015 */ lui $at, %hi(D_8014AAEC)
|
||||
/* B741F8 800FD058 C428AAEC */ lwc1 $f8, %lo(D_8014AAEC)($at)
|
||||
/* B741FC 800FD05C 44808000 */ mtc1 $zero, $f16
|
||||
/* B74200 800FD060 C7AE0018 */ lwc1 $f14, 0x18($sp)
|
||||
/* B74204 800FD064 1000000C */ b .L800FD098
|
||||
/* B74208 800FD068 46004081 */ sub.s $f2, $f8, $f0
|
||||
/* B7420C 800FD06C 44811000 */ mtc1 $at, $f2
|
||||
.L800FD070:
|
||||
/* B74210 800FD070 E7AE0018 */ swc1 $f14, 0x18($sp)
|
||||
/* B74214 800FD074 46001281 */ sub.s $f10, $f2, $f0
|
||||
/* B74218 800FD078 46001480 */ add.s $f18, $f2, $f0
|
||||
/* B7421C 800FD07C 0C03F3D5 */ jal func_800FCF54
|
||||
/* B74220 800FD080 46125303 */ div.s $f12, $f10, $f18
|
||||
/* B74224 800FD084 3C018015 */ lui $at, %hi(D_8014AAF0)
|
||||
/* B74228 800FD088 C424AAF0 */ lwc1 $f4, %lo(D_8014AAF0)($at)
|
||||
/* B7422C 800FD08C 44808000 */ mtc1 $zero, $f16
|
||||
/* B74230 800FD090 C7AE0018 */ lwc1 $f14, 0x18($sp)
|
||||
/* B74234 800FD094 46002081 */ sub.s $f2, $f4, $f0
|
||||
.L800FD098:
|
||||
/* B74238 800FD098 460E803C */ c.lt.s $f16, $f14
|
||||
/* B7423C 800FD09C 00000000 */ nop
|
||||
/* B74240 800FD0A0 45020004 */ bc1fl .L800FD0B4
|
||||
/* B74244 800FD0A4 46001007 */ neg.s $f0, $f2
|
||||
/* B74248 800FD0A8 10000002 */ b .L800FD0B4
|
||||
/* B7424C 800FD0AC 46001006 */ mov.s $f0, $f2
|
||||
/* B74250 800FD0B0 46001007 */ neg.s $f0, $f2
|
||||
.L800FD0B4:
|
||||
/* B74254 800FD0B4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800FD0B8:
|
||||
/* B74258 800FD0B8 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B7425C 800FD0BC 03E00008 */ jr $ra
|
||||
/* B74260 800FD0C0 00000000 */ nop
|
||||
|
||||
glabel func_800FD0C4
|
||||
/* B74264 800FD0C4 3C01BF80 */ li $at, 0xBF800000 # 0.000000
|
||||
/* B74268 800FD0C8 44810000 */ mtc1 $at, $f0
|
||||
/* B7426C 800FD0CC 3C013F80 */ lui $at, 0x3f80
|
||||
/* B74270 800FD0D0 460C003E */ c.le.s $f0, $f12
|
||||
/* B74274 800FD0D4 00000000 */ nop
|
||||
/* B74278 800FD0D8 4502000A */ bc1fl .L800FD104
|
||||
/* B7427C 800FD0DC 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B74280 800FD0E0 44818000 */ mtc1 $at, $f16
|
||||
/* B74284 800FD0E4 00000000 */ nop
|
||||
/* B74288 800FD0E8 4610603E */ c.le.s $f12, $f16
|
||||
/* B7428C 800FD0EC 00000000 */ nop
|
||||
/* B74290 800FD0F0 45020004 */ bc1fl .L800FD104
|
||||
/* B74294 800FD0F4 3C013F80 */ lui $at, 0x3f80
|
||||
/* B74298 800FD0F8 10000013 */ b .L800FD148
|
||||
/* B7429C 800FD0FC 00001025 */ move $v0, $zero
|
||||
/* B742A0 800FD100 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
.L800FD104:
|
||||
/* B742A4 800FD104 44818000 */ mtc1 $at, $f16
|
||||
/* B742A8 800FD108 24020001 */ li $v0, 1
|
||||
/* B742AC 800FD10C 460C803C */ c.lt.s $f16, $f12
|
||||
/* B742B0 800FD110 00000000 */ nop
|
||||
/* B742B4 800FD114 45020004 */ bc1fl .L800FD128
|
||||
/* B742B8 800FD118 4600603C */ c.lt.s $f12, $f0
|
||||
/* B742BC 800FD11C 1000000A */ b .L800FD148
|
||||
/* B742C0 800FD120 460C8303 */ div.s $f12, $f16, $f12
|
||||
/* B742C4 800FD124 4600603C */ c.lt.s $f12, $f0
|
||||
.L800FD128:
|
||||
/* B742C8 800FD128 2402FFFF */ li $v0, -1
|
||||
/* B742CC 800FD12C 3C018013 */ lui $at, %hi(D_801344A4)
|
||||
/* B742D0 800FD130 45000003 */ bc1f .L800FD140
|
||||
/* B742D4 800FD134 00000000 */ nop
|
||||
/* B742D8 800FD138 10000003 */ b .L800FD148
|
||||
/* B742DC 800FD13C 460C8303 */ div.s $f12, $f16, $f12
|
||||
.L800FD140:
|
||||
/* B742E0 800FD140 03E00008 */ jr $ra
|
||||
/* B742E4 800FD144 C42044A4 */ lwc1 $f0, %lo(D_801344A4)($at)
|
||||
|
||||
.L800FD148:
|
||||
/* B742E8 800FD148 3C014100 */ li $at, 0x41000000 # 0.000000
|
||||
/* B742EC 800FD14C 460C6002 */ mul.s $f0, $f12, $f12
|
||||
/* B742F0 800FD150 44801000 */ mtc1 $zero, $f2
|
||||
/* B742F4 800FD154 44817000 */ mtc1 $at, $f14
|
||||
/* B742F8 800FD158 24030008 */ li $v1, 8
|
||||
.L800FD15C:
|
||||
/* B742FC 800FD15C 460E7482 */ mul.s $f18, $f14, $f14
|
||||
/* B74300 800FD160 460E7280 */ add.s $f10, $f14, $f14
|
||||
/* B74304 800FD164 2463FFFC */ addiu $v1, $v1, -4
|
||||
/* B74308 800FD168 46105280 */ add.s $f10, $f10, $f16
|
||||
/* B7430C 800FD16C 46009482 */ mul.s $f18, $f18, $f0
|
||||
/* B74310 800FD170 46107381 */ sub.s $f14, $f14, $f16
|
||||
/* B74314 800FD174 460E7202 */ mul.s $f8, $f14, $f14
|
||||
/* B74318 800FD178 46025280 */ add.s $f10, $f10, $f2
|
||||
/* B7431C 800FD17C 460E7180 */ add.s $f6, $f14, $f14
|
||||
/* B74320 800FD180 46004202 */ mul.s $f8, $f8, $f0
|
||||
/* B74324 800FD184 460A9083 */ div.s $f2, $f18, $f10
|
||||
/* B74328 800FD188 46103180 */ add.s $f6, $f6, $f16
|
||||
/* B7432C 800FD18C 46107381 */ sub.s $f14, $f14, $f16
|
||||
/* B74330 800FD190 460E7282 */ mul.s $f10, $f14, $f14
|
||||
/* B74334 800FD194 46023180 */ add.s $f6, $f6, $f2
|
||||
/* B74338 800FD198 460E7480 */ add.s $f18, $f14, $f14
|
||||
/* B7433C 800FD19C 46005282 */ mul.s $f10, $f10, $f0
|
||||
/* B74340 800FD1A0 46064083 */ div.s $f2, $f8, $f6
|
||||
/* B74344 800FD1A4 46109480 */ add.s $f18, $f18, $f16
|
||||
/* B74348 800FD1A8 46107381 */ sub.s $f14, $f14, $f16
|
||||
/* B7434C 800FD1AC 460E7182 */ mul.s $f6, $f14, $f14
|
||||
/* B74350 800FD1B0 46029480 */ add.s $f18, $f18, $f2
|
||||
/* B74354 800FD1B4 460E7200 */ add.s $f8, $f14, $f14
|
||||
/* B74358 800FD1B8 46003182 */ mul.s $f6, $f6, $f0
|
||||
/* B7435C 800FD1BC 46125083 */ div.s $f2, $f10, $f18
|
||||
/* B74360 800FD1C0 46104200 */ add.s $f8, $f8, $f16
|
||||
/* B74364 800FD1C4 46107381 */ sub.s $f14, $f14, $f16
|
||||
/* B74368 800FD1C8 46024200 */ add.s $f8, $f8, $f2
|
||||
/* B7436C 800FD1CC 1460FFE3 */ bnez $v1, .L800FD15C
|
||||
/* B74370 800FD1D0 46083083 */ div.s $f2, $f6, $f8
|
||||
/* B74374 800FD1D4 46028100 */ add.s $f4, $f16, $f2
|
||||
/* B74378 800FD1D8 14400003 */ bnez $v0, .L800FD1E8
|
||||
/* B7437C 800FD1DC 46046083 */ div.s $f2, $f12, $f4
|
||||
/* B74380 800FD1E0 03E00008 */ jr $ra
|
||||
/* B74384 800FD1E4 46001006 */ mov.s $f0, $f2
|
||||
|
||||
.L800FD1E8:
|
||||
/* B74388 800FD1E8 18400005 */ blez $v0, .L800FD200
|
||||
/* B7438C 800FD1EC 3C018015 */ lui $at, %hi(D_8014AAF8)
|
||||
/* B74390 800FD1F0 3C018015 */ lui $at, %hi(D_8014AAF4)
|
||||
/* B74394 800FD1F4 C428AAF4 */ lwc1 $f8, %lo(D_8014AAF4)($at)
|
||||
/* B74398 800FD1F8 03E00008 */ jr $ra
|
||||
/* B7439C 800FD1FC 46024001 */ sub.s $f0, $f8, $f2
|
||||
|
||||
.L800FD200:
|
||||
/* B743A0 800FD200 C42AAAF8 */ lwc1 $f10, %lo(D_8014AAF8)($at)
|
||||
/* B743A4 800FD204 46025001 */ sub.s $f0, $f10, $f2
|
||||
/* B743A8 800FD208 03E00008 */ jr $ra
|
||||
/* B743AC 800FD20C 00000000 */ nop
|
||||
|
||||
glabel func_800FD210
|
||||
/* B743B0 800FD210 3C0E8017 */ lui $t6, %hi(D_80175600) # $t6, 0x8017
|
||||
/* B743B4 800FD214 8DCE5600 */ lw $t6, %lo(D_80175600)($t6)
|
||||
/* B743B8 800FD218 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B743BC 800FD21C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B743C0 800FD220 15C00005 */ bnez $t6, .L800FD238
|
||||
/* B743C4 800FD224 00000000 */ nop
|
||||
/* B743C8 800FD228 0C03F3E8 */ jal func_800FCFA0
|
||||
/* B743CC 800FD22C 00000000 */ nop
|
||||
/* B743D0 800FD230 10000004 */ b .L800FD244
|
||||
/* B743D4 800FD234 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800FD238:
|
||||
/* B743D8 800FD238 0C03F431 */ jal func_800FD0C4
|
||||
/* B743DC 800FD23C 00000000 */ nop
|
||||
/* B743E0 800FD240 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L800FD244:
|
||||
/* B743E4 800FD244 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B743E8 800FD248 03E00008 */ jr $ra
|
||||
/* B743EC 800FD24C 00000000 */ nop
|
||||
|
||||
glabel func_800FD250
|
||||
/* B743F0 800FD250 44801000 */ mtc1 $zero, $f2
|
||||
/* B743F4 800FD254 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* B743F8 800FD258 F7B40010 */ sdc1 $f20, 0x10($sp)
|
||||
/* B743FC 800FD25C 46027032 */ c.eq.s $f14, $f2
|
||||
/* B74400 800FD260 46006506 */ mov.s $f20, $f12
|
||||
/* B74404 800FD264 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B74408 800FD268 45020017 */ bc1fl .L800FD2C8
|
||||
/* B7440C 800FD26C 460E103E */ c.le.s $f2, $f14
|
||||
/* B74410 800FD270 46026032 */ c.eq.s $f12, $f2
|
||||
/* B74414 800FD274 00000000 */ nop
|
||||
/* B74418 800FD278 45020004 */ bc1fl .L800FD28C
|
||||
/* B7441C 800FD27C 4614103C */ c.lt.s $f2, $f20
|
||||
/* B74420 800FD280 10000028 */ b .L800FD324
|
||||
/* B74424 800FD284 46001006 */ mov.s $f0, $f2
|
||||
/* B74428 800FD288 4614103C */ c.lt.s $f2, $f20
|
||||
.L800FD28C:
|
||||
/* B7442C 800FD28C 3C018015 */ lui $at, %hi(D_8014AAFC)
|
||||
/* B74430 800FD290 45020004 */ bc1fl .L800FD2A4
|
||||
/* B74434 800FD294 4602A03C */ c.lt.s $f20, $f2
|
||||
/* B74438 800FD298 10000022 */ b .L800FD324
|
||||
/* B7443C 800FD29C C420AAFC */ lwc1 $f0, %lo(D_8014AAFC)($at)
|
||||
/* B74440 800FD2A0 4602A03C */ c.lt.s $f20, $f2
|
||||
.L800FD2A4:
|
||||
/* B74444 800FD2A4 3C018013 */ lui $at, %hi(D_801344A4)
|
||||
/* B74448 800FD2A8 45000004 */ bc1f .L800FD2BC
|
||||
/* B7444C 800FD2AC 00000000 */ nop
|
||||
/* B74450 800FD2B0 3C018015 */ lui $at, %hi(D_8014AB00)
|
||||
/* B74454 800FD2B4 1000001B */ b .L800FD324
|
||||
/* B74458 800FD2B8 C420AB00 */ lwc1 $f0, %lo(D_8014AB00)($at)
|
||||
.L800FD2BC:
|
||||
/* B7445C 800FD2BC 10000019 */ b .L800FD324
|
||||
/* B74460 800FD2C0 C42044A4 */ lwc1 $f0, %lo(D_801344A4)($at)
|
||||
/* B74464 800FD2C4 460E103E */ c.le.s $f2, $f14
|
||||
.L800FD2C8:
|
||||
/* B74468 800FD2C8 00000000 */ nop
|
||||
/* B7446C 800FD2CC 45020006 */ bc1fl .L800FD2E8
|
||||
/* B74470 800FD2D0 4602A03C */ c.lt.s $f20, $f2
|
||||
/* B74474 800FD2D4 0C03F484 */ jal func_800FD210
|
||||
/* B74478 800FD2D8 460EA303 */ div.s $f12, $f20, $f14
|
||||
/* B7447C 800FD2DC 10000012 */ b .L800FD328
|
||||
/* B74480 800FD2E0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* B74484 800FD2E4 4602A03C */ c.lt.s $f20, $f2
|
||||
.L800FD2E8:
|
||||
/* B74488 800FD2E8 00000000 */ nop
|
||||
/* B7448C 800FD2EC 45020008 */ bc1fl .L800FD310
|
||||
/* B74490 800FD2F0 460EA303 */ div.s $f12, $f20, $f14
|
||||
/* B74494 800FD2F4 0C03F484 */ jal func_800FD210
|
||||
/* B74498 800FD2F8 460EA303 */ div.s $f12, $f20, $f14
|
||||
/* B7449C 800FD2FC 3C018015 */ lui $at, %hi(D_8014AB04)
|
||||
/* B744A0 800FD300 C424AB04 */ lwc1 $f4, %lo(D_8014AB04)($at)
|
||||
/* B744A4 800FD304 10000007 */ b .L800FD324
|
||||
/* B744A8 800FD308 46040001 */ sub.s $f0, $f0, $f4
|
||||
/* B744AC 800FD30C 460EA303 */ div.s $f12, $f20, $f14
|
||||
.L800FD310:
|
||||
/* B744B0 800FD310 0C03F484 */ jal func_800FD210
|
||||
/* B744B4 800FD314 46006307 */ neg.s $f12, $f12
|
||||
/* B744B8 800FD318 3C018015 */ lui $at, %hi(D_8014AB08)
|
||||
/* B744BC 800FD31C C426AB08 */ lwc1 $f6, %lo(D_8014AB08)($at)
|
||||
/* B744C0 800FD320 46003001 */ sub.s $f0, $f6, $f0
|
||||
.L800FD324:
|
||||
/* B744C4 800FD324 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L800FD328:
|
||||
/* B744C8 800FD328 D7B40010 */ ldc1 $f20, 0x10($sp)
|
||||
/* B744CC 800FD32C 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* B744D0 800FD330 03E00008 */ jr $ra
|
||||
/* B744D4 800FD334 00000000 */ nop
|
||||
|
||||
glabel func_800FD338
|
||||
/* B744D8 800FD338 460C6182 */ mul.s $f6, $f12, $f12
|
||||
/* B744DC 800FD33C 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B744E0 800FD340 44812000 */ mtc1 $at, $f4
|
||||
/* B744E4 800FD344 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B744E8 800FD348 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B744EC 800FD34C 46062001 */ sub.s $f0, $f4, $f6
|
||||
/* B744F0 800FD350 0C03F494 */ jal func_800FD250
|
||||
/* B744F4 800FD354 46000384 */ sqrt.s $f14, $f0
|
||||
/* B744F8 800FD358 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B744FC 800FD35C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B74500 800FD360 03E00008 */ jr $ra
|
||||
/* B74504 800FD364 00000000 */ nop
|
||||
|
||||
glabel func_800FD368
|
||||
/* B74508 800FD368 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B7450C 800FD36C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B74510 800FD370 0C03F4CE */ jal func_800FD338
|
||||
/* B74514 800FD374 00000000 */ nop
|
||||
/* B74518 800FD378 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B7451C 800FD37C 3C018015 */ lui $at, %hi(D_8014AB0C)
|
||||
/* B74520 800FD380 C424AB0C */ lwc1 $f4, %lo(D_8014AB0C)($at)
|
||||
/* B74524 800FD384 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B74528 800FD388 03E00008 */ jr $ra
|
||||
/* B7452C 800FD38C 46002001 */ sub.s $f0, $f4, $f0
|
||||
|
||||
glabel func_800FD390
|
||||
/* B74530 800FD390 4600630F */ floor.w.s $f12, $f12
|
||||
/* B74534 800FD394 03E00008 */ jr $ra
|
||||
/* B74538 800FD398 46806020 */ cvt.s.w $f0, $f12
|
||||
|
||||
glabel func_800FD39C
|
||||
/* B7453C 800FD39C 4620630F */ floor.w.d $f12, $f12
|
||||
/* B74540 800FD3A0 03E00008 */ jr $ra
|
||||
/* B74544 800FD3A4 46806021 */ cvt.d.w $f0, $f12
|
||||
|
||||
glabel func_800FD3A8
|
||||
/* B74548 800FD3A8 4600610F */ floor.w.s $f4, $f12
|
||||
/* B7454C 800FD3AC 44022000 */ mfc1 $v0, $f4
|
||||
/* B74550 800FD3B0 03E00008 */ jr $ra
|
||||
/* B74554 800FD3B4 00000000 */ nop
|
||||
|
||||
glabel func_800FD3B8
|
||||
/* B74558 800FD3B8 4620610F */ floor.w.d $f4, $f12
|
||||
/* B7455C 800FD3BC 44022000 */ mfc1 $v0, $f4
|
||||
/* B74560 800FD3C0 03E00008 */ jr $ra
|
||||
/* B74564 800FD3C4 00000000 */ nop
|
||||
|
||||
glabel func_800FD3C8
|
||||
/* B74568 800FD3C8 4600630E */ ceil.w.s $f12, $f12
|
||||
/* B7456C 800FD3CC 03E00008 */ jr $ra
|
||||
/* B74570 800FD3D0 46806020 */ cvt.s.w $f0, $f12
|
||||
|
||||
glabel func_800FD3D4
|
||||
/* B74574 800FD3D4 4620630E */ ceil.w.d $f12, $f12
|
||||
/* B74578 800FD3D8 03E00008 */ jr $ra
|
||||
/* B7457C 800FD3DC 46806021 */ cvt.d.w $f0, $f12
|
||||
|
||||
glabel func_800FD3E0
|
||||
/* B74580 800FD3E0 4600610E */ ceil.w.s $f4, $f12
|
||||
/* B74584 800FD3E4 44022000 */ mfc1 $v0, $f4
|
||||
/* B74588 800FD3E8 03E00008 */ jr $ra
|
||||
/* B7458C 800FD3EC 00000000 */ nop
|
||||
|
||||
glabel func_800FD3F0
|
||||
/* B74590 800FD3F0 4620610E */ ceil.w.d $f4, $f12
|
||||
/* B74594 800FD3F4 44022000 */ mfc1 $v0, $f4
|
||||
/* B74598 800FD3F8 03E00008 */ jr $ra
|
||||
/* B7459C 800FD3FC 00000000 */ nop
|
||||
|
||||
glabel func_800FD400
|
||||
/* B745A0 800FD400 4600630D */ trunc.w.s $f12, $f12
|
||||
/* B745A4 800FD404 03E00008 */ jr $ra
|
||||
/* B745A8 800FD408 46806020 */ cvt.s.w $f0, $f12
|
||||
|
||||
glabel func_800FD40C
|
||||
/* B745AC 800FD40C 4620630D */ trunc.w.d $f12, $f12
|
||||
/* B745B0 800FD410 03E00008 */ jr $ra
|
||||
/* B745B4 800FD414 46806021 */ cvt.d.w $f0, $f12
|
||||
|
||||
glabel func_800FD418
|
||||
/* B745B8 800FD418 4600610D */ trunc.w.s $f4, $f12
|
||||
/* B745BC 800FD41C 44022000 */ mfc1 $v0, $f4
|
||||
/* B745C0 800FD420 03E00008 */ jr $ra
|
||||
/* B745C4 800FD424 00000000 */ nop
|
||||
|
||||
glabel func_800FD428
|
||||
/* B745C8 800FD428 4620610D */ trunc.w.d $f4, $f12
|
||||
/* B745CC 800FD42C 44022000 */ mfc1 $v0, $f4
|
||||
/* B745D0 800FD430 03E00008 */ jr $ra
|
||||
/* B745D4 800FD434 00000000 */ nop
|
||||
|
||||
glabel func_800FD438
|
||||
/* B745D8 800FD438 4600630C */ round.w.s $f12, $f12
|
||||
/* B745DC 800FD43C 03E00008 */ jr $ra
|
||||
/* B745E0 800FD440 46806020 */ cvt.s.w $f0, $f12
|
||||
|
||||
glabel func_800FD444
|
||||
/* B745E4 800FD444 4620630C */ round.w.d $f12, $f12
|
||||
/* B745E8 800FD448 03E00008 */ jr $ra
|
||||
/* B745EC 800FD44C 46806021 */ cvt.d.w $f0, $f12
|
||||
|
||||
glabel func_800FD450
|
||||
/* B745F0 800FD450 4600610C */ round.w.s $f4, $f12
|
||||
/* B745F4 800FD454 44022000 */ mfc1 $v0, $f4
|
||||
/* B745F8 800FD458 03E00008 */ jr $ra
|
||||
/* B745FC 800FD45C 00000000 */ nop
|
||||
|
||||
glabel func_800FD460
|
||||
/* B74600 800FD460 4620610C */ round.w.d $f4, $f12
|
||||
/* B74604 800FD464 44022000 */ mfc1 $v0, $f4
|
||||
/* B74608 800FD468 03E00008 */ jr $ra
|
||||
/* B7460C 800FD46C 00000000 */ nop
|
||||
|
||||
glabel func_800FD470
|
||||
/* B74610 800FD470 3C013F00 */ li $at, 0x3F000000 # 0.000000
|
||||
/* B74614 800FD474 44812000 */ mtc1 $at, $f4
|
||||
/* B74618 800FD478 00000000 */ nop
|
||||
/* B7461C 800FD47C 46046000 */ add.s $f0, $f12, $f4
|
||||
/* B74620 800FD480 4600000F */ floor.w.s $f0, $f0
|
||||
/* B74624 800FD484 03E00008 */ jr $ra
|
||||
/* B74628 800FD488 46800020 */ cvt.s.w $f0, $f0
|
||||
|
||||
glabel func_800FD48C
|
||||
/* B7462C 800FD48C 3C013FE0 */ li $at, 0x3FE00000 # 0.000000
|
||||
/* B74630 800FD490 44812800 */ mtc1 $at, $f5
|
||||
/* B74634 800FD494 44802000 */ mtc1 $zero, $f4
|
||||
/* B74638 800FD498 00000000 */ nop
|
||||
/* B7463C 800FD49C 46246000 */ add.d $f0, $f12, $f4
|
||||
/* B74640 800FD4A0 4620000F */ floor.w.d $f0, $f0
|
||||
/* B74644 800FD4A4 03E00008 */ jr $ra
|
||||
/* B74648 800FD4A8 46800021 */ cvt.d.w $f0, $f0
|
||||
|
||||
glabel func_800FD4AC
|
||||
/* B7464C 800FD4AC 3C013F00 */ li $at, 0x3F000000 # 0.000000
|
||||
/* B74650 800FD4B0 44812000 */ mtc1 $at, $f4
|
||||
/* B74654 800FD4B4 00000000 */ nop
|
||||
/* B74658 800FD4B8 46046000 */ add.s $f0, $f12, $f4
|
||||
/* B7465C 800FD4BC 4600000F */ floor.w.s $f0, $f0
|
||||
/* B74660 800FD4C0 44020000 */ mfc1 $v0, $f0
|
||||
/* B74664 800FD4C4 03E00008 */ jr $ra
|
||||
/* B74668 800FD4C8 00000000 */ nop
|
||||
|
||||
glabel func_800FD4CC
|
||||
/* B7466C 800FD4CC 3C013FE0 */ li $at, 0x3FE00000 # 0.000000
|
||||
/* B74670 800FD4D0 44812800 */ mtc1 $at, $f5
|
||||
/* B74674 800FD4D4 44802000 */ mtc1 $zero, $f4
|
||||
/* B74678 800FD4D8 00000000 */ nop
|
||||
/* B7467C 800FD4DC 46246000 */ add.d $f0, $f12, $f4
|
||||
/* B74680 800FD4E0 4620000F */ floor.w.d $f0, $f0
|
||||
/* B74684 800FD4E4 44020000 */ mfc1 $v0, $f0
|
||||
/* B74688 800FD4E8 03E00008 */ jr $ra
|
||||
/* B7468C 800FD4EC 00000000 */ nop
|
||||
@@ -0,0 +1,135 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800FD970
|
||||
/* B74B10 800FD970 3C038013 */ lui $v1, %hi(D_801344C0) # $v1, 0x8013
|
||||
/* B74B14 800FD974 246344C0 */ addiu $v1, %lo(D_801344C0) # addiu $v1, $v1, 0x44c0
|
||||
/* B74B18 800FD978 8C6E0000 */ lw $t6, ($v1)
|
||||
/* B74B1C 800FD97C 3C010019 */ lui $at, (0x0019660D >> 16) # lui $at, 0x19
|
||||
/* B74B20 800FD980 3421660D */ ori $at, (0x0019660D & 0xFFFF) # ori $at, $at, 0x660d
|
||||
/* B74B24 800FD984 01C10019 */ multu $t6, $at
|
||||
/* B74B28 800FD988 3C013C6E */ lui $at, (0x3C6EF35F >> 16) # lui $at, 0x3c6e
|
||||
/* B74B2C 800FD98C 3421F35F */ ori $at, (0x3C6EF35F & 0xFFFF) # ori $at, $at, 0xf35f
|
||||
/* B74B30 800FD990 00007812 */ mflo $t7
|
||||
/* B74B34 800FD994 01E11021 */ addu $v0, $t7, $at
|
||||
/* B74B38 800FD998 03E00008 */ jr $ra
|
||||
/* B74B3C 800FD99C AC620000 */ sw $v0, ($v1)
|
||||
|
||||
glabel func_800FD9A0
|
||||
/* B74B40 800FD9A0 3C018013 */ lui $at, %hi(D_801344C0)
|
||||
/* B74B44 800FD9A4 03E00008 */ jr $ra
|
||||
/* B74B48 800FD9A8 AC2444C0 */ sw $a0, %lo(D_801344C0)($at)
|
||||
|
||||
glabel Math_Rand_ZeroOne
|
||||
/* B74B4C 800FD9AC 3C028013 */ lui $v0, %hi(D_801344C0) # $v0, 0x8013
|
||||
/* B74B50 800FD9B0 244244C0 */ addiu $v0, %lo(D_801344C0) # addiu $v0, $v0, 0x44c0
|
||||
/* B74B54 800FD9B4 8C4E0000 */ lw $t6, ($v0)
|
||||
/* B74B58 800FD9B8 3C010019 */ lui $at, (0x0019660D >> 16) # lui $at, 0x19
|
||||
/* B74B5C 800FD9BC 3421660D */ ori $at, (0x0019660D & 0xFFFF) # ori $at, $at, 0x660d
|
||||
/* B74B60 800FD9C0 01C10019 */ multu $t6, $at
|
||||
/* B74B64 800FD9C4 3C013C6E */ lui $at, (0x3C6EF35F >> 16) # lui $at, 0x3c6e
|
||||
/* B74B68 800FD9C8 3421F35F */ ori $at, (0x3C6EF35F & 0xFFFF) # ori $at, $at, 0xf35f
|
||||
/* B74B6C 800FD9CC 3C038017 */ lui $v1, %hi(D_80175640) # $v1, 0x8017
|
||||
/* B74B70 800FD9D0 24635640 */ addiu $v1, %lo(D_80175640) # addiu $v1, $v1, 0x5640
|
||||
/* B74B74 800FD9D4 00007812 */ mflo $t7
|
||||
/* B74B78 800FD9D8 01E1C021 */ addu $t8, $t7, $at
|
||||
/* B74B7C 800FD9DC 00184242 */ srl $t0, $t8, 9
|
||||
/* B74B80 800FD9E0 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B74B84 800FD9E4 01014825 */ or $t1, $t0, $at
|
||||
/* B74B88 800FD9E8 AC690000 */ sw $t1, ($v1)
|
||||
/* B74B8C 800FD9EC C4640000 */ lwc1 $f4, ($v1)
|
||||
/* B74B90 800FD9F0 44813000 */ mtc1 $at, $f6
|
||||
/* B74B94 800FD9F4 AC580000 */ sw $t8, ($v0)
|
||||
/* B74B98 800FD9F8 03E00008 */ jr $ra
|
||||
/* B74B9C 800FD9FC 46062001 */ sub.s $f0, $f4, $f6
|
||||
|
||||
glabel func_800FDA00
|
||||
/* B74BA0 800FDA00 3C028013 */ lui $v0, %hi(D_801344C0) # $v0, 0x8013
|
||||
/* B74BA4 800FDA04 244244C0 */ addiu $v0, %lo(D_801344C0) # addiu $v0, $v0, 0x44c0
|
||||
/* B74BA8 800FDA08 8C4E0000 */ lw $t6, ($v0)
|
||||
/* B74BAC 800FDA0C 3C010019 */ lui $at, (0x0019660D >> 16) # lui $at, 0x19
|
||||
/* B74BB0 800FDA10 3421660D */ ori $at, (0x0019660D & 0xFFFF) # ori $at, $at, 0x660d
|
||||
/* B74BB4 800FDA14 01C10019 */ multu $t6, $at
|
||||
/* B74BB8 800FDA18 3C013C6E */ lui $at, (0x3C6EF35F >> 16) # lui $at, 0x3c6e
|
||||
/* B74BBC 800FDA1C 3421F35F */ ori $at, (0x3C6EF35F & 0xFFFF) # ori $at, $at, 0xf35f
|
||||
/* B74BC0 800FDA20 3C038017 */ lui $v1, %hi(D_80175640) # $v1, 0x8017
|
||||
/* B74BC4 800FDA24 24635640 */ addiu $v1, %lo(D_80175640) # addiu $v1, $v1, 0x5640
|
||||
/* B74BC8 800FDA28 00007812 */ mflo $t7
|
||||
/* B74BCC 800FDA2C 01E1C021 */ addu $t8, $t7, $at
|
||||
/* B74BD0 800FDA30 00184242 */ srl $t0, $t8, 9
|
||||
/* B74BD4 800FDA34 3C013F80 */ lui $at, 0x3f80
|
||||
/* B74BD8 800FDA38 01014825 */ or $t1, $t0, $at
|
||||
/* B74BDC 800FDA3C AC690000 */ sw $t1, ($v1)
|
||||
/* B74BE0 800FDA40 3C013FC0 */ li $at, 0x3FC00000 # 0.000000
|
||||
/* B74BE4 800FDA44 44813000 */ mtc1 $at, $f6
|
||||
/* B74BE8 800FDA48 C4640000 */ lwc1 $f4, ($v1)
|
||||
/* B74BEC 800FDA4C AC580000 */ sw $t8, ($v0)
|
||||
/* B74BF0 800FDA50 03E00008 */ jr $ra
|
||||
/* B74BF4 800FDA54 46062001 */ sub.s $f0, $f4, $f6
|
||||
|
||||
glabel func_800FDA58
|
||||
/* B74BF8 800FDA58 03E00008 */ jr $ra
|
||||
/* B74BFC 800FDA5C AC850000 */ sw $a1, ($a0)
|
||||
|
||||
glabel func_800FDA60
|
||||
/* B74C00 800FDA60 8C830000 */ lw $v1, ($a0)
|
||||
/* B74C04 800FDA64 3C010019 */ lui $at, (0x0019660D >> 16) # lui $at, 0x19
|
||||
/* B74C08 800FDA68 3421660D */ ori $at, (0x0019660D & 0xFFFF) # ori $at, $at, 0x660d
|
||||
/* B74C0C 800FDA6C 00610019 */ multu $v1, $at
|
||||
/* B74C10 800FDA70 3C013C6E */ lui $at, (0x3C6EF35F >> 16) # lui $at, 0x3c6e
|
||||
/* B74C14 800FDA74 3421F35F */ ori $at, (0x3C6EF35F & 0xFFFF) # ori $at, $at, 0xf35f
|
||||
/* B74C18 800FDA78 00001812 */ mflo $v1
|
||||
/* B74C1C 800FDA7C 00611021 */ addu $v0, $v1, $at
|
||||
/* B74C20 800FDA80 03E00008 */ jr $ra
|
||||
/* B74C24 800FDA84 AC820000 */ sw $v0, ($a0)
|
||||
|
||||
glabel func_800FDA88
|
||||
/* B74C28 800FDA88 8C820000 */ lw $v0, ($a0)
|
||||
/* B74C2C 800FDA8C 3C010019 */ lui $at, (0x0019660D >> 16) # lui $at, 0x19
|
||||
/* B74C30 800FDA90 3421660D */ ori $at, (0x0019660D & 0xFFFF) # ori $at, $at, 0x660d
|
||||
/* B74C34 800FDA94 00410019 */ multu $v0, $at
|
||||
/* B74C38 800FDA98 3C013C6E */ lui $at, (0x3C6EF35F >> 16) # lui $at, 0x3c6e
|
||||
/* B74C3C 800FDA9C 3421F35F */ ori $at, (0x3C6EF35F & 0xFFFF) # ori $at, $at, 0xf35f
|
||||
/* B74C40 800FDAA0 3C038017 */ lui $v1, %hi(D_80175640) # $v1, 0x8017
|
||||
/* B74C44 800FDAA4 24635640 */ addiu $v1, %lo(D_80175640) # addiu $v1, $v1, 0x5640
|
||||
/* B74C48 800FDAA8 00001012 */ mflo $v0
|
||||
/* B74C4C 800FDAAC 00411021 */ addu $v0, $v0, $at
|
||||
/* B74C50 800FDAB0 00027242 */ srl $t6, $v0, 9
|
||||
/* B74C54 800FDAB4 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B74C58 800FDAB8 01C17825 */ or $t7, $t6, $at
|
||||
/* B74C5C 800FDABC AC820000 */ sw $v0, ($a0)
|
||||
/* B74C60 800FDAC0 AC6F0000 */ sw $t7, ($v1)
|
||||
/* B74C64 800FDAC4 C4640000 */ lwc1 $f4, ($v1)
|
||||
/* B74C68 800FDAC8 44813000 */ mtc1 $at, $f6
|
||||
/* B74C6C 800FDACC 03E00008 */ jr $ra
|
||||
/* B74C70 800FDAD0 46062001 */ sub.s $f0, $f4, $f6
|
||||
|
||||
glabel func_800FDAD4
|
||||
/* B74C74 800FDAD4 8C820000 */ lw $v0, ($a0)
|
||||
/* B74C78 800FDAD8 3C010019 */ lui $at, (0x0019660D >> 16) # lui $at, 0x19
|
||||
/* B74C7C 800FDADC 3421660D */ ori $at, (0x0019660D & 0xFFFF) # ori $at, $at, 0x660d
|
||||
/* B74C80 800FDAE0 00410019 */ multu $v0, $at
|
||||
/* B74C84 800FDAE4 3C013C6E */ lui $at, (0x3C6EF35F >> 16) # lui $at, 0x3c6e
|
||||
/* B74C88 800FDAE8 3421F35F */ ori $at, (0x3C6EF35F & 0xFFFF) # ori $at, $at, 0xf35f
|
||||
/* B74C8C 800FDAEC 3C038017 */ lui $v1, %hi(D_80175640) # $v1, 0x8017
|
||||
/* B74C90 800FDAF0 24635640 */ addiu $v1, %lo(D_80175640) # addiu $v1, $v1, 0x5640
|
||||
/* B74C94 800FDAF4 00001012 */ mflo $v0
|
||||
/* B74C98 800FDAF8 00411021 */ addu $v0, $v0, $at
|
||||
/* B74C9C 800FDAFC 00027242 */ srl $t6, $v0, 9
|
||||
/* B74CA0 800FDB00 3C013F80 */ lui $at, 0x3f80
|
||||
/* B74CA4 800FDB04 01C17825 */ or $t7, $t6, $at
|
||||
/* B74CA8 800FDB08 AC820000 */ sw $v0, ($a0)
|
||||
/* B74CAC 800FDB0C AC6F0000 */ sw $t7, ($v1)
|
||||
/* B74CB0 800FDB10 3C013FC0 */ li $at, 0x3FC00000 # 0.000000
|
||||
/* B74CB4 800FDB14 44813000 */ mtc1 $at, $f6
|
||||
/* B74CB8 800FDB18 C4640000 */ lwc1 $f4, ($v1)
|
||||
/* B74CBC 800FDB1C 03E00008 */ jr $ra
|
||||
/* B74CC0 800FDB20 46062001 */ sub.s $f0, $f4, $f6
|
||||
@@ -0,0 +1,523 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800FF340
|
||||
/* B764E0 800FF340 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B764E4 800FF344 AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* B764E8 800FF348 00802825 */ move $a1, $a0
|
||||
/* B764EC 800FF34C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B764F0 800FF350 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B764F4 800FF354 00C03825 */ move $a3, $a2
|
||||
/* B764F8 800FF358 8FA6001C */ lw $a2, 0x1c($sp)
|
||||
/* B764FC 800FF35C 0C0014B8 */ jal _Printf
|
||||
/* B76500 800FF360 8C840000 */ lw $a0, ($a0)
|
||||
/* B76504 800FF364 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B76508 800FF368 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B7650C 800FF36C 03E00008 */ jr $ra
|
||||
/* B76510 800FF370 00000000 */ nop
|
||||
|
||||
glabel func_800FF374
|
||||
/* B76514 800FF374 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* B76518 800FF378 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B7651C 800FF37C AFA60028 */ sw $a2, 0x28($sp)
|
||||
/* B76520 800FF380 AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* B76524 800FF384 AFA7002C */ sw $a3, 0x2c($sp)
|
||||
/* B76528 800FF388 0C03FCD0 */ jal func_800FF340
|
||||
/* B7652C 800FF38C 27A60028 */ addiu $a2, $sp, 0x28
|
||||
/* B76530 800FF390 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B76534 800FF394 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* B76538 800FF398 03E00008 */ jr $ra
|
||||
/* B7653C 800FF39C 00000000 */ nop
|
||||
|
||||
glabel func_800FF3A0
|
||||
/* B76540 800FF3A0 27BDFF98 */ addiu $sp, $sp, -0x68
|
||||
/* B76544 800FF3A4 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B76548 800FF3A8 AFA40068 */ sw $a0, 0x68($sp)
|
||||
/* B7654C 800FF3AC AFA5006C */ sw $a1, 0x6c($sp)
|
||||
/* B76550 800FF3B0 27A5004C */ addiu $a1, $sp, 0x4c
|
||||
/* B76554 800FF3B4 27A40050 */ addiu $a0, $sp, 0x50
|
||||
/* B76558 800FF3B8 0C001874 */ jal osCreateMesgQueue
|
||||
/* B7655C 800FF3BC 24060001 */ li $a2, 1
|
||||
/* B76560 800FF3C0 240E0000 */ li $t6, 0
|
||||
/* B76564 800FF3C4 240F0000 */ li $t7, 0
|
||||
/* B76568 800FF3C8 27B80050 */ addiu $t8, $sp, 0x50
|
||||
/* B7656C 800FF3CC AFB80018 */ sw $t8, 0x18($sp)
|
||||
/* B76570 800FF3D0 AFAF0014 */ sw $t7, 0x14($sp)
|
||||
/* B76574 800FF3D4 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* B76578 800FF3D8 27A40028 */ addiu $a0, $sp, 0x28
|
||||
/* B7657C 800FF3DC 8FA60068 */ lw $a2, 0x68($sp)
|
||||
/* B76580 800FF3E0 8FA7006C */ lw $a3, 0x6c($sp)
|
||||
/* B76584 800FF3E4 0C0418B8 */ jal osSetTimer
|
||||
/* B76588 800FF3E8 AFA0001C */ sw $zero, 0x1c($sp)
|
||||
/* B7658C 800FF3EC 27A40050 */ addiu $a0, $sp, 0x50
|
||||
/* B76590 800FF3F0 00002825 */ move $a1, $zero
|
||||
/* B76594 800FF3F4 0C000CA0 */ jal osRecvMesg
|
||||
/* B76598 800FF3F8 24060001 */ li $a2, 1
|
||||
/* B7659C 800FF3FC 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B765A0 800FF400 27BD0068 */ addiu $sp, $sp, 0x68
|
||||
/* B765A4 800FF404 03E00008 */ jr $ra
|
||||
/* B765A8 800FF408 00000000 */ nop
|
||||
|
||||
glabel func_800FF40C
|
||||
/* B765AC 800FF40C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B765B0 800FF410 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B765B4 800FF414 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B765B8 800FF418 00802825 */ move $a1, $a0
|
||||
/* B765BC 800FF41C 24040000 */ li $a0, 0
|
||||
/* B765C0 800FF420 24060000 */ li $a2, 0
|
||||
/* B765C4 800FF424 0C000E1E */ jal __ll_mul
|
||||
/* B765C8 800FF428 24070003 */ li $a3, 3
|
||||
/* B765CC 800FF42C 00402025 */ move $a0, $v0
|
||||
/* B765D0 800FF430 00602825 */ move $a1, $v1
|
||||
/* B765D4 800FF434 24060000 */ li $a2, 0
|
||||
/* B765D8 800FF438 0C000DDE */ jal __ull_div
|
||||
/* B765DC 800FF43C 24070040 */ li $a3, 64
|
||||
/* B765E0 800FF440 00402025 */ move $a0, $v0
|
||||
/* B765E4 800FF444 0C03FCE8 */ jal func_800FF3A0
|
||||
/* B765E8 800FF448 00602825 */ move $a1, $v1
|
||||
/* B765EC 800FF44C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B765F0 800FF450 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B765F4 800FF454 03E00008 */ jr $ra
|
||||
/* B765F8 800FF458 00000000 */ nop
|
||||
|
||||
glabel func_800FF45C
|
||||
/* B765FC 800FF45C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B76600 800FF460 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B76604 800FF464 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B76608 800FF468 00802825 */ move $a1, $a0
|
||||
/* B7660C 800FF46C 24040000 */ li $a0, 0
|
||||
/* B76610 800FF470 24060000 */ li $a2, 0
|
||||
/* B76614 800FF474 0C000E1E */ jal __ll_mul
|
||||
/* B76618 800FF478 24070BB8 */ li $a3, 3000
|
||||
/* B7661C 800FF47C 00402025 */ move $a0, $v0
|
||||
/* B76620 800FF480 00602825 */ move $a1, $v1
|
||||
/* B76624 800FF484 24060000 */ li $a2, 0
|
||||
/* B76628 800FF488 0C000DDE */ jal __ull_div
|
||||
/* B7662C 800FF48C 24070040 */ li $a3, 64
|
||||
/* B76630 800FF490 00402025 */ move $a0, $v0
|
||||
/* B76634 800FF494 0C03FCE8 */ jal func_800FF3A0
|
||||
/* B76638 800FF498 00602825 */ move $a1, $v1
|
||||
/* B7663C 800FF49C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B76640 800FF4A0 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B76644 800FF4A4 03E00008 */ jr $ra
|
||||
/* B76648 800FF4A8 00000000 */ nop
|
||||
|
||||
glabel func_800FF4AC
|
||||
/* B7664C 800FF4AC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B76650 800FF4B0 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B76654 800FF4B4 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B76658 800FF4B8 00802825 */ move $a1, $a0
|
||||
/* B7665C 800FF4BC 3C0702CB */ lui $a3, (0x02CB4178 >> 16) # lui $a3, 0x2cb
|
||||
/* B76660 800FF4C0 34E74178 */ ori $a3, (0x02CB4178 & 0xFFFF) # ori $a3, $a3, 0x4178
|
||||
/* B76664 800FF4C4 24040000 */ li $a0, 0
|
||||
/* B76668 800FF4C8 0C000E1E */ jal __ll_mul
|
||||
/* B7666C 800FF4CC 24060000 */ li $a2, 0
|
||||
/* B76670 800FF4D0 00402025 */ move $a0, $v0
|
||||
/* B76674 800FF4D4 00602825 */ move $a1, $v1
|
||||
/* B76678 800FF4D8 24060000 */ li $a2, 0
|
||||
/* B7667C 800FF4DC 0C000DDE */ jal __ull_div
|
||||
/* B76680 800FF4E0 240703E8 */ li $a3, 1000
|
||||
/* B76684 800FF4E4 00402025 */ move $a0, $v0
|
||||
/* B76688 800FF4E8 0C03FCE8 */ jal func_800FF3A0
|
||||
/* B7668C 800FF4EC 00602825 */ move $a1, $v1
|
||||
/* B76690 800FF4F0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B76694 800FF4F4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B76698 800FF4F8 03E00008 */ jr $ra
|
||||
/* B7669C 800FF4FC 00000000 */ nop
|
||||
|
||||
glabel func_800FF500
|
||||
/* B766A0 800FF500 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B766A4 800FF504 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B766A8 800FF508 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B766AC 800FF50C 00802825 */ move $a1, $a0
|
||||
/* B766B0 800FF510 3C0702CB */ lui $a3, (0x02CB4178 >> 16) # lui $a3, 0x2cb
|
||||
/* B766B4 800FF514 34E74178 */ ori $a3, (0x02CB4178 & 0xFFFF) # ori $a3, $a3, 0x4178
|
||||
/* B766B8 800FF518 24040000 */ li $a0, 0
|
||||
/* B766BC 800FF51C 0C000E1E */ jal __ll_mul
|
||||
/* B766C0 800FF520 24060000 */ li $a2, 0
|
||||
/* B766C4 800FF524 00402025 */ move $a0, $v0
|
||||
/* B766C8 800FF528 0C03FCE8 */ jal func_800FF3A0
|
||||
/* B766CC 800FF52C 00602825 */ move $a1, $v1
|
||||
/* B766D0 800FF530 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B766D4 800FF534 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B766D8 800FF538 03E00008 */ jr $ra
|
||||
/* B766DC 800FF53C 00000000 */ nop
|
||||
|
||||
glabel func_800FF540
|
||||
/* B766E0 800FF540 30C300FF */ andi $v1, $a2, 0xff
|
||||
/* B766E4 800FF544 00A03825 */ move $a3, $a1
|
||||
/* B766E8 800FF548 AFA60008 */ sw $a2, 8($sp)
|
||||
/* B766EC 800FF54C 18600014 */ blez $v1, .L800FF5A0
|
||||
/* B766F0 800FF550 00001025 */ move $v0, $zero
|
||||
.L800FF554:
|
||||
/* B766F4 800FF554 000279C0 */ sll $t7, $v0, 7
|
||||
/* B766F8 800FF558 24840001 */ addiu $a0, $a0, 1
|
||||
/* B766FC 800FF55C 00EF3021 */ addu $a2, $a3, $t7
|
||||
/* B76700 800FF560 00002825 */ move $a1, $zero
|
||||
.L800FF564:
|
||||
/* B76704 800FF564 0005C840 */ sll $t9, $a1, 1
|
||||
/* B76708 800FF568 24A50001 */ addiu $a1, $a1, 1
|
||||
/* B7670C 800FF56C 90980000 */ lbu $t8, ($a0)
|
||||
/* B76710 800FF570 30A900FF */ andi $t1, $a1, 0xff
|
||||
/* B76714 800FF574 29210040 */ slti $at, $t1, 0x40
|
||||
/* B76718 800FF578 00D94021 */ addu $t0, $a2, $t9
|
||||
/* B7671C 800FF57C 01202825 */ move $a1, $t1
|
||||
/* B76720 800FF580 24840001 */ addiu $a0, $a0, 1
|
||||
/* B76724 800FF584 1420FFF7 */ bnez $at, .L800FF564
|
||||
/* B76728 800FF588 A5180000 */ sh $t8, ($t0)
|
||||
/* B7672C 800FF58C 24420001 */ addiu $v0, $v0, 1
|
||||
/* B76730 800FF590 304A00FF */ andi $t2, $v0, 0xff
|
||||
/* B76734 800FF594 0143082A */ slt $at, $t2, $v1
|
||||
/* B76738 800FF598 1420FFEE */ bnez $at, .L800FF554
|
||||
/* B7673C 800FF59C 01401025 */ move $v0, $t2
|
||||
.L800FF5A0:
|
||||
/* B76740 800FF5A0 03E00008 */ jr $ra
|
||||
/* B76744 800FF5A4 00000000 */ nop
|
||||
|
||||
glabel func_800FF5A8
|
||||
/* B76748 800FF5A8 27BDFFF8 */ addiu $sp, $sp, -8
|
||||
/* B7674C 800FF5AC AFB00004 */ sw $s0, 4($sp)
|
||||
/* B76750 800FF5B0 00A08025 */ move $s0, $a1
|
||||
/* B76754 800FF5B4 24020001 */ li $v0, 1
|
||||
/* B76758 800FF5B8 00001825 */ move $v1, $zero
|
||||
/* B7675C 800FF5BC 24060001 */ li $a2, 1
|
||||
/* B76760 800FF5C0 24070001 */ li $a3, 1
|
||||
.L800FF5C4:
|
||||
/* B76764 800FF5C4 00E42821 */ addu $a1, $a3, $a0
|
||||
/* B76768 800FF5C8 90AEFFFF */ lbu $t6, -1($a1)
|
||||
/* B7676C 800FF5CC 19C0000C */ blez $t6, .L800FF600
|
||||
.L800FF5D0:
|
||||
/* B76770 800FF5D0 02037821 */ addu $t7, $s0, $v1
|
||||
/* B76774 800FF5D4 A1E20000 */ sb $v0, ($t7)
|
||||
/* B76778 800FF5D8 90AAFFFF */ lbu $t2, -1($a1)
|
||||
/* B7677C 800FF5DC 24C60001 */ addiu $a2, $a2, 1
|
||||
/* B76780 800FF5E0 00064400 */ sll $t0, $a2, 0x10
|
||||
/* B76784 800FF5E4 24630001 */ addiu $v1, $v1, 1
|
||||
/* B76788 800FF5E8 00083403 */ sra $a2, $t0, 0x10
|
||||
/* B7678C 800FF5EC 0003C400 */ sll $t8, $v1, 0x10
|
||||
/* B76790 800FF5F0 0146082A */ slt $at, $t2, $a2
|
||||
/* B76794 800FF5F4 1020FFF6 */ beqz $at, .L800FF5D0
|
||||
/* B76798 800FF5F8 00181C03 */ sra $v1, $t8, 0x10
|
||||
/* B7679C 800FF5FC 24060001 */ li $a2, 1
|
||||
.L800FF600:
|
||||
/* B767A0 800FF600 24420001 */ addiu $v0, $v0, 1
|
||||
/* B767A4 800FF604 304700FF */ andi $a3, $v0, 0xff
|
||||
/* B767A8 800FF608 28E10011 */ slti $at, $a3, 0x11
|
||||
/* B767AC 800FF60C 1420FFED */ bnez $at, .L800FF5C4
|
||||
/* B767B0 800FF610 00E01025 */ move $v0, $a3
|
||||
/* B767B4 800FF614 02036021 */ addu $t4, $s0, $v1
|
||||
/* B767B8 800FF618 A1800000 */ sb $zero, ($t4)
|
||||
/* B767BC 800FF61C 8FB00004 */ lw $s0, 4($sp)
|
||||
/* B767C0 800FF620 27BD0008 */ addiu $sp, $sp, 8
|
||||
/* B767C4 800FF624 03E00008 */ jr $ra
|
||||
/* B767C8 800FF628 00601025 */ move $v0, $v1
|
||||
|
||||
glabel func_800FF62C
|
||||
/* B767CC 800FF62C 90860000 */ lbu $a2, ($a0)
|
||||
/* B767D0 800FF630 00001825 */ move $v1, $zero
|
||||
/* B767D4 800FF634 00001025 */ move $v0, $zero
|
||||
/* B767D8 800FF638 00C03825 */ move $a3, $a2
|
||||
.L800FF63C:
|
||||
/* B767DC 800FF63C 00037040 */ sll $t6, $v1, 1
|
||||
.L800FF640:
|
||||
/* B767E0 800FF640 24630001 */ addiu $v1, $v1, 1
|
||||
/* B767E4 800FF644 0003C400 */ sll $t8, $v1, 0x10
|
||||
/* B767E8 800FF648 00181C03 */ sra $v1, $t8, 0x10
|
||||
/* B767EC 800FF64C 00AE7821 */ addu $t7, $a1, $t6
|
||||
/* B767F0 800FF650 A5E20000 */ sh $v0, ($t7)
|
||||
/* B767F4 800FF654 00645021 */ addu $t2, $v1, $a0
|
||||
/* B767F8 800FF658 91480000 */ lbu $t0, ($t2)
|
||||
/* B767FC 800FF65C 24420001 */ addiu $v0, $v0, 1
|
||||
/* B76800 800FF660 3049FFFF */ andi $t1, $v0, 0xffff
|
||||
/* B76804 800FF664 10E8FFF5 */ beq $a3, $t0, .L800FF63C
|
||||
/* B76808 800FF668 01201025 */ move $v0, $t1
|
||||
/* B7680C 800FF66C 11000008 */ beqz $t0, .L800FF690
|
||||
.L800FF670:
|
||||
/* B76810 800FF670 24C60001 */ addiu $a2, $a2, 1
|
||||
/* B76814 800FF674 30C700FF */ andi $a3, $a2, 0xff
|
||||
/* B76818 800FF678 00025840 */ sll $t3, $v0, 1
|
||||
/* B7681C 800FF67C 3162FFFF */ andi $v0, $t3, 0xffff
|
||||
/* B76820 800FF680 1507FFFB */ bne $t0, $a3, .L800FF670
|
||||
/* B76824 800FF684 00E03025 */ move $a2, $a3
|
||||
/* B76828 800FF688 1000FFED */ b .L800FF640
|
||||
/* B7682C 800FF68C 00037040 */ sll $t6, $v1, 1
|
||||
.L800FF690:
|
||||
/* B76830 800FF690 03E00008 */ jr $ra
|
||||
/* B76834 800FF694 00601025 */ move $v0, $v1
|
||||
|
||||
glabel func_800FF698
|
||||
/* B76838 800FF698 27BDFFF8 */ addiu $sp, $sp, -8
|
||||
/* B7683C 800FF69C AFB00004 */ sw $s0, 4($sp)
|
||||
/* B76840 800FF6A0 00C08025 */ move $s0, $a2
|
||||
/* B76844 800FF6A4 00A03825 */ move $a3, $a1
|
||||
/* B76848 800FF6A8 00001825 */ move $v1, $zero
|
||||
/* B7684C 800FF6AC 00001025 */ move $v0, $zero
|
||||
/* B76850 800FF6B0 3408FFFF */ li $t0, 65535
|
||||
.L800FF6B4:
|
||||
/* B76854 800FF6B4 00442821 */ addu $a1, $v0, $a0
|
||||
/* B76858 800FF6B8 90AE0000 */ lbu $t6, ($a1)
|
||||
/* B7685C 800FF6BC 0002C840 */ sll $t9, $v0, 1
|
||||
/* B76860 800FF6C0 00E27821 */ addu $t7, $a3, $v0
|
||||
/* B76864 800FF6C4 11C00014 */ beqz $t6, .L800FF718
|
||||
/* B76868 800FF6C8 00F94821 */ addu $t1, $a3, $t9
|
||||
/* B7686C 800FF6CC 0003C840 */ sll $t9, $v1, 1
|
||||
/* B76870 800FF6D0 A1E30000 */ sb $v1, ($t7)
|
||||
/* B76874 800FF6D4 02194821 */ addu $t1, $s0, $t9
|
||||
/* B76878 800FF6D8 952A0000 */ lhu $t2, ($t1)
|
||||
/* B7687C 800FF6DC 0002C040 */ sll $t8, $v0, 1
|
||||
/* B76880 800FF6E0 00F83021 */ addu $a2, $a3, $t8
|
||||
/* B76884 800FF6E4 A4CA0010 */ sh $t2, 0x10($a2)
|
||||
/* B76888 800FF6E8 90AB0000 */ lbu $t3, ($a1)
|
||||
/* B7688C 800FF6EC 006B1821 */ addu $v1, $v1, $t3
|
||||
/* B76890 800FF6F0 2463FFFF */ addiu $v1, $v1, -1
|
||||
/* B76894 800FF6F4 306CFFFF */ andi $t4, $v1, 0xffff
|
||||
/* B76898 800FF6F8 000C6840 */ sll $t5, $t4, 1
|
||||
/* B7689C 800FF6FC 020D7021 */ addu $t6, $s0, $t5
|
||||
/* B768A0 800FF700 95CF0000 */ lhu $t7, ($t6)
|
||||
/* B768A4 800FF704 25830001 */ addiu $v1, $t4, 1
|
||||
/* B768A8 800FF708 3078FFFF */ andi $t8, $v1, 0xffff
|
||||
/* B768AC 800FF70C 03001825 */ move $v1, $t8
|
||||
/* B768B0 800FF710 10000002 */ b .L800FF71C
|
||||
/* B768B4 800FF714 A4CF0030 */ sh $t7, 0x30($a2)
|
||||
.L800FF718:
|
||||
/* B768B8 800FF718 A5280030 */ sh $t0, 0x30($t1)
|
||||
.L800FF71C:
|
||||
/* B768BC 800FF71C 24420001 */ addiu $v0, $v0, 1
|
||||
/* B768C0 800FF720 304A00FF */ andi $t2, $v0, 0xff
|
||||
/* B768C4 800FF724 29410010 */ slti $at, $t2, 0x10
|
||||
/* B768C8 800FF728 1420FFE2 */ bnez $at, .L800FF6B4
|
||||
/* B768CC 800FF72C 01401025 */ move $v0, $t2
|
||||
/* B768D0 800FF730 8FB00004 */ lw $s0, 4($sp)
|
||||
/* B768D4 800FF734 27BD0008 */ addiu $sp, $sp, 8
|
||||
/* B768D8 800FF738 03E00008 */ jr $ra
|
||||
/* B768DC 800FF73C 00601025 */ move $v0, $v1
|
||||
|
||||
glabel func_800FF740
|
||||
/* B768E0 800FF740 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* B768E4 800FF744 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B768E8 800FF748 AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* B768EC 800FF74C AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* B768F0 800FF750 AFA60028 */ sw $a2, 0x28($sp)
|
||||
/* B768F4 800FF754 AFA7002C */ sw $a3, 0x2c($sp)
|
||||
/* B768F8 800FF758 0C03FD6A */ jal func_800FF5A8
|
||||
/* B768FC 800FF75C 00C02825 */ move $a1, $a2
|
||||
/* B76900 800FF760 00021C00 */ sll $v1, $v0, 0x10
|
||||
/* B76904 800FF764 00037403 */ sra $t6, $v1, 0x10
|
||||
/* B76908 800FF768 1040000B */ beqz $v0, .L800FF798
|
||||
/* B7690C 800FF76C 01C01825 */ move $v1, $t6
|
||||
/* B76910 800FF770 93A40033 */ lbu $a0, 0x33($sp)
|
||||
/* B76914 800FF774 28410101 */ slti $at, $v0, 0x101
|
||||
/* B76918 800FF778 10800003 */ beqz $a0, .L800FF788
|
||||
/* B7691C 800FF77C 00000000 */ nop
|
||||
/* B76920 800FF780 10200005 */ beqz $at, .L800FF798
|
||||
/* B76924 800FF784 00000000 */ nop
|
||||
.L800FF788:
|
||||
/* B76928 800FF788 14800005 */ bnez $a0, .L800FF7A0
|
||||
/* B7692C 800FF78C 28410011 */ slti $at, $v0, 0x11
|
||||
/* B76930 800FF790 54200004 */ bnezl $at, .L800FF7A4
|
||||
/* B76934 800FF794 8FA40028 */ lw $a0, 0x28($sp)
|
||||
.L800FF798:
|
||||
/* B76938 800FF798 10000014 */ b .L800FF7EC
|
||||
/* B7693C 800FF79C 00001025 */ move $v0, $zero
|
||||
.L800FF7A0:
|
||||
/* B76940 800FF7A0 8FA40028 */ lw $a0, 0x28($sp)
|
||||
.L800FF7A4:
|
||||
/* B76944 800FF7A4 8FA5002C */ lw $a1, 0x2c($sp)
|
||||
/* B76948 800FF7A8 0C03FD8B */ jal func_800FF62C
|
||||
/* B7694C 800FF7AC A7A3001E */ sh $v1, 0x1e($sp)
|
||||
/* B76950 800FF7B0 87A3001E */ lh $v1, 0x1e($sp)
|
||||
/* B76954 800FF7B4 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* B76958 800FF7B8 8FA50024 */ lw $a1, 0x24($sp)
|
||||
/* B7695C 800FF7BC 10430003 */ beq $v0, $v1, .L800FF7CC
|
||||
/* B76960 800FF7C0 8FA6002C */ lw $a2, 0x2c($sp)
|
||||
/* B76964 800FF7C4 10000009 */ b .L800FF7EC
|
||||
/* B76968 800FF7C8 00001025 */ move $v0, $zero
|
||||
.L800FF7CC:
|
||||
/* B7696C 800FF7CC 0C03FDA6 */ jal func_800FF698
|
||||
/* B76970 800FF7D0 A7A3001E */ sh $v1, 0x1e($sp)
|
||||
/* B76974 800FF7D4 87A3001E */ lh $v1, 0x1e($sp)
|
||||
/* B76978 800FF7D8 50620004 */ beql $v1, $v0, .L800FF7EC
|
||||
/* B7697C 800FF7DC 00601025 */ move $v0, $v1
|
||||
/* B76980 800FF7E0 10000002 */ b .L800FF7EC
|
||||
/* B76984 800FF7E4 00001025 */ move $v0, $zero
|
||||
/* B76988 800FF7E8 00601025 */ move $v0, $v1
|
||||
.L800FF7EC:
|
||||
/* B7698C 800FF7EC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B76990 800FF7F0 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* B76994 800FF7F4 03E00008 */ jr $ra
|
||||
/* B76998 800FF7F8 00000000 */ nop
|
||||
|
||||
glabel func_800FF7FC
|
||||
/* B7699C 800FF7FC 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* B769A0 800FF800 AFB4002C */ sw $s4, 0x2c($sp)
|
||||
/* B769A4 800FF804 93B40053 */ lbu $s4, 0x53($sp)
|
||||
/* B769A8 800FF808 AFB60034 */ sw $s6, 0x34($sp)
|
||||
/* B769AC 800FF80C AFB50030 */ sw $s5, 0x30($sp)
|
||||
/* B769B0 800FF810 AFB30028 */ sw $s3, 0x28($sp)
|
||||
/* B769B4 800FF814 AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* B769B8 800FF818 AFB0001C */ sw $s0, 0x1c($sp)
|
||||
/* B769BC 800FF81C 00808025 */ move $s0, $a0
|
||||
/* B769C0 800FF820 00A09825 */ move $s3, $a1
|
||||
/* B769C4 800FF824 00C0A825 */ move $s5, $a2
|
||||
/* B769C8 800FF828 00E0B025 */ move $s6, $a3
|
||||
/* B769CC 800FF82C AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* B769D0 800FF830 AFB70038 */ sw $s7, 0x38($sp)
|
||||
/* B769D4 800FF834 AFB20024 */ sw $s2, 0x24($sp)
|
||||
/* B769D8 800FF838 1A80001A */ blez $s4, .L800FF8A4
|
||||
/* B769DC 800FF83C 00008825 */ move $s1, $zero
|
||||
/* B769E0 800FF840 24170054 */ li $s7, 84
|
||||
.L800FF844:
|
||||
/* B769E4 800FF844 02370019 */ multu $s1, $s7
|
||||
/* B769E8 800FF848 92020000 */ lbu $v0, ($s0)
|
||||
/* B769EC 800FF84C 26100001 */ addiu $s0, $s0, 1
|
||||
/* B769F0 800FF850 02002025 */ move $a0, $s0
|
||||
/* B769F4 800FF854 00027103 */ sra $t6, $v0, 4
|
||||
/* B769F8 800FF858 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* B769FC 800FF85C 02A03025 */ move $a2, $s5
|
||||
/* B76A00 800FF860 02C03825 */ move $a3, $s6
|
||||
/* B76A04 800FF864 00009012 */ mflo $s2
|
||||
/* B76A08 800FF868 02532821 */ addu $a1, $s2, $s3
|
||||
/* B76A0C 800FF86C 0C03FDD0 */ jal func_800FF740
|
||||
/* B76A10 800FF870 00000000 */ nop
|
||||
/* B76A14 800FF874 14400003 */ bnez $v0, .L800FF884
|
||||
/* B76A18 800FF878 26100010 */ addiu $s0, $s0, 0x10
|
||||
/* B76A1C 800FF87C 1000000A */ b .L800FF8A8
|
||||
/* B76A20 800FF880 24020001 */ li $v0, 1
|
||||
.L800FF884:
|
||||
/* B76A24 800FF884 26310001 */ addiu $s1, $s1, 1
|
||||
/* B76A28 800FF888 323800FF */ andi $t8, $s1, 0xff
|
||||
/* B76A2C 800FF88C 02727821 */ addu $t7, $s3, $s2
|
||||
/* B76A30 800FF890 0314082A */ slt $at, $t8, $s4
|
||||
/* B76A34 800FF894 ADF00050 */ sw $s0, 0x50($t7)
|
||||
/* B76A38 800FF898 03008825 */ move $s1, $t8
|
||||
/* B76A3C 800FF89C 1420FFE9 */ bnez $at, .L800FF844
|
||||
/* B76A40 800FF8A0 02028021 */ addu $s0, $s0, $v0
|
||||
.L800FF8A4:
|
||||
/* B76A44 800FF8A4 00001025 */ move $v0, $zero
|
||||
.L800FF8A8:
|
||||
/* B76A48 800FF8A8 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* B76A4C 800FF8AC 8FB0001C */ lw $s0, 0x1c($sp)
|
||||
/* B76A50 800FF8B0 8FB10020 */ lw $s1, 0x20($sp)
|
||||
/* B76A54 800FF8B4 8FB20024 */ lw $s2, 0x24($sp)
|
||||
/* B76A58 800FF8B8 8FB30028 */ lw $s3, 0x28($sp)
|
||||
/* B76A5C 800FF8BC 8FB4002C */ lw $s4, 0x2c($sp)
|
||||
/* B76A60 800FF8C0 8FB50030 */ lw $s5, 0x30($sp)
|
||||
/* B76A64 800FF8C4 8FB60034 */ lw $s6, 0x34($sp)
|
||||
/* B76A68 800FF8C8 8FB70038 */ lw $s7, 0x38($sp)
|
||||
/* B76A6C 800FF8CC 03E00008 */ jr $ra
|
||||
/* B76A70 800FF8D0 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
|
||||
glabel func_800FF8D4
|
||||
/* B76A74 800FF8D4 27BDFFF0 */ addiu $sp, $sp, -0x10
|
||||
/* B76A78 800FF8D8 AFB00008 */ sw $s0, 8($sp)
|
||||
/* B76A7C 800FF8DC 87B00022 */ lh $s0, 0x22($sp)
|
||||
/* B76A80 800FF8E0 AFB1000C */ sw $s1, 0xc($sp)
|
||||
/* B76A84 800FF8E4 00A08825 */ move $s1, $a1
|
||||
/* B76A88 800FF8E8 1A000020 */ blez $s0, .L800FF96C
|
||||
/* B76A8C 800FF8EC 00001025 */ move $v0, $zero
|
||||
/* B76A90 800FF8F0 93A50027 */ lbu $a1, 0x27($sp)
|
||||
/* B76A94 800FF8F4 00447021 */ addu $t6, $v0, $a0
|
||||
.L800FF8F8:
|
||||
/* B76A98 800FF8F8 10A0000C */ beqz $a1, .L800FF92C
|
||||
/* B76A9C 800FF8FC 91C30000 */ lbu $v1, ($t6)
|
||||
/* B76AA0 800FF900 00027840 */ sll $t7, $v0, 1
|
||||
/* B76AA4 800FF904 00EFC021 */ addu $t8, $a3, $t7
|
||||
/* B76AA8 800FF908 97190000 */ lhu $t9, ($t8)
|
||||
/* B76AAC 800FF90C 00034040 */ sll $t0, $v1, 1
|
||||
/* B76AB0 800FF910 02284821 */ addu $t1, $s1, $t0
|
||||
/* B76AB4 800FF914 00465021 */ addu $t2, $v0, $a2
|
||||
/* B76AB8 800FF918 A5390100 */ sh $t9, 0x100($t1)
|
||||
/* B76ABC 800FF91C 914B0000 */ lbu $t3, ($t2)
|
||||
/* B76AC0 800FF920 02236021 */ addu $t4, $s1, $v1
|
||||
/* B76AC4 800FF924 1000000B */ b .L800FF954
|
||||
/* B76AC8 800FF928 A18B0000 */ sb $t3, ($t4)
|
||||
.L800FF92C:
|
||||
/* B76ACC 800FF92C 00026840 */ sll $t5, $v0, 1
|
||||
/* B76AD0 800FF930 00ED7021 */ addu $t6, $a3, $t5
|
||||
/* B76AD4 800FF934 95CF0000 */ lhu $t7, ($t6)
|
||||
/* B76AD8 800FF938 0003C040 */ sll $t8, $v1, 1
|
||||
/* B76ADC 800FF93C 02384021 */ addu $t0, $s1, $t8
|
||||
/* B76AE0 800FF940 0046C821 */ addu $t9, $v0, $a2
|
||||
/* B76AE4 800FF944 A50F0010 */ sh $t7, 0x10($t0)
|
||||
/* B76AE8 800FF948 93290000 */ lbu $t1, ($t9)
|
||||
/* B76AEC 800FF94C 02235021 */ addu $t2, $s1, $v1
|
||||
/* B76AF0 800FF950 A1490000 */ sb $t1, ($t2)
|
||||
.L800FF954:
|
||||
/* B76AF4 800FF954 24420001 */ addiu $v0, $v0, 1
|
||||
/* B76AF8 800FF958 00025C00 */ sll $t3, $v0, 0x10
|
||||
/* B76AFC 800FF95C 000B1403 */ sra $v0, $t3, 0x10
|
||||
/* B76B00 800FF960 0050082A */ slt $at, $v0, $s0
|
||||
/* B76B04 800FF964 5420FFE4 */ bnezl $at, .L800FF8F8
|
||||
/* B76B08 800FF968 00447021 */ addu $t6, $v0, $a0
|
||||
.L800FF96C:
|
||||
/* B76B0C 800FF96C 8FB00008 */ lw $s0, 8($sp)
|
||||
/* B76B10 800FF970 8FB1000C */ lw $s1, 0xc($sp)
|
||||
/* B76B14 800FF974 03E00008 */ jr $ra
|
||||
/* B76B18 800FF978 27BD0010 */ addiu $sp, $sp, 0x10
|
||||
|
||||
glabel func_800FF97C
|
||||
/* B76B1C 800FF97C 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* B76B20 800FF980 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B76B24 800FF984 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* B76B28 800FF988 AFA50034 */ sw $a1, 0x34($sp)
|
||||
/* B76B2C 800FF98C AFA60038 */ sw $a2, 0x38($sp)
|
||||
/* B76B30 800FF990 AFA7003C */ sw $a3, 0x3c($sp)
|
||||
/* B76B34 800FF994 90830000 */ lbu $v1, ($a0)
|
||||
/* B76B38 800FF998 24900001 */ addiu $s0, $a0, 1
|
||||
/* B76B3C 800FF99C 02002025 */ move $a0, $s0
|
||||
/* B76B40 800FF9A0 00037903 */ sra $t7, $v1, 4
|
||||
/* B76B44 800FF9A4 A3AF002F */ sb $t7, 0x2f($sp)
|
||||
/* B76B48 800FF9A8 0C03FD6A */ jal func_800FF5A8
|
||||
/* B76B4C 800FF9AC 00C02825 */ move $a1, $a2
|
||||
/* B76B50 800FF9B0 00024400 */ sll $t0, $v0, 0x10
|
||||
/* B76B54 800FF9B4 0008C403 */ sra $t8, $t0, 0x10
|
||||
/* B76B58 800FF9B8 03004025 */ move $t0, $t8
|
||||
/* B76B5C 800FF9BC 10400009 */ beqz $v0, .L800FF9E4
|
||||
/* B76B60 800FF9C0 93A3002F */ lbu $v1, 0x2f($sp)
|
||||
/* B76B64 800FF9C4 10600003 */ beqz $v1, .L800FF9D4
|
||||
/* B76B68 800FF9C8 28410101 */ slti $at, $v0, 0x101
|
||||
/* B76B6C 800FF9CC 10200005 */ beqz $at, .L800FF9E4
|
||||
/* B76B70 800FF9D0 00000000 */ nop
|
||||
.L800FF9D4:
|
||||
/* B76B74 800FF9D4 14600005 */ bnez $v1, .L800FF9EC
|
||||
/* B76B78 800FF9D8 28410011 */ slti $at, $v0, 0x11
|
||||
/* B76B7C 800FF9DC 54200004 */ bnezl $at, .L800FF9F0
|
||||
/* B76B80 800FF9E0 8FA40038 */ lw $a0, 0x38($sp)
|
||||
.L800FF9E4:
|
||||
/* B76B84 800FF9E4 10000013 */ b .L800FFA34
|
||||
/* B76B88 800FF9E8 24020001 */ li $v0, 1
|
||||
.L800FF9EC:
|
||||
/* B76B8C 800FF9EC 8FA40038 */ lw $a0, 0x38($sp)
|
||||
.L800FF9F0:
|
||||
/* B76B90 800FF9F0 8FA5003C */ lw $a1, 0x3c($sp)
|
||||
/* B76B94 800FF9F4 A3A3002F */ sb $v1, 0x2f($sp)
|
||||
/* B76B98 800FF9F8 0C03FD8B */ jal func_800FF62C
|
||||
/* B76B9C 800FF9FC A7A8002C */ sh $t0, 0x2c($sp)
|
||||
/* B76BA0 800FFA00 87A8002C */ lh $t0, 0x2c($sp)
|
||||
/* B76BA4 800FFA04 93A3002F */ lbu $v1, 0x2f($sp)
|
||||
/* B76BA8 800FFA08 26040010 */ addiu $a0, $s0, 0x10
|
||||
/* B76BAC 800FFA0C 10480003 */ beq $v0, $t0, .L800FFA1C
|
||||
/* B76BB0 800FFA10 8FA50034 */ lw $a1, 0x34($sp)
|
||||
/* B76BB4 800FFA14 10000007 */ b .L800FFA34
|
||||
/* B76BB8 800FFA18 24020001 */ li $v0, 1
|
||||
.L800FFA1C:
|
||||
/* B76BBC 800FFA1C 8FA60038 */ lw $a2, 0x38($sp)
|
||||
/* B76BC0 800FFA20 8FA7003C */ lw $a3, 0x3c($sp)
|
||||
/* B76BC4 800FFA24 AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* B76BC8 800FFA28 0C03FE35 */ jal func_800FF8D4
|
||||
/* B76BCC 800FFA2C AFA30014 */ sw $v1, 0x14($sp)
|
||||
/* B76BD0 800FFA30 00001025 */ move $v0, $zero
|
||||
.L800FFA34:
|
||||
/* B76BD4 800FFA34 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B76BD8 800FFA38 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* B76BDC 800FFA3C 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
/* B76BE0 800FFA40 03E00008 */ jr $ra
|
||||
/* B76BE4 800FFA44 00000000 */ nop
|
||||
@@ -0,0 +1,433 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800FFA50
|
||||
/* B76BF0 800FFA50 27BDFF98 */ addiu $sp, $sp, -0x68
|
||||
/* B76BF4 800FFA54 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* B76BF8 800FFA58 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* B76BFC 800FFA5C AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* B76C00 800FFA60 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* B76C04 800FFA64 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* B76C08 800FFA68 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* B76C0C 800FFA6C AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* B76C10 800FFA70 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* B76C14 800FFA74 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* B76C18 800FFA78 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B76C1C 800FFA7C AFA70074 */ sw $a3, 0x74($sp)
|
||||
/* B76C20 800FFA80 AFA00058 */ sw $zero, 0x58($sp)
|
||||
/* B76C24 800FFA84 8C8F0000 */ lw $t7, ($a0)
|
||||
/* B76C28 800FFA88 3C018017 */ lui $at, %hi(D_80175660) # $at, 0x8017
|
||||
/* B76C2C 800FFA8C 30EE00FF */ andi $t6, $a3, 0xff
|
||||
/* B76C30 800FFA90 AC2F5660 */ sw $t7, %lo(D_80175660)($at)
|
||||
/* B76C34 800FFA94 90980004 */ lbu $t8, 4($a0)
|
||||
/* B76C38 800FFA98 01C03825 */ move $a3, $t6
|
||||
/* B76C3C 800FFA9C 00A08825 */ move $s1, $a1
|
||||
/* B76C40 800FFAA0 17000003 */ bnez $t8, .L800FFAB0
|
||||
/* B76C44 800FFAA4 00C0B025 */ move $s6, $a2
|
||||
/* B76C48 800FFAA8 10000007 */ b .L800FFAC8
|
||||
/* B76C4C 800FFAAC 24020002 */ li $v0, 2
|
||||
.L800FFAB0:
|
||||
/* B76C50 800FFAB0 90990005 */ lbu $t9, 5($a0)
|
||||
/* B76C54 800FFAB4 24010001 */ li $at, 1
|
||||
/* B76C58 800FFAB8 24020004 */ li $v0, 4
|
||||
/* B76C5C 800FFABC 17210002 */ bne $t9, $at, .L800FFAC8
|
||||
/* B76C60 800FFAC0 24080080 */ li $t0, 128
|
||||
/* B76C64 800FFAC4 AFA80058 */ sw $t0, 0x58($sp)
|
||||
.L800FFAC8:
|
||||
/* B76C68 800FFAC8 8C940008 */ lw $s4, 8($a0)
|
||||
/* B76C6C 800FFACC 8C95000C */ lw $s5, 0xc($a0)
|
||||
/* B76C70 800FFAD0 8C970010 */ lw $s7, 0x10($a0)
|
||||
/* B76C74 800FFAD4 14E0000E */ bnez $a3, .L800FFB10
|
||||
/* B76C78 800FFAD8 8C9E0014 */ lw $fp, 0x14($a0)
|
||||
/* B76C7C 800FFADC 3C018017 */ lui $at, %hi(D_80175664) # $at, 0x8017
|
||||
/* B76C80 800FFAE0 AC205664 */ sw $zero, %lo(D_80175664)($at)
|
||||
/* B76C84 800FFAE4 3C018017 */ lui $at, %hi(D_80175668) # $at, 0x8017
|
||||
/* B76C88 800FFAE8 24090020 */ li $t1, 32
|
||||
/* B76C8C 800FFAEC A0295668 */ sb $t1, %lo(D_80175668)($at)
|
||||
/* B76C90 800FFAF0 3C018017 */ lui $at, %hi(D_8017566C) # $at, 0x8017
|
||||
/* B76C94 800FFAF4 AC20566C */ sw $zero, %lo(D_8017566C)($at)
|
||||
/* B76C98 800FFAF8 3C018017 */ lui $at, %hi(D_80175669) # $at, 0x8017
|
||||
/* B76C9C 800FFAFC A0205669 */ sb $zero, %lo(D_80175669)($at)
|
||||
/* B76CA0 800FFB00 A7A00064 */ sh $zero, 0x64($sp)
|
||||
/* B76CA4 800FFB04 A7A00062 */ sh $zero, 0x62($sp)
|
||||
/* B76CA8 800FFB08 10000014 */ b .L800FFB5C
|
||||
/* B76CAC 800FFB0C A7A00060 */ sh $zero, 0x60($sp)
|
||||
.L800FFB10:
|
||||
/* B76CB0 800FFB10 8FAA0078 */ lw $t2, 0x78($sp)
|
||||
/* B76CB4 800FFB14 3C018017 */ lui $at, %hi(D_80175664) # $at, 0x8017
|
||||
/* B76CB8 800FFB18 8D4B0000 */ lw $t3, ($t2)
|
||||
/* B76CBC 800FFB1C AC2B5664 */ sw $t3, %lo(D_80175664)($at)
|
||||
/* B76CC0 800FFB20 914C0004 */ lbu $t4, 4($t2)
|
||||
/* B76CC4 800FFB24 3C018017 */ lui $at, %hi(D_80175668) # $at, 0x8017
|
||||
/* B76CC8 800FFB28 A02C5668 */ sb $t4, %lo(D_80175668)($at)
|
||||
/* B76CCC 800FFB2C 8D4D0008 */ lw $t5, 8($t2)
|
||||
/* B76CD0 800FFB30 3C018017 */ lui $at, %hi(D_8017566C) # $at, 0x8017
|
||||
/* B76CD4 800FFB34 AC2D566C */ sw $t5, %lo(D_8017566C)($at)
|
||||
/* B76CD8 800FFB38 914E0005 */ lbu $t6, 5($t2)
|
||||
/* B76CDC 800FFB3C 3C018017 */ lui $at, %hi(D_80175669) # $at, 0x8017
|
||||
/* B76CE0 800FFB40 A02E5669 */ sb $t6, %lo(D_80175669)($at)
|
||||
/* B76CE4 800FFB44 854F000C */ lh $t7, 0xc($t2)
|
||||
/* B76CE8 800FFB48 A7AF0064 */ sh $t7, 0x64($sp)
|
||||
/* B76CEC 800FFB4C 8558000E */ lh $t8, 0xe($t2)
|
||||
/* B76CF0 800FFB50 A7B80062 */ sh $t8, 0x62($sp)
|
||||
/* B76CF4 800FFB54 85590010 */ lh $t9, 0x10($t2)
|
||||
/* B76CF8 800FFB58 A7B90060 */ sh $t9, 0x60($sp)
|
||||
.L800FFB5C:
|
||||
/* B76CFC 800FFB5C 12C00026 */ beqz $s6, .L800FFBF8
|
||||
/* B76D00 800FFB60 00409025 */ move $s2, $v0
|
||||
/* B76D04 800FFB64 27B30064 */ addiu $s3, $sp, 0x64
|
||||
.L800FFB68:
|
||||
/* B76D08 800FFB68 1240000C */ beqz $s2, .L800FFB9C
|
||||
/* B76D0C 800FFB6C 00008025 */ move $s0, $zero
|
||||
.L800FFB70:
|
||||
/* B76D10 800FFB70 02802025 */ move $a0, $s4
|
||||
/* B76D14 800FFB74 02A02825 */ move $a1, $s5
|
||||
/* B76D18 800FFB78 02203025 */ move $a2, $s1
|
||||
/* B76D1C 800FFB7C 0C03FF1E */ jal func_800FFC78
|
||||
/* B76D20 800FFB80 02603825 */ move $a3, $s3
|
||||
/* B76D24 800FFB84 10400003 */ beqz $v0, .L800FFB94
|
||||
/* B76D28 800FFB88 26100001 */ addiu $s0, $s0, 1
|
||||
/* B76D2C 800FFB8C 1000002E */ b .L800FFC48
|
||||
/* B76D30 800FFB90 24020002 */ li $v0, 2
|
||||
.L800FFB94:
|
||||
/* B76D34 800FFB94 1612FFF6 */ bne $s0, $s2, .L800FFB70
|
||||
/* B76D38 800FFB98 26310080 */ addiu $s1, $s1, 0x80
|
||||
.L800FFB9C:
|
||||
/* B76D3C 800FFB9C 02E02025 */ move $a0, $s7
|
||||
/* B76D40 800FFBA0 03C02825 */ move $a1, $fp
|
||||
/* B76D44 800FFBA4 02203025 */ move $a2, $s1
|
||||
/* B76D48 800FFBA8 0C03FF1E */ jal func_800FFC78
|
||||
/* B76D4C 800FFBAC 27A70062 */ addiu $a3, $sp, 0x62
|
||||
/* B76D50 800FFBB0 10400003 */ beqz $v0, .L800FFBC0
|
||||
/* B76D54 800FFBB4 26310080 */ addiu $s1, $s1, 0x80
|
||||
/* B76D58 800FFBB8 10000023 */ b .L800FFC48
|
||||
/* B76D5C 800FFBBC 24020002 */ li $v0, 2
|
||||
.L800FFBC0:
|
||||
/* B76D60 800FFBC0 02E02025 */ move $a0, $s7
|
||||
/* B76D64 800FFBC4 03C02825 */ move $a1, $fp
|
||||
/* B76D68 800FFBC8 02203025 */ move $a2, $s1
|
||||
/* B76D6C 800FFBCC 0C03FF1E */ jal func_800FFC78
|
||||
/* B76D70 800FFBD0 27A70060 */ addiu $a3, $sp, 0x60
|
||||
/* B76D74 800FFBD4 10400003 */ beqz $v0, .L800FFBE4
|
||||
/* B76D78 800FFBD8 8FA80058 */ lw $t0, 0x58($sp)
|
||||
/* B76D7C 800FFBDC 1000001A */ b .L800FFC48
|
||||
/* B76D80 800FFBE0 24020002 */ li $v0, 2
|
||||
.L800FFBE4:
|
||||
/* B76D84 800FFBE4 26D6FFFF */ addiu $s6, $s6, -1
|
||||
/* B76D88 800FFBE8 26310080 */ addiu $s1, $s1, 0x80
|
||||
/* B76D8C 800FFBEC 00084840 */ sll $t1, $t0, 1
|
||||
/* B76D90 800FFBF0 16C0FFDD */ bnez $s6, .L800FFB68
|
||||
/* B76D94 800FFBF4 02298821 */ addu $s1, $s1, $t1
|
||||
.L800FFBF8:
|
||||
/* B76D98 800FFBF8 3C0B8017 */ lui $t3, %hi(D_80175664) # $t3, 0x8017
|
||||
/* B76D9C 800FFBFC 8FA30078 */ lw $v1, 0x78($sp)
|
||||
/* B76DA0 800FFC00 8D6B5664 */ lw $t3, %lo(D_80175664)($t3)
|
||||
/* B76DA4 800FFC04 3C0C8017 */ lui $t4, %hi(D_80175668) # $t4, 0x8017
|
||||
/* B76DA8 800FFC08 3C0D8017 */ lui $t5, %hi(D_8017566C) # $t5, 0x8017
|
||||
/* B76DAC 800FFC0C AC6B0000 */ sw $t3, ($v1)
|
||||
/* B76DB0 800FFC10 918C5668 */ lbu $t4, %lo(D_80175668)($t4)
|
||||
/* B76DB4 800FFC14 3C0E8017 */ lui $t6, %hi(D_80175669) # $t6, 0x8017
|
||||
/* B76DB8 800FFC18 00001025 */ move $v0, $zero
|
||||
/* B76DBC 800FFC1C A06C0004 */ sb $t4, 4($v1)
|
||||
/* B76DC0 800FFC20 8DAD566C */ lw $t5, %lo(D_8017566C)($t5)
|
||||
/* B76DC4 800FFC24 AC6D0008 */ sw $t5, 8($v1)
|
||||
/* B76DC8 800FFC28 91CE5669 */ lbu $t6, %lo(D_80175669)($t6)
|
||||
/* B76DCC 800FFC2C A06E0005 */ sb $t6, 5($v1)
|
||||
/* B76DD0 800FFC30 87AF0064 */ lh $t7, 0x64($sp)
|
||||
/* B76DD4 800FFC34 A46F000C */ sh $t7, 0xc($v1)
|
||||
/* B76DD8 800FFC38 87B80062 */ lh $t8, 0x62($sp)
|
||||
/* B76DDC 800FFC3C A478000E */ sh $t8, 0xe($v1)
|
||||
/* B76DE0 800FFC40 87AA0060 */ lh $t2, 0x60($sp)
|
||||
/* B76DE4 800FFC44 A46A0010 */ sh $t2, 0x10($v1)
|
||||
.L800FFC48:
|
||||
/* B76DE8 800FFC48 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* B76DEC 800FFC4C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B76DF0 800FFC50 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* B76DF4 800FFC54 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* B76DF8 800FFC58 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* B76DFC 800FFC5C 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* B76E00 800FFC60 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* B76E04 800FFC64 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* B76E08 800FFC68 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* B76E0C 800FFC6C 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* B76E10 800FFC70 03E00008 */ jr $ra
|
||||
/* B76E14 800FFC74 27BD0068 */ addiu $sp, $sp, 0x68
|
||||
|
||||
glabel func_800FFC78
|
||||
/* B76E18 800FFC78 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* B76E1C 800FFC7C AFB50028 */ sw $s5, 0x28($sp)
|
||||
/* B76E20 800FFC80 AFB40024 */ sw $s4, 0x24($sp)
|
||||
/* B76E24 800FFC84 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* B76E28 800FFC88 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* B76E2C 800FFC8C 00C08825 */ move $s1, $a2
|
||||
/* B76E30 800FFC90 00A09825 */ move $s3, $a1
|
||||
/* B76E34 800FFC94 27B40034 */ addiu $s4, $sp, 0x34
|
||||
/* B76E38 800FFC98 27B50036 */ addiu $s5, $sp, 0x36
|
||||
/* B76E3C 800FFC9C AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B76E40 800FFCA0 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* B76E44 800FFCA4 00E09025 */ move $s2, $a3
|
||||
/* B76E48 800FFCA8 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* B76E4C 800FFCAC 02A03025 */ move $a2, $s5
|
||||
/* B76E50 800FFCB0 0C03FF85 */ jal func_800FFE14
|
||||
/* B76E54 800FFCB4 02802825 */ move $a1, $s4
|
||||
/* B76E58 800FFCB8 10400003 */ beqz $v0, .L800FFCC8
|
||||
/* B76E5C 800FFCBC 87AF0034 */ lh $t7, 0x34($sp)
|
||||
/* B76E60 800FFCC0 1000004B */ b .L800FFDF0
|
||||
/* B76E64 800FFCC4 24020001 */ li $v0, 1
|
||||
.L800FFCC8:
|
||||
/* B76E68 800FFCC8 864E0000 */ lh $t6, ($s2)
|
||||
/* B76E6C 800FFCCC 24100001 */ li $s0, 1
|
||||
/* B76E70 800FFCD0 2A010040 */ slti $at, $s0, 0x40
|
||||
/* B76E74 800FFCD4 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* B76E78 800FFCD8 A6580000 */ sh $t8, ($s2)
|
||||
/* B76E7C 800FFCDC 86590000 */ lh $t9, ($s2)
|
||||
/* B76E80 800FFCE0 2412000F */ li $s2, 15
|
||||
/* B76E84 800FFCE4 10200041 */ beqz $at, .L800FFDEC
|
||||
/* B76E88 800FFCE8 A6390000 */ sh $t9, ($s1)
|
||||
/* B76E8C 800FFCEC 02602025 */ move $a0, $s3
|
||||
.L800FFCF0:
|
||||
/* B76E90 800FFCF0 02802825 */ move $a1, $s4
|
||||
/* B76E94 800FFCF4 0C03FF85 */ jal func_800FFE14
|
||||
/* B76E98 800FFCF8 02A03025 */ move $a2, $s5
|
||||
/* B76E9C 800FFCFC 10400003 */ beqz $v0, .L800FFD0C
|
||||
/* B76EA0 800FFD00 87A80034 */ lh $t0, 0x34($sp)
|
||||
/* B76EA4 800FFD04 1000003A */ b .L800FFDF0
|
||||
/* B76EA8 800FFD08 24020001 */ li $v0, 1
|
||||
.L800FFD0C:
|
||||
/* B76EAC 800FFD0C 1500001E */ bnez $t0, .L800FFD88
|
||||
/* B76EB0 800FFD10 83A30036 */ lb $v1, 0x36($sp)
|
||||
/* B76EB4 800FFD14 83A30036 */ lb $v1, 0x36($sp)
|
||||
/* B76EB8 800FFD18 1472000F */ bne $v1, $s2, .L800FFD58
|
||||
/* B76EBC 800FFD1C 246AFFFF */ addiu $t2, $v1, -1
|
||||
/* B76EC0 800FFD20 0460002F */ bltz $v1, .L800FFDE0
|
||||
/* B76EC4 800FFD24 A3AA0036 */ sb $t2, 0x36($sp)
|
||||
.L800FFD28:
|
||||
/* B76EC8 800FFD28 00105840 */ sll $t3, $s0, 1
|
||||
/* B76ECC 800FFD2C 022B6021 */ addu $t4, $s1, $t3
|
||||
/* B76ED0 800FFD30 A5800000 */ sh $zero, ($t4)
|
||||
/* B76ED4 800FFD34 83AF0036 */ lb $t7, 0x36($sp)
|
||||
/* B76ED8 800FFD38 26100001 */ addiu $s0, $s0, 1
|
||||
/* B76EDC 800FFD3C 00106E00 */ sll $t5, $s0, 0x18
|
||||
/* B76EE0 800FFD40 25F8FFFF */ addiu $t8, $t7, -1
|
||||
/* B76EE4 800FFD44 A3B80036 */ sb $t8, 0x36($sp)
|
||||
/* B76EE8 800FFD48 05E1FFF7 */ bgez $t7, .L800FFD28
|
||||
/* B76EEC 800FFD4C 000D8603 */ sra $s0, $t5, 0x18
|
||||
/* B76EF0 800FFD50 10000024 */ b .L800FFDE4
|
||||
/* B76EF4 800FFD54 2A010040 */ slti $at, $s0, 0x40
|
||||
.L800FFD58:
|
||||
/* B76EF8 800FFD58 2A010040 */ slti $at, $s0, 0x40
|
||||
/* B76EFC 800FFD5C 10200023 */ beqz $at, .L800FFDEC
|
||||
.L800FFD60:
|
||||
/* B76F00 800FFD60 0010C840 */ sll $t9, $s0, 1
|
||||
/* B76F04 800FFD64 26100001 */ addiu $s0, $s0, 1
|
||||
/* B76F08 800FFD68 00104E00 */ sll $t1, $s0, 0x18
|
||||
/* B76F0C 800FFD6C 00098603 */ sra $s0, $t1, 0x18
|
||||
/* B76F10 800FFD70 2A010040 */ slti $at, $s0, 0x40
|
||||
/* B76F14 800FFD74 02394021 */ addu $t0, $s1, $t9
|
||||
/* B76F18 800FFD78 1420FFF9 */ bnez $at, .L800FFD60
|
||||
/* B76F1C 800FFD7C A5000000 */ sh $zero, ($t0)
|
||||
/* B76F20 800FFD80 1000001B */ b .L800FFDF0
|
||||
/* B76F24 800FFD84 00001025 */ move $v0, $zero
|
||||
.L800FFD88:
|
||||
/* B76F28 800FFD88 0003102A */ slt $v0, $zero, $v1
|
||||
/* B76F2C 800FFD8C 246CFFFF */ addiu $t4, $v1, -1
|
||||
/* B76F30 800FFD90 1040000C */ beqz $v0, .L800FFDC4
|
||||
/* B76F34 800FFD94 A3AC0036 */ sb $t4, 0x36($sp)
|
||||
.L800FFD98:
|
||||
/* B76F38 800FFD98 00106840 */ sll $t5, $s0, 1
|
||||
/* B76F3C 800FFD9C 022D7021 */ addu $t6, $s1, $t5
|
||||
/* B76F40 800FFDA0 A5C00000 */ sh $zero, ($t6)
|
||||
/* B76F44 800FFDA4 83B90036 */ lb $t9, 0x36($sp)
|
||||
/* B76F48 800FFDA8 26100001 */ addiu $s0, $s0, 1
|
||||
/* B76F4C 800FFDAC 00107E00 */ sll $t7, $s0, 0x18
|
||||
/* B76F50 800FFDB0 0019102A */ slt $v0, $zero, $t9
|
||||
/* B76F54 800FFDB4 2728FFFF */ addiu $t0, $t9, -1
|
||||
/* B76F58 800FFDB8 A3A80036 */ sb $t0, 0x36($sp)
|
||||
/* B76F5C 800FFDBC 1440FFF6 */ bnez $v0, .L800FFD98
|
||||
/* B76F60 800FFDC0 000F8603 */ sra $s0, $t7, 0x18
|
||||
.L800FFDC4:
|
||||
/* B76F64 800FFDC4 87A90034 */ lh $t1, 0x34($sp)
|
||||
/* B76F68 800FFDC8 00105040 */ sll $t2, $s0, 1
|
||||
/* B76F6C 800FFDCC 26100001 */ addiu $s0, $s0, 1
|
||||
/* B76F70 800FFDD0 00106600 */ sll $t4, $s0, 0x18
|
||||
/* B76F74 800FFDD4 022A5821 */ addu $t3, $s1, $t2
|
||||
/* B76F78 800FFDD8 000C8603 */ sra $s0, $t4, 0x18
|
||||
/* B76F7C 800FFDDC A5690000 */ sh $t1, ($t3)
|
||||
.L800FFDE0:
|
||||
/* B76F80 800FFDE0 2A010040 */ slti $at, $s0, 0x40
|
||||
.L800FFDE4:
|
||||
/* B76F84 800FFDE4 5420FFC2 */ bnezl $at, .L800FFCF0
|
||||
/* B76F88 800FFDE8 02602025 */ move $a0, $s3
|
||||
.L800FFDEC:
|
||||
/* B76F8C 800FFDEC 00001025 */ move $v0, $zero
|
||||
.L800FFDF0:
|
||||
/* B76F90 800FFDF0 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B76F94 800FFDF4 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* B76F98 800FFDF8 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* B76F9C 800FFDFC 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* B76FA0 800FFE00 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* B76FA4 800FFE04 8FB40024 */ lw $s4, 0x24($sp)
|
||||
/* B76FA8 800FFE08 8FB50028 */ lw $s5, 0x28($sp)
|
||||
/* B76FAC 800FFE0C 03E00008 */ jr $ra
|
||||
/* B76FB0 800FFE10 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
|
||||
glabel func_800FFE14
|
||||
/* B76FB4 800FFE14 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* B76FB8 800FFE18 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B76FBC 800FFE1C 00808025 */ move $s0, $a0
|
||||
/* B76FC0 800FFE20 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B76FC4 800FFE24 AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* B76FC8 800FFE28 AFA60030 */ sw $a2, 0x30($sp)
|
||||
/* B76FCC 800FFE2C 24040010 */ li $a0, 16
|
||||
/* B76FD0 800FFE30 0C03FFD4 */ jal func_800FFF50
|
||||
/* B76FD4 800FFE34 A7A00024 */ sh $zero, 0x24($sp)
|
||||
/* B76FD8 800FFE38 97A90024 */ lhu $t1, 0x24($sp)
|
||||
/* B76FDC 800FFE3C 8FAA002C */ lw $t2, 0x2c($sp)
|
||||
/* B76FE0 800FFE40 00003025 */ move $a2, $zero
|
||||
/* B76FE4 800FFE44 2408000F */ li $t0, 15
|
||||
/* B76FE8 800FFE48 3407FFFF */ li $a3, 65535
|
||||
.L800FFE4C:
|
||||
/* B76FEC 800FFE4C 00067040 */ sll $t6, $a2, 1
|
||||
/* B76FF0 800FFE50 020E7821 */ addu $t7, $s0, $t6
|
||||
/* B76FF4 800FFE54 95E40030 */ lhu $a0, 0x30($t7)
|
||||
/* B76FF8 800FFE58 0106C023 */ subu $t8, $t0, $a2
|
||||
/* B76FFC 800FFE5C 03021807 */ srav $v1, $v0, $t8
|
||||
/* B77000 800FFE60 10E40005 */ beq $a3, $a0, .L800FFE78
|
||||
/* B77004 800FFE64 00C02825 */ move $a1, $a2
|
||||
/* B77008 800FFE68 3079FFFF */ andi $t9, $v1, 0xffff
|
||||
/* B7700C 800FFE6C 0099082A */ slt $at, $a0, $t9
|
||||
/* B77010 800FFE70 10200006 */ beqz $at, .L800FFE8C
|
||||
/* B77014 800FFE74 3069FFFF */ andi $t1, $v1, 0xffff
|
||||
.L800FFE78:
|
||||
/* B77018 800FFE78 24C60001 */ addiu $a2, $a2, 1
|
||||
/* B7701C 800FFE7C 30C500FF */ andi $a1, $a2, 0xff
|
||||
/* B77020 800FFE80 28A10010 */ slti $at, $a1, 0x10
|
||||
/* B77024 800FFE84 1420FFF1 */ bnez $at, .L800FFE4C
|
||||
/* B77028 800FFE88 00A03025 */ move $a2, $a1
|
||||
.L800FFE8C:
|
||||
/* B7702C 800FFE8C 28A10010 */ slti $at, $a1, 0x10
|
||||
/* B77030 800FFE90 14200003 */ bnez $at, .L800FFEA0
|
||||
/* B77034 800FFE94 3C028017 */ lui $v0, %hi(D_80175668) # $v0, 0x8017
|
||||
/* B77038 800FFE98 10000028 */ b .L800FFF3C
|
||||
/* B7703C 800FFE9C 24020001 */ li $v0, 1
|
||||
.L800FFEA0:
|
||||
/* B77040 800FFEA0 02066021 */ addu $t4, $s0, $a2
|
||||
/* B77044 800FFEA4 00067840 */ sll $t7, $a2, 1
|
||||
/* B77048 800FFEA8 918D0000 */ lbu $t5, ($t4)
|
||||
/* B7704C 800FFEAC 020FC021 */ addu $t8, $s0, $t7
|
||||
/* B77050 800FFEB0 97190010 */ lhu $t9, 0x10($t8)
|
||||
/* B77054 800FFEB4 8E0C0050 */ lw $t4, 0x50($s0)
|
||||
/* B77058 800FFEB8 01A97021 */ addu $t6, $t5, $t1
|
||||
/* B7705C 800FFEBC 01D95823 */ subu $t3, $t6, $t9
|
||||
/* B77060 800FFEC0 016C6821 */ addu $t5, $t3, $t4
|
||||
/* B77064 800FFEC4 91A40000 */ lbu $a0, ($t5)
|
||||
/* B77068 800FFEC8 8FB80030 */ lw $t8, 0x30($sp)
|
||||
/* B7706C 800FFECC 24425668 */ addiu $v0, %lo(D_80175668) # addiu $v0, $v0, 0x5668
|
||||
/* B77070 800FFED0 00047903 */ sra $t7, $a0, 4
|
||||
/* B77074 800FFED4 A30F0000 */ sb $t7, ($t8)
|
||||
/* B77078 800FFED8 90590000 */ lbu $t9, ($v0)
|
||||
/* B7707C 800FFEDC 308E000F */ andi $t6, $a0, 0xf
|
||||
/* B77080 800FFEE0 01C02025 */ move $a0, $t6
|
||||
/* B77084 800FFEE4 03255821 */ addu $t3, $t9, $a1
|
||||
/* B77088 800FFEE8 256CFFF1 */ addiu $t4, $t3, -0xf
|
||||
/* B7708C 800FFEEC A04C0000 */ sb $t4, ($v0)
|
||||
/* B77090 800FFEF0 11C00011 */ beqz $t6, .L800FFF38
|
||||
/* B77094 800FFEF4 A5400000 */ sh $zero, ($t2)
|
||||
/* B77098 800FFEF8 0C03FFD4 */ jal func_800FFF50
|
||||
/* B7709C 800FFEFC A3AE0026 */ sb $t6, 0x26($sp)
|
||||
/* B770A0 800FFF00 8FAA002C */ lw $t2, 0x2c($sp)
|
||||
/* B770A4 800FFF04 93A40026 */ lbu $a0, 0x26($sp)
|
||||
/* B770A8 800FFF08 240F0001 */ li $t7, 1
|
||||
/* B770AC 800FFF0C A5420000 */ sh $v0, ($t2)
|
||||
/* B770B0 800FFF10 85450000 */ lh $a1, ($t2)
|
||||
/* B770B4 800FFF14 248D001F */ addiu $t5, $a0, 0x1f
|
||||
/* B770B8 800FFF18 01AFC004 */ sllv $t8, $t7, $t5
|
||||
/* B770BC 800FFF1C 00B8082A */ slt $at, $a1, $t8
|
||||
/* B770C0 800FFF20 10200005 */ beqz $at, .L800FFF38
|
||||
/* B770C4 800FFF24 240EFFFF */ li $t6, -1
|
||||
/* B770C8 800FFF28 008EC804 */ sllv $t9, $t6, $a0
|
||||
/* B770CC 800FFF2C 00B95821 */ addu $t3, $a1, $t9
|
||||
/* B770D0 800FFF30 256C0001 */ addiu $t4, $t3, 1
|
||||
/* B770D4 800FFF34 A54C0000 */ sh $t4, ($t2)
|
||||
.L800FFF38:
|
||||
/* B770D8 800FFF38 00001025 */ move $v0, $zero
|
||||
.L800FFF3C:
|
||||
/* B770DC 800FFF3C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* B770E0 800FFF40 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B770E4 800FFF44 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* B770E8 800FFF48 03E00008 */ jr $ra
|
||||
/* B770EC 800FFF4C 00000000 */ nop
|
||||
|
||||
glabel func_800FFF50
|
||||
/* B770F0 800FFF50 3C088017 */ lui $t0, %hi(D_80175668) # $t0, 0x8017
|
||||
/* B770F4 800FFF54 25085668 */ addiu $t0, %lo(D_80175668) # addiu $t0, $t0, 0x5668
|
||||
/* B770F8 800FFF58 91050000 */ lbu $a1, ($t0)
|
||||
/* B770FC 800FFF5C AFA40000 */ sw $a0, ($sp)
|
||||
/* B77100 800FFF60 308700FF */ andi $a3, $a0, 0xff
|
||||
/* B77104 800FFF64 000510C3 */ sra $v0, $a1, 3
|
||||
/* B77108 800FFF68 304E00FF */ andi $t6, $v0, 0xff
|
||||
/* B7710C 800FFF6C 19C00029 */ blez $t6, .L80100014
|
||||
/* B77110 800FFF70 01C01025 */ move $v0, $t6
|
||||
/* B77114 800FFF74 3C068017 */ lui $a2, %hi(D_80175660) # $a2, 0x8017
|
||||
/* B77118 800FFF78 3C0D8017 */ lui $t5, %hi(D_8017566C) # $t5, 0x8017
|
||||
/* B7711C 800FFF7C 3C0A8017 */ lui $t2, %hi(D_80175669) # $t2, 0x8017
|
||||
/* B77120 800FFF80 3C098017 */ lui $t1, %hi(D_80175664) # $t1, 0x8017
|
||||
/* B77124 800FFF84 25295664 */ addiu $t1, %lo(D_80175664) # addiu $t1, $t1, 0x5664
|
||||
/* B77128 800FFF88 254A5669 */ addiu $t2, %lo(D_80175669) # addiu $t2, $t2, 0x5669
|
||||
/* B7712C 800FFF8C 25AD566C */ addiu $t5, %lo(D_8017566C) # addiu $t5, $t5, 0x566c
|
||||
/* B77130 800FFF90 8CC65660 */ lw $a2, %lo(D_80175660)($a2)
|
||||
/* B77134 800FFF94 240C0001 */ li $t4, 1
|
||||
/* B77138 800FFF98 240B00FF */ li $t3, 255
|
||||
.L800FFF9C:
|
||||
/* B7713C 800FFF9C 8D240000 */ lw $a0, ($t1)
|
||||
/* B77140 800FFFA0 91590000 */ lbu $t9, ($t2)
|
||||
/* B77144 800FFFA4 91050000 */ lbu $a1, ($t0)
|
||||
/* B77148 800FFFA8 00867821 */ addu $t7, $a0, $a2
|
||||
/* B7714C 800FFFAC 91E30000 */ lbu $v1, ($t7)
|
||||
/* B77150 800FFFB0 24980001 */ addiu $t8, $a0, 1
|
||||
/* B77154 800FFFB4 13200006 */ beqz $t9, .L800FFFD0
|
||||
/* B77158 800FFFB8 AD380000 */ sw $t8, ($t1)
|
||||
/* B7715C 800FFFBC 14600004 */ bnez $v1, .L800FFFD0
|
||||
/* B77160 800FFFC0 03067021 */ addu $t6, $t8, $a2
|
||||
/* B77164 800FFFC4 91C30000 */ lbu $v1, ($t6)
|
||||
/* B77168 800FFFC8 270F0001 */ addiu $t7, $t8, 1
|
||||
/* B7716C 800FFFCC AD2F0000 */ sw $t7, ($t1)
|
||||
.L800FFFD0:
|
||||
/* B77170 800FFFD0 15630003 */ bne $t3, $v1, .L800FFFE0
|
||||
/* B77174 800FFFD4 00602025 */ move $a0, $v1
|
||||
/* B77178 800FFFD8 10000002 */ b .L800FFFE4
|
||||
/* B7717C 800FFFDC A14C0000 */ sb $t4, ($t2)
|
||||
.L800FFFE0:
|
||||
/* B77180 800FFFE0 A1400000 */ sb $zero, ($t2)
|
||||
.L800FFFE4:
|
||||
/* B77184 800FFFE4 8DB80000 */ lw $t8, ($t5)
|
||||
/* B77188 800FFFE8 2442FFFF */ addiu $v0, $v0, -1
|
||||
/* B7718C 800FFFEC 0018CA00 */ sll $t9, $t8, 8
|
||||
/* B77190 800FFFF0 ADB90000 */ sw $t9, ($t5)
|
||||
/* B77194 800FFFF4 03247825 */ or $t7, $t9, $a0
|
||||
/* B77198 800FFFF8 305900FF */ andi $t9, $v0, 0xff
|
||||
/* B7719C 800FFFFC 24B8FFF8 */ addiu $t8, $a1, -8
|
||||
/* B771A0 80100000 03201025 */ move $v0, $t9
|
||||
/* B771A4 80100004 ADAF0000 */ sw $t7, ($t5)
|
||||
/* B771A8 80100008 1F20FFE4 */ bgtz $t9, .L800FFF9C
|
||||
/* B771AC 8010000C A1180000 */ sb $t8, ($t0)
|
||||
/* B771B0 80100010 330500FF */ andi $a1, $t8, 0xff
|
||||
.L80100014:
|
||||
/* B771B4 80100014 3C0D8017 */ lui $t5, %hi(D_8017566C) # $t5, 0x8017
|
||||
/* B771B8 80100018 25AD566C */ addiu $t5, %lo(D_8017566C) # addiu $t5, $t5, 0x566c
|
||||
/* B771BC 8010001C 8DAE0000 */ lw $t6, ($t5)
|
||||
/* B771C0 80100020 00077823 */ negu $t7, $a3
|
||||
/* B771C4 80100024 00A7C021 */ addu $t8, $a1, $a3
|
||||
/* B771C8 80100028 00AE1804 */ sllv $v1, $t6, $a1
|
||||
/* B771CC 8010002C 01E31806 */ srlv $v1, $v1, $t7
|
||||
/* B771D0 80100030 A1180000 */ sb $t8, ($t0)
|
||||
/* B771D4 80100034 03E00008 */ jr $ra
|
||||
/* B771D8 80100038 3062FFFF */ andi $v0, $v1, 0xffff
|
||||
@@ -0,0 +1,131 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80100040
|
||||
/* B771E0 80100040 27BDFEB0 */ addiu $sp, $sp, -0x150
|
||||
/* B771E4 80100044 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B771E8 80100048 AFB50028 */ sw $s5, 0x28($sp)
|
||||
/* B771EC 8010004C AFB40024 */ sw $s4, 0x24($sp)
|
||||
/* B771F0 80100050 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* B771F4 80100054 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* B771F8 80100058 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* B771FC 8010005C AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* B77200 80100060 AFA50154 */ sw $a1, 0x154($sp)
|
||||
/* B77204 80100064 8C8E0000 */ lw $t6, ($a0)
|
||||
/* B77208 80100068 0080A025 */ move $s4, $a0
|
||||
/* B7720C 8010006C 00008025 */ move $s0, $zero
|
||||
/* B77210 80100070 31CF0001 */ andi $t7, $t6, 1
|
||||
/* B77214 80100074 15E00003 */ bnez $t7, .L80100084
|
||||
/* B77218 80100078 00000000 */ nop
|
||||
/* B7721C 8010007C 1000004D */ b .L801001B4
|
||||
/* B77220 80100080 24020005 */ li $v0, 5
|
||||
.L80100084:
|
||||
/* B77224 80100084 0C040AFC */ jal func_80102BF0
|
||||
/* B77228 80100088 02802025 */ move $a0, $s4
|
||||
/* B7722C 8010008C 50400004 */ beql $v0, $zero, .L801000A0
|
||||
/* B77230 80100090 92980064 */ lbu $t8, 0x64($s4)
|
||||
/* B77234 80100094 10000048 */ b .L801001B8
|
||||
/* B77238 80100098 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B7723C 8010009C 92980064 */ lbu $t8, 0x64($s4)
|
||||
.L801000A0:
|
||||
/* B77240 801000A0 00009825 */ move $s3, $zero
|
||||
/* B77244 801000A4 24150080 */ li $s5, 128
|
||||
/* B77248 801000A8 1B00003E */ blez $t8, .L801001A4
|
||||
/* B7724C 801000AC 27B20148 */ addiu $s2, $sp, 0x148
|
||||
/* B77250 801000B0 24110003 */ li $s1, 3
|
||||
.L801000B4:
|
||||
/* B77254 801000B4 02802025 */ move $a0, $s4
|
||||
/* B77258 801000B8 27A50048 */ addiu $a1, $sp, 0x48
|
||||
/* B7725C 801000BC 00003025 */ move $a2, $zero
|
||||
/* B77260 801000C0 0C040B31 */ jal func_80102CC4
|
||||
/* B77264 801000C4 326700FF */ andi $a3, $s3, 0xff
|
||||
/* B77268 801000C8 10400003 */ beqz $v0, .L801000D8
|
||||
/* B7726C 801000CC 00000000 */ nop
|
||||
/* B77270 801000D0 10000039 */ b .L801001B8
|
||||
/* B77274 801000D4 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L801000D8:
|
||||
/* B77278 801000D8 5A600004 */ blezl $s3, .L801000EC
|
||||
/* B7727C 801000DC 8E850060 */ lw $a1, 0x60($s4)
|
||||
/* B77280 801000E0 10000002 */ b .L801000EC
|
||||
/* B77284 801000E4 24050001 */ li $a1, 1
|
||||
/* B77288 801000E8 8E850060 */ lw $a1, 0x60($s4)
|
||||
.L801000EC:
|
||||
/* B7728C 801000EC 28A10080 */ slti $at, $a1, 0x80
|
||||
/* B77290 801000F0 10200026 */ beqz $at, .L8010018C
|
||||
/* B77294 801000F4 00A01825 */ move $v1, $a1
|
||||
/* B77298 801000F8 02A53023 */ subu $a2, $s5, $a1
|
||||
/* B7729C 801000FC 30D90003 */ andi $t9, $a2, 3
|
||||
/* B772A0 80100100 1320000C */ beqz $t9, .L80100134
|
||||
/* B772A4 80100104 03252021 */ addu $a0, $t9, $a1
|
||||
/* B772A8 80100108 00054040 */ sll $t0, $a1, 1
|
||||
/* B772AC 8010010C 27A90048 */ addiu $t1, $sp, 0x48
|
||||
/* B772B0 80100110 01091021 */ addu $v0, $t0, $t1
|
||||
.L80100114:
|
||||
/* B772B4 80100114 944A0000 */ lhu $t2, ($v0)
|
||||
/* B772B8 80100118 24630001 */ addiu $v1, $v1, 1
|
||||
/* B772BC 8010011C 162A0002 */ bne $s1, $t2, .L80100128
|
||||
/* B772C0 80100120 00000000 */ nop
|
||||
/* B772C4 80100124 26100001 */ addiu $s0, $s0, 1
|
||||
.L80100128:
|
||||
/* B772C8 80100128 1483FFFA */ bne $a0, $v1, .L80100114
|
||||
/* B772CC 8010012C 24420002 */ addiu $v0, $v0, 2
|
||||
/* B772D0 80100130 10750016 */ beq $v1, $s5, .L8010018C
|
||||
.L80100134:
|
||||
/* B772D4 80100134 00035840 */ sll $t3, $v1, 1
|
||||
/* B772D8 80100138 27AC0048 */ addiu $t4, $sp, 0x48
|
||||
/* B772DC 8010013C 016C1021 */ addu $v0, $t3, $t4
|
||||
/* B772E0 80100140 944D0000 */ lhu $t5, ($v0)
|
||||
.L80100144:
|
||||
/* B772E4 80100144 562D0003 */ bnel $s1, $t5, .L80100154
|
||||
/* B772E8 80100148 944E0002 */ lhu $t6, 2($v0)
|
||||
/* B772EC 8010014C 26100001 */ addiu $s0, $s0, 1
|
||||
/* B772F0 80100150 944E0002 */ lhu $t6, 2($v0)
|
||||
.L80100154:
|
||||
/* B772F4 80100154 562E0003 */ bnel $s1, $t6, .L80100164
|
||||
/* B772F8 80100158 944F0004 */ lhu $t7, 4($v0)
|
||||
/* B772FC 8010015C 26100001 */ addiu $s0, $s0, 1
|
||||
/* B77300 80100160 944F0004 */ lhu $t7, 4($v0)
|
||||
.L80100164:
|
||||
/* B77304 80100164 562F0003 */ bnel $s1, $t7, .L80100174
|
||||
/* B77308 80100168 94580006 */ lhu $t8, 6($v0)
|
||||
/* B7730C 8010016C 26100001 */ addiu $s0, $s0, 1
|
||||
/* B77310 80100170 94580006 */ lhu $t8, 6($v0)
|
||||
.L80100174:
|
||||
/* B77314 80100174 24420008 */ addiu $v0, $v0, 8
|
||||
/* B77318 80100178 16380002 */ bne $s1, $t8, .L80100184
|
||||
/* B7731C 8010017C 00000000 */ nop
|
||||
/* B77320 80100180 26100001 */ addiu $s0, $s0, 1
|
||||
.L80100184:
|
||||
/* B77324 80100184 5452FFEF */ bnel $v0, $s2, .L80100144
|
||||
/* B77328 80100188 944D0000 */ lhu $t5, ($v0)
|
||||
.L8010018C:
|
||||
/* B7732C 8010018C 92880064 */ lbu $t0, 0x64($s4)
|
||||
/* B77330 80100190 26730001 */ addiu $s3, $s3, 1
|
||||
/* B77334 80100194 327900FF */ andi $t9, $s3, 0xff
|
||||
/* B77338 80100198 0328082A */ slt $at, $t9, $t0
|
||||
/* B7733C 8010019C 1420FFC5 */ bnez $at, .L801000B4
|
||||
/* B77340 801001A0 03209825 */ move $s3, $t9
|
||||
.L801001A4:
|
||||
/* B77344 801001A4 8FAA0154 */ lw $t2, 0x154($sp)
|
||||
/* B77348 801001A8 00104A00 */ sll $t1, $s0, 8
|
||||
/* B7734C 801001AC 00001025 */ move $v0, $zero
|
||||
/* B77350 801001B0 AD490000 */ sw $t1, ($t2)
|
||||
.L801001B4:
|
||||
/* B77354 801001B4 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L801001B8:
|
||||
/* B77358 801001B8 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* B7735C 801001BC 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* B77360 801001C0 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* B77364 801001C4 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* B77368 801001C8 8FB40024 */ lw $s4, 0x24($sp)
|
||||
/* B7736C 801001CC 8FB50028 */ lw $s5, 0x28($sp)
|
||||
/* B77370 801001D0 03E00008 */ jr $ra
|
||||
/* B77374 801001D4 27BD0150 */ addiu $sp, $sp, 0x150
|
||||
@@ -0,0 +1,53 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_801001E0
|
||||
/* B77380 801001E0 3C014780 */ li $at, 0x47800000 # 0.000000
|
||||
/* B77384 801001E4 44812000 */ mtc1 $at, $f4
|
||||
/* B77388 801001E8 44853000 */ mtc1 $a1, $f6
|
||||
/* B7738C 801001EC AC800004 */ sw $zero, 4($a0)
|
||||
/* B77390 801001F0 AC80000C */ sw $zero, 0xc($a0)
|
||||
/* B77394 801001F4 46043202 */ mul.s $f8, $f6, $f4
|
||||
/* B77398 801001F8 44863000 */ mtc1 $a2, $f6
|
||||
/* B7739C 801001FC AC800010 */ sw $zero, 0x10($a0)
|
||||
/* B773A0 80100200 AC800018 */ sw $zero, 0x18($a0)
|
||||
/* B773A4 80100204 AC800024 */ sw $zero, 0x24($a0)
|
||||
/* B773A8 80100208 AC80002C */ sw $zero, 0x2c($a0)
|
||||
/* B773AC 8010020C AC800030 */ sw $zero, 0x30($a0)
|
||||
/* B773B0 80100210 4600428D */ trunc.w.s $f10, $f8
|
||||
/* B773B4 80100214 46043202 */ mul.s $f8, $f6, $f4
|
||||
/* B773B8 80100218 44873000 */ mtc1 $a3, $f6
|
||||
/* B773BC 8010021C AC800038 */ sw $zero, 0x38($a0)
|
||||
/* B773C0 80100220 44095000 */ mfc1 $t1, $f10
|
||||
/* B773C4 80100224 AC80003C */ sw $zero, 0x3c($a0)
|
||||
/* B773C8 80100228 00095402 */ srl $t2, $t1, 0x10
|
||||
/* B773CC 8010022C 4600428D */ trunc.w.s $f10, $f8
|
||||
/* B773D0 80100230 46043202 */ mul.s $f8, $f6, $f4
|
||||
/* B773D4 80100234 000A4400 */ sll $t0, $t2, 0x10
|
||||
/* B773D8 80100238 00095400 */ sll $t2, $t1, 0x10
|
||||
/* B773DC 8010023C 44095000 */ mfc1 $t1, $f10
|
||||
/* B773E0 80100240 AC880000 */ sw $t0, ($a0)
|
||||
/* B773E4 80100244 AC8A0020 */ sw $t2, 0x20($a0)
|
||||
/* B773E8 80100248 00094402 */ srl $t0, $t1, 0x10
|
||||
/* B773EC 8010024C 4600428D */ trunc.w.s $f10, $f8
|
||||
/* B773F0 80100250 312AFFFF */ andi $t2, $t1, 0xffff
|
||||
/* B773F4 80100254 AC8A0028 */ sw $t2, 0x28($a0)
|
||||
/* B773F8 80100258 AC880008 */ sw $t0, 8($a0)
|
||||
/* B773FC 8010025C 44095000 */ mfc1 $t1, $f10
|
||||
/* B77400 80100260 00000000 */ nop
|
||||
/* B77404 80100264 00095402 */ srl $t2, $t1, 0x10
|
||||
/* B77408 80100268 000A4400 */ sll $t0, $t2, 0x10
|
||||
/* B7740C 8010026C AC880014 */ sw $t0, 0x14($a0)
|
||||
/* B77410 80100270 24080001 */ li $t0, 1
|
||||
/* B77414 80100274 00095400 */ sll $t2, $t1, 0x10
|
||||
/* B77418 80100278 AC8A0034 */ sw $t2, 0x34($a0)
|
||||
/* B7741C 8010027C 03E00008 */ jr $ra
|
||||
/* B77420 80100280 AC88001C */ sw $t0, 0x1c($a0)
|
||||
@@ -0,0 +1,367 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel sinf
|
||||
/* B77430 80100290 E7AC0000 */ swc1 $f12, ($sp)
|
||||
/* B77434 80100294 8FA20000 */ lw $v0, ($sp)
|
||||
/* B77438 80100298 C7A40000 */ lwc1 $f4, ($sp)
|
||||
/* B7743C 8010029C 00021D83 */ sra $v1, $v0, 0x16
|
||||
/* B77440 801002A0 306E01FF */ andi $t6, $v1, 0x1ff
|
||||
/* B77444 801002A4 29C100FF */ slti $at, $t6, 0xff
|
||||
/* B77448 801002A8 10200019 */ beqz $at, .L80100310
|
||||
/* B7744C 801002AC 01C01825 */ move $v1, $t6
|
||||
/* B77450 801002B0 29C100E6 */ slti $at, $t6, 0xe6
|
||||
/* B77454 801002B4 14200014 */ bnez $at, .L80100308
|
||||
/* B77458 801002B8 460020A1 */ cvt.d.s $f2, $f4
|
||||
/* B7745C 801002BC 46221302 */ mul.d $f12, $f2, $f2
|
||||
/* B77460 801002C0 3C038015 */ lui $v1, %hi(D_8014B210) # $v1, 0x8015
|
||||
/* B77464 801002C4 2463B210 */ addiu $v1, %lo(D_8014B210) # addiu $v1, $v1, -0x4df0
|
||||
/* B77468 801002C8 D4660020 */ ldc1 $f6, 0x20($v1)
|
||||
/* B7746C 801002CC D46A0018 */ ldc1 $f10, 0x18($v1)
|
||||
/* B77470 801002D0 D4640010 */ ldc1 $f4, 0x10($v1)
|
||||
/* B77474 801002D4 462C3202 */ mul.d $f8, $f6, $f12
|
||||
/* B77478 801002D8 462A4400 */ add.d $f16, $f8, $f10
|
||||
/* B7747C 801002DC D46A0008 */ ldc1 $f10, 8($v1)
|
||||
/* B77480 801002E0 462C8482 */ mul.d $f18, $f16, $f12
|
||||
/* B77484 801002E4 46249180 */ add.d $f6, $f18, $f4
|
||||
/* B77488 801002E8 462C3202 */ mul.d $f8, $f6, $f12
|
||||
/* B7748C 801002EC 46285380 */ add.d $f14, $f10, $f8
|
||||
/* B77490 801002F0 462C1402 */ mul.d $f16, $f2, $f12
|
||||
/* B77494 801002F4 00000000 */ nop
|
||||
/* B77498 801002F8 462E8482 */ mul.d $f18, $f16, $f14
|
||||
/* B7749C 801002FC 46229100 */ add.d $f4, $f18, $f2
|
||||
/* B774A0 80100300 03E00008 */ jr $ra
|
||||
/* B774A4 80100304 46202020 */ cvt.s.d $f0, $f4
|
||||
|
||||
.L80100308:
|
||||
/* B774A8 80100308 03E00008 */ jr $ra
|
||||
/* B774AC 8010030C C7A00000 */ lwc1 $f0, ($sp)
|
||||
|
||||
.L80100310:
|
||||
/* B774B0 80100310 28610136 */ slti $at, $v1, 0x136
|
||||
/* B774B4 80100314 10200044 */ beqz $at, .L80100428
|
||||
/* B774B8 80100318 C7A40000 */ lwc1 $f4, ($sp)
|
||||
/* B774BC 8010031C C7A60000 */ lwc1 $f6, ($sp)
|
||||
/* B774C0 80100320 3C018015 */ lui $at, %hi(D_8014B238)
|
||||
/* B774C4 80100324 D42AB238 */ ldc1 $f10, %lo(D_8014B238)($at)
|
||||
/* B774C8 80100328 460030A1 */ cvt.d.s $f2, $f6
|
||||
/* B774CC 8010032C 44804800 */ mtc1 $zero, $f9
|
||||
/* B774D0 80100330 462A1002 */ mul.d $f0, $f2, $f10
|
||||
/* B774D4 80100334 44804000 */ mtc1 $zero, $f8
|
||||
/* B774D8 80100338 3C013FE0 */ li $at, 0x3FE00000 # 0.000000
|
||||
/* B774DC 8010033C 4620403E */ c.le.d $f8, $f0
|
||||
/* B774E0 80100340 00000000 */ nop
|
||||
/* B774E4 80100344 4502000B */ bc1fl .L80100374
|
||||
/* B774E8 80100348 44813800 */ mtc1 $at, $f7
|
||||
/* B774EC 8010034C 3C013FE0 */ li $at, 0x3FE00000 # 0.000000
|
||||
/* B774F0 80100350 44818800 */ mtc1 $at, $f17
|
||||
/* B774F4 80100354 44808000 */ mtc1 $zero, $f16
|
||||
/* B774F8 80100358 00000000 */ nop
|
||||
/* B774FC 8010035C 46300480 */ add.d $f18, $f0, $f16
|
||||
/* B77500 80100360 4620910D */ trunc.w.d $f4, $f18
|
||||
/* B77504 80100364 44022000 */ mfc1 $v0, $f4
|
||||
/* B77508 80100368 10000009 */ b .L80100390
|
||||
/* B7750C 8010036C 44828000 */ mtc1 $v0, $f16
|
||||
/* B77510 80100370 44813800 */ mtc1 $at, $f7
|
||||
.L80100374:
|
||||
/* B77514 80100374 44803000 */ mtc1 $zero, $f6
|
||||
/* B77518 80100378 00000000 */ nop
|
||||
/* B7751C 8010037C 46260281 */ sub.d $f10, $f0, $f6
|
||||
/* B77520 80100380 4620520D */ trunc.w.d $f8, $f10
|
||||
/* B77524 80100384 44024000 */ mfc1 $v0, $f8
|
||||
/* B77528 80100388 00000000 */ nop
|
||||
/* B7752C 8010038C 44828000 */ mtc1 $v0, $f16
|
||||
.L80100390:
|
||||
/* B77530 80100390 3C018015 */ lui $at, %hi(D_8014B240)
|
||||
/* B77534 80100394 D432B240 */ ldc1 $f18, %lo(D_8014B240)($at)
|
||||
/* B77538 80100398 46808021 */ cvt.d.w $f0, $f16
|
||||
/* B7753C 8010039C 3C018015 */ lui $at, %hi(D_8014B248)
|
||||
/* B77540 801003A0 D426B248 */ ldc1 $f6, %lo(D_8014B248)($at)
|
||||
/* B77544 801003A4 3C038015 */ lui $v1, %hi(D_8014B210) # $v1, 0x8015
|
||||
/* B77548 801003A8 2463B210 */ addiu $v1, %lo(D_8014B210) # addiu $v1, $v1, -0x4df0
|
||||
/* B7754C 801003AC 46320102 */ mul.d $f4, $f0, $f18
|
||||
/* B77550 801003B0 D4680020 */ ldc1 $f8, 0x20($v1)
|
||||
/* B77554 801003B4 D4720018 */ ldc1 $f18, 0x18($v1)
|
||||
/* B77558 801003B8 30590001 */ andi $t9, $v0, 1
|
||||
/* B7755C 801003BC 46260282 */ mul.d $f10, $f0, $f6
|
||||
/* B77560 801003C0 46241081 */ sub.d $f2, $f2, $f4
|
||||
/* B77564 801003C4 462A1081 */ sub.d $f2, $f2, $f10
|
||||
/* B77568 801003C8 D46A0010 */ ldc1 $f10, 0x10($v1)
|
||||
/* B7756C 801003CC 46221302 */ mul.d $f12, $f2, $f2
|
||||
/* B77570 801003D0 00000000 */ nop
|
||||
/* B77574 801003D4 462C4402 */ mul.d $f16, $f8, $f12
|
||||
/* B77578 801003D8 46328100 */ add.d $f4, $f16, $f18
|
||||
/* B7757C 801003DC D4720008 */ ldc1 $f18, 8($v1)
|
||||
/* B77580 801003E0 462C2182 */ mul.d $f6, $f4, $f12
|
||||
/* B77584 801003E4 462A3200 */ add.d $f8, $f6, $f10
|
||||
/* B77588 801003E8 462C4402 */ mul.d $f16, $f8, $f12
|
||||
/* B7758C 801003EC 17200007 */ bnez $t9, .L8010040C
|
||||
/* B77590 801003F0 46309380 */ add.d $f14, $f18, $f16
|
||||
/* B77594 801003F4 462C1102 */ mul.d $f4, $f2, $f12
|
||||
/* B77598 801003F8 00000000 */ nop
|
||||
/* B7759C 801003FC 462E2182 */ mul.d $f6, $f4, $f14
|
||||
/* B775A0 80100400 46223280 */ add.d $f10, $f6, $f2
|
||||
/* B775A4 80100404 03E00008 */ jr $ra
|
||||
/* B775A8 80100408 46205020 */ cvt.s.d $f0, $f10
|
||||
|
||||
.L8010040C:
|
||||
/* B775AC 8010040C 462C1202 */ mul.d $f8, $f2, $f12
|
||||
/* B775B0 80100410 00000000 */ nop
|
||||
/* B775B4 80100414 462E4482 */ mul.d $f18, $f8, $f14
|
||||
/* B775B8 80100418 46229400 */ add.d $f16, $f18, $f2
|
||||
/* B775BC 8010041C 46208020 */ cvt.s.d $f0, $f16
|
||||
/* B775C0 80100420 03E00008 */ jr $ra
|
||||
/* B775C4 80100424 46000007 */ neg.s $f0, $f0
|
||||
|
||||
.L80100428:
|
||||
/* B775C8 80100428 46042032 */ c.eq.s $f4, $f4
|
||||
/* B775CC 8010042C 3C018015 */ lui $at, %hi(D_8014B250)
|
||||
/* B775D0 80100430 45010004 */ bc1t .L80100444
|
||||
/* B775D4 80100434 00000000 */ nop
|
||||
/* B775D8 80100438 3C018015 */ lui $at, %hi(D_8014B2D0)
|
||||
/* B775DC 8010043C 03E00008 */ jr $ra
|
||||
/* B775E0 80100440 C420B2D0 */ lwc1 $f0, %lo(D_8014B2D0)($at)
|
||||
|
||||
.L80100444:
|
||||
/* B775E4 80100444 C420B250 */ lwc1 $f0, %lo(D_8014B250)($at)
|
||||
/* B775E8 80100448 03E00008 */ jr $ra
|
||||
/* B775EC 8010044C 00000000 */ nop
|
||||
|
||||
glabel sins
|
||||
/* B775F0 80100450 308EFFFF */ andi $t6, $a0, 0xffff
|
||||
/* B775F4 80100454 000E7902 */ srl $t7, $t6, 4
|
||||
/* B775F8 80100458 31F8FFFF */ andi $t8, $t7, 0xffff
|
||||
/* B775FC 8010045C 33190400 */ andi $t9, $t8, 0x400
|
||||
/* B77600 80100460 AFA40000 */ sw $a0, ($sp)
|
||||
/* B77604 80100464 13200008 */ beqz $t9, .L80100488
|
||||
/* B77608 80100468 03001025 */ move $v0, $t8
|
||||
/* B7760C 8010046C 330803FF */ andi $t0, $t8, 0x3ff
|
||||
/* B77610 80100470 00084840 */ sll $t1, $t0, 1
|
||||
/* B77614 80100474 00095023 */ negu $t2, $t1
|
||||
/* B77618 80100478 3C038013 */ lui $v1, %hi(D_80134CCE)
|
||||
/* B7761C 8010047C 006A1821 */ addu $v1, $v1, $t2
|
||||
/* B77620 80100480 10000006 */ b .L8010049C
|
||||
/* B77624 80100484 84634CCE */ lh $v1, %lo(D_80134CCE)($v1)
|
||||
.L80100488:
|
||||
/* B77628 80100488 304B03FF */ andi $t3, $v0, 0x3ff
|
||||
/* B7762C 8010048C 000B6040 */ sll $t4, $t3, 1
|
||||
/* B77630 80100490 3C038013 */ lui $v1, %hi(D_801344D0)
|
||||
/* B77634 80100494 006C1821 */ addu $v1, $v1, $t4
|
||||
/* B77638 80100498 846344D0 */ lh $v1, %lo(D_801344D0)($v1)
|
||||
.L8010049C:
|
||||
/* B7763C 8010049C 304D0800 */ andi $t5, $v0, 0x800
|
||||
/* B77640 801004A0 11A00005 */ beqz $t5, .L801004B8
|
||||
/* B77644 801004A4 00601025 */ move $v0, $v1
|
||||
/* B77648 801004A8 00031023 */ negu $v0, $v1
|
||||
/* B7764C 801004AC 00027400 */ sll $t6, $v0, 0x10
|
||||
/* B77650 801004B0 03E00008 */ jr $ra
|
||||
/* B77654 801004B4 000E1403 */ sra $v0, $t6, 0x10
|
||||
|
||||
.L801004B8:
|
||||
/* B77658 801004B8 03E00008 */ jr $ra
|
||||
/* B7765C 801004BC 00000000 */ nop
|
||||
|
||||
glabel func_801004C0
|
||||
/* B77660 801004C0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B77664 801004C4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B77668 801004C8 3C058017 */ lui $a1, %hi(D_80175670) # $a1, 0x8017
|
||||
/* B7766C 801004CC 24A55670 */ addiu $a1, %lo(D_80175670) # addiu $a1, $a1, 0x5670
|
||||
/* B77670 801004D0 0C001BC4 */ jal bcopy
|
||||
/* B77674 801004D4 24060040 */ li $a2, 64
|
||||
/* B77678 801004D8 3C048017 */ lui $a0, %hi(D_80175680) # $a0, 0x8017
|
||||
/* B7767C 801004DC 8C845680 */ lw $a0, %lo(D_80175680)($a0)
|
||||
/* B77680 801004E0 10800005 */ beqz $a0, .L801004F8
|
||||
/* B77684 801004E4 00000000 */ nop
|
||||
/* B77688 801004E8 0C001378 */ jal osVirtualToPhysical
|
||||
/* B7768C 801004EC 00000000 */ nop
|
||||
/* B77690 801004F0 3C018017 */ lui $at, %hi(D_80175680) # $at, 0x8017
|
||||
/* B77694 801004F4 AC225680 */ sw $v0, %lo(D_80175680)($at)
|
||||
.L801004F8:
|
||||
/* B77698 801004F8 3C048017 */ lui $a0, %hi(D_80175688) # $a0, 0x8017
|
||||
/* B7769C 801004FC 8C845688 */ lw $a0, %lo(D_80175688)($a0)
|
||||
/* B776A0 80100500 10800005 */ beqz $a0, .L80100518
|
||||
/* B776A4 80100504 00000000 */ nop
|
||||
/* B776A8 80100508 0C001378 */ jal osVirtualToPhysical
|
||||
/* B776AC 8010050C 00000000 */ nop
|
||||
/* B776B0 80100510 3C018017 */ lui $at, %hi(D_80175688) # $at, 0x8017
|
||||
/* B776B4 80100514 AC225688 */ sw $v0, %lo(D_80175688)($at)
|
||||
.L80100518:
|
||||
/* B776B8 80100518 3C048017 */ lui $a0, %hi(D_80175690) # $a0, 0x8017
|
||||
/* B776BC 8010051C 8C845690 */ lw $a0, %lo(D_80175690)($a0)
|
||||
/* B776C0 80100520 10800005 */ beqz $a0, .L80100538
|
||||
/* B776C4 80100524 00000000 */ nop
|
||||
/* B776C8 80100528 0C001378 */ jal osVirtualToPhysical
|
||||
/* B776CC 8010052C 00000000 */ nop
|
||||
/* B776D0 80100530 3C018017 */ lui $at, %hi(D_80175690) # $at, 0x8017
|
||||
/* B776D4 80100534 AC225690 */ sw $v0, %lo(D_80175690)($at)
|
||||
.L80100538:
|
||||
/* B776D8 80100538 3C048017 */ lui $a0, %hi(D_80175698) # $a0, 0x8017
|
||||
/* B776DC 8010053C 8C845698 */ lw $a0, %lo(D_80175698)($a0)
|
||||
/* B776E0 80100540 10800005 */ beqz $a0, .L80100558
|
||||
/* B776E4 80100544 00000000 */ nop
|
||||
/* B776E8 80100548 0C001378 */ jal osVirtualToPhysical
|
||||
/* B776EC 8010054C 00000000 */ nop
|
||||
/* B776F0 80100550 3C018017 */ lui $at, %hi(D_80175698) # $at, 0x8017
|
||||
/* B776F4 80100554 AC225698 */ sw $v0, %lo(D_80175698)($at)
|
||||
.L80100558:
|
||||
/* B776F8 80100558 3C048017 */ lui $a0, %hi(D_8017569C) # $a0, 0x8017
|
||||
/* B776FC 8010055C 8C84569C */ lw $a0, %lo(D_8017569C)($a0)
|
||||
/* B77700 80100560 10800005 */ beqz $a0, .L80100578
|
||||
/* B77704 80100564 00000000 */ nop
|
||||
/* B77708 80100568 0C001378 */ jal osVirtualToPhysical
|
||||
/* B7770C 8010056C 00000000 */ nop
|
||||
/* B77710 80100570 3C018017 */ lui $at, %hi(D_8017569C) # $at, 0x8017
|
||||
/* B77714 80100574 AC22569C */ sw $v0, %lo(D_8017569C)($at)
|
||||
.L80100578:
|
||||
/* B77718 80100578 3C048017 */ lui $a0, %hi(D_801756A0) # $a0, 0x8017
|
||||
/* B7771C 8010057C 8C8456A0 */ lw $a0, %lo(D_801756A0)($a0)
|
||||
/* B77720 80100580 10800005 */ beqz $a0, .L80100598
|
||||
/* B77724 80100584 00000000 */ nop
|
||||
/* B77728 80100588 0C001378 */ jal osVirtualToPhysical
|
||||
/* B7772C 8010058C 00000000 */ nop
|
||||
/* B77730 80100590 3C018017 */ lui $at, %hi(D_801756A0) # $at, 0x8017
|
||||
/* B77734 80100594 AC2256A0 */ sw $v0, %lo(D_801756A0)($at)
|
||||
.L80100598:
|
||||
/* B77738 80100598 3C048017 */ lui $a0, %hi(D_801756A8) # $a0, 0x8017
|
||||
/* B7773C 8010059C 8C8456A8 */ lw $a0, %lo(D_801756A8)($a0)
|
||||
/* B77740 801005A0 50800006 */ beql $a0, $zero, .L801005BC
|
||||
/* B77744 801005A4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B77748 801005A8 0C001378 */ jal osVirtualToPhysical
|
||||
/* B7774C 801005AC 00000000 */ nop
|
||||
/* B77750 801005B0 3C018017 */ lui $at, %hi(D_801756A8) # $at, 0x8017
|
||||
/* B77754 801005B4 AC2256A8 */ sw $v0, %lo(D_801756A8)($at)
|
||||
/* B77758 801005B8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L801005BC:
|
||||
/* B7775C 801005BC 3C028017 */ lui $v0, %hi(D_80175670) # $v0, 0x8017
|
||||
/* B77760 801005C0 24425670 */ addiu $v0, %lo(D_80175670) # addiu $v0, $v0, 0x5670
|
||||
/* B77764 801005C4 03E00008 */ jr $ra
|
||||
/* B77768 801005C8 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
glabel func_801005CC
|
||||
/* B7776C 801005CC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* B77770 801005D0 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B77774 801005D4 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* B77778 801005D8 00808025 */ move $s0, $a0
|
||||
/* B7777C 801005DC AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* B77780 801005E0 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* B77784 801005E4 0C040130 */ jal func_801004C0
|
||||
/* B77788 801005E8 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* B7778C 801005EC 8C4E0004 */ lw $t6, 4($v0)
|
||||
/* B77790 801005F0 00409025 */ move $s2, $v0
|
||||
/* B77794 801005F4 02402025 */ move $a0, $s2
|
||||
/* B77798 801005F8 31CF0001 */ andi $t7, $t6, 1
|
||||
/* B7779C 801005FC 11E00013 */ beqz $t7, .L8010064C
|
||||
/* B777A0 80100600 00000000 */ nop
|
||||
/* B777A4 80100604 8C580038 */ lw $t8, 0x38($v0)
|
||||
/* B777A8 80100608 8C59003C */ lw $t9, 0x3c($v0)
|
||||
/* B777AC 8010060C 2401FFFE */ li $at, -2
|
||||
/* B777B0 80100610 AC580018 */ sw $t8, 0x18($v0)
|
||||
/* B777B4 80100614 AC59001C */ sw $t9, 0x1c($v0)
|
||||
/* B777B8 80100618 8E080004 */ lw $t0, 4($s0)
|
||||
/* B777BC 8010061C 01014824 */ and $t1, $t0, $at
|
||||
/* B777C0 80100620 AE090004 */ sw $t1, 4($s0)
|
||||
/* B777C4 80100624 8C4A0004 */ lw $t2, 4($v0)
|
||||
/* B777C8 80100628 314B0004 */ andi $t3, $t2, 4
|
||||
/* B777CC 8010062C 11600007 */ beqz $t3, .L8010064C
|
||||
/* B777D0 80100630 00000000 */ nop
|
||||
/* B777D4 80100634 8E0C0038 */ lw $t4, 0x38($s0)
|
||||
/* B777D8 80100638 3C01A000 */ lui $at, 0xa000
|
||||
/* B777DC 8010063C 258D0BFC */ addiu $t5, $t4, 0xbfc
|
||||
/* B777E0 80100640 01A17025 */ or $t6, $t5, $at
|
||||
/* B777E4 80100644 8DCF0000 */ lw $t7, ($t6)
|
||||
/* B777E8 80100648 AC4F0010 */ sw $t7, 0x10($v0)
|
||||
.L8010064C:
|
||||
/* B777EC 8010064C 0C0011B0 */ jal osWritebackDCache
|
||||
/* B777F0 80100650 24050040 */ li $a1, 64
|
||||
/* B777F4 80100654 0C041920 */ jal __osSpSetStatus
|
||||
/* B777F8 80100658 24042B00 */ li $a0, 11008
|
||||
/* B777FC 8010065C 3C130400 */ lui $s3, (0x04001000 >> 16) # lui $s3, 0x400
|
||||
/* B77800 80100660 36731000 */ ori $s3, (0x04001000 & 0xFFFF) # ori $s3, $s3, 0x1000
|
||||
/* B77804 80100664 0C0419E8 */ jal func_801067A0
|
||||
/* B77808 80100668 02602025 */ move $a0, $s3
|
||||
/* B7780C 8010066C 2411FFFF */ li $s1, -1
|
||||
/* B77810 80100670 54510006 */ bnel $v0, $s1, .L8010068C
|
||||
/* B77814 80100674 3C100400 */ lui $s0, 0x400
|
||||
.L80100678:
|
||||
/* B77818 80100678 0C0419E8 */ jal func_801067A0
|
||||
/* B7781C 8010067C 02602025 */ move $a0, $s3
|
||||
/* B77820 80100680 1051FFFD */ beq $v0, $s1, .L80100678
|
||||
/* B77824 80100684 00000000 */ nop
|
||||
/* B77828 80100688 3C100400 */ lui $s0, (0x04000FC0 >> 16) # lui $s0, 0x400
|
||||
.L8010068C:
|
||||
/* B7782C 8010068C 36100FC0 */ ori $s0, (0x04000FC0 & 0xFFFF) # ori $s0, $s0, 0xfc0
|
||||
/* B77830 80100690 02002825 */ move $a1, $s0
|
||||
/* B77834 80100694 24040001 */ li $a0, 1
|
||||
/* B77838 80100698 02403025 */ move $a2, $s2
|
||||
/* B7783C 8010069C 0C0404D8 */ jal func_80101360
|
||||
/* B77840 801006A0 24070040 */ li $a3, 64
|
||||
/* B77844 801006A4 14510007 */ bne $v0, $s1, .L801006C4
|
||||
/* B77848 801006A8 24040001 */ li $a0, 1
|
||||
.L801006AC:
|
||||
/* B7784C 801006AC 02002825 */ move $a1, $s0
|
||||
/* B77850 801006B0 02403025 */ move $a2, $s2
|
||||
/* B77854 801006B4 0C0404D8 */ jal func_80101360
|
||||
/* B77858 801006B8 24070040 */ li $a3, 64
|
||||
/* B7785C 801006BC 5051FFFB */ beql $v0, $s1, .L801006AC
|
||||
/* B77860 801006C0 24040001 */ li $a0, 1
|
||||
.L801006C4:
|
||||
/* B77864 801006C4 0C040ECC */ jal func_80103B30
|
||||
/* B77868 801006C8 00000000 */ nop
|
||||
/* B7786C 801006CC 50400006 */ beql $v0, $zero, .L801006E8
|
||||
/* B77870 801006D0 24040001 */ li $a0, 1
|
||||
.L801006D4:
|
||||
/* B77874 801006D4 0C040ECC */ jal func_80103B30
|
||||
/* B77878 801006D8 00000000 */ nop
|
||||
/* B7787C 801006DC 1440FFFD */ bnez $v0, .L801006D4
|
||||
/* B77880 801006E0 00000000 */ nop
|
||||
/* B77884 801006E4 24040001 */ li $a0, 1
|
||||
.L801006E8:
|
||||
/* B77888 801006E8 02602825 */ move $a1, $s3
|
||||
/* B7788C 801006EC 8E460008 */ lw $a2, 8($s2)
|
||||
/* B77890 801006F0 0C0404D8 */ jal func_80101360
|
||||
/* B77894 801006F4 8E47000C */ lw $a3, 0xc($s2)
|
||||
/* B77898 801006F8 14510007 */ bne $v0, $s1, .L80100718
|
||||
/* B7789C 801006FC 24040001 */ li $a0, 1
|
||||
.L80100700:
|
||||
/* B778A0 80100700 02602825 */ move $a1, $s3
|
||||
/* B778A4 80100704 8E460008 */ lw $a2, 8($s2)
|
||||
/* B778A8 80100708 0C0404D8 */ jal func_80101360
|
||||
/* B778AC 8010070C 8E47000C */ lw $a3, 0xc($s2)
|
||||
/* B778B0 80100710 5051FFFB */ beql $v0, $s1, .L80100700
|
||||
/* B778B4 80100714 24040001 */ li $a0, 1
|
||||
.L80100718:
|
||||
/* B778B8 80100718 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B778BC 8010071C 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* B778C0 80100720 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* B778C4 80100724 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* B778C8 80100728 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* B778CC 8010072C 03E00008 */ jr $ra
|
||||
/* B778D0 80100730 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
|
||||
glabel func_80100734
|
||||
/* B778D4 80100734 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B778D8 80100738 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B778DC 8010073C 0C040ECC */ jal func_80103B30
|
||||
/* B778E0 80100740 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B778E4 80100744 10400005 */ beqz $v0, .L8010075C
|
||||
/* B778E8 80100748 00000000 */ nop
|
||||
.L8010074C:
|
||||
/* B778EC 8010074C 0C040ECC */ jal func_80103B30
|
||||
/* B778F0 80100750 00000000 */ nop
|
||||
/* B778F4 80100754 1440FFFD */ bnez $v0, .L8010074C
|
||||
/* B778F8 80100758 00000000 */ nop
|
||||
.L8010075C:
|
||||
/* B778FC 8010075C 0C041920 */ jal __osSpSetStatus
|
||||
/* B77900 80100760 24040125 */ li $a0, 293
|
||||
/* B77904 80100764 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B77908 80100768 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B7790C 8010076C 03E00008 */ jr $ra
|
||||
/* B77910 80100770 00000000 */ nop
|
||||
@@ -0,0 +1,48 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80101360
|
||||
/* B78500 80101360 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B78504 80101364 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B78508 80101368 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B7850C 8010136C AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* B78510 80101370 AFA60020 */ sw $a2, 0x20($sp)
|
||||
/* B78514 80101374 0C040ECC */ jal func_80103B30
|
||||
/* B78518 80101378 AFA70024 */ sw $a3, 0x24($sp)
|
||||
/* B7851C 8010137C 10400003 */ beqz $v0, .L8010138C
|
||||
/* B78520 80101380 8FAE001C */ lw $t6, 0x1c($sp)
|
||||
/* B78524 80101384 10000013 */ b .L801013D4
|
||||
/* B78528 80101388 2402FFFF */ li $v0, -1
|
||||
.L8010138C:
|
||||
/* B7852C 8010138C 3C0FA404 */ lui $t7, 0xa404
|
||||
/* B78530 80101390 ADEE0000 */ sw $t6, ($t7)
|
||||
/* B78534 80101394 0C001378 */ jal osVirtualToPhysical
|
||||
/* B78538 80101398 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* B7853C 8010139C 3C18A404 */ lui $t8, %hi(D_A4040004) # $t8, 0xa404
|
||||
/* B78540 801013A0 AF020004 */ sw $v0, %lo(D_A4040004)($t8)
|
||||
/* B78544 801013A4 8FB90018 */ lw $t9, 0x18($sp)
|
||||
/* B78548 801013A8 8FAB0024 */ lw $t3, 0x24($sp)
|
||||
/* B7854C 801013AC 00001025 */ move $v0, $zero
|
||||
/* B78550 801013B0 17200006 */ bnez $t9, .L801013CC
|
||||
/* B78554 801013B4 256CFFFF */ addiu $t4, $t3, -1
|
||||
/* B78558 801013B8 8FA80024 */ lw $t0, 0x24($sp)
|
||||
/* B7855C 801013BC 3C0AA404 */ lui $t2, %hi(D_A404000C) # $t2, 0xa404
|
||||
/* B78560 801013C0 2509FFFF */ addiu $t1, $t0, -1
|
||||
/* B78564 801013C4 10000003 */ b .L801013D4
|
||||
/* B78568 801013C8 AD49000C */ sw $t1, %lo(D_A404000C)($t2)
|
||||
.L801013CC:
|
||||
/* B7856C 801013CC 3C0DA404 */ lui $t5, %hi(D_A4040008) # $t5, 0xa404
|
||||
/* B78570 801013D0 ADAC0008 */ sw $t4, %lo(D_A4040008)($t5)
|
||||
.L801013D4:
|
||||
/* B78574 801013D4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B78578 801013D8 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B7857C 801013DC 03E00008 */ jr $ra
|
||||
/* B78580 801013E0 00000000 */ nop
|
||||
@@ -0,0 +1,340 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel osSpTaskYield
|
||||
/* B78640 801014A0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B78644 801014A4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B78648 801014A8 0C041920 */ jal __osSpSetStatus
|
||||
/* B7864C 801014AC 24040400 */ li $a0, 1024
|
||||
/* B78650 801014B0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B78654 801014B4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B78658 801014B8 03E00008 */ jr $ra
|
||||
/* B7865C 801014BC 00000000 */ nop
|
||||
|
||||
glabel func_801014C0
|
||||
/* B78660 801014C0 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* B78664 801014C4 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B78668 801014C8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B7866C 801014CC AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* B78670 801014D0 AFA60028 */ sw $a2, 0x28($sp)
|
||||
/* B78674 801014D4 90AF0000 */ lbu $t7, ($a1)
|
||||
/* B78678 801014D8 90E20000 */ lbu $v0, ($a3)
|
||||
/* B7867C 801014DC 00E08025 */ move $s0, $a3
|
||||
/* B78680 801014E0 00A07025 */ move $t6, $a1
|
||||
/* B78684 801014E4 104F000A */ beq $v0, $t7, .L80101510
|
||||
/* B78688 801014E8 00003025 */ move $a2, $zero
|
||||
/* B7868C 801014EC A0A20000 */ sb $v0, ($a1)
|
||||
/* B78690 801014F0 91C70000 */ lbu $a3, ($t6)
|
||||
/* B78694 801014F4 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* B78698 801014F8 0C040B31 */ jal func_80102CC4
|
||||
/* B7869C 801014FC 8FA50028 */ lw $a1, 0x28($sp)
|
||||
/* B786A0 80101500 10400003 */ beqz $v0, .L80101510
|
||||
/* B786A4 80101504 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* B786A8 80101508 1000001E */ b .L80101584
|
||||
/* B786AC 8010150C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80101510:
|
||||
/* B786B0 80101510 92190001 */ lbu $t9, 1($s0)
|
||||
/* B786B4 80101514 8FB80028 */ lw $t8, 0x28($sp)
|
||||
/* B786B8 80101518 00194040 */ sll $t0, $t9, 1
|
||||
/* B786BC 8010151C 03084821 */ addu $t1, $t8, $t0
|
||||
/* B786C0 80101520 95210000 */ lhu $at, ($t1)
|
||||
/* B786C4 80101524 A6010000 */ sh $at, ($s0)
|
||||
/* B786C8 80101528 8C8C0060 */ lw $t4, 0x60($a0)
|
||||
/* B786CC 8010152C 3023FFFF */ andi $v1, $at, 0xffff
|
||||
/* B786D0 80101530 006C082A */ slt $at, $v1, $t4
|
||||
/* B786D4 80101534 5420000C */ bnezl $at, .L80101568
|
||||
/* B786D8 80101538 24010001 */ li $at, 1
|
||||
/* B786DC 8010153C 920D0000 */ lbu $t5, ($s0)
|
||||
/* B786E0 80101540 908F0064 */ lbu $t7, 0x64($a0)
|
||||
/* B786E4 80101544 01AF082A */ slt $at, $t5, $t7
|
||||
/* B786E8 80101548 50200007 */ beql $at, $zero, .L80101568
|
||||
/* B786EC 8010154C 24010001 */ li $at, 1
|
||||
/* B786F0 80101550 92020001 */ lbu $v0, 1($s0)
|
||||
/* B786F4 80101554 18400003 */ blez $v0, .L80101564
|
||||
/* B786F8 80101558 28410080 */ slti $at, $v0, 0x80
|
||||
/* B786FC 8010155C 14200008 */ bnez $at, .L80101580
|
||||
/* B78700 80101560 00001025 */ move $v0, $zero
|
||||
.L80101564:
|
||||
/* B78704 80101564 24010001 */ li $at, 1
|
||||
.L80101568:
|
||||
/* B78708 80101568 14610003 */ bne $v1, $at, .L80101578
|
||||
/* B7870C 8010156C 00000000 */ nop
|
||||
/* B78710 80101570 10000003 */ b .L80101580
|
||||
/* B78714 80101574 24020005 */ li $v0, 5
|
||||
.L80101578:
|
||||
/* B78718 80101578 10000001 */ b .L80101580
|
||||
/* B7871C 8010157C 24020003 */ li $v0, 3
|
||||
.L80101580:
|
||||
/* B78720 80101580 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80101584:
|
||||
/* B78724 80101584 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B78728 80101588 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* B7872C 8010158C 03E00008 */ jr $ra
|
||||
/* B78730 80101590 00000000 */ nop
|
||||
|
||||
glabel func_80101594
|
||||
/* B78734 80101594 27BDFE90 */ addiu $sp, $sp, -0x170
|
||||
/* B78738 80101598 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B7873C 8010159C AFB30028 */ sw $s3, 0x28($sp)
|
||||
/* B78740 801015A0 AFB20024 */ sw $s2, 0x24($sp)
|
||||
/* B78744 801015A4 AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* B78748 801015A8 AFB0001C */ sw $s0, 0x1c($sp)
|
||||
/* B7874C 801015AC AFA60178 */ sw $a2, 0x178($sp)
|
||||
/* B78750 801015B0 8C8E0050 */ lw $t6, 0x50($a0)
|
||||
/* B78754 801015B4 30D000FF */ andi $s0, $a2, 0xff
|
||||
/* B78758 801015B8 00E08825 */ move $s1, $a3
|
||||
/* B7875C 801015BC 00AE082A */ slt $at, $a1, $t6
|
||||
/* B78760 801015C0 10200003 */ beqz $at, .L801015D0
|
||||
/* B78764 801015C4 00809025 */ move $s2, $a0
|
||||
/* B78768 801015C8 04A10003 */ bgez $a1, .L801015D8
|
||||
/* B7876C 801015CC 8FA20180 */ lw $v0, 0x180($sp)
|
||||
.L801015D0:
|
||||
/* B78770 801015D0 100000C7 */ b .L801018F0
|
||||
/* B78774 801015D4 24020005 */ li $v0, 5
|
||||
.L801015D8:
|
||||
/* B78778 801015D8 18400003 */ blez $v0, .L801015E8
|
||||
/* B7877C 801015DC 304F001F */ andi $t7, $v0, 0x1f
|
||||
/* B78780 801015E0 11E00003 */ beqz $t7, .L801015F0
|
||||
/* B78784 801015E4 00000000 */ nop
|
||||
.L801015E8:
|
||||
/* B78788 801015E8 100000C1 */ b .L801018F0
|
||||
/* B7878C 801015EC 24020005 */ li $v0, 5
|
||||
.L801015F0:
|
||||
/* B78790 801015F0 06200003 */ bltz $s1, .L80101600
|
||||
/* B78794 801015F4 3238001F */ andi $t8, $s1, 0x1f
|
||||
/* B78798 801015F8 53000004 */ beql $t8, $zero, .L8010160C
|
||||
/* B7879C 801015FC 8E590000 */ lw $t9, ($s2)
|
||||
.L80101600:
|
||||
/* B787A0 80101600 100000BB */ b .L801018F0
|
||||
/* B787A4 80101604 24020005 */ li $v0, 5
|
||||
/* B787A8 80101608 8E590000 */ lw $t9, ($s2)
|
||||
.L8010160C:
|
||||
/* B787AC 8010160C 02402025 */ move $a0, $s2
|
||||
/* B787B0 80101610 33280001 */ andi $t0, $t9, 1
|
||||
/* B787B4 80101614 15000003 */ bnez $t0, .L80101624
|
||||
/* B787B8 80101618 00000000 */ nop
|
||||
/* B787BC 8010161C 100000B4 */ b .L801018F0
|
||||
/* B787C0 80101620 24020005 */ li $v0, 5
|
||||
.L80101624:
|
||||
/* B787C4 80101624 0C040AFC */ jal func_80102BF0
|
||||
/* B787C8 80101628 AFA50174 */ sw $a1, 0x174($sp)
|
||||
/* B787CC 8010162C 24010002 */ li $at, 2
|
||||
/* B787D0 80101630 54410004 */ bnel $v0, $at, .L80101644
|
||||
/* B787D4 80101634 92490065 */ lbu $t1, 0x65($s2)
|
||||
/* B787D8 80101638 100000AD */ b .L801018F0
|
||||
/* B787DC 8010163C 24020002 */ li $v0, 2
|
||||
/* B787E0 80101640 92490065 */ lbu $t1, 0x65($s2)
|
||||
.L80101644:
|
||||
/* B787E4 80101644 02402025 */ move $a0, $s2
|
||||
/* B787E8 80101648 51200008 */ beql $t1, $zero, .L8010166C
|
||||
/* B787EC 8010164C 8E4A005C */ lw $t2, 0x5c($s2)
|
||||
/* B787F0 80101650 0C041320 */ jal func_80104C80
|
||||
/* B787F4 80101654 00002825 */ move $a1, $zero
|
||||
/* B787F8 80101658 50400004 */ beql $v0, $zero, .L8010166C
|
||||
/* B787FC 8010165C 8E4A005C */ lw $t2, 0x5c($s2)
|
||||
/* B78800 80101660 100000A4 */ b .L801018F4
|
||||
/* B78804 80101664 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B78808 80101668 8E4A005C */ lw $t2, 0x5c($s2)
|
||||
.L8010166C:
|
||||
/* B7880C 8010166C 8FAB0174 */ lw $t3, 0x174($sp)
|
||||
/* B78810 80101670 8E440004 */ lw $a0, 4($s2)
|
||||
/* B78814 80101674 8E450008 */ lw $a1, 8($s2)
|
||||
/* B78818 80101678 014B3021 */ addu $a2, $t2, $t3
|
||||
/* B7881C 8010167C 30CCFFFF */ andi $t4, $a2, 0xffff
|
||||
/* B78820 80101680 01803025 */ move $a2, $t4
|
||||
/* B78824 80101684 0C0417D0 */ jal func_80105F40
|
||||
/* B78828 80101688 27A7014C */ addiu $a3, $sp, 0x14c
|
||||
/* B7882C 8010168C 10400003 */ beqz $v0, .L8010169C
|
||||
/* B78830 80101690 97AD0150 */ lhu $t5, 0x150($sp)
|
||||
/* B78834 80101694 10000097 */ b .L801018F4
|
||||
/* B78838 80101698 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L8010169C:
|
||||
/* B7883C 8010169C 11A00003 */ beqz $t5, .L801016AC
|
||||
/* B78840 801016A0 8FAE014C */ lw $t6, 0x14c($sp)
|
||||
/* B78844 801016A4 15C00003 */ bnez $t6, .L801016B4
|
||||
/* B78848 801016A8 97AF0152 */ lhu $t7, 0x152($sp)
|
||||
.L801016AC:
|
||||
/* B7884C 801016AC 10000090 */ b .L801018F0
|
||||
/* B78850 801016B0 24020005 */ li $v0, 5
|
||||
.L801016B4:
|
||||
/* B78854 801016B4 8E580060 */ lw $t8, 0x60($s2)
|
||||
/* B78858 801016B8 93B90152 */ lbu $t9, 0x152($sp)
|
||||
/* B7885C 801016BC 97AA0152 */ lhu $t2, 0x152($sp)
|
||||
/* B78860 801016C0 01F8082A */ slt $at, $t7, $t8
|
||||
/* B78864 801016C4 5420000A */ bnezl $at, .L801016F0
|
||||
/* B78868 801016C8 24010001 */ li $at, 1
|
||||
/* B7886C 801016CC 92480064 */ lbu $t0, 0x64($s2)
|
||||
/* B78870 801016D0 93A90153 */ lbu $t1, 0x153($sp)
|
||||
/* B78874 801016D4 0328082A */ slt $at, $t9, $t0
|
||||
/* B78878 801016D8 50200005 */ beql $at, $zero, .L801016F0
|
||||
/* B7887C 801016DC 24010001 */ li $at, 1
|
||||
/* B78880 801016E0 19200002 */ blez $t1, .L801016EC
|
||||
/* B78884 801016E4 29210080 */ slti $at, $t1, 0x80
|
||||
/* B78888 801016E8 14200007 */ bnez $at, .L80101708
|
||||
.L801016EC:
|
||||
/* B7888C 801016EC 24010001 */ li $at, 1
|
||||
.L801016F0:
|
||||
/* B78890 801016F0 15410003 */ bne $t2, $at, .L80101700
|
||||
/* B78894 801016F4 00000000 */ nop
|
||||
/* B78898 801016F8 1000007D */ b .L801018F0
|
||||
/* B7889C 801016FC 24020005 */ li $v0, 5
|
||||
.L80101700:
|
||||
/* B788A0 80101700 1000007B */ b .L801018F0
|
||||
/* B788A4 80101704 24020003 */ li $v0, 3
|
||||
.L80101708:
|
||||
/* B788A8 80101708 16000007 */ bnez $s0, .L80101728
|
||||
/* B788AC 8010170C AFB00034 */ sw $s0, 0x34($sp)
|
||||
/* B788B0 80101710 93AC0154 */ lbu $t4, 0x154($sp)
|
||||
/* B788B4 80101714 318D0002 */ andi $t5, $t4, 2
|
||||
/* B788B8 80101718 55A00004 */ bnezl $t5, .L8010172C
|
||||
/* B788BC 8010171C 97AF0152 */ lhu $t7, 0x152($sp)
|
||||
/* B788C0 80101720 10000073 */ b .L801018F0
|
||||
/* B788C4 80101724 24020006 */ li $v0, 6
|
||||
.L80101728:
|
||||
/* B788C8 80101728 97AF0152 */ lhu $t7, 0x152($sp)
|
||||
.L8010172C:
|
||||
/* B788CC 8010172C 240E00FF */ li $t6, 255
|
||||
/* B788D0 80101730 A3AE003B */ sb $t6, 0x3b($sp)
|
||||
/* B788D4 80101734 06210003 */ bgez $s1, .L80101744
|
||||
/* B788D8 80101738 00111143 */ sra $v0, $s1, 5
|
||||
/* B788DC 8010173C 2621001F */ addiu $at, $s1, 0x1f
|
||||
/* B788E0 80101740 00011143 */ sra $v0, $at, 5
|
||||
.L80101744:
|
||||
/* B788E4 80101744 28410008 */ slti $at, $v0, 8
|
||||
/* B788E8 80101748 00408025 */ move $s0, $v0
|
||||
/* B788EC 8010174C 1420000D */ bnez $at, .L80101784
|
||||
/* B788F0 80101750 A7AF0048 */ sh $t7, 0x48($sp)
|
||||
/* B788F4 80101754 02402025 */ move $a0, $s2
|
||||
.L80101758:
|
||||
/* B788F8 80101758 27A5003B */ addiu $a1, $sp, 0x3b
|
||||
/* B788FC 8010175C 27A6004C */ addiu $a2, $sp, 0x4c
|
||||
/* B78900 80101760 0C040530 */ jal func_801014C0
|
||||
/* B78904 80101764 27A70048 */ addiu $a3, $sp, 0x48
|
||||
/* B78908 80101768 10400003 */ beqz $v0, .L80101778
|
||||
/* B7890C 8010176C 2610FFF8 */ addiu $s0, $s0, -8
|
||||
/* B78910 80101770 10000060 */ b .L801018F4
|
||||
/* B78914 80101774 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L80101778:
|
||||
/* B78918 80101778 2A010008 */ slti $at, $s0, 8
|
||||
/* B7891C 8010177C 5020FFF6 */ beql $at, $zero, .L80101758
|
||||
/* B78920 80101780 02402025 */ move $a0, $s2
|
||||
.L80101784:
|
||||
/* B78924 80101784 8FA20180 */ lw $v0, 0x180($sp)
|
||||
/* B78928 80101788 8FB10184 */ lw $s1, 0x184($sp)
|
||||
/* B7892C 8010178C 04410003 */ bgez $v0, .L8010179C
|
||||
/* B78930 80101790 0002C143 */ sra $t8, $v0, 5
|
||||
/* B78934 80101794 2441001F */ addiu $at, $v0, 0x1f
|
||||
/* B78938 80101798 0001C143 */ sra $t8, $at, 5
|
||||
.L8010179C:
|
||||
/* B7893C 8010179C 1B000031 */ blez $t8, .L80101864
|
||||
/* B78940 801017A0 03009825 */ move $s3, $t8
|
||||
.L801017A4:
|
||||
/* B78944 801017A4 24010008 */ li $at, 8
|
||||
/* B78948 801017A8 16010009 */ bne $s0, $at, .L801017D0
|
||||
/* B7894C 801017AC 02402025 */ move $a0, $s2
|
||||
/* B78950 801017B0 27A5003B */ addiu $a1, $sp, 0x3b
|
||||
/* B78954 801017B4 27A6004C */ addiu $a2, $sp, 0x4c
|
||||
/* B78958 801017B8 0C040530 */ jal func_801014C0
|
||||
/* B7895C 801017BC 27A70048 */ addiu $a3, $sp, 0x48
|
||||
/* B78960 801017C0 10400003 */ beqz $v0, .L801017D0
|
||||
/* B78964 801017C4 00008025 */ move $s0, $zero
|
||||
/* B78968 801017C8 1000004A */ b .L801018F4
|
||||
/* B7896C 801017CC 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L801017D0:
|
||||
/* B78970 801017D0 93B90048 */ lbu $t9, 0x48($sp)
|
||||
/* B78974 801017D4 92480065 */ lbu $t0, 0x65($s2)
|
||||
/* B78978 801017D8 02402025 */ move $a0, $s2
|
||||
/* B7897C 801017DC 53280008 */ beql $t9, $t0, .L80101800
|
||||
/* B78980 801017E0 93A90049 */ lbu $t1, 0x49($sp)
|
||||
/* B78984 801017E4 0C041320 */ jal func_80104C80
|
||||
/* B78988 801017E8 03202825 */ move $a1, $t9
|
||||
/* B7898C 801017EC 50400004 */ beql $v0, $zero, .L80101800
|
||||
/* B78990 801017F0 93A90049 */ lbu $t1, 0x49($sp)
|
||||
/* B78994 801017F4 1000003F */ b .L801018F4
|
||||
/* B78998 801017F8 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B7899C 801017FC 93A90049 */ lbu $t1, 0x49($sp)
|
||||
.L80101800:
|
||||
/* B789A0 80101800 8FAC0034 */ lw $t4, 0x34($sp)
|
||||
/* B789A4 80101804 02203825 */ move $a3, $s1
|
||||
/* B789A8 80101808 000950C0 */ sll $t2, $t1, 3
|
||||
/* B789AC 8010180C 01503021 */ addu $a2, $t2, $s0
|
||||
/* B789B0 80101810 30CBFFFF */ andi $t3, $a2, 0xffff
|
||||
/* B789B4 80101814 15800007 */ bnez $t4, .L80101834
|
||||
/* B789B8 80101818 01603025 */ move $a2, $t3
|
||||
/* B789BC 8010181C 8E440004 */ lw $a0, 4($s2)
|
||||
/* B789C0 80101820 8E450008 */ lw $a1, 8($s2)
|
||||
/* B789C4 80101824 0C0417D0 */ jal func_80105F40
|
||||
/* B789C8 80101828 02203825 */ move $a3, $s1
|
||||
/* B789CC 8010182C 10000006 */ b .L80101848
|
||||
/* B789D0 80101830 00401825 */ move $v1, $v0
|
||||
.L80101834:
|
||||
/* B789D4 80101834 8E440004 */ lw $a0, 4($s2)
|
||||
/* B789D8 80101838 8E450008 */ lw $a1, 8($s2)
|
||||
/* B789DC 8010183C 0C04173C */ jal func_80105CF0
|
||||
/* B789E0 80101840 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* B789E4 80101844 00401825 */ move $v1, $v0
|
||||
.L80101848:
|
||||
/* B789E8 80101848 10400003 */ beqz $v0, .L80101858
|
||||
/* B789EC 8010184C 26310020 */ addiu $s1, $s1, 0x20
|
||||
/* B789F0 80101850 10000027 */ b .L801018F0
|
||||
/* B789F4 80101854 00601025 */ move $v0, $v1
|
||||
.L80101858:
|
||||
/* B789F8 80101858 2673FFFF */ addiu $s3, $s3, -1
|
||||
/* B789FC 8010185C 1660FFD1 */ bnez $s3, .L801017A4
|
||||
/* B78A00 80101860 26100001 */ addiu $s0, $s0, 1
|
||||
.L80101864:
|
||||
/* B78A04 80101864 8FAD0034 */ lw $t5, 0x34($sp)
|
||||
/* B78A08 80101868 93A20154 */ lbu $v0, 0x154($sp)
|
||||
/* B78A0C 8010186C 24010001 */ li $at, 1
|
||||
/* B78A10 80101870 15A1001C */ bne $t5, $at, .L801018E4
|
||||
/* B78A14 80101874 304E0002 */ andi $t6, $v0, 2
|
||||
/* B78A18 80101878 15C0001A */ bnez $t6, .L801018E4
|
||||
/* B78A1C 8010187C 344F0002 */ ori $t7, $v0, 2
|
||||
/* B78A20 80101880 A3AF0154 */ sb $t7, 0x154($sp)
|
||||
/* B78A24 80101884 92580065 */ lbu $t8, 0x65($s2)
|
||||
/* B78A28 80101888 02402025 */ move $a0, $s2
|
||||
/* B78A2C 8010188C 53000008 */ beql $t8, $zero, .L801018B0
|
||||
/* B78A30 80101890 8E48005C */ lw $t0, 0x5c($s2)
|
||||
/* B78A34 80101894 0C041320 */ jal func_80104C80
|
||||
/* B78A38 80101898 00002825 */ move $a1, $zero
|
||||
/* B78A3C 8010189C 50400004 */ beql $v0, $zero, .L801018B0
|
||||
/* B78A40 801018A0 8E48005C */ lw $t0, 0x5c($s2)
|
||||
/* B78A44 801018A4 10000013 */ b .L801018F4
|
||||
/* B78A48 801018A8 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B78A4C 801018AC 8E48005C */ lw $t0, 0x5c($s2)
|
||||
.L801018B0:
|
||||
/* B78A50 801018B0 8FB90174 */ lw $t9, 0x174($sp)
|
||||
/* B78A54 801018B4 8E440004 */ lw $a0, 4($s2)
|
||||
/* B78A58 801018B8 8E450008 */ lw $a1, 8($s2)
|
||||
/* B78A5C 801018BC 01193021 */ addu $a2, $t0, $t9
|
||||
/* B78A60 801018C0 30C9FFFF */ andi $t1, $a2, 0xffff
|
||||
/* B78A64 801018C4 01203025 */ move $a2, $t1
|
||||
/* B78A68 801018C8 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* B78A6C 801018CC 0C04173C */ jal func_80105CF0
|
||||
/* B78A70 801018D0 27A7014C */ addiu $a3, $sp, 0x14c
|
||||
/* B78A74 801018D4 50400004 */ beql $v0, $zero, .L801018E8
|
||||
/* B78A78 801018D8 8E440004 */ lw $a0, 4($s2)
|
||||
/* B78A7C 801018DC 10000005 */ b .L801018F4
|
||||
/* B78A80 801018E0 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L801018E4:
|
||||
/* B78A84 801018E4 8E440004 */ lw $a0, 4($s2)
|
||||
.L801018E8:
|
||||
/* B78A88 801018E8 0C040644 */ jal func_80101910
|
||||
/* B78A8C 801018EC 8E450008 */ lw $a1, 8($s2)
|
||||
.L801018F0:
|
||||
/* B78A90 801018F0 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L801018F4:
|
||||
/* B78A94 801018F4 8FB0001C */ lw $s0, 0x1c($sp)
|
||||
/* B78A98 801018F8 8FB10020 */ lw $s1, 0x20($sp)
|
||||
/* B78A9C 801018FC 8FB20024 */ lw $s2, 0x24($sp)
|
||||
/* B78AA0 80101900 8FB30028 */ lw $s3, 0x28($sp)
|
||||
/* B78AA4 80101904 03E00008 */ jr $ra
|
||||
/* B78AA8 80101908 27BD0170 */ addiu $sp, $sp, 0x170
|
||||
@@ -0,0 +1,166 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80101910
|
||||
/* B78AB0 80101910 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* B78AB4 80101914 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* B78AB8 80101918 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B78ABC 8010191C AFA50034 */ sw $a1, 0x34($sp)
|
||||
/* B78AC0 80101920 240E00FA */ li $t6, 250
|
||||
/* B78AC4 80101924 3C018013 */ lui $at, %hi(D_80134CF4) # $at, 0x8013
|
||||
/* B78AC8 80101928 00A02025 */ move $a0, $a1
|
||||
/* B78ACC 8010192C A02E4CF4 */ sb $t6, %lo(D_80134CF4)($at)
|
||||
/* B78AD0 80101930 0C040678 */ jal func_801019E0
|
||||
/* B78AD4 80101934 00002825 */ move $a1, $zero
|
||||
/* B78AD8 80101938 3C058017 */ lui $a1, %hi(D_80175960) # $a1, 0x8017
|
||||
/* B78ADC 8010193C 24A55960 */ addiu $a1, %lo(D_80175960) # addiu $a1, $a1, 0x5960
|
||||
/* B78AE0 80101940 0C0404FC */ jal __osSiRawStartDma /*(s32 dir, void *addr)*/
|
||||
/* B78AE4 80101944 24040001 */ li $a0, 1
|
||||
/* B78AE8 80101948 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* B78AEC 8010194C 27A50028 */ addiu $a1, $sp, 0x28
|
||||
/* B78AF0 80101950 0C000CA0 */ jal osRecvMesg
|
||||
/* B78AF4 80101954 24060001 */ li $a2, 1
|
||||
/* B78AF8 80101958 3C058017 */ lui $a1, %hi(D_80175960) # $a1, 0x8017
|
||||
/* B78AFC 8010195C 24A55960 */ addiu $a1, %lo(D_80175960) # addiu $a1, $a1, 0x5960
|
||||
/* B78B00 80101960 0C0404FC */ jal __osSiRawStartDma /*(s32 dir, void *addr)*/
|
||||
/* B78B04 80101964 00002025 */ move $a0, $zero
|
||||
/* B78B08 80101968 AFA2002C */ sw $v0, 0x2c($sp)
|
||||
/* B78B0C 8010196C 8FA40030 */ lw $a0, 0x30($sp)
|
||||
/* B78B10 80101970 27A50028 */ addiu $a1, $sp, 0x28
|
||||
/* B78B14 80101974 0C000CA0 */ jal osRecvMesg
|
||||
/* B78B18 80101978 24060001 */ li $a2, 1
|
||||
/* B78B1C 8010197C 8FA40034 */ lw $a0, 0x34($sp)
|
||||
/* B78B20 80101980 0C0406A9 */ jal func_80101AA4
|
||||
/* B78B24 80101984 27A50024 */ addiu $a1, $sp, 0x24
|
||||
/* B78B28 80101988 93A20026 */ lbu $v0, 0x26($sp)
|
||||
/* B78B2C 8010198C 93B80027 */ lbu $t8, 0x27($sp)
|
||||
/* B78B30 80101990 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B78B34 80101994 30430001 */ andi $v1, $v0, 1
|
||||
/* B78B38 80101998 10600005 */ beqz $v1, .L801019B0
|
||||
/* B78B3C 8010199C 304F0002 */ andi $t7, $v0, 2
|
||||
/* B78B40 801019A0 11E00003 */ beqz $t7, .L801019B0
|
||||
/* B78B44 801019A4 00000000 */ nop
|
||||
/* B78B48 801019A8 1000000B */ b .L801019D8
|
||||
/* B78B4C 801019AC 24020002 */ li $v0, 2
|
||||
.L801019B0:
|
||||
/* B78B50 801019B0 17000003 */ bnez $t8, .L801019C0
|
||||
/* B78B54 801019B4 00000000 */ nop
|
||||
/* B78B58 801019B8 14600003 */ bnez $v1, .L801019C8
|
||||
/* B78B5C 801019BC 30590004 */ andi $t9, $v0, 4
|
||||
.L801019C0:
|
||||
/* B78B60 801019C0 10000005 */ b .L801019D8
|
||||
/* B78B64 801019C4 24020001 */ li $v0, 1
|
||||
.L801019C8:
|
||||
/* B78B68 801019C8 13200003 */ beqz $t9, .L801019D8
|
||||
/* B78B6C 801019CC 8FA2002C */ lw $v0, 0x2c($sp)
|
||||
/* B78B70 801019D0 10000001 */ b .L801019D8
|
||||
/* B78B74 801019D4 24020004 */ li $v0, 4
|
||||
.L801019D8:
|
||||
/* B78B78 801019D8 03E00008 */ jr $ra
|
||||
/* B78B7C 801019DC 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
|
||||
glabel func_801019E0
|
||||
/* B78B80 801019E0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B78B84 801019E4 3C068017 */ lui $a2, %hi(D_80175960)
|
||||
/* B78B88 801019E8 240700FE */ li $a3, 254
|
||||
/* B78B8C 801019EC 3C018017 */ lui $at, %hi(_osCont_lastPollType) # $at, 0x8017
|
||||
/* B78B90 801019F0 24C25960 */ addiu $v0, $a2, %lo(D_80175960)
|
||||
/* B78B94 801019F4 AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* B78B98 801019F8 A0275810 */ sb $a3, %lo(_osCont_lastPollType)($at)
|
||||
/* B78B9C 801019FC 240F0001 */ li $t7, 1
|
||||
/* B78BA0 80101A00 AC4F003C */ sw $t7, 0x3c($v0)
|
||||
/* B78BA4 80101A04 24180001 */ li $t8, 1
|
||||
/* B78BA8 80101A08 24190003 */ li $t9, 3
|
||||
/* B78BAC 80101A0C 240800FF */ li $t0, 255
|
||||
/* B78BB0 80101A10 240900FF */ li $t1, 255
|
||||
/* B78BB4 80101A14 240A00FF */ li $t2, 255
|
||||
/* B78BB8 80101A18 A3B8000C */ sb $t8, 0xc($sp)
|
||||
/* B78BBC 80101A1C A3B9000D */ sb $t9, 0xd($sp)
|
||||
/* B78BC0 80101A20 A3A5000E */ sb $a1, 0xe($sp)
|
||||
/* B78BC4 80101A24 A3A8000F */ sb $t0, 0xf($sp)
|
||||
/* B78BC8 80101A28 A3A90010 */ sb $t1, 0x10($sp)
|
||||
/* B78BCC 80101A2C A3AA0011 */ sb $t2, 0x11($sp)
|
||||
/* B78BD0 80101A30 18800010 */ blez $a0, .L80101A74
|
||||
/* B78BD4 80101A34 00001825 */ move $v1, $zero
|
||||
/* B78BD8 80101A38 30860003 */ andi $a2, $a0, 3
|
||||
/* B78BDC 80101A3C 10C00006 */ beqz $a2, .L80101A58
|
||||
/* B78BE0 80101A40 00C02825 */ move $a1, $a2
|
||||
.L80101A44:
|
||||
/* B78BE4 80101A44 24630001 */ addiu $v1, $v1, 1
|
||||
/* B78BE8 80101A48 A0400000 */ sb $zero, ($v0)
|
||||
/* B78BEC 80101A4C 14A3FFFD */ bne $a1, $v1, .L80101A44
|
||||
/* B78BF0 80101A50 24420001 */ addiu $v0, $v0, 1
|
||||
/* B78BF4 80101A54 10640007 */ beq $v1, $a0, .L80101A74
|
||||
.L80101A58:
|
||||
/* B78BF8 80101A58 24630004 */ addiu $v1, $v1, 4
|
||||
/* B78BFC 80101A5C A0400001 */ sb $zero, 1($v0)
|
||||
/* B78C00 80101A60 A0400002 */ sb $zero, 2($v0)
|
||||
/* B78C04 80101A64 A0400003 */ sb $zero, 3($v0)
|
||||
/* B78C08 80101A68 24420004 */ addiu $v0, $v0, 4
|
||||
/* B78C0C 80101A6C 1464FFFA */ bne $v1, $a0, .L80101A58
|
||||
/* B78C10 80101A70 A040FFFC */ sb $zero, -4($v0)
|
||||
.L80101A74:
|
||||
/* B78C14 80101A74 27AB000C */ addiu $t3, $sp, 0xc
|
||||
/* B78C18 80101A78 8D610000 */ lw $at, ($t3)
|
||||
/* B78C1C 80101A7C 24420006 */ addiu $v0, $v0, 6
|
||||
/* B78C20 80101A80 A841FFFA */ swl $at, -6($v0)
|
||||
/* B78C24 80101A84 B841FFFD */ swr $at, -3($v0)
|
||||
/* B78C28 80101A88 91610004 */ lbu $at, 4($t3)
|
||||
/* B78C2C 80101A8C A041FFFE */ sb $at, -2($v0)
|
||||
/* B78C30 80101A90 916D0005 */ lbu $t5, 5($t3)
|
||||
/* B78C34 80101A94 A0470000 */ sb $a3, ($v0)
|
||||
/* B78C38 80101A98 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B78C3C 80101A9C 03E00008 */ jr $ra
|
||||
/* B78C40 80101AA0 A04DFFFF */ sb $t5, -1($v0)
|
||||
|
||||
glabel func_80101AA4
|
||||
/* B78C44 80101AA4 3C028017 */ lui $v0, %hi(D_80175960) # $v0, 0x8017
|
||||
/* B78C48 80101AA8 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B78C4C 80101AAC 24425960 */ addiu $v0, %lo(D_80175960) # addiu $v0, $v0, 0x5960
|
||||
/* B78C50 80101AB0 1880000B */ blez $a0, .L80101AE0
|
||||
/* B78C54 80101AB4 00001825 */ move $v1, $zero
|
||||
/* B78C58 80101AB8 30870003 */ andi $a3, $a0, 3
|
||||
/* B78C5C 80101ABC 10E00005 */ beqz $a3, .L80101AD4
|
||||
/* B78C60 80101AC0 00E03025 */ move $a2, $a3
|
||||
.L80101AC4:
|
||||
/* B78C64 80101AC4 24630001 */ addiu $v1, $v1, 1
|
||||
/* B78C68 80101AC8 14C3FFFE */ bne $a2, $v1, .L80101AC4
|
||||
/* B78C6C 80101ACC 24420001 */ addiu $v0, $v0, 1
|
||||
/* B78C70 80101AD0 10640003 */ beq $v1, $a0, .L80101AE0
|
||||
.L80101AD4:
|
||||
/* B78C74 80101AD4 24630004 */ addiu $v1, $v1, 4
|
||||
/* B78C78 80101AD8 1464FFFE */ bne $v1, $a0, .L80101AD4
|
||||
/* B78C7C 80101ADC 24420004 */ addiu $v0, $v0, 4
|
||||
.L80101AE0:
|
||||
/* B78C80 80101AE0 88410000 */ lwl $at, ($v0)
|
||||
/* B78C84 80101AE4 98410003 */ lwr $at, 3($v0)
|
||||
/* B78C88 80101AE8 27AE000C */ addiu $t6, $sp, 0xc
|
||||
/* B78C8C 80101AEC ADC10000 */ sw $at, ($t6)
|
||||
/* B78C90 80101AF0 90410004 */ lbu $at, 4($v0)
|
||||
/* B78C94 80101AF4 A1C10004 */ sb $at, 4($t6)
|
||||
/* B78C98 80101AF8 90580005 */ lbu $t8, 5($v0)
|
||||
/* B78C9C 80101AFC A1D80005 */ sb $t8, 5($t6)
|
||||
/* B78CA0 80101B00 93B9000D */ lbu $t9, 0xd($sp)
|
||||
/* B78CA4 80101B04 332800C0 */ andi $t0, $t9, 0xc0
|
||||
/* B78CA8 80101B08 00084903 */ sra $t1, $t0, 4
|
||||
/* B78CAC 80101B0C 312A00FF */ andi $t2, $t1, 0xff
|
||||
/* B78CB0 80101B10 15400008 */ bnez $t2, .L80101B34
|
||||
/* B78CB4 80101B14 A0A90003 */ sb $t1, 3($a1)
|
||||
/* B78CB8 80101B18 93AB0010 */ lbu $t3, 0x10($sp)
|
||||
/* B78CBC 80101B1C 93AD000F */ lbu $t5, 0xf($sp)
|
||||
/* B78CC0 80101B20 000B6200 */ sll $t4, $t3, 8
|
||||
/* B78CC4 80101B24 018D7825 */ or $t7, $t4, $t5
|
||||
/* B78CC8 80101B28 A4AF0000 */ sh $t7, ($a1)
|
||||
/* B78CCC 80101B2C 93AE0011 */ lbu $t6, 0x11($sp)
|
||||
/* B78CD0 80101B30 A0AE0002 */ sb $t6, 2($a1)
|
||||
.L80101B34:
|
||||
/* B78CD4 80101B34 03E00008 */ jr $ra
|
||||
/* B78CD8 80101B38 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
@@ -0,0 +1,30 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80101B40
|
||||
/* B78CE0 80101B40 3C083F80 */ lui $t0, 0x3f80
|
||||
/* B78CE4 80101B44 AC880000 */ sw $t0, ($a0)
|
||||
/* B78CE8 80101B48 AC800004 */ sw $zero, 4($a0)
|
||||
/* B78CEC 80101B4C AC800008 */ sw $zero, 8($a0)
|
||||
/* B78CF0 80101B50 AC80000C */ sw $zero, 0xc($a0)
|
||||
/* B78CF4 80101B54 AC800010 */ sw $zero, 0x10($a0)
|
||||
/* B78CF8 80101B58 AC880014 */ sw $t0, 0x14($a0)
|
||||
/* B78CFC 80101B5C AC800018 */ sw $zero, 0x18($a0)
|
||||
/* B78D00 80101B60 AC80001C */ sw $zero, 0x1c($a0)
|
||||
/* B78D04 80101B64 AC800020 */ sw $zero, 0x20($a0)
|
||||
/* B78D08 80101B68 AC800024 */ sw $zero, 0x24($a0)
|
||||
/* B78D0C 80101B6C AC880028 */ sw $t0, 0x28($a0)
|
||||
/* B78D10 80101B70 AC80002C */ sw $zero, 0x2c($a0)
|
||||
/* B78D14 80101B74 AC800030 */ sw $zero, 0x30($a0)
|
||||
/* B78D18 80101B78 AC800034 */ sw $zero, 0x34($a0)
|
||||
/* B78D1C 80101B7C AC800038 */ sw $zero, 0x38($a0)
|
||||
/* B78D20 80101B80 03E00008 */ jr $ra
|
||||
/* B78D24 80101B84 AC88003C */ sw $t0, 0x3c($a0)
|
||||
@@ -0,0 +1,212 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80101B90
|
||||
/* B78D30 80101B90 27BDFF88 */ addiu $sp, $sp, -0x78
|
||||
/* B78D34 80101B94 AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* B78D38 80101B98 F7BE0038 */ sdc1 $f30, 0x38($sp)
|
||||
/* B78D3C 80101B9C F7BC0030 */ sdc1 $f28, 0x30($sp)
|
||||
/* B78D40 80101BA0 F7BA0028 */ sdc1 $f26, 0x28($sp)
|
||||
/* B78D44 80101BA4 F7B80020 */ sdc1 $f24, 0x20($sp)
|
||||
/* B78D48 80101BA8 F7B60018 */ sdc1 $f22, 0x18($sp)
|
||||
/* B78D4C 80101BAC F7B40010 */ sdc1 $f20, 0x10($sp)
|
||||
/* B78D50 80101BB0 AFA5007C */ sw $a1, 0x7c($sp)
|
||||
/* B78D54 80101BB4 AFA60080 */ sw $a2, 0x80($sp)
|
||||
/* B78D58 80101BB8 AFA70084 */ sw $a3, 0x84($sp)
|
||||
/* B78D5C 80101BBC 0C0406D0 */ jal func_80101B40
|
||||
/* B78D60 80101BC0 AFA40078 */ sw $a0, 0x78($sp)
|
||||
/* B78D64 80101BC4 C7A40088 */ lwc1 $f4, 0x88($sp)
|
||||
/* B78D68 80101BC8 C7A6007C */ lwc1 $f6, 0x7c($sp)
|
||||
/* B78D6C 80101BCC C7A8008C */ lwc1 $f8, 0x8c($sp)
|
||||
/* B78D70 80101BD0 C7AA0080 */ lwc1 $f10, 0x80($sp)
|
||||
/* B78D74 80101BD4 46062081 */ sub.s $f2, $f4, $f6
|
||||
/* B78D78 80101BD8 C7A60084 */ lwc1 $f6, 0x84($sp)
|
||||
/* B78D7C 80101BDC C7A40090 */ lwc1 $f4, 0x90($sp)
|
||||
/* B78D80 80101BE0 460A4301 */ sub.s $f12, $f8, $f10
|
||||
/* B78D84 80101BE4 46021202 */ mul.s $f8, $f2, $f2
|
||||
/* B78D88 80101BE8 3C01BFF0 */ li $at, 0xBFF00000 # 0.000000
|
||||
/* B78D8C 80101BEC 46062381 */ sub.s $f14, $f4, $f6
|
||||
/* B78D90 80101BF0 460C6282 */ mul.s $f10, $f12, $f12
|
||||
/* B78D94 80101BF4 44814800 */ mtc1 $at, $f9
|
||||
/* B78D98 80101BF8 3C013FF0 */ li $at, 0x3FF00000 # 0.000000
|
||||
/* B78D9C 80101BFC 460E7182 */ mul.s $f6, $f14, $f14
|
||||
/* B78DA0 80101C00 8FA40078 */ lw $a0, 0x78($sp)
|
||||
/* B78DA4 80101C04 460A4100 */ add.s $f4, $f8, $f10
|
||||
/* B78DA8 80101C08 44804000 */ mtc1 $zero, $f8
|
||||
/* B78DAC 80101C0C 46062000 */ add.s $f0, $f4, $f6
|
||||
/* B78DB0 80101C10 46000004 */ sqrt.s $f0, $f0
|
||||
/* B78DB4 80101C14 460002A1 */ cvt.d.s $f10, $f0
|
||||
/* B78DB8 80101C18 462A4103 */ div.d $f4, $f8, $f10
|
||||
/* B78DBC 80101C1C 46202420 */ cvt.s.d $f16, $f4
|
||||
/* B78DC0 80101C20 46101702 */ mul.s $f28, $f2, $f16
|
||||
/* B78DC4 80101C24 00000000 */ nop
|
||||
/* B78DC8 80101C28 46106182 */ mul.s $f6, $f12, $f16
|
||||
/* B78DCC 80101C2C 00000000 */ nop
|
||||
/* B78DD0 80101C30 46107282 */ mul.s $f10, $f14, $f16
|
||||
/* B78DD4 80101C34 E7A60054 */ swc1 $f6, 0x54($sp)
|
||||
/* B78DD8 80101C38 C7A60098 */ lwc1 $f6, 0x98($sp)
|
||||
/* B78DDC 80101C3C C7BE0054 */ lwc1 $f30, 0x54($sp)
|
||||
/* B78DE0 80101C40 E7AA0050 */ swc1 $f10, 0x50($sp)
|
||||
/* B78DE4 80101C44 C7A40050 */ lwc1 $f4, 0x50($sp)
|
||||
/* B78DE8 80101C48 46043282 */ mul.s $f10, $f6, $f4
|
||||
/* B78DEC 80101C4C C7A6009C */ lwc1 $f6, 0x9c($sp)
|
||||
/* B78DF0 80101C50 E7A40068 */ swc1 $f4, 0x68($sp)
|
||||
/* B78DF4 80101C54 C7B00068 */ lwc1 $f16, 0x68($sp)
|
||||
/* B78DF8 80101C58 461E3182 */ mul.s $f6, $f6, $f30
|
||||
/* B78DFC 80101C5C 46065281 */ sub.s $f10, $f10, $f6
|
||||
/* B78E00 80101C60 C7A60094 */ lwc1 $f6, 0x94($sp)
|
||||
/* B78E04 80101C64 E7AA004C */ swc1 $f10, 0x4c($sp)
|
||||
/* B78E08 80101C68 46043282 */ mul.s $f10, $f6, $f4
|
||||
/* B78E0C 80101C6C C7A6009C */ lwc1 $f6, 0x9c($sp)
|
||||
/* B78E10 80101C70 C7B6004C */ lwc1 $f22, 0x4c($sp)
|
||||
/* B78E14 80101C74 461C3102 */ mul.s $f4, $f6, $f28
|
||||
/* B78E18 80101C78 C7A6004C */ lwc1 $f6, 0x4c($sp)
|
||||
/* B78E1C 80101C7C 460A2601 */ sub.s $f24, $f4, $f10
|
||||
/* B78E20 80101C80 C7A40094 */ lwc1 $f4, 0x94($sp)
|
||||
/* B78E24 80101C84 461E2282 */ mul.s $f10, $f4, $f30
|
||||
/* B78E28 80101C88 C7A40098 */ lwc1 $f4, 0x98($sp)
|
||||
/* B78E2C 80101C8C E7B80050 */ swc1 $f24, 0x50($sp)
|
||||
/* B78E30 80101C90 461C2202 */ mul.s $f8, $f4, $f28
|
||||
/* B78E34 80101C94 46085681 */ sub.s $f26, $f10, $f8
|
||||
/* B78E38 80101C98 4618C282 */ mul.s $f10, $f24, $f24
|
||||
/* B78E3C 80101C9C C7A8004C */ lwc1 $f8, 0x4c($sp)
|
||||
/* B78E40 80101CA0 44815800 */ mtc1 $at, $f11
|
||||
/* B78E44 80101CA4 E7BA0058 */ swc1 $f26, 0x58($sp)
|
||||
/* B78E48 80101CA8 46064202 */ mul.s $f8, $f8, $f6
|
||||
/* B78E4C 80101CAC 460A4180 */ add.s $f6, $f8, $f10
|
||||
/* B78E50 80101CB0 461AD202 */ mul.s $f8, $f26, $f26
|
||||
/* B78E54 80101CB4 44805000 */ mtc1 $zero, $f10
|
||||
/* B78E58 80101CB8 46083000 */ add.s $f0, $f6, $f8
|
||||
/* B78E5C 80101CBC 46000004 */ sqrt.s $f0, $f0
|
||||
/* B78E60 80101CC0 46000121 */ cvt.d.s $f4, $f0
|
||||
/* B78E64 80101CC4 46245183 */ div.d $f6, $f10, $f4
|
||||
/* B78E68 80101CC8 46203520 */ cvt.s.d $f20, $f6
|
||||
/* B78E6C 80101CCC 4614B582 */ mul.s $f22, $f22, $f20
|
||||
/* B78E70 80101CD0 00000000 */ nop
|
||||
/* B78E74 80101CD4 4614C602 */ mul.s $f24, $f24, $f20
|
||||
/* B78E78 80101CD8 00000000 */ nop
|
||||
/* B78E7C 80101CDC 4614D682 */ mul.s $f26, $f26, $f20
|
||||
/* B78E80 80101CE0 00000000 */ nop
|
||||
/* B78E84 80101CE4 461AF202 */ mul.s $f8, $f30, $f26
|
||||
/* B78E88 80101CE8 00000000 */ nop
|
||||
/* B78E8C 80101CEC 46188282 */ mul.s $f10, $f16, $f24
|
||||
/* B78E90 80101CF0 00000000 */ nop
|
||||
/* B78E94 80101CF4 46168102 */ mul.s $f4, $f16, $f22
|
||||
/* B78E98 80101CF8 00000000 */ nop
|
||||
/* B78E9C 80101CFC 461AE182 */ mul.s $f6, $f28, $f26
|
||||
/* B78EA0 80101D00 460A4081 */ sub.s $f2, $f8, $f10
|
||||
/* B78EA4 80101D04 4618E202 */ mul.s $f8, $f28, $f24
|
||||
/* B78EA8 80101D08 00000000 */ nop
|
||||
/* B78EAC 80101D0C 4616F282 */ mul.s $f10, $f30, $f22
|
||||
/* B78EB0 80101D10 46062301 */ sub.s $f12, $f4, $f6
|
||||
/* B78EB4 80101D14 46021102 */ mul.s $f4, $f2, $f2
|
||||
/* B78EB8 80101D18 44812800 */ mtc1 $at, $f5
|
||||
/* B78EBC 80101D1C 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B78EC0 80101D20 460C6182 */ mul.s $f6, $f12, $f12
|
||||
/* B78EC4 80101D24 460A4381 */ sub.s $f14, $f8, $f10
|
||||
/* B78EC8 80101D28 460E7282 */ mul.s $f10, $f14, $f14
|
||||
/* B78ECC 80101D2C 46062200 */ add.s $f8, $f4, $f6
|
||||
/* B78ED0 80101D30 44802000 */ mtc1 $zero, $f4
|
||||
/* B78ED4 80101D34 460A4000 */ add.s $f0, $f8, $f10
|
||||
/* B78ED8 80101D38 46000004 */ sqrt.s $f0, $f0
|
||||
/* B78EDC 80101D3C 460001A1 */ cvt.d.s $f6, $f0
|
||||
/* B78EE0 80101D40 46262203 */ div.d $f8, $f4, $f6
|
||||
/* B78EE4 80101D44 46204520 */ cvt.s.d $f20, $f8
|
||||
/* B78EE8 80101D48 46141282 */ mul.s $f10, $f2, $f20
|
||||
/* B78EEC 80101D4C E7AA0094 */ swc1 $f10, 0x94($sp)
|
||||
/* B78EF0 80101D50 E4960000 */ swc1 $f22, ($a0)
|
||||
/* B78EF4 80101D54 E4980010 */ swc1 $f24, 0x10($a0)
|
||||
/* B78EF8 80101D58 E49A0020 */ swc1 $f26, 0x20($a0)
|
||||
/* B78EFC 80101D5C C7A4007C */ lwc1 $f4, 0x7c($sp)
|
||||
/* B78F00 80101D60 C7A80080 */ lwc1 $f8, 0x80($sp)
|
||||
/* B78F04 80101D64 46162182 */ mul.s $f6, $f4, $f22
|
||||
/* B78F08 80101D68 00000000 */ nop
|
||||
/* B78F0C 80101D6C 46184282 */ mul.s $f10, $f8, $f24
|
||||
/* B78F10 80101D70 C7A80084 */ lwc1 $f8, 0x84($sp)
|
||||
/* B78F14 80101D74 460A3100 */ add.s $f4, $f6, $f10
|
||||
/* B78F18 80101D78 461A4182 */ mul.s $f6, $f8, $f26
|
||||
/* B78F1C 80101D7C 46062280 */ add.s $f10, $f4, $f6
|
||||
/* B78F20 80101D80 46146002 */ mul.s $f0, $f12, $f20
|
||||
/* B78F24 80101D84 46005207 */ neg.s $f8, $f10
|
||||
/* B78F28 80101D88 46147082 */ mul.s $f2, $f14, $f20
|
||||
/* B78F2C 80101D8C E4880030 */ swc1 $f8, 0x30($a0)
|
||||
/* B78F30 80101D90 C7BA007C */ lwc1 $f26, 0x7c($sp)
|
||||
/* B78F34 80101D94 C7B00094 */ lwc1 $f16, 0x94($sp)
|
||||
/* B78F38 80101D98 C7B80080 */ lwc1 $f24, 0x80($sp)
|
||||
/* B78F3C 80101D9C C7B60084 */ lwc1 $f22, 0x84($sp)
|
||||
/* B78F40 80101DA0 4610D102 */ mul.s $f4, $f26, $f16
|
||||
/* B78F44 80101DA4 C7B20068 */ lwc1 $f18, 0x68($sp)
|
||||
/* B78F48 80101DA8 E4800014 */ swc1 $f0, 0x14($a0)
|
||||
/* B78F4C 80101DAC 4600C182 */ mul.s $f6, $f24, $f0
|
||||
/* B78F50 80101DB0 44800000 */ mtc1 $zero, $f0
|
||||
/* B78F54 80101DB4 E4820024 */ swc1 $f2, 0x24($a0)
|
||||
/* B78F58 80101DB8 4602B202 */ mul.s $f8, $f22, $f2
|
||||
/* B78F5C 80101DBC E49C0008 */ swc1 $f28, 8($a0)
|
||||
/* B78F60 80101DC0 E49E0018 */ swc1 $f30, 0x18($a0)
|
||||
/* B78F64 80101DC4 E4900004 */ swc1 $f16, 4($a0)
|
||||
/* B78F68 80101DC8 E4920028 */ swc1 $f18, 0x28($a0)
|
||||
/* B78F6C 80101DCC 46062280 */ add.s $f10, $f4, $f6
|
||||
/* B78F70 80101DD0 E480000C */ swc1 $f0, 0xc($a0)
|
||||
/* B78F74 80101DD4 E480001C */ swc1 $f0, 0x1c($a0)
|
||||
/* B78F78 80101DD8 E480002C */ swc1 $f0, 0x2c($a0)
|
||||
/* B78F7C 80101DDC 46085100 */ add.s $f4, $f10, $f8
|
||||
/* B78F80 80101DE0 461CD282 */ mul.s $f10, $f26, $f28
|
||||
/* B78F84 80101DE4 00000000 */ nop
|
||||
/* B78F88 80101DE8 461EC202 */ mul.s $f8, $f24, $f30
|
||||
/* B78F8C 80101DEC 46002187 */ neg.s $f6, $f4
|
||||
/* B78F90 80101DF0 E4860034 */ swc1 $f6, 0x34($a0)
|
||||
/* B78F94 80101DF4 4612B182 */ mul.s $f6, $f22, $f18
|
||||
/* B78F98 80101DF8 46085100 */ add.s $f4, $f10, $f8
|
||||
/* B78F9C 80101DFC 46062280 */ add.s $f10, $f4, $f6
|
||||
/* B78FA0 80101E00 44812000 */ mtc1 $at, $f4
|
||||
/* B78FA4 80101E04 46005207 */ neg.s $f8, $f10
|
||||
/* B78FA8 80101E08 E484003C */ swc1 $f4, 0x3c($a0)
|
||||
/* B78FAC 80101E0C E4880038 */ swc1 $f8, 0x38($a0)
|
||||
/* B78FB0 80101E10 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* B78FB4 80101E14 D7BE0038 */ ldc1 $f30, 0x38($sp)
|
||||
/* B78FB8 80101E18 D7BC0030 */ ldc1 $f28, 0x30($sp)
|
||||
/* B78FBC 80101E1C D7BA0028 */ ldc1 $f26, 0x28($sp)
|
||||
/* B78FC0 80101E20 D7B80020 */ ldc1 $f24, 0x20($sp)
|
||||
/* B78FC4 80101E24 D7B60018 */ ldc1 $f22, 0x18($sp)
|
||||
/* B78FC8 80101E28 D7B40010 */ ldc1 $f20, 0x10($sp)
|
||||
/* B78FCC 80101E2C 03E00008 */ jr $ra
|
||||
/* B78FD0 80101E30 27BD0078 */ addiu $sp, $sp, 0x78
|
||||
|
||||
glabel func_80101E34
|
||||
/* B78FD4 80101E34 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* B78FD8 80101E38 44856000 */ mtc1 $a1, $f12
|
||||
/* B78FDC 80101E3C 44867000 */ mtc1 $a2, $f14
|
||||
/* B78FE0 80101E40 C7A40080 */ lwc1 $f4, 0x80($sp)
|
||||
/* B78FE4 80101E44 C7A60084 */ lwc1 $f6, 0x84($sp)
|
||||
/* B78FE8 80101E48 C7A80088 */ lwc1 $f8, 0x88($sp)
|
||||
/* B78FEC 80101E4C C7AA008C */ lwc1 $f10, 0x8c($sp)
|
||||
/* B78FF0 80101E50 C7B00090 */ lwc1 $f16, 0x90($sp)
|
||||
/* B78FF4 80101E54 C7B20094 */ lwc1 $f18, 0x94($sp)
|
||||
/* B78FF8 80101E58 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B78FFC 80101E5C AFA40070 */ sw $a0, 0x70($sp)
|
||||
/* B79000 80101E60 44056000 */ mfc1 $a1, $f12
|
||||
/* B79004 80101E64 44067000 */ mfc1 $a2, $f14
|
||||
/* B79008 80101E68 AFA7007C */ sw $a3, 0x7c($sp)
|
||||
/* B7900C 80101E6C 27A40030 */ addiu $a0, $sp, 0x30
|
||||
/* B79010 80101E70 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* B79014 80101E74 E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* B79018 80101E78 E7A80018 */ swc1 $f8, 0x18($sp)
|
||||
/* B7901C 80101E7C E7AA001C */ swc1 $f10, 0x1c($sp)
|
||||
/* B79020 80101E80 E7B00020 */ swc1 $f16, 0x20($sp)
|
||||
/* B79024 80101E84 0C0406E4 */ jal func_80101B90
|
||||
/* B79028 80101E88 E7B20024 */ swc1 $f18, 0x24($sp)
|
||||
/* B7902C 80101E8C 27A40030 */ addiu $a0, $sp, 0x30
|
||||
/* B79030 80101E90 0C041938 */ jal func_801064E0
|
||||
/* B79034 80101E94 8FA50070 */ lw $a1, 0x70($sp)
|
||||
/* B79038 80101E98 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B7903C 80101E9C 27BD0070 */ addiu $sp, $sp, 0x70
|
||||
/* B79040 80101EA0 03E00008 */ jr $ra
|
||||
/* B79044 80101EA4 00000000 */ nop
|
||||
@@ -0,0 +1,337 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80101EB0
|
||||
/* B79050 80101EB0 27BDFD68 */ addiu $sp, $sp, -0x298
|
||||
/* B79054 80101EB4 AFB70040 */ sw $s7, 0x40($sp)
|
||||
/* B79058 80101EB8 AFB6003C */ sw $s6, 0x3c($sp)
|
||||
/* B7905C 80101EBC AFB50038 */ sw $s5, 0x38($sp)
|
||||
/* B79060 80101EC0 AFB30030 */ sw $s3, 0x30($sp)
|
||||
/* B79064 80101EC4 AFA5029C */ sw $a1, 0x29c($sp)
|
||||
/* B79068 80101EC8 30AEFFFF */ andi $t6, $a1, 0xffff
|
||||
/* B7906C 80101ECC 01C02825 */ move $a1, $t6
|
||||
/* B79070 80101ED0 00809825 */ move $s3, $a0
|
||||
/* B79074 80101ED4 AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* B79078 80101ED8 AFB40034 */ sw $s4, 0x34($sp)
|
||||
/* B7907C 80101EDC AFB2002C */ sw $s2, 0x2c($sp)
|
||||
/* B79080 80101EE0 AFB10028 */ sw $s1, 0x28($sp)
|
||||
/* B79084 80101EE4 AFB00024 */ sw $s0, 0x24($sp)
|
||||
/* B79088 80101EE8 AFA702A4 */ sw $a3, 0x2a4($sp)
|
||||
/* B7908C 80101EEC 0000B025 */ move $s6, $zero
|
||||
/* B79090 80101EF0 0000B825 */ move $s7, $zero
|
||||
/* B79094 80101EF4 11C00003 */ beqz $t6, .L80101F04
|
||||
/* B79098 80101EF8 0000A825 */ move $s5, $zero
|
||||
/* B7909C 80101EFC 14C00003 */ bnez $a2, .L80101F0C
|
||||
/* B790A0 80101F00 8FB102AC */ lw $s1, 0x2ac($sp)
|
||||
.L80101F04:
|
||||
/* B790A4 80101F04 100000AC */ b .L801021B8
|
||||
/* B790A8 80101F08 24020005 */ li $v0, 5
|
||||
.L80101F0C:
|
||||
/* B790AC 80101F0C 263000FF */ addiu $s0, $s1, 0xff
|
||||
/* B790B0 80101F10 8FB802A8 */ lw $t8, 0x2a8($sp)
|
||||
/* B790B4 80101F14 8FB902B0 */ lw $t9, 0x2b0($sp)
|
||||
/* B790B8 80101F18 06010003 */ bgez $s0, .L80101F28
|
||||
/* B790BC 80101F1C 00107A03 */ sra $t7, $s0, 8
|
||||
/* B790C0 80101F20 260100FF */ addiu $at, $s0, 0xff
|
||||
/* B790C4 80101F24 00017A03 */ sra $t7, $at, 8
|
||||
.L80101F28:
|
||||
/* B790C8 80101F28 01E08025 */ move $s0, $t7
|
||||
/* B790CC 80101F2C 01E0A025 */ move $s4, $t7
|
||||
/* B790D0 80101F30 02602025 */ move $a0, $s3
|
||||
/* B790D4 80101F34 8FA702A4 */ lw $a3, 0x2a4($sp)
|
||||
/* B790D8 80101F38 A7A5029E */ sh $a1, 0x29e($sp)
|
||||
/* B790DC 80101F3C AFA602A0 */ sw $a2, 0x2a0($sp)
|
||||
/* B790E0 80101F40 AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* B790E4 80101F44 0C040C04 */ jal func_80103010
|
||||
/* B790E8 80101F48 AFB90014 */ sw $t9, 0x14($sp)
|
||||
/* B790EC 80101F4C 10400005 */ beqz $v0, .L80101F64
|
||||
/* B790F0 80101F50 24010005 */ li $at, 5
|
||||
/* B790F4 80101F54 50410004 */ beql $v0, $at, .L80101F68
|
||||
/* B790F8 80101F58 8FA802B0 */ lw $t0, 0x2b0($sp)
|
||||
/* B790FC 80101F5C 10000097 */ b .L801021BC
|
||||
/* B79100 80101F60 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L80101F64:
|
||||
/* B79104 80101F64 8FA802B0 */ lw $t0, 0x2b0($sp)
|
||||
.L80101F68:
|
||||
/* B79108 80101F68 2401FFFF */ li $at, -1
|
||||
/* B7910C 80101F6C 02602025 */ move $a0, $s3
|
||||
/* B79110 80101F70 8D090000 */ lw $t1, ($t0)
|
||||
/* B79114 80101F74 11210003 */ beq $t1, $at, .L80101F84
|
||||
/* B79118 80101F78 00000000 */ nop
|
||||
/* B7911C 80101F7C 1000008E */ b .L801021B8
|
||||
/* B79120 80101F80 24020009 */ li $v0, 9
|
||||
.L80101F84:
|
||||
/* B79124 80101F84 0C040010 */ jal func_80100040
|
||||
/* B79128 80101F88 27A50054 */ addiu $a1, $sp, 0x54
|
||||
/* B7912C 80101F8C 8FAA0054 */ lw $t2, 0x54($sp)
|
||||
/* B79130 80101F90 0151082A */ slt $at, $t2, $s1
|
||||
/* B79134 80101F94 10200003 */ beqz $at, .L80101FA4
|
||||
/* B79138 80101F98 00000000 */ nop
|
||||
/* B7913C 80101F9C 10000086 */ b .L801021B8
|
||||
/* B79140 80101FA0 24020007 */ li $v0, 7
|
||||
.L80101FA4:
|
||||
/* B79144 80101FA4 16000003 */ bnez $s0, .L80101FB4
|
||||
/* B79148 80101FA8 02602025 */ move $a0, $s3
|
||||
/* B7914C 80101FAC 10000082 */ b .L801021B8
|
||||
/* B79150 80101FB0 24020005 */ li $v0, 5
|
||||
.L80101FB4:
|
||||
/* B79154 80101FB4 8FAB02B0 */ lw $t3, 0x2b0($sp)
|
||||
/* B79158 80101FB8 00002825 */ move $a1, $zero
|
||||
/* B7915C 80101FBC 00003025 */ move $a2, $zero
|
||||
/* B79160 80101FC0 00003825 */ move $a3, $zero
|
||||
/* B79164 80101FC4 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* B79168 80101FC8 0C040C04 */ jal func_80103010
|
||||
/* B7916C 80101FCC AFAB0014 */ sw $t3, 0x14($sp)
|
||||
/* B79170 80101FD0 10400005 */ beqz $v0, .L80101FE8
|
||||
/* B79174 80101FD4 24010005 */ li $at, 5
|
||||
/* B79178 80101FD8 50410004 */ beql $v0, $at, .L80101FEC
|
||||
/* B7917C 80101FDC 8FAC02B0 */ lw $t4, 0x2b0($sp)
|
||||
/* B79180 80101FE0 10000076 */ b .L801021BC
|
||||
/* B79184 80101FE4 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L80101FE8:
|
||||
/* B79188 80101FE8 8FAC02B0 */ lw $t4, 0x2b0($sp)
|
||||
.L80101FEC:
|
||||
/* B7918C 80101FEC 2401FFFF */ li $at, -1
|
||||
/* B79190 80101FF0 8D8D0000 */ lw $t5, ($t4)
|
||||
/* B79194 80101FF4 55A10004 */ bnel $t5, $at, .L80102008
|
||||
/* B79198 80101FF8 926E0064 */ lbu $t6, 0x64($s3)
|
||||
/* B7919C 80101FFC 1000006E */ b .L801021B8
|
||||
/* B791A0 80102000 24020008 */ li $v0, 8
|
||||
/* B791A4 80102004 926E0064 */ lbu $t6, 0x64($s3)
|
||||
.L80102008:
|
||||
/* B791A8 80102008 00008025 */ move $s0, $zero
|
||||
/* B791AC 8010200C 27B20180 */ addiu $s2, $sp, 0x180
|
||||
/* B791B0 80102010 19C00049 */ blez $t6, .L80102138
|
||||
/* B791B4 80102014 27B10080 */ addiu $s1, $sp, 0x80
|
||||
.L80102018:
|
||||
/* B791B8 80102018 02602025 */ move $a0, $s3
|
||||
/* B791BC 8010201C 02402825 */ move $a1, $s2
|
||||
/* B791C0 80102020 00003025 */ move $a2, $zero
|
||||
/* B791C4 80102024 0C040B31 */ jal func_80102CC4
|
||||
/* B791C8 80102028 320700FF */ andi $a3, $s0, 0xff
|
||||
/* B791CC 8010202C 10400003 */ beqz $v0, .L8010203C
|
||||
/* B791D0 80102030 02602025 */ move $a0, $s3
|
||||
/* B791D4 80102034 10000061 */ b .L801021BC
|
||||
/* B791D8 80102038 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L8010203C:
|
||||
/* B791DC 8010203C 27AF0290 */ addiu $t7, $sp, 0x290
|
||||
/* B791E0 80102040 27B8028C */ addiu $t8, $sp, 0x28c
|
||||
/* B791E4 80102044 AFB80018 */ sw $t8, 0x18($sp)
|
||||
/* B791E8 80102048 AFAF0014 */ sw $t7, 0x14($sp)
|
||||
/* B791EC 8010204C 02402825 */ move $a1, $s2
|
||||
/* B791F0 80102050 02803025 */ move $a2, $s4
|
||||
/* B791F4 80102054 27A70294 */ addiu $a3, $sp, 0x294
|
||||
/* B791F8 80102058 0C040879 */ jal func_801021E4
|
||||
/* B791FC 8010205C AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* B79200 80102060 10400003 */ beqz $v0, .L80102070
|
||||
/* B79204 80102064 8FA30294 */ lw $v1, 0x294($sp)
|
||||
/* B79208 80102068 10000054 */ b .L801021BC
|
||||
/* B7920C 8010206C 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L80102070:
|
||||
/* B79210 80102070 2401FFFF */ li $at, -1
|
||||
/* B79214 80102074 5061002B */ beql $v1, $at, .L80102124
|
||||
/* B79218 80102078 926B0064 */ lbu $t3, 0x64($s3)
|
||||
/* B7921C 8010207C 16A00004 */ bnez $s5, .L80102090
|
||||
/* B79220 80102080 0016C840 */ sll $t9, $s6, 1
|
||||
/* B79224 80102084 A3A30051 */ sb $v1, 0x51($sp)
|
||||
/* B79228 80102088 1000000D */ b .L801020C0
|
||||
/* B7922C 8010208C A3B00050 */ sb $s0, 0x50($sp)
|
||||
.L80102090:
|
||||
/* B79230 80102090 02391021 */ addu $v0, $s1, $t9
|
||||
/* B79234 80102094 A0500000 */ sb $s0, ($v0)
|
||||
/* B79238 80102098 A0430001 */ sb $v1, 1($v0)
|
||||
/* B7923C 8010209C 02602025 */ move $a0, $s3
|
||||
/* B79240 801020A0 02202825 */ move $a1, $s1
|
||||
/* B79244 801020A4 24060001 */ li $a2, 1
|
||||
/* B79248 801020A8 0C040B31 */ jal func_80102CC4
|
||||
/* B7924C 801020AC 32E700FF */ andi $a3, $s7, 0xff
|
||||
/* B79250 801020B0 50400004 */ beql $v0, $zero, .L801020C4
|
||||
/* B79254 801020B4 8FA80290 */ lw $t0, 0x290($sp)
|
||||
/* B79258 801020B8 10000040 */ b .L801021BC
|
||||
/* B7925C 801020BC 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L801020C0:
|
||||
/* B79260 801020C0 8FA80290 */ lw $t0, 0x290($sp)
|
||||
.L801020C4:
|
||||
/* B79264 801020C4 02402025 */ move $a0, $s2
|
||||
/* B79268 801020C8 02202825 */ move $a1, $s1
|
||||
/* B7926C 801020CC 0114082A */ slt $at, $t0, $s4
|
||||
/* B79270 801020D0 5020000A */ beql $at, $zero, .L801020FC
|
||||
/* B79274 801020D4 0000A025 */ move $s4, $zero
|
||||
/* B79278 801020D8 0C001BC4 */ jal bcopy
|
||||
/* B7927C 801020DC 24060100 */ li $a2, 256
|
||||
/* B79280 801020E0 8FA90290 */ lw $t1, 0x290($sp)
|
||||
/* B79284 801020E4 8FB6028C */ lw $s6, 0x28c($sp)
|
||||
/* B79288 801020E8 321700FF */ andi $s7, $s0, 0xff
|
||||
/* B7928C 801020EC 26B50001 */ addiu $s5, $s5, 1
|
||||
/* B79290 801020F0 1000000B */ b .L80102120
|
||||
/* B79294 801020F4 0289A023 */ subu $s4, $s4, $t1
|
||||
/* B79298 801020F8 0000A025 */ move $s4, $zero
|
||||
.L801020FC:
|
||||
/* B7929C 801020FC 02602025 */ move $a0, $s3
|
||||
/* B792A0 80102100 02402825 */ move $a1, $s2
|
||||
/* B792A4 80102104 24060001 */ li $a2, 1
|
||||
/* B792A8 80102108 0C040B31 */ jal func_80102CC4
|
||||
/* B792AC 8010210C 320700FF */ andi $a3, $s0, 0xff
|
||||
/* B792B0 80102110 10400009 */ beqz $v0, .L80102138
|
||||
/* B792B4 80102114 00000000 */ nop
|
||||
/* B792B8 80102118 10000028 */ b .L801021BC
|
||||
/* B792BC 8010211C 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L80102120:
|
||||
/* B792C0 80102120 926B0064 */ lbu $t3, 0x64($s3)
|
||||
.L80102124:
|
||||
/* B792C4 80102124 26100001 */ addiu $s0, $s0, 1
|
||||
/* B792C8 80102128 320A00FF */ andi $t2, $s0, 0xff
|
||||
/* B792CC 8010212C 014B082A */ slt $at, $t2, $t3
|
||||
/* B792D0 80102130 1420FFB9 */ bnez $at, .L80102018
|
||||
/* B792D4 80102134 01408025 */ move $s0, $t2
|
||||
.L80102138:
|
||||
/* B792D8 80102138 1E800004 */ bgtz $s4, .L8010214C
|
||||
/* B792DC 8010213C 8FA30294 */ lw $v1, 0x294($sp)
|
||||
/* B792E0 80102140 2401FFFF */ li $at, -1
|
||||
/* B792E4 80102144 14610003 */ bne $v1, $at, .L80102154
|
||||
/* B792E8 80102148 97AC0050 */ lhu $t4, 0x50($sp)
|
||||
.L8010214C:
|
||||
/* B792EC 8010214C 1000001A */ b .L801021B8
|
||||
/* B792F0 80102150 24020003 */ li $v0, 3
|
||||
.L80102154:
|
||||
/* B792F4 80102154 97AD029E */ lhu $t5, 0x29e($sp)
|
||||
/* B792F8 80102158 8FAE02A0 */ lw $t6, 0x2a0($sp)
|
||||
/* B792FC 8010215C A7AC0066 */ sh $t4, 0x66($sp)
|
||||
/* B79300 80102160 A7A0006A */ sh $zero, 0x6a($sp)
|
||||
/* B79304 80102164 8FA402A4 */ lw $a0, 0x2a4($sp)
|
||||
/* B79308 80102168 27A50070 */ addiu $a1, $sp, 0x70
|
||||
/* B7930C 8010216C 24060010 */ li $a2, 16
|
||||
/* B79310 80102170 A7AD0064 */ sh $t5, 0x64($sp)
|
||||
/* B79314 80102174 0C001BC4 */ jal bcopy
|
||||
/* B79318 80102178 AFAE0060 */ sw $t6, 0x60($sp)
|
||||
/* B7931C 8010217C 8FA402A8 */ lw $a0, 0x2a8($sp)
|
||||
/* B79320 80102180 27A5006C */ addiu $a1, $sp, 0x6c
|
||||
/* B79324 80102184 0C001BC4 */ jal bcopy
|
||||
/* B79328 80102188 24060004 */ li $a2, 4
|
||||
/* B7932C 8010218C 8FAF02B0 */ lw $t7, 0x2b0($sp)
|
||||
/* B79330 80102190 8E79005C */ lw $t9, 0x5c($s3)
|
||||
/* B79334 80102194 8E640004 */ lw $a0, 4($s3)
|
||||
/* B79338 80102198 8DF80000 */ lw $t8, ($t7)
|
||||
/* B7933C 8010219C 8E650008 */ lw $a1, 8($s3)
|
||||
/* B79340 801021A0 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* B79344 801021A4 03193021 */ addu $a2, $t8, $t9
|
||||
/* B79348 801021A8 30C8FFFF */ andi $t0, $a2, 0xffff
|
||||
/* B7934C 801021AC 01003025 */ move $a2, $t0
|
||||
/* B79350 801021B0 0C04173C */ jal func_80105CF0
|
||||
/* B79354 801021B4 27A70060 */ addiu $a3, $sp, 0x60
|
||||
.L801021B8:
|
||||
/* B79358 801021B8 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L801021BC:
|
||||
/* B7935C 801021BC 8FB00024 */ lw $s0, 0x24($sp)
|
||||
/* B79360 801021C0 8FB10028 */ lw $s1, 0x28($sp)
|
||||
/* B79364 801021C4 8FB2002C */ lw $s2, 0x2c($sp)
|
||||
/* B79368 801021C8 8FB30030 */ lw $s3, 0x30($sp)
|
||||
/* B7936C 801021CC 8FB40034 */ lw $s4, 0x34($sp)
|
||||
/* B79370 801021D0 8FB50038 */ lw $s5, 0x38($sp)
|
||||
/* B79374 801021D4 8FB6003C */ lw $s6, 0x3c($sp)
|
||||
/* B79378 801021D8 8FB70040 */ lw $s7, 0x40($sp)
|
||||
/* B7937C 801021DC 03E00008 */ jr $ra
|
||||
/* B79380 801021E0 27BD0298 */ addiu $sp, $sp, 0x298
|
||||
|
||||
glabel func_801021E4
|
||||
/* B79384 801021E4 27BDFFF0 */ addiu $sp, $sp, -0x10
|
||||
/* B79388 801021E8 AFB00008 */ sw $s0, 8($sp)
|
||||
/* B7938C 801021EC 93B00023 */ lbu $s0, 0x23($sp)
|
||||
/* B79390 801021F0 AFB1000C */ sw $s1, 0xc($sp)
|
||||
/* B79394 801021F4 00C08825 */ move $s1, $a2
|
||||
/* B79398 801021F8 1A000003 */ blez $s0, .L80102208
|
||||
/* B7939C 801021FC 240B0080 */ li $t3, 128
|
||||
/* B793A0 80102200 10000002 */ b .L8010220C
|
||||
/* B793A4 80102204 24020001 */ li $v0, 1
|
||||
.L80102208:
|
||||
/* B793A8 80102208 8C820060 */ lw $v0, 0x60($a0)
|
||||
.L8010220C:
|
||||
/* B793AC 8010220C 28410080 */ slti $at, $v0, 0x80
|
||||
/* B793B0 80102210 1020000A */ beqz $at, .L8010223C
|
||||
/* B793B4 80102214 00401825 */ move $v1, $v0
|
||||
/* B793B8 80102218 00027040 */ sll $t6, $v0, 1
|
||||
/* B793BC 8010221C 00AE1021 */ addu $v0, $a1, $t6
|
||||
/* B793C0 80102220 240A0003 */ li $t2, 3
|
||||
.L80102224:
|
||||
/* B793C4 80102224 944F0000 */ lhu $t7, ($v0)
|
||||
/* B793C8 80102228 514F0005 */ beql $t2, $t7, .L80102240
|
||||
/* B793CC 8010222C 240B0080 */ li $t3, 128
|
||||
/* B793D0 80102230 24630001 */ addiu $v1, $v1, 1
|
||||
/* B793D4 80102234 146BFFFB */ bne $v1, $t3, .L80102224
|
||||
/* B793D8 80102238 24420002 */ addiu $v0, $v0, 2
|
||||
.L8010223C:
|
||||
/* B793DC 8010223C 240B0080 */ li $t3, 128
|
||||
.L80102240:
|
||||
/* B793E0 80102240 146B0005 */ bne $v1, $t3, .L80102258
|
||||
/* B793E4 80102244 240A0003 */ li $t2, 3
|
||||
/* B793E8 80102248 2418FFFF */ li $t8, -1
|
||||
/* B793EC 8010224C ACF80000 */ sw $t8, ($a3)
|
||||
/* B793F0 80102250 10000030 */ b .L80102314
|
||||
/* B793F4 80102254 00001025 */ move $v0, $zero
|
||||
.L80102258:
|
||||
/* B793F8 80102258 8FA60024 */ lw $a2, 0x24($sp)
|
||||
/* B793FC 8010225C 00602025 */ move $a0, $v1
|
||||
/* B79400 80102260 24190001 */ li $t9, 1
|
||||
/* B79404 80102264 00604025 */ move $t0, $v1
|
||||
/* B79408 80102268 2A210002 */ slti $at, $s1, 2
|
||||
/* B7940C 8010226C 24630001 */ addiu $v1, $v1, 1
|
||||
/* B79410 80102270 14200018 */ bnez $at, .L801022D4
|
||||
/* B79414 80102274 ACD90000 */ sw $t9, ($a2)
|
||||
/* B79418 80102278 28610080 */ slti $at, $v1, 0x80
|
||||
/* B7941C 8010227C 10200015 */ beqz $at, .L801022D4
|
||||
/* B79420 80102280 00036040 */ sll $t4, $v1, 1
|
||||
/* B79424 80102284 00AC1021 */ addu $v0, $a1, $t4
|
||||
/* B79428 80102288 944D0000 */ lhu $t5, ($v0)
|
||||
.L8010228C:
|
||||
/* B7942C 8010228C 00087040 */ sll $t6, $t0, 1
|
||||
/* B79430 80102290 00AE4821 */ addu $t1, $a1, $t6
|
||||
/* B79434 80102294 554D0008 */ bnel $t2, $t5, .L801022B8
|
||||
/* B79438 80102298 8CD90000 */ lw $t9, ($a2)
|
||||
/* B7943C 8010229C A1300000 */ sb $s0, ($t1)
|
||||
/* B79440 801022A0 A1230001 */ sb $v1, 1($t1)
|
||||
/* B79444 801022A4 8CCF0000 */ lw $t7, ($a2)
|
||||
/* B79448 801022A8 00604025 */ move $t0, $v1
|
||||
/* B7944C 801022AC 25F80001 */ addiu $t8, $t7, 1
|
||||
/* B79450 801022B0 ACD80000 */ sw $t8, ($a2)
|
||||
/* B79454 801022B4 8CD90000 */ lw $t9, ($a2)
|
||||
.L801022B8:
|
||||
/* B79458 801022B8 24630001 */ addiu $v1, $v1, 1
|
||||
/* B7945C 801022BC 24420002 */ addiu $v0, $v0, 2
|
||||
/* B79460 801022C0 0331082A */ slt $at, $t9, $s1
|
||||
/* B79464 801022C4 10200003 */ beqz $at, .L801022D4
|
||||
/* B79468 801022C8 28610080 */ slti $at, $v1, 0x80
|
||||
/* B7946C 801022CC 5420FFEF */ bnezl $at, .L8010228C
|
||||
/* B79470 801022D0 944D0000 */ lhu $t5, ($v0)
|
||||
.L801022D4:
|
||||
/* B79474 801022D4 146B0008 */ bne $v1, $t3, .L801022F8
|
||||
/* B79478 801022D8 ACE40000 */ sw $a0, ($a3)
|
||||
/* B7947C 801022DC 8CCC0000 */ lw $t4, ($a2)
|
||||
/* B79480 801022E0 8FAD0028 */ lw $t5, 0x28($sp)
|
||||
/* B79484 801022E4 0191082A */ slt $at, $t4, $s1
|
||||
/* B79488 801022E8 50200004 */ beql $at, $zero, .L801022FC
|
||||
/* B7948C 801022EC 00087840 */ sll $t7, $t0, 1
|
||||
/* B79490 801022F0 10000007 */ b .L80102310
|
||||
/* B79494 801022F4 ADA80000 */ sw $t0, ($t5)
|
||||
.L801022F8:
|
||||
/* B79498 801022F8 00087840 */ sll $t7, $t0, 1
|
||||
.L801022FC:
|
||||
/* B7949C 801022FC 00AFC021 */ addu $t8, $a1, $t7
|
||||
/* B794A0 80102300 240E0001 */ li $t6, 1
|
||||
/* B794A4 80102304 A70E0000 */ sh $t6, ($t8)
|
||||
/* B794A8 80102308 8FB90028 */ lw $t9, 0x28($sp)
|
||||
/* B794AC 8010230C AF200000 */ sw $zero, ($t9)
|
||||
.L80102310:
|
||||
/* B794B0 80102310 00001025 */ move $v0, $zero
|
||||
.L80102314:
|
||||
/* B794B4 80102314 8FB00008 */ lw $s0, 8($sp)
|
||||
/* B794B8 80102318 8FB1000C */ lw $s1, 0xc($sp)
|
||||
/* B794BC 8010231C 03E00008 */ jr $ra
|
||||
/* B794C0 80102320 27BD0010 */ addiu $sp, $sp, 0x10
|
||||
@@ -0,0 +1,74 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel osStopTimer
|
||||
/* B794D0 80102330 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* B794D4 80102334 AFA40030 */ sw $a0, 0x30($sp)
|
||||
/* B794D8 80102338 8FAE0030 */ lw $t6, 0x30($sp)
|
||||
/* B794DC 8010233C AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B794E0 80102340 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B794E4 80102344 8DCF0000 */ lw $t7, ($t6)
|
||||
/* B794E8 80102348 15E00003 */ bnez $t7, .L80102358
|
||||
/* B794EC 8010234C 00000000 */ nop
|
||||
/* B794F0 80102350 1000002C */ b .L80102404
|
||||
/* B794F4 80102354 2402FFFF */ li $v0, -1
|
||||
.L80102358:
|
||||
/* B794F8 80102358 0C001CA0 */ jal __osDisableInt
|
||||
/* B794FC 8010235C 00000000 */ nop
|
||||
/* B79500 80102360 8FB80030 */ lw $t8, 0x30($sp)
|
||||
/* B79504 80102364 3C088001 */ lui $t0, %hi(__osTimerList) # $t0, 0x8001
|
||||
/* B79508 80102368 8D08ADF0 */ lw $t0, %lo(__osTimerList)($t0)
|
||||
/* B7950C 8010236C 8F190000 */ lw $t9, ($t8)
|
||||
/* B79510 80102370 00408025 */ move $s0, $v0
|
||||
/* B79514 80102374 1328000D */ beq $t9, $t0, .L801023AC
|
||||
/* B79518 80102378 AFB90028 */ sw $t9, 0x28($sp)
|
||||
/* B7951C 8010237C 27290010 */ addiu $t1, $t9, 0x10
|
||||
/* B79520 80102380 AFA90024 */ sw $t1, 0x24($sp)
|
||||
/* B79524 80102384 8D2B0004 */ lw $t3, 4($t1)
|
||||
/* B79528 80102388 8F0D0014 */ lw $t5, 0x14($t8)
|
||||
/* B7952C 8010238C 8D2A0000 */ lw $t2, ($t1)
|
||||
/* B79530 80102390 8F0C0010 */ lw $t4, 0x10($t8)
|
||||
/* B79534 80102394 016D7821 */ addu $t7, $t3, $t5
|
||||
/* B79538 80102398 01ED082B */ sltu $at, $t7, $t5
|
||||
/* B7953C 8010239C 002A7021 */ addu $t6, $at, $t2
|
||||
/* B79540 801023A0 01CC7021 */ addu $t6, $t6, $t4
|
||||
/* B79544 801023A4 AD2E0000 */ sw $t6, ($t1)
|
||||
/* B79548 801023A8 AD2F0004 */ sw $t7, 4($t1)
|
||||
.L801023AC:
|
||||
/* B7954C 801023AC 8FA80030 */ lw $t0, 0x30($sp)
|
||||
/* B79550 801023B0 3C0F8001 */ lui $t7, %hi(__osTimerList) # $t7, 0x8001
|
||||
/* B79554 801023B4 8D190000 */ lw $t9, ($t0)
|
||||
/* B79558 801023B8 8D180004 */ lw $t8, 4($t0)
|
||||
/* B7955C 801023BC AF190000 */ sw $t9, ($t8)
|
||||
/* B79560 801023C0 8FAA0030 */ lw $t2, 0x30($sp)
|
||||
/* B79564 801023C4 8D4B0004 */ lw $t3, 4($t2)
|
||||
/* B79568 801023C8 8D4C0000 */ lw $t4, ($t2)
|
||||
/* B7956C 801023CC AD8B0004 */ sw $t3, 4($t4)
|
||||
/* B79570 801023D0 8FAD0030 */ lw $t5, 0x30($sp)
|
||||
/* B79574 801023D4 ADA00000 */ sw $zero, ($t5)
|
||||
/* B79578 801023D8 8FAE0030 */ lw $t6, 0x30($sp)
|
||||
/* B7957C 801023DC ADC00004 */ sw $zero, 4($t6)
|
||||
/* B79580 801023E0 8DEFADF0 */ lw $t7, %lo(__osTimerList)($t7)
|
||||
/* B79584 801023E4 8DE90000 */ lw $t1, ($t7)
|
||||
/* B79588 801023E8 152F0003 */ bne $t1, $t7, .L801023F8
|
||||
/* B7958C 801023EC 00000000 */ nop
|
||||
/* B79590 801023F0 0C001BC0 */ jal __osSetCompare
|
||||
/* B79594 801023F4 00002025 */ move $a0, $zero
|
||||
.L801023F8:
|
||||
/* B79598 801023F8 0C001CBC */ jal __osRestoreInt
|
||||
/* B7959C 801023FC 02002025 */ move $a0, $s0
|
||||
/* B795A0 80102400 00001025 */ move $v0, $zero
|
||||
.L80102404:
|
||||
/* B795A4 80102404 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* B795A8 80102408 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B795AC 8010240C 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
/* B795B0 80102410 03E00008 */ jr $ra
|
||||
/* B795B4 80102414 00000000 */ nop
|
||||
@@ -0,0 +1,836 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80102420
|
||||
/* B795C0 80102420 00001825 */ move $v1, $zero
|
||||
/* B795C4 80102424 00801025 */ move $v0, $a0
|
||||
/* B795C8 80102428 18A00016 */ blez $a1, .L80102484
|
||||
/* B795CC 8010242C 00003025 */ move $a2, $zero
|
||||
/* B795D0 80102430 30A70003 */ andi $a3, $a1, 3
|
||||
/* B795D4 80102434 10E00008 */ beqz $a3, .L80102458
|
||||
/* B795D8 80102438 00E02025 */ move $a0, $a3
|
||||
.L8010243C:
|
||||
/* B795DC 8010243C 904E0000 */ lbu $t6, ($v0)
|
||||
/* B795E0 80102440 24C60001 */ addiu $a2, $a2, 1
|
||||
/* B795E4 80102444 24420001 */ addiu $v0, $v0, 1
|
||||
/* B795E8 80102448 1486FFFC */ bne $a0, $a2, .L8010243C
|
||||
/* B795EC 8010244C 006E1821 */ addu $v1, $v1, $t6
|
||||
/* B795F0 80102450 50C5000D */ beql $a2, $a1, .L80102488
|
||||
/* B795F4 80102454 00601025 */ move $v0, $v1
|
||||
.L80102458:
|
||||
/* B795F8 80102458 904F0000 */ lbu $t7, ($v0)
|
||||
/* B795FC 8010245C 90580001 */ lbu $t8, 1($v0)
|
||||
/* B79600 80102460 90590002 */ lbu $t9, 2($v0)
|
||||
/* B79604 80102464 006F1821 */ addu $v1, $v1, $t7
|
||||
/* B79608 80102468 90480003 */ lbu $t0, 3($v0)
|
||||
/* B7960C 8010246C 00781821 */ addu $v1, $v1, $t8
|
||||
/* B79610 80102470 24C60004 */ addiu $a2, $a2, 4
|
||||
/* B79614 80102474 00791821 */ addu $v1, $v1, $t9
|
||||
/* B79618 80102478 24420004 */ addiu $v0, $v0, 4
|
||||
/* B7961C 8010247C 14C5FFF6 */ bne $a2, $a1, .L80102458
|
||||
/* B79620 80102480 00681821 */ addu $v1, $v1, $t0
|
||||
.L80102484:
|
||||
/* B79624 80102484 00601025 */ move $v0, $v1
|
||||
.L80102488:
|
||||
/* B79628 80102488 3049FFFF */ andi $t1, $v0, 0xffff
|
||||
/* B7962C 8010248C 03E00008 */ jr $ra
|
||||
/* B79630 80102490 01201025 */ move $v0, $t1
|
||||
|
||||
glabel func_80102494
|
||||
/* B79634 80102494 A4C00000 */ sh $zero, ($a2)
|
||||
/* B79638 80102498 A4A00000 */ sh $zero, ($a1)
|
||||
/* B7963C 8010249C 94820000 */ lhu $v0, ($a0)
|
||||
/* B79640 801024A0 24870004 */ addiu $a3, $a0, 4
|
||||
/* B79644 801024A4 24E90002 */ addiu $t1, $a3, 2
|
||||
/* B79648 801024A8 0002C021 */ addu $t8, $zero, $v0
|
||||
/* B7964C 801024AC A4B80000 */ sh $t8, ($a1)
|
||||
/* B79650 801024B0 94D90000 */ lhu $t9, ($a2)
|
||||
/* B79654 801024B4 00406827 */ not $t5, $v0
|
||||
/* B79658 801024B8 24EA0004 */ addiu $t2, $a3, 4
|
||||
/* B7965C 801024BC 032D7021 */ addu $t6, $t9, $t5
|
||||
/* B79660 801024C0 A4CE0000 */ sh $t6, ($a2)
|
||||
/* B79664 801024C4 94AF0000 */ lhu $t7, ($a1)
|
||||
/* B79668 801024C8 94820002 */ lhu $v0, 2($a0)
|
||||
/* B7966C 801024CC 2404001C */ li $a0, 28
|
||||
/* B79670 801024D0 24EB0006 */ addiu $t3, $a3, 6
|
||||
/* B79674 801024D4 01E2C021 */ addu $t8, $t7, $v0
|
||||
/* B79678 801024D8 A4B80000 */ sh $t8, ($a1)
|
||||
/* B7967C 801024DC 94D90000 */ lhu $t9, ($a2)
|
||||
/* B79680 801024E0 00406827 */ not $t5, $v0
|
||||
/* B79684 801024E4 24030004 */ li $v1, 4
|
||||
/* B79688 801024E8 032D7021 */ addu $t6, $t9, $t5
|
||||
/* B7968C 801024EC A4CE0000 */ sh $t6, ($a2)
|
||||
.L801024F0:
|
||||
/* B79690 801024F0 94E20000 */ lhu $v0, ($a3)
|
||||
/* B79694 801024F4 94AF0000 */ lhu $t7, ($a1)
|
||||
/* B79698 801024F8 24630008 */ addiu $v1, $v1, 8
|
||||
/* B7969C 801024FC 00406827 */ not $t5, $v0
|
||||
/* B796A0 80102500 01E2C021 */ addu $t8, $t7, $v0
|
||||
/* B796A4 80102504 A4B80000 */ sh $t8, ($a1)
|
||||
/* B796A8 80102508 94D90000 */ lhu $t9, ($a2)
|
||||
/* B796AC 8010250C 24E70008 */ addiu $a3, $a3, 8
|
||||
/* B796B0 80102510 25290008 */ addiu $t1, $t1, 8
|
||||
/* B796B4 80102514 032D7021 */ addu $t6, $t9, $t5
|
||||
/* B796B8 80102518 A4CE0000 */ sh $t6, ($a2)
|
||||
/* B796BC 8010251C 94AF0000 */ lhu $t7, ($a1)
|
||||
/* B796C0 80102520 9522FFF8 */ lhu $v0, -8($t1)
|
||||
/* B796C4 80102524 254A0008 */ addiu $t2, $t2, 8
|
||||
/* B796C8 80102528 256B0008 */ addiu $t3, $t3, 8
|
||||
/* B796CC 8010252C 01E2C021 */ addu $t8, $t7, $v0
|
||||
/* B796D0 80102530 A4B80000 */ sh $t8, ($a1)
|
||||
/* B796D4 80102534 94D90000 */ lhu $t9, ($a2)
|
||||
/* B796D8 80102538 00406827 */ not $t5, $v0
|
||||
/* B796DC 8010253C 032D7021 */ addu $t6, $t9, $t5
|
||||
/* B796E0 80102540 A4CE0000 */ sh $t6, ($a2)
|
||||
/* B796E4 80102544 94AF0000 */ lhu $t7, ($a1)
|
||||
/* B796E8 80102548 9542FFF8 */ lhu $v0, -8($t2)
|
||||
/* B796EC 8010254C 01E2C021 */ addu $t8, $t7, $v0
|
||||
/* B796F0 80102550 A4B80000 */ sh $t8, ($a1)
|
||||
/* B796F4 80102554 94D90000 */ lhu $t9, ($a2)
|
||||
/* B796F8 80102558 00406827 */ not $t5, $v0
|
||||
/* B796FC 8010255C 032D7021 */ addu $t6, $t9, $t5
|
||||
/* B79700 80102560 A4CE0000 */ sh $t6, ($a2)
|
||||
/* B79704 80102564 94AF0000 */ lhu $t7, ($a1)
|
||||
/* B79708 80102568 9562FFF8 */ lhu $v0, -8($t3)
|
||||
/* B7970C 8010256C 01E2C021 */ addu $t8, $t7, $v0
|
||||
/* B79710 80102570 A4B80000 */ sh $t8, ($a1)
|
||||
/* B79714 80102574 94D90000 */ lhu $t9, ($a2)
|
||||
/* B79718 80102578 00406827 */ not $t5, $v0
|
||||
/* B7971C 8010257C 032D7021 */ addu $t6, $t9, $t5
|
||||
/* B79720 80102580 1464FFDB */ bne $v1, $a0, .L801024F0
|
||||
/* B79724 80102584 A4CE0000 */ sh $t6, ($a2)
|
||||
/* B79728 80102588 03E00008 */ jr $ra
|
||||
/* B7972C 8010258C 00001025 */ move $v0, $zero
|
||||
|
||||
glabel func_80102590
|
||||
/* B79730 80102590 27BDFF60 */ addiu $sp, $sp, -0xa0
|
||||
/* B79734 80102594 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* B79738 80102598 AFB60038 */ sw $s6, 0x38($sp)
|
||||
/* B7973C 8010259C AFB50034 */ sw $s5, 0x34($sp)
|
||||
/* B79740 801025A0 AFB40030 */ sw $s4, 0x30($sp)
|
||||
/* B79744 801025A4 AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* B79748 801025A8 AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* B7974C 801025AC AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* B79750 801025B0 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* B79754 801025B4 240EFFFF */ li $t6, -1
|
||||
/* B79758 801025B8 00809025 */ move $s2, $a0
|
||||
/* B7975C 801025BC 00C0A025 */ move $s4, $a2
|
||||
/* B79760 801025C0 00A0B025 */ move $s6, $a1
|
||||
/* B79764 801025C4 00009825 */ move $s3, $zero
|
||||
/* B79768 801025C8 0C001BA8 */ jal osGetCount
|
||||
/* B7976C 801025CC ACCE0000 */ sw $t6, ($a2)
|
||||
/* B79770 801025D0 AE820004 */ sw $v0, 4($s4)
|
||||
/* B79774 801025D4 8ED9000C */ lw $t9, 0xc($s6)
|
||||
/* B79778 801025D8 8ED80008 */ lw $t8, 8($s6)
|
||||
/* B7977C 801025DC 02402025 */ move $a0, $s2
|
||||
/* B79780 801025E0 AE99000C */ sw $t9, 0xc($s4)
|
||||
/* B79784 801025E4 AE980008 */ sw $t8, 8($s4)
|
||||
/* B79788 801025E8 8EC90014 */ lw $t1, 0x14($s6)
|
||||
/* B7978C 801025EC 8EC80010 */ lw $t0, 0x10($s6)
|
||||
/* B79790 801025F0 AE890014 */ sw $t1, 0x14($s4)
|
||||
/* B79794 801025F4 AE880010 */ sw $t0, 0x10($s4)
|
||||
/* B79798 801025F8 924F0065 */ lbu $t7, 0x65($s2)
|
||||
/* B7979C 801025FC 51E00008 */ beql $t7, $zero, .L80102620
|
||||
/* B797A0 80102600 27B1007C */ addiu $s1, $sp, 0x7c
|
||||
/* B797A4 80102604 0C041320 */ jal func_80104C80
|
||||
/* B797A8 80102608 00002825 */ move $a1, $zero
|
||||
/* B797AC 8010260C 50400004 */ beql $v0, $zero, .L80102620
|
||||
/* B797B0 80102610 27B1007C */ addiu $s1, $sp, 0x7c
|
||||
/* B797B4 80102614 100000A9 */ b .L801028BC
|
||||
/* B797B8 80102618 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* B797BC 8010261C 27B1007C */ addiu $s1, $sp, 0x7c
|
||||
.L80102620:
|
||||
/* B797C0 80102620 0220A825 */ move $s5, $s1
|
||||
/* B797C4 80102624 27B0009C */ addiu $s0, $sp, 0x9c
|
||||
/* B797C8 80102628 02402025 */ move $a0, $s2
|
||||
.L8010262C:
|
||||
/* B797CC 8010262C 0C041320 */ jal func_80104C80
|
||||
/* B797D0 80102630 326500FF */ andi $a1, $s3, 0xff
|
||||
/* B797D4 80102634 10400003 */ beqz $v0, .L80102644
|
||||
/* B797D8 80102638 00003025 */ move $a2, $zero
|
||||
/* B797DC 8010263C 1000009F */ b .L801028BC
|
||||
/* B797E0 80102640 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L80102644:
|
||||
/* B797E4 80102644 8E440004 */ lw $a0, 4($s2)
|
||||
/* B797E8 80102648 8E450008 */ lw $a1, 8($s2)
|
||||
/* B797EC 8010264C 0C0417D0 */ jal func_80105F40
|
||||
/* B797F0 80102650 02A03825 */ move $a3, $s5
|
||||
/* B797F4 80102654 10400003 */ beqz $v0, .L80102664
|
||||
/* B797F8 80102658 366B0080 */ ori $t3, $s3, 0x80
|
||||
/* B797FC 8010265C 10000097 */ b .L801028BC
|
||||
/* B79800 80102660 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L80102664:
|
||||
/* B79804 80102664 A3AB007C */ sb $t3, 0x7c($sp)
|
||||
/* B79808 80102668 27A2007D */ addiu $v0, $sp, 0x7d
|
||||
.L8010266C:
|
||||
/* B7980C 8010266C 904C0000 */ lbu $t4, ($v0)
|
||||
/* B79810 80102670 24420001 */ addiu $v0, $v0, 1
|
||||
/* B79814 80102674 0050082B */ sltu $at, $v0, $s0
|
||||
/* B79818 80102678 01806827 */ not $t5, $t4
|
||||
/* B7981C 8010267C 1420FFFB */ bnez $at, .L8010266C
|
||||
/* B79820 80102680 A04DFFFF */ sb $t5, -1($v0)
|
||||
/* B79824 80102684 8E440004 */ lw $a0, 4($s2)
|
||||
/* B79828 80102688 8E450008 */ lw $a1, 8($s2)
|
||||
/* B7982C 8010268C AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* B79830 80102690 00003025 */ move $a2, $zero
|
||||
/* B79834 80102694 0C04173C */ jal func_80105CF0
|
||||
/* B79838 80102698 02A03825 */ move $a3, $s5
|
||||
/* B7983C 8010269C 10400003 */ beqz $v0, .L801026AC
|
||||
/* B79840 801026A0 00003025 */ move $a2, $zero
|
||||
/* B79844 801026A4 10000085 */ b .L801028BC
|
||||
/* B79848 801026A8 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L801026AC:
|
||||
/* B7984C 801026AC 8E440004 */ lw $a0, 4($s2)
|
||||
/* B79850 801026B0 8E450008 */ lw $a1, 8($s2)
|
||||
/* B79854 801026B4 0C0417D0 */ jal func_80105F40
|
||||
/* B79858 801026B8 27A7005C */ addiu $a3, $sp, 0x5c
|
||||
/* B7985C 801026BC 10400003 */ beqz $v0, .L801026CC
|
||||
/* B79860 801026C0 27A3005C */ addiu $v1, $sp, 0x5c
|
||||
/* B79864 801026C4 1000007D */ b .L801028BC
|
||||
/* B79868 801026C8 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L801026CC:
|
||||
/* B7986C 801026CC 27A2007C */ addiu $v0, $sp, 0x7c
|
||||
.L801026D0:
|
||||
/* B79870 801026D0 906E0000 */ lbu $t6, ($v1)
|
||||
/* B79874 801026D4 90580000 */ lbu $t8, ($v0)
|
||||
/* B79878 801026D8 55D80006 */ bnel $t6, $t8, .L801026F4
|
||||
/* B7987C 801026DC 27B9007C */ addiu $t9, $sp, 0x7c
|
||||
/* B79880 801026E0 24630001 */ addiu $v1, $v1, 1
|
||||
/* B79884 801026E4 0071082B */ sltu $at, $v1, $s1
|
||||
/* B79888 801026E8 1420FFF9 */ bnez $at, .L801026D0
|
||||
/* B7988C 801026EC 24420001 */ addiu $v0, $v0, 1
|
||||
/* B79890 801026F0 27B9007C */ addiu $t9, $sp, 0x7c
|
||||
.L801026F4:
|
||||
/* B79894 801026F4 14790018 */ bne $v1, $t9, .L80102758
|
||||
/* B79898 801026F8 02402025 */ move $a0, $s2
|
||||
/* B7989C 801026FC 5A600013 */ blezl $s3, .L8010274C
|
||||
/* B798A0 80102700 26730001 */ addiu $s3, $s3, 1
|
||||
/* B798A4 80102704 0C041320 */ jal func_80104C80
|
||||
/* B798A8 80102708 00002825 */ move $a1, $zero
|
||||
/* B798AC 8010270C 10400003 */ beqz $v0, .L8010271C
|
||||
/* B798B0 80102710 00003025 */ move $a2, $zero
|
||||
/* B798B4 80102714 10000069 */ b .L801028BC
|
||||
/* B798B8 80102718 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L8010271C:
|
||||
/* B798BC 8010271C 8E440004 */ lw $a0, 4($s2)
|
||||
/* B798C0 80102720 8E450008 */ lw $a1, 8($s2)
|
||||
/* B798C4 80102724 0C0417D0 */ jal func_80105F40
|
||||
/* B798C8 80102728 02A03825 */ move $a3, $s5
|
||||
/* B798CC 8010272C 10400003 */ beqz $v0, .L8010273C
|
||||
/* B798D0 80102730 93A8007C */ lbu $t0, 0x7c($sp)
|
||||
/* B798D4 80102734 10000061 */ b .L801028BC
|
||||
/* B798D8 80102738 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L8010273C:
|
||||
/* B798DC 8010273C 24010080 */ li $at, 128
|
||||
/* B798E0 80102740 55010006 */ bnel $t0, $at, .L8010275C
|
||||
/* B798E4 80102744 92490065 */ lbu $t1, 0x65($s2)
|
||||
/* B798E8 80102748 26730001 */ addiu $s3, $s3, 1
|
||||
.L8010274C:
|
||||
/* B798EC 8010274C 2A61003E */ slti $at, $s3, 0x3e
|
||||
/* B798F0 80102750 5420FFB6 */ bnezl $at, .L8010262C
|
||||
/* B798F4 80102754 02402025 */ move $a0, $s2
|
||||
.L80102758:
|
||||
/* B798F8 80102758 92490065 */ lbu $t1, 0x65($s2)
|
||||
.L8010275C:
|
||||
/* B798FC 8010275C 02402025 */ move $a0, $s2
|
||||
/* B79900 80102760 11200007 */ beqz $t1, .L80102780
|
||||
/* B79904 80102764 00000000 */ nop
|
||||
/* B79908 80102768 0C041320 */ jal func_80104C80
|
||||
/* B7990C 8010276C 00002825 */ move $a1, $zero
|
||||
/* B79910 80102770 10400003 */ beqz $v0, .L80102780
|
||||
/* B79914 80102774 00000000 */ nop
|
||||
/* B79918 80102778 10000050 */ b .L801028BC
|
||||
/* B7991C 8010277C 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L80102780:
|
||||
/* B79920 80102780 1A600003 */ blez $s3, .L80102790
|
||||
/* B79924 80102784 02802025 */ move $a0, $s4
|
||||
/* B79928 80102788 10000002 */ b .L80102794
|
||||
/* B7992C 8010278C 24020001 */ li $v0, 1
|
||||
.L80102790:
|
||||
/* B79930 80102790 00001025 */ move $v0, $zero
|
||||
.L80102794:
|
||||
/* B79934 80102794 96CF0018 */ lhu $t7, 0x18($s6)
|
||||
/* B79938 80102798 A293001A */ sb $s3, 0x1a($s4)
|
||||
/* B7993C 8010279C 2685001C */ addiu $a1, $s4, 0x1c
|
||||
/* B79940 801027A0 31EAFFFE */ andi $t2, $t7, 0xfffe
|
||||
/* B79944 801027A4 01425825 */ or $t3, $t2, $v0
|
||||
/* B79948 801027A8 A68B0018 */ sh $t3, 0x18($s4)
|
||||
/* B7994C 801027AC 92CC001B */ lbu $t4, 0x1b($s6)
|
||||
/* B79950 801027B0 2686001E */ addiu $a2, $s4, 0x1e
|
||||
/* B79954 801027B4 0C040925 */ jal func_80102494
|
||||
/* B79958 801027B8 A28C001B */ sb $t4, 0x1b($s4)
|
||||
/* B7995C 801027BC 240D0001 */ li $t5, 1
|
||||
/* B79960 801027C0 240E0003 */ li $t6, 3
|
||||
/* B79964 801027C4 24180004 */ li $t8, 4
|
||||
/* B79968 801027C8 24190006 */ li $t9, 6
|
||||
/* B7996C 801027CC A7AD0048 */ sh $t5, 0x48($sp)
|
||||
/* B79970 801027D0 A7AE004A */ sh $t6, 0x4a($sp)
|
||||
/* B79974 801027D4 A7B8004C */ sh $t8, 0x4c($sp)
|
||||
/* B79978 801027D8 A7B9004E */ sh $t9, 0x4e($sp)
|
||||
/* B7997C 801027DC 27B00048 */ addiu $s0, $sp, 0x48
|
||||
/* B79980 801027E0 27B10050 */ addiu $s1, $sp, 0x50
|
||||
/* B79984 801027E4 8E440004 */ lw $a0, 4($s2)
|
||||
.L801027E8:
|
||||
/* B79988 801027E8 8E450008 */ lw $a1, 8($s2)
|
||||
/* B7998C 801027EC 96060000 */ lhu $a2, ($s0)
|
||||
/* B79990 801027F0 24080001 */ li $t0, 1
|
||||
/* B79994 801027F4 AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* B79998 801027F8 0C04173C */ jal func_80105CF0
|
||||
/* B7999C 801027FC 02803825 */ move $a3, $s4
|
||||
/* B799A0 80102800 10400003 */ beqz $v0, .L80102810
|
||||
/* B799A4 80102804 26100002 */ addiu $s0, $s0, 2
|
||||
/* B799A8 80102808 1000002C */ b .L801028BC
|
||||
/* B799AC 8010280C 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L80102810:
|
||||
/* B799B0 80102810 0211082B */ sltu $at, $s0, $s1
|
||||
/* B799B4 80102814 5420FFF4 */ bnezl $at, .L801027E8
|
||||
/* B799B8 80102818 8E440004 */ lw $a0, 4($s2)
|
||||
/* B799BC 8010281C 8E440004 */ lw $a0, 4($s2)
|
||||
/* B799C0 80102820 8E450008 */ lw $a1, 8($s2)
|
||||
/* B799C4 80102824 24060001 */ li $a2, 1
|
||||
/* B799C8 80102828 0C0417D0 */ jal func_80105F40
|
||||
/* B799CC 8010282C 02A03825 */ move $a3, $s5
|
||||
/* B799D0 80102830 10400003 */ beqz $v0, .L80102840
|
||||
/* B799D4 80102834 02801825 */ move $v1, $s4
|
||||
/* B799D8 80102838 10000020 */ b .L801028BC
|
||||
/* B799DC 8010283C 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L80102840:
|
||||
/* B799E0 80102840 27A2007C */ addiu $v0, $sp, 0x7c
|
||||
/* B799E4 80102844 27A4009C */ addiu $a0, $sp, 0x9c
|
||||
.L80102848:
|
||||
/* B799E8 80102848 90490000 */ lbu $t1, ($v0)
|
||||
/* B799EC 8010284C 906F0000 */ lbu $t7, ($v1)
|
||||
/* B799F0 80102850 512F0004 */ beql $t1, $t7, .L80102864
|
||||
/* B799F4 80102854 904A0001 */ lbu $t2, 1($v0)
|
||||
/* B799F8 80102858 10000017 */ b .L801028B8
|
||||
/* B799FC 8010285C 2402000B */ li $v0, 11
|
||||
/* B79A00 80102860 904A0001 */ lbu $t2, 1($v0)
|
||||
.L80102864:
|
||||
/* B79A04 80102864 906B0001 */ lbu $t3, 1($v1)
|
||||
/* B79A08 80102868 514B0004 */ beql $t2, $t3, .L8010287C
|
||||
/* B79A0C 8010286C 904C0002 */ lbu $t4, 2($v0)
|
||||
/* B79A10 80102870 10000011 */ b .L801028B8
|
||||
/* B79A14 80102874 2402000B */ li $v0, 11
|
||||
/* B79A18 80102878 904C0002 */ lbu $t4, 2($v0)
|
||||
.L8010287C:
|
||||
/* B79A1C 8010287C 906D0002 */ lbu $t5, 2($v1)
|
||||
/* B79A20 80102880 518D0004 */ beql $t4, $t5, .L80102894
|
||||
/* B79A24 80102884 904E0003 */ lbu $t6, 3($v0)
|
||||
/* B79A28 80102888 1000000B */ b .L801028B8
|
||||
/* B79A2C 8010288C 2402000B */ li $v0, 11
|
||||
/* B79A30 80102890 904E0003 */ lbu $t6, 3($v0)
|
||||
.L80102894:
|
||||
/* B79A34 80102894 90780003 */ lbu $t8, 3($v1)
|
||||
/* B79A38 80102898 24420004 */ addiu $v0, $v0, 4
|
||||
/* B79A3C 8010289C 11D80003 */ beq $t6, $t8, .L801028AC
|
||||
/* B79A40 801028A0 00000000 */ nop
|
||||
/* B79A44 801028A4 10000004 */ b .L801028B8
|
||||
/* B79A48 801028A8 2402000B */ li $v0, 11
|
||||
.L801028AC:
|
||||
/* B79A4C 801028AC 1444FFE6 */ bne $v0, $a0, .L80102848
|
||||
/* B79A50 801028B0 24630004 */ addiu $v1, $v1, 4
|
||||
/* B79A54 801028B4 00001025 */ move $v0, $zero
|
||||
.L801028B8:
|
||||
/* B79A58 801028B8 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L801028BC:
|
||||
/* B79A5C 801028BC 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* B79A60 801028C0 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* B79A64 801028C4 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* B79A68 801028C8 8FB3002C */ lw $s3, 0x2c($sp)
|
||||
/* B79A6C 801028CC 8FB40030 */ lw $s4, 0x30($sp)
|
||||
/* B79A70 801028D0 8FB50034 */ lw $s5, 0x34($sp)
|
||||
/* B79A74 801028D4 8FB60038 */ lw $s6, 0x38($sp)
|
||||
/* B79A78 801028D8 03E00008 */ jr $ra
|
||||
/* B79A7C 801028DC 27BD00A0 */ addiu $sp, $sp, 0xa0
|
||||
|
||||
glabel func_801028E0
|
||||
/* B79A80 801028E0 27BDFFA0 */ addiu $sp, $sp, -0x60
|
||||
/* B79A84 801028E4 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* B79A88 801028E8 AFB60038 */ sw $s6, 0x38($sp)
|
||||
/* B79A8C 801028EC AFB50034 */ sw $s5, 0x34($sp)
|
||||
/* B79A90 801028F0 AFB40030 */ sw $s4, 0x30($sp)
|
||||
/* B79A94 801028F4 AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* B79A98 801028F8 AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* B79A9C 801028FC AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* B79AA0 80102900 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* B79AA4 80102904 908E0065 */ lbu $t6, 0x65($a0)
|
||||
/* B79AA8 80102908 00A09025 */ move $s2, $a1
|
||||
/* B79AAC 8010290C 00809825 */ move $s3, $a0
|
||||
/* B79AB0 80102910 51C00008 */ beql $t6, $zero, .L80102934
|
||||
/* B79AB4 80102914 240F0001 */ li $t7, 1
|
||||
/* B79AB8 80102918 0C041320 */ jal func_80104C80
|
||||
/* B79ABC 8010291C 00002825 */ move $a1, $zero
|
||||
/* B79AC0 80102920 50400004 */ beql $v0, $zero, .L80102934
|
||||
/* B79AC4 80102924 240F0001 */ li $t7, 1
|
||||
/* B79AC8 80102928 1000003D */ b .L80102A20
|
||||
/* B79ACC 8010292C 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* B79AD0 80102930 240F0001 */ li $t7, 1
|
||||
.L80102934:
|
||||
/* B79AD4 80102934 24180003 */ li $t8, 3
|
||||
/* B79AD8 80102938 24190004 */ li $t9, 4
|
||||
/* B79ADC 8010293C 24080006 */ li $t0, 6
|
||||
/* B79AE0 80102940 A7AF0058 */ sh $t7, 0x58($sp)
|
||||
/* B79AE4 80102944 A7B8005A */ sh $t8, 0x5a($sp)
|
||||
/* B79AE8 80102948 A7B9005C */ sh $t9, 0x5c($sp)
|
||||
/* B79AEC 8010294C A7A8005E */ sh $t0, 0x5e($sp)
|
||||
/* B79AF0 80102950 24110001 */ li $s1, 1
|
||||
/* B79AF4 80102954 27B0005A */ addiu $s0, $sp, 0x5a
|
||||
/* B79AF8 80102958 27B60050 */ addiu $s6, $sp, 0x50
|
||||
/* B79AFC 8010295C 24150004 */ li $s5, 4
|
||||
/* B79B00 80102960 27B40052 */ addiu $s4, $sp, 0x52
|
||||
.L80102964:
|
||||
/* B79B04 80102964 8E640004 */ lw $a0, 4($s3)
|
||||
/* B79B08 80102968 8E650008 */ lw $a1, 8($s3)
|
||||
/* B79B0C 8010296C 96060000 */ lhu $a2, ($s0)
|
||||
/* B79B10 80102970 0C0417D0 */ jal func_80105F40
|
||||
/* B79B14 80102974 02403825 */ move $a3, $s2
|
||||
/* B79B18 80102978 10400003 */ beqz $v0, .L80102988
|
||||
/* B79B1C 8010297C 02402025 */ move $a0, $s2
|
||||
/* B79B20 80102980 10000027 */ b .L80102A20
|
||||
/* B79B24 80102984 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L80102988:
|
||||
/* B79B28 80102988 02802825 */ move $a1, $s4
|
||||
/* B79B2C 8010298C 0C040925 */ jal func_80102494
|
||||
/* B79B30 80102990 02C03025 */ move $a2, $s6
|
||||
/* B79B34 80102994 97A90052 */ lhu $t1, 0x52($sp)
|
||||
/* B79B38 80102998 964A001C */ lhu $t2, 0x1c($s2)
|
||||
/* B79B3C 8010299C 97AB0050 */ lhu $t3, 0x50($sp)
|
||||
/* B79B40 801029A0 552A0005 */ bnel $t1, $t2, .L801029B8
|
||||
/* B79B44 801029A4 26310001 */ addiu $s1, $s1, 1
|
||||
/* B79B48 801029A8 964C001E */ lhu $t4, 0x1e($s2)
|
||||
/* B79B4C 801029AC 116C0004 */ beq $t3, $t4, .L801029C0
|
||||
/* B79B50 801029B0 00000000 */ nop
|
||||
/* B79B54 801029B4 26310001 */ addiu $s1, $s1, 1
|
||||
.L801029B8:
|
||||
/* B79B58 801029B8 1635FFEA */ bne $s1, $s5, .L80102964
|
||||
/* B79B5C 801029BC 26100002 */ addiu $s0, $s0, 2
|
||||
.L801029C0:
|
||||
/* B79B60 801029C0 16350003 */ bne $s1, $s5, .L801029D0
|
||||
/* B79B64 801029C4 00008025 */ move $s0, $zero
|
||||
/* B79B68 801029C8 10000014 */ b .L80102A1C
|
||||
/* B79B6C 801029CC 2402000A */ li $v0, 10
|
||||
.L801029D0:
|
||||
/* B79B70 801029D0 27B40058 */ addiu $s4, $sp, 0x58
|
||||
.L801029D4:
|
||||
/* B79B74 801029D4 1211000D */ beq $s0, $s1, .L80102A0C
|
||||
/* B79B78 801029D8 00106840 */ sll $t5, $s0, 1
|
||||
/* B79B7C 801029DC 028D7021 */ addu $t6, $s4, $t5
|
||||
/* B79B80 801029E0 95C60000 */ lhu $a2, ($t6)
|
||||
/* B79B84 801029E4 8E640004 */ lw $a0, 4($s3)
|
||||
/* B79B88 801029E8 8E650008 */ lw $a1, 8($s3)
|
||||
/* B79B8C 801029EC 240F0001 */ li $t7, 1
|
||||
/* B79B90 801029F0 AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* B79B94 801029F4 0C04173C */ jal func_80105CF0
|
||||
/* B79B98 801029F8 02403825 */ move $a3, $s2
|
||||
/* B79B9C 801029FC 50400004 */ beql $v0, $zero, .L80102A10
|
||||
/* B79BA0 80102A00 26100001 */ addiu $s0, $s0, 1
|
||||
/* B79BA4 80102A04 10000006 */ b .L80102A20
|
||||
/* B79BA8 80102A08 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L80102A0C:
|
||||
/* B79BAC 80102A0C 26100001 */ addiu $s0, $s0, 1
|
||||
.L80102A10:
|
||||
/* B79BB0 80102A10 1615FFF0 */ bne $s0, $s5, .L801029D4
|
||||
/* B79BB4 80102A14 00000000 */ nop
|
||||
/* B79BB8 80102A18 00001025 */ move $v0, $zero
|
||||
.L80102A1C:
|
||||
/* B79BBC 80102A1C 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L80102A20:
|
||||
/* B79BC0 80102A20 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* B79BC4 80102A24 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* B79BC8 80102A28 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* B79BCC 80102A2C 8FB3002C */ lw $s3, 0x2c($sp)
|
||||
/* B79BD0 80102A30 8FB40030 */ lw $s4, 0x30($sp)
|
||||
/* B79BD4 80102A34 8FB50034 */ lw $s5, 0x34($sp)
|
||||
/* B79BD8 80102A38 8FB60038 */ lw $s6, 0x38($sp)
|
||||
/* B79BDC 80102A3C 03E00008 */ jr $ra
|
||||
/* B79BE0 80102A40 27BD0060 */ addiu $sp, $sp, 0x60
|
||||
|
||||
glabel func_80102A44
|
||||
/* B79BE4 80102A44 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* B79BE8 80102A48 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B79BEC 80102A4C AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* B79BF0 80102A50 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* B79BF4 80102A54 908E0065 */ lbu $t6, 0x65($a0)
|
||||
/* B79BF8 80102A58 00808025 */ move $s0, $a0
|
||||
/* B79BFC 80102A5C 51C00008 */ beql $t6, $zero, .L80102A80
|
||||
/* B79C00 80102A60 8E040004 */ lw $a0, 4($s0)
|
||||
/* B79C04 80102A64 0C041320 */ jal func_80104C80
|
||||
/* B79C08 80102A68 00002825 */ move $a1, $zero
|
||||
/* B79C0C 80102A6C 50400004 */ beql $v0, $zero, .L80102A80
|
||||
/* B79C10 80102A70 8E040004 */ lw $a0, 4($s0)
|
||||
/* B79C14 80102A74 1000005A */ b .L80102BE0
|
||||
/* B79C18 80102A78 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* B79C1C 80102A7C 8E040004 */ lw $a0, 4($s0)
|
||||
.L80102A80:
|
||||
/* B79C20 80102A80 8E050008 */ lw $a1, 8($s0)
|
||||
/* B79C24 80102A84 24060001 */ li $a2, 1
|
||||
/* B79C28 80102A88 0C0417D0 */ jal func_80105F40
|
||||
/* B79C2C 80102A8C 27A7004C */ addiu $a3, $sp, 0x4c
|
||||
/* B79C30 80102A90 10400003 */ beqz $v0, .L80102AA0
|
||||
/* B79C34 80102A94 27A4004C */ addiu $a0, $sp, 0x4c
|
||||
/* B79C38 80102A98 10000051 */ b .L80102BE0
|
||||
/* B79C3C 80102A9C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80102AA0:
|
||||
/* B79C40 80102AA0 27A5006E */ addiu $a1, $sp, 0x6e
|
||||
/* B79C44 80102AA4 0C040925 */ jal func_80102494
|
||||
/* B79C48 80102AA8 27A6006C */ addiu $a2, $sp, 0x6c
|
||||
/* B79C4C 80102AAC 97AF006E */ lhu $t7, 0x6e($sp)
|
||||
/* B79C50 80102AB0 97B80068 */ lhu $t8, 0x68($sp)
|
||||
/* B79C54 80102AB4 27A5004C */ addiu $a1, $sp, 0x4c
|
||||
/* B79C58 80102AB8 00A08825 */ move $s1, $a1
|
||||
/* B79C5C 80102ABC 15F80004 */ bne $t7, $t8, .L80102AD0
|
||||
/* B79C60 80102AC0 97B9006C */ lhu $t9, 0x6c($sp)
|
||||
/* B79C64 80102AC4 97A9006A */ lhu $t1, 0x6a($sp)
|
||||
/* B79C68 80102AC8 53290015 */ beql $t9, $t1, .L80102B20
|
||||
/* B79C6C 80102ACC 962A0018 */ lhu $t2, 0x18($s1)
|
||||
.L80102AD0:
|
||||
/* B79C70 80102AD0 0C040A38 */ jal func_801028E0
|
||||
/* B79C74 80102AD4 02002025 */ move $a0, $s0
|
||||
/* B79C78 80102AD8 2401000A */ li $at, 10
|
||||
/* B79C7C 80102ADC 1441000B */ bne $v0, $at, .L80102B0C
|
||||
/* B79C80 80102AE0 00401825 */ move $v1, $v0
|
||||
/* B79C84 80102AE4 02002025 */ move $a0, $s0
|
||||
/* B79C88 80102AE8 27A5004C */ addiu $a1, $sp, 0x4c
|
||||
/* B79C8C 80102AEC 0C040964 */ jal func_80102590
|
||||
/* B79C90 80102AF0 27A60028 */ addiu $a2, $sp, 0x28
|
||||
/* B79C94 80102AF4 10400003 */ beqz $v0, .L80102B04
|
||||
/* B79C98 80102AF8 00000000 */ nop
|
||||
/* B79C9C 80102AFC 10000038 */ b .L80102BE0
|
||||
/* B79CA0 80102B00 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80102B04:
|
||||
/* B79CA4 80102B04 10000005 */ b .L80102B1C
|
||||
/* B79CA8 80102B08 27B10028 */ addiu $s1, $sp, 0x28
|
||||
.L80102B0C:
|
||||
/* B79CAC 80102B0C 50400004 */ beql $v0, $zero, .L80102B20
|
||||
/* B79CB0 80102B10 962A0018 */ lhu $t2, 0x18($s1)
|
||||
/* B79CB4 80102B14 10000031 */ b .L80102BDC
|
||||
/* B79CB8 80102B18 00601025 */ move $v0, $v1
|
||||
.L80102B1C:
|
||||
/* B79CBC 80102B1C 962A0018 */ lhu $t2, 0x18($s1)
|
||||
.L80102B20:
|
||||
/* B79CC0 80102B20 02002025 */ move $a0, $s0
|
||||
/* B79CC4 80102B24 02202825 */ move $a1, $s1
|
||||
/* B79CC8 80102B28 314B0001 */ andi $t3, $t2, 1
|
||||
/* B79CCC 80102B2C 5560000D */ bnezl $t3, .L80102B64
|
||||
/* B79CD0 80102B30 02202025 */ move $a0, $s1
|
||||
/* B79CD4 80102B34 0C040964 */ jal func_80102590
|
||||
/* B79CD8 80102B38 27A60028 */ addiu $a2, $sp, 0x28
|
||||
/* B79CDC 80102B3C 10400003 */ beqz $v0, .L80102B4C
|
||||
/* B79CE0 80102B40 97AC0040 */ lhu $t4, 0x40($sp)
|
||||
/* B79CE4 80102B44 10000026 */ b .L80102BE0
|
||||
/* B79CE8 80102B48 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80102B4C:
|
||||
/* B79CEC 80102B4C 318D0001 */ andi $t5, $t4, 1
|
||||
/* B79CF0 80102B50 15A00003 */ bnez $t5, .L80102B60
|
||||
/* B79CF4 80102B54 27B10028 */ addiu $s1, $sp, 0x28
|
||||
/* B79CF8 80102B58 10000020 */ b .L80102BDC
|
||||
/* B79CFC 80102B5C 2402000B */ li $v0, 11
|
||||
.L80102B60:
|
||||
/* B79D00 80102B60 02202025 */ move $a0, $s1
|
||||
.L80102B64:
|
||||
/* B79D04 80102B64 2605000C */ addiu $a1, $s0, 0xc
|
||||
/* B79D08 80102B68 0C001BC4 */ jal bcopy
|
||||
/* B79D0C 80102B6C 24060020 */ li $a2, 32
|
||||
/* B79D10 80102B70 922E001B */ lbu $t6, 0x1b($s1)
|
||||
/* B79D14 80102B74 24090010 */ li $t1, 16
|
||||
/* B79D18 80102B78 240A0008 */ li $t2, 8
|
||||
/* B79D1C 80102B7C AE0E004C */ sw $t6, 0x4c($s0)
|
||||
/* B79D20 80102B80 922F001A */ lbu $t7, 0x1a($s1)
|
||||
/* B79D24 80102B84 AE090050 */ sw $t1, 0x50($s0)
|
||||
/* B79D28 80102B88 AE0A0054 */ sw $t2, 0x54($s0)
|
||||
/* B79D2C 80102B8C 31E200FF */ andi $v0, $t7, 0xff
|
||||
/* B79D30 80102B90 000218C0 */ sll $v1, $v0, 3
|
||||
/* B79D34 80102B94 0002C040 */ sll $t8, $v0, 1
|
||||
/* B79D38 80102B98 24680008 */ addiu $t0, $v1, 8
|
||||
/* B79D3C 80102B9C 27190003 */ addiu $t9, $t8, 3
|
||||
/* B79D40 80102BA0 01035821 */ addu $t3, $t0, $v1
|
||||
/* B79D44 80102BA4 AE190060 */ sw $t9, 0x60($s0)
|
||||
/* B79D48 80102BA8 AE080058 */ sw $t0, 0x58($s0)
|
||||
/* B79D4C 80102BAC AE0B005C */ sw $t3, 0x5c($s0)
|
||||
/* B79D50 80102BB0 8E040004 */ lw $a0, 4($s0)
|
||||
/* B79D54 80102BB4 8E050008 */ lw $a1, 8($s0)
|
||||
/* B79D58 80102BB8 24060007 */ li $a2, 7
|
||||
/* B79D5C 80102BBC 2607002C */ addiu $a3, $s0, 0x2c
|
||||
/* B79D60 80102BC0 0C0417D0 */ jal func_80105F40
|
||||
/* B79D64 80102BC4 A20F0064 */ sb $t7, 0x64($s0)
|
||||
/* B79D68 80102BC8 50400004 */ beql $v0, $zero, .L80102BDC
|
||||
/* B79D6C 80102BCC 00001025 */ move $v0, $zero
|
||||
/* B79D70 80102BD0 10000003 */ b .L80102BE0
|
||||
/* B79D74 80102BD4 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* B79D78 80102BD8 00001025 */ move $v0, $zero
|
||||
.L80102BDC:
|
||||
/* B79D7C 80102BDC 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80102BE0:
|
||||
/* B79D80 80102BE0 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* B79D84 80102BE4 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* B79D88 80102BE8 03E00008 */ jr $ra
|
||||
/* B79D8C 80102BEC 27BD0070 */ addiu $sp, $sp, 0x70
|
||||
|
||||
glabel func_80102BF0
|
||||
/* B79D90 80102BF0 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* B79D94 80102BF4 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B79D98 80102BF8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B79D9C 80102BFC 908E0065 */ lbu $t6, 0x65($a0)
|
||||
/* B79DA0 80102C00 00808025 */ move $s0, $a0
|
||||
/* B79DA4 80102C04 51C0000F */ beql $t6, $zero, .L80102C44
|
||||
/* B79DA8 80102C08 8E040004 */ lw $a0, 4($s0)
|
||||
/* B79DAC 80102C0C 0C041320 */ jal func_80104C80
|
||||
/* B79DB0 80102C10 00002825 */ move $a1, $zero
|
||||
/* B79DB4 80102C14 24010002 */ li $at, 2
|
||||
/* B79DB8 80102C18 14410005 */ bne $v0, $at, .L80102C30
|
||||
/* B79DBC 80102C1C 00401825 */ move $v1, $v0
|
||||
/* B79DC0 80102C20 02002025 */ move $a0, $s0
|
||||
/* B79DC4 80102C24 0C041320 */ jal func_80104C80
|
||||
/* B79DC8 80102C28 00002825 */ move $a1, $zero
|
||||
/* B79DCC 80102C2C 00401825 */ move $v1, $v0
|
||||
.L80102C30:
|
||||
/* B79DD0 80102C30 50400004 */ beql $v0, $zero, .L80102C44
|
||||
/* B79DD4 80102C34 8E040004 */ lw $a0, 4($s0)
|
||||
/* B79DD8 80102C38 1000001D */ b .L80102CB0
|
||||
/* B79DDC 80102C3C 00601025 */ move $v0, $v1
|
||||
/* B79DE0 80102C40 8E040004 */ lw $a0, 4($s0)
|
||||
.L80102C44:
|
||||
/* B79DE4 80102C44 8E050008 */ lw $a1, 8($s0)
|
||||
/* B79DE8 80102C48 24060001 */ li $a2, 1
|
||||
/* B79DEC 80102C4C 0C0417D0 */ jal func_80105F40
|
||||
/* B79DF0 80102C50 27A70028 */ addiu $a3, $sp, 0x28
|
||||
/* B79DF4 80102C54 1040000D */ beqz $v0, .L80102C8C
|
||||
/* B79DF8 80102C58 24010002 */ li $at, 2
|
||||
/* B79DFC 80102C5C 10410003 */ beq $v0, $at, .L80102C6C
|
||||
/* B79E00 80102C60 24060001 */ li $a2, 1
|
||||
/* B79E04 80102C64 10000013 */ b .L80102CB4
|
||||
/* B79E08 80102C68 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80102C6C:
|
||||
/* B79E0C 80102C6C 8E040004 */ lw $a0, 4($s0)
|
||||
/* B79E10 80102C70 8E050008 */ lw $a1, 8($s0)
|
||||
/* B79E14 80102C74 0C0417D0 */ jal func_80105F40
|
||||
/* B79E18 80102C78 27A70028 */ addiu $a3, $sp, 0x28
|
||||
/* B79E1C 80102C7C 50400004 */ beql $v0, $zero, .L80102C90
|
||||
/* B79E20 80102C80 2604000C */ addiu $a0, $s0, 0xc
|
||||
/* B79E24 80102C84 1000000B */ b .L80102CB4
|
||||
/* B79E28 80102C88 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80102C8C:
|
||||
/* B79E2C 80102C8C 2604000C */ addiu $a0, $s0, 0xc
|
||||
.L80102C90:
|
||||
/* B79E30 80102C90 27A50028 */ addiu $a1, $sp, 0x28
|
||||
/* B79E34 80102C94 0C001A30 */ jal bcmp
|
||||
/* B79E38 80102C98 24060020 */ li $a2, 32
|
||||
/* B79E3C 80102C9C 50400004 */ beql $v0, $zero, .L80102CB0
|
||||
/* B79E40 80102CA0 00001025 */ move $v0, $zero
|
||||
/* B79E44 80102CA4 10000002 */ b .L80102CB0
|
||||
/* B79E48 80102CA8 24020002 */ li $v0, 2
|
||||
/* B79E4C 80102CAC 00001025 */ move $v0, $zero
|
||||
.L80102CB0:
|
||||
/* B79E50 80102CB0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80102CB4:
|
||||
/* B79E54 80102CB4 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B79E58 80102CB8 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
/* B79E5C 80102CBC 03E00008 */ jr $ra
|
||||
/* B79E60 80102CC0 00000000 */ nop
|
||||
|
||||
glabel func_80102CC4
|
||||
/* B79E64 80102CC4 27BDFFA8 */ addiu $sp, $sp, -0x58
|
||||
/* B79E68 80102CC8 AFB40030 */ sw $s4, 0x30($sp)
|
||||
/* B79E6C 80102CCC 30D400FF */ andi $s4, $a2, 0xff
|
||||
/* B79E70 80102CD0 AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* B79E74 80102CD4 00809025 */ move $s2, $a0
|
||||
/* B79E78 80102CD8 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* B79E7C 80102CDC AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* B79E80 80102CE0 AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* B79E84 80102CE4 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* B79E88 80102CE8 AFA5005C */ sw $a1, 0x5c($sp)
|
||||
/* B79E8C 80102CEC AFA60060 */ sw $a2, 0x60($sp)
|
||||
/* B79E90 80102CF0 16800011 */ bnez $s4, .L80102D38
|
||||
/* B79E94 80102CF4 AFA70064 */ sw $a3, 0x64($sp)
|
||||
/* B79E98 80102CF8 3C0F8013 */ lui $t7, %hi(D_80134CF4) # $t7, 0x8013
|
||||
/* B79E9C 80102CFC 91EF4CF4 */ lbu $t7, %lo(D_80134CF4)($t7)
|
||||
/* B79EA0 80102D00 93B80067 */ lbu $t8, 0x67($sp)
|
||||
/* B79EA4 80102D04 3C198013 */ lui $t9, %hi(D_80134CF0) # $t9, 0x8013
|
||||
/* B79EA8 80102D08 55F8000C */ bnel $t7, $t8, .L80102D3C
|
||||
/* B79EAC 80102D0C 92490065 */ lbu $t1, 0x65($s2)
|
||||
/* B79EB0 80102D10 8F394CF0 */ lw $t9, %lo(D_80134CF0)($t9)
|
||||
/* B79EB4 80102D14 8C880008 */ lw $t0, 8($a0)
|
||||
/* B79EB8 80102D18 3C048017 */ lui $a0, %hi(D_80175860) # $a0, 0x8017
|
||||
/* B79EBC 80102D1C 24845860 */ addiu $a0, %lo(D_80175860) # addiu $a0, $a0, 0x5860
|
||||
/* B79EC0 80102D20 57280006 */ bnel $t9, $t0, .L80102D3C
|
||||
/* B79EC4 80102D24 92490065 */ lbu $t1, 0x65($s2)
|
||||
/* B79EC8 80102D28 0C001BC4 */ jal bcopy
|
||||
/* B79ECC 80102D2C 24060100 */ li $a2, 256
|
||||
/* B79ED0 80102D30 10000091 */ b .L80102F78
|
||||
/* B79ED4 80102D34 00001025 */ move $v0, $zero
|
||||
.L80102D38:
|
||||
/* B79ED8 80102D38 92490065 */ lbu $t1, 0x65($s2)
|
||||
.L80102D3C:
|
||||
/* B79EDC 80102D3C 02402025 */ move $a0, $s2
|
||||
/* B79EE0 80102D40 51200008 */ beql $t1, $zero, .L80102D64
|
||||
/* B79EE4 80102D44 93A30067 */ lbu $v1, 0x67($sp)
|
||||
/* B79EE8 80102D48 0C041320 */ jal func_80104C80
|
||||
/* B79EEC 80102D4C 00002825 */ move $a1, $zero
|
||||
/* B79EF0 80102D50 50400004 */ beql $v0, $zero, .L80102D64
|
||||
/* B79EF4 80102D54 93A30067 */ lbu $v1, 0x67($sp)
|
||||
/* B79EF8 80102D58 10000088 */ b .L80102F7C
|
||||
/* B79EFC 80102D5C 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* B79F00 80102D60 93A30067 */ lbu $v1, 0x67($sp)
|
||||
.L80102D64:
|
||||
/* B79F04 80102D64 24020001 */ li $v0, 1
|
||||
/* B79F08 80102D68 240A0001 */ li $t2, 1
|
||||
/* B79F0C 80102D6C 58600004 */ blezl $v1, .L80102D80
|
||||
/* B79F10 80102D70 8E4B0060 */ lw $t3, 0x60($s2)
|
||||
/* B79F14 80102D74 10000003 */ b .L80102D84
|
||||
/* B79F18 80102D78 AFAA0048 */ sw $t2, 0x48($sp)
|
||||
/* B79F1C 80102D7C 8E4B0060 */ lw $t3, 0x60($s2)
|
||||
.L80102D80:
|
||||
/* B79F20 80102D80 AFAB0048 */ sw $t3, 0x48($sp)
|
||||
.L80102D84:
|
||||
/* B79F24 80102D84 1454000C */ bne $v0, $s4, .L80102DB8
|
||||
/* B79F28 80102D88 8FAD0048 */ lw $t5, 0x48($sp)
|
||||
/* B79F2C 80102D8C 8FAC005C */ lw $t4, 0x5c($sp)
|
||||
/* B79F30 80102D90 000D2823 */ negu $a1, $t5
|
||||
/* B79F34 80102D94 00057840 */ sll $t7, $a1, 1
|
||||
/* B79F38 80102D98 000D7040 */ sll $t6, $t5, 1
|
||||
/* B79F3C 80102D9C 25E50100 */ addiu $a1, $t7, 0x100
|
||||
/* B79F40 80102DA0 AFA3003C */ sw $v1, 0x3c($sp)
|
||||
/* B79F44 80102DA4 0C040908 */ jal func_80102420
|
||||
/* B79F48 80102DA8 018E2021 */ addu $a0, $t4, $t6
|
||||
/* B79F4C 80102DAC 8FB8005C */ lw $t8, 0x5c($sp)
|
||||
/* B79F50 80102DB0 8FA3003C */ lw $v1, 0x3c($sp)
|
||||
/* B79F54 80102DB4 A3020001 */ sb $v0, 1($t8)
|
||||
.L80102DB8:
|
||||
/* B79F58 80102DB8 00008025 */ move $s0, $zero
|
||||
/* B79F5C 80102DBC 8FB1005C */ lw $s1, 0x5c($sp)
|
||||
/* B79F60 80102DC0 000398C0 */ sll $s3, $v1, 3
|
||||
.L80102DC4:
|
||||
/* B79F64 80102DC4 24020001 */ li $v0, 1
|
||||
/* B79F68 80102DC8 14540016 */ bne $v0, $s4, .L80102E24
|
||||
/* B79F6C 80102DCC 8E450008 */ lw $a1, 8($s2)
|
||||
/* B79F70 80102DD0 8E590054 */ lw $t9, 0x54($s2)
|
||||
/* B79F74 80102DD4 8E440004 */ lw $a0, 4($s2)
|
||||
/* B79F78 80102DD8 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* B79F7C 80102DDC 03334021 */ addu $t0, $t9, $s3
|
||||
/* B79F80 80102DE0 01103021 */ addu $a2, $t0, $s0
|
||||
/* B79F84 80102DE4 30C9FFFF */ andi $t1, $a2, 0xffff
|
||||
/* B79F88 80102DE8 01203025 */ move $a2, $t1
|
||||
/* B79F8C 80102DEC 0C04173C */ jal func_80105CF0
|
||||
/* B79F90 80102DF0 02203825 */ move $a3, $s1
|
||||
/* B79F94 80102DF4 8E4A0058 */ lw $t2, 0x58($s2)
|
||||
/* B79F98 80102DF8 8E440004 */ lw $a0, 4($s2)
|
||||
/* B79F9C 80102DFC 8E450008 */ lw $a1, 8($s2)
|
||||
/* B79FA0 80102E00 01535821 */ addu $t3, $t2, $s3
|
||||
/* B79FA4 80102E04 01703021 */ addu $a2, $t3, $s0
|
||||
/* B79FA8 80102E08 30CCFFFF */ andi $t4, $a2, 0xffff
|
||||
/* B79FAC 80102E0C 01803025 */ move $a2, $t4
|
||||
/* B79FB0 80102E10 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* B79FB4 80102E14 0C04173C */ jal func_80105CF0
|
||||
/* B79FB8 80102E18 02203825 */ move $a3, $s1
|
||||
/* B79FBC 80102E1C 1000000A */ b .L80102E48
|
||||
/* B79FC0 80102E20 00401825 */ move $v1, $v0
|
||||
.L80102E24:
|
||||
/* B79FC4 80102E24 8E4E0054 */ lw $t6, 0x54($s2)
|
||||
/* B79FC8 80102E28 8E440004 */ lw $a0, 4($s2)
|
||||
/* B79FCC 80102E2C 02203825 */ move $a3, $s1
|
||||
/* B79FD0 80102E30 01D36821 */ addu $t5, $t6, $s3
|
||||
/* B79FD4 80102E34 01B03021 */ addu $a2, $t5, $s0
|
||||
/* B79FD8 80102E38 30CFFFFF */ andi $t7, $a2, 0xffff
|
||||
/* B79FDC 80102E3C 0C0417D0 */ jal func_80105F40
|
||||
/* B79FE0 80102E40 01E03025 */ move $a2, $t7
|
||||
/* B79FE4 80102E44 00401825 */ move $v1, $v0
|
||||
.L80102E48:
|
||||
/* B79FE8 80102E48 10400003 */ beqz $v0, .L80102E58
|
||||
/* B79FEC 80102E4C 26100001 */ addiu $s0, $s0, 1
|
||||
/* B79FF0 80102E50 10000049 */ b .L80102F78
|
||||
/* B79FF4 80102E54 00601025 */ move $v0, $v1
|
||||
.L80102E58:
|
||||
/* B79FF8 80102E58 2A010008 */ slti $at, $s0, 8
|
||||
/* B79FFC 80102E5C 1420FFD9 */ bnez $at, .L80102DC4
|
||||
/* B7A000 80102E60 26310020 */ addiu $s1, $s1, 0x20
|
||||
/* B7A004 80102E64 16800038 */ bnez $s4, .L80102F48
|
||||
/* B7A008 80102E68 8FB90048 */ lw $t9, 0x48($sp)
|
||||
/* B7A00C 80102E6C 8FB8005C */ lw $t8, 0x5c($sp)
|
||||
/* B7A010 80102E70 00192823 */ negu $a1, $t9
|
||||
/* B7A014 80102E74 00054840 */ sll $t1, $a1, 1
|
||||
/* B7A018 80102E78 00194040 */ sll $t0, $t9, 1
|
||||
/* B7A01C 80102E7C 25250100 */ addiu $a1, $t1, 0x100
|
||||
/* B7A020 80102E80 0308A021 */ addu $s4, $t8, $t0
|
||||
/* B7A024 80102E84 02802025 */ move $a0, $s4
|
||||
/* B7A028 80102E88 0C040908 */ jal func_80102420
|
||||
/* B7A02C 80102E8C AFA5003C */ sw $a1, 0x3c($sp)
|
||||
/* B7A030 80102E90 8FAB005C */ lw $t3, 0x5c($sp)
|
||||
/* B7A034 80102E94 304A00FF */ andi $t2, $v0, 0xff
|
||||
/* B7A038 80102E98 00008025 */ move $s0, $zero
|
||||
/* B7A03C 80102E9C 916C0001 */ lbu $t4, 1($t3)
|
||||
/* B7A040 80102EA0 01608825 */ move $s1, $t3
|
||||
/* B7A044 80102EA4 514C0029 */ beql $t2, $t4, .L80102F4C
|
||||
/* B7A048 80102EA8 93AB0067 */ lbu $t3, 0x67($sp)
|
||||
.L80102EAC:
|
||||
/* B7A04C 80102EAC 8E4E0058 */ lw $t6, 0x58($s2)
|
||||
/* B7A050 80102EB0 8E440004 */ lw $a0, 4($s2)
|
||||
/* B7A054 80102EB4 8E450008 */ lw $a1, 8($s2)
|
||||
/* B7A058 80102EB8 01D36821 */ addu $t5, $t6, $s3
|
||||
/* B7A05C 80102EBC 01B03021 */ addu $a2, $t5, $s0
|
||||
/* B7A060 80102EC0 30CFFFFF */ andi $t7, $a2, 0xffff
|
||||
/* B7A064 80102EC4 01E03025 */ move $a2, $t7
|
||||
/* B7A068 80102EC8 0C0417D0 */ jal func_80105F40
|
||||
/* B7A06C 80102ECC 02203825 */ move $a3, $s1
|
||||
/* B7A070 80102ED0 26100001 */ addiu $s0, $s0, 1
|
||||
/* B7A074 80102ED4 2A010008 */ slti $at, $s0, 8
|
||||
/* B7A078 80102ED8 1420FFF4 */ bnez $at, .L80102EAC
|
||||
/* B7A07C 80102EDC 26310020 */ addiu $s1, $s1, 0x20
|
||||
/* B7A080 80102EE0 02802025 */ move $a0, $s4
|
||||
/* B7A084 80102EE4 0C040908 */ jal func_80102420
|
||||
/* B7A088 80102EE8 8FA5003C */ lw $a1, 0x3c($sp)
|
||||
/* B7A08C 80102EEC 8FA8005C */ lw $t0, 0x5c($sp)
|
||||
/* B7A090 80102EF0 305800FF */ andi $t8, $v0, 0xff
|
||||
/* B7A094 80102EF4 00008025 */ move $s0, $zero
|
||||
/* B7A098 80102EF8 91190001 */ lbu $t9, 1($t0)
|
||||
/* B7A09C 80102EFC 8FB1005C */ lw $s1, 0x5c($sp)
|
||||
/* B7A0A0 80102F00 13190003 */ beq $t8, $t9, .L80102F10
|
||||
/* B7A0A4 80102F04 00000000 */ nop
|
||||
/* B7A0A8 80102F08 1000001B */ b .L80102F78
|
||||
/* B7A0AC 80102F0C 24020003 */ li $v0, 3
|
||||
.L80102F10:
|
||||
/* B7A0B0 80102F10 8E490054 */ lw $t1, 0x54($s2)
|
||||
/* B7A0B4 80102F14 8E440004 */ lw $a0, 4($s2)
|
||||
/* B7A0B8 80102F18 8E450008 */ lw $a1, 8($s2)
|
||||
/* B7A0BC 80102F1C 01335021 */ addu $t2, $t1, $s3
|
||||
/* B7A0C0 80102F20 01503021 */ addu $a2, $t2, $s0
|
||||
/* B7A0C4 80102F24 30CCFFFF */ andi $t4, $a2, 0xffff
|
||||
/* B7A0C8 80102F28 01803025 */ move $a2, $t4
|
||||
/* B7A0CC 80102F2C AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* B7A0D0 80102F30 0C04173C */ jal func_80105CF0
|
||||
/* B7A0D4 80102F34 02203825 */ move $a3, $s1
|
||||
/* B7A0D8 80102F38 26100001 */ addiu $s0, $s0, 1
|
||||
/* B7A0DC 80102F3C 24010008 */ li $at, 8
|
||||
/* B7A0E0 80102F40 1601FFF3 */ bne $s0, $at, .L80102F10
|
||||
/* B7A0E4 80102F44 26310020 */ addiu $s1, $s1, 0x20
|
||||
.L80102F48:
|
||||
/* B7A0E8 80102F48 93AB0067 */ lbu $t3, 0x67($sp)
|
||||
.L80102F4C:
|
||||
/* B7A0EC 80102F4C 3C018013 */ lui $at, %hi(D_80134CF4) # $at, 0x8013
|
||||
/* B7A0F0 80102F50 3C058017 */ lui $a1, %hi(D_80175860) # $a1, 0x8017
|
||||
/* B7A0F4 80102F54 24A55860 */ addiu $a1, %lo(D_80175860) # addiu $a1, $a1, 0x5860
|
||||
/* B7A0F8 80102F58 8FA4005C */ lw $a0, 0x5c($sp)
|
||||
/* B7A0FC 80102F5C 24060100 */ li $a2, 256
|
||||
/* B7A100 80102F60 0C001BC4 */ jal bcopy
|
||||
/* B7A104 80102F64 A02B4CF4 */ sb $t3, %lo(D_80134CF4)($at)
|
||||
/* B7A108 80102F68 8E4E0008 */ lw $t6, 8($s2)
|
||||
/* B7A10C 80102F6C 3C018013 */ lui $at, %hi(D_80134CF0) # $at, 0x8013
|
||||
/* B7A110 80102F70 00001025 */ move $v0, $zero
|
||||
/* B7A114 80102F74 AC2E4CF0 */ sw $t6, %lo(D_80134CF0)($at)
|
||||
.L80102F78:
|
||||
/* B7A118 80102F78 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
.L80102F7C:
|
||||
/* B7A11C 80102F7C 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* B7A120 80102F80 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* B7A124 80102F84 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* B7A128 80102F88 8FB3002C */ lw $s3, 0x2c($sp)
|
||||
/* B7A12C 80102F8C 8FB40030 */ lw $s4, 0x30($sp)
|
||||
/* B7A130 80102F90 03E00008 */ jr $ra
|
||||
/* B7A134 80102F94 27BD0058 */ addiu $sp, $sp, 0x58
|
||||
@@ -0,0 +1,39 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80102FA0
|
||||
/* B7A140 80102FA0 3C013780 */ li $at, 0x37800000 # 0.000000
|
||||
/* B7A144 80102FA4 44810000 */ mtc1 $at, $f0
|
||||
/* B7A148 80102FA8 3C19FFFF */ li $t9, 0xFFFF0000 # 0.000000
|
||||
/* B7A14C 80102FAC 24B80020 */ addiu $t8, $a1, 0x20
|
||||
.L80102FB0:
|
||||
/* B7A150 80102FB0 8CA80000 */ lw $t0, ($a1)
|
||||
/* B7A154 80102FB4 8CA90020 */ lw $t1, 0x20($a1)
|
||||
/* B7A158 80102FB8 24A50004 */ addiu $a1, $a1, 4
|
||||
/* B7A15C 80102FBC 01195024 */ and $t2, $t0, $t9
|
||||
/* B7A160 80102FC0 00095C02 */ srl $t3, $t1, 0x10
|
||||
/* B7A164 80102FC4 014B6025 */ or $t4, $t2, $t3
|
||||
/* B7A168 80102FC8 448C2000 */ mtc1 $t4, $f4
|
||||
/* B7A16C 80102FCC 00086C00 */ sll $t5, $t0, 0x10
|
||||
/* B7A170 80102FD0 312EFFFF */ andi $t6, $t1, 0xffff
|
||||
/* B7A174 80102FD4 01AE7825 */ or $t7, $t5, $t6
|
||||
/* B7A178 80102FD8 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* B7A17C 80102FDC 448F5000 */ mtc1 $t7, $f10
|
||||
/* B7A180 80102FE0 24840008 */ addiu $a0, $a0, 8
|
||||
/* B7A184 80102FE4 46805420 */ cvt.s.w $f16, $f10
|
||||
/* B7A188 80102FE8 46003202 */ mul.s $f8, $f6, $f0
|
||||
/* B7A18C 80102FEC 00000000 */ nop
|
||||
/* B7A190 80102FF0 46008482 */ mul.s $f18, $f16, $f0
|
||||
/* B7A194 80102FF4 E488FFF8 */ swc1 $f8, -8($a0)
|
||||
/* B7A198 80102FF8 14B8FFED */ bne $a1, $t8, .L80102FB0
|
||||
/* B7A19C 80102FFC E492FFFC */ swc1 $f18, -4($a0)
|
||||
/* B7A1A0 80103000 03E00008 */ jr $ra
|
||||
/* B7A1A4 80103004 00000000 */ nop
|
||||
@@ -0,0 +1,140 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80103010
|
||||
/* B7A1B0 80103010 27BDFF88 */ addiu $sp, $sp, -0x78
|
||||
/* B7A1B4 80103014 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* B7A1B8 80103018 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* B7A1BC 8010301C AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* B7A1C0 80103020 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* B7A1C4 80103024 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* B7A1C8 80103028 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* B7A1CC 8010302C AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* B7A1D0 80103030 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* B7A1D4 80103034 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* B7A1D8 80103038 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B7A1DC 8010303C AFA5007C */ sw $a1, 0x7c($sp)
|
||||
/* B7A1E0 80103040 8C8E0000 */ lw $t6, ($a0)
|
||||
/* B7A1E4 80103044 00809025 */ move $s2, $a0
|
||||
/* B7A1E8 80103048 00E0A825 */ move $s5, $a3
|
||||
/* B7A1EC 8010304C 31CF0001 */ andi $t7, $t6, 1
|
||||
/* B7A1F0 80103050 30B7FFFF */ andi $s7, $a1, 0xffff
|
||||
/* B7A1F4 80103054 15E00003 */ bnez $t7, .L80103064
|
||||
/* B7A1F8 80103058 00C0F025 */ move $fp, $a2
|
||||
/* B7A1FC 8010305C 10000051 */ b .L801031A4
|
||||
/* B7A200 80103060 24020005 */ li $v0, 5
|
||||
.L80103064:
|
||||
/* B7A204 80103064 0C040AFC */ jal func_80102BF0
|
||||
/* B7A208 80103068 02402025 */ move $a0, $s2
|
||||
/* B7A20C 8010306C 50400004 */ beql $v0, $zero, .L80103080
|
||||
/* B7A210 80103070 8E580050 */ lw $t8, 0x50($s2)
|
||||
/* B7A214 80103074 1000004C */ b .L801031A8
|
||||
/* B7A218 80103078 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* B7A21C 8010307C 8E580050 */ lw $t8, 0x50($s2)
|
||||
.L80103080:
|
||||
/* B7A220 80103080 00009825 */ move $s3, $zero
|
||||
/* B7A224 80103084 27B60050 */ addiu $s6, $sp, 0x50
|
||||
/* B7A228 80103088 1B000042 */ blez $t8, .L80103194
|
||||
/* B7A22C 8010308C 8FB40088 */ lw $s4, 0x88($sp)
|
||||
/* B7A230 80103090 27B10060 */ addiu $s1, $sp, 0x60
|
||||
/* B7A234 80103094 27B00054 */ addiu $s0, $sp, 0x54
|
||||
/* B7A238 80103098 8E59005C */ lw $t9, 0x5c($s2)
|
||||
.L8010309C:
|
||||
/* B7A23C 8010309C 8E440004 */ lw $a0, 4($s2)
|
||||
/* B7A240 801030A0 8E450008 */ lw $a1, 8($s2)
|
||||
/* B7A244 801030A4 03333021 */ addu $a2, $t9, $s3
|
||||
/* B7A248 801030A8 30C8FFFF */ andi $t0, $a2, 0xffff
|
||||
/* B7A24C 801030AC 01003025 */ move $a2, $t0
|
||||
/* B7A250 801030B0 0C0417D0 */ jal func_80105F40
|
||||
/* B7A254 801030B4 02C03825 */ move $a3, $s6
|
||||
/* B7A258 801030B8 50400004 */ beql $v0, $zero, .L801030CC
|
||||
/* B7A25C 801030BC 8E440004 */ lw $a0, 4($s2)
|
||||
/* B7A260 801030C0 10000039 */ b .L801031A8
|
||||
/* B7A264 801030C4 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* B7A268 801030C8 8E440004 */ lw $a0, 4($s2)
|
||||
.L801030CC:
|
||||
/* B7A26C 801030CC 0C040644 */ jal func_80101910
|
||||
/* B7A270 801030D0 8E450008 */ lw $a1, 8($s2)
|
||||
/* B7A274 801030D4 10400003 */ beqz $v0, .L801030E4
|
||||
/* B7A278 801030D8 00403025 */ move $a2, $v0
|
||||
/* B7A27C 801030DC 10000032 */ b .L801031A8
|
||||
/* B7A280 801030E0 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L801030E4:
|
||||
/* B7A284 801030E4 97A90054 */ lhu $t1, 0x54($sp)
|
||||
/* B7A288 801030E8 8FAA0050 */ lw $t2, 0x50($sp)
|
||||
/* B7A28C 801030EC 56E90025 */ bnel $s7, $t1, .L80103184
|
||||
/* B7A290 801030F0 8E580050 */ lw $t8, 0x50($s2)
|
||||
/* B7A294 801030F4 555E0023 */ bnel $t2, $fp, .L80103184
|
||||
/* B7A298 801030F8 8E580050 */ lw $t8, 0x50($s2)
|
||||
/* B7A29C 801030FC 12A0000C */ beqz $s5, .L80103130
|
||||
/* B7A2A0 80103100 00002025 */ move $a0, $zero
|
||||
/* B7A2A4 80103104 27A20050 */ addiu $v0, $sp, 0x50
|
||||
/* B7A2A8 80103108 02A01825 */ move $v1, $s5
|
||||
.L8010310C:
|
||||
/* B7A2AC 8010310C 904B0010 */ lbu $t3, 0x10($v0)
|
||||
/* B7A2B0 80103110 906C0000 */ lbu $t4, ($v1)
|
||||
/* B7A2B4 80103114 24420001 */ addiu $v0, $v0, 1
|
||||
/* B7A2B8 80103118 116C0003 */ beq $t3, $t4, .L80103128
|
||||
/* B7A2BC 8010311C 00000000 */ nop
|
||||
/* B7A2C0 80103120 10000003 */ b .L80103130
|
||||
/* B7A2C4 80103124 24040001 */ li $a0, 1
|
||||
.L80103128:
|
||||
/* B7A2C8 80103128 1451FFF8 */ bne $v0, $s1, .L8010310C
|
||||
/* B7A2CC 8010312C 24630001 */ addiu $v1, $v1, 1
|
||||
.L80103130:
|
||||
/* B7A2D0 80103130 1280000D */ beqz $s4, .L80103168
|
||||
/* B7A2D4 80103134 00000000 */ nop
|
||||
/* B7A2D8 80103138 1480000B */ bnez $a0, .L80103168
|
||||
/* B7A2DC 8010313C 27A20050 */ addiu $v0, $sp, 0x50
|
||||
/* B7A2E0 80103140 02801825 */ move $v1, $s4
|
||||
.L80103144:
|
||||
/* B7A2E4 80103144 904D000C */ lbu $t5, 0xc($v0)
|
||||
/* B7A2E8 80103148 906E0000 */ lbu $t6, ($v1)
|
||||
/* B7A2EC 8010314C 24420001 */ addiu $v0, $v0, 1
|
||||
/* B7A2F0 80103150 11AE0003 */ beq $t5, $t6, .L80103160
|
||||
/* B7A2F4 80103154 00000000 */ nop
|
||||
/* B7A2F8 80103158 10000003 */ b .L80103168
|
||||
/* B7A2FC 8010315C 24040001 */ li $a0, 1
|
||||
.L80103160:
|
||||
/* B7A300 80103160 1450FFF8 */ bne $v0, $s0, .L80103144
|
||||
/* B7A304 80103164 24630001 */ addiu $v1, $v1, 1
|
||||
.L80103168:
|
||||
/* B7A308 80103168 54800006 */ bnezl $a0, .L80103184
|
||||
/* B7A30C 8010316C 8E580050 */ lw $t8, 0x50($s2)
|
||||
/* B7A310 80103170 8FAF008C */ lw $t7, 0x8c($sp)
|
||||
/* B7A314 80103174 00C01025 */ move $v0, $a2
|
||||
/* B7A318 80103178 1000000A */ b .L801031A4
|
||||
/* B7A31C 8010317C ADF30000 */ sw $s3, ($t7)
|
||||
/* B7A320 80103180 8E580050 */ lw $t8, 0x50($s2)
|
||||
.L80103184:
|
||||
/* B7A324 80103184 26730001 */ addiu $s3, $s3, 1
|
||||
/* B7A328 80103188 0278082A */ slt $at, $s3, $t8
|
||||
/* B7A32C 8010318C 5420FFC3 */ bnezl $at, .L8010309C
|
||||
/* B7A330 80103190 8E59005C */ lw $t9, 0x5c($s2)
|
||||
.L80103194:
|
||||
/* B7A334 80103194 8FA8008C */ lw $t0, 0x8c($sp)
|
||||
/* B7A338 80103198 2419FFFF */ li $t9, -1
|
||||
/* B7A33C 8010319C 24020005 */ li $v0, 5
|
||||
/* B7A340 801031A0 AD190000 */ sw $t9, ($t0)
|
||||
.L801031A4:
|
||||
/* B7A344 801031A4 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L801031A8:
|
||||
/* B7A348 801031A8 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B7A34C 801031AC 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* B7A350 801031B0 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* B7A354 801031B4 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* B7A358 801031B8 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* B7A35C 801031BC 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* B7A360 801031C0 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* B7A364 801031C4 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* B7A368 801031C8 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* B7A36C 801031CC 03E00008 */ jr $ra
|
||||
/* B7A370 801031D0 27BD0078 */ addiu $sp, $sp, 0x78
|
||||
@@ -0,0 +1,623 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_801031F0
|
||||
/* B7A390 801031F0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B7A394 801031F4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B7A398 801031F8 0C0419E8 */ jal func_801067A0
|
||||
/* B7A39C 801031FC 00002025 */ move $a0, $zero
|
||||
/* B7A3A0 80103200 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B7A3A4 80103204 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B7A3A8 80103208 03E00008 */ jr $ra
|
||||
/* B7A3AC 8010320C 00000000 */ nop
|
||||
|
||||
glabel func_80103210
|
||||
/* B7A3B0 80103210 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* B7A3B4 80103214 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B7A3B8 80103218 0C0402E8 */ jal __osSiGetAccess
|
||||
/* B7A3BC 8010321C AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* B7A3C0 80103220 3C0E8017 */ lui $t6, %hi(_osCont_lastPollType) # $t6, 0x8017
|
||||
/* B7A3C4 80103224 91CE5810 */ lbu $t6, %lo(_osCont_lastPollType)($t6)
|
||||
/* B7A3C8 80103228 11C0000B */ beqz $t6, .L80103258
|
||||
/* B7A3CC 8010322C 00000000 */ nop
|
||||
/* B7A3D0 80103230 0C040386 */ jal __osPackRequestData
|
||||
/* B7A3D4 80103234 00002025 */ move $a0, $zero
|
||||
/* B7A3D8 80103238 3C058017 */ lui $a1, %hi(_osPifInternalBuff) # $a1, 0x8017
|
||||
/* B7A3DC 8010323C 24A557D0 */ addiu $a1, %lo(_osPifInternalBuff) # addiu $a1, $a1, 0x57d0
|
||||
/* B7A3E0 80103240 0C0404FC */ jal __osSiRawStartDma /*(s32 dir, void *addr)*/
|
||||
/* B7A3E4 80103244 24040001 */ li $a0, 1
|
||||
/* B7A3E8 80103248 8FA40020 */ lw $a0, 0x20($sp)
|
||||
/* B7A3EC 8010324C 00002825 */ move $a1, $zero
|
||||
/* B7A3F0 80103250 0C000CA0 */ jal osRecvMesg
|
||||
/* B7A3F4 80103254 24060001 */ li $a2, 1
|
||||
.L80103258:
|
||||
/* B7A3F8 80103258 3C058017 */ lui $a1, %hi(_osPifInternalBuff) # $a1, 0x8017
|
||||
/* B7A3FC 8010325C 24A557D0 */ addiu $a1, %lo(_osPifInternalBuff) # addiu $a1, $a1, 0x57d0
|
||||
/* B7A400 80103260 0C0404FC */ jal __osSiRawStartDma /*(s32 dir, void *addr)*/
|
||||
/* B7A404 80103264 00002025 */ move $a0, $zero
|
||||
/* B7A408 80103268 3C018017 */ lui $at, %hi(_osCont_lastPollType) # $at, 0x8017
|
||||
/* B7A40C 8010326C AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* B7A410 80103270 0C0402F9 */ jal __osSiRelAccess
|
||||
/* B7A414 80103274 A0205810 */ sb $zero, %lo(_osCont_lastPollType)($at)
|
||||
/* B7A418 80103278 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B7A41C 8010327C 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* B7A420 80103280 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* B7A424 80103284 03E00008 */ jr $ra
|
||||
/* B7A428 80103288 00000000 */ nop
|
||||
|
||||
glabel func_8010328C
|
||||
/* B7A42C 8010328C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* B7A430 80103290 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B7A434 80103294 00802825 */ move $a1, $a0
|
||||
/* B7A438 80103298 0C04035B */ jal __osContGetInitData
|
||||
/* B7A43C 8010329C 27A4001F */ addiu $a0, $sp, 0x1f
|
||||
/* B7A440 801032A0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B7A444 801032A4 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* B7A448 801032A8 03E00008 */ jr $ra
|
||||
/* B7A44C 801032AC 00000000 */ nop
|
||||
|
||||
glabel func_801032B0
|
||||
/* B7A450 801032B0 27BDFF70 */ addiu $sp, $sp, -0x90
|
||||
/* B7A454 801032B4 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* B7A458 801032B8 F7BC0030 */ sdc1 $f28, 0x30($sp)
|
||||
/* B7A45C 801032BC F7BA0028 */ sdc1 $f26, 0x28($sp)
|
||||
/* B7A460 801032C0 F7B80020 */ sdc1 $f24, 0x20($sp)
|
||||
/* B7A464 801032C4 F7B60018 */ sdc1 $f22, 0x18($sp)
|
||||
/* B7A468 801032C8 F7B40010 */ sdc1 $f20, 0x10($sp)
|
||||
/* B7A46C 801032CC AFA7009C */ sw $a3, 0x9c($sp)
|
||||
/* B7A470 801032D0 AFA40090 */ sw $a0, 0x90($sp)
|
||||
/* B7A474 801032D4 AFA50094 */ sw $a1, 0x94($sp)
|
||||
/* B7A478 801032D8 0C0406D0 */ jal func_80101B40
|
||||
/* B7A47C 801032DC AFA60098 */ sw $a2, 0x98($sp)
|
||||
/* B7A480 801032E0 C7A800A8 */ lwc1 $f8, 0xa8($sp)
|
||||
/* B7A484 801032E4 C7A6009C */ lwc1 $f6, 0x9c($sp)
|
||||
/* B7A488 801032E8 C7AA00AC */ lwc1 $f10, 0xac($sp)
|
||||
/* B7A48C 801032EC C7A400A0 */ lwc1 $f4, 0xa0($sp)
|
||||
/* B7A490 801032F0 46064301 */ sub.s $f12, $f8, $f6
|
||||
/* B7A494 801032F4 C7A600A4 */ lwc1 $f6, 0xa4($sp)
|
||||
/* B7A498 801032F8 C7A800B0 */ lwc1 $f8, 0xb0($sp)
|
||||
/* B7A49C 801032FC 46045381 */ sub.s $f14, $f10, $f4
|
||||
/* B7A4A0 80103300 460C6282 */ mul.s $f10, $f12, $f12
|
||||
/* B7A4A4 80103304 3C013FF0 */ li $at, 0x3FF00000 # 0.000000
|
||||
/* B7A4A8 80103308 46064401 */ sub.s $f16, $f8, $f6
|
||||
/* B7A4AC 8010330C 460E7102 */ mul.s $f4, $f14, $f14
|
||||
/* B7A4B0 80103310 4481B800 */ mtc1 $at, $f23
|
||||
/* B7A4B4 80103314 3C01BFF0 */ li $at, 0xBFF00000 # 0.000000
|
||||
/* B7A4B8 80103318 46108182 */ mul.s $f6, $f16, $f16
|
||||
/* B7A4BC 8010331C 44815800 */ mtc1 $at, $f11
|
||||
/* B7A4C0 80103320 C7B400B8 */ lwc1 $f20, 0xb8($sp)
|
||||
/* B7A4C4 80103324 4480B000 */ mtc1 $zero, $f22
|
||||
/* B7A4C8 80103328 3C018015 */ lui $at, %hi(D_8014B270)
|
||||
/* B7A4CC 8010332C 46045200 */ add.s $f8, $f10, $f4
|
||||
/* B7A4D0 80103330 44805000 */ mtc1 $zero, $f10
|
||||
/* B7A4D4 80103334 8FA200D8 */ lw $v0, 0xd8($sp)
|
||||
/* B7A4D8 80103338 8FA300DC */ lw $v1, 0xdc($sp)
|
||||
/* B7A4DC 8010333C 46064000 */ add.s $f0, $f8, $f6
|
||||
/* B7A4E0 80103340 8FA40090 */ lw $a0, 0x90($sp)
|
||||
/* B7A4E4 80103344 8FA50094 */ lw $a1, 0x94($sp)
|
||||
/* B7A4E8 80103348 8FA60098 */ lw $a2, 0x98($sp)
|
||||
/* B7A4EC 8010334C 46000004 */ sqrt.s $f0, $f0
|
||||
/* B7A4F0 80103350 00027040 */ sll $t6, $v0, 1
|
||||
/* B7A4F4 80103354 00037840 */ sll $t7, $v1, 1
|
||||
/* B7A4F8 80103358 46000121 */ cvt.d.s $f4, $f0
|
||||
/* B7A4FC 8010335C 46245203 */ div.d $f8, $f10, $f4
|
||||
/* B7A500 80103360 462044A0 */ cvt.s.d $f18, $f8
|
||||
/* B7A504 80103364 46126182 */ mul.s $f6, $f12, $f18
|
||||
/* B7A508 80103368 E7A60054 */ swc1 $f6, 0x54($sp)
|
||||
/* B7A50C 8010336C 46127102 */ mul.s $f4, $f14, $f18
|
||||
/* B7A510 80103370 C7AA0054 */ lwc1 $f10, 0x54($sp)
|
||||
/* B7A514 80103374 46128182 */ mul.s $f6, $f16, $f18
|
||||
/* B7A518 80103378 E7AA0088 */ swc1 $f10, 0x88($sp)
|
||||
/* B7A51C 8010337C E7A40050 */ swc1 $f4, 0x50($sp)
|
||||
/* B7A520 80103380 C7A80050 */ lwc1 $f8, 0x50($sp)
|
||||
/* B7A524 80103384 C7A400BC */ lwc1 $f4, 0xbc($sp)
|
||||
/* B7A528 80103388 E7A6004C */ swc1 $f6, 0x4c($sp)
|
||||
/* B7A52C 8010338C C7AA004C */ lwc1 $f10, 0x4c($sp)
|
||||
/* B7A530 80103390 E7A80084 */ swc1 $f8, 0x84($sp)
|
||||
/* B7A534 80103394 C7A80050 */ lwc1 $f8, 0x50($sp)
|
||||
/* B7A538 80103398 E7AA0080 */ swc1 $f10, 0x80($sp)
|
||||
/* B7A53C 8010339C C7AA004C */ lwc1 $f10, 0x4c($sp)
|
||||
/* B7A540 801033A0 46082182 */ mul.s $f6, $f4, $f8
|
||||
/* B7A544 801033A4 00000000 */ nop
|
||||
/* B7A548 801033A8 460AA102 */ mul.s $f4, $f20, $f10
|
||||
/* B7A54C 801033AC C7AA00BC */ lwc1 $f10, 0xbc($sp)
|
||||
/* B7A550 801033B0 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* B7A554 801033B4 C7A40054 */ lwc1 $f4, 0x54($sp)
|
||||
/* B7A558 801033B8 46045182 */ mul.s $f6, $f10, $f4
|
||||
/* B7A55C 801033BC E7A80048 */ swc1 $f8, 0x48($sp)
|
||||
/* B7A560 801033C0 C7A800B4 */ lwc1 $f8, 0xb4($sp)
|
||||
/* B7A564 801033C4 C7AA004C */ lwc1 $f10, 0x4c($sp)
|
||||
/* B7A568 801033C8 C7B80048 */ lwc1 $f24, 0x48($sp)
|
||||
/* B7A56C 801033CC 460A4102 */ mul.s $f4, $f8, $f10
|
||||
/* B7A570 801033D0 C7AA00B4 */ lwc1 $f10, 0xb4($sp)
|
||||
/* B7A574 801033D4 46043201 */ sub.s $f8, $f6, $f4
|
||||
/* B7A578 801033D8 C7A60050 */ lwc1 $f6, 0x50($sp)
|
||||
/* B7A57C 801033DC E7A8004C */ swc1 $f8, 0x4c($sp)
|
||||
/* B7A580 801033E0 46065102 */ mul.s $f4, $f10, $f6
|
||||
/* B7A584 801033E4 C7A80054 */ lwc1 $f8, 0x54($sp)
|
||||
/* B7A588 801033E8 C7BA004C */ lwc1 $f26, 0x4c($sp)
|
||||
/* B7A58C 801033EC 4608A282 */ mul.s $f10, $f20, $f8
|
||||
/* B7A590 801033F0 C7A80048 */ lwc1 $f8, 0x48($sp)
|
||||
/* B7A594 801033F4 C7B400C0 */ lwc1 $f20, 0xc0($sp)
|
||||
/* B7A598 801033F8 460A2181 */ sub.s $f6, $f4, $f10
|
||||
/* B7A59C 801033FC C7A40048 */ lwc1 $f4, 0x48($sp)
|
||||
/* B7A5A0 80103400 46044282 */ mul.s $f10, $f8, $f4
|
||||
/* B7A5A4 80103404 E7A60054 */ swc1 $f6, 0x54($sp)
|
||||
/* B7A5A8 80103408 C7A6004C */ lwc1 $f6, 0x4c($sp)
|
||||
/* B7A5AC 8010340C C7A8004C */ lwc1 $f8, 0x4c($sp)
|
||||
/* B7A5B0 80103410 C7BC0054 */ lwc1 $f28, 0x54($sp)
|
||||
/* B7A5B4 80103414 46083102 */ mul.s $f4, $f6, $f8
|
||||
/* B7A5B8 80103418 C7A80054 */ lwc1 $f8, 0x54($sp)
|
||||
/* B7A5BC 8010341C 46045180 */ add.s $f6, $f10, $f4
|
||||
/* B7A5C0 80103420 C7AA0054 */ lwc1 $f10, 0x54($sp)
|
||||
/* B7A5C4 80103424 460A4102 */ mul.s $f4, $f8, $f10
|
||||
/* B7A5C8 80103428 46043000 */ add.s $f0, $f6, $f4
|
||||
/* B7A5CC 8010342C C7A60084 */ lwc1 $f6, 0x84($sp)
|
||||
/* B7A5D0 80103430 46000004 */ sqrt.s $f0, $f0
|
||||
/* B7A5D4 80103434 46000221 */ cvt.d.s $f8, $f0
|
||||
/* B7A5D8 80103438 4628B283 */ div.d $f10, $f22, $f8
|
||||
/* B7A5DC 8010343C C7A80080 */ lwc1 $f8, 0x80($sp)
|
||||
/* B7A5E0 80103440 462050A0 */ cvt.s.d $f2, $f10
|
||||
/* B7A5E4 80103444 4602C602 */ mul.s $f24, $f24, $f2
|
||||
/* B7A5E8 80103448 00000000 */ nop
|
||||
/* B7A5EC 8010344C 4602D682 */ mul.s $f26, $f26, $f2
|
||||
/* B7A5F0 80103450 00000000 */ nop
|
||||
/* B7A5F4 80103454 4602E702 */ mul.s $f28, $f28, $f2
|
||||
/* B7A5F8 80103458 00000000 */ nop
|
||||
/* B7A5FC 8010345C 461C3102 */ mul.s $f4, $f6, $f28
|
||||
/* B7A600 80103460 C7A60080 */ lwc1 $f6, 0x80($sp)
|
||||
/* B7A604 80103464 461A4282 */ mul.s $f10, $f8, $f26
|
||||
/* B7A608 80103468 460A2381 */ sub.s $f14, $f4, $f10
|
||||
/* B7A60C 8010346C 46183202 */ mul.s $f8, $f6, $f24
|
||||
/* B7A610 80103470 C7A40088 */ lwc1 $f4, 0x88($sp)
|
||||
/* B7A614 80103474 C7A60088 */ lwc1 $f6, 0x88($sp)
|
||||
/* B7A618 80103478 461C2282 */ mul.s $f10, $f4, $f28
|
||||
/* B7A61C 8010347C 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* B7A620 80103480 461A3102 */ mul.s $f4, $f6, $f26
|
||||
/* B7A624 80103484 C7A80084 */ lwc1 $f8, 0x84($sp)
|
||||
/* B7A628 80103488 46184282 */ mul.s $f10, $f8, $f24
|
||||
/* B7A62C 8010348C 460A2481 */ sub.s $f18, $f4, $f10
|
||||
/* B7A630 80103490 460E7182 */ mul.s $f6, $f14, $f14
|
||||
/* B7A634 80103494 00000000 */ nop
|
||||
/* B7A638 80103498 46108202 */ mul.s $f8, $f16, $f16
|
||||
/* B7A63C 8010349C 46083100 */ add.s $f4, $f6, $f8
|
||||
/* B7A640 801034A0 46129282 */ mul.s $f10, $f18, $f18
|
||||
/* B7A644 801034A4 460A2000 */ add.s $f0, $f4, $f10
|
||||
/* B7A648 801034A8 46000004 */ sqrt.s $f0, $f0
|
||||
/* B7A64C 801034AC 460001A1 */ cvt.d.s $f6, $f0
|
||||
/* B7A650 801034B0 4626B203 */ div.d $f8, $f22, $f6
|
||||
/* B7A654 801034B4 462040A0 */ cvt.s.d $f2, $f8
|
||||
/* B7A658 801034B8 C7A800C4 */ lwc1 $f8, 0xc4($sp)
|
||||
/* B7A65C 801034BC 46027102 */ mul.s $f4, $f14, $f2
|
||||
/* B7A660 801034C0 00000000 */ nop
|
||||
/* B7A664 801034C4 46028282 */ mul.s $f10, $f16, $f2
|
||||
/* B7A668 801034C8 E7A400B4 */ swc1 $f4, 0xb4($sp)
|
||||
/* B7A66C 801034CC 46029182 */ mul.s $f6, $f18, $f2
|
||||
/* B7A670 801034D0 C7A400C4 */ lwc1 $f4, 0xc4($sp)
|
||||
/* B7A674 801034D4 E7AA00B8 */ swc1 $f10, 0xb8($sp)
|
||||
/* B7A678 801034D8 46044282 */ mul.s $f10, $f8, $f4
|
||||
/* B7A67C 801034DC C7A400C8 */ lwc1 $f4, 0xc8($sp)
|
||||
/* B7A680 801034E0 E7A600BC */ swc1 $f6, 0xbc($sp)
|
||||
/* B7A684 801034E4 4614A182 */ mul.s $f6, $f20, $f20
|
||||
/* B7A688 801034E8 460A3200 */ add.s $f8, $f6, $f10
|
||||
/* B7A68C 801034EC C7A600C8 */ lwc1 $f6, 0xc8($sp)
|
||||
/* B7A690 801034F0 46062282 */ mul.s $f10, $f4, $f6
|
||||
/* B7A694 801034F4 460A4000 */ add.s $f0, $f8, $f10
|
||||
/* B7A698 801034F8 C7A800C4 */ lwc1 $f8, 0xc4($sp)
|
||||
/* B7A69C 801034FC 46000004 */ sqrt.s $f0, $f0
|
||||
/* B7A6A0 80103500 46000121 */ cvt.d.s $f4, $f0
|
||||
/* B7A6A4 80103504 4624B183 */ div.d $f6, $f22, $f4
|
||||
/* B7A6A8 80103508 C7A400C8 */ lwc1 $f4, 0xc8($sp)
|
||||
/* B7A6AC 8010350C 462030A0 */ cvt.s.d $f2, $f6
|
||||
/* B7A6B0 80103510 4602A502 */ mul.s $f20, $f20, $f2
|
||||
/* B7A6B4 80103514 00000000 */ nop
|
||||
/* B7A6B8 80103518 46024282 */ mul.s $f10, $f8, $f2
|
||||
/* B7A6BC 8010351C 00000000 */ nop
|
||||
/* B7A6C0 80103520 46022182 */ mul.s $f6, $f4, $f2
|
||||
/* B7A6C4 80103524 E7B400C0 */ swc1 $f20, 0xc0($sp)
|
||||
/* B7A6C8 80103528 C7A800C0 */ lwc1 $f8, 0xc0($sp)
|
||||
/* B7A6CC 8010352C C7A40088 */ lwc1 $f4, 0x88($sp)
|
||||
/* B7A6D0 80103530 E7AA00C4 */ swc1 $f10, 0xc4($sp)
|
||||
/* B7A6D4 80103534 46044080 */ add.s $f2, $f8, $f4
|
||||
/* B7A6D8 80103538 E7A600C8 */ swc1 $f6, 0xc8($sp)
|
||||
/* B7A6DC 8010353C C7A60084 */ lwc1 $f6, 0x84($sp)
|
||||
/* B7A6E0 80103540 C7A400C8 */ lwc1 $f4, 0xc8($sp)
|
||||
/* B7A6E4 80103544 46065200 */ add.s $f8, $f10, $f6
|
||||
/* B7A6E8 80103548 C7AA0080 */ lwc1 $f10, 0x80($sp)
|
||||
/* B7A6EC 8010354C E7A80050 */ swc1 $f8, 0x50($sp)
|
||||
/* B7A6F0 80103550 460A2180 */ add.s $f6, $f4, $f10
|
||||
/* B7A6F4 80103554 C7A40050 */ lwc1 $f4, 0x50($sp)
|
||||
/* B7A6F8 80103558 C7A80050 */ lwc1 $f8, 0x50($sp)
|
||||
/* B7A6FC 8010355C E7A6004C */ swc1 $f6, 0x4c($sp)
|
||||
/* B7A700 80103560 46044282 */ mul.s $f10, $f8, $f4
|
||||
/* B7A704 80103564 C7A4004C */ lwc1 $f4, 0x4c($sp)
|
||||
/* B7A708 80103568 46021182 */ mul.s $f6, $f2, $f2
|
||||
/* B7A70C 8010356C 460A3200 */ add.s $f8, $f6, $f10
|
||||
/* B7A710 80103570 C7A6004C */ lwc1 $f6, 0x4c($sp)
|
||||
/* B7A714 80103574 46062282 */ mul.s $f10, $f4, $f6
|
||||
/* B7A718 80103578 D424B270 */ ldc1 $f4, %lo(D_8014B270)($at)
|
||||
/* B7A71C 8010357C 460A4000 */ add.s $f0, $f8, $f10
|
||||
/* B7A720 80103580 46000004 */ sqrt.s $f0, $f0
|
||||
/* B7A724 80103584 460003A1 */ cvt.d.s $f14, $f0
|
||||
/* B7A728 80103588 462E203C */ c.lt.d $f4, $f14
|
||||
/* B7A72C 8010358C 00000000 */ nop
|
||||
/* B7A730 80103590 45000037 */ bc1f .L80103670
|
||||
/* B7A734 80103594 00000000 */ nop
|
||||
/* B7A738 80103598 462EB183 */ div.d $f6, $f22, $f14
|
||||
/* B7A73C 8010359C C7A80050 */ lwc1 $f8, 0x50($sp)
|
||||
/* B7A740 801035A0 C7AA004C */ lwc1 $f10, 0x4c($sp)
|
||||
/* B7A744 801035A4 8FA200D8 */ lw $v0, 0xd8($sp)
|
||||
/* B7A748 801035A8 3C014000 */ li $at, 0x40000000 # 0.000000
|
||||
/* B7A74C 801035AC 8FA300DC */ lw $v1, 0xdc($sp)
|
||||
/* B7A750 801035B0 00024080 */ sll $t0, $v0, 2
|
||||
/* B7A754 801035B4 00035880 */ sll $t3, $v1, 2
|
||||
/* B7A758 801035B8 46203320 */ cvt.s.d $f12, $f6
|
||||
/* B7A75C 801035BC 460C1402 */ mul.s $f16, $f2, $f12
|
||||
/* B7A760 801035C0 00000000 */ nop
|
||||
/* B7A764 801035C4 460C4482 */ mul.s $f18, $f8, $f12
|
||||
/* B7A768 801035C8 00000000 */ nop
|
||||
/* B7A76C 801035CC 460C5502 */ mul.s $f20, $f10, $f12
|
||||
/* B7A770 801035D0 00000000 */ nop
|
||||
/* B7A774 801035D4 46188102 */ mul.s $f4, $f16, $f24
|
||||
/* B7A778 801035D8 00000000 */ nop
|
||||
/* B7A77C 801035DC 461A9182 */ mul.s $f6, $f18, $f26
|
||||
/* B7A780 801035E0 46062200 */ add.s $f8, $f4, $f6
|
||||
/* B7A784 801035E4 461CA282 */ mul.s $f10, $f20, $f28
|
||||
/* B7A788 801035E8 44823000 */ mtc1 $v0, $f6
|
||||
/* B7A78C 801035EC 460A4100 */ add.s $f4, $f8, $f10
|
||||
/* B7A790 801035F0 46803220 */ cvt.s.w $f8, $f6
|
||||
/* B7A794 801035F4 44813000 */ mtc1 $at, $f6
|
||||
/* B7A798 801035F8 46082282 */ mul.s $f10, $f4, $f8
|
||||
/* B7A79C 801035FC 44884000 */ mtc1 $t0, $f8
|
||||
/* B7A7A0 80103600 46065102 */ mul.s $f4, $f10, $f6
|
||||
/* B7A7A4 80103604 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* B7A7A8 80103608 46045180 */ add.s $f6, $f10, $f4
|
||||
/* B7A7AC 8010360C 4600320D */ trunc.w.s $f8, $f6
|
||||
/* B7A7B0 80103610 440A4000 */ mfc1 $t2, $f8
|
||||
/* B7A7B4 80103614 00000000 */ nop
|
||||
/* B7A7B8 80103618 ACCA0000 */ sw $t2, ($a2)
|
||||
/* B7A7BC 8010361C C7AA00B4 */ lwc1 $f10, 0xb4($sp)
|
||||
/* B7A7C0 80103620 C7A600B8 */ lwc1 $f6, 0xb8($sp)
|
||||
/* B7A7C4 80103624 460A8102 */ mul.s $f4, $f16, $f10
|
||||
/* B7A7C8 80103628 00000000 */ nop
|
||||
/* B7A7CC 8010362C 46069202 */ mul.s $f8, $f18, $f6
|
||||
/* B7A7D0 80103630 C7A600BC */ lwc1 $f6, 0xbc($sp)
|
||||
/* B7A7D4 80103634 46082280 */ add.s $f10, $f4, $f8
|
||||
/* B7A7D8 80103638 4606A102 */ mul.s $f4, $f20, $f6
|
||||
/* B7A7DC 8010363C 44833000 */ mtc1 $v1, $f6
|
||||
/* B7A7E0 80103640 46045200 */ add.s $f8, $f10, $f4
|
||||
/* B7A7E4 80103644 468032A0 */ cvt.s.w $f10, $f6
|
||||
/* B7A7E8 80103648 44813000 */ mtc1 $at, $f6
|
||||
/* B7A7EC 8010364C 460A4102 */ mul.s $f4, $f8, $f10
|
||||
/* B7A7F0 80103650 448B5000 */ mtc1 $t3, $f10
|
||||
/* B7A7F4 80103654 46062202 */ mul.s $f8, $f4, $f6
|
||||
/* B7A7F8 80103658 46805120 */ cvt.s.w $f4, $f10
|
||||
/* B7A7FC 8010365C 46082180 */ add.s $f6, $f4, $f8
|
||||
/* B7A800 80103660 4600328D */ trunc.w.s $f10, $f6
|
||||
/* B7A804 80103664 440D5000 */ mfc1 $t5, $f10
|
||||
/* B7A808 80103668 10000003 */ b .L80103678
|
||||
/* B7A80C 8010366C ACCD0004 */ sw $t5, 4($a2)
|
||||
.L80103670:
|
||||
/* B7A810 80103670 ACCE0000 */ sw $t6, ($a2)
|
||||
/* B7A814 80103674 ACCF0004 */ sw $t7, 4($a2)
|
||||
.L80103678:
|
||||
/* B7A818 80103678 C7A400CC */ lwc1 $f4, 0xcc($sp)
|
||||
/* B7A81C 8010367C C7A600D0 */ lwc1 $f6, 0xd0($sp)
|
||||
/* B7A820 80103680 3C018015 */ lui $at, %hi(D_8014B278)
|
||||
/* B7A824 80103684 46042202 */ mul.s $f8, $f4, $f4
|
||||
/* B7A828 80103688 E7A40040 */ swc1 $f4, 0x40($sp)
|
||||
/* B7A82C 8010368C 00026040 */ sll $t4, $v0, 1
|
||||
/* B7A830 80103690 46063282 */ mul.s $f10, $f6, $f6
|
||||
/* B7A834 80103694 00036840 */ sll $t5, $v1, 1
|
||||
/* B7A838 80103698 460A4200 */ add.s $f8, $f8, $f10
|
||||
/* B7A83C 8010369C C7AA00D4 */ lwc1 $f10, 0xd4($sp)
|
||||
/* B7A840 801036A0 460A5102 */ mul.s $f4, $f10, $f10
|
||||
/* B7A844 801036A4 46044000 */ add.s $f0, $f8, $f4
|
||||
/* B7A848 801036A8 46000004 */ sqrt.s $f0, $f0
|
||||
/* B7A84C 801036AC 46000221 */ cvt.d.s $f8, $f0
|
||||
/* B7A850 801036B0 4628B103 */ div.d $f4, $f22, $f8
|
||||
/* B7A854 801036B4 C7A80040 */ lwc1 $f8, 0x40($sp)
|
||||
/* B7A858 801036B8 462020A0 */ cvt.s.d $f2, $f4
|
||||
/* B7A85C 801036BC 46024102 */ mul.s $f4, $f8, $f2
|
||||
/* B7A860 801036C0 00000000 */ nop
|
||||
/* B7A864 801036C4 46023202 */ mul.s $f8, $f6, $f2
|
||||
/* B7A868 801036C8 00000000 */ nop
|
||||
/* B7A86C 801036CC 46025182 */ mul.s $f6, $f10, $f2
|
||||
/* B7A870 801036D0 C7AA0088 */ lwc1 $f10, 0x88($sp)
|
||||
/* B7A874 801036D4 E7A400CC */ swc1 $f4, 0xcc($sp)
|
||||
/* B7A878 801036D8 E7A800D0 */ swc1 $f8, 0xd0($sp)
|
||||
/* B7A87C 801036DC 460A2100 */ add.s $f4, $f4, $f10
|
||||
/* B7A880 801036E0 C7AA0084 */ lwc1 $f10, 0x84($sp)
|
||||
/* B7A884 801036E4 E7A600D4 */ swc1 $f6, 0xd4($sp)
|
||||
/* B7A888 801036E8 460A4200 */ add.s $f8, $f8, $f10
|
||||
/* B7A88C 801036EC C7AA0080 */ lwc1 $f10, 0x80($sp)
|
||||
/* B7A890 801036F0 E7A40054 */ swc1 $f4, 0x54($sp)
|
||||
/* B7A894 801036F4 460A3180 */ add.s $f6, $f6, $f10
|
||||
/* B7A898 801036F8 46042282 */ mul.s $f10, $f4, $f4
|
||||
/* B7A89C 801036FC E7A80050 */ swc1 $f8, 0x50($sp)
|
||||
/* B7A8A0 80103700 E7A6004C */ swc1 $f6, 0x4c($sp)
|
||||
/* B7A8A4 80103704 E7A60040 */ swc1 $f6, 0x40($sp)
|
||||
/* B7A8A8 80103708 46084182 */ mul.s $f6, $f8, $f8
|
||||
/* B7A8AC 8010370C 46065280 */ add.s $f10, $f10, $f6
|
||||
/* B7A8B0 80103710 C7A60040 */ lwc1 $f6, 0x40($sp)
|
||||
/* B7A8B4 80103714 E7A40040 */ swc1 $f4, 0x40($sp)
|
||||
/* B7A8B8 80103718 46063102 */ mul.s $f4, $f6, $f6
|
||||
/* B7A8BC 8010371C 46045000 */ add.s $f0, $f10, $f4
|
||||
/* B7A8C0 80103720 D42AB278 */ ldc1 $f10, %lo(D_8014B278)($at)
|
||||
/* B7A8C4 80103724 46000004 */ sqrt.s $f0, $f0
|
||||
/* B7A8C8 80103728 460003A1 */ cvt.d.s $f14, $f0
|
||||
/* B7A8CC 8010372C 462E503C */ c.lt.d $f10, $f14
|
||||
/* B7A8D0 80103730 00000000 */ nop
|
||||
/* B7A8D4 80103734 45000035 */ bc1f .L8010380C
|
||||
/* B7A8D8 80103738 00000000 */ nop
|
||||
/* B7A8DC 8010373C 462EB103 */ div.d $f4, $f22, $f14
|
||||
/* B7A8E0 80103740 C7AA0040 */ lwc1 $f10, 0x40($sp)
|
||||
/* B7A8E4 80103744 3C014000 */ li $at, 0x40000000 # 0.000000
|
||||
/* B7A8E8 80103748 44811000 */ mtc1 $at, $f2
|
||||
/* B7A8EC 8010374C 0002C080 */ sll $t8, $v0, 2
|
||||
/* B7A8F0 80103750 00034880 */ sll $t1, $v1, 2
|
||||
/* B7A8F4 80103754 46202320 */ cvt.s.d $f12, $f4
|
||||
/* B7A8F8 80103758 460C5402 */ mul.s $f16, $f10, $f12
|
||||
/* B7A8FC 8010375C 00000000 */ nop
|
||||
/* B7A900 80103760 460C4482 */ mul.s $f18, $f8, $f12
|
||||
/* B7A904 80103764 00000000 */ nop
|
||||
/* B7A908 80103768 460C3502 */ mul.s $f20, $f6, $f12
|
||||
/* B7A90C 8010376C 00000000 */ nop
|
||||
/* B7A910 80103770 46188102 */ mul.s $f4, $f16, $f24
|
||||
/* B7A914 80103774 00000000 */ nop
|
||||
/* B7A918 80103778 461A9282 */ mul.s $f10, $f18, $f26
|
||||
/* B7A91C 8010377C 460A2200 */ add.s $f8, $f4, $f10
|
||||
/* B7A920 80103780 461CA182 */ mul.s $f6, $f20, $f28
|
||||
/* B7A924 80103784 44825000 */ mtc1 $v0, $f10
|
||||
/* B7A928 80103788 46064100 */ add.s $f4, $f8, $f6
|
||||
/* B7A92C 8010378C 46805220 */ cvt.s.w $f8, $f10
|
||||
/* B7A930 80103790 46082182 */ mul.s $f6, $f4, $f8
|
||||
/* B7A934 80103794 44982000 */ mtc1 $t8, $f4
|
||||
/* B7A938 80103798 00000000 */ nop
|
||||
/* B7A93C 8010379C 46802220 */ cvt.s.w $f8, $f4
|
||||
/* B7A940 801037A0 46023282 */ mul.s $f10, $f6, $f2
|
||||
/* B7A944 801037A4 460A4180 */ add.s $f6, $f8, $f10
|
||||
/* B7A948 801037A8 4600310D */ trunc.w.s $f4, $f6
|
||||
/* B7A94C 801037AC 44082000 */ mfc1 $t0, $f4
|
||||
/* B7A950 801037B0 00000000 */ nop
|
||||
/* B7A954 801037B4 ACC80008 */ sw $t0, 8($a2)
|
||||
/* B7A958 801037B8 C7A800B4 */ lwc1 $f8, 0xb4($sp)
|
||||
/* B7A95C 801037BC C7A600B8 */ lwc1 $f6, 0xb8($sp)
|
||||
/* B7A960 801037C0 46088282 */ mul.s $f10, $f16, $f8
|
||||
/* B7A964 801037C4 00000000 */ nop
|
||||
/* B7A968 801037C8 46069102 */ mul.s $f4, $f18, $f6
|
||||
/* B7A96C 801037CC C7A600BC */ lwc1 $f6, 0xbc($sp)
|
||||
/* B7A970 801037D0 46045200 */ add.s $f8, $f10, $f4
|
||||
/* B7A974 801037D4 4606A282 */ mul.s $f10, $f20, $f6
|
||||
/* B7A978 801037D8 44833000 */ mtc1 $v1, $f6
|
||||
/* B7A97C 801037DC 460A4100 */ add.s $f4, $f8, $f10
|
||||
/* B7A980 801037E0 46803220 */ cvt.s.w $f8, $f6
|
||||
/* B7A984 801037E4 46082282 */ mul.s $f10, $f4, $f8
|
||||
/* B7A988 801037E8 44892000 */ mtc1 $t1, $f4
|
||||
/* B7A98C 801037EC 00000000 */ nop
|
||||
/* B7A990 801037F0 46802220 */ cvt.s.w $f8, $f4
|
||||
/* B7A994 801037F4 46025182 */ mul.s $f6, $f10, $f2
|
||||
/* B7A998 801037F8 46064280 */ add.s $f10, $f8, $f6
|
||||
/* B7A99C 801037FC 4600510D */ trunc.w.s $f4, $f10
|
||||
/* B7A9A0 80103800 440B2000 */ mfc1 $t3, $f4
|
||||
/* B7A9A4 80103804 10000003 */ b .L80103814
|
||||
/* B7A9A8 80103808 ACCB000C */ sw $t3, 0xc($a2)
|
||||
.L8010380C:
|
||||
/* B7A9AC 8010380C ACCC0008 */ sw $t4, 8($a2)
|
||||
/* B7A9B0 80103810 ACCD000C */ sw $t5, 0xc($a2)
|
||||
.L80103814:
|
||||
/* B7A9B4 80103814 3C0142FE */ li $at, 0x42FE0000 # 0.000000
|
||||
/* B7A9B8 80103818 44811000 */ mtc1 $at, $f2
|
||||
/* B7A9BC 8010381C 3C014300 */ li $at, 0x43000000 # 0.000000
|
||||
/* B7A9C0 80103820 44817000 */ mtc1 $at, $f14
|
||||
/* B7A9C4 80103824 24020080 */ li $v0, 128
|
||||
/* B7A9C8 80103828 460EC302 */ mul.s $f12, $f24, $f14
|
||||
/* B7A9CC 8010382C 4602603C */ c.lt.s $f12, $f2
|
||||
/* B7A9D0 80103830 00000000 */ nop
|
||||
/* B7A9D4 80103834 45020004 */ bc1fl .L80103848
|
||||
/* B7A9D8 80103838 46001006 */ mov.s $f0, $f2
|
||||
/* B7A9DC 8010383C 10000002 */ b .L80103848
|
||||
/* B7A9E0 80103840 46006006 */ mov.s $f0, $f12
|
||||
/* B7A9E4 80103844 46001006 */ mov.s $f0, $f2
|
||||
.L80103848:
|
||||
/* B7A9E8 80103848 460ED302 */ mul.s $f12, $f26, $f14
|
||||
/* B7A9EC 8010384C 4600020D */ trunc.w.s $f8, $f0
|
||||
/* B7A9F0 80103850 4602603C */ c.lt.s $f12, $f2
|
||||
/* B7A9F4 80103854 44184000 */ mfc1 $t8, $f8
|
||||
/* B7A9F8 80103858 45000003 */ bc1f .L80103868
|
||||
/* B7A9FC 8010385C A0B80008 */ sb $t8, 8($a1)
|
||||
/* B7AA00 80103860 10000002 */ b .L8010386C
|
||||
/* B7AA04 80103864 46006006 */ mov.s $f0, $f12
|
||||
.L80103868:
|
||||
/* B7AA08 80103868 46001006 */ mov.s $f0, $f2
|
||||
.L8010386C:
|
||||
/* B7AA0C 8010386C 460EE302 */ mul.s $f12, $f28, $f14
|
||||
/* B7AA10 80103870 4600018D */ trunc.w.s $f6, $f0
|
||||
/* B7AA14 80103874 4602603C */ c.lt.s $f12, $f2
|
||||
/* B7AA18 80103878 44093000 */ mfc1 $t1, $f6
|
||||
/* B7AA1C 8010387C 45000003 */ bc1f .L8010388C
|
||||
/* B7AA20 80103880 A0A90009 */ sb $t1, 9($a1)
|
||||
/* B7AA24 80103884 10000002 */ b .L80103890
|
||||
/* B7AA28 80103888 46006006 */ mov.s $f0, $f12
|
||||
.L8010388C:
|
||||
/* B7AA2C 8010388C 46001006 */ mov.s $f0, $f2
|
||||
.L80103890:
|
||||
/* B7AA30 80103890 4600028D */ trunc.w.s $f10, $f0
|
||||
/* B7AA34 80103894 440C5000 */ mfc1 $t4, $f10
|
||||
/* B7AA38 80103898 00000000 */ nop
|
||||
/* B7AA3C 8010389C A0AC000A */ sb $t4, 0xa($a1)
|
||||
/* B7AA40 801038A0 C7A400B4 */ lwc1 $f4, 0xb4($sp)
|
||||
/* B7AA44 801038A4 460E2302 */ mul.s $f12, $f4, $f14
|
||||
/* B7AA48 801038A8 4602603C */ c.lt.s $f12, $f2
|
||||
/* B7AA4C 801038AC 00000000 */ nop
|
||||
/* B7AA50 801038B0 45020004 */ bc1fl .L801038C4
|
||||
/* B7AA54 801038B4 46001006 */ mov.s $f0, $f2
|
||||
/* B7AA58 801038B8 10000002 */ b .L801038C4
|
||||
/* B7AA5C 801038BC 46006006 */ mov.s $f0, $f12
|
||||
/* B7AA60 801038C0 46001006 */ mov.s $f0, $f2
|
||||
.L801038C4:
|
||||
/* B7AA64 801038C4 4600020D */ trunc.w.s $f8, $f0
|
||||
/* B7AA68 801038C8 440F4000 */ mfc1 $t7, $f8
|
||||
/* B7AA6C 801038CC 00000000 */ nop
|
||||
/* B7AA70 801038D0 A0AF0018 */ sb $t7, 0x18($a1)
|
||||
/* B7AA74 801038D4 C7A600B8 */ lwc1 $f6, 0xb8($sp)
|
||||
/* B7AA78 801038D8 460E3302 */ mul.s $f12, $f6, $f14
|
||||
/* B7AA7C 801038DC 4602603C */ c.lt.s $f12, $f2
|
||||
/* B7AA80 801038E0 00000000 */ nop
|
||||
/* B7AA84 801038E4 45020004 */ bc1fl .L801038F8
|
||||
/* B7AA88 801038E8 46001006 */ mov.s $f0, $f2
|
||||
/* B7AA8C 801038EC 10000002 */ b .L801038F8
|
||||
/* B7AA90 801038F0 46006006 */ mov.s $f0, $f12
|
||||
/* B7AA94 801038F4 46001006 */ mov.s $f0, $f2
|
||||
.L801038F8:
|
||||
/* B7AA98 801038F8 4600028D */ trunc.w.s $f10, $f0
|
||||
/* B7AA9C 801038FC 44085000 */ mfc1 $t0, $f10
|
||||
/* B7AAA0 80103900 00000000 */ nop
|
||||
/* B7AAA4 80103904 A0A80019 */ sb $t0, 0x19($a1)
|
||||
/* B7AAA8 80103908 C7A400BC */ lwc1 $f4, 0xbc($sp)
|
||||
/* B7AAAC 8010390C 460E2302 */ mul.s $f12, $f4, $f14
|
||||
/* B7AAB0 80103910 4602603C */ c.lt.s $f12, $f2
|
||||
/* B7AAB4 80103914 00000000 */ nop
|
||||
/* B7AAB8 80103918 45020004 */ bc1fl .L8010392C
|
||||
/* B7AABC 8010391C 46001006 */ mov.s $f0, $f2
|
||||
/* B7AAC0 80103920 10000002 */ b .L8010392C
|
||||
/* B7AAC4 80103924 46006006 */ mov.s $f0, $f12
|
||||
/* B7AAC8 80103928 46001006 */ mov.s $f0, $f2
|
||||
.L8010392C:
|
||||
/* B7AACC 8010392C 4600020D */ trunc.w.s $f8, $f0
|
||||
/* B7AAD0 80103930 A0A00000 */ sb $zero, ($a1)
|
||||
/* B7AAD4 80103934 A0A00001 */ sb $zero, 1($a1)
|
||||
/* B7AAD8 80103938 A0A00002 */ sb $zero, 2($a1)
|
||||
/* B7AADC 8010393C 440B4000 */ mfc1 $t3, $f8
|
||||
/* B7AAE0 80103940 A0A00003 */ sb $zero, 3($a1)
|
||||
/* B7AAE4 80103944 A0A00004 */ sb $zero, 4($a1)
|
||||
/* B7AAE8 80103948 A0A00005 */ sb $zero, 5($a1)
|
||||
/* B7AAEC 8010394C A0A00006 */ sb $zero, 6($a1)
|
||||
/* B7AAF0 80103950 A0A00007 */ sb $zero, 7($a1)
|
||||
/* B7AAF4 80103954 A0A00010 */ sb $zero, 0x10($a1)
|
||||
/* B7AAF8 80103958 A0A20011 */ sb $v0, 0x11($a1)
|
||||
/* B7AAFC 8010395C A0A00012 */ sb $zero, 0x12($a1)
|
||||
/* B7AB00 80103960 A0A00013 */ sb $zero, 0x13($a1)
|
||||
/* B7AB04 80103964 A0A00014 */ sb $zero, 0x14($a1)
|
||||
/* B7AB08 80103968 A0A20015 */ sb $v0, 0x15($a1)
|
||||
/* B7AB0C 8010396C A0A00016 */ sb $zero, 0x16($a1)
|
||||
/* B7AB10 80103970 A0A00017 */ sb $zero, 0x17($a1)
|
||||
/* B7AB14 80103974 A0AB001A */ sb $t3, 0x1a($a1)
|
||||
/* B7AB18 80103978 E4980000 */ swc1 $f24, ($a0)
|
||||
/* B7AB1C 8010397C C7AE009C */ lwc1 $f14, 0x9c($sp)
|
||||
/* B7AB20 80103980 C7A200A0 */ lwc1 $f2, 0xa0($sp)
|
||||
/* B7AB24 80103984 C7AC00A4 */ lwc1 $f12, 0xa4($sp)
|
||||
/* B7AB28 80103988 46187182 */ mul.s $f6, $f14, $f24
|
||||
/* B7AB2C 8010398C E49A0010 */ swc1 $f26, 0x10($a0)
|
||||
/* B7AB30 80103990 E49C0020 */ swc1 $f28, 0x20($a0)
|
||||
/* B7AB34 80103994 461A1282 */ mul.s $f10, $f2, $f26
|
||||
/* B7AB38 80103998 44800000 */ mtc1 $zero, $f0
|
||||
/* B7AB3C 8010399C 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B7AB40 801039A0 461C6202 */ mul.s $f8, $f12, $f28
|
||||
/* B7AB44 801039A4 460A3100 */ add.s $f4, $f6, $f10
|
||||
/* B7AB48 801039A8 46082180 */ add.s $f6, $f4, $f8
|
||||
/* B7AB4C 801039AC 46003287 */ neg.s $f10, $f6
|
||||
/* B7AB50 801039B0 E48A0030 */ swc1 $f10, 0x30($a0)
|
||||
/* B7AB54 801039B4 C7A400B4 */ lwc1 $f4, 0xb4($sp)
|
||||
/* B7AB58 801039B8 E4840004 */ swc1 $f4, 4($a0)
|
||||
/* B7AB5C 801039BC C7A800B8 */ lwc1 $f8, 0xb8($sp)
|
||||
/* B7AB60 801039C0 E4880014 */ swc1 $f8, 0x14($a0)
|
||||
/* B7AB64 801039C4 C7A600BC */ lwc1 $f6, 0xbc($sp)
|
||||
/* B7AB68 801039C8 E4860024 */ swc1 $f6, 0x24($a0)
|
||||
/* B7AB6C 801039CC C7AA00B4 */ lwc1 $f10, 0xb4($sp)
|
||||
/* B7AB70 801039D0 C7A800B8 */ lwc1 $f8, 0xb8($sp)
|
||||
/* B7AB74 801039D4 460A7102 */ mul.s $f4, $f14, $f10
|
||||
/* B7AB78 801039D8 00000000 */ nop
|
||||
/* B7AB7C 801039DC 46081182 */ mul.s $f6, $f2, $f8
|
||||
/* B7AB80 801039E0 C7A800BC */ lwc1 $f8, 0xbc($sp)
|
||||
/* B7AB84 801039E4 46062280 */ add.s $f10, $f4, $f6
|
||||
/* B7AB88 801039E8 46086102 */ mul.s $f4, $f12, $f8
|
||||
/* B7AB8C 801039EC 46045180 */ add.s $f6, $f10, $f4
|
||||
/* B7AB90 801039F0 46003207 */ neg.s $f8, $f6
|
||||
/* B7AB94 801039F4 E4880034 */ swc1 $f8, 0x34($a0)
|
||||
/* B7AB98 801039F8 C7AA0088 */ lwc1 $f10, 0x88($sp)
|
||||
/* B7AB9C 801039FC E48A0008 */ swc1 $f10, 8($a0)
|
||||
/* B7ABA0 80103A00 C7A40084 */ lwc1 $f4, 0x84($sp)
|
||||
/* B7ABA4 80103A04 E4840018 */ swc1 $f4, 0x18($a0)
|
||||
/* B7ABA8 80103A08 C7A60080 */ lwc1 $f6, 0x80($sp)
|
||||
/* B7ABAC 80103A0C E4860028 */ swc1 $f6, 0x28($a0)
|
||||
/* B7ABB0 80103A10 C7A80088 */ lwc1 $f8, 0x88($sp)
|
||||
/* B7ABB4 80103A14 C7A40084 */ lwc1 $f4, 0x84($sp)
|
||||
/* B7ABB8 80103A18 46087282 */ mul.s $f10, $f14, $f8
|
||||
/* B7ABBC 80103A1C 00000000 */ nop
|
||||
/* B7ABC0 80103A20 46041182 */ mul.s $f6, $f2, $f4
|
||||
/* B7ABC4 80103A24 C7A40080 */ lwc1 $f4, 0x80($sp)
|
||||
/* B7ABC8 80103A28 E480000C */ swc1 $f0, 0xc($a0)
|
||||
/* B7ABCC 80103A2C E480001C */ swc1 $f0, 0x1c($a0)
|
||||
/* B7ABD0 80103A30 E480002C */ swc1 $f0, 0x2c($a0)
|
||||
/* B7ABD4 80103A34 46065200 */ add.s $f8, $f10, $f6
|
||||
/* B7ABD8 80103A38 46046282 */ mul.s $f10, $f12, $f4
|
||||
/* B7ABDC 80103A3C 460A4180 */ add.s $f6, $f8, $f10
|
||||
/* B7ABE0 80103A40 44814000 */ mtc1 $at, $f8
|
||||
/* B7ABE4 80103A44 46003107 */ neg.s $f4, $f6
|
||||
/* B7ABE8 80103A48 E488003C */ swc1 $f8, 0x3c($a0)
|
||||
/* B7ABEC 80103A4C E4840038 */ swc1 $f4, 0x38($a0)
|
||||
/* B7ABF0 80103A50 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* B7ABF4 80103A54 D7BC0030 */ ldc1 $f28, 0x30($sp)
|
||||
/* B7ABF8 80103A58 D7BA0028 */ ldc1 $f26, 0x28($sp)
|
||||
/* B7ABFC 80103A5C D7B80020 */ ldc1 $f24, 0x20($sp)
|
||||
/* B7AC00 80103A60 D7B60018 */ ldc1 $f22, 0x18($sp)
|
||||
/* B7AC04 80103A64 D7B40010 */ ldc1 $f20, 0x10($sp)
|
||||
/* B7AC08 80103A68 03E00008 */ jr $ra
|
||||
/* B7AC0C 80103A6C 27BD0090 */ addiu $sp, $sp, 0x90
|
||||
|
||||
glabel func_80103A70
|
||||
/* B7AC10 80103A70 27BDFF68 */ addiu $sp, $sp, -0x98
|
||||
/* B7AC14 80103A74 C7A400A8 */ lwc1 $f4, 0xa8($sp)
|
||||
/* B7AC18 80103A78 C7A600AC */ lwc1 $f6, 0xac($sp)
|
||||
/* B7AC1C 80103A7C C7A800B0 */ lwc1 $f8, 0xb0($sp)
|
||||
/* B7AC20 80103A80 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* B7AC24 80103A84 E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* B7AC28 80103A88 C7A600C4 */ lwc1 $f6, 0xc4($sp)
|
||||
/* B7AC2C 80103A8C C7A400C0 */ lwc1 $f4, 0xc0($sp)
|
||||
/* B7AC30 80103A90 C7AA00B4 */ lwc1 $f10, 0xb4($sp)
|
||||
/* B7AC34 80103A94 C7B000B8 */ lwc1 $f16, 0xb8($sp)
|
||||
/* B7AC38 80103A98 C7B200BC */ lwc1 $f18, 0xbc($sp)
|
||||
/* B7AC3C 80103A9C 44876000 */ mtc1 $a3, $f12
|
||||
/* B7AC40 80103AA0 E7A80018 */ swc1 $f8, 0x18($sp)
|
||||
/* B7AC44 80103AA4 E7A6002C */ swc1 $f6, 0x2c($sp)
|
||||
/* B7AC48 80103AA8 E7A40028 */ swc1 $f4, 0x28($sp)
|
||||
/* B7AC4C 80103AAC E7AA001C */ swc1 $f10, 0x1c($sp)
|
||||
/* B7AC50 80103AB0 E7B00020 */ swc1 $f16, 0x20($sp)
|
||||
/* B7AC54 80103AB4 E7B20024 */ swc1 $f18, 0x24($sp)
|
||||
/* B7AC58 80103AB8 C7B200D4 */ lwc1 $f18, 0xd4($sp)
|
||||
/* B7AC5C 80103ABC C7B000D0 */ lwc1 $f16, 0xd0($sp)
|
||||
/* B7AC60 80103AC0 C7AA00CC */ lwc1 $f10, 0xcc($sp)
|
||||
/* B7AC64 80103AC4 C7A400D8 */ lwc1 $f4, 0xd8($sp)
|
||||
/* B7AC68 80103AC8 C7A600DC */ lwc1 $f6, 0xdc($sp)
|
||||
/* B7AC6C 80103ACC C7A800C8 */ lwc1 $f8, 0xc8($sp)
|
||||
/* B7AC70 80103AD0 8FAE00E0 */ lw $t6, 0xe0($sp)
|
||||
/* B7AC74 80103AD4 8FAF00E4 */ lw $t7, 0xe4($sp)
|
||||
/* B7AC78 80103AD8 AFBF0054 */ sw $ra, 0x54($sp)
|
||||
/* B7AC7C 80103ADC AFA40098 */ sw $a0, 0x98($sp)
|
||||
/* B7AC80 80103AE0 44076000 */ mfc1 $a3, $f12
|
||||
/* B7AC84 80103AE4 27A40058 */ addiu $a0, $sp, 0x58
|
||||
/* B7AC88 80103AE8 E7B2003C */ swc1 $f18, 0x3c($sp)
|
||||
/* B7AC8C 80103AEC E7B00038 */ swc1 $f16, 0x38($sp)
|
||||
/* B7AC90 80103AF0 E7AA0034 */ swc1 $f10, 0x34($sp)
|
||||
/* B7AC94 80103AF4 E7A40040 */ swc1 $f4, 0x40($sp)
|
||||
/* B7AC98 80103AF8 E7A60044 */ swc1 $f6, 0x44($sp)
|
||||
/* B7AC9C 80103AFC E7A80030 */ swc1 $f8, 0x30($sp)
|
||||
/* B7ACA0 80103B00 AFAE0048 */ sw $t6, 0x48($sp)
|
||||
/* B7ACA4 80103B04 0C040CAC */ jal func_801032B0
|
||||
/* B7ACA8 80103B08 AFAF004C */ sw $t7, 0x4c($sp)
|
||||
/* B7ACAC 80103B0C 27A40058 */ addiu $a0, $sp, 0x58
|
||||
/* B7ACB0 80103B10 0C041938 */ jal func_801064E0
|
||||
/* B7ACB4 80103B14 8FA50098 */ lw $a1, 0x98($sp)
|
||||
/* B7ACB8 80103B18 8FBF0054 */ lw $ra, 0x54($sp)
|
||||
/* B7ACBC 80103B1C 27BD0098 */ addiu $sp, $sp, 0x98
|
||||
/* B7ACC0 80103B20 03E00008 */ jr $ra
|
||||
/* B7ACC4 80103B24 00000000 */ nop
|
||||
@@ -0,0 +1,31 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80103B60
|
||||
/* B7AD00 80103B60 20080001 */ addi $t0, $zero, 1
|
||||
/* B7AD04 80103B64 00084C00 */ sll $t1, $t0, 0x10
|
||||
/* B7AD08 80103B68 AC890000 */ sw $t1, ($a0)
|
||||
/* B7AD0C 80103B6C AC800004 */ sw $zero, 4($a0)
|
||||
/* B7AD10 80103B70 AC880008 */ sw $t0, 8($a0)
|
||||
/* B7AD14 80103B74 AC80000C */ sw $zero, 0xc($a0)
|
||||
/* B7AD18 80103B78 AC800010 */ sw $zero, 0x10($a0)
|
||||
/* B7AD1C 80103B7C AC890014 */ sw $t1, 0x14($a0)
|
||||
/* B7AD20 80103B80 AC800018 */ sw $zero, 0x18($a0)
|
||||
/* B7AD24 80103B84 AC88001C */ sw $t0, 0x1c($a0)
|
||||
/* B7AD28 80103B88 AC800020 */ sw $zero, 0x20($a0)
|
||||
/* B7AD2C 80103B8C AC800024 */ sw $zero, 0x24($a0)
|
||||
/* B7AD30 80103B90 AC800028 */ sw $zero, 0x28($a0)
|
||||
/* B7AD34 80103B94 AC80002C */ sw $zero, 0x2c($a0)
|
||||
/* B7AD38 80103B98 AC800030 */ sw $zero, 0x30($a0)
|
||||
/* B7AD3C 80103B9C AC800034 */ sw $zero, 0x34($a0)
|
||||
/* B7AD40 80103BA0 AC800038 */ sw $zero, 0x38($a0)
|
||||
/* B7AD44 80103BA4 03E00008 */ jr $ra
|
||||
/* B7AD48 80103BA8 AC80003C */ sw $zero, 0x3c($a0)
|
||||
@@ -0,0 +1,145 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80103BB0
|
||||
/* B7AD50 80103BB0 3C018013 */ lui $at, %hi(D_80134D00)
|
||||
/* B7AD54 80103BB4 C4204D00 */ lwc1 $f0, %lo(D_80134D00)($at)
|
||||
/* B7AD58 80103BB8 44856000 */ mtc1 $a1, $f12
|
||||
/* B7AD5C 80103BBC 44867000 */ mtc1 $a2, $f14
|
||||
/* B7AD60 80103BC0 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* B7AD64 80103BC4 46006302 */ mul.s $f12, $f12, $f0
|
||||
/* B7AD68 80103BC8 F7B40018 */ sdc1 $f20, 0x18($sp)
|
||||
/* B7AD6C 80103BCC 4487A000 */ mtc1 $a3, $f20
|
||||
/* B7AD70 80103BD0 46007382 */ mul.s $f14, $f14, $f0
|
||||
/* B7AD74 80103BD4 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B7AD78 80103BD8 AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* B7AD7C 80103BDC 4600A502 */ mul.s $f20, $f20, $f0
|
||||
/* B7AD80 80103BE0 00808025 */ move $s0, $a0
|
||||
/* B7AD84 80103BE4 F7B60020 */ sdc1 $f22, 0x20($sp)
|
||||
/* B7AD88 80103BE8 E7AC004C */ swc1 $f12, 0x4c($sp)
|
||||
/* B7AD8C 80103BEC E7AE0050 */ swc1 $f14, 0x50($sp)
|
||||
/* B7AD90 80103BF0 0C0400A4 */ jal sinf
|
||||
/* B7AD94 80103BF4 E7B40054 */ swc1 $f20, 0x54($sp)
|
||||
/* B7AD98 80103BF8 C7AC004C */ lwc1 $f12, 0x4c($sp)
|
||||
/* B7AD9C 80103BFC 0C041184 */ jal cosf
|
||||
/* B7ADA0 80103C00 46000506 */ mov.s $f20, $f0
|
||||
/* B7ADA4 80103C04 46000586 */ mov.s $f22, $f0
|
||||
/* B7ADA8 80103C08 0C0400A4 */ jal sinf
|
||||
/* B7ADAC 80103C0C C7AC0050 */ lwc1 $f12, 0x50($sp)
|
||||
/* B7ADB0 80103C10 E7A00040 */ swc1 $f0, 0x40($sp)
|
||||
/* B7ADB4 80103C14 0C041184 */ jal cosf
|
||||
/* B7ADB8 80103C18 C7AC0050 */ lwc1 $f12, 0x50($sp)
|
||||
/* B7ADBC 80103C1C C7AC0054 */ lwc1 $f12, 0x54($sp)
|
||||
/* B7ADC0 80103C20 0C0400A4 */ jal sinf
|
||||
/* B7ADC4 80103C24 E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
/* B7ADC8 80103C28 C7AC0054 */ lwc1 $f12, 0x54($sp)
|
||||
/* B7ADCC 80103C2C 0C041184 */ jal cosf
|
||||
/* B7ADD0 80103C30 E7A0003C */ swc1 $f0, 0x3c($sp)
|
||||
/* B7ADD4 80103C34 C7B00034 */ lwc1 $f16, 0x34($sp)
|
||||
/* B7ADD8 80103C38 C7A20058 */ lwc1 $f2, 0x58($sp)
|
||||
/* B7ADDC 80103C3C C7AE003C */ lwc1 $f14, 0x3c($sp)
|
||||
/* B7ADE0 80103C40 46008102 */ mul.s $f4, $f16, $f0
|
||||
/* B7ADE4 80103C44 44809000 */ mtc1 $zero, $f18
|
||||
/* B7ADE8 80103C48 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B7ADEC 80103C4C 46022182 */ mul.s $f6, $f4, $f2
|
||||
/* B7ADF0 80103C50 00000000 */ nop
|
||||
/* B7ADF4 80103C54 460E8202 */ mul.s $f8, $f16, $f14
|
||||
/* B7ADF8 80103C58 E6060000 */ swc1 $f6, ($s0)
|
||||
/* B7ADFC 80103C5C 46024282 */ mul.s $f10, $f8, $f2
|
||||
/* B7AE00 80103C60 E60A0004 */ swc1 $f10, 4($s0)
|
||||
/* B7AE04 80103C64 C7A40040 */ lwc1 $f4, 0x40($sp)
|
||||
/* B7AE08 80103C68 E612000C */ swc1 $f18, 0xc($s0)
|
||||
/* B7AE0C 80103C6C 46002187 */ neg.s $f6, $f4
|
||||
/* B7AE10 80103C70 46023202 */ mul.s $f8, $f6, $f2
|
||||
/* B7AE14 80103C74 E6080008 */ swc1 $f8, 8($s0)
|
||||
/* B7AE18 80103C78 C7AA0040 */ lwc1 $f10, 0x40($sp)
|
||||
/* B7AE1C 80103C7C E612001C */ swc1 $f18, 0x1c($s0)
|
||||
/* B7AE20 80103C80 460AA302 */ mul.s $f12, $f20, $f10
|
||||
/* B7AE24 80103C84 00000000 */ nop
|
||||
/* B7AE28 80103C88 46006102 */ mul.s $f4, $f12, $f0
|
||||
/* B7AE2C 80103C8C 00000000 */ nop
|
||||
/* B7AE30 80103C90 460EB182 */ mul.s $f6, $f22, $f14
|
||||
/* B7AE34 80103C94 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* B7AE38 80103C98 46024282 */ mul.s $f10, $f8, $f2
|
||||
/* B7AE3C 80103C9C 00000000 */ nop
|
||||
/* B7AE40 80103CA0 460E6102 */ mul.s $f4, $f12, $f14
|
||||
/* B7AE44 80103CA4 00000000 */ nop
|
||||
/* B7AE48 80103CA8 4600B182 */ mul.s $f6, $f22, $f0
|
||||
/* B7AE4C 80103CAC E60A0010 */ swc1 $f10, 0x10($s0)
|
||||
/* B7AE50 80103CB0 46062200 */ add.s $f8, $f4, $f6
|
||||
/* B7AE54 80103CB4 46024282 */ mul.s $f10, $f8, $f2
|
||||
/* B7AE58 80103CB8 00000000 */ nop
|
||||
/* B7AE5C 80103CBC 4610A102 */ mul.s $f4, $f20, $f16
|
||||
/* B7AE60 80103CC0 E60A0014 */ swc1 $f10, 0x14($s0)
|
||||
/* B7AE64 80103CC4 46022182 */ mul.s $f6, $f4, $f2
|
||||
/* B7AE68 80103CC8 E6060018 */ swc1 $f6, 0x18($s0)
|
||||
/* B7AE6C 80103CCC C7A80040 */ lwc1 $f8, 0x40($sp)
|
||||
/* B7AE70 80103CD0 E612002C */ swc1 $f18, 0x2c($s0)
|
||||
/* B7AE74 80103CD4 4608B302 */ mul.s $f12, $f22, $f8
|
||||
/* B7AE78 80103CD8 00000000 */ nop
|
||||
/* B7AE7C 80103CDC 46006282 */ mul.s $f10, $f12, $f0
|
||||
/* B7AE80 80103CE0 00000000 */ nop
|
||||
/* B7AE84 80103CE4 460EA102 */ mul.s $f4, $f20, $f14
|
||||
/* B7AE88 80103CE8 46045180 */ add.s $f6, $f10, $f4
|
||||
/* B7AE8C 80103CEC 46023202 */ mul.s $f8, $f6, $f2
|
||||
/* B7AE90 80103CF0 00000000 */ nop
|
||||
/* B7AE94 80103CF4 460E6282 */ mul.s $f10, $f12, $f14
|
||||
/* B7AE98 80103CF8 00000000 */ nop
|
||||
/* B7AE9C 80103CFC 4600A102 */ mul.s $f4, $f20, $f0
|
||||
/* B7AEA0 80103D00 E6080020 */ swc1 $f8, 0x20($s0)
|
||||
/* B7AEA4 80103D04 46045181 */ sub.s $f6, $f10, $f4
|
||||
/* B7AEA8 80103D08 46023202 */ mul.s $f8, $f6, $f2
|
||||
/* B7AEAC 80103D0C 00000000 */ nop
|
||||
/* B7AEB0 80103D10 4610B282 */ mul.s $f10, $f22, $f16
|
||||
/* B7AEB4 80103D14 E6080024 */ swc1 $f8, 0x24($s0)
|
||||
/* B7AEB8 80103D18 46025102 */ mul.s $f4, $f10, $f2
|
||||
/* B7AEBC 80103D1C E6040028 */ swc1 $f4, 0x28($s0)
|
||||
/* B7AEC0 80103D20 C7A6005C */ lwc1 $f6, 0x5c($sp)
|
||||
/* B7AEC4 80103D24 44812000 */ mtc1 $at, $f4
|
||||
/* B7AEC8 80103D28 E6060030 */ swc1 $f6, 0x30($s0)
|
||||
/* B7AECC 80103D2C C7A80060 */ lwc1 $f8, 0x60($sp)
|
||||
/* B7AED0 80103D30 E6080034 */ swc1 $f8, 0x34($s0)
|
||||
/* B7AED4 80103D34 C7AA0064 */ lwc1 $f10, 0x64($sp)
|
||||
/* B7AED8 80103D38 E604003C */ swc1 $f4, 0x3c($s0)
|
||||
/* B7AEDC 80103D3C E60A0038 */ swc1 $f10, 0x38($s0)
|
||||
/* B7AEE0 80103D40 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B7AEE4 80103D44 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* B7AEE8 80103D48 D7B60020 */ ldc1 $f22, 0x20($sp)
|
||||
/* B7AEEC 80103D4C D7B40018 */ ldc1 $f20, 0x18($sp)
|
||||
/* B7AEF0 80103D50 03E00008 */ jr $ra
|
||||
/* B7AEF4 80103D54 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
|
||||
glabel func_80103D58
|
||||
/* B7AEF8 80103D58 27BDFF98 */ addiu $sp, $sp, -0x68
|
||||
/* B7AEFC 80103D5C 44856000 */ mtc1 $a1, $f12
|
||||
/* B7AF00 80103D60 44867000 */ mtc1 $a2, $f14
|
||||
/* B7AF04 80103D64 C7A40078 */ lwc1 $f4, 0x78($sp)
|
||||
/* B7AF08 80103D68 C7A6007C */ lwc1 $f6, 0x7c($sp)
|
||||
/* B7AF0C 80103D6C C7A80080 */ lwc1 $f8, 0x80($sp)
|
||||
/* B7AF10 80103D70 C7AA0084 */ lwc1 $f10, 0x84($sp)
|
||||
/* B7AF14 80103D74 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B7AF18 80103D78 AFA40068 */ sw $a0, 0x68($sp)
|
||||
/* B7AF1C 80103D7C 44056000 */ mfc1 $a1, $f12
|
||||
/* B7AF20 80103D80 44067000 */ mfc1 $a2, $f14
|
||||
/* B7AF24 80103D84 AFA70074 */ sw $a3, 0x74($sp)
|
||||
/* B7AF28 80103D88 27A40028 */ addiu $a0, $sp, 0x28
|
||||
/* B7AF2C 80103D8C E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* B7AF30 80103D90 E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* B7AF34 80103D94 E7A80018 */ swc1 $f8, 0x18($sp)
|
||||
/* B7AF38 80103D98 0C040EEC */ jal func_80103BB0
|
||||
/* B7AF3C 80103D9C E7AA001C */ swc1 $f10, 0x1c($sp)
|
||||
/* B7AF40 80103DA0 27A40028 */ addiu $a0, $sp, 0x28
|
||||
/* B7AF44 80103DA4 0C041938 */ jal func_801064E0
|
||||
/* B7AF48 80103DA8 8FA50068 */ lw $a1, 0x68($sp)
|
||||
/* B7AF4C 80103DAC 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B7AF50 80103DB0 27BD0068 */ addiu $sp, $sp, 0x68
|
||||
/* B7AF54 80103DB4 03E00008 */ jr $ra
|
||||
/* B7AF58 80103DB8 00000000 */ nop
|
||||
@@ -0,0 +1,251 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80103DC0
|
||||
/* B7AF60 80103DC0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B7AF64 80103DC4 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B7AF68 80103DC8 0C04191C */ jal __osSpGetStatus
|
||||
/* B7AF6C 80103DCC AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B7AF70 80103DD0 304E0100 */ andi $t6, $v0, 0x100
|
||||
/* B7AF74 80103DD4 11C00003 */ beqz $t6, .L80103DE4
|
||||
/* B7AF78 80103DD8 8FA40018 */ lw $a0, 0x18($sp)
|
||||
/* B7AF7C 80103DDC 10000002 */ b .L80103DE8
|
||||
/* B7AF80 80103DE0 24030001 */ li $v1, 1
|
||||
.L80103DE4:
|
||||
/* B7AF84 80103DE4 00001825 */ move $v1, $zero
|
||||
.L80103DE8:
|
||||
/* B7AF88 80103DE8 304F0080 */ andi $t7, $v0, 0x80
|
||||
/* B7AF8C 80103DEC 51E00008 */ beql $t7, $zero, .L80103E10
|
||||
/* B7AF90 80103DF0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B7AF94 80103DF4 8C980004 */ lw $t8, 4($a0)
|
||||
/* B7AF98 80103DF8 2401FFFD */ li $at, -3
|
||||
/* B7AF9C 80103DFC 0303C825 */ or $t9, $t8, $v1
|
||||
/* B7AFA0 80103E00 AC990004 */ sw $t9, 4($a0)
|
||||
/* B7AFA4 80103E04 03214824 */ and $t1, $t9, $at
|
||||
/* B7AFA8 80103E08 AC890004 */ sw $t1, 4($a0)
|
||||
/* B7AFAC 80103E0C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L80103E10:
|
||||
/* B7AFB0 80103E10 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B7AFB4 80103E14 00601025 */ move $v0, $v1
|
||||
/* B7AFB8 80103E18 03E00008 */ jr $ra
|
||||
/* B7AFBC 80103E1C 00000000 */ nop
|
||||
|
||||
glabel func_80103E20
|
||||
/* B7AFC0 80103E20 27BDFFB8 */ addiu $sp, $sp, -0x48
|
||||
/* B7AFC4 80103E24 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B7AFC8 80103E28 00808025 */ move $s0, $a0
|
||||
/* B7AFCC 80103E2C AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B7AFD0 80103E30 AFA5004C */ sw $a1, 0x4c($sp)
|
||||
/* B7AFD4 80103E34 AFA60050 */ sw $a2, 0x50($sp)
|
||||
/* B7AFD8 80103E38 AFA70054 */ sw $a3, 0x54($sp)
|
||||
/* B7AFDC 80103E3C 27A60058 */ addiu $a2, $sp, 0x58
|
||||
/* B7AFE0 80103E40 27A50054 */ addiu $a1, $sp, 0x54
|
||||
/* B7AFE4 80103E44 0C041058 */ jal func_80104160
|
||||
/* B7AFE8 80103E48 27A40050 */ addiu $a0, $sp, 0x50
|
||||
/* B7AFEC 80103E4C 3C018013 */ lui $at, %hi(D_80134D10)
|
||||
/* B7AFF0 80103E50 C7AC004C */ lwc1 $f12, 0x4c($sp)
|
||||
/* B7AFF4 80103E54 C4244D10 */ lwc1 $f4, %lo(D_80134D10)($at)
|
||||
/* B7AFF8 80103E58 46046302 */ mul.s $f12, $f12, $f4
|
||||
/* B7AFFC 80103E5C 0C0400A4 */ jal sinf
|
||||
/* B7B000 80103E60 E7AC004C */ swc1 $f12, 0x4c($sp)
|
||||
/* B7B004 80103E64 C7AC004C */ lwc1 $f12, 0x4c($sp)
|
||||
/* B7B008 80103E68 0C041184 */ jal cosf
|
||||
/* B7B00C 80103E6C E7A00044 */ swc1 $f0, 0x44($sp)
|
||||
/* B7B010 80103E70 C7AC0050 */ lwc1 $f12, 0x50($sp)
|
||||
/* B7B014 80103E74 C7A80054 */ lwc1 $f8, 0x54($sp)
|
||||
/* B7B018 80103E78 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B7B01C 80103E7C 44813000 */ mtc1 $at, $f6
|
||||
/* B7B020 80103E80 46086282 */ mul.s $f10, $f12, $f8
|
||||
/* B7B024 80103E84 C7A40058 */ lwc1 $f4, 0x58($sp)
|
||||
/* B7B028 80103E88 46003081 */ sub.s $f2, $f6, $f0
|
||||
/* B7B02C 80103E8C 02002025 */ move $a0, $s0
|
||||
/* B7B030 80103E90 E7A00040 */ swc1 $f0, 0x40($sp)
|
||||
/* B7B034 80103E94 46025482 */ mul.s $f18, $f10, $f2
|
||||
/* B7B038 80103E98 00000000 */ nop
|
||||
/* B7B03C 80103E9C 46044182 */ mul.s $f6, $f8, $f4
|
||||
/* B7B040 80103EA0 E7B2003C */ swc1 $f18, 0x3c($sp)
|
||||
/* B7B044 80103EA4 46023282 */ mul.s $f10, $f6, $f2
|
||||
/* B7B048 80103EA8 00000000 */ nop
|
||||
/* B7B04C 80103EAC 460C2202 */ mul.s $f8, $f4, $f12
|
||||
/* B7B050 80103EB0 E7AA0038 */ swc1 $f10, 0x38($sp)
|
||||
/* B7B054 80103EB4 46024182 */ mul.s $f6, $f8, $f2
|
||||
/* B7B058 80103EB8 0C0406D0 */ jal func_80101B40
|
||||
/* B7B05C 80103EBC E7A60034 */ swc1 $f6, 0x34($sp)
|
||||
/* B7B060 80103EC0 C7AE0044 */ lwc1 $f14, 0x44($sp)
|
||||
/* B7B064 80103EC4 C7AA0050 */ lwc1 $f10, 0x50($sp)
|
||||
/* B7B068 80103EC8 C7A40054 */ lwc1 $f4, 0x54($sp)
|
||||
/* B7B06C 80103ECC C7A60058 */ lwc1 $f6, 0x58($sp)
|
||||
/* B7B070 80103ED0 460E5002 */ mul.s $f0, $f10, $f14
|
||||
/* B7B074 80103ED4 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B7B078 80103ED8 C7B00040 */ lwc1 $f16, 0x40($sp)
|
||||
/* B7B07C 80103EDC 460E2202 */ mul.s $f8, $f4, $f14
|
||||
/* B7B080 80103EE0 C7B2003C */ lwc1 $f18, 0x3c($sp)
|
||||
/* B7B084 80103EE4 460E3102 */ mul.s $f4, $f6, $f14
|
||||
/* B7B088 80103EE8 00000000 */ nop
|
||||
/* B7B08C 80103EEC 460A5082 */ mul.s $f2, $f10, $f10
|
||||
/* B7B090 80103EF0 E7A80028 */ swc1 $f8, 0x28($sp)
|
||||
/* B7B094 80103EF4 44814000 */ mtc1 $at, $f8
|
||||
/* B7B098 80103EF8 E7A40024 */ swc1 $f4, 0x24($sp)
|
||||
/* B7B09C 80103EFC 46024181 */ sub.s $f6, $f8, $f2
|
||||
/* B7B0A0 80103F00 46103102 */ mul.s $f4, $f6, $f16
|
||||
/* B7B0A4 80103F04 46022280 */ add.s $f10, $f4, $f2
|
||||
/* B7B0A8 80103F08 E60A0000 */ swc1 $f10, ($s0)
|
||||
/* B7B0AC 80103F0C C7A80038 */ lwc1 $f8, 0x38($sp)
|
||||
/* B7B0B0 80103F10 46004181 */ sub.s $f6, $f8, $f0
|
||||
/* B7B0B4 80103F14 E6060024 */ swc1 $f6, 0x24($s0)
|
||||
/* B7B0B8 80103F18 C7A40038 */ lwc1 $f4, 0x38($sp)
|
||||
/* B7B0BC 80103F1C 44813000 */ mtc1 $at, $f6
|
||||
/* B7B0C0 80103F20 46002280 */ add.s $f10, $f4, $f0
|
||||
/* B7B0C4 80103F24 E60A0018 */ swc1 $f10, 0x18($s0)
|
||||
/* B7B0C8 80103F28 C7A80054 */ lwc1 $f8, 0x54($sp)
|
||||
/* B7B0CC 80103F2C 46084302 */ mul.s $f12, $f8, $f8
|
||||
/* B7B0D0 80103F30 460C3101 */ sub.s $f4, $f6, $f12
|
||||
/* B7B0D4 80103F34 46102282 */ mul.s $f10, $f4, $f16
|
||||
/* B7B0D8 80103F38 460C5200 */ add.s $f8, $f10, $f12
|
||||
/* B7B0DC 80103F3C E6080014 */ swc1 $f8, 0x14($s0)
|
||||
/* B7B0E0 80103F40 C7A20034 */ lwc1 $f2, 0x34($sp)
|
||||
/* B7B0E4 80103F44 C7A60028 */ lwc1 $f6, 0x28($sp)
|
||||
/* B7B0E8 80103F48 46061100 */ add.s $f4, $f2, $f6
|
||||
/* B7B0EC 80103F4C E6040020 */ swc1 $f4, 0x20($s0)
|
||||
/* B7B0F0 80103F50 C7AA0028 */ lwc1 $f10, 0x28($sp)
|
||||
/* B7B0F4 80103F54 44812000 */ mtc1 $at, $f4
|
||||
/* B7B0F8 80103F58 460A1201 */ sub.s $f8, $f2, $f10
|
||||
/* B7B0FC 80103F5C E6080008 */ swc1 $f8, 8($s0)
|
||||
/* B7B100 80103F60 C7A60058 */ lwc1 $f6, 0x58($sp)
|
||||
/* B7B104 80103F64 46063002 */ mul.s $f0, $f6, $f6
|
||||
/* B7B108 80103F68 46002281 */ sub.s $f10, $f4, $f0
|
||||
/* B7B10C 80103F6C 46105202 */ mul.s $f8, $f10, $f16
|
||||
/* B7B110 80103F70 46004180 */ add.s $f6, $f8, $f0
|
||||
/* B7B114 80103F74 E6060028 */ swc1 $f6, 0x28($s0)
|
||||
/* B7B118 80103F78 C7A40024 */ lwc1 $f4, 0x24($sp)
|
||||
/* B7B11C 80103F7C 46049281 */ sub.s $f10, $f18, $f4
|
||||
/* B7B120 80103F80 E60A0010 */ swc1 $f10, 0x10($s0)
|
||||
/* B7B124 80103F84 C7A80024 */ lwc1 $f8, 0x24($sp)
|
||||
/* B7B128 80103F88 46089180 */ add.s $f6, $f18, $f8
|
||||
/* B7B12C 80103F8C E6060004 */ swc1 $f6, 4($s0)
|
||||
/* B7B130 80103F90 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* B7B134 80103F94 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B7B138 80103F98 27BD0048 */ addiu $sp, $sp, 0x48
|
||||
/* B7B13C 80103F9C 03E00008 */ jr $ra
|
||||
/* B7B140 80103FA0 00000000 */ nop
|
||||
|
||||
glabel func_80103FA4
|
||||
/* B7B144 80103FA4 27BDFFA0 */ addiu $sp, $sp, -0x60
|
||||
/* B7B148 80103FA8 44856000 */ mtc1 $a1, $f12
|
||||
/* B7B14C 80103FAC 44867000 */ mtc1 $a2, $f14
|
||||
/* B7B150 80103FB0 C7A40070 */ lwc1 $f4, 0x70($sp)
|
||||
/* B7B154 80103FB4 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B7B158 80103FB8 AFA40060 */ sw $a0, 0x60($sp)
|
||||
/* B7B15C 80103FBC 44056000 */ mfc1 $a1, $f12
|
||||
/* B7B160 80103FC0 44067000 */ mfc1 $a2, $f14
|
||||
/* B7B164 80103FC4 AFA7006C */ sw $a3, 0x6c($sp)
|
||||
/* B7B168 80103FC8 27A40020 */ addiu $a0, $sp, 0x20
|
||||
/* B7B16C 80103FCC 0C040F88 */ jal func_80103E20
|
||||
/* B7B170 80103FD0 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* B7B174 80103FD4 27A40020 */ addiu $a0, $sp, 0x20
|
||||
/* B7B178 80103FD8 0C041938 */ jal func_801064E0
|
||||
/* B7B17C 80103FDC 8FA50060 */ lw $a1, 0x60($sp)
|
||||
/* B7B180 80103FE0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* B7B184 80103FE4 27BD0060 */ addiu $sp, $sp, 0x60
|
||||
/* B7B188 80103FE8 03E00008 */ jr $ra
|
||||
/* B7B18C 80103FEC 00000000 */ nop
|
||||
|
||||
glabel func_80103FF0
|
||||
/* B7B190 80103FF0 3C058001 */ lui $a1, %hi(osViClock)
|
||||
/* B7B194 80103FF4 24A5ACF8 */ addiu $a1, %lo(osViClock) # addiu $a1, $a1, -0x5308
|
||||
/* B7B198 80103FF8 8CAE0000 */ lw $t6, ($a1)
|
||||
/* B7B19C 80103FFC 44844000 */ mtc1 $a0, $f8
|
||||
/* B7B1A0 80104000 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
||||
/* B7B1A4 80104004 448E2000 */ mtc1 $t6, $f4
|
||||
/* B7B1A8 80104008 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* B7B1AC 8010400C 04810004 */ bgez $a0, .L80104020
|
||||
/* B7B1B0 80104010 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* B7B1B4 80104014 44818000 */ mtc1 $at, $f16
|
||||
/* B7B1B8 80104018 00000000 */ nop
|
||||
/* B7B1BC 8010401C 46105280 */ add.s $f10, $f10, $f16
|
||||
.L80104020:
|
||||
/* B7B1C0 80104020 460A3483 */ div.s $f18, $f6, $f10
|
||||
/* B7B1C4 80104024 3C013F00 */ li $at, 0x3F000000 # 0.000000
|
||||
/* B7B1C8 80104028 44812000 */ mtc1 $at, $f4
|
||||
/* B7B1CC 8010402C 24030001 */ li $v1, 1
|
||||
/* B7B1D0 80104030 3C014F00 */ lui $at, 0x4f00
|
||||
/* B7B1D4 80104034 3C08A450 */ lui $t0, 0xa450
|
||||
/* B7B1D8 80104038 3C0AA450 */ li $t2, 0xA4500000 # 0.000000
|
||||
/* B7B1DC 8010403C 46049000 */ add.s $f0, $f18, $f4
|
||||
/* B7B1E0 80104040 444FF800 */ cfc1 $t7, $31
|
||||
/* B7B1E4 80104044 44C3F800 */ ctc1 $v1, $31
|
||||
/* B7B1E8 80104048 00000000 */ nop
|
||||
/* B7B1EC 8010404C 46000224 */ cvt.w.s $f8, $f0
|
||||
/* B7B1F0 80104050 4443F800 */ cfc1 $v1, $31
|
||||
/* B7B1F4 80104054 00000000 */ nop
|
||||
/* B7B1F8 80104058 30630078 */ andi $v1, $v1, 0x78
|
||||
/* B7B1FC 8010405C 50600013 */ beql $v1, $zero, .L801040AC
|
||||
/* B7B200 80104060 44034000 */ mfc1 $v1, $f8
|
||||
/* B7B204 80104064 44814000 */ mtc1 $at, $f8
|
||||
/* B7B208 80104068 24030001 */ li $v1, 1
|
||||
/* B7B20C 8010406C 46080201 */ sub.s $f8, $f0, $f8
|
||||
/* B7B210 80104070 44C3F800 */ ctc1 $v1, $31
|
||||
/* B7B214 80104074 00000000 */ nop
|
||||
/* B7B218 80104078 46004224 */ cvt.w.s $f8, $f8
|
||||
/* B7B21C 8010407C 4443F800 */ cfc1 $v1, $31
|
||||
/* B7B220 80104080 00000000 */ nop
|
||||
/* B7B224 80104084 30630078 */ andi $v1, $v1, 0x78
|
||||
/* B7B228 80104088 14600005 */ bnez $v1, .L801040A0
|
||||
/* B7B22C 8010408C 00000000 */ nop
|
||||
/* B7B230 80104090 44034000 */ mfc1 $v1, $f8
|
||||
/* B7B234 80104094 3C018000 */ lui $at, 0x8000
|
||||
/* B7B238 80104098 10000007 */ b .L801040B8
|
||||
/* B7B23C 8010409C 00611825 */ or $v1, $v1, $at
|
||||
.L801040A0:
|
||||
/* B7B240 801040A0 10000005 */ b .L801040B8
|
||||
/* B7B244 801040A4 2403FFFF */ li $v1, -1
|
||||
/* B7B248 801040A8 44034000 */ mfc1 $v1, $f8
|
||||
.L801040AC:
|
||||
/* B7B24C 801040AC 00000000 */ nop
|
||||
/* B7B250 801040B0 0460FFFB */ bltz $v1, .L801040A0
|
||||
/* B7B254 801040B4 00000000 */ nop
|
||||
.L801040B8:
|
||||
/* B7B258 801040B8 44CFF800 */ ctc1 $t7, $31
|
||||
/* B7B25C 801040BC 2C610084 */ sltiu $at, $v1, 0x84
|
||||
/* B7B260 801040C0 10200003 */ beqz $at, .L801040D0
|
||||
/* B7B264 801040C4 2479FFFF */ addiu $t9, $v1, -1
|
||||
/* B7B268 801040C8 03E00008 */ jr $ra
|
||||
/* B7B26C 801040CC 2402FFFF */ li $v0, -1
|
||||
|
||||
.L801040D0:
|
||||
/* B7B270 801040D0 24010042 */ li $at, 66
|
||||
/* B7B274 801040D4 0061001B */ divu $zero, $v1, $at
|
||||
/* B7B278 801040D8 00001012 */ mflo $v0
|
||||
/* B7B27C 801040DC 305800FF */ andi $t8, $v0, 0xff
|
||||
/* B7B280 801040E0 2B010011 */ slti $at, $t8, 0x11
|
||||
/* B7B284 801040E4 14200002 */ bnez $at, .L801040F0
|
||||
/* B7B288 801040E8 304400FF */ andi $a0, $v0, 0xff
|
||||
/* B7B28C 801040EC 24040010 */ li $a0, 16
|
||||
.L801040F0:
|
||||
/* B7B290 801040F0 AD190010 */ sw $t9, 0x10($t0)
|
||||
/* B7B294 801040F4 2489FFFF */ addiu $t1, $a0, -1
|
||||
/* B7B298 801040F8 AD490014 */ sw $t1, 0x14($t2)
|
||||
/* B7B29C 801040FC 8CAB0000 */ lw $t3, ($a1)
|
||||
/* B7B2A0 80104100 0163001A */ div $zero, $t3, $v1
|
||||
/* B7B2A4 80104104 00001012 */ mflo $v0
|
||||
/* B7B2A8 80104108 14600002 */ bnez $v1, .L80104114
|
||||
/* B7B2AC 8010410C 00000000 */ nop
|
||||
/* B7B2B0 80104110 0007000D */ break 7
|
||||
.L80104114:
|
||||
/* B7B2B4 80104114 2401FFFF */ li $at, -1
|
||||
/* B7B2B8 80104118 14610004 */ bne $v1, $at, .L8010412C
|
||||
/* B7B2BC 8010411C 3C018000 */ lui $at, 0x8000
|
||||
/* B7B2C0 80104120 15610002 */ bne $t3, $at, .L8010412C
|
||||
/* B7B2C4 80104124 00000000 */ nop
|
||||
/* B7B2C8 80104128 0006000D */ break 6
|
||||
.L8010412C:
|
||||
/* B7B2CC 8010412C 03E00008 */ jr $ra
|
||||
/* B7B2D0 80104130 00000000 */ nop
|
||||
@@ -0,0 +1,37 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
/* B7B2F0 80104150 00000000 */ nop
|
||||
/* B7B2F4 80104154 00000000 */ nop
|
||||
/* B7B2F8 80104158 00000000 */ nop
|
||||
/* B7B2FC 8010415C 00000000 */ nop
|
||||
glabel func_80104160
|
||||
/* B7B300 80104160 C4840000 */ lwc1 $f4, ($a0)
|
||||
/* B7B304 80104164 C4A60000 */ lwc1 $f6, ($a1)
|
||||
/* B7B308 80104168 C4C80000 */ lwc1 $f8, ($a2)
|
||||
/* B7B30C 8010416C 46042282 */ mul.s $f10, $f4, $f4
|
||||
/* B7B310 80104170 3C083F80 */ li $t0, 0x3F800000 # 0.000000
|
||||
/* B7B314 80104174 46063402 */ mul.s $f16, $f6, $f6
|
||||
/* B7B318 80104178 46105480 */ add.s $f18, $f10, $f16
|
||||
/* B7B31C 8010417C 46084402 */ mul.s $f16, $f8, $f8
|
||||
/* B7B320 80104180 46128280 */ add.s $f10, $f16, $f18
|
||||
/* B7B324 80104184 44889000 */ mtc1 $t0, $f18
|
||||
/* B7B328 80104188 46005404 */ sqrt.s $f16, $f10
|
||||
/* B7B32C 8010418C 46109283 */ div.s $f10, $f18, $f16
|
||||
/* B7B330 80104190 460A2402 */ mul.s $f16, $f4, $f10
|
||||
/* B7B334 80104194 00000000 */ nop
|
||||
/* B7B338 80104198 460A3482 */ mul.s $f18, $f6, $f10
|
||||
/* B7B33C 8010419C 00000000 */ nop
|
||||
/* B7B340 801041A0 460A4102 */ mul.s $f4, $f8, $f10
|
||||
/* B7B344 801041A4 E4900000 */ swc1 $f16, ($a0)
|
||||
/* B7B348 801041A8 E4B20000 */ swc1 $f18, ($a1)
|
||||
/* B7B34C 801041AC 03E00008 */ jr $ra
|
||||
/* B7B350 801041B0 E4C40000 */ swc1 $f4, ($a2)
|
||||
@@ -0,0 +1,184 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_801041E0
|
||||
/* B7B380 801041E0 27BDFE90 */ addiu $sp, $sp, -0x170
|
||||
/* B7B384 801041E4 AFB20024 */ sw $s2, 0x24($sp)
|
||||
/* B7B388 801041E8 AFA50174 */ sw $a1, 0x174($sp)
|
||||
/* B7B38C 801041EC 30AEFFFF */ andi $t6, $a1, 0xffff
|
||||
/* B7B390 801041F0 01C02825 */ move $a1, $t6
|
||||
/* B7B394 801041F4 00809025 */ move $s2, $a0
|
||||
/* B7B398 801041F8 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* B7B39C 801041FC AFB50030 */ sw $s5, 0x30($sp)
|
||||
/* B7B3A0 80104200 AFB4002C */ sw $s4, 0x2c($sp)
|
||||
/* B7B3A4 80104204 AFB30028 */ sw $s3, 0x28($sp)
|
||||
/* B7B3A8 80104208 AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* B7B3AC 8010420C 11C00003 */ beqz $t6, .L8010421C
|
||||
/* B7B3B0 80104210 AFB0001C */ sw $s0, 0x1c($sp)
|
||||
/* B7B3B4 80104214 14C00003 */ bnez $a2, .L80104224
|
||||
/* B7B3B8 80104218 02402025 */ move $a0, $s2
|
||||
.L8010421C:
|
||||
/* B7B3BC 8010421C 1000005D */ b .L80104394
|
||||
/* B7B3C0 80104220 24020005 */ li $v0, 5
|
||||
.L80104224:
|
||||
/* B7B3C4 80104224 8FAF0180 */ lw $t7, 0x180($sp)
|
||||
/* B7B3C8 80104228 27B8016C */ addiu $t8, $sp, 0x16c
|
||||
/* B7B3CC 8010422C AFB80014 */ sw $t8, 0x14($sp)
|
||||
/* B7B3D0 80104230 0C040C04 */ jal func_80103010
|
||||
/* B7B3D4 80104234 AFAF0010 */ sw $t7, 0x10($sp)
|
||||
/* B7B3D8 80104238 50400004 */ beql $v0, $zero, .L8010424C
|
||||
/* B7B3DC 8010423C 92590065 */ lbu $t9, 0x65($s2)
|
||||
/* B7B3E0 80104240 10000055 */ b .L80104398
|
||||
/* B7B3E4 80104244 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* B7B3E8 80104248 92590065 */ lbu $t9, 0x65($s2)
|
||||
.L8010424C:
|
||||
/* B7B3EC 8010424C 02402025 */ move $a0, $s2
|
||||
/* B7B3F0 80104250 53200008 */ beql $t9, $zero, .L80104274
|
||||
/* B7B3F4 80104254 8E48005C */ lw $t0, 0x5c($s2)
|
||||
/* B7B3F8 80104258 0C041320 */ jal func_80104C80
|
||||
/* B7B3FC 8010425C 00002825 */ move $a1, $zero
|
||||
/* B7B400 80104260 50400004 */ beql $v0, $zero, .L80104274
|
||||
/* B7B404 80104264 8E48005C */ lw $t0, 0x5c($s2)
|
||||
/* B7B408 80104268 1000004B */ b .L80104398
|
||||
/* B7B40C 8010426C 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* B7B410 80104270 8E48005C */ lw $t0, 0x5c($s2)
|
||||
.L80104274:
|
||||
/* B7B414 80104274 8FA9016C */ lw $t1, 0x16c($sp)
|
||||
/* B7B418 80104278 8E440004 */ lw $a0, 4($s2)
|
||||
/* B7B41C 8010427C 8E450008 */ lw $a1, 8($s2)
|
||||
/* B7B420 80104280 01093021 */ addu $a2, $t0, $t1
|
||||
/* B7B424 80104284 30CAFFFF */ andi $t2, $a2, 0xffff
|
||||
/* B7B428 80104288 01403025 */ move $a2, $t2
|
||||
/* B7B42C 8010428C 0C0417D0 */ jal func_80105F40
|
||||
/* B7B430 80104290 27A70048 */ addiu $a3, $sp, 0x48
|
||||
/* B7B434 80104294 10400003 */ beqz $v0, .L801042A4
|
||||
/* B7B438 80104298 93B0004E */ lbu $s0, 0x4e($sp)
|
||||
/* B7B43C 8010429C 1000003E */ b .L80104398
|
||||
/* B7B440 801042A0 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
.L801042A4:
|
||||
/* B7B444 801042A4 92420064 */ lbu $v0, 0x64($s2)
|
||||
/* B7B448 801042A8 93B3004F */ lbu $s3, 0x4f($sp)
|
||||
/* B7B44C 801042AC 24150001 */ li $s5, 1
|
||||
/* B7B450 801042B0 0202082A */ slt $at, $s0, $v0
|
||||
/* B7B454 801042B4 10200026 */ beqz $at, .L80104350
|
||||
/* B7B458 801042B8 27B40044 */ addiu $s4, $sp, 0x44
|
||||
/* B7B45C 801042BC 27B10068 */ addiu $s1, $sp, 0x68
|
||||
/* B7B460 801042C0 02402025 */ move $a0, $s2
|
||||
.L801042C4:
|
||||
/* B7B464 801042C4 02202825 */ move $a1, $s1
|
||||
/* B7B468 801042C8 00003025 */ move $a2, $zero
|
||||
/* B7B46C 801042CC 0C040B31 */ jal func_80102CC4
|
||||
/* B7B470 801042D0 320700FF */ andi $a3, $s0, 0xff
|
||||
/* B7B474 801042D4 10400003 */ beqz $v0, .L801042E4
|
||||
/* B7B478 801042D8 02402025 */ move $a0, $s2
|
||||
/* B7B47C 801042DC 1000002E */ b .L80104398
|
||||
/* B7B480 801042E0 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
.L801042E4:
|
||||
/* B7B484 801042E4 02202825 */ move $a1, $s1
|
||||
/* B7B488 801042E8 326600FF */ andi $a2, $s3, 0xff
|
||||
/* B7B48C 801042EC 320700FF */ andi $a3, $s0, 0xff
|
||||
/* B7B490 801042F0 0C0410EE */ jal func_801043B8
|
||||
/* B7B494 801042F4 AFB40010 */ sw $s4, 0x10($sp)
|
||||
/* B7B498 801042F8 10400003 */ beqz $v0, .L80104308
|
||||
/* B7B49C 801042FC 02402025 */ move $a0, $s2
|
||||
/* B7B4A0 80104300 10000025 */ b .L80104398
|
||||
/* B7B4A4 80104304 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
.L80104308:
|
||||
/* B7B4A8 80104308 02202825 */ move $a1, $s1
|
||||
/* B7B4AC 8010430C 24060001 */ li $a2, 1
|
||||
/* B7B4B0 80104310 0C040B31 */ jal func_80102CC4
|
||||
/* B7B4B4 80104314 320700FF */ andi $a3, $s0, 0xff
|
||||
/* B7B4B8 80104318 10400003 */ beqz $v0, .L80104328
|
||||
/* B7B4BC 8010431C 97AC0044 */ lhu $t4, 0x44($sp)
|
||||
/* B7B4C0 80104320 1000001D */ b .L80104398
|
||||
/* B7B4C4 80104324 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
.L80104328:
|
||||
/* B7B4C8 80104328 56AC0004 */ bnel $s5, $t4, .L8010433C
|
||||
/* B7B4CC 8010432C 92420064 */ lbu $v0, 0x64($s2)
|
||||
/* B7B4D0 80104330 10000007 */ b .L80104350
|
||||
/* B7B4D4 80104334 92420064 */ lbu $v0, 0x64($s2)
|
||||
/* B7B4D8 80104338 92420064 */ lbu $v0, 0x64($s2)
|
||||
.L8010433C:
|
||||
/* B7B4DC 8010433C 93B00044 */ lbu $s0, 0x44($sp)
|
||||
/* B7B4E0 80104340 93B30045 */ lbu $s3, 0x45($sp)
|
||||
/* B7B4E4 80104344 0202082A */ slt $at, $s0, $v0
|
||||
/* B7B4E8 80104348 5420FFDE */ bnezl $at, .L801042C4
|
||||
/* B7B4EC 8010434C 02402025 */ move $a0, $s2
|
||||
.L80104350:
|
||||
/* B7B4F0 80104350 0202082A */ slt $at, $s0, $v0
|
||||
/* B7B4F4 80104354 14200003 */ bnez $at, .L80104364
|
||||
/* B7B4F8 80104358 27A40048 */ addiu $a0, $sp, 0x48
|
||||
/* B7B4FC 8010435C 1000000D */ b .L80104394
|
||||
/* B7B500 80104360 24020003 */ li $v0, 3
|
||||
.L80104364:
|
||||
/* B7B504 80104364 0C001114 */ jal bzero
|
||||
/* B7B508 80104368 24050020 */ li $a1, 32
|
||||
/* B7B50C 8010436C 8E4D005C */ lw $t5, 0x5c($s2)
|
||||
/* B7B510 80104370 8FAE016C */ lw $t6, 0x16c($sp)
|
||||
/* B7B514 80104374 8E440004 */ lw $a0, 4($s2)
|
||||
/* B7B518 80104378 8E450008 */ lw $a1, 8($s2)
|
||||
/* B7B51C 8010437C 01AE3021 */ addu $a2, $t5, $t6
|
||||
/* B7B520 80104380 30CFFFFF */ andi $t7, $a2, 0xffff
|
||||
/* B7B524 80104384 01E03025 */ move $a2, $t7
|
||||
/* B7B528 80104388 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* B7B52C 8010438C 0C04173C */ jal func_80105CF0
|
||||
/* B7B530 80104390 27A70048 */ addiu $a3, $sp, 0x48
|
||||
.L80104394:
|
||||
/* B7B534 80104394 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
.L80104398:
|
||||
/* B7B538 80104398 8FB0001C */ lw $s0, 0x1c($sp)
|
||||
/* B7B53C 8010439C 8FB10020 */ lw $s1, 0x20($sp)
|
||||
/* B7B540 801043A0 8FB20024 */ lw $s2, 0x24($sp)
|
||||
/* B7B544 801043A4 8FB30028 */ lw $s3, 0x28($sp)
|
||||
/* B7B548 801043A8 8FB4002C */ lw $s4, 0x2c($sp)
|
||||
/* B7B54C 801043AC 8FB50030 */ lw $s5, 0x30($sp)
|
||||
/* B7B550 801043B0 03E00008 */ jr $ra
|
||||
/* B7B554 801043B4 27BD0170 */ addiu $sp, $sp, 0x170
|
||||
|
||||
glabel func_801043B8
|
||||
/* B7B558 801043B8 27BDFFF0 */ addiu $sp, $sp, -0x10
|
||||
/* B7B55C 801043BC 30E200FF */ andi $v0, $a3, 0xff
|
||||
/* B7B560 801043C0 30CE00FF */ andi $t6, $a2, 0xff
|
||||
/* B7B564 801043C4 0002C200 */ sll $t8, $v0, 8
|
||||
/* B7B568 801043C8 AFA60018 */ sw $a2, 0x18($sp)
|
||||
/* B7B56C 801043CC AFA7001C */ sw $a3, 0x1c($sp)
|
||||
/* B7B570 801043D0 030EC821 */ addu $t9, $t8, $t6
|
||||
/* B7B574 801043D4 A7B9000C */ sh $t9, 0xc($sp)
|
||||
/* B7B578 801043D8 24070003 */ li $a3, 3
|
||||
/* B7B57C 801043DC 27A6000C */ addiu $a2, $sp, 0xc
|
||||
/* B7B580 801043E0 27A30008 */ addiu $v1, $sp, 8
|
||||
/* B7B584 801043E4 94C10000 */ lhu $at, ($a2)
|
||||
.L801043E8:
|
||||
/* B7B588 801043E8 A4610000 */ sh $at, ($v1)
|
||||
/* B7B58C 801043EC 93AB000D */ lbu $t3, 0xd($sp)
|
||||
/* B7B590 801043F0 000B6040 */ sll $t4, $t3, 1
|
||||
/* B7B594 801043F4 00AC6821 */ addu $t5, $a1, $t4
|
||||
/* B7B598 801043F8 95A10000 */ lhu $at, ($t5)
|
||||
/* B7B59C 801043FC A4C10000 */ sh $at, ($a2)
|
||||
/* B7B5A0 80104400 93B90009 */ lbu $t9, 9($sp)
|
||||
/* B7B5A4 80104404 00194840 */ sll $t1, $t9, 1
|
||||
/* B7B5A8 80104408 00A94021 */ addu $t0, $a1, $t1
|
||||
/* B7B5AC 8010440C A5070000 */ sh $a3, ($t0)
|
||||
/* B7B5B0 80104410 8C8B0060 */ lw $t3, 0x60($a0)
|
||||
/* B7B5B4 80104414 97AA000C */ lhu $t2, 0xc($sp)
|
||||
/* B7B5B8 80104418 93AC000C */ lbu $t4, 0xc($sp)
|
||||
/* B7B5BC 8010441C 014B082A */ slt $at, $t2, $t3
|
||||
/* B7B5C0 80104420 54200004 */ bnezl $at, .L80104434
|
||||
/* B7B5C4 80104424 8FAF0020 */ lw $t7, 0x20($sp)
|
||||
/* B7B5C8 80104428 504CFFEF */ beql $v0, $t4, .L801043E8
|
||||
/* B7B5CC 8010442C 94C10000 */ lhu $at, ($a2)
|
||||
/* B7B5D0 80104430 8FAF0020 */ lw $t7, 0x20($sp)
|
||||
.L80104434:
|
||||
/* B7B5D4 80104434 94C10000 */ lhu $at, ($a2)
|
||||
/* B7B5D8 80104438 27BD0010 */ addiu $sp, $sp, 0x10
|
||||
/* B7B5DC 8010443C 00001025 */ move $v0, $zero
|
||||
/* B7B5E0 80104440 03E00008 */ jr $ra
|
||||
/* B7B5E4 80104444 A5E10000 */ sh $at, ($t7)
|
||||
@@ -0,0 +1,126 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80104450
|
||||
/* B7B5F0 80104450 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B7B5F4 80104454 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B7B5F8 80104458 AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* B7B5FC 8010445C AFA60020 */ sw $a2, 0x20($sp)
|
||||
/* B7B600 80104460 AFA70024 */ sw $a3, 0x24($sp)
|
||||
/* B7B604 80104464 0C0406D0 */ jal func_80101B40
|
||||
/* B7B608 80104468 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B7B60C 8010446C C7A40020 */ lwc1 $f4, 0x20($sp)
|
||||
/* B7B610 80104470 C7A6001C */ lwc1 $f6, 0x1c($sp)
|
||||
/* B7B614 80104474 3C014000 */ li $at, 0x40000000 # 0.000000
|
||||
/* B7B618 80104478 44814000 */ mtc1 $at, $f8
|
||||
/* B7B61C 8010447C 46062001 */ sub.s $f0, $f4, $f6
|
||||
/* B7B620 80104480 8FA20018 */ lw $v0, 0x18($sp)
|
||||
/* B7B624 80104484 C7AE0028 */ lwc1 $f14, 0x28($sp)
|
||||
/* B7B628 80104488 C7B00030 */ lwc1 $f16, 0x30($sp)
|
||||
/* B7B62C 8010448C 46004283 */ div.s $f10, $f8, $f0
|
||||
/* B7B630 80104490 C7B2002C */ lwc1 $f18, 0x2c($sp)
|
||||
/* B7B634 80104494 44813000 */ mtc1 $at, $f6
|
||||
/* B7B638 80104498 3C01C000 */ li $at, 0xC0000000 # 0.000000
|
||||
/* B7B63C 8010449C 46128301 */ sub.s $f12, $f16, $f18
|
||||
/* B7B640 801044A0 00001825 */ move $v1, $zero
|
||||
/* B7B644 801044A4 24040004 */ li $a0, 4
|
||||
/* B7B648 801044A8 E44A0000 */ swc1 $f10, ($v0)
|
||||
/* B7B64C 801044AC C7A40024 */ lwc1 $f4, 0x24($sp)
|
||||
/* B7B650 801044B0 44815000 */ mtc1 $at, $f10
|
||||
/* B7B654 801044B4 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B7B658 801044B8 46047081 */ sub.s $f2, $f14, $f4
|
||||
/* B7B65C 801044BC 460C5103 */ div.s $f4, $f10, $f12
|
||||
/* B7B660 801044C0 46023203 */ div.s $f8, $f6, $f2
|
||||
/* B7B664 801044C4 E4440028 */ swc1 $f4, 0x28($v0)
|
||||
/* B7B668 801044C8 E4480014 */ swc1 $f8, 0x14($v0)
|
||||
/* B7B66C 801044CC C7A8001C */ lwc1 $f8, 0x1c($sp)
|
||||
/* B7B670 801044D0 C7A60020 */ lwc1 $f6, 0x20($sp)
|
||||
/* B7B674 801044D4 46083280 */ add.s $f10, $f6, $f8
|
||||
/* B7B678 801044D8 46005107 */ neg.s $f4, $f10
|
||||
/* B7B67C 801044DC 46002183 */ div.s $f6, $f4, $f0
|
||||
/* B7B680 801044E0 E4460030 */ swc1 $f6, 0x30($v0)
|
||||
/* B7B684 801044E4 C7A80024 */ lwc1 $f8, 0x24($sp)
|
||||
/* B7B688 801044E8 46087280 */ add.s $f10, $f14, $f8
|
||||
/* B7B68C 801044EC 46128200 */ add.s $f8, $f16, $f18
|
||||
/* B7B690 801044F0 46005107 */ neg.s $f4, $f10
|
||||
/* B7B694 801044F4 46004287 */ neg.s $f10, $f8
|
||||
/* B7B698 801044F8 46022183 */ div.s $f6, $f4, $f2
|
||||
/* B7B69C 801044FC 460C5103 */ div.s $f4, $f10, $f12
|
||||
/* B7B6A0 80104500 E4460034 */ swc1 $f6, 0x34($v0)
|
||||
/* B7B6A4 80104504 44813000 */ mtc1 $at, $f6
|
||||
/* B7B6A8 80104508 00000000 */ nop
|
||||
/* B7B6AC 8010450C E446003C */ swc1 $f6, 0x3c($v0)
|
||||
/* B7B6B0 80104510 E4440038 */ swc1 $f4, 0x38($v0)
|
||||
/* B7B6B4 80104514 C7A00034 */ lwc1 $f0, 0x34($sp)
|
||||
/* B7B6B8 80104518 C4480000 */ lwc1 $f8, ($v0)
|
||||
/* B7B6BC 8010451C 24630001 */ addiu $v1, $v1, 1
|
||||
/* B7B6C0 80104520 C4520004 */ lwc1 $f18, 4($v0)
|
||||
/* B7B6C4 80104524 46004302 */ mul.s $f12, $f8, $f0
|
||||
/* B7B6C8 80104528 C44E0008 */ lwc1 $f14, 8($v0)
|
||||
/* B7B6CC 8010452C 10640010 */ beq $v1, $a0, .L80104570
|
||||
/* B7B6D0 80104530 C450000C */ lwc1 $f16, 0xc($v0)
|
||||
.L80104534:
|
||||
/* B7B6D4 80104534 46009282 */ mul.s $f10, $f18, $f0
|
||||
/* B7B6D8 80104538 C4480010 */ lwc1 $f8, 0x10($v0)
|
||||
/* B7B6DC 8010453C C4520014 */ lwc1 $f18, 0x14($v0)
|
||||
/* B7B6E0 80104540 46007182 */ mul.s $f6, $f14, $f0
|
||||
/* B7B6E4 80104544 C44E0018 */ lwc1 $f14, 0x18($v0)
|
||||
/* B7B6E8 80104548 24630001 */ addiu $v1, $v1, 1
|
||||
/* B7B6EC 8010454C 46008102 */ mul.s $f4, $f16, $f0
|
||||
/* B7B6F0 80104550 C450001C */ lwc1 $f16, 0x1c($v0)
|
||||
/* B7B6F4 80104554 E44C0000 */ swc1 $f12, ($v0)
|
||||
/* B7B6F8 80104558 46004302 */ mul.s $f12, $f8, $f0
|
||||
/* B7B6FC 8010455C E44A0004 */ swc1 $f10, 4($v0)
|
||||
/* B7B700 80104560 E4460008 */ swc1 $f6, 8($v0)
|
||||
/* B7B704 80104564 24420010 */ addiu $v0, $v0, 0x10
|
||||
/* B7B708 80104568 1464FFF2 */ bne $v1, $a0, .L80104534
|
||||
/* B7B70C 8010456C E444FFFC */ swc1 $f4, -4($v0)
|
||||
.L80104570:
|
||||
/* B7B710 80104570 46009282 */ mul.s $f10, $f18, $f0
|
||||
/* B7B714 80104574 24420010 */ addiu $v0, $v0, 0x10
|
||||
/* B7B718 80104578 E44CFFF0 */ swc1 $f12, -0x10($v0)
|
||||
/* B7B71C 8010457C 46007182 */ mul.s $f6, $f14, $f0
|
||||
/* B7B720 80104580 00000000 */ nop
|
||||
/* B7B724 80104584 46008102 */ mul.s $f4, $f16, $f0
|
||||
/* B7B728 80104588 E44AFFF4 */ swc1 $f10, -0xc($v0)
|
||||
/* B7B72C 8010458C E446FFF8 */ swc1 $f6, -8($v0)
|
||||
/* B7B730 80104590 E444FFFC */ swc1 $f4, -4($v0)
|
||||
/* B7B734 80104594 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B7B738 80104598 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B7B73C 8010459C 03E00008 */ jr $ra
|
||||
/* B7B740 801045A0 00000000 */ nop
|
||||
|
||||
glabel func_801045A4
|
||||
/* B7B744 801045A4 27BDFF98 */ addiu $sp, $sp, -0x68
|
||||
/* B7B748 801045A8 44856000 */ mtc1 $a1, $f12
|
||||
/* B7B74C 801045AC 44867000 */ mtc1 $a2, $f14
|
||||
/* B7B750 801045B0 C7A40078 */ lwc1 $f4, 0x78($sp)
|
||||
/* B7B754 801045B4 C7A6007C */ lwc1 $f6, 0x7c($sp)
|
||||
/* B7B758 801045B8 C7A80080 */ lwc1 $f8, 0x80($sp)
|
||||
/* B7B75C 801045BC C7AA0084 */ lwc1 $f10, 0x84($sp)
|
||||
/* B7B760 801045C0 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B7B764 801045C4 AFA40068 */ sw $a0, 0x68($sp)
|
||||
/* B7B768 801045C8 44056000 */ mfc1 $a1, $f12
|
||||
/* B7B76C 801045CC 44067000 */ mfc1 $a2, $f14
|
||||
/* B7B770 801045D0 AFA70074 */ sw $a3, 0x74($sp)
|
||||
/* B7B774 801045D4 27A40028 */ addiu $a0, $sp, 0x28
|
||||
/* B7B778 801045D8 E7A40010 */ swc1 $f4, 0x10($sp)
|
||||
/* B7B77C 801045DC E7A60014 */ swc1 $f6, 0x14($sp)
|
||||
/* B7B780 801045E0 E7A80018 */ swc1 $f8, 0x18($sp)
|
||||
/* B7B784 801045E4 0C041114 */ jal func_80104450
|
||||
/* B7B788 801045E8 E7AA001C */ swc1 $f10, 0x1c($sp)
|
||||
/* B7B78C 801045EC 27A40028 */ addiu $a0, $sp, 0x28
|
||||
/* B7B790 801045F0 0C041938 */ jal func_801064E0
|
||||
/* B7B794 801045F4 8FA50068 */ lw $a1, 0x68($sp)
|
||||
/* B7B798 801045F8 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B7B79C 801045FC 27BD0068 */ addiu $sp, $sp, 0x68
|
||||
/* B7B7A0 80104600 03E00008 */ jr $ra
|
||||
/* B7B7A4 80104604 00000000 */ nop
|
||||
@@ -0,0 +1,217 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80104810
|
||||
/* B7B9B0 80104810 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* B7B9B4 80104814 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* B7B9B8 80104818 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* B7B9BC 8010481C AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* B7B9C0 80104820 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* B7B9C4 80104824 00809025 */ move $s2, $a0
|
||||
/* B7B9C8 80104828 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* B7B9CC 8010482C AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* B7B9D0 80104830 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* B7B9D4 80104834 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* B7B9D8 80104838 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* B7B9DC 8010483C AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B7B9E0 80104840 AFA50074 */ sw $a1, 0x74($sp)
|
||||
/* B7B9E4 80104844 0000A825 */ move $s5, $zero
|
||||
/* B7B9E8 80104848 0C0402E8 */ jal __osSiGetAccess
|
||||
/* B7B9EC 8010484C 24110003 */ li $s1, 3
|
||||
/* B7B9F0 80104850 3C1E8017 */ lui $fp, %hi(_osCont_numControllers) # $fp, 0x8017
|
||||
/* B7B9F4 80104854 3C138017 */ lui $s3, %hi(D_80175960) # $s3, 0x8017
|
||||
/* B7B9F8 80104858 26735960 */ addiu $s3, %lo(D_80175960) # addiu $s3, $s3, 0x5960
|
||||
/* B7B9FC 8010485C 27DE5811 */ addiu $fp, %lo(_osCont_numControllers) # addiu $fp, $fp, 0x5811
|
||||
/* B7BA00 80104860 00008025 */ move $s0, $zero
|
||||
/* B7BA04 80104864 27B70054 */ addiu $s7, $sp, 0x54
|
||||
/* B7BA08 80104868 27B60067 */ addiu $s6, $sp, 0x67
|
||||
/* B7BA0C 8010486C 27B40068 */ addiu $s4, $sp, 0x68
|
||||
.L80104870:
|
||||
/* B7BA10 80104870 0C041267 */ jal func_8010499C
|
||||
/* B7BA14 80104874 00002025 */ move $a0, $zero
|
||||
/* B7BA18 80104878 24040001 */ li $a0, 1
|
||||
/* B7BA1C 8010487C 0C0404FC */ jal __osSiRawStartDma /*(s32 dir, void *addr)*/
|
||||
/* B7BA20 80104880 02602825 */ move $a1, $s3
|
||||
/* B7BA24 80104884 02402025 */ move $a0, $s2
|
||||
/* B7BA28 80104888 02802825 */ move $a1, $s4
|
||||
/* B7BA2C 8010488C 0C000CA0 */ jal osRecvMesg
|
||||
/* B7BA30 80104890 24060001 */ li $a2, 1
|
||||
/* B7BA34 80104894 00002025 */ move $a0, $zero
|
||||
/* B7BA38 80104898 0C0404FC */ jal __osSiRawStartDma /*(s32 dir, void *addr)*/
|
||||
/* B7BA3C 8010489C 02602825 */ move $a1, $s3
|
||||
/* B7BA40 801048A0 AFA2006C */ sw $v0, 0x6c($sp)
|
||||
/* B7BA44 801048A4 02402025 */ move $a0, $s2
|
||||
/* B7BA48 801048A8 02802825 */ move $a1, $s4
|
||||
/* B7BA4C 801048AC 0C000CA0 */ jal osRecvMesg
|
||||
/* B7BA50 801048B0 24060001 */ li $a2, 1
|
||||
/* B7BA54 801048B4 02C02025 */ move $a0, $s6
|
||||
/* B7BA58 801048B8 0C041294 */ jal func_80104A50
|
||||
/* B7BA5C 801048BC 02E02825 */ move $a1, $s7
|
||||
/* B7BA60 801048C0 93C30000 */ lbu $v1, ($fp)
|
||||
/* B7BA64 801048C4 27A20054 */ addiu $v0, $sp, 0x54
|
||||
/* B7BA68 801048C8 5860000C */ blezl $v1, .L801048FC
|
||||
/* B7BA6C 801048CC 02031026 */ xor $v0, $s0, $v1
|
||||
.L801048D0:
|
||||
/* B7BA70 801048D0 904E0002 */ lbu $t6, 2($v0)
|
||||
/* B7BA74 801048D4 31CF0004 */ andi $t7, $t6, 4
|
||||
/* B7BA78 801048D8 55E00004 */ bnezl $t7, .L801048EC
|
||||
/* B7BA7C 801048DC 26100001 */ addiu $s0, $s0, 1
|
||||
/* B7BA80 801048E0 10000005 */ b .L801048F8
|
||||
/* B7BA84 801048E4 2631FFFF */ addiu $s1, $s1, -1
|
||||
/* B7BA88 801048E8 26100001 */ addiu $s0, $s0, 1
|
||||
.L801048EC:
|
||||
/* B7BA8C 801048EC 0203082A */ slt $at, $s0, $v1
|
||||
/* B7BA90 801048F0 1420FFF7 */ bnez $at, .L801048D0
|
||||
/* B7BA94 801048F4 24420004 */ addiu $v0, $v0, 4
|
||||
.L801048F8:
|
||||
/* B7BA98 801048F8 02031026 */ xor $v0, $s0, $v1
|
||||
.L801048FC:
|
||||
/* B7BA9C 801048FC 14400002 */ bnez $v0, .L80104908
|
||||
/* B7BAA0 80104900 00008025 */ move $s0, $zero
|
||||
/* B7BAA4 80104904 00008825 */ move $s1, $zero
|
||||
.L80104908:
|
||||
/* B7BAA8 80104908 1E20FFD9 */ bgtz $s1, .L80104870
|
||||
/* B7BAAC 8010490C 00000000 */ nop
|
||||
/* B7BAB0 80104910 18600011 */ blez $v1, .L80104958
|
||||
/* B7BAB4 80104914 27A20054 */ addiu $v0, $sp, 0x54
|
||||
.L80104918:
|
||||
/* B7BAB8 80104918 90580003 */ lbu $t8, 3($v0)
|
||||
/* B7BABC 8010491C 5700000B */ bnezl $t8, .L8010494C
|
||||
/* B7BAC0 80104920 26100001 */ addiu $s0, $s0, 1
|
||||
/* B7BAC4 80104924 90590002 */ lbu $t9, 2($v0)
|
||||
/* B7BAC8 80104928 24090001 */ li $t1, 1
|
||||
/* B7BACC 8010492C 02095004 */ sllv $t2, $t1, $s0
|
||||
/* B7BAD0 80104930 33280001 */ andi $t0, $t9, 1
|
||||
/* B7BAD4 80104934 51000005 */ beql $t0, $zero, .L8010494C
|
||||
/* B7BAD8 80104938 26100001 */ addiu $s0, $s0, 1
|
||||
/* B7BADC 8010493C 02AAA825 */ or $s5, $s5, $t2
|
||||
/* B7BAE0 80104940 32AB00FF */ andi $t3, $s5, 0xff
|
||||
/* B7BAE4 80104944 0160A825 */ move $s5, $t3
|
||||
/* B7BAE8 80104948 26100001 */ addiu $s0, $s0, 1
|
||||
.L8010494C:
|
||||
/* B7BAEC 8010494C 0203082A */ slt $at, $s0, $v1
|
||||
/* B7BAF0 80104950 1420FFF1 */ bnez $at, .L80104918
|
||||
/* B7BAF4 80104954 24420004 */ addiu $v0, $v0, 4
|
||||
.L80104958:
|
||||
/* B7BAF8 80104958 0C0402F9 */ jal __osSiRelAccess
|
||||
/* B7BAFC 8010495C 00000000 */ nop
|
||||
/* B7BB00 80104960 8FAC0074 */ lw $t4, 0x74($sp)
|
||||
/* B7BB04 80104964 A1950000 */ sb $s5, ($t4)
|
||||
/* B7BB08 80104968 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* B7BB0C 8010496C 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* B7BB10 80104970 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* B7BB14 80104974 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* B7BB18 80104978 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* B7BB1C 8010497C 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* B7BB20 80104980 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* B7BB24 80104984 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* B7BB28 80104988 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* B7BB2C 8010498C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B7BB30 80104990 8FA2006C */ lw $v0, 0x6c($sp)
|
||||
/* B7BB34 80104994 03E00008 */ jr $ra
|
||||
/* B7BB38 80104998 27BD0070 */ addiu $sp, $sp, 0x70
|
||||
|
||||
glabel func_8010499C
|
||||
/* B7BB3C 8010499C 27BDFFF0 */ addiu $sp, $sp, -0x10
|
||||
/* B7BB40 801049A0 3C058017 */ lui $a1, %hi(D_80175960)
|
||||
/* B7BB44 801049A4 3C018017 */ lui $at, %hi(_osCont_lastPollType) # $at, 0x8017
|
||||
/* B7BB48 801049A8 24A25960 */ addiu $v0, $a1, %lo(D_80175960)
|
||||
/* B7BB4C 801049AC AFA40010 */ sw $a0, 0x10($sp)
|
||||
/* B7BB50 801049B0 A0245810 */ sb $a0, %lo(_osCont_lastPollType)($at)
|
||||
/* B7BB54 801049B4 240F0001 */ li $t7, 1
|
||||
/* B7BB58 801049B8 AC4F003C */ sw $t7, 0x3c($v0)
|
||||
/* B7BB5C 801049BC 3C068017 */ lui $a2, %hi(_osCont_numControllers) # $a2, 0x8017
|
||||
/* B7BB60 801049C0 24C65811 */ addiu $a2, %lo(_osCont_numControllers) # addiu $a2, $a2, 0x5811
|
||||
/* B7BB64 801049C4 90CD0000 */ lbu $t5, ($a2)
|
||||
/* B7BB68 801049C8 241800FF */ li $t8, 255
|
||||
/* B7BB6C 801049CC 24190001 */ li $t9, 1
|
||||
/* B7BB70 801049D0 24080003 */ li $t0, 3
|
||||
/* B7BB74 801049D4 240900FF */ li $t1, 255
|
||||
/* B7BB78 801049D8 240A00FF */ li $t2, 255
|
||||
/* B7BB7C 801049DC 240B00FF */ li $t3, 255
|
||||
/* B7BB80 801049E0 240C00FF */ li $t4, 255
|
||||
/* B7BB84 801049E4 A3B80004 */ sb $t8, 4($sp)
|
||||
/* B7BB88 801049E8 A3B90005 */ sb $t9, 5($sp)
|
||||
/* B7BB8C 801049EC A3A80006 */ sb $t0, 6($sp)
|
||||
/* B7BB90 801049F0 A3A40007 */ sb $a0, 7($sp)
|
||||
/* B7BB94 801049F4 A3A90008 */ sb $t1, 8($sp)
|
||||
/* B7BB98 801049F8 A3AA0009 */ sb $t2, 9($sp)
|
||||
/* B7BB9C 801049FC A3AB000A */ sb $t3, 0xa($sp)
|
||||
/* B7BBA0 80104A00 A3AC000B */ sb $t4, 0xb($sp)
|
||||
/* B7BBA4 80104A04 19A0000E */ blez $t5, .L80104A40
|
||||
/* B7BBA8 80104A08 00001825 */ move $v1, $zero
|
||||
/* B7BBAC 80104A0C 27A40004 */ addiu $a0, $sp, 4
|
||||
/* B7BBB0 80104A10 8C810000 */ lw $at, ($a0)
|
||||
.L80104A14:
|
||||
/* B7BBB4 80104A14 24630001 */ addiu $v1, $v1, 1
|
||||
/* B7BBB8 80104A18 24420008 */ addiu $v0, $v0, 8
|
||||
/* B7BBBC 80104A1C A841FFF8 */ swl $at, -8($v0)
|
||||
/* B7BBC0 80104A20 B841FFFB */ swr $at, -5($v0)
|
||||
/* B7BBC4 80104A24 8C8F0004 */ lw $t7, 4($a0)
|
||||
/* B7BBC8 80104A28 A84FFFFC */ swl $t7, -4($v0)
|
||||
/* B7BBCC 80104A2C B84FFFFF */ swr $t7, -1($v0)
|
||||
/* B7BBD0 80104A30 90D80000 */ lbu $t8, ($a2)
|
||||
/* B7BBD4 80104A34 0078082A */ slt $at, $v1, $t8
|
||||
/* B7BBD8 80104A38 5420FFF6 */ bnezl $at, .L80104A14
|
||||
/* B7BBDC 80104A3C 8C810000 */ lw $at, ($a0)
|
||||
.L80104A40:
|
||||
/* B7BBE0 80104A40 241900FE */ li $t9, 254
|
||||
/* B7BBE4 80104A44 A0590000 */ sb $t9, ($v0)
|
||||
/* B7BBE8 80104A48 03E00008 */ jr $ra
|
||||
/* B7BBEC 80104A4C 27BD0010 */ addiu $sp, $sp, 0x10
|
||||
|
||||
glabel func_80104A50
|
||||
/* B7BBF0 80104A50 3C078017 */ lui $a3, %hi(_osCont_numControllers) # $a3, 0x8017
|
||||
/* B7BBF4 80104A54 24E75811 */ addiu $a3, %lo(_osCont_numControllers) # addiu $a3, $a3, 0x5811
|
||||
/* B7BBF8 80104A58 90EE0000 */ lbu $t6, ($a3)
|
||||
/* B7BBFC 80104A5C 3C038017 */ lui $v1, %hi(D_80175960) # $v1, 0x8017
|
||||
/* B7BC00 80104A60 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B7BC04 80104A64 00001025 */ move $v0, $zero
|
||||
/* B7BC08 80104A68 24635960 */ addiu $v1, %lo(D_80175960) # addiu $v1, $v1, 0x5960
|
||||
/* B7BC0C 80104A6C 19C00020 */ blez $t6, .L80104AF0
|
||||
/* B7BC10 80104A70 00003025 */ move $a2, $zero
|
||||
/* B7BC14 80104A74 27A8000C */ addiu $t0, $sp, 0xc
|
||||
.L80104A78:
|
||||
/* B7BC18 80104A78 88610000 */ lwl $at, ($v1)
|
||||
/* B7BC1C 80104A7C 98610003 */ lwr $at, 3($v1)
|
||||
/* B7BC20 80104A80 AD010000 */ sw $at, ($t0)
|
||||
/* B7BC24 80104A84 88780004 */ lwl $t8, 4($v1)
|
||||
/* B7BC28 80104A88 98780007 */ lwr $t8, 7($v1)
|
||||
/* B7BC2C 80104A8C AD180004 */ sw $t8, 4($t0)
|
||||
/* B7BC30 80104A90 93B9000E */ lbu $t9, 0xe($sp)
|
||||
/* B7BC34 80104A94 332900C0 */ andi $t1, $t9, 0xc0
|
||||
/* B7BC38 80104A98 00095103 */ sra $t2, $t1, 4
|
||||
/* B7BC3C 80104A9C 314B00FF */ andi $t3, $t2, 0xff
|
||||
/* B7BC40 80104AA0 1560000D */ bnez $t3, .L80104AD8
|
||||
/* B7BC44 80104AA4 A0AA0003 */ sb $t2, 3($a1)
|
||||
/* B7BC48 80104AA8 93AC0011 */ lbu $t4, 0x11($sp)
|
||||
/* B7BC4C 80104AAC 93AE0010 */ lbu $t6, 0x10($sp)
|
||||
/* B7BC50 80104AB0 24190001 */ li $t9, 1
|
||||
/* B7BC54 80104AB4 000C6A00 */ sll $t5, $t4, 8
|
||||
/* B7BC58 80104AB8 01AE7825 */ or $t7, $t5, $t6
|
||||
/* B7BC5C 80104ABC A4AF0000 */ sh $t7, ($a1)
|
||||
/* B7BC60 80104AC0 93B80012 */ lbu $t8, 0x12($sp)
|
||||
/* B7BC64 80104AC4 00D94804 */ sllv $t1, $t9, $a2
|
||||
/* B7BC68 80104AC8 00491025 */ or $v0, $v0, $t1
|
||||
/* B7BC6C 80104ACC 304A00FF */ andi $t2, $v0, 0xff
|
||||
/* B7BC70 80104AD0 01401025 */ move $v0, $t2
|
||||
/* B7BC74 80104AD4 A0B80002 */ sb $t8, 2($a1)
|
||||
.L80104AD8:
|
||||
/* B7BC78 80104AD8 90EB0000 */ lbu $t3, ($a3)
|
||||
/* B7BC7C 80104ADC 24C60001 */ addiu $a2, $a2, 1
|
||||
/* B7BC80 80104AE0 24630008 */ addiu $v1, $v1, 8
|
||||
/* B7BC84 80104AE4 00CB082A */ slt $at, $a2, $t3
|
||||
/* B7BC88 80104AE8 1420FFE3 */ bnez $at, .L80104A78
|
||||
/* B7BC8C 80104AEC 24A50004 */ addiu $a1, $a1, 4
|
||||
.L80104AF0:
|
||||
/* B7BC90 80104AF0 A0820000 */ sb $v0, ($a0)
|
||||
/* B7BC94 80104AF4 03E00008 */ jr $ra
|
||||
/* B7BC98 80104AF8 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
@@ -0,0 +1,114 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80104B00
|
||||
/* B7BCA0 80104B00 908E0016 */ lbu $t6, 0x16($a0)
|
||||
/* B7BCA4 80104B04 24010002 */ li $at, 2
|
||||
/* B7BCA8 80104B08 24020200 */ li $v0, 512
|
||||
/* B7BCAC 80104B0C 15C10003 */ bne $t6, $at, .L80104B1C
|
||||
/* B7BCB0 80104B10 24180006 */ li $t8, 6
|
||||
/* B7BCB4 80104B14 10000001 */ b .L80104B1C
|
||||
/* B7BCB8 80104B18 24020100 */ li $v0, 256
|
||||
.L80104B1C:
|
||||
/* B7BCBC 80104B1C 908F0017 */ lbu $t7, 0x17($a0)
|
||||
/* B7BCC0 80104B20 94880014 */ lhu $t0, 0x14($a0)
|
||||
/* B7BCC4 80104B24 24010033 */ li $at, 51
|
||||
/* B7BCC8 80104B28 030F1823 */ subu $v1, $t8, $t7
|
||||
/* B7BCCC 80104B2C 3079FFFF */ andi $t9, $v1, 0xffff
|
||||
/* B7BCD0 80104B30 1501002D */ bne $t0, $at, .L80104BE8
|
||||
/* B7BCD4 80104B34 03201825 */ move $v1, $t9
|
||||
/* B7BCD8 80104B38 94890002 */ lhu $t1, 2($a0)
|
||||
/* B7BCDC 80104B3C 00695007 */ srav $t2, $t1, $v1
|
||||
/* B7BCE0 80104B40 3145FFFF */ andi $a1, $t2, 0xffff
|
||||
/* B7BCE4 80104B44 0045001A */ div $zero, $v0, $a1
|
||||
/* B7BCE8 80104B48 00005812 */ mflo $t3
|
||||
/* B7BCEC 80104B4C 000B6080 */ sll $t4, $t3, 2
|
||||
/* B7BCF0 80104B50 00056840 */ sll $t5, $a1, 1
|
||||
/* B7BCF4 80104B54 31B8FFFF */ andi $t8, $t5, 0xffff
|
||||
/* B7BCF8 80104B58 318EFFFF */ andi $t6, $t4, 0xffff
|
||||
/* B7BCFC 80104B5C 01D80019 */ multu $t6, $t8
|
||||
/* B7BD00 80104B60 A48A001C */ sh $t2, 0x1c($a0)
|
||||
/* B7BD04 80104B64 240A07FF */ li $t2, 2047
|
||||
/* B7BD08 80104B68 14A00002 */ bnez $a1, .L80104B74
|
||||
/* B7BD0C 80104B6C 00000000 */ nop
|
||||
/* B7BD10 80104B70 0007000D */ break 7
|
||||
.L80104B74:
|
||||
/* B7BD14 80104B74 2401FFFF */ li $at, -1
|
||||
/* B7BD18 80104B78 14A10004 */ bne $a1, $at, .L80104B8C
|
||||
/* B7BD1C 80104B7C 3C018000 */ lui $at, 0x8000
|
||||
/* B7BD20 80104B80 14410002 */ bne $v0, $at, .L80104B8C
|
||||
/* B7BD24 80104B84 00000000 */ nop
|
||||
/* B7BD28 80104B88 0006000D */ break 6
|
||||
.L80104B8C:
|
||||
/* B7BD2C 80104B8C 00007812 */ mflo $t7
|
||||
/* B7BD30 80104B90 31F9FFFF */ andi $t9, $t7, 0xffff
|
||||
/* B7BD34 80104B94 A48C001E */ sh $t4, 0x1e($a0)
|
||||
/* B7BD38 80104B98 0145001A */ div $zero, $t2, $a1
|
||||
/* B7BD3C 80104B9C 00194043 */ sra $t0, $t9, 1
|
||||
/* B7BD40 80104BA0 00005812 */ mflo $t3
|
||||
/* B7BD44 80104BA4 2509FFFF */ addiu $t1, $t0, -1
|
||||
/* B7BD48 80104BA8 256C0001 */ addiu $t4, $t3, 1
|
||||
/* B7BD4C 80104BAC A48D0024 */ sh $t5, 0x24($a0)
|
||||
/* B7BD50 80104BB0 A48F0026 */ sh $t7, 0x26($a0)
|
||||
/* B7BD54 80104BB4 A4890020 */ sh $t1, 0x20($a0)
|
||||
/* B7BD58 80104BB8 14A00002 */ bnez $a1, .L80104BC4
|
||||
/* B7BD5C 80104BBC 00000000 */ nop
|
||||
/* B7BD60 80104BC0 0007000D */ break 7
|
||||
.L80104BC4:
|
||||
/* B7BD64 80104BC4 2401FFFF */ li $at, -1
|
||||
/* B7BD68 80104BC8 14A10004 */ bne $a1, $at, .L80104BDC
|
||||
/* B7BD6C 80104BCC 3C018000 */ lui $at, 0x8000
|
||||
/* B7BD70 80104BD0 15410002 */ bne $t2, $at, .L80104BDC
|
||||
/* B7BD74 80104BD4 00000000 */ nop
|
||||
/* B7BD78 80104BD8 0006000D */ break 6
|
||||
.L80104BDC:
|
||||
/* B7BD7C 80104BDC A48C0022 */ sh $t4, 0x22($a0)
|
||||
/* B7BD80 80104BE0 03E00008 */ jr $ra
|
||||
/* B7BD84 80104BE4 00000000 */ nop
|
||||
|
||||
.L80104BE8:
|
||||
/* B7BD88 80104BE8 948D0006 */ lhu $t5, 6($a0)
|
||||
/* B7BD8C 80104BEC 94890002 */ lhu $t1, 2($a0)
|
||||
/* B7BD90 80104BF0 00602825 */ move $a1, $v1
|
||||
/* B7BD94 80104BF4 006D7007 */ srav $t6, $t5, $v1
|
||||
/* B7BD98 80104BF8 25D80003 */ addiu $t8, $t6, 3
|
||||
/* B7BD9C 80104BFC 330FFFFF */ andi $t7, $t8, 0xffff
|
||||
/* B7BDA0 80104C00 004F001A */ div $zero, $v0, $t7
|
||||
/* B7BDA4 80104C04 0000C812 */ mflo $t9
|
||||
/* B7BDA8 80104C08 00A95007 */ srav $t2, $t1, $a1
|
||||
/* B7BDAC 80104C0C 00194080 */ sll $t0, $t9, 2
|
||||
/* B7BDB0 80104C10 000A5840 */ sll $t3, $t2, 1
|
||||
/* B7BDB4 80104C14 316CFFFF */ andi $t4, $t3, 0xffff
|
||||
/* B7BDB8 80104C18 3106FFFF */ andi $a2, $t0, 0xffff
|
||||
/* B7BDBC 80104C1C 00CC0019 */ multu $a2, $t4
|
||||
/* B7BDC0 80104C20 A498001C */ sh $t8, 0x1c($a0)
|
||||
/* B7BDC4 80104C24 24D8FFFF */ addiu $t8, $a2, -1
|
||||
/* B7BDC8 80104C28 15E00002 */ bnez $t7, .L80104C34
|
||||
/* B7BDCC 80104C2C 00000000 */ nop
|
||||
/* B7BDD0 80104C30 0007000D */ break 7
|
||||
.L80104C34:
|
||||
/* B7BDD4 80104C34 2401FFFF */ li $at, -1
|
||||
/* B7BDD8 80104C38 15E10004 */ bne $t7, $at, .L80104C4C
|
||||
/* B7BDDC 80104C3C 3C018000 */ lui $at, 0x8000
|
||||
/* B7BDE0 80104C40 14410002 */ bne $v0, $at, .L80104C4C
|
||||
/* B7BDE4 80104C44 00000000 */ nop
|
||||
/* B7BDE8 80104C48 0006000D */ break 6
|
||||
.L80104C4C:
|
||||
/* B7BDEC 80104C4C 00003812 */ mflo $a3
|
||||
/* B7BDF0 80104C50 00076C02 */ srl $t5, $a3, 0x10
|
||||
/* B7BDF4 80104C54 30EEFFFF */ andi $t6, $a3, 0xffff
|
||||
/* B7BDF8 80104C58 A488001E */ sh $t0, 0x1e($a0)
|
||||
/* B7BDFC 80104C5C A48B0024 */ sh $t3, 0x24($a0)
|
||||
/* B7BE00 80104C60 A48D0026 */ sh $t5, 0x26($a0)
|
||||
/* B7BE04 80104C64 A48E0020 */ sh $t6, 0x20($a0)
|
||||
/* B7BE08 80104C68 A4980022 */ sh $t8, 0x22($a0)
|
||||
/* B7BE0C 80104C6C 03E00008 */ jr $ra
|
||||
/* B7BE10 80104C70 00000000 */ nop
|
||||
@@ -0,0 +1,44 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80104C80
|
||||
/* B7BE20 80104C80 27BDFFA8 */ addiu $sp, $sp, -0x58
|
||||
/* B7BE24 80104C84 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* B7BE28 80104C88 30B000FF */ andi $s0, $a1, 0xff
|
||||
/* B7BE2C 80104C8C AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B7BE30 80104C90 AFA40058 */ sw $a0, 0x58($sp)
|
||||
/* B7BE34 80104C94 AFA5005C */ sw $a1, 0x5c($sp)
|
||||
/* B7BE38 80104C98 27A20038 */ addiu $v0, $sp, 0x38
|
||||
/* B7BE3C 80104C9C 27A30058 */ addiu $v1, $sp, 0x58
|
||||
.L80104CA0:
|
||||
/* B7BE40 80104CA0 24420004 */ addiu $v0, $v0, 4
|
||||
/* B7BE44 80104CA4 A050FFFD */ sb $s0, -3($v0)
|
||||
/* B7BE48 80104CA8 A050FFFE */ sb $s0, -2($v0)
|
||||
/* B7BE4C 80104CAC A050FFFF */ sb $s0, -1($v0)
|
||||
/* B7BE50 80104CB0 1443FFFB */ bne $v0, $v1, .L80104CA0
|
||||
/* B7BE54 80104CB4 A050FFFC */ sb $s0, -4($v0)
|
||||
/* B7BE58 80104CB8 8FAE0058 */ lw $t6, 0x58($sp)
|
||||
/* B7BE5C 80104CBC 24060400 */ li $a2, 1024
|
||||
/* B7BE60 80104CC0 27A70038 */ addiu $a3, $sp, 0x38
|
||||
/* B7BE64 80104CC4 8DC40004 */ lw $a0, 4($t6)
|
||||
/* B7BE68 80104CC8 8DC50008 */ lw $a1, 8($t6)
|
||||
/* B7BE6C 80104CCC 0C04173C */ jal func_80105CF0
|
||||
/* B7BE70 80104CD0 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* B7BE74 80104CD4 14400003 */ bnez $v0, .L80104CE4
|
||||
/* B7BE78 80104CD8 00401825 */ move $v1, $v0
|
||||
/* B7BE7C 80104CDC 8FAF0058 */ lw $t7, 0x58($sp)
|
||||
/* B7BE80 80104CE0 A1F00065 */ sb $s0, 0x65($t7)
|
||||
.L80104CE4:
|
||||
/* B7BE84 80104CE4 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* B7BE88 80104CE8 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* B7BE8C 80104CEC 27BD0058 */ addiu $sp, $sp, 0x58
|
||||
/* B7BE90 80104CF0 03E00008 */ jr $ra
|
||||
/* B7BE94 80104CF4 00601025 */ move $v0, $v1
|
||||
@@ -0,0 +1,36 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80104D00
|
||||
/* B7BEA0 80104D00 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B7BEA4 80104D04 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B7BEA8 80104D08 0C0402E8 */ jal __osSiGetAccess
|
||||
/* B7BEAC 80104D0C AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B7BEB0 80104D10 93A2001B */ lbu $v0, 0x1b($sp)
|
||||
/* B7BEB4 80104D14 240E0004 */ li $t6, 4
|
||||
/* B7BEB8 80104D18 240F00FE */ li $t7, 254
|
||||
/* B7BEBC 80104D1C 28410005 */ slti $at, $v0, 5
|
||||
/* B7BEC0 80104D20 14200003 */ bnez $at, .L80104D30
|
||||
/* B7BEC4 80104D24 3C018017 */ lui $at, %hi(_osCont_numControllers) # $at, 0x8017
|
||||
/* B7BEC8 80104D28 10000003 */ b .L80104D38
|
||||
/* B7BECC 80104D2C A02E5811 */ sb $t6, %lo(_osCont_numControllers)($at)
|
||||
.L80104D30:
|
||||
/* B7BED0 80104D30 3C018017 */ lui $at, %hi(_osCont_numControllers) # $at, 0x8017
|
||||
/* B7BED4 80104D34 A0225811 */ sb $v0, %lo(_osCont_numControllers)($at)
|
||||
.L80104D38:
|
||||
/* B7BED8 80104D38 3C018017 */ lui $at, %hi(_osCont_lastPollType) # $at, 0x8017
|
||||
/* B7BEDC 80104D3C 0C0402F9 */ jal __osSiRelAccess
|
||||
/* B7BEE0 80104D40 A02F5810 */ sb $t7, %lo(_osCont_lastPollType)($at)
|
||||
/* B7BEE4 80104D44 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B7BEE8 80104D48 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B7BEEC 80104D4C 00001025 */ move $v0, $zero
|
||||
/* B7BEF0 80104D50 03E00008 */ jr $ra
|
||||
/* B7BEF4 80104D54 00000000 */ nop
|
||||
@@ -0,0 +1,146 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80104D60
|
||||
/* B7BF00 80104D60 27BDFEA0 */ addiu $sp, $sp, -0x160
|
||||
/* B7BF04 80104D64 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B7BF08 80104D68 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* B7BF0C 80104D6C AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* B7BF10 80104D70 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* B7BF14 80104D74 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* B7BF18 80104D78 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B7BF1C 80104D7C AFA60168 */ sw $a2, 0x168($sp)
|
||||
/* B7BF20 80104D80 8C8E0050 */ lw $t6, 0x50($a0)
|
||||
/* B7BF24 80104D84 00A08025 */ move $s0, $a1
|
||||
/* B7BF28 80104D88 00809825 */ move $s3, $a0
|
||||
/* B7BF2C 80104D8C 00AE082A */ slt $at, $a1, $t6
|
||||
/* B7BF30 80104D90 10200003 */ beqz $at, .L80104DA0
|
||||
/* B7BF34 80104D94 00000000 */ nop
|
||||
/* B7BF38 80104D98 04A30004 */ bgezl $a1, .L80104DAC
|
||||
/* B7BF3C 80104D9C 8E6F0000 */ lw $t7, ($s3)
|
||||
.L80104DA0:
|
||||
/* B7BF40 80104DA0 1000005E */ b .L80104F1C
|
||||
/* B7BF44 80104DA4 24020005 */ li $v0, 5
|
||||
/* B7BF48 80104DA8 8E6F0000 */ lw $t7, ($s3)
|
||||
.L80104DAC:
|
||||
/* B7BF4C 80104DAC 31F80001 */ andi $t8, $t7, 1
|
||||
/* B7BF50 80104DB0 17000003 */ bnez $t8, .L80104DC0
|
||||
/* B7BF54 80104DB4 00000000 */ nop
|
||||
/* B7BF58 80104DB8 10000058 */ b .L80104F1C
|
||||
/* B7BF5C 80104DBC 24020005 */ li $v0, 5
|
||||
.L80104DC0:
|
||||
/* B7BF60 80104DC0 0C040AFC */ jal func_80102BF0
|
||||
/* B7BF64 80104DC4 02602025 */ move $a0, $s3
|
||||
/* B7BF68 80104DC8 50400004 */ beql $v0, $zero, .L80104DDC
|
||||
/* B7BF6C 80104DCC 92790065 */ lbu $t9, 0x65($s3)
|
||||
/* B7BF70 80104DD0 10000053 */ b .L80104F20
|
||||
/* B7BF74 80104DD4 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B7BF78 80104DD8 92790065 */ lbu $t9, 0x65($s3)
|
||||
.L80104DDC:
|
||||
/* B7BF7C 80104DDC 02602025 */ move $a0, $s3
|
||||
/* B7BF80 80104DE0 53200008 */ beql $t9, $zero, .L80104E04
|
||||
/* B7BF84 80104DE4 8E68005C */ lw $t0, 0x5c($s3)
|
||||
/* B7BF88 80104DE8 0C041320 */ jal func_80104C80
|
||||
/* B7BF8C 80104DEC 00002825 */ move $a1, $zero
|
||||
/* B7BF90 80104DF0 50400004 */ beql $v0, $zero, .L80104E04
|
||||
/* B7BF94 80104DF4 8E68005C */ lw $t0, 0x5c($s3)
|
||||
/* B7BF98 80104DF8 10000049 */ b .L80104F20
|
||||
/* B7BF9C 80104DFC 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* B7BFA0 80104E00 8E68005C */ lw $t0, 0x5c($s3)
|
||||
.L80104E04:
|
||||
/* B7BFA4 80104E04 8E640004 */ lw $a0, 4($s3)
|
||||
/* B7BFA8 80104E08 8E650008 */ lw $a1, 8($s3)
|
||||
/* B7BFAC 80104E0C 01103021 */ addu $a2, $t0, $s0
|
||||
/* B7BFB0 80104E10 30C9FFFF */ andi $t1, $a2, 0xffff
|
||||
/* B7BFB4 80104E14 01203025 */ move $a2, $t1
|
||||
/* B7BFB8 80104E18 0C0417D0 */ jal func_80105F40
|
||||
/* B7BFBC 80104E1C 27A70038 */ addiu $a3, $sp, 0x38
|
||||
/* B7BFC0 80104E20 10400003 */ beqz $v0, .L80104E30
|
||||
/* B7BFC4 80104E24 97AA003C */ lhu $t2, 0x3c($sp)
|
||||
/* B7BFC8 80104E28 1000003D */ b .L80104F20
|
||||
/* B7BFCC 80104E2C 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L80104E30:
|
||||
/* B7BFD0 80104E30 11400003 */ beqz $t2, .L80104E40
|
||||
/* B7BFD4 80104E34 8FAB0038 */ lw $t3, 0x38($sp)
|
||||
/* B7BFD8 80104E38 15600003 */ bnez $t3, .L80104E48
|
||||
/* B7BFDC 80104E3C 27B40034 */ addiu $s4, $sp, 0x34
|
||||
.L80104E40:
|
||||
/* B7BFE0 80104E40 10000036 */ b .L80104F1C
|
||||
/* B7BFE4 80104E44 24020005 */ li $v0, 5
|
||||
.L80104E48:
|
||||
/* B7BFE8 80104E48 27AC003E */ addiu $t4, $sp, 0x3e
|
||||
/* B7BFEC 80104E4C 95810000 */ lhu $at, ($t4)
|
||||
/* B7BFF0 80104E50 00009025 */ move $s2, $zero
|
||||
/* B7BFF4 80104E54 241000FF */ li $s0, 255
|
||||
/* B7BFF8 80104E58 27B10058 */ addiu $s1, $sp, 0x58
|
||||
/* B7BFFC 80104E5C A6810000 */ sh $at, ($s4)
|
||||
.L80104E60:
|
||||
/* B7C000 80104E60 97AF0034 */ lhu $t7, 0x34($sp)
|
||||
/* B7C004 80104E64 8E780060 */ lw $t8, 0x60($s3)
|
||||
/* B7C008 80104E68 93B90034 */ lbu $t9, 0x34($sp)
|
||||
/* B7C00C 80104E6C 02602025 */ move $a0, $s3
|
||||
/* B7C010 80104E70 01F8082A */ slt $at, $t7, $t8
|
||||
/* B7C014 80104E74 14200011 */ bnez $at, .L80104EBC
|
||||
/* B7C018 80104E78 02202825 */ move $a1, $s1
|
||||
/* B7C01C 80104E7C 12190008 */ beq $s0, $t9, .L80104EA0
|
||||
/* B7C020 80104E80 00003025 */ move $a2, $zero
|
||||
/* B7C024 80104E84 03208025 */ move $s0, $t9
|
||||
/* B7C028 80104E88 0C040B31 */ jal func_80102CC4
|
||||
/* B7C02C 80104E8C 332700FF */ andi $a3, $t9, 0xff
|
||||
/* B7C030 80104E90 50400004 */ beql $v0, $zero, .L80104EA4
|
||||
/* B7C034 80104E94 93A80035 */ lbu $t0, 0x35($sp)
|
||||
/* B7C038 80104E98 10000021 */ b .L80104F20
|
||||
/* B7C03C 80104E9C 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L80104EA0:
|
||||
/* B7C040 80104EA0 93A80035 */ lbu $t0, 0x35($sp)
|
||||
.L80104EA4:
|
||||
/* B7C044 80104EA4 26520001 */ addiu $s2, $s2, 1
|
||||
/* B7C048 80104EA8 00084840 */ sll $t1, $t0, 1
|
||||
/* B7C04C 80104EAC 02295021 */ addu $t2, $s1, $t1
|
||||
/* B7C050 80104EB0 95410000 */ lhu $at, ($t2)
|
||||
/* B7C054 80104EB4 1000FFEA */ b .L80104E60
|
||||
/* B7C058 80104EB8 A6810000 */ sh $at, ($s4)
|
||||
.L80104EBC:
|
||||
/* B7C05C 80104EBC 97AC0034 */ lhu $t4, 0x34($sp)
|
||||
/* B7C060 80104EC0 24010001 */ li $at, 1
|
||||
/* B7C064 80104EC4 8FA20168 */ lw $v0, 0x168($sp)
|
||||
/* B7C068 80104EC8 11810003 */ beq $t4, $at, .L80104ED8
|
||||
/* B7C06C 80104ECC 00127200 */ sll $t6, $s2, 8
|
||||
/* B7C070 80104ED0 10000012 */ b .L80104F1C
|
||||
/* B7C074 80104ED4 24020003 */ li $v0, 3
|
||||
.L80104ED8:
|
||||
/* B7C078 80104ED8 AC4E0000 */ sw $t6, ($v0)
|
||||
/* B7C07C 80104EDC 97AF003C */ lhu $t7, 0x3c($sp)
|
||||
/* B7C080 80104EE0 27A40048 */ addiu $a0, $sp, 0x48
|
||||
/* B7C084 80104EE4 2445000E */ addiu $a1, $v0, 0xe
|
||||
/* B7C088 80104EE8 A44F0008 */ sh $t7, 8($v0)
|
||||
/* B7C08C 80104EEC 8FB80038 */ lw $t8, 0x38($sp)
|
||||
/* B7C090 80104EF0 24060010 */ li $a2, 16
|
||||
/* B7C094 80104EF4 0C001BC4 */ jal bcopy
|
||||
/* B7C098 80104EF8 AC580004 */ sw $t8, 4($v0)
|
||||
/* B7C09C 80104EFC 8FA50168 */ lw $a1, 0x168($sp)
|
||||
/* B7C0A0 80104F00 27A40044 */ addiu $a0, $sp, 0x44
|
||||
/* B7C0A4 80104F04 24060004 */ li $a2, 4
|
||||
/* B7C0A8 80104F08 0C001BC4 */ jal bcopy
|
||||
/* B7C0AC 80104F0C 24A5000A */ addiu $a1, $a1, 0xa
|
||||
/* B7C0B0 80104F10 8E640004 */ lw $a0, 4($s3)
|
||||
/* B7C0B4 80104F14 0C040644 */ jal func_80101910
|
||||
/* B7C0B8 80104F18 8E650008 */ lw $a1, 8($s3)
|
||||
.L80104F1C:
|
||||
/* B7C0BC 80104F1C 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L80104F20:
|
||||
/* B7C0C0 80104F20 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B7C0C4 80104F24 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* B7C0C8 80104F28 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* B7C0CC 80104F2C 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* B7C0D0 80104F30 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* B7C0D4 80104F34 03E00008 */ jr $ra
|
||||
/* B7C0D8 80104F38 27BD0160 */ addiu $sp, $sp, 0x160
|
||||
@@ -0,0 +1,229 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80104F40
|
||||
/* B7C0E0 80104F40 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* B7C0E4 80104F44 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B7C0E8 80104F48 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B7C0EC 80104F4C 00A08025 */ move $s0, $a1
|
||||
/* B7C0F0 80104F50 AFA40070 */ sw $a0, 0x70($sp)
|
||||
/* B7C0F4 80104F54 0C0402E8 */ jal __osSiGetAccess
|
||||
/* B7C0F8 80104F58 AFA60078 */ sw $a2, 0x78($sp)
|
||||
/* B7C0FC 80104F5C 8FA40070 */ lw $a0, 0x70($sp)
|
||||
/* B7C100 80104F60 0C040644 */ jal func_80101910
|
||||
/* B7C104 80104F64 8FA50078 */ lw $a1, 0x78($sp)
|
||||
/* B7C108 80104F68 0C0402F9 */ jal __osSiRelAccess
|
||||
/* B7C10C 80104F6C AFA2006C */ sw $v0, 0x6c($sp)
|
||||
/* B7C110 80104F70 8FA3006C */ lw $v1, 0x6c($sp)
|
||||
/* B7C114 80104F74 8FAE0070 */ lw $t6, 0x70($sp)
|
||||
/* B7C118 80104F78 02002025 */ move $a0, $s0
|
||||
/* B7C11C 80104F7C 50600004 */ beql $v1, $zero, .L80104F90
|
||||
/* B7C120 80104F80 AE0E0004 */ sw $t6, 4($s0)
|
||||
/* B7C124 80104F84 1000006B */ b .L80105134
|
||||
/* B7C128 80104F88 00601025 */ move $v0, $v1
|
||||
/* B7C12C 80104F8C AE0E0004 */ sw $t6, 4($s0)
|
||||
.L80104F90:
|
||||
/* B7C130 80104F90 8FAF0078 */ lw $t7, 0x78($sp)
|
||||
/* B7C134 80104F94 AE000000 */ sw $zero, ($s0)
|
||||
/* B7C138 80104F98 0C041452 */ jal func_80105148
|
||||
/* B7C13C 80104F9C AE0F0008 */ sw $t7, 8($s0)
|
||||
/* B7C140 80104FA0 10400003 */ beqz $v0, .L80104FB0
|
||||
/* B7C144 80104FA4 02002025 */ move $a0, $s0
|
||||
/* B7C148 80104FA8 10000063 */ b .L80105138
|
||||
/* B7C14C 80104FAC 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80104FB0:
|
||||
/* B7C150 80104FB0 0C041320 */ jal func_80104C80
|
||||
/* B7C154 80104FB4 00002825 */ move $a1, $zero
|
||||
/* B7C158 80104FB8 10400003 */ beqz $v0, .L80104FC8
|
||||
/* B7C15C 80104FBC 24060001 */ li $a2, 1
|
||||
/* B7C160 80104FC0 1000005D */ b .L80105138
|
||||
/* B7C164 80104FC4 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80104FC8:
|
||||
/* B7C168 80104FC8 8E040004 */ lw $a0, 4($s0)
|
||||
/* B7C16C 80104FCC 8E050008 */ lw $a1, 8($s0)
|
||||
/* B7C170 80104FD0 0C0417D0 */ jal func_80105F40
|
||||
/* B7C174 80104FD4 27A70048 */ addiu $a3, $sp, 0x48
|
||||
/* B7C178 80104FD8 10400003 */ beqz $v0, .L80104FE8
|
||||
/* B7C17C 80104FDC 27A40048 */ addiu $a0, $sp, 0x48
|
||||
/* B7C180 80104FE0 10000055 */ b .L80105138
|
||||
/* B7C184 80104FE4 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80104FE8:
|
||||
/* B7C188 80104FE8 27A5006A */ addiu $a1, $sp, 0x6a
|
||||
/* B7C18C 80104FEC 0C040925 */ jal func_80102494
|
||||
/* B7C190 80104FF0 27A60068 */ addiu $a2, $sp, 0x68
|
||||
/* B7C194 80104FF4 97B8006A */ lhu $t8, 0x6a($sp)
|
||||
/* B7C198 80104FF8 97B90064 */ lhu $t9, 0x64($sp)
|
||||
/* B7C19C 80104FFC 27A50048 */ addiu $a1, $sp, 0x48
|
||||
/* B7C1A0 80105000 AFA50044 */ sw $a1, 0x44($sp)
|
||||
/* B7C1A4 80105004 17190004 */ bne $t8, $t9, .L80105018
|
||||
/* B7C1A8 80105008 97A90068 */ lhu $t1, 0x68($sp)
|
||||
/* B7C1AC 8010500C 97AA0066 */ lhu $t2, 0x66($sp)
|
||||
/* B7C1B0 80105010 512A000A */ beql $t1, $t2, .L8010503C
|
||||
/* B7C1B4 80105014 97AD0060 */ lhu $t5, 0x60($sp)
|
||||
.L80105018:
|
||||
/* B7C1B8 80105018 0C040A38 */ jal func_801028E0
|
||||
/* B7C1BC 8010501C 02002025 */ move $a0, $s0
|
||||
/* B7C1C0 80105020 50400006 */ beql $v0, $zero, .L8010503C
|
||||
/* B7C1C4 80105024 97AD0060 */ lhu $t5, 0x60($sp)
|
||||
/* B7C1C8 80105028 8E0B0000 */ lw $t3, ($s0)
|
||||
/* B7C1CC 8010502C 356C0004 */ ori $t4, $t3, 4
|
||||
/* B7C1D0 80105030 10000040 */ b .L80105134
|
||||
/* B7C1D4 80105034 AE0C0000 */ sw $t4, ($s0)
|
||||
/* B7C1D8 80105038 97AD0060 */ lhu $t5, 0x60($sp)
|
||||
.L8010503C:
|
||||
/* B7C1DC 8010503C 27A50048 */ addiu $a1, $sp, 0x48
|
||||
/* B7C1E0 80105040 02002025 */ move $a0, $s0
|
||||
/* B7C1E4 80105044 31AE0001 */ andi $t6, $t5, 1
|
||||
/* B7C1E8 80105048 55C00016 */ bnezl $t6, .L801050A4
|
||||
/* B7C1EC 8010504C 8FA40044 */ lw $a0, 0x44($sp)
|
||||
/* B7C1F0 80105050 0C040964 */ jal func_80102590
|
||||
/* B7C1F4 80105054 27A60020 */ addiu $a2, $sp, 0x20
|
||||
/* B7C1F8 80105058 10400009 */ beqz $v0, .L80105080
|
||||
/* B7C1FC 8010505C 00401825 */ move $v1, $v0
|
||||
/* B7C200 80105060 2401000A */ li $at, 10
|
||||
/* B7C204 80105064 14410004 */ bne $v0, $at, .L80105078
|
||||
/* B7C208 80105068 00000000 */ nop
|
||||
/* B7C20C 8010506C 8E0F0000 */ lw $t7, ($s0)
|
||||
/* B7C210 80105070 35F80004 */ ori $t8, $t7, 4
|
||||
/* B7C214 80105074 AE180000 */ sw $t8, ($s0)
|
||||
.L80105078:
|
||||
/* B7C218 80105078 1000002E */ b .L80105134
|
||||
/* B7C21C 8010507C 00601025 */ move $v0, $v1
|
||||
.L80105080:
|
||||
/* B7C220 80105080 97A90038 */ lhu $t1, 0x38($sp)
|
||||
/* B7C224 80105084 27B90020 */ addiu $t9, $sp, 0x20
|
||||
/* B7C228 80105088 AFB90044 */ sw $t9, 0x44($sp)
|
||||
/* B7C22C 8010508C 312A0001 */ andi $t2, $t1, 1
|
||||
/* B7C230 80105090 55400004 */ bnezl $t2, .L801050A4
|
||||
/* B7C234 80105094 8FA40044 */ lw $a0, 0x44($sp)
|
||||
/* B7C238 80105098 10000026 */ b .L80105134
|
||||
/* B7C23C 8010509C 2402000B */ li $v0, 11
|
||||
/* B7C240 801050A0 8FA40044 */ lw $a0, 0x44($sp)
|
||||
.L801050A4:
|
||||
/* B7C244 801050A4 2605000C */ addiu $a1, $s0, 0xc
|
||||
/* B7C248 801050A8 0C001BC4 */ jal bcopy
|
||||
/* B7C24C 801050AC 24060020 */ li $a2, 32
|
||||
/* B7C250 801050B0 8FAB0044 */ lw $t3, 0x44($sp)
|
||||
/* B7C254 801050B4 24190010 */ li $t9, 16
|
||||
/* B7C258 801050B8 24090008 */ li $t1, 8
|
||||
/* B7C25C 801050BC 916C001B */ lbu $t4, 0x1b($t3)
|
||||
/* B7C260 801050C0 8E040004 */ lw $a0, 4($s0)
|
||||
/* B7C264 801050C4 8E050008 */ lw $a1, 8($s0)
|
||||
/* B7C268 801050C8 AE0C004C */ sw $t4, 0x4c($s0)
|
||||
/* B7C26C 801050CC 8FAD0044 */ lw $t5, 0x44($sp)
|
||||
/* B7C270 801050D0 24060007 */ li $a2, 7
|
||||
/* B7C274 801050D4 2607002C */ addiu $a3, $s0, 0x2c
|
||||
/* B7C278 801050D8 91AE001A */ lbu $t6, 0x1a($t5)
|
||||
/* B7C27C 801050DC AE190050 */ sw $t9, 0x50($s0)
|
||||
/* B7C280 801050E0 AE090054 */ sw $t1, 0x54($s0)
|
||||
/* B7C284 801050E4 31C200FF */ andi $v0, $t6, 0xff
|
||||
/* B7C288 801050E8 000218C0 */ sll $v1, $v0, 3
|
||||
/* B7C28C 801050EC 00027840 */ sll $t7, $v0, 1
|
||||
/* B7C290 801050F0 24680008 */ addiu $t0, $v1, 8
|
||||
/* B7C294 801050F4 25F80003 */ addiu $t8, $t7, 3
|
||||
/* B7C298 801050F8 01035021 */ addu $t2, $t0, $v1
|
||||
/* B7C29C 801050FC AE180060 */ sw $t8, 0x60($s0)
|
||||
/* B7C2A0 80105100 AE080058 */ sw $t0, 0x58($s0)
|
||||
/* B7C2A4 80105104 AE0A005C */ sw $t2, 0x5c($s0)
|
||||
/* B7C2A8 80105108 0C0417D0 */ jal func_80105F40
|
||||
/* B7C2AC 8010510C A20E0064 */ sb $t6, 0x64($s0)
|
||||
/* B7C2B0 80105110 10400003 */ beqz $v0, .L80105120
|
||||
/* B7C2B4 80105114 00000000 */ nop
|
||||
/* B7C2B8 80105118 10000007 */ b .L80105138
|
||||
/* B7C2BC 8010511C 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80105120:
|
||||
/* B7C2C0 80105120 0C041494 */ jal func_80105250
|
||||
/* B7C2C4 80105124 02002025 */ move $a0, $s0
|
||||
/* B7C2C8 80105128 8E0B0000 */ lw $t3, ($s0)
|
||||
/* B7C2CC 8010512C 356C0001 */ ori $t4, $t3, 1
|
||||
/* B7C2D0 80105130 AE0C0000 */ sw $t4, ($s0)
|
||||
.L80105134:
|
||||
/* B7C2D4 80105134 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L80105138:
|
||||
/* B7C2D8 80105138 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B7C2DC 8010513C 27BD0070 */ addiu $sp, $sp, 0x70
|
||||
/* B7C2E0 80105140 03E00008 */ jr $ra
|
||||
/* B7C2E4 80105144 00000000 */ nop
|
||||
|
||||
glabel func_80105148
|
||||
/* B7C2E8 80105148 27BDFF68 */ addiu $sp, $sp, -0x98
|
||||
/* B7C2EC 8010514C AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* B7C2F0 80105150 AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* B7C2F4 80105154 00808025 */ move $s0, $a0
|
||||
/* B7C2F8 80105158 0C041320 */ jal func_80104C80
|
||||
/* B7C2FC 8010515C 00002825 */ move $a1, $zero
|
||||
/* B7C300 80105160 10400003 */ beqz $v0, .L80105170
|
||||
/* B7C304 80105164 00003025 */ move $a2, $zero
|
||||
/* B7C308 80105168 10000034 */ b .L8010523C
|
||||
/* B7C30C 8010516C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L80105170:
|
||||
/* B7C310 80105170 8E040004 */ lw $a0, 4($s0)
|
||||
/* B7C314 80105174 8E050008 */ lw $a1, 8($s0)
|
||||
/* B7C318 80105178 0C0417D0 */ jal func_80105F40
|
||||
/* B7C31C 8010517C 27A70030 */ addiu $a3, $sp, 0x30
|
||||
/* B7C320 80105180 10400003 */ beqz $v0, .L80105190
|
||||
/* B7C324 80105184 27A30070 */ addiu $v1, $sp, 0x70
|
||||
/* B7C328 80105188 1000002C */ b .L8010523C
|
||||
/* B7C32C 8010518C 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L80105190:
|
||||
/* B7C330 80105190 00001025 */ move $v0, $zero
|
||||
/* B7C334 80105194 24040020 */ li $a0, 32
|
||||
.L80105198:
|
||||
/* B7C338 80105198 244E0001 */ addiu $t6, $v0, 1
|
||||
/* B7C33C 8010519C 244F0002 */ addiu $t7, $v0, 2
|
||||
/* B7C340 801051A0 24580003 */ addiu $t8, $v0, 3
|
||||
/* B7C344 801051A4 A0620000 */ sb $v0, ($v1)
|
||||
/* B7C348 801051A8 24420004 */ addiu $v0, $v0, 4
|
||||
/* B7C34C 801051AC A0780003 */ sb $t8, 3($v1)
|
||||
/* B7C350 801051B0 A06F0002 */ sb $t7, 2($v1)
|
||||
/* B7C354 801051B4 A06E0001 */ sb $t6, 1($v1)
|
||||
/* B7C358 801051B8 1444FFF7 */ bne $v0, $a0, .L80105198
|
||||
/* B7C35C 801051BC 24630004 */ addiu $v1, $v1, 4
|
||||
/* B7C360 801051C0 8E040004 */ lw $a0, 4($s0)
|
||||
/* B7C364 801051C4 8E050008 */ lw $a1, 8($s0)
|
||||
/* B7C368 801051C8 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* B7C36C 801051CC 00003025 */ move $a2, $zero
|
||||
/* B7C370 801051D0 0C04173C */ jal func_80105CF0
|
||||
/* B7C374 801051D4 27A70070 */ addiu $a3, $sp, 0x70
|
||||
/* B7C378 801051D8 10400003 */ beqz $v0, .L801051E8
|
||||
/* B7C37C 801051DC 00003025 */ move $a2, $zero
|
||||
/* B7C380 801051E0 10000016 */ b .L8010523C
|
||||
/* B7C384 801051E4 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L801051E8:
|
||||
/* B7C388 801051E8 8E040004 */ lw $a0, 4($s0)
|
||||
/* B7C38C 801051EC 8E050008 */ lw $a1, 8($s0)
|
||||
/* B7C390 801051F0 0C0417D0 */ jal func_80105F40
|
||||
/* B7C394 801051F4 27A70050 */ addiu $a3, $sp, 0x50
|
||||
/* B7C398 801051F8 10400003 */ beqz $v0, .L80105208
|
||||
/* B7C39C 801051FC 27A40070 */ addiu $a0, $sp, 0x70
|
||||
/* B7C3A0 80105200 1000000E */ b .L8010523C
|
||||
/* B7C3A4 80105204 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L80105208:
|
||||
/* B7C3A8 80105208 27A50050 */ addiu $a1, $sp, 0x50
|
||||
/* B7C3AC 8010520C 0C001A30 */ jal bcmp
|
||||
/* B7C3B0 80105210 24060020 */ li $a2, 32
|
||||
/* B7C3B4 80105214 10400003 */ beqz $v0, .L80105224
|
||||
/* B7C3B8 80105218 00003025 */ move $a2, $zero
|
||||
/* B7C3BC 8010521C 10000006 */ b .L80105238
|
||||
/* B7C3C0 80105220 2402000B */ li $v0, 11
|
||||
.L80105224:
|
||||
/* B7C3C4 80105224 8E040004 */ lw $a0, 4($s0)
|
||||
/* B7C3C8 80105228 8E050008 */ lw $a1, 8($s0)
|
||||
/* B7C3CC 8010522C AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* B7C3D0 80105230 0C04173C */ jal func_80105CF0
|
||||
/* B7C3D4 80105234 27A70030 */ addiu $a3, $sp, 0x30
|
||||
.L80105238:
|
||||
/* B7C3D8 80105238 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L8010523C:
|
||||
/* B7C3DC 8010523C 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* B7C3E0 80105240 27BD0098 */ addiu $sp, $sp, 0x98
|
||||
/* B7C3E4 80105244 03E00008 */ jr $ra
|
||||
/* B7C3E8 80105248 00000000 */ nop
|
||||
@@ -0,0 +1,719 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80105250
|
||||
/* B7C3F0 80105250 27BDFB38 */ addiu $sp, $sp, -0x4c8
|
||||
/* B7C3F4 80105254 AFBF0044 */ sw $ra, 0x44($sp)
|
||||
/* B7C3F8 80105258 AFBE0040 */ sw $fp, 0x40($sp)
|
||||
/* B7C3FC 8010525C AFB3002C */ sw $s3, 0x2c($sp)
|
||||
/* B7C400 80105260 00809825 */ move $s3, $a0
|
||||
/* B7C404 80105264 AFB7003C */ sw $s7, 0x3c($sp)
|
||||
/* B7C408 80105268 AFB60038 */ sw $s6, 0x38($sp)
|
||||
/* B7C40C 8010526C AFB50034 */ sw $s5, 0x34($sp)
|
||||
/* B7C410 80105270 AFB40030 */ sw $s4, 0x30($sp)
|
||||
/* B7C414 80105274 AFB20028 */ sw $s2, 0x28($sp)
|
||||
/* B7C418 80105278 AFB10024 */ sw $s1, 0x24($sp)
|
||||
/* B7C41C 8010527C AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* B7C420 80105280 AFA00074 */ sw $zero, 0x74($sp)
|
||||
/* B7C424 80105284 0C040AFC */ jal func_80102BF0
|
||||
/* B7C428 80105288 241E00FE */ li $fp, 254
|
||||
/* B7C42C 8010528C 24010002 */ li $at, 2
|
||||
/* B7C430 80105290 14410004 */ bne $v0, $at, .L801052A4
|
||||
/* B7C434 80105294 0040B825 */ move $s7, $v0
|
||||
/* B7C438 80105298 0C040A91 */ jal func_80102A44
|
||||
/* B7C43C 8010529C 02602025 */ move $a0, $s3
|
||||
/* B7C440 801052A0 0040B825 */ move $s7, $v0
|
||||
.L801052A4:
|
||||
/* B7C444 801052A4 10400003 */ beqz $v0, .L801052B4
|
||||
/* B7C448 801052A8 02602025 */ move $a0, $s3
|
||||
/* B7C44C 801052AC 1000012A */ b .L80105758
|
||||
/* B7C450 801052B0 02E01025 */ move $v0, $s7
|
||||
.L801052B4:
|
||||
/* B7C454 801052B4 0C0415E2 */ jal func_80105788
|
||||
/* B7C458 801052B8 27A50078 */ addiu $a1, $sp, 0x78
|
||||
/* B7C45C 801052BC 50400004 */ beql $v0, $zero, .L801052D0
|
||||
/* B7C460 801052C0 8E620050 */ lw $v0, 0x50($s3)
|
||||
/* B7C464 801052C4 10000125 */ b .L8010575C
|
||||
/* B7C468 801052C8 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* B7C46C 801052CC 8E620050 */ lw $v0, 0x50($s3)
|
||||
.L801052D0:
|
||||
/* B7C470 801052D0 0000A025 */ move $s4, $zero
|
||||
/* B7C474 801052D4 27B502BC */ addiu $s5, $sp, 0x2bc
|
||||
/* B7C478 801052D8 18400082 */ blez $v0, .L801054E4
|
||||
/* B7C47C 801052DC 27B204BC */ addiu $s2, $sp, 0x4bc
|
||||
/* B7C480 801052E0 8E6E005C */ lw $t6, 0x5c($s3)
|
||||
.L801052E4:
|
||||
/* B7C484 801052E4 8E640004 */ lw $a0, 4($s3)
|
||||
/* B7C488 801052E8 8E650008 */ lw $a1, 8($s3)
|
||||
/* B7C48C 801052EC 01D43021 */ addu $a2, $t6, $s4
|
||||
/* B7C490 801052F0 30CFFFFF */ andi $t7, $a2, 0xffff
|
||||
/* B7C494 801052F4 01E03025 */ move $a2, $t7
|
||||
/* B7C498 801052F8 0C0417D0 */ jal func_80105F40
|
||||
/* B7C49C 801052FC 27A7029C */ addiu $a3, $sp, 0x29c
|
||||
/* B7C4A0 80105300 10400003 */ beqz $v0, .L80105310
|
||||
/* B7C4A4 80105304 0040B825 */ move $s7, $v0
|
||||
/* B7C4A8 80105308 10000114 */ b .L8010575C
|
||||
/* B7C4AC 8010530C 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L80105310:
|
||||
/* B7C4B0 80105310 97A202A0 */ lhu $v0, 0x2a0($sp)
|
||||
/* B7C4B4 80105314 8FB8029C */ lw $t8, 0x29c($sp)
|
||||
/* B7C4B8 80105318 14400003 */ bnez $v0, .L80105328
|
||||
/* B7C4BC 8010531C 00000000 */ nop
|
||||
/* B7C4C0 80105320 5300006B */ beql $t8, $zero, .L801054D0
|
||||
/* B7C4C4 80105324 8E620050 */ lw $v0, 0x50($s3)
|
||||
.L80105328:
|
||||
/* B7C4C8 80105328 10400003 */ beqz $v0, .L80105338
|
||||
/* B7C4CC 8010532C 8FB9029C */ lw $t9, 0x29c($sp)
|
||||
/* B7C4D0 80105330 17200003 */ bnez $t9, .L80105340
|
||||
/* B7C4D4 80105334 27A902A2 */ addiu $t1, $sp, 0x2a2
|
||||
.L80105338:
|
||||
/* B7C4D8 80105338 10000044 */ b .L8010544C
|
||||
/* B7C4DC 8010533C 2404FFFF */ li $a0, -1
|
||||
.L80105340:
|
||||
/* B7C4E0 80105340 95210000 */ lhu $at, ($t1)
|
||||
/* B7C4E4 80105344 00002025 */ move $a0, $zero
|
||||
/* B7C4E8 80105348 00008025 */ move $s0, $zero
|
||||
/* B7C4EC 8010534C A6410000 */ sh $at, ($s2)
|
||||
/* B7C4F0 80105350 8E6D0060 */ lw $t5, 0x60($s3)
|
||||
/* B7C4F4 80105354 97AC04BC */ lhu $t4, 0x4bc($sp)
|
||||
/* B7C4F8 80105358 241600FF */ li $s6, 255
|
||||
/* B7C4FC 8010535C 93AE04BC */ lbu $t6, 0x4bc($sp)
|
||||
/* B7C500 80105360 018D082A */ slt $at, $t4, $t5
|
||||
/* B7C504 80105364 14200039 */ bnez $at, .L8010544C
|
||||
/* B7C508 80105368 00000000 */ nop
|
||||
/* B7C50C 8010536C 926F0064 */ lbu $t7, 0x64($s3)
|
||||
/* B7C510 80105370 93B804BD */ lbu $t8, 0x4bd($sp)
|
||||
/* B7C514 80105374 01CF082A */ slt $at, $t6, $t7
|
||||
/* B7C518 80105378 10200034 */ beqz $at, .L8010544C
|
||||
/* B7C51C 8010537C 00000000 */ nop
|
||||
/* B7C520 80105380 1B000032 */ blez $t8, .L8010544C
|
||||
/* B7C524 80105384 2B010080 */ slti $at, $t8, 0x80
|
||||
/* B7C528 80105388 10200030 */ beqz $at, .L8010544C
|
||||
/* B7C52C 8010538C 02C08825 */ move $s1, $s6
|
||||
/* B7C530 80105390 93B904BC */ lbu $t9, 0x4bc($sp)
|
||||
.L80105394:
|
||||
/* B7C534 80105394 13310010 */ beq $t9, $s1, .L801053D8
|
||||
/* B7C538 80105398 0320B025 */ move $s6, $t9
|
||||
/* B7C53C 8010539C 133E0008 */ beq $t9, $fp, .L801053C0
|
||||
/* B7C540 801053A0 03208825 */ move $s1, $t9
|
||||
/* B7C544 801053A4 02602025 */ move $a0, $s3
|
||||
/* B7C548 801053A8 02A02825 */ move $a1, $s5
|
||||
/* B7C54C 801053AC 00003025 */ move $a2, $zero
|
||||
/* B7C550 801053B0 0C040B31 */ jal func_80102CC4
|
||||
/* B7C554 801053B4 332700FF */ andi $a3, $t9, 0xff
|
||||
/* B7C558 801053B8 0040B825 */ move $s7, $v0
|
||||
/* B7C55C 801053BC 32DE00FF */ andi $fp, $s6, 0xff
|
||||
.L801053C0:
|
||||
/* B7C560 801053C0 12E00005 */ beqz $s7, .L801053D8
|
||||
/* B7C564 801053C4 24010003 */ li $at, 3
|
||||
/* B7C568 801053C8 52E10004 */ beql $s7, $at, .L801053DC
|
||||
/* B7C56C 801053CC 96410000 */ lhu $at, ($s2)
|
||||
/* B7C570 801053D0 100000E1 */ b .L80105758
|
||||
/* B7C574 801053D4 02E01025 */ move $v0, $s7
|
||||
.L801053D8:
|
||||
/* B7C578 801053D8 96410000 */ lhu $at, ($s2)
|
||||
.L801053DC:
|
||||
/* B7C57C 801053DC 02602025 */ move $a0, $s3
|
||||
/* B7C580 801053E0 27A60078 */ addiu $a2, $sp, 0x78
|
||||
/* B7C584 801053E4 A7A10004 */ sh $at, 4($sp)
|
||||
/* B7C588 801053E8 0C041698 */ jal func_80105A60
|
||||
/* B7C58C 801053EC 8FA50004 */ lw $a1, 4($sp)
|
||||
/* B7C590 801053F0 00502023 */ subu $a0, $v0, $s0
|
||||
/* B7C594 801053F4 14800015 */ bnez $a0, .L8010544C
|
||||
/* B7C598 801053F8 93AB04BD */ lbu $t3, 0x4bd($sp)
|
||||
/* B7C59C 801053FC 000B6040 */ sll $t4, $t3, 1
|
||||
/* B7C5A0 80105400 02AC6821 */ addu $t5, $s5, $t4
|
||||
/* B7C5A4 80105404 95A10000 */ lhu $at, ($t5)
|
||||
/* B7C5A8 80105408 24100001 */ li $s0, 1
|
||||
/* B7C5AC 8010540C A6410000 */ sh $at, ($s2)
|
||||
/* B7C5B0 80105410 8E790060 */ lw $t9, 0x60($s3)
|
||||
/* B7C5B4 80105414 97B804BC */ lhu $t8, 0x4bc($sp)
|
||||
/* B7C5B8 80105418 93AB04BD */ lbu $t3, 0x4bd($sp)
|
||||
/* B7C5BC 8010541C 93AA04BC */ lbu $t2, 0x4bc($sp)
|
||||
/* B7C5C0 80105420 0319082A */ slt $at, $t8, $t9
|
||||
/* B7C5C4 80105424 14200009 */ bnez $at, .L8010544C
|
||||
/* B7C5C8 80105428 00000000 */ nop
|
||||
/* B7C5CC 8010542C 92690064 */ lbu $t1, 0x64($s3)
|
||||
/* B7C5D0 80105430 0149082A */ slt $at, $t2, $t1
|
||||
/* B7C5D4 80105434 10200005 */ beqz $at, .L8010544C
|
||||
/* B7C5D8 80105438 00000000 */ nop
|
||||
/* B7C5DC 8010543C 19600003 */ blez $t3, .L8010544C
|
||||
/* B7C5E0 80105440 29610080 */ slti $at, $t3, 0x80
|
||||
/* B7C5E4 80105444 5420FFD3 */ bnezl $at, .L80105394
|
||||
/* B7C5E8 80105448 93B904BC */ lbu $t9, 0x4bc($sp)
|
||||
.L8010544C:
|
||||
/* B7C5EC 8010544C 14800003 */ bnez $a0, .L8010545C
|
||||
/* B7C5F0 80105450 97AC04BC */ lhu $t4, 0x4bc($sp)
|
||||
/* B7C5F4 80105454 24010001 */ li $at, 1
|
||||
/* B7C5F8 80105458 1181001C */ beq $t4, $at, .L801054CC
|
||||
.L8010545C:
|
||||
/* B7C5FC 8010545C 27A4029C */ addiu $a0, $sp, 0x29c
|
||||
/* B7C600 80105460 0C001114 */ jal bzero
|
||||
/* B7C604 80105464 24050020 */ li $a1, 32
|
||||
/* B7C608 80105468 926E0065 */ lbu $t6, 0x65($s3)
|
||||
/* B7C60C 8010546C 02602025 */ move $a0, $s3
|
||||
/* B7C610 80105470 51C00008 */ beql $t6, $zero, .L80105494
|
||||
/* B7C614 80105474 8E6D005C */ lw $t5, 0x5c($s3)
|
||||
/* B7C618 80105478 0C041320 */ jal func_80104C80
|
||||
/* B7C61C 8010547C 00002825 */ move $a1, $zero
|
||||
/* B7C620 80105480 50400004 */ beql $v0, $zero, .L80105494
|
||||
/* B7C624 80105484 8E6D005C */ lw $t5, 0x5c($s3)
|
||||
/* B7C628 80105488 100000B4 */ b .L8010575C
|
||||
/* B7C62C 8010548C 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* B7C630 80105490 8E6D005C */ lw $t5, 0x5c($s3)
|
||||
.L80105494:
|
||||
/* B7C634 80105494 8E640004 */ lw $a0, 4($s3)
|
||||
/* B7C638 80105498 8E650008 */ lw $a1, 8($s3)
|
||||
/* B7C63C 8010549C 01B43021 */ addu $a2, $t5, $s4
|
||||
/* B7C640 801054A0 30CFFFFF */ andi $t7, $a2, 0xffff
|
||||
/* B7C644 801054A4 01E03025 */ move $a2, $t7
|
||||
/* B7C648 801054A8 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* B7C64C 801054AC 0C04173C */ jal func_80105CF0
|
||||
/* B7C650 801054B0 27A7029C */ addiu $a3, $sp, 0x29c
|
||||
/* B7C654 801054B4 10400003 */ beqz $v0, .L801054C4
|
||||
/* B7C658 801054B8 8FB80074 */ lw $t8, 0x74($sp)
|
||||
/* B7C65C 801054BC 100000A7 */ b .L8010575C
|
||||
/* B7C660 801054C0 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L801054C4:
|
||||
/* B7C664 801054C4 27190001 */ addiu $t9, $t8, 1
|
||||
/* B7C668 801054C8 AFB90074 */ sw $t9, 0x74($sp)
|
||||
.L801054CC:
|
||||
/* B7C66C 801054CC 8E620050 */ lw $v0, 0x50($s3)
|
||||
.L801054D0:
|
||||
/* B7C670 801054D0 26940001 */ addiu $s4, $s4, 1
|
||||
/* B7C674 801054D4 0282082A */ slt $at, $s4, $v0
|
||||
/* B7C678 801054D8 5420FF82 */ bnezl $at, .L801052E4
|
||||
/* B7C67C 801054DC 8E6E005C */ lw $t6, 0x5c($s3)
|
||||
/* B7C680 801054E0 0000A025 */ move $s4, $zero
|
||||
.L801054E4:
|
||||
/* B7C684 801054E4 18400021 */ blez $v0, .L8010556C
|
||||
/* B7C688 801054E8 27B502BC */ addiu $s5, $sp, 0x2bc
|
||||
/* B7C68C 801054EC 8E6A005C */ lw $t2, 0x5c($s3)
|
||||
.L801054F0:
|
||||
/* B7C690 801054F0 8E640004 */ lw $a0, 4($s3)
|
||||
/* B7C694 801054F4 8E650008 */ lw $a1, 8($s3)
|
||||
/* B7C698 801054F8 01543021 */ addu $a2, $t2, $s4
|
||||
/* B7C69C 801054FC 30C9FFFF */ andi $t1, $a2, 0xffff
|
||||
/* B7C6A0 80105500 01203025 */ move $a2, $t1
|
||||
/* B7C6A4 80105504 0C0417D0 */ jal func_80105F40
|
||||
/* B7C6A8 80105508 27A7029C */ addiu $a3, $sp, 0x29c
|
||||
/* B7C6AC 8010550C 10400003 */ beqz $v0, .L8010551C
|
||||
/* B7C6B0 80105510 97AE02A0 */ lhu $t6, 0x2a0($sp)
|
||||
/* B7C6B4 80105514 10000091 */ b .L8010575C
|
||||
/* B7C6B8 80105518 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L8010551C:
|
||||
/* B7C6BC 8010551C 00145840 */ sll $t3, $s4, 1
|
||||
/* B7C6C0 80105520 27AC027C */ addiu $t4, $sp, 0x27c
|
||||
/* B7C6C4 80105524 11C0000B */ beqz $t6, .L80105554
|
||||
/* B7C6C8 80105528 016C2021 */ addu $a0, $t3, $t4
|
||||
/* B7C6CC 8010552C 8FAD029C */ lw $t5, 0x29c($sp)
|
||||
/* B7C6D0 80105530 97AF02A2 */ lhu $t7, 0x2a2($sp)
|
||||
/* B7C6D4 80105534 51A00008 */ beql $t5, $zero, .L80105558
|
||||
/* B7C6D8 80105538 A4800000 */ sh $zero, ($a0)
|
||||
/* B7C6DC 8010553C 96780062 */ lhu $t8, 0x62($s3)
|
||||
/* B7C6E0 80105540 01F8082A */ slt $at, $t7, $t8
|
||||
/* B7C6E4 80105544 54200004 */ bnezl $at, .L80105558
|
||||
/* B7C6E8 80105548 A4800000 */ sh $zero, ($a0)
|
||||
/* B7C6EC 8010554C 10000002 */ b .L80105558
|
||||
/* B7C6F0 80105550 A48F0000 */ sh $t7, ($a0)
|
||||
.L80105554:
|
||||
/* B7C6F4 80105554 A4800000 */ sh $zero, ($a0)
|
||||
.L80105558:
|
||||
/* B7C6F8 80105558 8E790050 */ lw $t9, 0x50($s3)
|
||||
/* B7C6FC 8010555C 26940001 */ addiu $s4, $s4, 1
|
||||
/* B7C700 80105560 0299082A */ slt $at, $s4, $t9
|
||||
/* B7C704 80105564 5420FFE2 */ bnezl $at, .L801054F0
|
||||
/* B7C708 80105568 8E6A005C */ lw $t2, 0x5c($s3)
|
||||
.L8010556C:
|
||||
/* B7C70C 8010556C 926A0064 */ lbu $t2, 0x64($s3)
|
||||
/* B7C710 80105570 0000B025 */ move $s6, $zero
|
||||
/* B7C714 80105574 241E0003 */ li $fp, 3
|
||||
/* B7C718 80105578 1940006B */ blez $t2, .L80105728
|
||||
/* B7C71C 8010557C 27B203BC */ addiu $s2, $sp, 0x3bc
|
||||
/* B7C720 80105580 27B00060 */ addiu $s0, $sp, 0x60
|
||||
.L80105584:
|
||||
/* B7C724 80105584 02602025 */ move $a0, $s3
|
||||
/* B7C728 80105588 02A02825 */ move $a1, $s5
|
||||
/* B7C72C 8010558C 00003025 */ move $a2, $zero
|
||||
/* B7C730 80105590 0C040B31 */ jal func_80102CC4
|
||||
/* B7C734 80105594 32C700FF */ andi $a3, $s6, 0xff
|
||||
/* B7C738 80105598 10400006 */ beqz $v0, .L801055B4
|
||||
/* B7C73C 8010559C 27A804BC */ addiu $t0, $sp, 0x4bc
|
||||
/* B7C740 801055A0 24010003 */ li $at, 3
|
||||
/* B7C744 801055A4 50410004 */ beql $v0, $at, .L801055B8
|
||||
/* B7C748 801055A8 02C08825 */ move $s1, $s6
|
||||
/* B7C74C 801055AC 1000006B */ b .L8010575C
|
||||
/* B7C750 801055B0 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L801055B4:
|
||||
/* B7C754 801055B4 02C08825 */ move $s1, $s6
|
||||
.L801055B8:
|
||||
/* B7C758 801055B8 1AC00003 */ blez $s6, .L801055C8
|
||||
/* B7C75C 801055BC 0000A025 */ move $s4, $zero
|
||||
/* B7C760 801055C0 10000002 */ b .L801055CC
|
||||
/* B7C764 801055C4 24050001 */ li $a1, 1
|
||||
.L801055C8:
|
||||
/* B7C768 801055C8 8E650060 */ lw $a1, 0x60($s3)
|
||||
.L801055CC:
|
||||
/* B7C76C 801055CC 18A0001C */ blez $a1, .L80105640
|
||||
/* B7C770 801055D0 30A70003 */ andi $a3, $a1, 3
|
||||
/* B7C774 801055D4 10E0000B */ beqz $a3, .L80105604
|
||||
/* B7C778 801055D8 00E02025 */ move $a0, $a3
|
||||
/* B7C77C 801055DC 00143040 */ sll $a2, $s4, 1
|
||||
/* B7C780 801055E0 02461821 */ addu $v1, $s2, $a2
|
||||
/* B7C784 801055E4 02A61021 */ addu $v0, $s5, $a2
|
||||
.L801055E8:
|
||||
/* B7C788 801055E8 94490000 */ lhu $t1, ($v0)
|
||||
/* B7C78C 801055EC 26940001 */ addiu $s4, $s4, 1
|
||||
/* B7C790 801055F0 24630002 */ addiu $v1, $v1, 2
|
||||
/* B7C794 801055F4 24420002 */ addiu $v0, $v0, 2
|
||||
/* B7C798 801055F8 1494FFFB */ bne $a0, $s4, .L801055E8
|
||||
/* B7C79C 801055FC A469FFFE */ sh $t1, -2($v1)
|
||||
/* B7C7A0 80105600 1285000F */ beq $s4, $a1, .L80105640
|
||||
.L80105604:
|
||||
/* B7C7A4 80105604 00143040 */ sll $a2, $s4, 1
|
||||
/* B7C7A8 80105608 02461821 */ addu $v1, $s2, $a2
|
||||
/* B7C7AC 8010560C 02A61021 */ addu $v0, $s5, $a2
|
||||
.L80105610:
|
||||
/* B7C7B0 80105610 944C0002 */ lhu $t4, 2($v0)
|
||||
/* B7C7B4 80105614 944E0004 */ lhu $t6, 4($v0)
|
||||
/* B7C7B8 80105618 944D0006 */ lhu $t5, 6($v0)
|
||||
/* B7C7BC 8010561C 944B0000 */ lhu $t3, ($v0)
|
||||
/* B7C7C0 80105620 26940004 */ addiu $s4, $s4, 4
|
||||
/* B7C7C4 80105624 24630008 */ addiu $v1, $v1, 8
|
||||
/* B7C7C8 80105628 24420008 */ addiu $v0, $v0, 8
|
||||
/* B7C7CC 8010562C A46CFFFA */ sh $t4, -6($v1)
|
||||
/* B7C7D0 80105630 A46EFFFC */ sh $t6, -4($v1)
|
||||
/* B7C7D4 80105634 A46DFFFE */ sh $t5, -2($v1)
|
||||
/* B7C7D8 80105638 1685FFF5 */ bne $s4, $a1, .L80105610
|
||||
/* B7C7DC 8010563C A46BFFF8 */ sh $t3, -8($v1)
|
||||
.L80105640:
|
||||
/* B7C7E0 80105640 2A810080 */ slti $at, $s4, 0x80
|
||||
/* B7C7E4 80105644 10200007 */ beqz $at, .L80105664
|
||||
/* B7C7E8 80105648 02402825 */ move $a1, $s2
|
||||
/* B7C7EC 8010564C 0014C040 */ sll $t8, $s4, 1
|
||||
/* B7C7F0 80105650 02581821 */ addu $v1, $s2, $t8
|
||||
.L80105654:
|
||||
/* B7C7F4 80105654 24630002 */ addiu $v1, $v1, 2
|
||||
/* B7C7F8 80105658 0068082B */ sltu $at, $v1, $t0
|
||||
/* B7C7FC 8010565C 1420FFFD */ bnez $at, .L80105654
|
||||
/* B7C800 80105660 A47EFFFE */ sh $fp, -2($v1)
|
||||
.L80105664:
|
||||
/* B7C804 80105664 8E6F0050 */ lw $t7, 0x50($s3)
|
||||
/* B7C808 80105668 0000A025 */ move $s4, $zero
|
||||
/* B7C80C 8010566C 24060001 */ li $a2, 1
|
||||
/* B7C810 80105670 19E00021 */ blez $t7, .L801056F8
|
||||
/* B7C814 80105674 32C700FF */ andi $a3, $s6, 0xff
|
||||
/* B7C818 80105678 27A4027C */ addiu $a0, $sp, 0x27c
|
||||
/* B7C81C 8010567C 90990000 */ lbu $t9, ($a0)
|
||||
.L80105680:
|
||||
/* B7C820 80105680 56390018 */ bnel $s1, $t9, .L801056E4
|
||||
/* B7C824 80105684 8E6E0050 */ lw $t6, 0x50($s3)
|
||||
/* B7C828 80105688 948A0000 */ lhu $t2, ($a0)
|
||||
/* B7C82C 8010568C 96690062 */ lhu $t1, 0x62($s3)
|
||||
/* B7C830 80105690 0149082A */ slt $at, $t2, $t1
|
||||
/* B7C834 80105694 54200013 */ bnezl $at, .L801056E4
|
||||
/* B7C838 80105698 8E6E0050 */ lw $t6, 0x50($s3)
|
||||
/* B7C83C 8010569C 90830001 */ lbu $v1, 1($a0)
|
||||
.L801056A0:
|
||||
/* B7C840 801056A0 00031040 */ sll $v0, $v1, 1
|
||||
/* B7C844 801056A4 02A25821 */ addu $t3, $s5, $v0
|
||||
/* B7C848 801056A8 95610000 */ lhu $at, ($t3)
|
||||
/* B7C84C 801056AC 02426821 */ addu $t5, $s2, $v0
|
||||
/* B7C850 801056B0 A6010000 */ sh $at, ($s0)
|
||||
/* B7C854 801056B4 A5A10000 */ sh $at, ($t5)
|
||||
/* B7C858 801056B8 96010000 */ lhu $at, ($s0)
|
||||
/* B7C85C 801056BC A4810000 */ sh $at, ($a0)
|
||||
/* B7C860 801056C0 90890000 */ lbu $t1, ($a0)
|
||||
/* B7C864 801056C4 56290007 */ bnel $s1, $t1, .L801056E4
|
||||
/* B7C868 801056C8 8E6E0050 */ lw $t6, 0x50($s3)
|
||||
/* B7C86C 801056CC 966B0062 */ lhu $t3, 0x62($s3)
|
||||
/* B7C870 801056D0 302CFFFF */ andi $t4, $at, 0xffff
|
||||
/* B7C874 801056D4 018B082A */ slt $at, $t4, $t3
|
||||
/* B7C878 801056D8 5020FFF1 */ beql $at, $zero, .L801056A0
|
||||
/* B7C87C 801056DC 90830001 */ lbu $v1, 1($a0)
|
||||
/* B7C880 801056E0 8E6E0050 */ lw $t6, 0x50($s3)
|
||||
.L801056E4:
|
||||
/* B7C884 801056E4 26940001 */ addiu $s4, $s4, 1
|
||||
/* B7C888 801056E8 24840002 */ addiu $a0, $a0, 2
|
||||
/* B7C88C 801056EC 028E082A */ slt $at, $s4, $t6
|
||||
/* B7C890 801056F0 5420FFE3 */ bnezl $at, .L80105680
|
||||
/* B7C894 801056F4 90990000 */ lbu $t9, ($a0)
|
||||
.L801056F8:
|
||||
/* B7C898 801056F8 0C040B31 */ jal func_80102CC4
|
||||
/* B7C89C 801056FC 02602025 */ move $a0, $s3
|
||||
/* B7C8A0 80105700 50400004 */ beql $v0, $zero, .L80105714
|
||||
/* B7C8A4 80105704 926D0064 */ lbu $t5, 0x64($s3)
|
||||
/* B7C8A8 80105708 10000014 */ b .L8010575C
|
||||
/* B7C8AC 8010570C 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
/* B7C8B0 80105710 926D0064 */ lbu $t5, 0x64($s3)
|
||||
.L80105714:
|
||||
/* B7C8B4 80105714 26D60001 */ addiu $s6, $s6, 1
|
||||
/* B7C8B8 80105718 32D800FF */ andi $t8, $s6, 0xff
|
||||
/* B7C8BC 8010571C 030D082A */ slt $at, $t8, $t5
|
||||
/* B7C8C0 80105720 1420FF98 */ bnez $at, .L80105584
|
||||
/* B7C8C4 80105724 0300B025 */ move $s6, $t8
|
||||
.L80105728:
|
||||
/* B7C8C8 80105728 8FAF0074 */ lw $t7, 0x74($sp)
|
||||
/* B7C8CC 8010572C 00001025 */ move $v0, $zero
|
||||
/* B7C8D0 80105730 51E00006 */ beql $t7, $zero, .L8010574C
|
||||
/* B7C8D4 80105734 8E690000 */ lw $t1, ($s3)
|
||||
/* B7C8D8 80105738 8E790000 */ lw $t9, ($s3)
|
||||
/* B7C8DC 8010573C 372A0002 */ ori $t2, $t9, 2
|
||||
/* B7C8E0 80105740 10000005 */ b .L80105758
|
||||
/* B7C8E4 80105744 AE6A0000 */ sw $t2, ($s3)
|
||||
/* B7C8E8 80105748 8E690000 */ lw $t1, ($s3)
|
||||
.L8010574C:
|
||||
/* B7C8EC 8010574C 2401FFFD */ li $at, -3
|
||||
/* B7C8F0 80105750 01216024 */ and $t4, $t1, $at
|
||||
/* B7C8F4 80105754 AE6C0000 */ sw $t4, ($s3)
|
||||
.L80105758:
|
||||
/* B7C8F8 80105758 8FBF0044 */ lw $ra, 0x44($sp)
|
||||
.L8010575C:
|
||||
/* B7C8FC 8010575C 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* B7C900 80105760 8FB10024 */ lw $s1, 0x24($sp)
|
||||
/* B7C904 80105764 8FB20028 */ lw $s2, 0x28($sp)
|
||||
/* B7C908 80105768 8FB3002C */ lw $s3, 0x2c($sp)
|
||||
/* B7C90C 8010576C 8FB40030 */ lw $s4, 0x30($sp)
|
||||
/* B7C910 80105770 8FB50034 */ lw $s5, 0x34($sp)
|
||||
/* B7C914 80105774 8FB60038 */ lw $s6, 0x38($sp)
|
||||
/* B7C918 80105778 8FB7003C */ lw $s7, 0x3c($sp)
|
||||
/* B7C91C 8010577C 8FBE0040 */ lw $fp, 0x40($sp)
|
||||
/* B7C920 80105780 03E00008 */ jr $ra
|
||||
/* B7C924 80105784 27BD04C8 */ addiu $sp, $sp, 0x4c8
|
||||
|
||||
glabel func_80105788
|
||||
/* B7C928 80105788 27BDFE98 */ addiu $sp, $sp, -0x168
|
||||
/* B7C92C 8010578C AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* B7C930 80105790 00809825 */ move $s3, $a0
|
||||
/* B7C934 80105794 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* B7C938 80105798 00A0A025 */ move $s4, $a1
|
||||
/* B7C93C 8010579C AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* B7C940 801057A0 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* B7C944 801057A4 AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* B7C948 801057A8 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* B7C94C 801057AC AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* B7C950 801057B0 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* B7C954 801057B4 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* B7C958 801057B8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B7C95C 801057BC 24040100 */ li $a0, 256
|
||||
/* B7C960 801057C0 00001025 */ move $v0, $zero
|
||||
/* B7C964 801057C4 00A01825 */ move $v1, $a1
|
||||
.L801057C8:
|
||||
/* B7C968 801057C8 24420004 */ addiu $v0, $v0, 4
|
||||
/* B7C96C 801057CC A0600102 */ sb $zero, 0x102($v1)
|
||||
/* B7C970 801057D0 A0600103 */ sb $zero, 0x103($v1)
|
||||
/* B7C974 801057D4 A0600104 */ sb $zero, 0x104($v1)
|
||||
/* B7C978 801057D8 24630004 */ addiu $v1, $v1, 4
|
||||
/* B7C97C 801057DC 1444FFFA */ bne $v0, $a0, .L801057C8
|
||||
/* B7C980 801057E0 A06000FD */ sb $zero, 0xfd($v1)
|
||||
/* B7C984 801057E4 240E00FF */ li $t6, 255
|
||||
/* B7C988 801057E8 A28E0100 */ sb $t6, 0x100($s4)
|
||||
/* B7C98C 801057EC 926F0064 */ lbu $t7, 0x64($s3)
|
||||
/* B7C990 801057F0 0000B825 */ move $s7, $zero
|
||||
/* B7C994 801057F4 00008025 */ move $s0, $zero
|
||||
/* B7C998 801057F8 19E0008C */ blez $t7, .L80105A2C
|
||||
/* B7C99C 801057FC 241E0080 */ li $fp, 128
|
||||
/* B7C9A0 80105800 27B6015A */ addiu $s6, $sp, 0x15a
|
||||
/* B7C9A4 80105804 27B50058 */ addiu $s5, $sp, 0x58
|
||||
/* B7C9A8 80105808 27B20158 */ addiu $s2, $sp, 0x158
|
||||
.L8010580C:
|
||||
/* B7C9AC 8010580C 1A000003 */ blez $s0, .L8010581C
|
||||
/* B7C9B0 80105810 02602025 */ move $a0, $s3
|
||||
/* B7C9B4 80105814 10000002 */ b .L80105820
|
||||
/* B7C9B8 80105818 24110001 */ li $s1, 1
|
||||
.L8010581C:
|
||||
/* B7C9BC 8010581C 8E710060 */ lw $s1, 0x60($s3)
|
||||
.L80105820:
|
||||
/* B7C9C0 80105820 02A02825 */ move $a1, $s5
|
||||
/* B7C9C4 80105824 00003025 */ move $a2, $zero
|
||||
/* B7C9C8 80105828 0C040B31 */ jal func_80102CC4
|
||||
/* B7C9CC 8010582C 32E700FF */ andi $a3, $s7, 0xff
|
||||
/* B7C9D0 80105830 10400005 */ beqz $v0, .L80105848
|
||||
/* B7C9D4 80105834 24010003 */ li $at, 3
|
||||
/* B7C9D8 80105838 50410004 */ beql $v0, $at, .L8010584C
|
||||
/* B7C9DC 8010583C 2A210080 */ slti $at, $s1, 0x80
|
||||
/* B7C9E0 80105840 1000007C */ b .L80105A34
|
||||
/* B7C9E4 80105844 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L80105848:
|
||||
/* B7C9E8 80105848 2A210080 */ slti $at, $s1, 0x80
|
||||
.L8010584C:
|
||||
/* B7C9EC 8010584C 10200071 */ beqz $at, .L80105A14
|
||||
/* B7C9F0 80105850 02201025 */ move $v0, $s1
|
||||
/* B7C9F4 80105854 03D11823 */ subu $v1, $fp, $s1
|
||||
/* B7C9F8 80105858 30780001 */ andi $t8, $v1, 1
|
||||
/* B7C9FC 8010585C 13000025 */ beqz $t8, .L801058F4
|
||||
/* B7CA00 80105860 0011C840 */ sll $t9, $s1, 1
|
||||
/* B7CA04 80105864 02B94021 */ addu $t0, $s5, $t9
|
||||
/* B7CA08 80105868 95010000 */ lhu $at, ($t0)
|
||||
/* B7CA0C 8010586C A6410000 */ sh $at, ($s2)
|
||||
/* B7CA10 80105870 8E6C0060 */ lw $t4, 0x60($s3)
|
||||
/* B7CA14 80105874 97AB0158 */ lhu $t3, 0x158($sp)
|
||||
/* B7CA18 80105878 93AD0158 */ lbu $t5, 0x158($sp)
|
||||
/* B7CA1C 8010587C 016C082A */ slt $at, $t3, $t4
|
||||
/* B7CA20 80105880 5420001B */ bnezl $at, .L801058F0
|
||||
/* B7CA24 80105884 26220001 */ addiu $v0, $s1, 1
|
||||
/* B7CA28 80105888 120D0018 */ beq $s0, $t5, .L801058EC
|
||||
/* B7CA2C 8010588C 93AE0159 */ lbu $t6, 0x159($sp)
|
||||
/* B7CA30 80105890 31CF007F */ andi $t7, $t6, 0x7f
|
||||
/* B7CA34 80105894 05E10003 */ bgez $t7, .L801058A4
|
||||
/* B7CA38 80105898 000FC083 */ sra $t8, $t7, 2
|
||||
/* B7CA3C 8010589C 25E10003 */ addiu $at, $t7, 3
|
||||
/* B7CA40 801058A0 0001C083 */ sra $t8, $at, 2
|
||||
.L801058A4:
|
||||
/* B7CA44 801058A4 05A10004 */ bgez $t5, .L801058B8
|
||||
/* B7CA48 801058A8 31B90007 */ andi $t9, $t5, 7
|
||||
/* B7CA4C 801058AC 13200002 */ beqz $t9, .L801058B8
|
||||
/* B7CA50 801058B0 00000000 */ nop
|
||||
/* B7CA54 801058B4 2739FFF8 */ addiu $t9, $t9, -8
|
||||
.L801058B8:
|
||||
/* B7CA58 801058B8 00194940 */ sll $t1, $t9, 5
|
||||
/* B7CA5C 801058BC 03091821 */ addu $v1, $t8, $t1
|
||||
/* B7CA60 801058C0 02831021 */ addu $v0, $s4, $v1
|
||||
/* B7CA64 801058C4 90480101 */ lbu $t0, 0x101($v0)
|
||||
/* B7CA68 801058C8 06010004 */ bgez $s0, .L801058DC
|
||||
/* B7CA6C 801058CC 320A0007 */ andi $t2, $s0, 7
|
||||
/* B7CA70 801058D0 11400002 */ beqz $t2, .L801058DC
|
||||
/* B7CA74 801058D4 00000000 */ nop
|
||||
/* B7CA78 801058D8 254AFFF8 */ addiu $t2, $t2, -8
|
||||
.L801058DC:
|
||||
/* B7CA7C 801058DC 240B0001 */ li $t3, 1
|
||||
/* B7CA80 801058E0 014B6004 */ sllv $t4, $t3, $t2
|
||||
/* B7CA84 801058E4 010C7025 */ or $t6, $t0, $t4
|
||||
/* B7CA88 801058E8 A04E0101 */ sb $t6, 0x101($v0)
|
||||
.L801058EC:
|
||||
/* B7CA8C 801058EC 26220001 */ addiu $v0, $s1, 1
|
||||
.L801058F0:
|
||||
/* B7CA90 801058F0 105E0048 */ beq $v0, $fp, .L80105A14
|
||||
.L801058F4:
|
||||
/* B7CA94 801058F4 00027840 */ sll $t7, $v0, 1
|
||||
/* B7CA98 801058F8 02AF2821 */ addu $a1, $s5, $t7
|
||||
/* B7CA9C 801058FC 24A40002 */ addiu $a0, $a1, 2
|
||||
.L80105900:
|
||||
/* B7CAA0 80105900 94A10000 */ lhu $at, ($a1)
|
||||
/* B7CAA4 80105904 A6410000 */ sh $at, ($s2)
|
||||
/* B7CAA8 80105908 8E690060 */ lw $t1, 0x60($s3)
|
||||
/* B7CAAC 8010590C 97B80158 */ lhu $t8, 0x158($sp)
|
||||
/* B7CAB0 80105910 93AB0158 */ lbu $t3, 0x158($sp)
|
||||
/* B7CAB4 80105914 0309082A */ slt $at, $t8, $t1
|
||||
/* B7CAB8 80105918 5420001B */ bnezl $at, .L80105988
|
||||
/* B7CABC 8010591C 94810000 */ lhu $at, ($a0)
|
||||
/* B7CAC0 80105920 120B0018 */ beq $s0, $t3, .L80105984
|
||||
/* B7CAC4 80105924 93AA0159 */ lbu $t2, 0x159($sp)
|
||||
/* B7CAC8 80105928 3148007F */ andi $t0, $t2, 0x7f
|
||||
/* B7CACC 8010592C 05010003 */ bgez $t0, .L8010593C
|
||||
/* B7CAD0 80105930 00086083 */ sra $t4, $t0, 2
|
||||
/* B7CAD4 80105934 25010003 */ addiu $at, $t0, 3
|
||||
/* B7CAD8 80105938 00016083 */ sra $t4, $at, 2
|
||||
.L8010593C:
|
||||
/* B7CADC 8010593C 05610004 */ bgez $t3, .L80105950
|
||||
/* B7CAE0 80105940 316E0007 */ andi $t6, $t3, 7
|
||||
/* B7CAE4 80105944 11C00002 */ beqz $t6, .L80105950
|
||||
/* B7CAE8 80105948 00000000 */ nop
|
||||
/* B7CAEC 8010594C 25CEFFF8 */ addiu $t6, $t6, -8
|
||||
.L80105950:
|
||||
/* B7CAF0 80105950 000E7940 */ sll $t7, $t6, 5
|
||||
/* B7CAF4 80105954 018F1821 */ addu $v1, $t4, $t7
|
||||
/* B7CAF8 80105958 02831021 */ addu $v0, $s4, $v1
|
||||
/* B7CAFC 8010595C 904D0101 */ lbu $t5, 0x101($v0)
|
||||
/* B7CB00 80105960 06010004 */ bgez $s0, .L80105974
|
||||
/* B7CB04 80105964 32190007 */ andi $t9, $s0, 7
|
||||
/* B7CB08 80105968 13200002 */ beqz $t9, .L80105974
|
||||
/* B7CB0C 8010596C 00000000 */ nop
|
||||
/* B7CB10 80105970 2739FFF8 */ addiu $t9, $t9, -8
|
||||
.L80105974:
|
||||
/* B7CB14 80105974 24180001 */ li $t8, 1
|
||||
/* B7CB18 80105978 03384804 */ sllv $t1, $t8, $t9
|
||||
/* B7CB1C 8010597C 01A95025 */ or $t2, $t5, $t1
|
||||
/* B7CB20 80105980 A04A0101 */ sb $t2, 0x101($v0)
|
||||
.L80105984:
|
||||
/* B7CB24 80105984 94810000 */ lhu $at, ($a0)
|
||||
.L80105988:
|
||||
/* B7CB28 80105988 24840004 */ addiu $a0, $a0, 4
|
||||
/* B7CB2C 8010598C A6410000 */ sh $at, ($s2)
|
||||
/* B7CB30 80105990 8E6C0060 */ lw $t4, 0x60($s3)
|
||||
/* B7CB34 80105994 97AE0158 */ lhu $t6, 0x158($sp)
|
||||
/* B7CB38 80105998 93AF0158 */ lbu $t7, 0x158($sp)
|
||||
/* B7CB3C 8010599C 01CC082A */ slt $at, $t6, $t4
|
||||
/* B7CB40 801059A0 1420001A */ bnez $at, .L80105A0C
|
||||
/* B7CB44 801059A4 00000000 */ nop
|
||||
/* B7CB48 801059A8 120F0018 */ beq $s0, $t7, .L80105A0C
|
||||
/* B7CB4C 801059AC 93B80159 */ lbu $t8, 0x159($sp)
|
||||
/* B7CB50 801059B0 3319007F */ andi $t9, $t8, 0x7f
|
||||
/* B7CB54 801059B4 07210003 */ bgez $t9, .L801059C4
|
||||
/* B7CB58 801059B8 00196883 */ sra $t5, $t9, 2
|
||||
/* B7CB5C 801059BC 27210003 */ addiu $at, $t9, 3
|
||||
/* B7CB60 801059C0 00016883 */ sra $t5, $at, 2
|
||||
.L801059C4:
|
||||
/* B7CB64 801059C4 05E10004 */ bgez $t7, .L801059D8
|
||||
/* B7CB68 801059C8 31E90007 */ andi $t1, $t7, 7
|
||||
/* B7CB6C 801059CC 11200002 */ beqz $t1, .L801059D8
|
||||
/* B7CB70 801059D0 00000000 */ nop
|
||||
/* B7CB74 801059D4 2529FFF8 */ addiu $t1, $t1, -8
|
||||
.L801059D8:
|
||||
/* B7CB78 801059D8 00095140 */ sll $t2, $t1, 5
|
||||
/* B7CB7C 801059DC 01AA1821 */ addu $v1, $t5, $t2
|
||||
/* B7CB80 801059E0 02831021 */ addu $v0, $s4, $v1
|
||||
/* B7CB84 801059E4 90480101 */ lbu $t0, 0x101($v0)
|
||||
/* B7CB88 801059E8 06010004 */ bgez $s0, .L801059FC
|
||||
/* B7CB8C 801059EC 320B0007 */ andi $t3, $s0, 7
|
||||
/* B7CB90 801059F0 11600002 */ beqz $t3, .L801059FC
|
||||
/* B7CB94 801059F4 00000000 */ nop
|
||||
/* B7CB98 801059F8 256BFFF8 */ addiu $t3, $t3, -8
|
||||
.L801059FC:
|
||||
/* B7CB9C 801059FC 240E0001 */ li $t6, 1
|
||||
/* B7CBA0 80105A00 016E6004 */ sllv $t4, $t6, $t3
|
||||
/* B7CBA4 80105A04 010CC025 */ or $t8, $t0, $t4
|
||||
/* B7CBA8 80105A08 A0580101 */ sb $t8, 0x101($v0)
|
||||
.L80105A0C:
|
||||
/* B7CBAC 80105A0C 1496FFBC */ bne $a0, $s6, .L80105900
|
||||
/* B7CBB0 80105A10 24A50004 */ addiu $a1, $a1, 4
|
||||
.L80105A14:
|
||||
/* B7CBB4 80105A14 926F0064 */ lbu $t7, 0x64($s3)
|
||||
/* B7CBB8 80105A18 26F70001 */ addiu $s7, $s7, 1
|
||||
/* B7CBBC 80105A1C 32F000FF */ andi $s0, $s7, 0xff
|
||||
/* B7CBC0 80105A20 020F082A */ slt $at, $s0, $t7
|
||||
/* B7CBC4 80105A24 1420FF79 */ bnez $at, .L8010580C
|
||||
/* B7CBC8 80105A28 0200B825 */ move $s7, $s0
|
||||
.L80105A2C:
|
||||
/* B7CBCC 80105A2C 00001025 */ move $v0, $zero
|
||||
/* B7CBD0 80105A30 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L80105A34:
|
||||
/* B7CBD4 80105A34 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B7CBD8 80105A38 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* B7CBDC 80105A3C 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* B7CBE0 80105A40 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* B7CBE4 80105A44 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* B7CBE8 80105A48 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* B7CBEC 80105A4C 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* B7CBF0 80105A50 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* B7CBF4 80105A54 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* B7CBF8 80105A58 03E00008 */ jr $ra
|
||||
/* B7CBFC 80105A5C 27BD0168 */ addiu $sp, $sp, 0x168
|
||||
|
||||
glabel func_80105A60
|
||||
/* B7CC00 80105A60 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* B7CC04 80105A64 AFA5003C */ sw $a1, 0x3c($sp)
|
||||
/* B7CC08 80105A68 93B8003C */ lbu $t8, 0x3c($sp)
|
||||
/* B7CC0C 80105A6C AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* B7CC10 80105A70 93AE003D */ lbu $t6, 0x3d($sp)
|
||||
/* B7CC14 80105A74 0080A025 */ move $s4, $a0
|
||||
/* B7CC18 80105A78 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* B7CC1C 80105A7C AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* B7CC20 80105A80 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* B7CC24 80105A84 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* B7CC28 80105A88 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* B7CC2C 80105A8C AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* B7CC30 80105A90 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B7CC34 80105A94 92890064 */ lbu $t1, 0x64($s4)
|
||||
/* B7CC38 80105A98 00C09825 */ move $s3, $a2
|
||||
/* B7CC3C 80105A9C 00008025 */ move $s0, $zero
|
||||
/* B7CC40 80105AA0 05C10003 */ bgez $t6, .L80105AB0
|
||||
/* B7CC44 80105AA4 000E7883 */ sra $t7, $t6, 2
|
||||
/* B7CC48 80105AA8 25C10003 */ addiu $at, $t6, 3
|
||||
/* B7CC4C 80105AAC 00017883 */ sra $t7, $at, 2
|
||||
.L80105AB0:
|
||||
/* B7CC50 80105AB0 07010004 */ bgez $t8, .L80105AC4
|
||||
/* B7CC54 80105AB4 33190007 */ andi $t9, $t8, 7
|
||||
/* B7CC58 80105AB8 13200002 */ beqz $t9, .L80105AC4
|
||||
/* B7CC5C 80105ABC 00000000 */ nop
|
||||
/* B7CC60 80105AC0 2739FFF8 */ addiu $t9, $t9, -8
|
||||
.L80105AC4:
|
||||
/* B7CC64 80105AC4 00194140 */ sll $t0, $t9, 5
|
||||
/* B7CC68 80105AC8 01E8B021 */ addu $s6, $t7, $t0
|
||||
/* B7CC6C 80105ACC 19200040 */ blez $t1, .L80105BD0
|
||||
/* B7CC70 80105AD0 00009025 */ move $s2, $zero
|
||||
/* B7CC74 80105AD4 00001025 */ move $v0, $zero
|
||||
/* B7CC78 80105AD8 24150003 */ li $s5, 3
|
||||
.L80105ADC:
|
||||
/* B7CC7C 80105ADC 18400003 */ blez $v0, .L80105AEC
|
||||
/* B7CC80 80105AE0 93AA003C */ lbu $t2, 0x3c($sp)
|
||||
/* B7CC84 80105AE4 10000002 */ b .L80105AF0
|
||||
/* B7CC88 80105AE8 24110001 */ li $s1, 1
|
||||
.L80105AEC:
|
||||
/* B7CC8C 80105AEC 8E910060 */ lw $s1, 0x60($s4)
|
||||
.L80105AF0:
|
||||
/* B7CC90 80105AF0 1142000C */ beq $t2, $v0, .L80105B24
|
||||
/* B7CC94 80105AF4 02765821 */ addu $t3, $s3, $s6
|
||||
/* B7CC98 80105AF8 916C0101 */ lbu $t4, 0x101($t3)
|
||||
/* B7CC9C 80105AFC 04410004 */ bgez $v0, .L80105B10
|
||||
/* B7CCA0 80105B00 304D0007 */ andi $t5, $v0, 7
|
||||
/* B7CCA4 80105B04 11A00002 */ beqz $t5, .L80105B10
|
||||
/* B7CCA8 80105B08 00000000 */ nop
|
||||
/* B7CCAC 80105B0C 25ADFFF8 */ addiu $t5, $t5, -8
|
||||
.L80105B10:
|
||||
/* B7CCB0 80105B10 240E0001 */ li $t6, 1
|
||||
/* B7CCB4 80105B14 01AEC004 */ sllv $t8, $t6, $t5
|
||||
/* B7CCB8 80105B18 0198C824 */ and $t9, $t4, $t8
|
||||
/* B7CCBC 80105B1C 53200027 */ beql $t9, $zero, .L80105BBC
|
||||
/* B7CCC0 80105B20 928B0064 */ lbu $t3, 0x64($s4)
|
||||
.L80105B24:
|
||||
/* B7CCC4 80105B24 926F0100 */ lbu $t7, 0x100($s3)
|
||||
/* B7CCC8 80105B28 02802025 */ move $a0, $s4
|
||||
/* B7CCCC 80105B2C 02602825 */ move $a1, $s3
|
||||
/* B7CCD0 80105B30 11E2000A */ beq $t7, $v0, .L80105B5C
|
||||
/* B7CCD4 80105B34 00003025 */ move $a2, $zero
|
||||
/* B7CCD8 80105B38 0C040B31 */ jal func_80102CC4
|
||||
/* B7CCDC 80105B3C 324700FF */ andi $a3, $s2, 0xff
|
||||
/* B7CCE0 80105B40 50400006 */ beql $v0, $zero, .L80105B5C
|
||||
/* B7CCE4 80105B44 A2720100 */ sb $s2, 0x100($s3)
|
||||
/* B7CCE8 80105B48 50550004 */ beql $v0, $s5, .L80105B5C
|
||||
/* B7CCEC 80105B4C A2720100 */ sb $s2, 0x100($s3)
|
||||
/* B7CCF0 80105B50 10000021 */ b .L80105BD8
|
||||
/* B7CCF4 80105B54 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* B7CCF8 80105B58 A2720100 */ sb $s2, 0x100($s3)
|
||||
.L80105B5C:
|
||||
/* B7CCFC 80105B5C 2A010002 */ slti $at, $s0, 2
|
||||
/* B7CD00 80105B60 10200010 */ beqz $at, .L80105BA4
|
||||
/* B7CD04 80105B64 2A210080 */ slti $at, $s1, 0x80
|
||||
/* B7CD08 80105B68 1020000E */ beqz $at, .L80105BA4
|
||||
/* B7CD0C 80105B6C 00111040 */ sll $v0, $s1, 1
|
||||
/* B7CD10 80105B70 02621821 */ addu $v1, $s3, $v0
|
||||
/* B7CD14 80105B74 97A8003C */ lhu $t0, 0x3c($sp)
|
||||
.L80105B78:
|
||||
/* B7CD18 80105B78 94690000 */ lhu $t1, ($v1)
|
||||
/* B7CD1C 80105B7C 24420002 */ addiu $v0, $v0, 2
|
||||
/* B7CD20 80105B80 55090003 */ bnel $t0, $t1, .L80105B90
|
||||
/* B7CD24 80105B84 2A010002 */ slti $at, $s0, 2
|
||||
/* B7CD28 80105B88 26100001 */ addiu $s0, $s0, 1
|
||||
/* B7CD2C 80105B8C 2A010002 */ slti $at, $s0, 2
|
||||
.L80105B90:
|
||||
/* B7CD30 80105B90 10200004 */ beqz $at, .L80105BA4
|
||||
/* B7CD34 80105B94 24630002 */ addiu $v1, $v1, 2
|
||||
/* B7CD38 80105B98 28410100 */ slti $at, $v0, 0x100
|
||||
/* B7CD3C 80105B9C 5420FFF6 */ bnezl $at, .L80105B78
|
||||
/* B7CD40 80105BA0 97A8003C */ lhu $t0, 0x3c($sp)
|
||||
.L80105BA4:
|
||||
/* B7CD44 80105BA4 2A010002 */ slti $at, $s0, 2
|
||||
/* B7CD48 80105BA8 54200004 */ bnezl $at, .L80105BBC
|
||||
/* B7CD4C 80105BAC 928B0064 */ lbu $t3, 0x64($s4)
|
||||
/* B7CD50 80105BB0 10000008 */ b .L80105BD4
|
||||
/* B7CD54 80105BB4 24020002 */ li $v0, 2
|
||||
/* B7CD58 80105BB8 928B0064 */ lbu $t3, 0x64($s4)
|
||||
.L80105BBC:
|
||||
/* B7CD5C 80105BBC 26520001 */ addiu $s2, $s2, 1
|
||||
/* B7CD60 80105BC0 324200FF */ andi $v0, $s2, 0xff
|
||||
/* B7CD64 80105BC4 004B082A */ slt $at, $v0, $t3
|
||||
/* B7CD68 80105BC8 1420FFC4 */ bnez $at, .L80105ADC
|
||||
/* B7CD6C 80105BCC 00409025 */ move $s2, $v0
|
||||
.L80105BD0:
|
||||
/* B7CD70 80105BD0 02001025 */ move $v0, $s0
|
||||
.L80105BD4:
|
||||
/* B7CD74 80105BD4 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
.L80105BD8:
|
||||
/* B7CD78 80105BD8 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B7CD7C 80105BDC 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* B7CD80 80105BE0 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* B7CD84 80105BE4 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* B7CD88 80105BE8 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* B7CD8C 80105BEC 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* B7CD90 80105BF0 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* B7CD94 80105BF4 03E00008 */ jr $ra
|
||||
/* B7CD98 80105BF8 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
@@ -0,0 +1,66 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
/* B7CDB0 80105C10 00000000 */ nop
|
||||
/* B7CDB4 80105C14 00000000 */ nop
|
||||
/* B7CDB8 80105C18 00000000 */ nop
|
||||
/* B7CDBC 80105C1C 00000000 */ nop
|
||||
glabel func_80105C20
|
||||
/* B7CDC0 80105C20 3C014780 */ li $at, 0x47800000 # 0.000000
|
||||
/* B7CDC4 80105C24 44812000 */ mtc1 $at, $f4
|
||||
/* B7CDC8 80105C28 44853000 */ mtc1 $a1, $f6
|
||||
/* B7CDCC 80105C2C AC800000 */ sw $zero, ($a0)
|
||||
/* B7CDD0 80105C30 AC800014 */ sw $zero, 0x14($a0)
|
||||
/* B7CDD4 80105C34 46043202 */ mul.s $f8, $f6, $f4
|
||||
/* B7CDD8 80105C38 44863000 */ mtc1 $a2, $f6
|
||||
/* B7CDDC 80105C3C AC800008 */ sw $zero, 8($a0)
|
||||
/* B7CDE0 80105C40 AC800004 */ sw $zero, 4($a0)
|
||||
/* B7CDE4 80105C44 AC80000C */ sw $zero, 0xc($a0)
|
||||
/* B7CDE8 80105C48 AC800010 */ sw $zero, 0x10($a0)
|
||||
/* B7CDEC 80105C4C AC800020 */ sw $zero, 0x20($a0)
|
||||
/* B7CDF0 80105C50 4600428D */ trunc.w.s $f10, $f8
|
||||
/* B7CDF4 80105C54 46043202 */ mul.s $f8, $f6, $f4
|
||||
/* B7CDF8 80105C58 44873000 */ mtc1 $a3, $f6
|
||||
/* B7CDFC 80105C5C AC800024 */ sw $zero, 0x24($a0)
|
||||
/* B7CE00 80105C60 44095000 */ mfc1 $t1, $f10
|
||||
/* B7CE04 80105C64 AC800028 */ sw $zero, 0x28($a0)
|
||||
/* B7CE08 80105C68 AC80002C */ sw $zero, 0x2c($a0)
|
||||
/* B7CE0C 80105C6C 00095402 */ srl $t2, $t1, 0x10
|
||||
/* B7CE10 80105C70 4600428D */ trunc.w.s $f10, $f8
|
||||
/* B7CE14 80105C74 46043202 */ mul.s $f8, $f6, $f4
|
||||
/* B7CE18 80105C78 000A4400 */ sll $t0, $t2, 0x10
|
||||
/* B7CE1C 80105C7C AC800030 */ sw $zero, 0x30($a0)
|
||||
/* B7CE20 80105C80 440B5000 */ mfc1 $t3, $f10
|
||||
/* B7CE24 80105C84 AC800034 */ sw $zero, 0x34($a0)
|
||||
/* B7CE28 80105C88 000B5402 */ srl $t2, $t3, 0x10
|
||||
/* B7CE2C 80105C8C 4600428D */ trunc.w.s $f10, $f8
|
||||
/* B7CE30 80105C90 010A4025 */ or $t0, $t0, $t2
|
||||
/* B7CE34 80105C94 AC880018 */ sw $t0, 0x18($a0)
|
||||
/* B7CE38 80105C98 00094400 */ sll $t0, $t1, 0x10
|
||||
/* B7CE3C 80105C9C 000B5400 */ sll $t2, $t3, 0x10
|
||||
/* B7CE40 80105CA0 44095000 */ mfc1 $t1, $f10
|
||||
/* B7CE44 80105CA4 000A5402 */ srl $t2, $t2, 0x10
|
||||
/* B7CE48 80105CA8 010A4025 */ or $t0, $t0, $t2
|
||||
/* B7CE4C 80105CAC AC880038 */ sw $t0, 0x38($a0)
|
||||
/* B7CE50 80105CB0 00095402 */ srl $t2, $t1, 0x10
|
||||
/* B7CE54 80105CB4 000A4400 */ sll $t0, $t2, 0x10
|
||||
/* B7CE58 80105CB8 25080001 */ addiu $t0, $t0, 1
|
||||
/* B7CE5C 80105CBC AC88001C */ sw $t0, 0x1c($a0)
|
||||
/* B7CE60 80105CC0 3C080001 */ lui $t0, 1
|
||||
/* B7CE64 80105CC4 35080000 */ ori $t0, $t0, 0
|
||||
/* B7CE68 80105CC8 AC880000 */ sw $t0, ($a0)
|
||||
/* B7CE6C 80105CCC AC880014 */ sw $t0, 0x14($a0)
|
||||
/* B7CE70 80105CD0 3C080000 */ lui $t0, (0x00000001 >> 16) # lui $t0, 0
|
||||
/* B7CE74 80105CD4 35080001 */ ori $t0, (0x00000001 & 0xFFFF) # ori $t0, $t0, 1
|
||||
/* B7CE78 80105CD8 00095400 */ sll $t2, $t1, 0x10
|
||||
/* B7CE7C 80105CDC AC8A003C */ sw $t2, 0x3c($a0)
|
||||
/* B7CE80 80105CE0 03E00008 */ jr $ra
|
||||
/* B7CE84 80105CE4 AC880008 */ sw $t0, 8($a0)
|
||||
@@ -0,0 +1,171 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80105CF0
|
||||
/* B7CE90 80105CF0 27BDFF98 */ addiu $sp, $sp, -0x68
|
||||
/* B7CE94 80105CF4 8FAF0078 */ lw $t7, 0x78($sp)
|
||||
/* B7CE98 80105CF8 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* B7CE9C 80105CFC AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* B7CEA0 80105D00 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* B7CEA4 80105D04 AFA60070 */ sw $a2, 0x70($sp)
|
||||
/* B7CEA8 80105D08 30CEFFFF */ andi $t6, $a2, 0xffff
|
||||
/* B7CEAC 80105D0C 24010001 */ li $at, 1
|
||||
/* B7CEB0 80105D10 01C03025 */ move $a2, $t6
|
||||
/* B7CEB4 80105D14 00A08825 */ move $s1, $a1
|
||||
/* B7CEB8 80105D18 0080A825 */ move $s5, $a0
|
||||
/* B7CEBC 80105D1C AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* B7CEC0 80105D20 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* B7CEC4 80105D24 AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* B7CEC8 80105D28 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* B7CECC 80105D2C AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* B7CED0 80105D30 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* B7CED4 80105D34 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B7CED8 80105D38 AFA70074 */ sw $a3, 0x74($sp)
|
||||
/* B7CEDC 80105D3C 11E10008 */ beq $t7, $at, .L80105D60
|
||||
/* B7CEE0 80105D40 24140002 */ li $s4, 2
|
||||
/* B7CEE4 80105D44 29C10007 */ slti $at, $t6, 7
|
||||
/* B7CEE8 80105D48 50200006 */ beql $at, $zero, .L80105D64
|
||||
/* B7CEEC 80105D4C 00C08025 */ move $s0, $a2
|
||||
/* B7CEF0 80105D50 51C00004 */ beql $t6, $zero, .L80105D64
|
||||
/* B7CEF4 80105D54 00C08025 */ move $s0, $a2
|
||||
/* B7CEF8 80105D58 1000006C */ b .L80105F0C
|
||||
/* B7CEFC 80105D5C 00001025 */ move $v0, $zero
|
||||
.L80105D60:
|
||||
/* B7CF00 80105D60 00C08025 */ move $s0, $a2
|
||||
.L80105D64:
|
||||
/* B7CF04 80105D64 0C0402E8 */ jal __osSiGetAccess
|
||||
/* B7CF08 80105D68 A7A60072 */ sh $a2, 0x72($sp)
|
||||
/* B7CF0C 80105D6C 0010C0C3 */ sra $t8, $s0, 3
|
||||
/* B7CF10 80105D70 0010C940 */ sll $t9, $s0, 5
|
||||
/* B7CF14 80105D74 3C178013 */ lui $s7, %hi(D_80134D20) # $s7, 0x8013
|
||||
/* B7CF18 80105D78 3C168017 */ lui $s6, %hi(_osCont_lastPollType) # $s6, 0x8017
|
||||
/* B7CF1C 80105D7C 3C138017 */ lui $s3, %hi(D_80175960) # $s3, 0x8017
|
||||
/* B7CF20 80105D80 26735960 */ addiu $s3, %lo(D_80175960) # addiu $s3, $s3, 0x5960
|
||||
/* B7CF24 80105D84 26D65810 */ addiu $s6, %lo(_osCont_lastPollType) # addiu $s6, $s6, 0x5810
|
||||
/* B7CF28 80105D88 26F74D20 */ addiu $s7, %lo(D_80134D20) # addiu $s7, $s7, 0x4d20
|
||||
/* B7CF2C 80105D8C AFB90040 */ sw $t9, 0x40($sp)
|
||||
/* B7CF30 80105D90 AFB80044 */ sw $t8, 0x44($sp)
|
||||
/* B7CF34 80105D94 241E0003 */ li $fp, 3
|
||||
.L80105D98:
|
||||
/* B7CF38 80105D98 92C80000 */ lbu $t0, ($s6)
|
||||
/* B7CF3C 80105D9C 24010003 */ li $at, 3
|
||||
/* B7CF40 80105DA0 02608025 */ move $s0, $s3
|
||||
/* B7CF44 80105DA4 15010004 */ bne $t0, $at, .L80105DB8
|
||||
/* B7CF48 80105DA8 00001025 */ move $v0, $zero
|
||||
/* B7CF4C 80105DAC 8EE90000 */ lw $t1, ($s7)
|
||||
/* B7CF50 80105DB0 52290022 */ beql $s1, $t1, .L80105E3C
|
||||
/* B7CF54 80105DB4 02718021 */ addu $s0, $s3, $s1
|
||||
.L80105DB8:
|
||||
/* B7CF58 80105DB8 A2DE0000 */ sb $fp, ($s6)
|
||||
/* B7CF5C 80105DBC 1A200010 */ blez $s1, .L80105E00
|
||||
/* B7CF60 80105DC0 AEF10000 */ sw $s1, ($s7)
|
||||
/* B7CF64 80105DC4 32240003 */ andi $a0, $s1, 3
|
||||
/* B7CF68 80105DC8 10800006 */ beqz $a0, .L80105DE4
|
||||
/* B7CF6C 80105DCC 00801825 */ move $v1, $a0
|
||||
.L80105DD0:
|
||||
/* B7CF70 80105DD0 24420001 */ addiu $v0, $v0, 1
|
||||
/* B7CF74 80105DD4 A2000000 */ sb $zero, ($s0)
|
||||
/* B7CF78 80105DD8 1462FFFD */ bne $v1, $v0, .L80105DD0
|
||||
/* B7CF7C 80105DDC 26100001 */ addiu $s0, $s0, 1
|
||||
/* B7CF80 80105DE0 10510007 */ beq $v0, $s1, .L80105E00
|
||||
.L80105DE4:
|
||||
/* B7CF84 80105DE4 24420004 */ addiu $v0, $v0, 4
|
||||
/* B7CF88 80105DE8 A2000000 */ sb $zero, ($s0)
|
||||
/* B7CF8C 80105DEC A2000001 */ sb $zero, 1($s0)
|
||||
/* B7CF90 80105DF0 A2000002 */ sb $zero, 2($s0)
|
||||
/* B7CF94 80105DF4 A2000003 */ sb $zero, 3($s0)
|
||||
/* B7CF98 80105DF8 1451FFFA */ bne $v0, $s1, .L80105DE4
|
||||
/* B7CF9C 80105DFC 26100004 */ addiu $s0, $s0, 4
|
||||
.L80105E00:
|
||||
/* B7CFA0 80105E00 240A0001 */ li $t2, 1
|
||||
/* B7CFA4 80105E04 AE6A003C */ sw $t2, 0x3c($s3)
|
||||
/* B7CFA8 80105E08 240B00FF */ li $t3, 255
|
||||
/* B7CFAC 80105E0C 240C0023 */ li $t4, 35
|
||||
/* B7CFB0 80105E10 240D0001 */ li $t5, 1
|
||||
/* B7CFB4 80105E14 240E00FF */ li $t6, 255
|
||||
/* B7CFB8 80105E18 240F00FE */ li $t7, 254
|
||||
/* B7CFBC 80105E1C A20B0000 */ sb $t3, ($s0)
|
||||
/* B7CFC0 80105E20 A20C0001 */ sb $t4, 1($s0)
|
||||
/* B7CFC4 80105E24 A20D0002 */ sb $t5, 2($s0)
|
||||
/* B7CFC8 80105E28 A21E0003 */ sb $fp, 3($s0)
|
||||
/* B7CFCC 80105E2C A20E0026 */ sb $t6, 0x26($s0)
|
||||
/* B7CFD0 80105E30 10000002 */ b .L80105E3C
|
||||
/* B7CFD4 80105E34 A20F0027 */ sb $t7, 0x27($s0)
|
||||
/* B7CFD8 80105E38 02718021 */ addu $s0, $s3, $s1
|
||||
.L80105E3C:
|
||||
/* B7CFDC 80105E3C 8FB80044 */ lw $t8, 0x44($sp)
|
||||
/* B7CFE0 80105E40 A2180004 */ sb $t8, 4($s0)
|
||||
/* B7CFE4 80105E44 0C04185C */ jal func_80106170
|
||||
/* B7CFE8 80105E48 97A40072 */ lhu $a0, 0x72($sp)
|
||||
/* B7CFEC 80105E4C 8FB90040 */ lw $t9, 0x40($sp)
|
||||
/* B7CFF0 80105E50 26050006 */ addiu $a1, $s0, 6
|
||||
/* B7CFF4 80105E54 24060020 */ li $a2, 32
|
||||
/* B7CFF8 80105E58 00594025 */ or $t0, $v0, $t9
|
||||
/* B7CFFC 80105E5C A2080005 */ sb $t0, 5($s0)
|
||||
/* B7D000 80105E60 0C001BC4 */ jal bcopy
|
||||
/* B7D004 80105E64 8FA40074 */ lw $a0, 0x74($sp)
|
||||
/* B7D008 80105E68 24040001 */ li $a0, 1
|
||||
/* B7D00C 80105E6C 0C0404FC */ jal __osSiRawStartDma /*(s32 dir, void *addr)*/
|
||||
/* B7D010 80105E70 02602825 */ move $a1, $s3
|
||||
/* B7D014 80105E74 0C041890 */ jal func_80106240
|
||||
/* B7D018 80105E78 8FA40074 */ lw $a0, 0x74($sp)
|
||||
/* B7D01C 80105E7C 305200FF */ andi $s2, $v0, 0xff
|
||||
/* B7D020 80105E80 02A02025 */ move $a0, $s5
|
||||
/* B7D024 80105E84 00002825 */ move $a1, $zero
|
||||
/* B7D028 80105E88 0C000CA0 */ jal osRecvMesg
|
||||
/* B7D02C 80105E8C 24060001 */ li $a2, 1
|
||||
/* B7D030 80105E90 00002025 */ move $a0, $zero
|
||||
/* B7D034 80105E94 0C0404FC */ jal __osSiRawStartDma /*(s32 dir, void *addr)*/
|
||||
/* B7D038 80105E98 02602825 */ move $a1, $s3
|
||||
/* B7D03C 80105E9C 02A02025 */ move $a0, $s5
|
||||
/* B7D040 80105EA0 00002825 */ move $a1, $zero
|
||||
/* B7D044 80105EA4 0C000CA0 */ jal osRecvMesg
|
||||
/* B7D048 80105EA8 24060001 */ li $a2, 1
|
||||
/* B7D04C 80105EAC 92030002 */ lbu $v1, 2($s0)
|
||||
/* B7D050 80105EB0 306900C0 */ andi $t1, $v1, 0xc0
|
||||
/* B7D054 80105EB4 00091903 */ sra $v1, $t1, 4
|
||||
/* B7D058 80105EB8 5460000C */ bnezl $v1, .L80105EEC
|
||||
/* B7D05C 80105EBC 24030001 */ li $v1, 1
|
||||
/* B7D060 80105EC0 920B0026 */ lbu $t3, 0x26($s0)
|
||||
/* B7D064 80105EC4 02A02025 */ move $a0, $s5
|
||||
/* B7D068 80105EC8 51720009 */ beql $t3, $s2, .L80105EF0
|
||||
/* B7D06C 80105ECC 24010004 */ li $at, 4
|
||||
/* B7D070 80105ED0 0C040644 */ jal func_80101910
|
||||
/* B7D074 80105ED4 02202825 */ move $a1, $s1
|
||||
/* B7D078 80105ED8 14400009 */ bnez $v0, .L80105F00
|
||||
/* B7D07C 80105EDC 00401825 */ move $v1, $v0
|
||||
/* B7D080 80105EE0 10000002 */ b .L80105EEC
|
||||
/* B7D084 80105EE4 24030004 */ li $v1, 4
|
||||
/* B7D088 80105EE8 24030001 */ li $v1, 1
|
||||
.L80105EEC:
|
||||
/* B7D08C 80105EEC 24010004 */ li $at, 4
|
||||
.L80105EF0:
|
||||
/* B7D090 80105EF0 14610003 */ bne $v1, $at, .L80105F00
|
||||
/* B7D094 80105EF4 2A820000 */ slti $v0, $s4, 0
|
||||
/* B7D098 80105EF8 1040FFA7 */ beqz $v0, .L80105D98
|
||||
/* B7D09C 80105EFC 2694FFFF */ addiu $s4, $s4, -1
|
||||
.L80105F00:
|
||||
/* B7D0A0 80105F00 0C0402F9 */ jal __osSiRelAccess
|
||||
/* B7D0A4 80105F04 AFA30064 */ sw $v1, 0x64($sp)
|
||||
/* B7D0A8 80105F08 8FA20064 */ lw $v0, 0x64($sp)
|
||||
.L80105F0C:
|
||||
/* B7D0AC 80105F0C 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* B7D0B0 80105F10 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B7D0B4 80105F14 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* B7D0B8 80105F18 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* B7D0BC 80105F1C 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* B7D0C0 80105F20 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* B7D0C4 80105F24 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* B7D0C8 80105F28 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* B7D0CC 80105F2C 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* B7D0D0 80105F30 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* B7D0D4 80105F34 03E00008 */ jr $ra
|
||||
/* B7D0D8 80105F38 27BD0068 */ addiu $sp, $sp, 0x68
|
||||
@@ -0,0 +1,160 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80105F40
|
||||
/* B7D0E0 80105F40 27BDFFA0 */ addiu $sp, $sp, -0x60
|
||||
/* B7D0E4 80105F44 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* B7D0E8 80105F48 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* B7D0EC 80105F4C AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* B7D0F0 80105F50 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* B7D0F4 80105F54 00A08825 */ move $s1, $a1
|
||||
/* B7D0F8 80105F58 0080B025 */ move $s6, $a0
|
||||
/* B7D0FC 80105F5C AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* B7D100 80105F60 AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* B7D104 80105F64 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* B7D108 80105F68 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* B7D10C 80105F6C AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* B7D110 80105F70 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B7D114 80105F74 AFA60068 */ sw $a2, 0x68($sp)
|
||||
/* B7D118 80105F78 AFA7006C */ sw $a3, 0x6c($sp)
|
||||
/* B7D11C 80105F7C 0C0402E8 */ jal __osSiGetAccess
|
||||
/* B7D120 80105F80 24150002 */ li $s5, 2
|
||||
/* B7D124 80105F84 97A5006A */ lhu $a1, 0x6a($sp)
|
||||
/* B7D128 80105F88 3C1E8013 */ lui $fp, %hi(D_80134D20) # $fp, 0x8013
|
||||
/* B7D12C 80105F8C 3C178017 */ lui $s7, %hi(_osCont_lastPollType) # $s7, 0x8017
|
||||
/* B7D130 80105F90 3C148017 */ lui $s4, %hi(D_80175960) # $s4, 0x8017
|
||||
/* B7D134 80105F94 000570C3 */ sra $t6, $a1, 3
|
||||
/* B7D138 80105F98 00057940 */ sll $t7, $a1, 5
|
||||
/* B7D13C 80105F9C AFAF0040 */ sw $t7, 0x40($sp)
|
||||
/* B7D140 80105FA0 AFAE0044 */ sw $t6, 0x44($sp)
|
||||
/* B7D144 80105FA4 26945960 */ addiu $s4, %lo(D_80175960) # addiu $s4, $s4, 0x5960
|
||||
/* B7D148 80105FA8 26F75810 */ addiu $s7, %lo(_osCont_lastPollType) # addiu $s7, $s7, 0x5810
|
||||
/* B7D14C 80105FAC 27DE4D20 */ addiu $fp, %lo(D_80134D20) # addiu $fp, $fp, 0x4d20
|
||||
.L80105FB0:
|
||||
/* B7D150 80105FB0 92F80000 */ lbu $t8, ($s7)
|
||||
/* B7D154 80105FB4 24010002 */ li $at, 2
|
||||
/* B7D158 80105FB8 97A5006A */ lhu $a1, 0x6a($sp)
|
||||
/* B7D15C 80105FBC 17010003 */ bne $t8, $at, .L80105FCC
|
||||
/* B7D160 80105FC0 02808025 */ move $s0, $s4
|
||||
/* B7D164 80105FC4 8FD90000 */ lw $t9, ($fp)
|
||||
/* B7D168 80105FC8 12390023 */ beq $s1, $t9, .L80106058
|
||||
.L80105FCC:
|
||||
/* B7D16C 80105FCC 24080002 */ li $t0, 2
|
||||
/* B7D170 80105FD0 A2E80000 */ sb $t0, ($s7)
|
||||
/* B7D174 80105FD4 AFD10000 */ sw $s1, ($fp)
|
||||
/* B7D178 80105FD8 1A200010 */ blez $s1, .L8010601C
|
||||
/* B7D17C 80105FDC 00001025 */ move $v0, $zero
|
||||
/* B7D180 80105FE0 32240003 */ andi $a0, $s1, 3
|
||||
/* B7D184 80105FE4 10800006 */ beqz $a0, .L80106000
|
||||
/* B7D188 80105FE8 00801825 */ move $v1, $a0
|
||||
.L80105FEC:
|
||||
/* B7D18C 80105FEC 24420001 */ addiu $v0, $v0, 1
|
||||
/* B7D190 80105FF0 A2000000 */ sb $zero, ($s0)
|
||||
/* B7D194 80105FF4 1462FFFD */ bne $v1, $v0, .L80105FEC
|
||||
/* B7D198 80105FF8 26100001 */ addiu $s0, $s0, 1
|
||||
/* B7D19C 80105FFC 10510007 */ beq $v0, $s1, .L8010601C
|
||||
.L80106000:
|
||||
/* B7D1A0 80106000 24420004 */ addiu $v0, $v0, 4
|
||||
/* B7D1A4 80106004 A2000000 */ sb $zero, ($s0)
|
||||
/* B7D1A8 80106008 A2000001 */ sb $zero, 1($s0)
|
||||
/* B7D1AC 8010600C A2000002 */ sb $zero, 2($s0)
|
||||
/* B7D1B0 80106010 A2000003 */ sb $zero, 3($s0)
|
||||
/* B7D1B4 80106014 1451FFFA */ bne $v0, $s1, .L80106000
|
||||
/* B7D1B8 80106018 26100004 */ addiu $s0, $s0, 4
|
||||
.L8010601C:
|
||||
/* B7D1BC 8010601C 24090001 */ li $t1, 1
|
||||
/* B7D1C0 80106020 AE89003C */ sw $t1, 0x3c($s4)
|
||||
/* B7D1C4 80106024 240A00FF */ li $t2, 255
|
||||
/* B7D1C8 80106028 240B0003 */ li $t3, 3
|
||||
/* B7D1CC 8010602C 240C0021 */ li $t4, 33
|
||||
/* B7D1D0 80106030 240D0002 */ li $t5, 2
|
||||
/* B7D1D4 80106034 240E00FF */ li $t6, 255
|
||||
/* B7D1D8 80106038 240F00FE */ li $t7, 254
|
||||
/* B7D1DC 8010603C A20A0000 */ sb $t2, ($s0)
|
||||
/* B7D1E0 80106040 A20B0001 */ sb $t3, 1($s0)
|
||||
/* B7D1E4 80106044 A20C0002 */ sb $t4, 2($s0)
|
||||
/* B7D1E8 80106048 A20D0003 */ sb $t5, 3($s0)
|
||||
/* B7D1EC 8010604C A20E0026 */ sb $t6, 0x26($s0)
|
||||
/* B7D1F0 80106050 10000002 */ b .L8010605C
|
||||
/* B7D1F4 80106054 A20F0027 */ sb $t7, 0x27($s0)
|
||||
.L80106058:
|
||||
/* B7D1F8 80106058 02918021 */ addu $s0, $s4, $s1
|
||||
.L8010605C:
|
||||
/* B7D1FC 8010605C 8FB80044 */ lw $t8, 0x44($sp)
|
||||
/* B7D200 80106060 30A4FFFF */ andi $a0, $a1, 0xffff
|
||||
/* B7D204 80106064 0C04185C */ jal func_80106170
|
||||
/* B7D208 80106068 A2180004 */ sb $t8, 4($s0)
|
||||
/* B7D20C 8010606C 8FB90040 */ lw $t9, 0x40($sp)
|
||||
/* B7D210 80106070 24040001 */ li $a0, 1
|
||||
/* B7D214 80106074 02802825 */ move $a1, $s4
|
||||
/* B7D218 80106078 00594025 */ or $t0, $v0, $t9
|
||||
/* B7D21C 8010607C 0C0404FC */ jal __osSiRawStartDma /*(s32 dir, void *addr)*/
|
||||
/* B7D220 80106080 A2080005 */ sb $t0, 5($s0)
|
||||
/* B7D224 80106084 02C02025 */ move $a0, $s6
|
||||
/* B7D228 80106088 00002825 */ move $a1, $zero
|
||||
/* B7D22C 8010608C 0C000CA0 */ jal osRecvMesg
|
||||
/* B7D230 80106090 24060001 */ li $a2, 1
|
||||
/* B7D234 80106094 00002025 */ move $a0, $zero
|
||||
/* B7D238 80106098 0C0404FC */ jal __osSiRawStartDma /*(s32 dir, void *addr)*/
|
||||
/* B7D23C 8010609C 02802825 */ move $a1, $s4
|
||||
/* B7D240 801060A0 02C02025 */ move $a0, $s6
|
||||
/* B7D244 801060A4 00002825 */ move $a1, $zero
|
||||
/* B7D248 801060A8 0C000CA0 */ jal osRecvMesg
|
||||
/* B7D24C 801060AC 24060001 */ li $a2, 1
|
||||
/* B7D250 801060B0 92130002 */ lbu $s3, 2($s0)
|
||||
/* B7D254 801060B4 26120006 */ addiu $s2, $s0, 6
|
||||
/* B7D258 801060B8 326900C0 */ andi $t1, $s3, 0xc0
|
||||
/* B7D25C 801060BC 00099903 */ sra $s3, $t1, 4
|
||||
/* B7D260 801060C0 56600014 */ bnezl $s3, .L80106114
|
||||
/* B7D264 801060C4 24130001 */ li $s3, 1
|
||||
/* B7D268 801060C8 0C041890 */ jal func_80106240
|
||||
/* B7D26C 801060CC 02402025 */ move $a0, $s2
|
||||
/* B7D270 801060D0 920B0026 */ lbu $t3, 0x26($s0)
|
||||
/* B7D274 801060D4 02402025 */ move $a0, $s2
|
||||
/* B7D278 801060D8 8FA5006C */ lw $a1, 0x6c($sp)
|
||||
/* B7D27C 801060DC 11620008 */ beq $t3, $v0, .L80106100
|
||||
/* B7D280 801060E0 00000000 */ nop
|
||||
/* B7D284 801060E4 02C02025 */ move $a0, $s6
|
||||
/* B7D288 801060E8 0C040644 */ jal func_80101910
|
||||
/* B7D28C 801060EC 02202825 */ move $a1, $s1
|
||||
/* B7D290 801060F0 1440000D */ bnez $v0, .L80106128
|
||||
/* B7D294 801060F4 00409825 */ move $s3, $v0
|
||||
/* B7D298 801060F8 10000006 */ b .L80106114
|
||||
/* B7D29C 801060FC 24130004 */ li $s3, 4
|
||||
.L80106100:
|
||||
/* B7D2A0 80106100 0C001BC4 */ jal bcopy
|
||||
/* B7D2A4 80106104 24060020 */ li $a2, 32
|
||||
/* B7D2A8 80106108 10000003 */ b .L80106118
|
||||
/* B7D2AC 8010610C 24010004 */ li $at, 4
|
||||
/* B7D2B0 80106110 24130001 */ li $s3, 1
|
||||
.L80106114:
|
||||
/* B7D2B4 80106114 24010004 */ li $at, 4
|
||||
.L80106118:
|
||||
/* B7D2B8 80106118 16610003 */ bne $s3, $at, .L80106128
|
||||
/* B7D2BC 8010611C 2AA20000 */ slti $v0, $s5, 0
|
||||
/* B7D2C0 80106120 1040FFA3 */ beqz $v0, .L80105FB0
|
||||
/* B7D2C4 80106124 26B5FFFF */ addiu $s5, $s5, -1
|
||||
.L80106128:
|
||||
/* B7D2C8 80106128 0C0402F9 */ jal __osSiRelAccess
|
||||
/* B7D2CC 8010612C 00000000 */ nop
|
||||
/* B7D2D0 80106130 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* B7D2D4 80106134 02601025 */ move $v0, $s3
|
||||
/* B7D2D8 80106138 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* B7D2DC 8010613C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B7D2E0 80106140 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* B7D2E4 80106144 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* B7D2E8 80106148 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* B7D2EC 8010614C 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* B7D2F0 80106150 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* B7D2F4 80106154 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* B7D2F8 80106158 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* B7D2FC 8010615C 03E00008 */ jr $ra
|
||||
/* B7D300 80106160 27BD0060 */ addiu $sp, $sp, 0x60
|
||||
@@ -0,0 +1,119 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80106170
|
||||
/* B7D310 80106170 AFA40000 */ sw $a0, ($sp)
|
||||
/* B7D314 80106174 308EFFFF */ andi $t6, $a0, 0xffff
|
||||
/* B7D318 80106178 01C02025 */ move $a0, $t6
|
||||
/* B7D31C 8010617C 00001825 */ move $v1, $zero
|
||||
/* B7D320 80106180 24020400 */ li $v0, 1024
|
||||
.L80106184:
|
||||
/* B7D324 80106184 00037840 */ sll $t7, $v1, 1
|
||||
/* B7D328 80106188 0082C024 */ and $t8, $a0, $v0
|
||||
/* B7D32C 8010618C 13000008 */ beqz $t8, .L801061B0
|
||||
/* B7D330 80106190 01E01825 */ move $v1, $t7
|
||||
/* B7D334 80106194 31F90020 */ andi $t9, $t7, 0x20
|
||||
/* B7D338 80106198 13200003 */ beqz $t9, .L801061A8
|
||||
/* B7D33C 8010619C 00000000 */ nop
|
||||
/* B7D340 801061A0 10000007 */ b .L801061C0
|
||||
/* B7D344 801061A4 39E30014 */ xori $v1, $t7, 0x14
|
||||
.L801061A8:
|
||||
/* B7D348 801061A8 10000005 */ b .L801061C0
|
||||
/* B7D34C 801061AC 24630001 */ addiu $v1, $v1, 1
|
||||
.L801061B0:
|
||||
/* B7D350 801061B0 30690020 */ andi $t1, $v1, 0x20
|
||||
/* B7D354 801061B4 11200002 */ beqz $t1, .L801061C0
|
||||
/* B7D358 801061B8 386A0015 */ xori $t2, $v1, 0x15
|
||||
/* B7D35C 801061BC 01401825 */ move $v1, $t2
|
||||
.L801061C0:
|
||||
/* B7D360 801061C0 00025842 */ srl $t3, $v0, 1
|
||||
/* B7D364 801061C4 1560FFEF */ bnez $t3, .L80106184
|
||||
/* B7D368 801061C8 01601025 */ move $v0, $t3
|
||||
/* B7D36C 801061CC 00036040 */ sll $t4, $v1, 1
|
||||
/* B7D370 801061D0 318D0020 */ andi $t5, $t4, 0x20
|
||||
/* B7D374 801061D4 11A00002 */ beqz $t5, .L801061E0
|
||||
/* B7D378 801061D8 01801825 */ move $v1, $t4
|
||||
/* B7D37C 801061DC 39830015 */ xori $v1, $t4, 0x15
|
||||
.L801061E0:
|
||||
/* B7D380 801061E0 00037840 */ sll $t7, $v1, 1
|
||||
/* B7D384 801061E4 31F80020 */ andi $t8, $t7, 0x20
|
||||
/* B7D388 801061E8 13000002 */ beqz $t8, .L801061F4
|
||||
/* B7D38C 801061EC 01E01825 */ move $v1, $t7
|
||||
/* B7D390 801061F0 39E30015 */ xori $v1, $t7, 0x15
|
||||
.L801061F4:
|
||||
/* B7D394 801061F4 00034040 */ sll $t0, $v1, 1
|
||||
/* B7D398 801061F8 31090020 */ andi $t1, $t0, 0x20
|
||||
/* B7D39C 801061FC 11200002 */ beqz $t1, .L80106208
|
||||
/* B7D3A0 80106200 01001825 */ move $v1, $t0
|
||||
/* B7D3A4 80106204 39030015 */ xori $v1, $t0, 0x15
|
||||
.L80106208:
|
||||
/* B7D3A8 80106208 00035840 */ sll $t3, $v1, 1
|
||||
/* B7D3AC 8010620C 316C0020 */ andi $t4, $t3, 0x20
|
||||
/* B7D3B0 80106210 11800002 */ beqz $t4, .L8010621C
|
||||
/* B7D3B4 80106214 01601825 */ move $v1, $t3
|
||||
/* B7D3B8 80106218 39630015 */ xori $v1, $t3, 0x15
|
||||
.L8010621C:
|
||||
/* B7D3BC 8010621C 00037040 */ sll $t6, $v1, 1
|
||||
/* B7D3C0 80106220 31CF0020 */ andi $t7, $t6, 0x20
|
||||
/* B7D3C4 80106224 11E00002 */ beqz $t7, .L80106230
|
||||
/* B7D3C8 80106228 01C01825 */ move $v1, $t6
|
||||
/* B7D3CC 8010622C 39C30015 */ xori $v1, $t6, 0x15
|
||||
.L80106230:
|
||||
/* B7D3D0 80106230 00601025 */ move $v0, $v1
|
||||
/* B7D3D4 80106234 3059001F */ andi $t9, $v0, 0x1f
|
||||
/* B7D3D8 80106238 03E00008 */ jr $ra
|
||||
/* B7D3DC 8010623C 03201025 */ move $v0, $t9
|
||||
|
||||
glabel func_80106240
|
||||
/* B7D3E0 80106240 00802825 */ move $a1, $a0
|
||||
/* B7D3E4 80106244 00001825 */ move $v1, $zero
|
||||
/* B7D3E8 80106248 24020020 */ li $v0, 32
|
||||
.L8010624C:
|
||||
/* B7D3EC 8010624C 24040080 */ li $a0, 128
|
||||
/* B7D3F0 80106250 90A60000 */ lbu $a2, ($a1)
|
||||
.L80106254:
|
||||
/* B7D3F4 80106254 00037040 */ sll $t6, $v1, 1
|
||||
/* B7D3F8 80106258 00C47824 */ and $t7, $a2, $a0
|
||||
/* B7D3FC 8010625C 11E00008 */ beqz $t7, .L80106280
|
||||
/* B7D400 80106260 01C01825 */ move $v1, $t6
|
||||
/* B7D404 80106264 31D80100 */ andi $t8, $t6, 0x100
|
||||
/* B7D408 80106268 13000003 */ beqz $t8, .L80106278
|
||||
/* B7D40C 8010626C 00000000 */ nop
|
||||
/* B7D410 80106270 10000007 */ b .L80106290
|
||||
/* B7D414 80106274 39C30084 */ xori $v1, $t6, 0x84
|
||||
.L80106278:
|
||||
/* B7D418 80106278 10000005 */ b .L80106290
|
||||
/* B7D41C 8010627C 24630001 */ addiu $v1, $v1, 1
|
||||
.L80106280:
|
||||
/* B7D420 80106280 30680100 */ andi $t0, $v1, 0x100
|
||||
/* B7D424 80106284 11000002 */ beqz $t0, .L80106290
|
||||
/* B7D428 80106288 38690085 */ xori $t1, $v1, 0x85
|
||||
/* B7D42C 8010628C 01201825 */ move $v1, $t1
|
||||
.L80106290:
|
||||
/* B7D430 80106290 00045042 */ srl $t2, $a0, 1
|
||||
/* B7D434 80106294 1540FFEF */ bnez $t2, .L80106254
|
||||
/* B7D438 80106298 01402025 */ move $a0, $t2
|
||||
/* B7D43C 8010629C 2442FFFF */ addiu $v0, $v0, -1
|
||||
/* B7D440 801062A0 1440FFEA */ bnez $v0, .L8010624C
|
||||
/* B7D444 801062A4 24A50001 */ addiu $a1, $a1, 1
|
||||
/* B7D448 801062A8 00035840 */ sll $t3, $v1, 1
|
||||
.L801062AC:
|
||||
/* B7D44C 801062AC 316C0100 */ andi $t4, $t3, 0x100
|
||||
/* B7D450 801062B0 11800002 */ beqz $t4, .L801062BC
|
||||
/* B7D454 801062B4 01601825 */ move $v1, $t3
|
||||
/* B7D458 801062B8 39630085 */ xori $v1, $t3, 0x85
|
||||
.L801062BC:
|
||||
/* B7D45C 801062BC 24420001 */ addiu $v0, $v0, 1
|
||||
/* B7D460 801062C0 2C410008 */ sltiu $at, $v0, 8
|
||||
/* B7D464 801062C4 5420FFF9 */ bnezl $at, .L801062AC
|
||||
/* B7D468 801062C8 00035840 */ sll $t3, $v1, 1
|
||||
/* B7D46C 801062CC 03E00008 */ jr $ra
|
||||
/* B7D470 801062D0 306200FF */ andi $v0, $v1, 0xff
|
||||
@@ -0,0 +1,42 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
/* B7D670 801064D0 00000000 */ nop
|
||||
/* B7D674 801064D4 00000000 */ nop
|
||||
/* B7D678 801064D8 00000000 */ nop
|
||||
/* B7D67C 801064DC 00000000 */ nop
|
||||
glabel func_801064E0
|
||||
/* B7D680 801064E0 3C014780 */ li $at, 0x47800000 # 0.000000
|
||||
/* B7D684 801064E4 44810000 */ mtc1 $at, $f0
|
||||
/* B7D688 801064E8 3C19FFFF */ lui $t9, 0xffff
|
||||
/* B7D68C 801064EC 24B80020 */ addiu $t8, $a1, 0x20
|
||||
.L801064F0:
|
||||
/* B7D690 801064F0 C4840000 */ lwc1 $f4, ($a0)
|
||||
/* B7D694 801064F4 C48A0004 */ lwc1 $f10, 4($a0)
|
||||
/* B7D698 801064F8 24A50004 */ addiu $a1, $a1, 4
|
||||
/* B7D69C 801064FC 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* B7D6A0 80106500 24840008 */ addiu $a0, $a0, 8
|
||||
/* B7D6A4 80106504 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* B7D6A8 80106508 4600320D */ trunc.w.s $f8, $f6
|
||||
/* B7D6AC 8010650C 4600848D */ trunc.w.s $f18, $f16
|
||||
/* B7D6B0 80106510 44084000 */ mfc1 $t0, $f8
|
||||
/* B7D6B4 80106514 44099000 */ mfc1 $t1, $f18
|
||||
/* B7D6B8 80106518 01195024 */ and $t2, $t0, $t9
|
||||
/* B7D6BC 8010651C 00086C00 */ sll $t5, $t0, 0x10
|
||||
/* B7D6C0 80106520 00095C02 */ srl $t3, $t1, 0x10
|
||||
/* B7D6C4 80106524 312EFFFF */ andi $t6, $t1, 0xffff
|
||||
/* B7D6C8 80106528 014B6025 */ or $t4, $t2, $t3
|
||||
/* B7D6CC 8010652C 01AE7825 */ or $t7, $t5, $t6
|
||||
/* B7D6D0 80106530 ACACFFFC */ sw $t4, -4($a1)
|
||||
/* B7D6D4 80106534 14B8FFEE */ bne $a1, $t8, .L801064F0
|
||||
/* B7D6D8 80106538 ACAF001C */ sw $t7, 0x1c($a1)
|
||||
/* B7D6DC 8010653C 03E00008 */ jr $ra
|
||||
/* B7D6E0 80106540 00000000 */ nop
|
||||
@@ -0,0 +1,164 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel __d_to_ll
|
||||
/* B7D6F0 80106550 46206109 */ trunc.l.d $f4, $f12
|
||||
/* B7D6F4 80106554 44222000 */ dmfc1 $v0, $f4
|
||||
/* B7D6F8 80106558 00000000 */ nop
|
||||
/* B7D6FC 8010655C 0002183C */ dsll32 $v1, $v0, 0
|
||||
/* B7D700 80106560 0003183F */ dsra32 $v1, $v1, 0
|
||||
/* B7D704 80106564 03E00008 */ jr $ra
|
||||
/* B7D708 80106568 0002103F */ dsra32 $v0, $v0, 0
|
||||
|
||||
glabel __f_to_ll
|
||||
/* B7D70C 8010656C 46006109 */ trunc.l.s $f4, $f12
|
||||
/* B7D710 80106570 44222000 */ dmfc1 $v0, $f4
|
||||
/* B7D714 80106574 00000000 */ nop
|
||||
/* B7D718 80106578 0002183C */ dsll32 $v1, $v0, 0
|
||||
/* B7D71C 8010657C 0003183F */ dsra32 $v1, $v1, 0
|
||||
/* B7D720 80106580 03E00008 */ jr $ra
|
||||
/* B7D724 80106584 0002103F */ dsra32 $v0, $v0, 0
|
||||
|
||||
glabel __d_to_ull
|
||||
/* B7D728 80106588 444EF800 */ cfc1 $t6, $31
|
||||
/* B7D72C 8010658C 24020001 */ li $v0, 1
|
||||
/* B7D730 80106590 44C2F800 */ ctc1 $v0, $31
|
||||
/* B7D734 80106594 00000000 */ nop
|
||||
/* B7D738 80106598 46206125 */ cvt.l.d $f4, $f12
|
||||
/* B7D73C 8010659C 4442F800 */ cfc1 $v0, $31
|
||||
/* B7D740 801065A0 00000000 */ nop
|
||||
/* B7D744 801065A4 30410004 */ andi $at, $v0, 4
|
||||
/* B7D748 801065A8 30420078 */ andi $v0, $v0, 0x78
|
||||
/* B7D74C 801065AC 10400015 */ beqz $v0, .L80106604
|
||||
/* B7D750 801065B0 3C0143E0 */ li $at, 0x43E00000 # 0.000000
|
||||
/* B7D754 801065B4 44812800 */ mtc1 $at, $f5
|
||||
/* B7D758 801065B8 44802000 */ mtc1 $zero, $f4
|
||||
/* B7D75C 801065BC 24020001 */ li $v0, 1
|
||||
/* B7D760 801065C0 46246101 */ sub.d $f4, $f12, $f4
|
||||
/* B7D764 801065C4 44C2F800 */ ctc1 $v0, $31
|
||||
/* B7D768 801065C8 00000000 */ nop
|
||||
/* B7D76C 801065CC 46202125 */ cvt.l.d $f4, $f4
|
||||
/* B7D770 801065D0 4442F800 */ cfc1 $v0, $31
|
||||
/* B7D774 801065D4 00000000 */ nop
|
||||
/* B7D778 801065D8 30410004 */ andi $at, $v0, 4
|
||||
/* B7D77C 801065DC 30420078 */ andi $v0, $v0, 0x78
|
||||
/* B7D780 801065E0 14400006 */ bnez $v0, .L801065FC
|
||||
/* B7D784 801065E4 00000000 */ nop
|
||||
/* B7D788 801065E8 3C0F8015 */ lui $t7, %hi(D_8014B2E0) # $t7, 0x8015
|
||||
/* B7D78C 801065EC DDEFB2E0 */ ld $t7, %lo(D_8014B2E0)($t7)
|
||||
/* B7D790 801065F0 44222000 */ dmfc1 $v0, $f4
|
||||
/* B7D794 801065F4 10000007 */ b .L80106614
|
||||
/* B7D798 801065F8 004F1025 */ or $v0, $v0, $t7
|
||||
.L801065FC:
|
||||
/* B7D79C 801065FC 10000005 */ b .L80106614
|
||||
/* B7D7A0 80106600 2402FFFF */ li $v0, -1
|
||||
.L80106604:
|
||||
/* B7D7A4 80106604 44222000 */ dmfc1 $v0, $f4
|
||||
/* B7D7A8 80106608 00000000 */ nop
|
||||
/* B7D7AC 8010660C 0440FFFB */ bltz $v0, .L801065FC
|
||||
/* B7D7B0 80106610 00000000 */ nop
|
||||
.L80106614:
|
||||
/* B7D7B4 80106614 44CEF800 */ ctc1 $t6, $31
|
||||
/* B7D7B8 80106618 0002183C */ dsll32 $v1, $v0, 0
|
||||
/* B7D7BC 8010661C 0003183F */ dsra32 $v1, $v1, 0
|
||||
/* B7D7C0 80106620 03E00008 */ jr $ra
|
||||
/* B7D7C4 80106624 0002103F */ dsra32 $v0, $v0, 0
|
||||
|
||||
glabel __f_to_ull
|
||||
/* B7D7C8 80106628 444EF800 */ cfc1 $t6, $31
|
||||
/* B7D7CC 8010662C 24020001 */ li $v0, 1
|
||||
/* B7D7D0 80106630 44C2F800 */ ctc1 $v0, $31
|
||||
/* B7D7D4 80106634 00000000 */ nop
|
||||
/* B7D7D8 80106638 46006125 */ cvt.l.s $f4, $f12
|
||||
/* B7D7DC 8010663C 4442F800 */ cfc1 $v0, $31
|
||||
/* B7D7E0 80106640 00000000 */ nop
|
||||
/* B7D7E4 80106644 30410004 */ andi $at, $v0, 4
|
||||
/* B7D7E8 80106648 30420078 */ andi $v0, $v0, 0x78
|
||||
/* B7D7EC 8010664C 10400014 */ beqz $v0, .L801066A0
|
||||
/* B7D7F0 80106650 3C015F00 */ li $at, 0x5F000000 # 0.000000
|
||||
/* B7D7F4 80106654 44812000 */ mtc1 $at, $f4
|
||||
/* B7D7F8 80106658 24020001 */ li $v0, 1
|
||||
/* B7D7FC 8010665C 46046101 */ sub.s $f4, $f12, $f4
|
||||
/* B7D800 80106660 44C2F800 */ ctc1 $v0, $31
|
||||
/* B7D804 80106664 00000000 */ nop
|
||||
/* B7D808 80106668 46002125 */ cvt.l.s $f4, $f4
|
||||
/* B7D80C 8010666C 4442F800 */ cfc1 $v0, $31
|
||||
/* B7D810 80106670 00000000 */ nop
|
||||
/* B7D814 80106674 30410004 */ andi $at, $v0, 4
|
||||
/* B7D818 80106678 30420078 */ andi $v0, $v0, 0x78
|
||||
/* B7D81C 8010667C 14400006 */ bnez $v0, .L80106698
|
||||
/* B7D820 80106680 00000000 */ nop
|
||||
/* B7D824 80106684 3C0F8015 */ lui $t7, %hi(D_8014B2E8) # $t7, 0x8015
|
||||
/* B7D828 80106688 DDEFB2E8 */ ld $t7, %lo(D_8014B2E8)($t7)
|
||||
/* B7D82C 8010668C 44222000 */ dmfc1 $v0, $f4
|
||||
/* B7D830 80106690 10000007 */ b .L801066B0
|
||||
/* B7D834 80106694 004F1025 */ or $v0, $v0, $t7
|
||||
.L80106698:
|
||||
/* B7D838 80106698 10000005 */ b .L801066B0
|
||||
/* B7D83C 8010669C 2402FFFF */ li $v0, -1
|
||||
.L801066A0:
|
||||
/* B7D840 801066A0 44222000 */ dmfc1 $v0, $f4
|
||||
/* B7D844 801066A4 00000000 */ nop
|
||||
/* B7D848 801066A8 0440FFFB */ bltz $v0, .L80106698
|
||||
/* B7D84C 801066AC 00000000 */ nop
|
||||
.L801066B0:
|
||||
/* B7D850 801066B0 44CEF800 */ ctc1 $t6, $31
|
||||
/* B7D854 801066B4 0002183C */ dsll32 $v1, $v0, 0
|
||||
/* B7D858 801066B8 0003183F */ dsra32 $v1, $v1, 0
|
||||
/* B7D85C 801066BC 03E00008 */ jr $ra
|
||||
/* B7D860 801066C0 0002103F */ dsra32 $v0, $v0, 0
|
||||
|
||||
glabel __ll_to_d
|
||||
/* B7D864 801066C4 AFA40000 */ sw $a0, ($sp)
|
||||
/* B7D868 801066C8 AFA50004 */ sw $a1, 4($sp)
|
||||
/* B7D86C 801066CC DFAE0000 */ ld $t6, ($sp)
|
||||
/* B7D870 801066D0 44AE2000 */ dmtc1 $t6, $f4
|
||||
/* B7D874 801066D4 03E00008 */ jr $ra
|
||||
/* B7D878 801066D8 46A02021 */ cvt.d.l $f0, $f4
|
||||
|
||||
glabel __ll_to_f
|
||||
/* B7D87C 801066DC AFA40000 */ sw $a0, ($sp)
|
||||
/* B7D880 801066E0 AFA50004 */ sw $a1, 4($sp)
|
||||
/* B7D884 801066E4 DFAE0000 */ ld $t6, ($sp)
|
||||
/* B7D888 801066E8 44AE2000 */ dmtc1 $t6, $f4
|
||||
/* B7D88C 801066EC 03E00008 */ jr $ra
|
||||
/* B7D890 801066F0 46A02020 */ cvt.s.l $f0, $f4
|
||||
|
||||
glabel __ull_to_d
|
||||
/* B7D894 801066F4 AFA40000 */ sw $a0, ($sp)
|
||||
/* B7D898 801066F8 AFA50004 */ sw $a1, 4($sp)
|
||||
/* B7D89C 801066FC DFAE0000 */ ld $t6, ($sp)
|
||||
/* B7D8A0 80106700 44AE2000 */ dmtc1 $t6, $f4
|
||||
/* B7D8A4 80106704 05C10006 */ bgez $t6, .L80106720
|
||||
/* B7D8A8 80106708 46A02021 */ cvt.d.l $f0, $f4
|
||||
/* B7D8AC 8010670C 3C0141F0 */ li $at, 0x41F00000 # 0.000000
|
||||
/* B7D8B0 80106710 44813800 */ mtc1 $at, $f7
|
||||
/* B7D8B4 80106714 44803000 */ mtc1 $zero, $f6
|
||||
/* B7D8B8 80106718 00000000 */ nop
|
||||
/* B7D8BC 8010671C 46260000 */ add.d $f0, $f0, $f6
|
||||
.L80106720:
|
||||
/* B7D8C0 80106720 03E00008 */ jr $ra
|
||||
/* B7D8C4 80106724 00000000 */ nop
|
||||
|
||||
glabel __ull_to_f
|
||||
/* B7D8C8 80106728 AFA40000 */ sw $a0, ($sp)
|
||||
/* B7D8CC 8010672C AFA50004 */ sw $a1, 4($sp)
|
||||
/* B7D8D0 80106730 DFAE0000 */ ld $t6, ($sp)
|
||||
/* B7D8D4 80106734 44AE2000 */ dmtc1 $t6, $f4
|
||||
/* B7D8D8 80106738 05C10005 */ bgez $t6, .L80106750
|
||||
/* B7D8DC 8010673C 46A02020 */ cvt.s.l $f0, $f4
|
||||
/* B7D8E0 80106740 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
||||
/* B7D8E4 80106744 44813000 */ mtc1 $at, $f6
|
||||
/* B7D8E8 80106748 00000000 */ nop
|
||||
/* B7D8EC 8010674C 46060000 */ add.s $f0, $f0, $f6
|
||||
.L80106750:
|
||||
/* B7D8F0 80106750 03E00008 */ jr $ra
|
||||
/* B7D8F4 80106754 00000000 */ nop
|
||||
@@ -0,0 +1,15 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_801067D0
|
||||
/* B7D970 801067D0 46206004 */ sqrt.d $f0, $f12
|
||||
/* B7D974 801067D4 03E00008 */ jr $ra
|
||||
/* B7D978 801067D8 00000000 */ nop
|
||||
@@ -0,0 +1,15 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel absf
|
||||
/* B7D980 801067E0 46006005 */ abs.s $f0, $f12
|
||||
/* B7D984 801067E4 03E00008 */ jr $ra
|
||||
/* B7D988 801067E8 00000000 */ nop
|
||||
@@ -0,0 +1,40 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_801067F0
|
||||
/* B7D990 801067F0 27BDFFF8 */ addiu $sp, $sp, -8
|
||||
/* B7D994 801067F4 44802000 */ mtc1 $zero, $f4
|
||||
/* B7D998 801067F8 00000000 */ nop
|
||||
/* B7D99C 801067FC 46047032 */ c.eq.s $f14, $f4
|
||||
/* B7D9A0 80106800 00000000 */ nop
|
||||
/* B7D9A4 80106804 45000004 */ bc1f .L80106818
|
||||
/* B7D9A8 80106808 00000000 */ nop
|
||||
/* B7D9AC 8010680C 44800000 */ mtc1 $zero, $f0
|
||||
/* B7D9B0 80106810 1000000F */ b .L80106850
|
||||
/* B7D9B4 80106814 00000000 */ nop
|
||||
.L80106818:
|
||||
/* B7D9B8 80106818 460E6183 */ div.s $f6, $f12, $f14
|
||||
/* B7D9BC 8010681C 4600320D */ trunc.w.s $f8, $f6
|
||||
/* B7D9C0 80106820 440F4000 */ mfc1 $t7, $f8
|
||||
/* B7D9C4 80106824 00000000 */ nop
|
||||
/* B7D9C8 80106828 AFAF0004 */ sw $t7, 4($sp)
|
||||
/* B7D9CC 8010682C 8FB80004 */ lw $t8, 4($sp)
|
||||
/* B7D9D0 80106830 44985000 */ mtc1 $t8, $f10
|
||||
/* B7D9D4 80106834 00000000 */ nop
|
||||
/* B7D9D8 80106838 46805420 */ cvt.s.w $f16, $f10
|
||||
/* B7D9DC 8010683C 460E8482 */ mul.s $f18, $f16, $f14
|
||||
/* B7D9E0 80106840 10000003 */ b .L80106850
|
||||
/* B7D9E4 80106844 46126001 */ sub.s $f0, $f12, $f18
|
||||
/* B7D9E8 80106848 10000001 */ b .L80106850
|
||||
/* B7D9EC 8010684C 00000000 */ nop
|
||||
.L80106850:
|
||||
/* B7D9F0 80106850 03E00008 */ jr $ra
|
||||
/* B7D9F4 80106854 27BD0008 */ addiu $sp, $sp, 8
|
||||
@@ -0,0 +1,34 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_80106860
|
||||
/* B7DA00 80106860 27BDFFF8 */ addiu $sp, $sp, -8
|
||||
/* B7DA04 80106864 AFA40004 */ sw $a0, 4($sp)
|
||||
/* B7DA08 80106868 00C03825 */ move $a3, $a2
|
||||
/* B7DA0C 8010686C 10E00009 */ beqz $a3, .L80106894
|
||||
/* B7DA10 80106870 24C6FFFF */ addiu $a2, $a2, -1
|
||||
.L80106874:
|
||||
/* B7DA14 80106874 8FAE0004 */ lw $t6, 4($sp)
|
||||
/* B7DA18 80106878 A1C50000 */ sb $a1, ($t6)
|
||||
/* B7DA1C 8010687C 8FAF0004 */ lw $t7, 4($sp)
|
||||
/* B7DA20 80106880 25F80001 */ addiu $t8, $t7, 1
|
||||
/* B7DA24 80106884 AFB80004 */ sw $t8, 4($sp)
|
||||
/* B7DA28 80106888 00C03825 */ move $a3, $a2
|
||||
/* B7DA2C 8010688C 14E0FFF9 */ bnez $a3, .L80106874
|
||||
/* B7DA30 80106890 24C6FFFF */ addiu $a2, $a2, -1
|
||||
.L80106894:
|
||||
/* B7DA34 80106894 10000003 */ b .L801068A4
|
||||
/* B7DA38 80106898 00801025 */ move $v0, $a0
|
||||
/* B7DA3C 8010689C 10000001 */ b .L801068A4
|
||||
/* B7DA40 801068A0 00000000 */ nop
|
||||
.L801068A4:
|
||||
/* B7DA44 801068A4 03E00008 */ jr $ra
|
||||
/* B7DA48 801068A8 27BD0008 */ addiu $sp, $sp, 8
|
||||
@@ -0,0 +1,81 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_801068B0
|
||||
/* B7DA50 801068B0 27BDFFF0 */ addiu $sp, $sp, -0x10
|
||||
/* B7DA54 801068B4 AFA4000C */ sw $a0, 0xc($sp)
|
||||
/* B7DA58 801068B8 AFA50008 */ sw $a1, 8($sp)
|
||||
/* B7DA5C 801068BC 8FAE000C */ lw $t6, 0xc($sp)
|
||||
/* B7DA60 801068C0 8FAF0008 */ lw $t7, 8($sp)
|
||||
/* B7DA64 801068C4 15CF0003 */ bne $t6, $t7, .L801068D4
|
||||
/* B7DA68 801068C8 00000000 */ nop
|
||||
/* B7DA6C 801068CC 10000034 */ b .L801069A0
|
||||
/* B7DA70 801068D0 00801025 */ move $v0, $a0
|
||||
.L801068D4:
|
||||
/* B7DA74 801068D4 8FB8000C */ lw $t8, 0xc($sp)
|
||||
/* B7DA78 801068D8 8FB90008 */ lw $t9, 8($sp)
|
||||
/* B7DA7C 801068DC 0319082B */ sltu $at, $t8, $t9
|
||||
/* B7DA80 801068E0 10200013 */ beqz $at, .L80106930
|
||||
/* B7DA84 801068E4 00000000 */ nop
|
||||
/* B7DA88 801068E8 00C03825 */ move $a3, $a2
|
||||
/* B7DA8C 801068EC 10E0000E */ beqz $a3, .L80106928
|
||||
/* B7DA90 801068F0 24C6FFFF */ addiu $a2, $a2, -1
|
||||
.L801068F4:
|
||||
/* B7DA94 801068F4 8FA80008 */ lw $t0, 8($sp)
|
||||
/* B7DA98 801068F8 8FAA000C */ lw $t2, 0xc($sp)
|
||||
/* B7DA9C 801068FC 91090000 */ lbu $t1, ($t0)
|
||||
/* B7DAA0 80106900 A1490000 */ sb $t1, ($t2)
|
||||
/* B7DAA4 80106904 8FAD0008 */ lw $t5, 8($sp)
|
||||
/* B7DAA8 80106908 8FAB000C */ lw $t3, 0xc($sp)
|
||||
/* B7DAAC 8010690C 25AE0001 */ addiu $t6, $t5, 1
|
||||
/* B7DAB0 80106910 256C0001 */ addiu $t4, $t3, 1
|
||||
/* B7DAB4 80106914 AFAC000C */ sw $t4, 0xc($sp)
|
||||
/* B7DAB8 80106918 AFAE0008 */ sw $t6, 8($sp)
|
||||
/* B7DABC 8010691C 00C03825 */ move $a3, $a2
|
||||
/* B7DAC0 80106920 14E0FFF4 */ bnez $a3, .L801068F4
|
||||
/* B7DAC4 80106924 24C6FFFF */ addiu $a2, $a2, -1
|
||||
.L80106928:
|
||||
/* B7DAC8 80106928 10000019 */ b .L80106990
|
||||
/* B7DACC 8010692C 00000000 */ nop
|
||||
.L80106930:
|
||||
/* B7DAD0 80106930 8FAF000C */ lw $t7, 0xc($sp)
|
||||
/* B7DAD4 80106934 01E6C021 */ addu $t8, $t7, $a2
|
||||
/* B7DAD8 80106938 2719FFFF */ addiu $t9, $t8, -1
|
||||
/* B7DADC 8010693C AFB9000C */ sw $t9, 0xc($sp)
|
||||
/* B7DAE0 80106940 8FA80008 */ lw $t0, 8($sp)
|
||||
/* B7DAE4 80106944 01064821 */ addu $t1, $t0, $a2
|
||||
/* B7DAE8 80106948 252AFFFF */ addiu $t2, $t1, -1
|
||||
/* B7DAEC 8010694C AFAA0008 */ sw $t2, 8($sp)
|
||||
/* B7DAF0 80106950 00C03825 */ move $a3, $a2
|
||||
/* B7DAF4 80106954 10E0000E */ beqz $a3, .L80106990
|
||||
/* B7DAF8 80106958 24C6FFFF */ addiu $a2, $a2, -1
|
||||
.L8010695C:
|
||||
/* B7DAFC 8010695C 8FAB0008 */ lw $t3, 8($sp)
|
||||
/* B7DB00 80106960 8FAD000C */ lw $t5, 0xc($sp)
|
||||
/* B7DB04 80106964 916C0000 */ lbu $t4, ($t3)
|
||||
/* B7DB08 80106968 A1AC0000 */ sb $t4, ($t5)
|
||||
/* B7DB0C 8010696C 8FB80008 */ lw $t8, 8($sp)
|
||||
/* B7DB10 80106970 8FAE000C */ lw $t6, 0xc($sp)
|
||||
/* B7DB14 80106974 2719FFFF */ addiu $t9, $t8, -1
|
||||
/* B7DB18 80106978 25CFFFFF */ addiu $t7, $t6, -1
|
||||
/* B7DB1C 8010697C AFAF000C */ sw $t7, 0xc($sp)
|
||||
/* B7DB20 80106980 AFB90008 */ sw $t9, 8($sp)
|
||||
/* B7DB24 80106984 00C03825 */ move $a3, $a2
|
||||
/* B7DB28 80106988 14E0FFF4 */ bnez $a3, .L8010695C
|
||||
/* B7DB2C 8010698C 24C6FFFF */ addiu $a2, $a2, -1
|
||||
.L80106990:
|
||||
/* B7DB30 80106990 10000003 */ b .L801069A0
|
||||
/* B7DB34 80106994 00801025 */ move $v0, $a0
|
||||
/* B7DB38 80106998 10000001 */ b .L801069A0
|
||||
/* B7DB3C 8010699C 00000000 */ nop
|
||||
.L801069A0:
|
||||
/* B7DB40 801069A0 03E00008 */ jr $ra
|
||||
/* B7DB44 801069A4 27BD0010 */ addiu $sp, $sp, 0x10
|
||||
+108
@@ -0,0 +1,108 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel cosf
|
||||
/* B7B7B0 80104610 E7AC0000 */ swc1 $f12, ($sp)
|
||||
/* B7B7B4 80104614 8FA20000 */ lw $v0, ($sp)
|
||||
/* B7B7B8 80104618 C7A60000 */ lwc1 $f6, ($sp)
|
||||
/* B7B7BC 8010461C C7AA0000 */ lwc1 $f10, ($sp)
|
||||
/* B7B7C0 80104620 00027583 */ sra $t6, $v0, 0x16
|
||||
/* B7B7C4 80104624 31CF01FF */ andi $t7, $t6, 0x1ff
|
||||
/* B7B7C8 80104628 29E10136 */ slti $at, $t7, 0x136
|
||||
/* B7B7CC 8010462C 50200049 */ beql $at, $zero, .L80104754
|
||||
/* B7B7D0 80104630 460A5032 */ c.eq.s $f10, $f10
|
||||
/* B7B7D4 80104634 44802000 */ mtc1 $zero, $f4
|
||||
/* B7B7D8 80104638 3C013FE0 */ li $at, 0x3FE00000 # 0.000000
|
||||
/* B7B7DC 8010463C 44819800 */ mtc1 $at, $f19
|
||||
/* B7B7E0 80104640 4606203C */ c.lt.s $f4, $f6
|
||||
/* B7B7E4 80104644 C7A00000 */ lwc1 $f0, ($sp)
|
||||
/* B7B7E8 80104648 3C018015 */ lui $at, %hi(D_8014B2A8)
|
||||
/* B7B7EC 8010464C 45020004 */ bc1fl .L80104660
|
||||
/* B7B7F0 80104650 46000007 */ neg.s $f0, $f0
|
||||
/* B7B7F4 80104654 10000002 */ b .L80104660
|
||||
/* B7B7F8 80104658 46003006 */ mov.s $f0, $f6
|
||||
/* B7B7FC 8010465C 46000007 */ neg.s $f0, $f0
|
||||
.L80104660:
|
||||
/* B7B800 80104660 D428B2A8 */ ldc1 $f8, %lo(D_8014B2A8)($at)
|
||||
/* B7B804 80104664 46000321 */ cvt.d.s $f12, $f0
|
||||
/* B7B808 80104668 44809000 */ mtc1 $zero, $f18
|
||||
/* B7B80C 8010466C 46286282 */ mul.d $f10, $f12, $f8
|
||||
/* B7B810 80104670 44802800 */ mtc1 $zero, $f5
|
||||
/* B7B814 80104674 44802000 */ mtc1 $zero, $f4
|
||||
/* B7B818 80104678 46325380 */ add.d $f14, $f10, $f18
|
||||
/* B7B81C 8010467C 462E203E */ c.le.d $f4, $f14
|
||||
/* B7B820 80104680 00000000 */ nop
|
||||
/* B7B824 80104684 45020007 */ bc1fl .L801046A4
|
||||
/* B7B828 80104688 46327281 */ sub.d $f10, $f14, $f18
|
||||
/* B7B82C 8010468C 46327180 */ add.d $f6, $f14, $f18
|
||||
/* B7B830 80104690 4620320D */ trunc.w.d $f8, $f6
|
||||
/* B7B834 80104694 44024000 */ mfc1 $v0, $f8
|
||||
/* B7B838 80104698 10000006 */ b .L801046B4
|
||||
/* B7B83C 8010469C 44823000 */ mtc1 $v0, $f6
|
||||
/* B7B840 801046A0 46327281 */ sub.d $f10, $f14, $f18
|
||||
.L801046A4:
|
||||
/* B7B844 801046A4 4620510D */ trunc.w.d $f4, $f10
|
||||
/* B7B848 801046A8 44022000 */ mfc1 $v0, $f4
|
||||
/* B7B84C 801046AC 00000000 */ nop
|
||||
/* B7B850 801046B0 44823000 */ mtc1 $v0, $f6
|
||||
.L801046B4:
|
||||
/* B7B854 801046B4 3C018015 */ lui $at, %hi(D_8014B2B0)
|
||||
/* B7B858 801046B8 D42AB2B0 */ ldc1 $f10, %lo(D_8014B2B0)($at)
|
||||
/* B7B85C 801046BC 46803221 */ cvt.d.w $f8, $f6
|
||||
/* B7B860 801046C0 3C018015 */ lui $at, %hi(D_8014B2B8)
|
||||
/* B7B864 801046C4 D426B2B8 */ ldc1 $f6, %lo(D_8014B2B8)($at)
|
||||
/* B7B868 801046C8 3C038015 */ lui $v1, %hi(D_8014B280) # $v1, 0x8015
|
||||
/* B7B86C 801046CC 2463B280 */ addiu $v1, %lo(D_8014B280) # addiu $v1, $v1, -0x4d80
|
||||
/* B7B870 801046D0 46324001 */ sub.d $f0, $f8, $f18
|
||||
/* B7B874 801046D4 30480001 */ andi $t0, $v0, 1
|
||||
/* B7B878 801046D8 462A0102 */ mul.d $f4, $f0, $f10
|
||||
/* B7B87C 801046DC D46A0020 */ ldc1 $f10, 0x20($v1)
|
||||
/* B7B880 801046E0 46260202 */ mul.d $f8, $f0, $f6
|
||||
/* B7B884 801046E4 D4660018 */ ldc1 $f6, 0x18($v1)
|
||||
/* B7B888 801046E8 46246081 */ sub.d $f2, $f12, $f4
|
||||
/* B7B88C 801046EC 46281081 */ sub.d $f2, $f2, $f8
|
||||
/* B7B890 801046F0 46221382 */ mul.d $f14, $f2, $f2
|
||||
/* B7B894 801046F4 00000000 */ nop
|
||||
/* B7B898 801046F8 462E5102 */ mul.d $f4, $f10, $f14
|
||||
/* B7B89C 801046FC 46262200 */ add.d $f8, $f4, $f6
|
||||
/* B7B8A0 80104700 D4640010 */ ldc1 $f4, 0x10($v1)
|
||||
/* B7B8A4 80104704 462E4282 */ mul.d $f10, $f8, $f14
|
||||
/* B7B8A8 80104708 46245180 */ add.d $f6, $f10, $f4
|
||||
/* B7B8AC 8010470C D46A0008 */ ldc1 $f10, 8($v1)
|
||||
/* B7B8B0 80104710 462E3202 */ mul.d $f8, $f6, $f14
|
||||
/* B7B8B4 80104714 15000007 */ bnez $t0, .L80104734
|
||||
/* B7B8B8 80104718 46285400 */ add.d $f16, $f10, $f8
|
||||
/* B7B8BC 8010471C 462E1102 */ mul.d $f4, $f2, $f14
|
||||
/* B7B8C0 80104720 00000000 */ nop
|
||||
/* B7B8C4 80104724 46302182 */ mul.d $f6, $f4, $f16
|
||||
/* B7B8C8 80104728 46223280 */ add.d $f10, $f6, $f2
|
||||
/* B7B8CC 8010472C 03E00008 */ jr $ra
|
||||
/* B7B8D0 80104730 46205020 */ cvt.s.d $f0, $f10
|
||||
.L80104734:
|
||||
/* B7B8D4 80104734 462E1202 */ mul.d $f8, $f2, $f14
|
||||
/* B7B8D8 80104738 00000000 */ nop
|
||||
/* B7B8DC 8010473C 46304102 */ mul.d $f4, $f8, $f16
|
||||
/* B7B8E0 80104740 46222180 */ add.d $f6, $f4, $f2
|
||||
/* B7B8E4 80104744 46203020 */ cvt.s.d $f0, $f6
|
||||
/* B7B8E8 80104748 03E00008 */ jr $ra
|
||||
/* B7B8EC 8010474C 46000007 */ neg.s $f0, $f0
|
||||
/* B7B8F0 80104750 460A5032 */ c.eq.s $f10, $f10
|
||||
.L80104754:
|
||||
/* B7B8F4 80104754 3C018015 */ lui $at, %hi(D_8014B2C0)
|
||||
/* B7B8F8 80104758 45010004 */ bc1t .L8010476C
|
||||
/* B7B8FC 8010475C 00000000 */ nop
|
||||
/* B7B900 80104760 3C018015 */ lui $at, %hi(D_8014B2D0)
|
||||
/* B7B904 80104764 03E00008 */ jr $ra
|
||||
/* B7B908 80104768 C420B2D0 */ lwc1 $f0, %lo(D_8014B2D0)($at)
|
||||
.L8010476C:
|
||||
/* B7B90C 8010476C C420B2C0 */ lwc1 $f0, %lo(D_8014B2C0)($at)
|
||||
/* B7B910 80104770 03E00008 */ jr $ra
|
||||
/* B7B914 80104774 00000000 */ nop
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel coss
|
||||
/* B7B920 80104780 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B7B924 80104784 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B7B928 80104788 00802825 */ move $a1, $a0
|
||||
/* B7B92C 8010478C 24A44000 */ addiu $a0, $a1, 0x4000
|
||||
/* B7B930 80104790 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B7B934 80104794 308EFFFF */ andi $t6, $a0, 0xffff
|
||||
/* B7B938 80104798 0C040114 */ jal sins
|
||||
/* B7B93C 8010479C 01C02025 */ move $a0, $t6
|
||||
/* B7B940 801047A0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B7B944 801047A4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B7B948 801047A8 03E00008 */ jr $ra
|
||||
/* B7B94C 801047AC 00000000 */ nop
|
||||
+1545
File diff suppressed because it is too large
Load Diff
+714
@@ -0,0 +1,714 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .data
|
||||
|
||||
glabel __osHwIntTable
|
||||
.word 0, 0
|
||||
.word 0, 0
|
||||
.word 0, 0
|
||||
.word 0, 0
|
||||
.word 0, 0
|
||||
|
||||
glabel __osPiIntTable
|
||||
.word 0
|
||||
.word 0
|
||||
|
||||
.section .rodata
|
||||
|
||||
glabel __osIntOffTable
|
||||
.byte 0x00 /* redispatch */
|
||||
.byte 0x14 /* prenmi */
|
||||
.byte 0x18 /* IP6_Hdlr */
|
||||
.byte 0x18 /* IP6_Hdlr */
|
||||
.byte 0x1c /* IP7_Hdlr */
|
||||
.byte 0x1c /* IP7_Hdlr */
|
||||
.byte 0x1c /* IP7_Hdlr */
|
||||
.byte 0x1c /* IP7_Hdlr */
|
||||
.byte 0x20 /* counter */
|
||||
.byte 0x20 /* counter */
|
||||
.byte 0x20 /* counter */
|
||||
.byte 0x20 /* counter */
|
||||
.byte 0x20 /* counter */
|
||||
.byte 0x20 /* counter */
|
||||
.byte 0x20 /* counter */
|
||||
.byte 0x20 /* counter */
|
||||
.byte 0x00 /* redispatch */
|
||||
.byte 0x04 /* sw1 */
|
||||
.byte 0x08 /* sw2 */
|
||||
.byte 0x08 /* sw2 */
|
||||
.byte 0x0c /* rcp */
|
||||
.byte 0x0c /* rcp */
|
||||
.byte 0x0c /* rcp */
|
||||
.byte 0x0c /* rcp */
|
||||
.byte 0x10 /* cart */
|
||||
.byte 0x10 /* cart */
|
||||
.byte 0x10 /* cart */
|
||||
.byte 0x10 /* cart */
|
||||
.byte 0x10 /* cart */
|
||||
.byte 0x10 /* cart */
|
||||
.byte 0x10 /* cart */
|
||||
.byte 0x10 /* cart */
|
||||
|
||||
glabel __osIntTable
|
||||
.word redispatch
|
||||
.word sw1
|
||||
.word sw2
|
||||
.word rcp
|
||||
.word cart
|
||||
.word prenmi
|
||||
.word IP6_Hdlr
|
||||
.word IP7_Hdlr
|
||||
.word counter
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel __osExceptionPreamble
|
||||
/* 0045D0 800039D0 3C1A8000 */ lui $k0, %hi(__osException) # $k0, 0x8000
|
||||
/* 0045D4 800039D4 275A39E0 */ addiu $k0, %lo(__osException) # addiu $k0, $k0, 0x39e0
|
||||
/* 0045D8 800039D8 03400008 */ jr $k0
|
||||
/* 0045DC 800039DC 00000000 */ nop
|
||||
|
||||
glabel __osException
|
||||
/* 0045E0 800039E0 3C1A8001 */ lui $k0, %hi(__osThreadSave) # $k0, 0x8001
|
||||
/* 0045E4 800039E4 275A5890 */ addiu $k0, %lo(__osThreadSave) # addiu $k0, $k0, 0x5890
|
||||
/* 0045E8 800039E8 FF410020 */ sd $at, 0x20($k0)
|
||||
/* 0045EC 800039EC 401B6000 */ mfc0 $k1, $12
|
||||
/* 0045F0 800039F0 AF5B0118 */ sw $k1, 0x118($k0)
|
||||
/* 0045F4 800039F4 2401FFFC */ li $at, -4
|
||||
/* 0045F8 800039F8 0361D824 */ and $k1, $k1, $at
|
||||
/* 0045FC 800039FC 409B6000 */ mtc0 $k1, $12
|
||||
/* 004600 80003A00 FF480058 */ sd $t0, 0x58($k0)
|
||||
/* 004604 80003A04 FF490060 */ sd $t1, 0x60($k0)
|
||||
/* 004608 80003A08 FF4A0068 */ sd $t2, 0x68($k0)
|
||||
/* 00460C 80003A0C AF400018 */ sw $zero, 0x18($k0)
|
||||
/* 004610 80003A10 40086800 */ mfc0 $t0, $13
|
||||
/* 004614 80003A14 03404025 */ move $t0, $k0
|
||||
/* 004618 80003A18 3C1A8001 */ lui $k0, %hi(__osRunningThread) # $k0, 0x8001
|
||||
/* 00461C 80003A1C 8F5AAD50 */ lw $k0, %lo(__osRunningThread)($k0)
|
||||
/* 004620 80003A20 DD090020 */ ld $t1, 0x20($t0)
|
||||
/* 004624 80003A24 FF490020 */ sd $t1, 0x20($k0)
|
||||
/* 004628 80003A28 DD090118 */ ld $t1, 0x118($t0)
|
||||
/* 00462C 80003A2C FF490118 */ sd $t1, 0x118($k0)
|
||||
/* 004630 80003A30 DD090058 */ ld $t1, 0x58($t0)
|
||||
/* 004634 80003A34 FF490058 */ sd $t1, 0x58($k0)
|
||||
/* 004638 80003A38 DD090060 */ ld $t1, 0x60($t0)
|
||||
/* 00463C 80003A3C FF490060 */ sd $t1, 0x60($k0)
|
||||
/* 004640 80003A40 DD090068 */ ld $t1, 0x68($t0)
|
||||
/* 004644 80003A44 FF490068 */ sd $t1, 0x68($k0)
|
||||
/* 004648 80003A48 8F5B0118 */ lw $k1, 0x118($k0)
|
||||
/* 00464C 80003A4C 00004012 */ mflo $t0
|
||||
/* 004650 80003A50 FF480108 */ sd $t0, 0x108($k0)
|
||||
/* 004654 80003A54 00004010 */ mfhi $t0
|
||||
/* 004658 80003A58 3369FF00 */ andi $t1, $k1, 0xff00
|
||||
/* 00465C 80003A5C FF420028 */ sd $v0, 0x28($k0)
|
||||
/* 004660 80003A60 FF430030 */ sd $v1, 0x30($k0)
|
||||
/* 004664 80003A64 FF440038 */ sd $a0, 0x38($k0)
|
||||
/* 004668 80003A68 FF450040 */ sd $a1, 0x40($k0)
|
||||
/* 00466C 80003A6C FF460048 */ sd $a2, 0x48($k0)
|
||||
/* 004670 80003A70 FF470050 */ sd $a3, 0x50($k0)
|
||||
/* 004674 80003A74 FF4B0070 */ sd $t3, 0x70($k0)
|
||||
/* 004678 80003A78 FF4C0078 */ sd $t4, 0x78($k0)
|
||||
/* 00467C 80003A7C FF4D0080 */ sd $t5, 0x80($k0)
|
||||
/* 004680 80003A80 FF4E0088 */ sd $t6, 0x88($k0)
|
||||
/* 004684 80003A84 FF4F0090 */ sd $t7, 0x90($k0)
|
||||
/* 004688 80003A88 FF500098 */ sd $s0, 0x98($k0)
|
||||
/* 00468C 80003A8C FF5100A0 */ sd $s1, 0xa0($k0)
|
||||
/* 004690 80003A90 FF5200A8 */ sd $s2, 0xa8($k0)
|
||||
/* 004694 80003A94 FF5300B0 */ sd $s3, 0xb0($k0)
|
||||
/* 004698 80003A98 FF5400B8 */ sd $s4, 0xb8($k0)
|
||||
/* 00469C 80003A9C FF5500C0 */ sd $s5, 0xc0($k0)
|
||||
/* 0046A0 80003AA0 FF5600C8 */ sd $s6, 0xc8($k0)
|
||||
/* 0046A4 80003AA4 FF5700D0 */ sd $s7, 0xd0($k0)
|
||||
/* 0046A8 80003AA8 FF5800D8 */ sd $t8, 0xd8($k0)
|
||||
/* 0046AC 80003AAC FF5900E0 */ sd $t9, 0xe0($k0)
|
||||
/* 0046B0 80003AB0 FF5C00E8 */ sd $gp, 0xe8($k0)
|
||||
/* 0046B4 80003AB4 FF5D00F0 */ sd $sp, 0xf0($k0)
|
||||
/* 0046B8 80003AB8 FF5E00F8 */ sd $fp, 0xf8($k0)
|
||||
/* 0046BC 80003ABC FF5F0100 */ sd $ra, 0x100($k0)
|
||||
/* 0046C0 80003AC0 11200011 */ beqz $t1, savercp
|
||||
/* 0046C4 80003AC4 FF480110 */ sd $t0, 0x110($k0)
|
||||
/* 0046C8 80003AC8 3C088001 */ lui $t0, %hi(__OSGlobalIntMask) # $t0, 0x8001
|
||||
/* 0046CC 80003ACC 2508AD00 */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, -0x5300
|
||||
/* 0046D0 80003AD0 8D080000 */ lw $t0, ($t0)
|
||||
/* 0046D4 80003AD4 2401FFFF */ li $at, -1
|
||||
/* 0046D8 80003AD8 01015026 */ xor $t2, $t0, $at
|
||||
/* 0046DC 80003ADC 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff
|
||||
/* 0046E0 80003AE0 314AFF00 */ andi $t2, $t2, 0xff00
|
||||
/* 0046E4 80003AE4 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff
|
||||
/* 0046E8 80003AE8 012A6025 */ or $t4, $t1, $t2
|
||||
/* 0046EC 80003AEC 03615824 */ and $t3, $k1, $at
|
||||
/* 0046F0 80003AF0 3108FF00 */ andi $t0, $t0, 0xff00
|
||||
/* 0046F4 80003AF4 016C5825 */ or $t3, $t3, $t4
|
||||
/* 0046F8 80003AF8 01284824 */ and $t1, $t1, $t0
|
||||
/* 0046FC 80003AFC 0361D824 */ and $k1, $k1, $at
|
||||
/* 004700 80003B00 AF4B0118 */ sw $t3, 0x118($k0)
|
||||
/* 004704 80003B04 0369D825 */ or $k1, $k1, $t1
|
||||
savercp:
|
||||
/* 004708 80003B08 3C09A430 */ lui $t1, %hi(D_A430000C) # $t1, 0xa430
|
||||
/* 00470C 80003B0C 8D29000C */ lw $t1, %lo(D_A430000C)($t1)
|
||||
/* 004710 80003B10 1120000B */ beqz $t1, endrcp
|
||||
/* 004714 80003B14 00000000 */ nop
|
||||
/* 004718 80003B18 3C088001 */ lui $t0, %hi(__OSGlobalIntMask) # $t0, 0x8001
|
||||
/* 00471C 80003B1C 2508AD00 */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, -0x5300
|
||||
/* 004720 80003B20 8D080000 */ lw $t0, ($t0)
|
||||
/* 004724 80003B24 8F4C0128 */ lw $t4, 0x128($k0)
|
||||
/* 004728 80003B28 2401FFFF */ li $at, -1
|
||||
/* 00472C 80003B2C 00084402 */ srl $t0, $t0, 0x10
|
||||
/* 004730 80003B30 01014026 */ xor $t0, $t0, $at
|
||||
/* 004734 80003B34 3108003F */ andi $t0, $t0, 0x3f
|
||||
/* 004738 80003B38 010C4024 */ and $t0, $t0, $t4
|
||||
/* 00473C 80003B3C 01284825 */ or $t1, $t1, $t0
|
||||
endrcp:
|
||||
/* 004740 80003B40 AF490128 */ sw $t1, 0x128($k0)
|
||||
/* 004744 80003B44 40087000 */ mfc0 $t0, $14
|
||||
/* 004748 80003B48 AF48011C */ sw $t0, 0x11c($k0)
|
||||
/* 00474C 80003B4C 8F480018 */ lw $t0, 0x18($k0)
|
||||
/* 004750 80003B50 11000014 */ beqz $t0, no_rdb_mesg
|
||||
/* 004754 80003B54 00000000 */ nop
|
||||
/* 004758 80003B58 4448F800 */ cfc1 $t0, $31
|
||||
/* 00475C 80003B5C 00000000 */ nop
|
||||
/* 004760 80003B60 AF48012C */ sw $t0, 0x12c($k0)
|
||||
/* 004764 80003B64 F7400130 */ sdc1 $f0, 0x130($k0)
|
||||
/* 004768 80003B68 F7420138 */ sdc1 $f2, 0x138($k0)
|
||||
/* 00476C 80003B6C F7440140 */ sdc1 $f4, 0x140($k0)
|
||||
/* 004770 80003B70 F7460148 */ sdc1 $f6, 0x148($k0)
|
||||
/* 004774 80003B74 F7480150 */ sdc1 $f8, 0x150($k0)
|
||||
/* 004778 80003B78 F74A0158 */ sdc1 $f10, 0x158($k0)
|
||||
/* 00477C 80003B7C F74C0160 */ sdc1 $f12, 0x160($k0)
|
||||
/* 004780 80003B80 F74E0168 */ sdc1 $f14, 0x168($k0)
|
||||
/* 004784 80003B84 F7500170 */ sdc1 $f16, 0x170($k0)
|
||||
/* 004788 80003B88 F7520178 */ sdc1 $f18, 0x178($k0)
|
||||
/* 00478C 80003B8C F7540180 */ sdc1 $f20, 0x180($k0)
|
||||
/* 004790 80003B90 F7560188 */ sdc1 $f22, 0x188($k0)
|
||||
/* 004794 80003B94 F7580190 */ sdc1 $f24, 0x190($k0)
|
||||
/* 004798 80003B98 F75A0198 */ sdc1 $f26, 0x198($k0)
|
||||
/* 00479C 80003B9C F75C01A0 */ sdc1 $f28, 0x1a0($k0)
|
||||
/* 0047A0 80003BA0 F75E01A8 */ sdc1 $f30, 0x1a8($k0)
|
||||
no_rdb_mesg:
|
||||
/* 0047A4 80003BA4 40086800 */ mfc0 $t0, $13
|
||||
/* 0047A8 80003BA8 AF480120 */ sw $t0, 0x120($k0)
|
||||
/* 0047AC 80003BAC 24090002 */ li $t1, 2
|
||||
/* 0047B0 80003BB0 A7490010 */ sh $t1, 0x10($k0)
|
||||
/* 0047B4 80003BB4 3109007C */ andi $t1, $t0, 0x7c
|
||||
/* 0047B8 80003BB8 240A0024 */ li $t2, 36
|
||||
/* 0047BC 80003BBC 112A00B6 */ beq $t1, $t2, handle_break
|
||||
/* 0047C0 80003BC0 00000000 */ nop
|
||||
/* 0047C4 80003BC4 240A002C */ li $t2, 44
|
||||
/* 0047C8 80003BC8 112A0105 */ beq $t1, $t2, handle_CpU
|
||||
/* 0047CC 80003BCC 00000000 */ nop
|
||||
/* 0047D0 80003BD0 240A0000 */ li $t2, 0
|
||||
/* 0047D4 80003BD4 152A00C9 */ bne $t1, $t2, panic
|
||||
/* 0047D8 80003BD8 00000000 */ nop
|
||||
/* 0047DC 80003BDC 03688024 */ and $s0, $k1, $t0
|
||||
next_interrupt:
|
||||
/* 0047E0 80003BE0 3209FF00 */ andi $t1, $s0, 0xff00
|
||||
/* 0047E4 80003BE4 00095302 */ srl $t2, $t1, 0xc
|
||||
/* 0047E8 80003BE8 15400003 */ bnez $t2, .L80003BF8
|
||||
/* 0047EC 80003BEC 00000000 */ nop
|
||||
/* 0047F0 80003BF0 00095202 */ srl $t2, $t1, 8
|
||||
/* 0047F4 80003BF4 214A0010 */ addi $t2, $t2, 0x10
|
||||
.L80003BF8:
|
||||
/* 0047F8 80003BF8 3C018001 */ lui $at, %hi(__osIntOffTable)
|
||||
/* 0047FC 80003BFC 002A0821 */ addu $at, $at, $t2
|
||||
/* 004800 80003C00 902A20F0 */ lbu $t2, %lo(__osIntOffTable)($at)
|
||||
/* 004804 80003C04 3C018001 */ lui $at, %hi(__osIntTable)
|
||||
/* 004808 80003C08 002A0821 */ addu $at, $at, $t2
|
||||
/* 00480C 80003C0C 8C2A2110 */ lw $t2, %lo(__osIntTable)($at)
|
||||
/* 004810 80003C10 01400008 */ jr $t2
|
||||
/* 004814 80003C14 00000000 */ nop
|
||||
IP6_Hdlr:
|
||||
/* 004818 80003C18 2401DFFF */ li $at, -8193
|
||||
/* 00481C 80003C1C 1000FFF0 */ b next_interrupt
|
||||
/* 004820 80003C20 02018024 */ and $s0, $s0, $at
|
||||
IP7_Hdlr:
|
||||
/* 004824 80003C24 2401BFFF */ li $at, -16385
|
||||
/* 004828 80003C28 1000FFED */ b next_interrupt
|
||||
/* 00482C 80003C2C 02018024 */ and $s0, $s0, $at
|
||||
counter:
|
||||
/* 004830 80003C30 40095800 */ mfc0 $t1, $11
|
||||
/* 004834 80003C34 40895800 */ mtc0 $t1, $11
|
||||
/* 004838 80003C38 0C000FCB */ jal send_mesg
|
||||
/* 00483C 80003C3C 24040018 */ li $a0, 24
|
||||
/* 004840 80003C40 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff
|
||||
/* 004844 80003C44 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
|
||||
/* 004848 80003C48 1000FFE5 */ b next_interrupt
|
||||
/* 00484C 80003C4C 02018024 */ and $s0, $s0, $at
|
||||
cart:
|
||||
/* 004850 80003C50 3C098001 */ lui $t1, %hi(__osHwIntTable) # $t1, 0x8001
|
||||
/* 004854 80003C54 2529AD10 */ addiu $t1, %lo(__osHwIntTable) # addiu $t1, $t1, -0x52f0
|
||||
/* 004858 80003C58 8D2A0008 */ lw $t2, 8($t1)
|
||||
/* 00485C 80003C5C 2401F7FF */ li $at, -2049
|
||||
/* 004860 80003C60 02018024 */ and $s0, $s0, $at
|
||||
/* 004864 80003C64 11400007 */ beqz $t2, .L80003C84
|
||||
/* 004868 80003C68 21290008 */ addi $t1, $t1, 8
|
||||
/* 00486C 80003C6C 0140F809 */ jalr $t2
|
||||
/* 004870 80003C70 8D3D0004 */ lw $sp, 4($t1)
|
||||
/* 004874 80003C74 10400003 */ beqz $v0, .L80003C84
|
||||
/* 004878 80003C78 00000000 */ nop
|
||||
/* 00487C 80003C7C 1000008C */ b redispatch
|
||||
/* 004880 80003C80 00000000 */ nop
|
||||
.L80003C84:
|
||||
/* 004884 80003C84 0C000FCB */ jal send_mesg
|
||||
/* 004888 80003C88 24040010 */ li $a0, 16
|
||||
/* 00488C 80003C8C 1000FFD4 */ b next_interrupt
|
||||
/* 004890 80003C90 00000000 */ nop
|
||||
rcp:
|
||||
/* 004894 80003C94 3C088001 */ lui $t0, %hi(__OSGlobalIntMask) # $t0, 0x8001
|
||||
/* 004898 80003C98 2508AD00 */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, -0x5300
|
||||
/* 00489C 80003C9C 8D080000 */ lw $t0, ($t0)
|
||||
/* 0048A0 80003CA0 3C11A430 */ lui $s1, %hi(D_A4300008) # $s1, 0xa430
|
||||
/* 0048A4 80003CA4 8E310008 */ lw $s1, %lo(D_A4300008)($s1)
|
||||
/* 0048A8 80003CA8 00084402 */ srl $t0, $t0, 0x10
|
||||
/* 0048AC 80003CAC 02288824 */ and $s1, $s1, $t0
|
||||
/* 0048B0 80003CB0 32290001 */ andi $t1, $s1, 1
|
||||
/* 0048B4 80003CB4 11200013 */ beqz $t1, vi
|
||||
/* 0048B8 80003CB8 00000000 */ nop
|
||||
/* 0048BC 80003CBC 3C0CA404 */ lui $t4, %hi(D_A4040010) # $t4, 0xa404
|
||||
/* 0048C0 80003CC0 8D8C0010 */ lw $t4, %lo(D_A4040010)($t4)
|
||||
/* 0048C4 80003CC4 34098008 */ li $t1, 32776
|
||||
/* 0048C8 80003CC8 3C01A404 */ lui $at, %hi(D_A4040010) # $at, 0xa404
|
||||
/* 0048CC 80003CCC 318C0300 */ andi $t4, $t4, 0x300
|
||||
/* 0048D0 80003CD0 3231003E */ andi $s1, $s1, 0x3e
|
||||
/* 0048D4 80003CD4 11800007 */ beqz $t4, sp_other_break
|
||||
/* 0048D8 80003CD8 AC290010 */ sw $t1, %lo(D_A4040010)($at)
|
||||
/* 0048DC 80003CDC 0C000FCB */ jal send_mesg
|
||||
/* 0048E0 80003CE0 24040020 */ li $a0, 32
|
||||
/* 0048E4 80003CE4 12200042 */ beqz $s1, NoMoreRcpInts
|
||||
/* 0048E8 80003CE8 00000000 */ nop
|
||||
/* 0048EC 80003CEC 10000005 */ b vi
|
||||
/* 0048F0 80003CF0 00000000 */ nop
|
||||
sp_other_break:
|
||||
/* 0048F4 80003CF4 0C000FCB */ jal send_mesg
|
||||
/* 0048F8 80003CF8 24040058 */ li $a0, 88
|
||||
/* 0048FC 80003CFC 1220003C */ beqz $s1, NoMoreRcpInts
|
||||
/* 004900 80003D00 00000000 */ nop
|
||||
vi:
|
||||
/* 004904 80003D04 32290008 */ andi $t1, $s1, 8
|
||||
/* 004908 80003D08 11200007 */ beqz $t1, ai
|
||||
/* 00490C 80003D0C 3C01A440 */ lui $at, %hi(D_A4400010) # $at, 0xa440
|
||||
/* 004910 80003D10 32310037 */ andi $s1, $s1, 0x37
|
||||
/* 004914 80003D14 AC200010 */ sw $zero, %lo(D_A4400010)($at)
|
||||
/* 004918 80003D18 0C000FCB */ jal send_mesg
|
||||
/* 00491C 80003D1C 24040038 */ li $a0, 56
|
||||
/* 004920 80003D20 12200033 */ beqz $s1, NoMoreRcpInts
|
||||
/* 004924 80003D24 00000000 */ nop
|
||||
ai:
|
||||
/* 004928 80003D28 32290004 */ andi $t1, $s1, 4
|
||||
/* 00492C 80003D2C 11200009 */ beqz $t1, si
|
||||
/* 004930 80003D30 00000000 */ nop
|
||||
/* 004934 80003D34 24090001 */ li $t1, 1
|
||||
/* 004938 80003D38 3C01A450 */ lui $at, %hi(D_A450000C) # $at, 0xa450
|
||||
/* 00493C 80003D3C 3231003B */ andi $s1, $s1, 0x3b
|
||||
/* 004940 80003D40 AC29000C */ sw $t1, %lo(D_A450000C)($at)
|
||||
/* 004944 80003D44 0C000FCB */ jal send_mesg
|
||||
/* 004948 80003D48 24040030 */ li $a0, 48
|
||||
/* 00494C 80003D4C 12200028 */ beqz $s1, NoMoreRcpInts
|
||||
/* 004950 80003D50 00000000 */ nop
|
||||
si:
|
||||
/* 004954 80003D54 32290002 */ andi $t1, $s1, 2
|
||||
/* 004958 80003D58 11200007 */ beqz $t1, pi
|
||||
/* 00495C 80003D5C 3C01A480 */ lui $at, %hi(D_A4800018) # $at, 0xa480
|
||||
/* 004960 80003D60 3231003D */ andi $s1, $s1, 0x3d
|
||||
/* 004964 80003D64 AC200018 */ sw $zero, %lo(D_A4800018)($at)
|
||||
/* 004968 80003D68 0C000FCB */ jal send_mesg
|
||||
/* 00496C 80003D6C 24040028 */ li $a0, 40
|
||||
/* 004970 80003D70 1220001F */ beqz $s1, NoMoreRcpInts
|
||||
/* 004974 80003D74 00000000 */ nop
|
||||
pi:
|
||||
/* 004978 80003D78 32290010 */ andi $t1, $s1, 0x10
|
||||
/* 00497C 80003D7C 11200013 */ beqz $t1, dp
|
||||
/* 004980 80003D80 00000000 */ nop
|
||||
/* 004984 80003D84 24090002 */ li $t1, 2
|
||||
/* 004988 80003D88 3C01A460 */ lui $at, %hi(D_A4600010) # $at, 0xa460
|
||||
/* 00498C 80003D8C AC290010 */ sw $t1, %lo(D_A4600010)($at)
|
||||
/* 004990 80003D90 3C098001 */ lui $t1, %hi(__osPiIntTable) # $t1, 0x8001
|
||||
/* 004994 80003D94 2529AD38 */ addiu $t1, %lo(__osPiIntTable) # addiu $t1, $t1, -0x52c8
|
||||
/* 004998 80003D98 8D2A0000 */ lw $t2, ($t1)
|
||||
/* 00499C 80003D9C 3231002F */ andi $s1, $s1, 0x2f
|
||||
/* 0049A0 80003DA0 11400006 */ beqz $t2, .L80003DBC
|
||||
/* 0049A4 80003DA4 00000000 */ nop
|
||||
/* 0049A8 80003DA8 8D3D0004 */ lw $sp, 4($t1)
|
||||
/* 0049AC 80003DAC 0140F809 */ jalr $t2
|
||||
/* 0049B0 80003DB0 00402025 */ move $a0, $v0
|
||||
/* 0049B4 80003DB4 14400003 */ bnez $v0, .L80003DC4
|
||||
/* 0049B8 80003DB8 00000000 */ nop
|
||||
.L80003DBC:
|
||||
/* 0049BC 80003DBC 0C000FCB */ jal send_mesg
|
||||
/* 0049C0 80003DC0 24040040 */ li $a0, 64
|
||||
.L80003DC4:
|
||||
/* 0049C4 80003DC4 1220000A */ beqz $s1, NoMoreRcpInts
|
||||
/* 0049C8 80003DC8 00000000 */ nop
|
||||
dp:
|
||||
/* 0049CC 80003DCC 32290020 */ andi $t1, $s1, 0x20
|
||||
/* 0049D0 80003DD0 11200007 */ beqz $t1, NoMoreRcpInts
|
||||
/* 0049D4 80003DD4 00000000 */ nop
|
||||
/* 0049D8 80003DD8 24090800 */ li $t1, 2048
|
||||
/* 0049DC 80003DDC 3C01A430 */ lui $at, 0xa430
|
||||
/* 0049E0 80003DE0 3231001F */ andi $s1, $s1, 0x1f
|
||||
/* 0049E4 80003DE4 AC290000 */ sw $t1, ($at)
|
||||
/* 0049E8 80003DE8 0C000FCB */ jal send_mesg
|
||||
/* 0049EC 80003DEC 24040048 */ li $a0, 72
|
||||
NoMoreRcpInts:
|
||||
/* 0049F0 80003DF0 2401FBFF */ li $at, -1025
|
||||
/* 0049F4 80003DF4 1000FF7A */ b next_interrupt
|
||||
/* 0049F8 80003DF8 02018024 */ and $s0, $s0, $at
|
||||
prenmi:
|
||||
/* 0049FC 80003DFC 8F5B0118 */ lw $k1, 0x118($k0)
|
||||
/* 004A00 80003E00 2401EFFF */ li $at, -4097
|
||||
/* 004A04 80003E04 3C098001 */ lui $t1, %hi(__osShutdown) # $t1, 0x8001
|
||||
/* 004A08 80003E08 0361D824 */ and $k1, $k1, $at
|
||||
/* 004A0C 80003E0C AF5B0118 */ sw $k1, 0x118($k0)
|
||||
/* 004A10 80003E10 2529ACFC */ addiu $t1, %lo(__osShutdown) # addiu $t1, $t1, -0x5304
|
||||
/* 004A14 80003E14 8D2A0000 */ lw $t2, ($t1)
|
||||
/* 004A18 80003E18 11400003 */ beqz $t2, firstnmi
|
||||
/* 004A1C 80003E1C 2401EFFF */ li $at, -4097
|
||||
/* 004A20 80003E20 10000023 */ b redispatch
|
||||
/* 004A24 80003E24 02018024 */ and $s0, $s0, $at
|
||||
firstnmi:
|
||||
/* 004A28 80003E28 240A0001 */ li $t2, 1
|
||||
/* 004A2C 80003E2C AD2A0000 */ sw $t2, ($t1)
|
||||
/* 004A30 80003E30 0C000FCB */ jal send_mesg
|
||||
/* 004A34 80003E34 24040070 */ li $a0, 112
|
||||
/* 004A38 80003E38 3C0A8001 */ lui $t2, %hi(__osRunQueue) # $t2, 0x8001
|
||||
/* 004A3C 80003E3C 8D4AAD48 */ lw $t2, %lo(__osRunQueue)($t2)
|
||||
/* 004A40 80003E40 2401EFFF */ li $at, -4097
|
||||
/* 004A44 80003E44 02018024 */ and $s0, $s0, $at
|
||||
/* 004A48 80003E48 8D5B0118 */ lw $k1, 0x118($t2)
|
||||
/* 004A4C 80003E4C 0361D824 */ and $k1, $k1, $at
|
||||
/* 004A50 80003E50 10000017 */ b redispatch
|
||||
/* 004A54 80003E54 AD5B0118 */ sw $k1, 0x118($t2)
|
||||
sw2:
|
||||
/* 004A58 80003E58 2401FDFF */ li $at, -513
|
||||
/* 004A5C 80003E5C 01014024 */ and $t0, $t0, $at
|
||||
/* 004A60 80003E60 40886800 */ mtc0 $t0, $13
|
||||
/* 004A64 80003E64 0C000FCB */ jal send_mesg
|
||||
/* 004A68 80003E68 24040008 */ li $a0, 8
|
||||
/* 004A6C 80003E6C 2401FDFF */ li $at, -513
|
||||
/* 004A70 80003E70 1000FF5B */ b next_interrupt
|
||||
/* 004A74 80003E74 02018024 */ and $s0, $s0, $at
|
||||
sw1:
|
||||
/* 004A78 80003E78 2401FEFF */ li $at, -257
|
||||
/* 004A7C 80003E7C 01014024 */ and $t0, $t0, $at
|
||||
/* 004A80 80003E80 40886800 */ mtc0 $t0, $13
|
||||
/* 004A84 80003E84 0C000FCB */ jal send_mesg
|
||||
/* 004A88 80003E88 24040000 */ li $a0, 0
|
||||
/* 004A8C 80003E8C 2401FEFF */ li $at, -257
|
||||
/* 004A90 80003E90 1000FF53 */ b next_interrupt
|
||||
/* 004A94 80003E94 02018024 */ and $s0, $s0, $at
|
||||
handle_break:
|
||||
/* 004A98 80003E98 24090001 */ li $t1, 1
|
||||
/* 004A9C 80003E9C A7490012 */ sh $t1, 0x12($k0)
|
||||
/* 004AA0 80003EA0 0C000FCB */ jal send_mesg
|
||||
/* 004AA4 80003EA4 24040050 */ li $a0, 80
|
||||
/* 004AA8 80003EA8 10000001 */ b redispatch
|
||||
/* 004AAC 80003EAC 00000000 */ nop
|
||||
redispatch:
|
||||
/* 004AB0 80003EB0 3C0A8001 */ lui $t2, %hi(__osRunQueue) # $t2, 0x8001
|
||||
/* 004AB4 80003EB4 8D4AAD48 */ lw $t2, %lo(__osRunQueue)($t2)
|
||||
/* 004AB8 80003EB8 8F490004 */ lw $t1, 4($k0)
|
||||
/* 004ABC 80003EBC 8D4B0004 */ lw $t3, 4($t2)
|
||||
/* 004AC0 80003EC0 012B082A */ slt $at, $t1, $t3
|
||||
/* 004AC4 80003EC4 10200007 */ beqz $at, enqueueRunning
|
||||
/* 004AC8 80003EC8 00000000 */ nop
|
||||
/* 004ACC 80003ECC 3C048001 */ lui $a0, %hi(__osRunQueue) # $a0, 0x8001
|
||||
/* 004AD0 80003ED0 03402825 */ move $a1, $k0
|
||||
/* 004AD4 80003ED4 0C001045 */ jal __osEnqueueThread
|
||||
/* 004AD8 80003ED8 2484AD48 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, -0x52b8
|
||||
/* 004ADC 80003EDC 0800105D */ j __osDispatchThread
|
||||
/* 004AE0 80003EE0 00000000 */ nop
|
||||
|
||||
enqueueRunning:
|
||||
/* 004AE4 80003EE4 3C098001 */ lui $t1, %hi(__osRunQueue) # $t1, 0x8001
|
||||
/* 004AE8 80003EE8 2529AD48 */ addiu $t1, %lo(__osRunQueue) # addiu $t1, $t1, -0x52b8
|
||||
/* 004AEC 80003EEC 8D2A0000 */ lw $t2, ($t1)
|
||||
/* 004AF0 80003EF0 AF4A0000 */ sw $t2, ($k0)
|
||||
/* 004AF4 80003EF4 0800105D */ j __osDispatchThread
|
||||
/* 004AF8 80003EF8 AD3A0000 */ sw $k0, ($t1)
|
||||
|
||||
panic:
|
||||
/* 004AFC 80003EFC 3C018001 */ lui $at, %hi(__osFaultedThread) # $at, 0x8001
|
||||
/* 004B00 80003F00 AC3AAD54 */ sw $k0, %lo(__osFaultedThread)($at)
|
||||
/* 004B04 80003F04 24090001 */ li $t1, 1
|
||||
/* 004B08 80003F08 A7490010 */ sh $t1, 0x10($k0)
|
||||
/* 004B0C 80003F0C 24090002 */ li $t1, 2
|
||||
/* 004B10 80003F10 A7490012 */ sh $t1, 0x12($k0)
|
||||
/* 004B14 80003F14 400A4000 */ mfc0 $t2, $8
|
||||
/* 004B18 80003F18 AF4A0124 */ sw $t2, 0x124($k0)
|
||||
/* 004B1C 80003F1C 0C000FCB */ jal send_mesg
|
||||
/* 004B20 80003F20 24040060 */ li $a0, 96
|
||||
/* 004B24 80003F24 0800105D */ j __osDispatchThread
|
||||
/* 004B28 80003F28 00000000 */ nop
|
||||
|
||||
glabel send_mesg
|
||||
/* 004B2C 80003F2C 3C0A8001 */ lui $t2, %hi(__osEventStateTab) # $t2, 0x8001
|
||||
/* 004B30 80003F30 254A5A40 */ addiu $t2, %lo(__osEventStateTab) # addiu $t2, $t2, 0x5a40
|
||||
/* 004B34 80003F34 01445021 */ addu $t2, $t2, $a0
|
||||
/* 004B38 80003F38 8D490000 */ lw $t1, ($t2)
|
||||
/* 004B3C 80003F3C 03E09025 */ move $s2, $ra
|
||||
/* 004B40 80003F40 11200025 */ beqz $t1, send_done
|
||||
/* 004B44 80003F44 00000000 */ nop
|
||||
/* 004B48 80003F48 8D2B0008 */ lw $t3, 8($t1)
|
||||
/* 004B4C 80003F4C 8D2C0010 */ lw $t4, 0x10($t1)
|
||||
/* 004B50 80003F50 016C082A */ slt $at, $t3, $t4
|
||||
/* 004B54 80003F54 10200020 */ beqz $at, send_done
|
||||
/* 004B58 80003F58 00000000 */ nop
|
||||
/* 004B5C 80003F5C 8D2D000C */ lw $t5, 0xc($t1)
|
||||
/* 004B60 80003F60 01AB6821 */ addu $t5, $t5, $t3
|
||||
/* 004B64 80003F64 01AC001A */ div $zero, $t5, $t4
|
||||
/* 004B68 80003F68 15800002 */ bnez $t4, .L80003F74
|
||||
/* 004B6C 80003F6C 00000000 */ nop
|
||||
/* 004B70 80003F70 0007000D */ break 7
|
||||
.L80003F74:
|
||||
/* 004B74 80003F74 2401FFFF */ li $at, -1
|
||||
/* 004B78 80003F78 15810004 */ bne $t4, $at, .L80003F8C
|
||||
/* 004B7C 80003F7C 3C018000 */ lui $at, 0x8000
|
||||
/* 004B80 80003F80 15A10002 */ bne $t5, $at, .L80003F8C
|
||||
/* 004B84 80003F84 00000000 */ nop
|
||||
/* 004B88 80003F88 0006000D */ break 6
|
||||
.L80003F8C:
|
||||
/* 004B8C 80003F8C 8D2C0014 */ lw $t4, 0x14($t1)
|
||||
/* 004B90 80003F90 00006810 */ mfhi $t5
|
||||
/* 004B94 80003F94 000D6880 */ sll $t5, $t5, 2
|
||||
/* 004B98 80003F98 018D6021 */ addu $t4, $t4, $t5
|
||||
/* 004B9C 80003F9C 8D4D0004 */ lw $t5, 4($t2)
|
||||
/* 004BA0 80003FA0 256A0001 */ addiu $t2, $t3, 1
|
||||
/* 004BA4 80003FA4 AD8D0000 */ sw $t5, ($t4)
|
||||
/* 004BA8 80003FA8 AD2A0008 */ sw $t2, 8($t1)
|
||||
/* 004BAC 80003FAC 8D2A0000 */ lw $t2, ($t1)
|
||||
/* 004BB0 80003FB0 8D4B0000 */ lw $t3, ($t2)
|
||||
/* 004BB4 80003FB4 11600008 */ beqz $t3, send_done
|
||||
/* 004BB8 80003FB8 00000000 */ nop
|
||||
/* 004BBC 80003FBC 0C001057 */ jal __osPopThread
|
||||
/* 004BC0 80003FC0 01202025 */ move $a0, $t1
|
||||
/* 004BC4 80003FC4 00405025 */ move $t2, $v0
|
||||
/* 004BC8 80003FC8 3C048001 */ lui $a0, %hi(__osRunQueue) # $a0, 0x8001
|
||||
/* 004BCC 80003FCC 01402825 */ move $a1, $t2
|
||||
/* 004BD0 80003FD0 0C001045 */ jal __osEnqueueThread
|
||||
/* 004BD4 80003FD4 2484AD48 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, -0x52b8
|
||||
send_done:
|
||||
/* 004BD8 80003FD8 02400008 */ jr $s2
|
||||
/* 004BDC 80003FDC 00000000 */ nop
|
||||
handle_CpU:
|
||||
/* 004BE0 80003FE0 3C013000 */ lui $at, 0x3000
|
||||
/* 004BE4 80003FE4 01014824 */ and $t1, $t0, $at
|
||||
/* 004BE8 80003FE8 00094F02 */ srl $t1, $t1, 0x1c
|
||||
/* 004BEC 80003FEC 240A0001 */ li $t2, 1
|
||||
/* 004BF0 80003FF0 152AFFC2 */ bne $t1, $t2, panic
|
||||
/* 004BF4 80003FF4 00000000 */ nop
|
||||
/* 004BF8 80003FF8 8F5B0118 */ lw $k1, 0x118($k0)
|
||||
/* 004BFC 80003FFC 3C012000 */ lui $at, 0x2000
|
||||
glabel func_80004000
|
||||
/* 004C00 80004000 24090001 */ li $t1, 1
|
||||
/* 004C04 80004004 0361D825 */ or $k1, $k1, $at
|
||||
/* 004C08 80004008 AF490018 */ sw $t1, 0x18($k0)
|
||||
/* 004C0C 8000400C 1000FFB5 */ b enqueueRunning
|
||||
/* 004C10 80004010 AF5B0118 */ sw $k1, 0x118($k0)
|
||||
glabel __osEnqueueAndYield
|
||||
/* 004C14 80004014 3C058001 */ lui $a1, %hi(__osRunningThread) # $a1, 0x8001
|
||||
/* 004C18 80004018 8CA5AD50 */ lw $a1, %lo(__osRunningThread)($a1)
|
||||
/* 004C1C 8000401C 40086000 */ mfc0 $t0, $12
|
||||
/* 004C20 80004020 8CBB0018 */ lw $k1, 0x18($a1)
|
||||
/* 004C24 80004024 35080002 */ ori $t0, $t0, 2
|
||||
/* 004C28 80004028 ACA80118 */ sw $t0, 0x118($a1)
|
||||
/* 004C2C 8000402C FCB00098 */ sd $s0, 0x98($a1)
|
||||
/* 004C30 80004030 FCB100A0 */ sd $s1, 0xa0($a1)
|
||||
/* 004C34 80004034 FCB200A8 */ sd $s2, 0xa8($a1)
|
||||
/* 004C38 80004038 FCB300B0 */ sd $s3, 0xb0($a1)
|
||||
/* 004C3C 8000403C FCB400B8 */ sd $s4, 0xb8($a1)
|
||||
/* 004C40 80004040 FCB500C0 */ sd $s5, 0xc0($a1)
|
||||
/* 004C44 80004044 FCB600C8 */ sd $s6, 0xc8($a1)
|
||||
/* 004C48 80004048 FCB700D0 */ sd $s7, 0xd0($a1)
|
||||
/* 004C4C 8000404C FCBC00E8 */ sd $gp, 0xe8($a1)
|
||||
/* 004C50 80004050 FCBD00F0 */ sd $sp, 0xf0($a1)
|
||||
/* 004C54 80004054 FCBE00F8 */ sd $fp, 0xf8($a1)
|
||||
/* 004C58 80004058 FCBF0100 */ sd $ra, 0x100($a1)
|
||||
/* 004C5C 8000405C 13600009 */ beqz $k1, .L80004084
|
||||
/* 004C60 80004060 ACBF011C */ sw $ra, 0x11c($a1)
|
||||
/* 004C64 80004064 445BF800 */ cfc1 $k1, $31
|
||||
/* 004C68 80004068 F4B40180 */ sdc1 $f20, 0x180($a1)
|
||||
/* 004C6C 8000406C F4B60188 */ sdc1 $f22, 0x188($a1)
|
||||
/* 004C70 80004070 F4B80190 */ sdc1 $f24, 0x190($a1)
|
||||
/* 004C74 80004074 F4BA0198 */ sdc1 $f26, 0x198($a1)
|
||||
/* 004C78 80004078 F4BC01A0 */ sdc1 $f28, 0x1a0($a1)
|
||||
/* 004C7C 8000407C F4BE01A8 */ sdc1 $f30, 0x1a8($a1)
|
||||
/* 004C80 80004080 ACBB012C */ sw $k1, 0x12c($a1)
|
||||
.L80004084:
|
||||
/* 004C84 80004084 8CBB0118 */ lw $k1, 0x118($a1)
|
||||
/* 004C88 80004088 3369FF00 */ andi $t1, $k1, 0xff00
|
||||
/* 004C8C 8000408C 1120000D */ beqz $t1, .L800040C4
|
||||
/* 004C90 80004090 00000000 */ nop
|
||||
/* 004C94 80004094 3C088001 */ lui $t0, %hi(__OSGlobalIntMask) # $t0, 0x8001
|
||||
/* 004C98 80004098 2508AD00 */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, -0x5300
|
||||
/* 004C9C 8000409C 8D080000 */ lw $t0, ($t0)
|
||||
/* 004CA0 800040A0 2401FFFF */ li $at, -1
|
||||
/* 004CA4 800040A4 01014026 */ xor $t0, $t0, $at
|
||||
/* 004CA8 800040A8 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff
|
||||
/* 004CAC 800040AC 3108FF00 */ andi $t0, $t0, 0xff00
|
||||
/* 004CB0 800040B0 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff
|
||||
/* 004CB4 800040B4 01284825 */ or $t1, $t1, $t0
|
||||
/* 004CB8 800040B8 0361D824 */ and $k1, $k1, $at
|
||||
/* 004CBC 800040BC 0369D825 */ or $k1, $k1, $t1
|
||||
/* 004CC0 800040C0 ACBB0118 */ sw $k1, 0x118($a1)
|
||||
.L800040C4:
|
||||
/* 004CC4 800040C4 3C1BA430 */ lui $k1, %hi(D_A430000C) # $k1, 0xa430
|
||||
/* 004CC8 800040C8 8F7B000C */ lw $k1, %lo(D_A430000C)($k1)
|
||||
/* 004CCC 800040CC 1360000B */ beqz $k1, .L800040FC
|
||||
/* 004CD0 800040D0 00000000 */ nop
|
||||
/* 004CD4 800040D4 3C1A8001 */ lui $k0, %hi(__OSGlobalIntMask) # $k0, 0x8001
|
||||
/* 004CD8 800040D8 275AAD00 */ addiu $k0, %lo(__OSGlobalIntMask) # addiu $k0, $k0, -0x5300
|
||||
/* 004CDC 800040DC 8F5A0000 */ lw $k0, ($k0)
|
||||
/* 004CE0 800040E0 8CA80128 */ lw $t0, 0x128($a1)
|
||||
/* 004CE4 800040E4 2401FFFF */ li $at, -1
|
||||
/* 004CE8 800040E8 001AD402 */ srl $k0, $k0, 0x10
|
||||
/* 004CEC 800040EC 0341D026 */ xor $k0, $k0, $at
|
||||
/* 004CF0 800040F0 335A003F */ andi $k0, $k0, 0x3f
|
||||
/* 004CF4 800040F4 0348D024 */ and $k0, $k0, $t0
|
||||
/* 004CF8 800040F8 037AD825 */ or $k1, $k1, $k0
|
||||
.L800040FC:
|
||||
/* 004CFC 800040FC 10800003 */ beqz $a0, .L8000410C
|
||||
/* 004D00 80004100 ACBB0128 */ sw $k1, 0x128($a1)
|
||||
/* 004D04 80004104 0C001045 */ jal __osEnqueueThread
|
||||
/* 004D08 80004108 00000000 */ nop
|
||||
.L8000410C:
|
||||
/* 004D0C 8000410C 0800105D */ j __osDispatchThread
|
||||
/* 004D10 80004110 00000000 */ nop
|
||||
|
||||
glabel __osEnqueueThread
|
||||
/* 004D14 80004114 8C980000 */ lw $t8, ($a0)
|
||||
/* 004D18 80004118 8CAF0004 */ lw $t7, 4($a1)
|
||||
/* 004D1C 8000411C 0080C825 */ move $t9, $a0
|
||||
/* 004D20 80004120 8F0E0004 */ lw $t6, 4($t8)
|
||||
/* 004D24 80004124 01CF082A */ slt $at, $t6, $t7
|
||||
/* 004D28 80004128 14200007 */ bnez $at, .L80004148
|
||||
/* 004D2C 8000412C 00000000 */ nop
|
||||
.L80004130:
|
||||
/* 004D30 80004130 0300C825 */ move $t9, $t8
|
||||
/* 004D34 80004134 8F180000 */ lw $t8, ($t8)
|
||||
/* 004D38 80004138 8F0E0004 */ lw $t6, 4($t8)
|
||||
/* 004D3C 8000413C 01CF082A */ slt $at, $t6, $t7
|
||||
/* 004D40 80004140 1020FFFB */ beqz $at, .L80004130
|
||||
/* 004D44 80004144 00000000 */ nop
|
||||
.L80004148:
|
||||
/* 004D48 80004148 8F380000 */ lw $t8, ($t9)
|
||||
/* 004D4C 8000414C ACB80000 */ sw $t8, ($a1)
|
||||
/* 004D50 80004150 AF250000 */ sw $a1, ($t9)
|
||||
/* 004D54 80004154 03E00008 */ jr $ra
|
||||
/* 004D58 80004158 ACA40008 */ sw $a0, 8($a1)
|
||||
|
||||
glabel __osPopThread
|
||||
/* 004D5C 8000415C 8C820000 */ lw $v0, ($a0)
|
||||
/* 004D60 80004160 8C590000 */ lw $t9, ($v0)
|
||||
/* 004D64 80004164 03E00008 */ jr $ra
|
||||
/* 004D68 80004168 AC990000 */ sw $t9, ($a0)
|
||||
|
||||
glabel __osNop
|
||||
/* 004D6C 8000416C 03E00008 */ jr $ra
|
||||
/* 004D70 80004170 00000000 */ nop
|
||||
|
||||
glabel __osDispatchThread
|
||||
/* 004D74 80004174 3C048001 */ lui $a0, %hi(__osRunQueue) # $a0, 0x8001
|
||||
/* 004D78 80004178 0C001057 */ jal __osPopThread
|
||||
/* 004D7C 8000417C 2484AD48 */ addiu $a0, %lo(__osRunQueue) # addiu $a0, $a0, -0x52b8
|
||||
/* 004D80 80004180 3C018001 */ lui $at, %hi(__osRunningThread) # $at, 0x8001
|
||||
/* 004D84 80004184 AC22AD50 */ sw $v0, %lo(__osRunningThread)($at)
|
||||
/* 004D88 80004188 24080004 */ li $t0, 4
|
||||
/* 004D8C 8000418C A4480010 */ sh $t0, 0x10($v0)
|
||||
/* 004D90 80004190 0040D025 */ move $k0, $v0
|
||||
/* 004D94 80004194 3C088001 */ lui $t0, %hi(__OSGlobalIntMask) # $t0, 0x8001
|
||||
/* 004D98 80004198 8F5B0118 */ lw $k1, 0x118($k0)
|
||||
/* 004D9C 8000419C 2508AD00 */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, -0x5300
|
||||
/* 004DA0 800041A0 8D080000 */ lw $t0, ($t0)
|
||||
/* 004DA4 800041A4 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff
|
||||
/* 004DA8 800041A8 3369FF00 */ andi $t1, $k1, 0xff00
|
||||
/* 004DAC 800041AC 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff
|
||||
/* 004DB0 800041B0 3108FF00 */ andi $t0, $t0, 0xff00
|
||||
/* 004DB4 800041B4 01284824 */ and $t1, $t1, $t0
|
||||
/* 004DB8 800041B8 0361D824 */ and $k1, $k1, $at
|
||||
/* 004DBC 800041BC 0369D825 */ or $k1, $k1, $t1
|
||||
/* 004DC0 800041C0 409B6000 */ mtc0 $k1, $12
|
||||
/* 004DC4 800041C4 DF5B0108 */ ld $k1, 0x108($k0)
|
||||
/* 004DC8 800041C8 DF410020 */ ld $at, 0x20($k0)
|
||||
/* 004DCC 800041CC DF420028 */ ld $v0, 0x28($k0)
|
||||
/* 004DD0 800041D0 03600013 */ mtlo $k1
|
||||
/* 004DD4 800041D4 DF5B0110 */ ld $k1, 0x110($k0)
|
||||
/* 004DD8 800041D8 DF430030 */ ld $v1, 0x30($k0)
|
||||
/* 004DDC 800041DC DF440038 */ ld $a0, 0x38($k0)
|
||||
/* 004DE0 800041E0 DF450040 */ ld $a1, 0x40($k0)
|
||||
/* 004DE4 800041E4 DF460048 */ ld $a2, 0x48($k0)
|
||||
/* 004DE8 800041E8 DF470050 */ ld $a3, 0x50($k0)
|
||||
/* 004DEC 800041EC DF480058 */ ld $t0, 0x58($k0)
|
||||
/* 004DF0 800041F0 DF490060 */ ld $t1, 0x60($k0)
|
||||
/* 004DF4 800041F4 DF4A0068 */ ld $t2, 0x68($k0)
|
||||
/* 004DF8 800041F8 DF4B0070 */ ld $t3, 0x70($k0)
|
||||
/* 004DFC 800041FC DF4C0078 */ ld $t4, 0x78($k0)
|
||||
/* 004E00 80004200 DF4D0080 */ ld $t5, 0x80($k0)
|
||||
/* 004E04 80004204 DF4E0088 */ ld $t6, 0x88($k0)
|
||||
/* 004E08 80004208 DF4F0090 */ ld $t7, 0x90($k0)
|
||||
/* 004E0C 8000420C DF500098 */ ld $s0, 0x98($k0)
|
||||
/* 004E10 80004210 DF5100A0 */ ld $s1, 0xa0($k0)
|
||||
/* 004E14 80004214 DF5200A8 */ ld $s2, 0xa8($k0)
|
||||
/* 004E18 80004218 DF5300B0 */ ld $s3, 0xb0($k0)
|
||||
/* 004E1C 8000421C DF5400B8 */ ld $s4, 0xb8($k0)
|
||||
/* 004E20 80004220 DF5500C0 */ ld $s5, 0xc0($k0)
|
||||
/* 004E24 80004224 DF5600C8 */ ld $s6, 0xc8($k0)
|
||||
/* 004E28 80004228 DF5700D0 */ ld $s7, 0xd0($k0)
|
||||
/* 004E2C 8000422C DF5800D8 */ ld $t8, 0xd8($k0)
|
||||
/* 004E30 80004230 DF5900E0 */ ld $t9, 0xe0($k0)
|
||||
/* 004E34 80004234 DF5C00E8 */ ld $gp, 0xe8($k0)
|
||||
/* 004E38 80004238 03600011 */ mthi $k1
|
||||
/* 004E3C 8000423C DF5D00F0 */ ld $sp, 0xf0($k0)
|
||||
/* 004E40 80004240 DF5E00F8 */ ld $fp, 0xf8($k0)
|
||||
/* 004E44 80004244 DF5F0100 */ ld $ra, 0x100($k0)
|
||||
/* 004E48 80004248 8F5B011C */ lw $k1, 0x11c($k0)
|
||||
/* 004E4C 8000424C 409B7000 */ mtc0 $k1, $14
|
||||
/* 004E50 80004250 8F5B0018 */ lw $k1, 0x18($k0)
|
||||
/* 004E54 80004254 13600013 */ beqz $k1, .L800042A4
|
||||
/* 004E58 80004258 00000000 */ nop
|
||||
/* 004E5C 8000425C 8F5B012C */ lw $k1, 0x12c($k0)
|
||||
/* 004E60 80004260 44DBF800 */ ctc1 $k1, $31
|
||||
/* 004E64 80004264 D7400130 */ ldc1 $f0, 0x130($k0)
|
||||
/* 004E68 80004268 D7420138 */ ldc1 $f2, 0x138($k0)
|
||||
/* 004E6C 8000426C D7440140 */ ldc1 $f4, 0x140($k0)
|
||||
/* 004E70 80004270 D7460148 */ ldc1 $f6, 0x148($k0)
|
||||
/* 004E74 80004274 D7480150 */ ldc1 $f8, 0x150($k0)
|
||||
/* 004E78 80004278 D74A0158 */ ldc1 $f10, 0x158($k0)
|
||||
/* 004E7C 8000427C D74C0160 */ ldc1 $f12, 0x160($k0)
|
||||
/* 004E80 80004280 D74E0168 */ ldc1 $f14, 0x168($k0)
|
||||
/* 004E84 80004284 D7500170 */ ldc1 $f16, 0x170($k0)
|
||||
/* 004E88 80004288 D7520178 */ ldc1 $f18, 0x178($k0)
|
||||
/* 004E8C 8000428C D7540180 */ ldc1 $f20, 0x180($k0)
|
||||
/* 004E90 80004290 D7560188 */ ldc1 $f22, 0x188($k0)
|
||||
/* 004E94 80004294 D7580190 */ ldc1 $f24, 0x190($k0)
|
||||
/* 004E98 80004298 D75A0198 */ ldc1 $f26, 0x198($k0)
|
||||
/* 004E9C 8000429C D75C01A0 */ ldc1 $f28, 0x1a0($k0)
|
||||
/* 004EA0 800042A0 D75E01A8 */ ldc1 $f30, 0x1a8($k0)
|
||||
.L800042A4:
|
||||
/* 004EA4 800042A4 8F5B0128 */ lw $k1, 0x128($k0)
|
||||
/* 004EA8 800042A8 3C1A8001 */ lui $k0, %hi(__OSGlobalIntMask) # $k0, 0x8001
|
||||
/* 004EAC 800042AC 275AAD00 */ addiu $k0, %lo(__OSGlobalIntMask) # addiu $k0, $k0, -0x5300
|
||||
/* 004EB0 800042B0 8F5A0000 */ lw $k0, ($k0)
|
||||
/* 004EB4 800042B4 001AD402 */ srl $k0, $k0, 0x10
|
||||
/* 004EB8 800042B8 037AD824 */ and $k1, $k1, $k0
|
||||
/* 004EBC 800042BC 001BD840 */ sll $k1, $k1, 1
|
||||
/* 004EC0 800042C0 3C1A8001 */ lui $k0, %hi(__osRcpImTable) # $k0, 0x8001
|
||||
/* 004EC4 800042C4 275A2160 */ addiu $k0, %lo(__osRcpImTable) # addiu $k0, $k0, 0x2160
|
||||
/* 004EC8 800042C8 037AD821 */ addu $k1, $k1, $k0
|
||||
/* 004ECC 800042CC 977B0000 */ lhu $k1, ($k1)
|
||||
/* 004ED0 800042D0 3C1AA430 */ lui $k0, %hi(D_A430000C) # $k0, 0xa430
|
||||
/* 004ED4 800042D4 275A000C */ addiu $k0, %lo(D_A430000C) # addiu $k0, $k0, 0xc
|
||||
/* 004ED8 800042D8 AF5B0000 */ sw $k1, ($k0)
|
||||
/* 004EDC 800042DC 00000000 */ nop
|
||||
/* 004EE0 800042E0 00000000 */ nop
|
||||
/* 004EE4 800042E4 00000000 */ nop
|
||||
/* 004EE8 800042E8 00000000 */ nop
|
||||
/* 004EEC 800042EC 42000018 */ eret
|
||||
glabel __osCleanupThread
|
||||
/* 004EF0 800042F0 0C0010D0 */ jal osDestroyThread
|
||||
/* 004EF4 800042F4 00002025 */ move $a0, $zero
|
||||
+1423
File diff suppressed because it is too large
Load Diff
+1381
File diff suppressed because it is too large
Load Diff
+218
@@ -0,0 +1,218 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel __ull_rshift
|
||||
/* 004310 80003710 AFA40000 */ sw $a0, ($sp)
|
||||
/* 004314 80003714 AFA50004 */ sw $a1, 4($sp)
|
||||
/* 004318 80003718 AFA60008 */ sw $a2, 8($sp)
|
||||
/* 00431C 8000371C AFA7000C */ sw $a3, 0xc($sp)
|
||||
/* 004320 80003720 DFAF0008 */ ld $t7, 8($sp)
|
||||
/* 004324 80003724 DFAE0000 */ ld $t6, ($sp)
|
||||
/* 004328 80003728 01EE1016 */ dsrlv $v0, $t6, $t7
|
||||
/* 00432C 8000372C 0002183C */ dsll32 $v1, $v0, 0
|
||||
/* 004330 80003730 0003183F */ dsra32 $v1, $v1, 0
|
||||
/* 004334 80003734 03E00008 */ jr $ra
|
||||
/* 004338 80003738 0002103F */ dsra32 $v0, $v0, 0
|
||||
|
||||
glabel __ull_rem
|
||||
/* 00433C 8000373C AFA40000 */ sw $a0, ($sp)
|
||||
/* 004340 80003740 AFA50004 */ sw $a1, 4($sp)
|
||||
/* 004344 80003744 AFA60008 */ sw $a2, 8($sp)
|
||||
/* 004348 80003748 AFA7000C */ sw $a3, 0xc($sp)
|
||||
/* 00434C 8000374C DFAF0008 */ ld $t7, 8($sp)
|
||||
/* 004350 80003750 DFAE0000 */ ld $t6, ($sp)
|
||||
/* 004354 80003754 01CF001F */ ddivu $zero, $t6, $t7
|
||||
/* 004358 80003758 15E00002 */ bnez $t7, .L80003764
|
||||
/* 00435C 8000375C 00000000 */ nop
|
||||
/* 004360 80003760 0007000D */ break 7
|
||||
.L80003764:
|
||||
/* 004364 80003764 00001010 */ mfhi $v0
|
||||
/* 004368 80003768 0002183C */ dsll32 $v1, $v0, 0
|
||||
/* 00436C 8000376C 0003183F */ dsra32 $v1, $v1, 0
|
||||
/* 004370 80003770 03E00008 */ jr $ra
|
||||
/* 004374 80003774 0002103F */ dsra32 $v0, $v0, 0
|
||||
|
||||
glabel __ull_div
|
||||
/* 004378 80003778 AFA40000 */ sw $a0, ($sp)
|
||||
/* 00437C 8000377C AFA50004 */ sw $a1, 4($sp)
|
||||
/* 004380 80003780 AFA60008 */ sw $a2, 8($sp)
|
||||
/* 004384 80003784 AFA7000C */ sw $a3, 0xc($sp)
|
||||
/* 004388 80003788 DFAF0008 */ ld $t7, 8($sp)
|
||||
/* 00438C 8000378C DFAE0000 */ ld $t6, ($sp)
|
||||
/* 004390 80003790 01CF001F */ ddivu $zero, $t6, $t7
|
||||
/* 004394 80003794 15E00002 */ bnez $t7, .L800037A0
|
||||
/* 004398 80003798 00000000 */ nop
|
||||
/* 00439C 8000379C 0007000D */ break 7
|
||||
.L800037A0:
|
||||
/* 0043A0 800037A0 00001012 */ mflo $v0
|
||||
/* 0043A4 800037A4 0002183C */ dsll32 $v1, $v0, 0
|
||||
/* 0043A8 800037A8 0003183F */ dsra32 $v1, $v1, 0
|
||||
/* 0043AC 800037AC 03E00008 */ jr $ra
|
||||
/* 0043B0 800037B0 0002103F */ dsra32 $v0, $v0, 0
|
||||
|
||||
glabel __ll_lshift
|
||||
/* 0043B4 800037B4 AFA40000 */ sw $a0, ($sp)
|
||||
/* 0043B8 800037B8 AFA50004 */ sw $a1, 4($sp)
|
||||
/* 0043BC 800037BC AFA60008 */ sw $a2, 8($sp)
|
||||
/* 0043C0 800037C0 AFA7000C */ sw $a3, 0xc($sp)
|
||||
/* 0043C4 800037C4 DFAF0008 */ ld $t7, 8($sp)
|
||||
/* 0043C8 800037C8 DFAE0000 */ ld $t6, ($sp)
|
||||
/* 0043CC 800037CC 01EE1014 */ dsllv $v0, $t6, $t7
|
||||
/* 0043D0 800037D0 0002183C */ dsll32 $v1, $v0, 0
|
||||
/* 0043D4 800037D4 0003183F */ dsra32 $v1, $v1, 0
|
||||
/* 0043D8 800037D8 03E00008 */ jr $ra
|
||||
/* 0043DC 800037DC 0002103F */ dsra32 $v0, $v0, 0
|
||||
|
||||
glabel __ll_rem
|
||||
/* 0043E0 800037E0 AFA40000 */ sw $a0, ($sp)
|
||||
/* 0043E4 800037E4 AFA50004 */ sw $a1, 4($sp)
|
||||
/* 0043E8 800037E8 AFA60008 */ sw $a2, 8($sp)
|
||||
/* 0043EC 800037EC AFA7000C */ sw $a3, 0xc($sp)
|
||||
/* 0043F0 800037F0 DFAF0008 */ ld $t7, 8($sp)
|
||||
/* 0043F4 800037F4 DFAE0000 */ ld $t6, ($sp)
|
||||
/* 0043F8 800037F8 01CF001F */ ddivu $zero, $t6, $t7
|
||||
/* 0043FC 800037FC 15E00002 */ bnez $t7, .L80003808
|
||||
/* 004400 80003800 00000000 */ nop
|
||||
/* 004404 80003804 0007000D */ break 7
|
||||
.L80003808:
|
||||
/* 004408 80003808 00001010 */ mfhi $v0
|
||||
/* 00440C 8000380C 0002183C */ dsll32 $v1, $v0, 0
|
||||
/* 004410 80003810 0003183F */ dsra32 $v1, $v1, 0
|
||||
/* 004414 80003814 03E00008 */ jr $ra
|
||||
/* 004418 80003818 0002103F */ dsra32 $v0, $v0, 0
|
||||
|
||||
glabel __ll_div
|
||||
/* 00441C 8000381C AFA40000 */ sw $a0, ($sp)
|
||||
/* 004420 80003820 AFA50004 */ sw $a1, 4($sp)
|
||||
/* 004424 80003824 AFA60008 */ sw $a2, 8($sp)
|
||||
/* 004428 80003828 AFA7000C */ sw $a3, 0xc($sp)
|
||||
/* 00442C 8000382C DFAF0008 */ ld $t7, 8($sp)
|
||||
/* 004430 80003830 DFAE0000 */ ld $t6, ($sp)
|
||||
/* 004434 80003834 01CF001E */ ddiv $zero, $t6, $t7
|
||||
/* 004438 80003838 00000000 */ nop
|
||||
/* 00443C 8000383C 15E00002 */ bnez $t7, .L80003848
|
||||
/* 004440 80003840 00000000 */ nop
|
||||
/* 004444 80003844 0007000D */ break 7
|
||||
.L80003848:
|
||||
/* 004448 80003848 6401FFFF */ daddiu $at, $zero, -1
|
||||
/* 00444C 8000384C 15E10005 */ bne $t7, $at, .L80003864
|
||||
/* 004450 80003850 64010001 */ daddiu $at, $zero, 1
|
||||
/* 004454 80003854 00010FFC */ dsll32 $at, $at, 0x1f
|
||||
/* 004458 80003858 15C10002 */ bne $t6, $at, .L80003864
|
||||
/* 00445C 8000385C 00000000 */ nop
|
||||
/* 004460 80003860 0006000D */ break 6
|
||||
.L80003864:
|
||||
/* 004464 80003864 00001012 */ mflo $v0
|
||||
/* 004468 80003868 0002183C */ dsll32 $v1, $v0, 0
|
||||
/* 00446C 8000386C 0003183F */ dsra32 $v1, $v1, 0
|
||||
/* 004470 80003870 03E00008 */ jr $ra
|
||||
/* 004474 80003874 0002103F */ dsra32 $v0, $v0, 0
|
||||
|
||||
glabel __ll_mul
|
||||
/* 004478 80003878 AFA40000 */ sw $a0, ($sp)
|
||||
/* 00447C 8000387C AFA50004 */ sw $a1, 4($sp)
|
||||
/* 004480 80003880 AFA60008 */ sw $a2, 8($sp)
|
||||
/* 004484 80003884 AFA7000C */ sw $a3, 0xc($sp)
|
||||
/* 004488 80003888 DFAF0008 */ ld $t7, 8($sp)
|
||||
/* 00448C 8000388C DFAE0000 */ ld $t6, ($sp)
|
||||
/* 004490 80003890 01CF001D */ dmultu $t6, $t7
|
||||
/* 004494 80003894 00001012 */ mflo $v0
|
||||
/* 004498 80003898 0002183C */ dsll32 $v1, $v0, 0
|
||||
/* 00449C 8000389C 0003183F */ dsra32 $v1, $v1, 0
|
||||
/* 0044A0 800038A0 03E00008 */ jr $ra
|
||||
/* 0044A4 800038A4 0002103F */ dsra32 $v0, $v0, 0
|
||||
|
||||
glabel __ull_divremi
|
||||
/* 0044A8 800038A8 87AF0012 */ lh $t7, 0x12($sp)
|
||||
/* 0044AC 800038AC AFA60008 */ sw $a2, 8($sp)
|
||||
/* 0044B0 800038B0 AFA7000C */ sw $a3, 0xc($sp)
|
||||
/* 0044B4 800038B4 DFAE0008 */ ld $t6, 8($sp)
|
||||
/* 0044B8 800038B8 01E0C025 */ move $t8, $t7
|
||||
/* 0044BC 800038BC 0300C825 */ move $t9, $t8
|
||||
/* 0044C0 800038C0 01D9001F */ ddivu $zero, $t6, $t9
|
||||
/* 0044C4 800038C4 17200002 */ bnez $t9, .L800038D0
|
||||
/* 0044C8 800038C8 00000000 */ nop
|
||||
/* 0044CC 800038CC 0007000D */ break 7
|
||||
.L800038D0:
|
||||
/* 0044D0 800038D0 00004012 */ mflo $t0
|
||||
/* 0044D4 800038D4 FC880000 */ sd $t0, ($a0)
|
||||
/* 0044D8 800038D8 87AA0012 */ lh $t2, 0x12($sp)
|
||||
/* 0044DC 800038DC DFA90008 */ ld $t1, 8($sp)
|
||||
/* 0044E0 800038E0 01405825 */ move $t3, $t2
|
||||
/* 0044E4 800038E4 01606025 */ move $t4, $t3
|
||||
/* 0044E8 800038E8 012C001F */ ddivu $zero, $t1, $t4
|
||||
/* 0044EC 800038EC 15800002 */ bnez $t4, .L800038F8
|
||||
/* 0044F0 800038F0 00000000 */ nop
|
||||
/* 0044F4 800038F4 0007000D */ break 7
|
||||
.L800038F8:
|
||||
/* 0044F8 800038F8 00006810 */ mfhi $t5
|
||||
/* 0044FC 800038FC FCAD0000 */ sd $t5, ($a1)
|
||||
/* 004500 80003900 03E00008 */ jr $ra
|
||||
/* 004504 80003904 00000000 */ nop
|
||||
|
||||
glabel __ll_mod
|
||||
/* 004508 80003908 27BDFFF8 */ addiu $sp, $sp, -8
|
||||
/* 00450C 8000390C AFA40008 */ sw $a0, 8($sp)
|
||||
/* 004510 80003910 AFA5000C */ sw $a1, 0xc($sp)
|
||||
/* 004514 80003914 AFA60010 */ sw $a2, 0x10($sp)
|
||||
/* 004518 80003918 AFA70014 */ sw $a3, 0x14($sp)
|
||||
/* 00451C 8000391C DFAF0010 */ ld $t7, 0x10($sp)
|
||||
/* 004520 80003920 DFAE0008 */ ld $t6, 8($sp)
|
||||
/* 004524 80003924 01CF001E */ ddiv $zero, $t6, $t7
|
||||
/* 004528 80003928 00000000 */ nop
|
||||
/* 00452C 8000392C 15E00002 */ bnez $t7, .L80003938
|
||||
/* 004530 80003930 00000000 */ nop
|
||||
/* 004534 80003934 0007000D */ break 7
|
||||
.L80003938:
|
||||
/* 004538 80003938 6401FFFF */ daddiu $at, $zero, -1
|
||||
/* 00453C 8000393C 15E10005 */ bne $t7, $at, .L80003954
|
||||
/* 004540 80003940 64010001 */ daddiu $at, $zero, 1
|
||||
/* 004544 80003944 00010FFC */ dsll32 $at, $at, 0x1f
|
||||
/* 004548 80003948 15C10002 */ bne $t6, $at, .L80003954
|
||||
/* 00454C 8000394C 00000000 */ nop
|
||||
/* 004550 80003950 0006000D */ break 6
|
||||
.L80003954:
|
||||
/* 004554 80003954 0000C010 */ mfhi $t8
|
||||
/* 004558 80003958 FFB80000 */ sd $t8, ($sp)
|
||||
/* 00455C 8000395C 07010003 */ bgez $t8, .L8000396C
|
||||
/* 004560 80003960 00000000 */ nop
|
||||
/* 004564 80003964 1DE00007 */ bgtz $t7, .L80003984
|
||||
/* 004568 80003968 00000000 */ nop
|
||||
.L8000396C:
|
||||
/* 00456C 8000396C DFB90000 */ ld $t9, ($sp)
|
||||
/* 004570 80003970 1B200008 */ blez $t9, .L80003994
|
||||
/* 004574 80003974 00000000 */ nop
|
||||
/* 004578 80003978 DFA80010 */ ld $t0, 0x10($sp)
|
||||
/* 00457C 8000397C 05010005 */ bgez $t0, .L80003994
|
||||
/* 004580 80003980 00000000 */ nop
|
||||
.L80003984:
|
||||
/* 004584 80003984 DFA90000 */ ld $t1, ($sp)
|
||||
/* 004588 80003988 DFAA0010 */ ld $t2, 0x10($sp)
|
||||
/* 00458C 8000398C 012A582D */ daddu $t3, $t1, $t2
|
||||
/* 004590 80003990 FFAB0000 */ sd $t3, ($sp)
|
||||
.L80003994:
|
||||
/* 004594 80003994 8FA20000 */ lw $v0, ($sp)
|
||||
/* 004598 80003998 8FA30004 */ lw $v1, 4($sp)
|
||||
/* 00459C 8000399C 03E00008 */ jr $ra
|
||||
/* 0045A0 800039A0 27BD0008 */ addiu $sp, $sp, 8
|
||||
|
||||
glabel __ll_rshift
|
||||
/* 0045A4 800039A4 AFA40000 */ sw $a0, ($sp)
|
||||
/* 0045A8 800039A8 AFA50004 */ sw $a1, 4($sp)
|
||||
/* 0045AC 800039AC AFA60008 */ sw $a2, 8($sp)
|
||||
/* 0045B0 800039B0 AFA7000C */ sw $a3, 0xc($sp)
|
||||
/* 0045B4 800039B4 DFAF0008 */ ld $t7, 8($sp)
|
||||
/* 0045B8 800039B8 DFAE0000 */ ld $t6, ($sp)
|
||||
/* 0045BC 800039BC 01EE1017 */ dsrav $v0, $t6, $t7
|
||||
/* 0045C0 800039C0 0002183C */ dsll32 $v1, $v0, 0
|
||||
/* 0045C4 800039C4 0003183F */ dsra32 $v1, $v1, 0
|
||||
/* 0045C8 800039C8 03E00008 */ jr $ra
|
||||
/* 0045CC 800039CC 0002103F */ dsra32 $v0, $v0, 0
|
||||
@@ -0,0 +1,143 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .text
|
||||
|
||||
.align 4
|
||||
|
||||
glabel func_800FC0C0
|
||||
/* B73260 800FC0C0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B73264 800FC0C4 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B73268 800FC0C8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B7326C 800FC0CC AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* B73270 800FC0D0 3C048015 */ lui $a0, %hi(D_8014A8B0) # $a0, 0x8015
|
||||
/* B73274 800FC0D4 3C068015 */ lui $a2, %hi(D_8014A8B4) # $a2, 0x8015
|
||||
/* B73278 800FC0D8 24C6A8B4 */ addiu $a2, %lo(D_8014A8B4) # addiu $a2, $a2, -0x574c
|
||||
/* B7327C 800FC0DC 2484A8B0 */ addiu $a0, %lo(D_8014A8B0) # addiu $a0, $a0, -0x5750
|
||||
/* B73280 800FC0E0 8FA50018 */ lw $a1, 0x18($sp)
|
||||
/* B73284 800FC0E4 0C000B58 */ jal LogUtils_CheckNullPointer
|
||||
/* B73288 800FC0E8 2407001F */ li $a3, 31
|
||||
/* B7328C 800FC0EC 3C048015 */ lui $a0, %hi(D_8014A8C4) # $a0, 0x8015
|
||||
/* B73290 800FC0F0 3C068015 */ lui $a2, %hi(D_8014A8C8) # $a2, 0x8015
|
||||
/* B73294 800FC0F4 24C6A8C8 */ addiu $a2, %lo(D_8014A8C8) # addiu $a2, $a2, -0x5738
|
||||
/* B73298 800FC0F8 2484A8C4 */ addiu $a0, %lo(D_8014A8C4) # addiu $a0, $a0, -0x573c
|
||||
/* B7329C 800FC0FC 8FA5001C */ lw $a1, 0x1c($sp)
|
||||
/* B732A0 800FC100 0C000B58 */ jal LogUtils_CheckNullPointer
|
||||
/* B732A4 800FC104 24070020 */ li $a3, 32
|
||||
/* B732A8 800FC108 3C014780 */ li $at, 0x47800000 # 0.000000
|
||||
/* B732AC 800FC10C 44810000 */ mtc1 $at, $f0
|
||||
/* B732B0 800FC110 00002825 */ move $a1, $zero
|
||||
/* B732B4 800FC114 8FA4001C */ lw $a0, 0x1c($sp)
|
||||
/* B732B8 800FC118 8FA30018 */ lw $v1, 0x18($sp)
|
||||
/* B732BC 800FC11C 24060004 */ li $a2, 4
|
||||
/* B732C0 800FC120 C4900000 */ lwc1 $f16, ($a0)
|
||||
/* B732C4 800FC124 24A50001 */ addiu $a1, $a1, 1
|
||||
/* B732C8 800FC128 46008482 */ mul.s $f18, $f16, $f0
|
||||
/* B732CC 800FC12C 50A60027 */ beql $a1, $a2, .L800FC1CC
|
||||
/* B732D0 800FC130 4600940D */ trunc.w.s $f16, $f18
|
||||
/* B732D4 800FC134 4600940D */ trunc.w.s $f16, $f18
|
||||
.L800FC138:
|
||||
/* B732D8 800FC138 24840010 */ addiu $a0, $a0, 0x10
|
||||
/* B732DC 800FC13C 24A50001 */ addiu $a1, $a1, 1
|
||||
/* B732E0 800FC140 24630008 */ addiu $v1, $v1, 8
|
||||
/* B732E4 800FC144 44028000 */ mfc1 $v0, $f16
|
||||
/* B732E8 800FC148 00000000 */ nop
|
||||
/* B732EC 800FC14C 00027C03 */ sra $t7, $v0, 0x10
|
||||
/* B732F0 800FC150 A46FFFF8 */ sh $t7, -8($v1)
|
||||
/* B732F4 800FC154 A4620018 */ sh $v0, 0x18($v1)
|
||||
/* B732F8 800FC158 C490FFF4 */ lwc1 $f16, -0xc($a0)
|
||||
/* B732FC 800FC15C 46008402 */ mul.s $f16, $f16, $f0
|
||||
/* B73300 800FC160 4600840D */ trunc.w.s $f16, $f16
|
||||
/* B73304 800FC164 44028000 */ mfc1 $v0, $f16
|
||||
/* B73308 800FC168 00000000 */ nop
|
||||
/* B7330C 800FC16C 0002CC03 */ sra $t9, $v0, 0x10
|
||||
/* B73310 800FC170 A479FFFA */ sh $t9, -6($v1)
|
||||
/* B73314 800FC174 A462001A */ sh $v0, 0x1a($v1)
|
||||
/* B73318 800FC178 C490FFF8 */ lwc1 $f16, -8($a0)
|
||||
/* B7331C 800FC17C 46008402 */ mul.s $f16, $f16, $f0
|
||||
/* B73320 800FC180 4600840D */ trunc.w.s $f16, $f16
|
||||
/* B73324 800FC184 44028000 */ mfc1 $v0, $f16
|
||||
/* B73328 800FC188 00000000 */ nop
|
||||
/* B7332C 800FC18C 00024C03 */ sra $t1, $v0, 0x10
|
||||
/* B73330 800FC190 A469FFFC */ sh $t1, -4($v1)
|
||||
/* B73334 800FC194 A462001C */ sh $v0, 0x1c($v1)
|
||||
/* B73338 800FC198 C490FFFC */ lwc1 $f16, -4($a0)
|
||||
/* B7333C 800FC19C 46008402 */ mul.s $f16, $f16, $f0
|
||||
/* B73340 800FC1A0 4600840D */ trunc.w.s $f16, $f16
|
||||
/* B73344 800FC1A4 44028000 */ mfc1 $v0, $f16
|
||||
/* B73348 800FC1A8 00000000 */ nop
|
||||
/* B7334C 800FC1AC 00025C03 */ sra $t3, $v0, 0x10
|
||||
/* B73350 800FC1B0 A46BFFFE */ sh $t3, -2($v1)
|
||||
/* B73354 800FC1B4 A462001E */ sh $v0, 0x1e($v1)
|
||||
/* B73358 800FC1B8 C4900000 */ lwc1 $f16, ($a0)
|
||||
/* B7335C 800FC1BC 46008482 */ mul.s $f18, $f16, $f0
|
||||
/* B73360 800FC1C0 54A6FFDD */ bnel $a1, $a2, .L800FC138
|
||||
/* B73364 800FC1C4 4600940D */ trunc.w.s $f16, $f18
|
||||
/* B73368 800FC1C8 4600940D */ trunc.w.s $f16, $f18
|
||||
.L800FC1CC:
|
||||
/* B7336C 800FC1CC 24840010 */ addiu $a0, $a0, 0x10
|
||||
/* B73370 800FC1D0 24630008 */ addiu $v1, $v1, 8
|
||||
/* B73374 800FC1D4 44028000 */ mfc1 $v0, $f16
|
||||
/* B73378 800FC1D8 00000000 */ nop
|
||||
/* B7337C 800FC1DC 00027C03 */ sra $t7, $v0, 0x10
|
||||
/* B73380 800FC1E0 A46FFFF8 */ sh $t7, -8($v1)
|
||||
/* B73384 800FC1E4 A4620018 */ sh $v0, 0x18($v1)
|
||||
/* B73388 800FC1E8 C490FFF4 */ lwc1 $f16, -0xc($a0)
|
||||
/* B7338C 800FC1EC 46008402 */ mul.s $f16, $f16, $f0
|
||||
/* B73390 800FC1F0 4600840D */ trunc.w.s $f16, $f16
|
||||
/* B73394 800FC1F4 44028000 */ mfc1 $v0, $f16
|
||||
/* B73398 800FC1F8 00000000 */ nop
|
||||
/* B7339C 800FC1FC 0002CC03 */ sra $t9, $v0, 0x10
|
||||
/* B733A0 800FC200 A479FFFA */ sh $t9, -6($v1)
|
||||
/* B733A4 800FC204 A462001A */ sh $v0, 0x1a($v1)
|
||||
/* B733A8 800FC208 C490FFF8 */ lwc1 $f16, -8($a0)
|
||||
/* B733AC 800FC20C 46008402 */ mul.s $f16, $f16, $f0
|
||||
/* B733B0 800FC210 4600840D */ trunc.w.s $f16, $f16
|
||||
/* B733B4 800FC214 44028000 */ mfc1 $v0, $f16
|
||||
/* B733B8 800FC218 00000000 */ nop
|
||||
/* B733BC 800FC21C 00024C03 */ sra $t1, $v0, 0x10
|
||||
/* B733C0 800FC220 A469FFFC */ sh $t1, -4($v1)
|
||||
/* B733C4 800FC224 A462001C */ sh $v0, 0x1c($v1)
|
||||
/* B733C8 800FC228 C490FFFC */ lwc1 $f16, -4($a0)
|
||||
/* B733CC 800FC22C 46008402 */ mul.s $f16, $f16, $f0
|
||||
/* B733D0 800FC230 4600840D */ trunc.w.s $f16, $f16
|
||||
/* B733D4 800FC234 44028000 */ mfc1 $v0, $f16
|
||||
/* B733D8 800FC238 00000000 */ nop
|
||||
/* B733DC 800FC23C 00025C03 */ sra $t3, $v0, 0x10
|
||||
/* B733E0 800FC240 A46BFFFE */ sh $t3, -2($v1)
|
||||
/* B733E4 800FC244 A462001E */ sh $v0, 0x1e($v1)
|
||||
/* B733E8 800FC248 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B733EC 800FC24C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B733F0 800FC250 03E00008 */ jr $ra
|
||||
/* B733F4 800FC254 00000000 */ nop
|
||||
|
||||
glabel func_800FC258
|
||||
/* B733F8 800FC258 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B733FC 800FC25C AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B73400 800FC260 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B73404 800FC264 AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* B73408 800FC268 3C048015 */ lui $a0, %hi(D_8014A8D8) # $a0, 0x8015
|
||||
/* B7340C 800FC26C 3C068015 */ lui $a2, %hi(D_8014A8DC) # $a2, 0x8015
|
||||
/* B73410 800FC270 24C6A8DC */ addiu $a2, %lo(D_8014A8DC) # addiu $a2, $a2, -0x5724
|
||||
/* B73414 800FC274 2484A8D8 */ addiu $a0, %lo(D_8014A8D8) # addiu $a0, $a0, -0x5728
|
||||
/* B73418 800FC278 8FA50018 */ lw $a1, 0x18($sp)
|
||||
/* B7341C 800FC27C 0C000B58 */ jal LogUtils_CheckNullPointer
|
||||
/* B73420 800FC280 24070037 */ li $a3, 55
|
||||
/* B73424 800FC284 3C048015 */ lui $a0, %hi(D_8014A8EC) # $a0, 0x8015
|
||||
/* B73428 800FC288 3C068015 */ lui $a2, %hi(D_8014A8F0) # $a2, 0x8015
|
||||
/* B7342C 800FC28C 24C6A8F0 */ addiu $a2, %lo(D_8014A8F0) # addiu $a2, $a2, -0x5710
|
||||
/* B73430 800FC290 2484A8EC */ addiu $a0, %lo(D_8014A8EC) # addiu $a0, $a0, -0x5714
|
||||
/* B73434 800FC294 8FA5001C */ lw $a1, 0x1c($sp)
|
||||
/* B73438 800FC298 0C000B58 */ jal LogUtils_CheckNullPointer
|
||||
/* B7343C 800FC29C 24070038 */ li $a3, 56
|
||||
/* B73440 800FC2A0 8FA40018 */ lw $a0, 0x18($sp)
|
||||
/* B73444 800FC2A4 0C040BE8 */ jal func_80102FA0
|
||||
/* B73448 800FC2A8 8FA5001C */ lw $a1, 0x1c($sp)
|
||||
/* B7344C 800FC2AC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B73450 800FC2B0 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B73454 800FC2B4 03E00008 */ jr $ra
|
||||
/* B73458 800FC2B8 00000000 */ nop
|
||||
@@ -0,0 +1,99 @@
|
||||
glabel Yaz0_DecompressImpl
|
||||
/* 0028B0 80001CB0 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 0028B4 80001CB4 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 0028B8 80001CB8 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 0028BC 80001CBC AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 0028C0 80001CC0 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0028C4 80001CC4 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0028C8 80001CC8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0028CC 80001CCC 8C8E0004 */ lw $t6, 4($a0)
|
||||
/* 0028D0 80001CD0 3C128001 */ lui $s2, %hi(sYaz0MaxPtr) # $s2, 0x8001
|
||||
/* 0028D4 80001CD4 3C138001 */ lui $s3, %hi(sYaz0CurSize) # $s3, 0x8001
|
||||
/* 0028D8 80001CD8 00A08025 */ move $s0, $a1
|
||||
/* 0028DC 80001CDC 00003025 */ move $a2, $zero
|
||||
/* 0028E0 80001CE0 24910010 */ addiu $s1, $a0, 0x10
|
||||
/* 0028E4 80001CE4 267344E8 */ addiu $s3, %lo(sYaz0CurSize) # addiu $s3, $s3, 0x44e8
|
||||
/* 0028E8 80001CE8 265244EC */ addiu $s2, %lo(sYaz0MaxPtr) # addiu $s2, $s2, 0x44ec
|
||||
/* 0028EC 80001CEC 8FA70030 */ lw $a3, 0x30($sp)
|
||||
/* 0028F0 80001CF0 01C5A021 */ addu $s4, $t6, $a1
|
||||
.L80001CF4:
|
||||
/* 0028F4 80001CF4 54C0000F */ bnezl $a2, .L80001D34
|
||||
/* 0028F8 80001CF8 30F90080 */ andi $t9, $a3, 0x80
|
||||
/* 0028FC 80001CFC 8E4F0000 */ lw $t7, ($s2)
|
||||
/* 002900 80001D00 01F1082B */ sltu $at, $t7, $s1
|
||||
/* 002904 80001D04 50200008 */ beql $at, $zero, .L80001D28
|
||||
/* 002908 80001D08 92270000 */ lbu $a3, ($s1)
|
||||
/* 00290C 80001D0C 8E780000 */ lw $t8, ($s3)
|
||||
/* 002910 80001D10 53000005 */ beql $t8, $zero, .L80001D28
|
||||
/* 002914 80001D14 92270000 */ lbu $a3, ($s1)
|
||||
/* 002918 80001D18 0C0006F2 */ jal Yaz0_NextDMA
|
||||
/* 00291C 80001D1C 02202025 */ move $a0, $s1
|
||||
/* 002920 80001D20 00408825 */ move $s1, $v0
|
||||
/* 002924 80001D24 92270000 */ lbu $a3, ($s1)
|
||||
.L80001D28:
|
||||
/* 002928 80001D28 26310001 */ addiu $s1, $s1, 1
|
||||
/* 00292C 80001D2C 24060008 */ li $a2, 8
|
||||
/* 002930 80001D30 30F90080 */ andi $t9, $a3, 0x80
|
||||
.L80001D34:
|
||||
/* 002934 80001D34 13200006 */ beqz $t9, .L80001D50
|
||||
/* 002938 80001D38 00073840 */ sll $a3, $a3, 1
|
||||
/* 00293C 80001D3C 92280000 */ lbu $t0, ($s1)
|
||||
/* 002940 80001D40 26100001 */ addiu $s0, $s0, 1
|
||||
/* 002944 80001D44 26310001 */ addiu $s1, $s1, 1
|
||||
/* 002948 80001D48 10000027 */ b .L80001DE8
|
||||
/* 00294C 80001D4C A208FFFF */ sb $t0, -1($s0)
|
||||
.L80001D50:
|
||||
/* 002950 80001D50 92230000 */ lbu $v1, ($s1)
|
||||
/* 002954 80001D54 92290001 */ lbu $t1, 1($s1)
|
||||
/* 002958 80001D58 26310002 */ addiu $s1, $s1, 2
|
||||
/* 00295C 80001D5C 306A000F */ andi $t2, $v1, 0xf
|
||||
/* 002960 80001D60 000A5A00 */ sll $t3, $t2, 8
|
||||
/* 002964 80001D64 00032903 */ sra $a1, $v1, 4
|
||||
/* 002968 80001D68 012B2025 */ or $a0, $t1, $t3
|
||||
/* 00296C 80001D6C 14A00005 */ bnez $a1, .L80001D84
|
||||
/* 002970 80001D70 02041023 */ subu $v0, $s0, $a0
|
||||
/* 002974 80001D74 92230000 */ lbu $v1, ($s1)
|
||||
/* 002978 80001D78 26310001 */ addiu $s1, $s1, 1
|
||||
/* 00297C 80001D7C 10000002 */ b .L80001D88
|
||||
/* 002980 80001D80 24630012 */ addiu $v1, $v1, 0x12
|
||||
.L80001D84:
|
||||
/* 002984 80001D84 24A30002 */ addiu $v1, $a1, 2
|
||||
.L80001D88:
|
||||
/* 002988 80001D88 30650003 */ andi $a1, $v1, 3
|
||||
/* 00298C 80001D8C 00052823 */ negu $a1, $a1
|
||||
/* 002990 80001D90 10A00009 */ beqz $a1, .L80001DB8
|
||||
/* 002994 80001D94 00A32021 */ addu $a0, $a1, $v1
|
||||
.L80001D98:
|
||||
/* 002998 80001D98 904CFFFF */ lbu $t4, -1($v0)
|
||||
/* 00299C 80001D9C 2463FFFF */ addiu $v1, $v1, -1
|
||||
/* 0029A0 80001DA0 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0029A4 80001DA4 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0029A8 80001DA8 1483FFFB */ bne $a0, $v1, .L80001D98
|
||||
/* 0029AC 80001DAC A20CFFFF */ sb $t4, -1($s0)
|
||||
/* 0029B0 80001DB0 1060000D */ beqz $v1, .L80001DE8
|
||||
/* 0029B4 80001DB4 00000000 */ nop
|
||||
.L80001DB8:
|
||||
/* 0029B8 80001DB8 904DFFFF */ lbu $t5, -1($v0)
|
||||
/* 0029BC 80001DBC 2463FFFC */ addiu $v1, $v1, -4
|
||||
/* 0029C0 80001DC0 26100004 */ addiu $s0, $s0, 4
|
||||
/* 0029C4 80001DC4 A20DFFFC */ sb $t5, -4($s0)
|
||||
/* 0029C8 80001DC8 904E0000 */ lbu $t6, ($v0)
|
||||
/* 0029CC 80001DCC 24420004 */ addiu $v0, $v0, 4
|
||||
/* 0029D0 80001DD0 A20EFFFD */ sb $t6, -3($s0)
|
||||
/* 0029D4 80001DD4 904FFFFD */ lbu $t7, -3($v0)
|
||||
/* 0029D8 80001DD8 A20FFFFE */ sb $t7, -2($s0)
|
||||
/* 0029DC 80001DDC 9058FFFE */ lbu $t8, -2($v0)
|
||||
/* 0029E0 80001DE0 1460FFF5 */ bnez $v1, .L80001DB8
|
||||
/* 0029E4 80001DE4 A218FFFF */ sb $t8, -1($s0)
|
||||
.L80001DE8:
|
||||
/* 0029E8 80001DE8 1614FFC2 */ bne $s0, $s4, .L80001CF4
|
||||
/* 0029EC 80001DEC 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 0029F0 80001DF0 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 0029F4 80001DF4 AFA70030 */ sw $a3, 0x30($sp)
|
||||
/* 0029F8 80001DF8 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 0029FC 80001DFC 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 002A00 80001E00 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 002A04 80001E04 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 002A08 80001E08 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 002A0C 80001E0C 03E00008 */ jr $ra
|
||||
/* 002A10 80001E10 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
@@ -0,0 +1,175 @@
|
||||
.rdata
|
||||
glabel D_8014B0A0
|
||||
.asciz "ARENA INFO (0x%08x)\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B0B8
|
||||
.asciz "Arena is uninitalized\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B0D0
|
||||
.asciz "Memory Block Region status size\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B0F4
|
||||
.asciz "%08x-%08x%c %s %08x"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B108
|
||||
.asciz "F"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B10C
|
||||
.asciz "A"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B110
|
||||
.asciz "\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B114
|
||||
.asciz "%08x Block Invalid\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B128
|
||||
.asciz "Total Alloc Block Size %08x\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B148
|
||||
.asciz "Total Free Block Size %08x\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B168
|
||||
.asciz "Largest Free Block Size %08x\n"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel ArenaImpl_FaultClient
|
||||
/* B7624C 800FF0AC 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* B76250 800FF0B0 AFB10020 */ sw $s1, 0x20($sp)
|
||||
/* B76254 800FF0B4 00808825 */ move $s1, $a0
|
||||
/* B76258 800FF0B8 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* B7625C 800FF0BC 3C048015 */ lui $a0, %hi(D_8014B0A0) # $a0, 0x8015
|
||||
/* B76260 800FF0C0 AFB70038 */ sw $s7, 0x38($sp)
|
||||
/* B76264 800FF0C4 AFB60034 */ sw $s6, 0x34($sp)
|
||||
/* B76268 800FF0C8 AFB50030 */ sw $s5, 0x30($sp)
|
||||
/* B7626C 800FF0CC AFB4002C */ sw $s4, 0x2c($sp)
|
||||
/* B76270 800FF0D0 AFB30028 */ sw $s3, 0x28($sp)
|
||||
/* B76274 800FF0D4 AFB20024 */ sw $s2, 0x24($sp)
|
||||
/* B76278 800FF0D8 AFB0001C */ sw $s0, 0x1c($sp)
|
||||
/* B7627C 800FF0DC 2484B0A0 */ addiu $a0, %lo(D_8014B0A0) # addiu $a0, $a0, -0x4f60
|
||||
/* B76280 800FF0E0 0C035C12 */ jal FaultDrawer_Printf
|
||||
/* B76284 800FF0E4 02202825 */ move $a1, $s1
|
||||
/* B76288 800FF0E8 0C03F7D3 */ jal __osMallocIsInitalized
|
||||
/* B7628C 800FF0EC 02202025 */ move $a0, $s1
|
||||
/* B76290 800FF0F0 14400007 */ bnez $v0, .L800FF110
|
||||
/* B76294 800FF0F4 00009825 */ move $s3, $zero
|
||||
/* B76298 800FF0F8 3C048015 */ lui $a0, %hi(D_8014B0B8) # $a0, 0x8015
|
||||
/* B7629C 800FF0FC 2484B0B8 */ addiu $a0, %lo(D_8014B0B8) # addiu $a0, $a0, -0x4f48
|
||||
/* B762A0 800FF100 0C035C12 */ jal FaultDrawer_Printf
|
||||
/* B762A4 800FF104 02202825 */ move $a1, $s1
|
||||
/* B762A8 800FF108 10000053 */ b .L800FF258
|
||||
/* B762AC 800FF10C 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L800FF110:
|
||||
/* B762B0 800FF110 3C048015 */ lui $a0, %hi(D_8014B0D0) # $a0, 0x8015
|
||||
/* B762B4 800FF114 0000A025 */ move $s4, $zero
|
||||
/* B762B8 800FF118 00009025 */ move $s2, $zero
|
||||
/* B762BC 800FF11C 0C035C12 */ jal FaultDrawer_Printf
|
||||
/* B762C0 800FF120 2484B0D0 */ addiu $a0, %lo(D_8014B0D0) # addiu $a0, $a0, -0x4f30
|
||||
/* B762C4 800FF124 8E300000 */ lw $s0, ($s1)
|
||||
/* B762C8 800FF128 3C178015 */ lui $s7, %hi(D_8014B10C) # $s7, 0x8015
|
||||
/* B762CC 800FF12C 26F7B10C */ addiu $s7, %lo(D_8014B10C) # addiu $s7, $s7, -0x4ef4
|
||||
/* B762D0 800FF130 1200003A */ beqz $s0, .L800FF21C
|
||||
/* B762D4 800FF134 3C168015 */ lui $s6, %hi(D_8014B108) # $s6, 0x8015
|
||||
/* B762D8 800FF138 26D6B108 */ addiu $s6, %lo(D_8014B108) # addiu $s6, $s6, -0x4ef8
|
||||
/* B762DC 800FF13C 24157373 */ li $s5, 29555
|
||||
.L800FF140:
|
||||
/* B762E0 800FF140 1200002E */ beqz $s0, .L800FF1FC
|
||||
/* B762E4 800FF144 3404F801 */ li $a0, 63489
|
||||
/* B762E8 800FF148 860E0000 */ lh $t6, ($s0)
|
||||
/* B762EC 800FF14C 02002825 */ move $a1, $s0
|
||||
/* B762F0 800FF150 16AE002A */ bne $s5, $t6, .L800FF1FC
|
||||
/* B762F4 800FF154 00000000 */ nop
|
||||
/* B762F8 800FF158 8E110008 */ lw $s1, 8($s0)
|
||||
/* B762FC 800FF15C 3C048015 */ lui $a0, %hi(D_8014B0F4) # $a0, 0x8015
|
||||
/* B76300 800FF160 02E01825 */ move $v1, $s7
|
||||
/* B76304 800FF164 56200004 */ bnezl $s1, .L800FF178
|
||||
/* B76308 800FF168 8E2F000C */ lw $t7, 0xc($s1)
|
||||
/* B7630C 800FF16C 10000008 */ b .L800FF190
|
||||
/* B76310 800FF170 24070024 */ li $a3, 36
|
||||
/* B76314 800FF174 8E2F000C */ lw $t7, 0xc($s1)
|
||||
.L800FF178:
|
||||
/* B76318 800FF178 24020020 */ li $v0, 32
|
||||
/* B7631C 800FF17C 120F0003 */ beq $s0, $t7, .L800FF18C
|
||||
/* B76320 800FF180 00000000 */ nop
|
||||
/* B76324 800FF184 10000001 */ b .L800FF18C
|
||||
/* B76328 800FF188 24020021 */ li $v0, 33
|
||||
.L800FF18C:
|
||||
/* B7632C 800FF18C 00403825 */ move $a3, $v0
|
||||
.L800FF190:
|
||||
/* B76330 800FF190 86180002 */ lh $t8, 2($s0)
|
||||
/* B76334 800FF194 13000003 */ beqz $t8, .L800FF1A4
|
||||
/* B76338 800FF198 00000000 */ nop
|
||||
/* B7633C 800FF19C 10000001 */ b .L800FF1A4
|
||||
/* B76340 800FF1A0 02C01825 */ move $v1, $s6
|
||||
.L800FF1A4:
|
||||
/* B76344 800FF1A4 8E020004 */ lw $v0, 4($s0)
|
||||
/* B76348 800FF1A8 AFA30010 */ sw $v1, 0x10($sp)
|
||||
/* B7634C 800FF1AC 2484B0F4 */ addiu $a0, %lo(D_8014B0F4) # addiu $a0, $a0, -0x4f0c
|
||||
/* B76350 800FF1B0 02023021 */ addu $a2, $s0, $v0
|
||||
/* B76354 800FF1B4 24C60030 */ addiu $a2, $a2, 0x30
|
||||
/* B76358 800FF1B8 0C035C12 */ jal FaultDrawer_Printf
|
||||
/* B7635C 800FF1BC AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* B76360 800FF1C0 3C048015 */ lui $a0, %hi(D_8014B110) # $a0, 0x8015
|
||||
/* B76364 800FF1C4 0C035C12 */ jal FaultDrawer_Printf
|
||||
/* B76368 800FF1C8 2484B110 */ addiu $a0, %lo(D_8014B110) # addiu $a0, $a0, -0x4ef0
|
||||
/* B7636C 800FF1CC 86190002 */ lh $t9, 2($s0)
|
||||
/* B76370 800FF1D0 53200008 */ beql $t9, $zero, .L800FF1F4
|
||||
/* B76374 800FF1D4 8E080004 */ lw $t0, 4($s0)
|
||||
/* B76378 800FF1D8 8E020004 */ lw $v0, 4($s0)
|
||||
/* B7637C 800FF1DC 0262082B */ sltu $at, $s3, $v0
|
||||
/* B76380 800FF1E0 1020000C */ beqz $at, .L800FF214
|
||||
/* B76384 800FF1E4 0282A021 */ addu $s4, $s4, $v0
|
||||
/* B76388 800FF1E8 1000000A */ b .L800FF214
|
||||
/* B7638C 800FF1EC 00409825 */ move $s3, $v0
|
||||
/* B76390 800FF1F0 8E080004 */ lw $t0, 4($s0)
|
||||
.L800FF1F4:
|
||||
/* B76394 800FF1F4 10000007 */ b .L800FF214
|
||||
/* B76398 800FF1F8 02489021 */ addu $s2, $s2, $t0
|
||||
.L800FF1FC:
|
||||
/* B7639C 800FF1FC 0C035AFB */ jal FaultDrawer_SetFontColor
|
||||
/* B763A0 800FF200 00008825 */ move $s1, $zero
|
||||
/* B763A4 800FF204 3C048015 */ lui $a0, %hi(D_8014B114) # $a0, 0x8015
|
||||
/* B763A8 800FF208 2484B114 */ addiu $a0, %lo(D_8014B114) # addiu $a0, $a0, -0x4eec
|
||||
/* B763AC 800FF20C 0C035C12 */ jal FaultDrawer_Printf
|
||||
/* B763B0 800FF210 02002825 */ move $a1, $s0
|
||||
.L800FF214:
|
||||
/* B763B4 800FF214 1620FFCA */ bnez $s1, .L800FF140
|
||||
/* B763B8 800FF218 02208025 */ move $s0, $s1
|
||||
.L800FF21C:
|
||||
/* B763BC 800FF21C 0C035AFB */ jal FaultDrawer_SetFontColor
|
||||
/* B763C0 800FF220 240407F1 */ li $a0, 2033
|
||||
/* B763C4 800FF224 3C048015 */ lui $a0, %hi(D_8014B128) # $a0, 0x8015
|
||||
/* B763C8 800FF228 2484B128 */ addiu $a0, %lo(D_8014B128) # addiu $a0, $a0, -0x4ed8
|
||||
/* B763CC 800FF22C 0C035C12 */ jal FaultDrawer_Printf
|
||||
/* B763D0 800FF230 02402825 */ move $a1, $s2
|
||||
/* B763D4 800FF234 3C048015 */ lui $a0, %hi(D_8014B148) # $a0, 0x8015
|
||||
/* B763D8 800FF238 2484B148 */ addiu $a0, %lo(D_8014B148) # addiu $a0, $a0, -0x4eb8
|
||||
/* B763DC 800FF23C 0C035C12 */ jal FaultDrawer_Printf
|
||||
/* B763E0 800FF240 02802825 */ move $a1, $s4
|
||||
/* B763E4 800FF244 3C048015 */ lui $a0, %hi(D_8014B168) # $a0, 0x8015
|
||||
/* B763E8 800FF248 2484B168 */ addiu $a0, %lo(D_8014B168) # addiu $a0, $a0, -0x4e98
|
||||
/* B763EC 800FF24C 0C035C12 */ jal FaultDrawer_Printf
|
||||
/* B763F0 800FF250 02602825 */ move $a1, $s3
|
||||
/* B763F4 800FF254 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L800FF258:
|
||||
/* B763F8 800FF258 8FB0001C */ lw $s0, 0x1c($sp)
|
||||
/* B763FC 800FF25C 8FB10020 */ lw $s1, 0x20($sp)
|
||||
/* B76400 800FF260 8FB20024 */ lw $s2, 0x24($sp)
|
||||
/* B76404 800FF264 8FB30028 */ lw $s3, 0x28($sp)
|
||||
/* B76408 800FF268 8FB4002C */ lw $s4, 0x2c($sp)
|
||||
/* B7640C 800FF26C 8FB50030 */ lw $s5, 0x30($sp)
|
||||
/* B76410 800FF270 8FB60034 */ lw $s6, 0x34($sp)
|
||||
/* B76414 800FF274 8FB70038 */ lw $s7, 0x38($sp)
|
||||
/* B76418 800FF278 03E00008 */ jr $ra
|
||||
/* B7641C 800FF27C 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
@@ -0,0 +1,208 @@
|
||||
.rdata
|
||||
glabel D_8014AF48
|
||||
.asciz "アリーナは初期化されていません\n" #Arena is not initalized
|
||||
.balign 4
|
||||
|
||||
glabel D_8014AF68
|
||||
.asciz "アリーナの内容 (0x%08x)\n" #Arena contents
|
||||
.balign 4
|
||||
|
||||
glabel D_8014AF84
|
||||
.asciz "メモリブロック範囲 status サイズ [時刻 s ms us ns: TID:src:行]\n" #Memory block range status size [time s ms us ns: TID: src: line]
|
||||
.balign 4
|
||||
|
||||
glabel D_8014AFC8
|
||||
.asciz "%08x-%08x%c %s %08x"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014AFDC
|
||||
.asciz "空き" #Free
|
||||
.balign 4
|
||||
|
||||
glabel D_8014AFE4
|
||||
.asciz "確保" #Secure
|
||||
.balign 4
|
||||
|
||||
glabel D_8014AFEC
|
||||
.asciz " [%016llu:%2d:%s:%d]"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B004
|
||||
.asciz "**NULL**"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B010
|
||||
.asciz "\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B014
|
||||
.asciz "%08x Block Invalid\n"
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B028
|
||||
.asciz "確保ブロックサイズの合計 0x%08x バイト\n" #Total reserved block size 0x% 08x bytes
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B050
|
||||
.asciz "空きブロックサイズの合計 0x%08x バイト\n" #Total free block size 0x% 08x bytes
|
||||
.balign 4
|
||||
|
||||
glabel D_8014B078
|
||||
.asciz "最大空きブロックサイズ 0x%08x バイト\n" #Maximum free block size 0x% 08x bytes
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel __osDisplayArena
|
||||
/* B76020 800FEE80 27BDFF98 */ addiu $sp, $sp, -0x68
|
||||
/* B76024 800FEE84 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* B76028 800FEE88 AFB40038 */ sw $s4, 0x38($sp)
|
||||
/* B7602C 800FEE8C AFB30034 */ sw $s3, 0x34($sp)
|
||||
/* B76030 800FEE90 AFB20030 */ sw $s2, 0x30($sp)
|
||||
/* B76034 800FEE94 AFB1002C */ sw $s1, 0x2c($sp)
|
||||
/* B76038 800FEE98 AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* B7603C 800FEE9C 0C03F7D3 */ jal __osMallocIsInitalized
|
||||
/* B76040 800FEEA0 AFA40068 */ sw $a0, 0x68($sp)
|
||||
/* B76044 800FEEA4 14400005 */ bnez $v0, .L800FEEBC
|
||||
/* B76048 800FEEA8 3C048015 */ lui $a0, %hi(D_8014AF48) # $a0, 0x8015
|
||||
/* B7604C 800FEEAC 0C00084C */ jal osSyncPrintf
|
||||
/* B76050 800FEEB0 2484AF48 */ addiu $a0, %lo(D_8014AF48) # addiu $a0, $a0, -0x50b8
|
||||
/* B76054 800FEEB4 10000076 */ b .L800FF090
|
||||
/* B76058 800FEEB8 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L800FEEBC:
|
||||
/* B7605C 800FEEBC 0C03F70F */ jal ArenaImpl_Lock
|
||||
/* B76060 800FEEC0 8FA40068 */ lw $a0, 0x68($sp)
|
||||
/* B76064 800FEEC4 3C048015 */ lui $a0, %hi(D_8014AF68) # $a0, 0x8015
|
||||
/* B76068 800FEEC8 0000A025 */ move $s4, $zero
|
||||
/* B7606C 800FEECC 00009025 */ move $s2, $zero
|
||||
/* B76070 800FEED0 00009825 */ move $s3, $zero
|
||||
/* B76074 800FEED4 2484AF68 */ addiu $a0, %lo(D_8014AF68) # addiu $a0, $a0, -0x5098
|
||||
/* B76078 800FEED8 0C00084C */ jal osSyncPrintf
|
||||
/* B7607C 800FEEDC 8FA50068 */ lw $a1, 0x68($sp)
|
||||
/* B76080 800FEEE0 3C048015 */ lui $a0, %hi(D_8014AF84) # $a0, 0x8015
|
||||
/* B76084 800FEEE4 0C00084C */ jal osSyncPrintf
|
||||
/* B76088 800FEEE8 2484AF84 */ addiu $a0, %lo(D_8014AF84) # addiu $a0, $a0, -0x507c
|
||||
/* B7608C 800FEEEC 8FAE0068 */ lw $t6, 0x68($sp)
|
||||
/* B76090 800FEEF0 8DD00000 */ lw $s0, ($t6)
|
||||
/* B76094 800FEEF4 12000057 */ beqz $s0, .L800FF054
|
||||
/* B76098 800FEEF8 00000000 */ nop
|
||||
.L800FEEFC:
|
||||
/* B7609C 800FEEFC 1200004F */ beqz $s0, .L800FF03C
|
||||
/* B760A0 800FEF00 3C048015 */ lui $a0, %hi(D_8014B014)
|
||||
/* B760A4 800FEF04 860F0000 */ lh $t7, ($s0)
|
||||
/* B760A8 800FEF08 24017373 */ li $at, 29555
|
||||
/* B760AC 800FEF0C 02002825 */ move $a1, $s0
|
||||
/* B760B0 800FEF10 15E1004A */ bne $t7, $at, .L800FF03C
|
||||
/* B760B4 800FEF14 00000000 */ nop
|
||||
/* B760B8 800FEF18 8E110008 */ lw $s1, 8($s0)
|
||||
/* B760BC 800FEF1C 3C038015 */ lui $v1, %hi(D_8014AFE4) # $v1, 0x8015
|
||||
/* B760C0 800FEF20 2463AFE4 */ addiu $v1, %lo(D_8014AFE4) # addiu $v1, $v1, -0x501c
|
||||
/* B760C4 800FEF24 16200003 */ bnez $s1, .L800FEF34
|
||||
/* B760C8 800FEF28 3C048015 */ lui $a0, %hi(D_8014AFC8) # $a0, 0x8015
|
||||
/* B760CC 800FEF2C 10000008 */ b .L800FEF50
|
||||
/* B760D0 800FEF30 24070024 */ li $a3, 36
|
||||
.L800FEF34:
|
||||
/* B760D4 800FEF34 8E38000C */ lw $t8, 0xc($s1)
|
||||
/* B760D8 800FEF38 24020020 */ li $v0, 32
|
||||
/* B760DC 800FEF3C 12180003 */ beq $s0, $t8, .L800FEF4C
|
||||
/* B760E0 800FEF40 00000000 */ nop
|
||||
/* B760E4 800FEF44 10000001 */ b .L800FEF4C
|
||||
/* B760E8 800FEF48 24020021 */ li $v0, 33
|
||||
.L800FEF4C:
|
||||
/* B760EC 800FEF4C 00403825 */ move $a3, $v0
|
||||
.L800FEF50:
|
||||
/* B760F0 800FEF50 86190002 */ lh $t9, 2($s0)
|
||||
/* B760F4 800FEF54 13200004 */ beqz $t9, .L800FEF68
|
||||
/* B760F8 800FEF58 00000000 */ nop
|
||||
/* B760FC 800FEF5C 3C038015 */ lui $v1, %hi(D_8014AFDC) # $v1, 0x8015
|
||||
/* B76100 800FEF60 10000001 */ b .L800FEF68
|
||||
/* B76104 800FEF64 2463AFDC */ addiu $v1, %lo(D_8014AFDC) # addiu $v1, $v1, -0x5024
|
||||
.L800FEF68:
|
||||
/* B76108 800FEF68 8E020004 */ lw $v0, 4($s0)
|
||||
/* B7610C 800FEF6C AFA30010 */ sw $v1, 0x10($sp)
|
||||
/* B76110 800FEF70 2484AFC8 */ addiu $a0, %lo(D_8014AFC8) # addiu $a0, $a0, -0x5038
|
||||
/* B76114 800FEF74 02023021 */ addu $a2, $s0, $v0
|
||||
/* B76118 800FEF78 24C60030 */ addiu $a2, $a2, 0x30
|
||||
/* B7611C 800FEF7C 0C00084C */ jal osSyncPrintf
|
||||
/* B76120 800FEF80 AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* B76124 800FEF84 86080002 */ lh $t0, 2($s0)
|
||||
/* B76128 800FEF88 24060000 */ li $a2, 0
|
||||
/* B7612C 800FEF8C 24070040 */ li $a3, 64
|
||||
/* B76130 800FEF90 1500001B */ bnez $t0, .L800FF000
|
||||
/* B76134 800FEF94 00000000 */ nop
|
||||
/* B76138 800FEF98 8E040020 */ lw $a0, 0x20($s0)
|
||||
/* B7613C 800FEF9C 0C000E1E */ jal __ll_mul
|
||||
/* B76140 800FEFA0 8E050024 */ lw $a1, 0x24($s0)
|
||||
/* B76144 800FEFA4 00402025 */ move $a0, $v0
|
||||
/* B76148 800FEFA8 00602825 */ move $a1, $v1
|
||||
/* B7614C 800FEFAC 24060000 */ li $a2, 0
|
||||
/* B76150 800FEFB0 0C000DDE */ jal __ull_div
|
||||
/* B76154 800FEFB4 24070003 */ li $a3, 3
|
||||
/* B76158 800FEFB8 AFA20040 */ sw $v0, 0x40($sp)
|
||||
/* B7615C 800FEFBC AFA30044 */ sw $v1, 0x44($sp)
|
||||
/* B76160 800FEFC0 8E040010 */ lw $a0, 0x10($s0)
|
||||
/* B76164 800FEFC4 8FA70044 */ lw $a3, 0x44($sp)
|
||||
/* B76168 800FEFC8 3C038015 */ lui $v1, %hi(D_8014B004) # $v1, 0x8015
|
||||
/* B7616C 800FEFCC 10800003 */ beqz $a0, .L800FEFDC
|
||||
/* B76170 800FEFD0 8FA60040 */ lw $a2, 0x40($sp)
|
||||
/* B76174 800FEFD4 10000002 */ b .L800FEFE0
|
||||
/* B76178 800FEFD8 00801825 */ move $v1, $a0
|
||||
.L800FEFDC:
|
||||
/* B7617C 800FEFDC 2463B004 */ addiu $v1, %lo(D_8014B004) # addiu $v1, $v1, -0x4ffc
|
||||
.L800FEFE0:
|
||||
/* B76180 800FEFE0 8E090018 */ lw $t1, 0x18($s0)
|
||||
/* B76184 800FEFE4 AFA30014 */ sw $v1, 0x14($sp)
|
||||
/* B76188 800FEFE8 3C048015 */ lui $a0, %hi(D_8014AFEC) # $a0, 0x8015
|
||||
/* B7618C 800FEFEC AFA90010 */ sw $t1, 0x10($sp)
|
||||
/* B76190 800FEFF0 8E0A0014 */ lw $t2, 0x14($s0)
|
||||
/* B76194 800FEFF4 2484AFEC */ addiu $a0, %lo(D_8014AFEC) # addiu $a0, $a0, -0x5014
|
||||
/* B76198 800FEFF8 0C00084C */ jal osSyncPrintf
|
||||
/* B7619C 800FEFFC AFAA0018 */ sw $t2, 0x18($sp)
|
||||
.L800FF000:
|
||||
/* B761A0 800FF000 3C048015 */ lui $a0, %hi(D_8014B010) # $a0, 0x8015
|
||||
/* B761A4 800FF004 0C00084C */ jal osSyncPrintf
|
||||
/* B761A8 800FF008 2484B010 */ addiu $a0, %lo(D_8014B010) # addiu $a0, $a0, -0x4ff0
|
||||
/* B761AC 800FF00C 860B0002 */ lh $t3, 2($s0)
|
||||
/* B761B0 800FF010 51600008 */ beql $t3, $zero, .L800FF034
|
||||
/* B761B4 800FF014 8E0C0004 */ lw $t4, 4($s0)
|
||||
/* B761B8 800FF018 8E020004 */ lw $v0, 4($s0)
|
||||
/* B761BC 800FF01C 0282082B */ sltu $at, $s4, $v0
|
||||
/* B761C0 800FF020 1020000A */ beqz $at, .L800FF04C
|
||||
/* B761C4 800FF024 02429021 */ addu $s2, $s2, $v0
|
||||
/* B761C8 800FF028 10000008 */ b .L800FF04C
|
||||
/* B761CC 800FF02C 0040A025 */ move $s4, $v0
|
||||
/* B761D0 800FF030 8E0C0004 */ lw $t4, 4($s0)
|
||||
.L800FF034:
|
||||
/* B761D4 800FF034 10000005 */ b .L800FF04C
|
||||
/* B761D8 800FF038 026C9821 */ addu $s3, $s3, $t4
|
||||
.L800FF03C:
|
||||
/* B761DC 800FF03C 2484B014 */ addiu $a0, %lo(D_8014B014)
|
||||
/* B761E0 800FF040 02002825 */ move $a1, $s0
|
||||
/* B761E4 800FF044 0C00084C */ jal osSyncPrintf
|
||||
/* B761E8 800FF048 00008825 */ move $s1, $zero
|
||||
.L800FF04C:
|
||||
/* B761EC 800FF04C 1620FFAB */ bnez $s1, .L800FEEFC
|
||||
/* B761F0 800FF050 02208025 */ move $s0, $s1
|
||||
.L800FF054:
|
||||
/* B761F4 800FF054 3C048015 */ lui $a0, %hi(D_8014B028) # $a0, 0x8015
|
||||
/* B761F8 800FF058 2484B028 */ addiu $a0, %lo(D_8014B028) # addiu $a0, $a0, -0x4fd8
|
||||
/* B761FC 800FF05C 0C00084C */ jal osSyncPrintf
|
||||
/* B76200 800FF060 02602825 */ move $a1, $s3
|
||||
/* B76204 800FF064 3C048015 */ lui $a0, %hi(D_8014B050) # $a0, 0x8015
|
||||
/* B76208 800FF068 2484B050 */ addiu $a0, %lo(D_8014B050) # addiu $a0, $a0, -0x4fb0
|
||||
/* B7620C 800FF06C 0C00084C */ jal osSyncPrintf
|
||||
/* B76210 800FF070 02402825 */ move $a1, $s2
|
||||
/* B76214 800FF074 3C048015 */ lui $a0, %hi(D_8014B078) # $a0, 0x8015
|
||||
/* B76218 800FF078 2484B078 */ addiu $a0, %lo(D_8014B078) # addiu $a0, $a0, -0x4f88
|
||||
/* B7621C 800FF07C 0C00084C */ jal osSyncPrintf
|
||||
/* B76220 800FF080 02802825 */ move $a1, $s4
|
||||
/* B76224 800FF084 0C03F719 */ jal ArenaImpl_Unlock
|
||||
/* B76228 800FF088 8FA40068 */ lw $a0, 0x68($sp)
|
||||
/* B7622C 800FF08C 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L800FF090:
|
||||
/* B76230 800FF090 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* B76234 800FF094 8FB1002C */ lw $s1, 0x2c($sp)
|
||||
/* B76238 800FF098 8FB20030 */ lw $s2, 0x30($sp)
|
||||
/* B7623C 800FF09C 8FB30034 */ lw $s3, 0x34($sp)
|
||||
/* B76240 800FF0A0 8FB40038 */ lw $s4, 0x38($sp)
|
||||
/* B76244 800FF0A4 03E00008 */ jr $ra
|
||||
/* B76248 800FF0A8 27BD0068 */ addiu $sp, $sp, 0x68
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user