mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
525 lines
25 KiB
ArmAsm
525 lines
25 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
|
|
glabel alAudioFrame
|
|
/* 0319C0 800565C0 3C028008 */ lui $v0, 0x8008
|
|
/* 0319C4 800565C4 8C428E50 */ lw $v0, -0x71b0($v0)
|
|
/* 0319C8 800565C8 27BDFFB8 */ addiu $sp, $sp, -0x48
|
|
/* 0319CC 800565CC AFB3002C */ sw $s3, 0x2c($sp)
|
|
/* 0319D0 800565D0 AFA40048 */ sw $a0, 0x48($sp)
|
|
/* 0319D4 800565D4 0080982D */ daddu $s3, $a0, $zero
|
|
/* 0319D8 800565D8 AFBF0044 */ sw $ra, 0x44($sp)
|
|
/* 0319DC 800565DC AFBE0040 */ sw $fp, 0x40($sp)
|
|
/* 0319E0 800565E0 AFB7003C */ sw $s7, 0x3c($sp)
|
|
/* 0319E4 800565E4 AFB60038 */ sw $s6, 0x38($sp)
|
|
/* 0319E8 800565E8 AFB50034 */ sw $s5, 0x34($sp)
|
|
/* 0319EC 800565EC AFB40030 */ sw $s4, 0x30($sp)
|
|
/* 0319F0 800565F0 AFB20028 */ sw $s2, 0x28($sp)
|
|
/* 0319F4 800565F4 AFB10024 */ sw $s1, 0x24($sp)
|
|
/* 0319F8 800565F8 AFB00020 */ sw $s0, 0x20($sp)
|
|
/* 0319FC 800565FC AFA5004C */ sw $a1, 0x4c($sp)
|
|
/* 031A00 80056600 AFA70054 */ sw $a3, 0x54($sp)
|
|
/* 031A04 80056604 14400003 */ bnez $v0, .L80056614
|
|
/* 031A08 80056608 AFA60010 */ sw $a2, 0x10($sp)
|
|
/* 031A0C 8005660C 08015B40 */ j .L80056D00
|
|
/* 031A10 80056610 ACA00000 */ sw $zero, ($a1)
|
|
|
|
.L80056614:
|
|
/* 031A14 80056614 0C014D70 */ jal func_800535C0
|
|
/* 031A18 80056618 00000000 */ nop
|
|
/* 031A1C 8005661C 3C028008 */ lui $v0, 0x8008
|
|
/* 031A20 80056620 90428E5C */ lbu $v0, -0x71a4($v0)
|
|
/* 031A24 80056624 1040001B */ beqz $v0, .L80056694
|
|
/* 031A28 80056628 00000000 */ nop
|
|
/* 031A2C 8005662C 3C038008 */ lui $v1, 0x8008
|
|
/* 031A30 80056630 24638E54 */ addiu $v1, $v1, -0x71ac
|
|
/* 031A34 80056634 8C620000 */ lw $v0, ($v1)
|
|
/* 031A38 80056638 8C42000C */ lw $v0, 0xc($v0)
|
|
/* 031A3C 8005663C 18400013 */ blez $v0, .L8005668C
|
|
/* 031A40 80056640 0000A82D */ daddu $s5, $zero, $zero
|
|
/* 031A44 80056644 0060882D */ daddu $s1, $v1, $zero
|
|
/* 031A48 80056648 24120001 */ addiu $s2, $zero, 1
|
|
/* 031A4C 8005664C 02A0802D */ daddu $s0, $s5, $zero
|
|
.L80056650:
|
|
/* 031A50 80056650 8E220000 */ lw $v0, ($s1)
|
|
/* 031A54 80056654 8C42001C */ lw $v0, 0x1c($v0)
|
|
/* 031A58 80056658 00502021 */ addu $a0, $v0, $s0
|
|
/* 031A5C 8005665C 8C820070 */ lw $v0, 0x70($a0)
|
|
/* 031A60 80056660 14520004 */ bne $v0, $s2, .L80056674
|
|
/* 031A64 80056664 00000000 */ nop
|
|
/* 031A68 80056668 9085004D */ lbu $a1, 0x4d($a0)
|
|
/* 031A6C 8005666C 0C015E1D */ jal func_80057874
|
|
/* 031A70 80056670 32A400FF */ andi $a0, $s5, 0xff
|
|
.L80056674:
|
|
/* 031A74 80056674 8E220000 */ lw $v0, ($s1)
|
|
/* 031A78 80056678 8C42000C */ lw $v0, 0xc($v0)
|
|
/* 031A7C 8005667C 26B50001 */ addiu $s5, $s5, 1
|
|
/* 031A80 80056680 02A2102A */ slt $v0, $s5, $v0
|
|
/* 031A84 80056684 1440FFF2 */ bnez $v0, .L80056650
|
|
/* 031A88 80056688 2610007C */ addiu $s0, $s0, 0x7c
|
|
.L8005668C:
|
|
/* 031A8C 8005668C 3C018008 */ lui $at, 0x8008
|
|
/* 031A90 80056690 A0208E5C */ sb $zero, -0x71a4($at)
|
|
.L80056694:
|
|
/* 031A94 80056694 8FA90054 */ lw $t1, 0x54($sp)
|
|
/* 031A98 80056698 19200194 */ blez $t1, .L80056CEC
|
|
/* 031A9C 8005669C 00000000 */ nop
|
|
/* 031AA0 800566A0 3C1E800A */ lui $fp, 0x800a
|
|
/* 031AA4 800566A4 27DE3FE8 */ addiu $fp, $fp, 0x3fe8
|
|
.L800566A8:
|
|
/* 031AA8 800566A8 0C014CF4 */ jal func_800533D0
|
|
/* 031AAC 800566AC 0000A82D */ daddu $s5, $zero, $zero
|
|
/* 031AB0 800566B0 3C038008 */ lui $v1, 0x8008
|
|
/* 031AB4 800566B4 8C638E54 */ lw $v1, -0x71ac($v1)
|
|
/* 031AB8 800566B8 8C62000C */ lw $v0, 0xc($v1)
|
|
/* 031ABC 800566BC 1840001E */ blez $v0, .L80056738
|
|
/* 031AC0 800566C0 24170001 */ addiu $s7, $zero, 1
|
|
/* 031AC4 800566C4 0060302D */ daddu $a2, $v1, $zero
|
|
/* 031AC8 800566C8 02A0282D */ daddu $a1, $s5, $zero
|
|
.L800566CC:
|
|
/* 031ACC 800566CC 8CC2001C */ lw $v0, 0x1c($a2)
|
|
/* 031AD0 800566D0 00452021 */ addu $a0, $v0, $a1
|
|
/* 031AD4 800566D4 90820078 */ lbu $v0, 0x78($a0)
|
|
/* 031AD8 800566D8 240900FF */ addiu $t1, $zero, 0xff
|
|
/* 031ADC 800566DC 1049000E */ beq $v0, $t1, .L80056718
|
|
/* 031AE0 800566E0 0040182D */ daddu $v1, $v0, $zero
|
|
/* 031AE4 800566E4 8CC20010 */ lw $v0, 0x10($a2)
|
|
/* 031AE8 800566E8 0062102A */ slt $v0, $v1, $v0
|
|
/* 031AEC 800566EC 1040000A */ beqz $v0, .L80056718
|
|
/* 031AF0 800566F0 00031040 */ sll $v0, $v1, 1
|
|
/* 031AF4 800566F4 00431021 */ addu $v0, $v0, $v1
|
|
/* 031AF8 800566F8 8CC30020 */ lw $v1, 0x20($a2)
|
|
/* 031AFC 800566FC 000210C0 */ sll $v0, $v0, 3
|
|
/* 031B00 80056700 0062A021 */ addu $s4, $v1, $v0
|
|
/* 031B04 80056704 8E820014 */ lw $v0, 0x14($s4)
|
|
/* 031B08 80056708 50400002 */ beql $v0, $zero, .L80056714
|
|
/* 031B0C 8005670C AE840010 */ sw $a0, 0x10($s4)
|
|
/* 031B10 80056710 AC440000 */ sw $a0, ($v0)
|
|
.L80056714:
|
|
/* 031B14 80056714 AE840014 */ sw $a0, 0x14($s4)
|
|
.L80056718:
|
|
/* 031B18 80056718 3C028008 */ lui $v0, 0x8008
|
|
/* 031B1C 8005671C 8C428E54 */ lw $v0, -0x71ac($v0)
|
|
/* 031B20 80056720 8C42000C */ lw $v0, 0xc($v0)
|
|
/* 031B24 80056724 26B50001 */ addiu $s5, $s5, 1
|
|
/* 031B28 80056728 02A2102A */ slt $v0, $s5, $v0
|
|
/* 031B2C 8005672C 1440FFE7 */ bnez $v0, .L800566CC
|
|
/* 031B30 80056730 24A5007C */ addiu $a1, $a1, 0x7c
|
|
/* 031B34 80056734 24170001 */ addiu $s7, $zero, 1
|
|
.L80056738:
|
|
/* 031B38 80056738 3C028008 */ lui $v0, 0x8008
|
|
/* 031B3C 8005673C 8C428E54 */ lw $v0, -0x71ac($v0)
|
|
/* 031B40 80056740 3C038008 */ lui $v1, 0x8008
|
|
/* 031B44 80056744 24638E54 */ addiu $v1, $v1, -0x71ac
|
|
/* 031B48 80056748 8C420010 */ lw $v0, 0x10($v0)
|
|
/* 031B4C 8005674C 18400110 */ blez $v0, .L80056B90
|
|
/* 031B50 80056750 0000A82D */ daddu $s5, $zero, $zero
|
|
/* 031B54 80056754 02A0B02D */ daddu $s6, $s5, $zero
|
|
.L80056758:
|
|
/* 031B58 80056758 8C620000 */ lw $v0, ($v1)
|
|
/* 031B5C 8005675C 8C420020 */ lw $v0, 0x20($v0)
|
|
/* 031B60 80056760 0056A021 */ addu $s4, $v0, $s6
|
|
/* 031B64 80056764 8E820010 */ lw $v0, 0x10($s4)
|
|
/* 031B68 80056768 10400101 */ beqz $v0, .L80056B70
|
|
/* 031B6C 8005676C 3C020200 */ lui $v0, 0x200
|
|
/* 031B70 80056770 344204E0 */ ori $v0, $v0, 0x4e0
|
|
/* 031B74 80056774 0260182D */ daddu $v1, $s3, $zero
|
|
/* 031B78 80056778 AC620000 */ sw $v0, ($v1)
|
|
/* 031B7C 8005677C 240205C0 */ addiu $v0, $zero, 0x5c0
|
|
/* 031B80 80056780 AC620004 */ sw $v0, 4($v1)
|
|
/* 031B84 80056784 8E820010 */ lw $v0, 0x10($s4)
|
|
/* 031B88 80056788 1040000B */ beqz $v0, .L800567B8
|
|
/* 031B8C 8005678C 26730008 */ addiu $s3, $s3, 8
|
|
.L80056790:
|
|
/* 031B90 80056790 8E840010 */ lw $a0, 0x10($s4)
|
|
/* 031B94 80056794 0C016014 */ jal func_80058050
|
|
/* 031B98 80056798 0260282D */ daddu $a1, $s3, $zero
|
|
/* 031B9C 8005679C 8E830010 */ lw $v1, 0x10($s4)
|
|
/* 031BA0 800567A0 8C640000 */ lw $a0, ($v1)
|
|
/* 031BA4 800567A4 0040982D */ daddu $s3, $v0, $zero
|
|
/* 031BA8 800567A8 AC600000 */ sw $zero, ($v1)
|
|
/* 031BAC 800567AC 1480FFF8 */ bnez $a0, .L80056790
|
|
/* 031BB0 800567B0 AE840010 */ sw $a0, 0x10($s4)
|
|
/* 031BB4 800567B4 AE800014 */ sw $zero, 0x14($s4)
|
|
.L800567B8:
|
|
/* 031BB8 800567B8 9282000C */ lbu $v0, 0xc($s4)
|
|
/* 031BBC 800567BC 1040000B */ beqz $v0, .L800567EC
|
|
/* 031BC0 800567C0 0260282D */ daddu $a1, $s3, $zero
|
|
/* 031BC4 800567C4 240607C0 */ addiu $a2, $zero, 0x7c0
|
|
/* 031BC8 800567C8 8E840004 */ lw $a0, 4($s4)
|
|
/* 031BCC 800567CC 0C0164C4 */ jal func_80059310
|
|
/* 031BD0 800567D0 0000382D */ daddu $a3, $zero, $zero
|
|
/* 031BD4 800567D4 0040282D */ daddu $a1, $v0, $zero
|
|
/* 031BD8 800567D8 24060930 */ addiu $a2, $zero, 0x930
|
|
/* 031BDC 800567DC 8E840008 */ lw $a0, 8($s4)
|
|
/* 031BE0 800567E0 0C0164C4 */ jal func_80059310
|
|
/* 031BE4 800567E4 0000382D */ daddu $a3, $zero, $zero
|
|
/* 031BE8 800567E8 0040982D */ daddu $s3, $v0, $zero
|
|
.L800567EC:
|
|
/* 031BEC 800567EC 3C02800A */ lui $v0, 0x800a
|
|
/* 031BF0 800567F0 90423FEC */ lbu $v0, 0x3fec($v0)
|
|
/* 031BF4 800567F4 16A20089 */ bne $s5, $v0, .L80056A1C
|
|
/* 031BF8 800567F8 24020001 */ addiu $v0, $zero, 1
|
|
/* 031BFC 800567FC 3C03800A */ lui $v1, 0x800a
|
|
/* 031C00 80056800 84633FEE */ lh $v1, 0x3fee($v1)
|
|
/* 031C04 80056804 10620006 */ beq $v1, $v0, .L80056820
|
|
/* 031C08 80056808 2410FFFF */ addiu $s0, $zero, -1
|
|
/* 031C0C 8005680C 24020002 */ addiu $v0, $zero, 2
|
|
/* 031C10 80056810 10620006 */ beq $v1, $v0, .L8005682C
|
|
/* 031C14 80056814 00101400 */ sll $v0, $s0, 0x10
|
|
/* 031C18 80056818 08015A10 */ j .L80056840
|
|
/* 031C1C 8005681C 00021403 */ sra $v0, $v0, 0x10
|
|
|
|
.L80056820:
|
|
/* 031C20 80056820 241004E0 */ addiu $s0, $zero, 0x4e0
|
|
/* 031C24 80056824 08015A0D */ j .L80056834
|
|
/* 031C28 80056828 240907C0 */ addiu $t1, $zero, 0x7c0
|
|
|
|
.L8005682C:
|
|
/* 031C2C 8005682C 24100650 */ addiu $s0, $zero, 0x650
|
|
/* 031C30 80056830 24090930 */ addiu $t1, $zero, 0x930
|
|
.L80056834:
|
|
/* 031C34 80056834 A7A9001E */ sh $t1, 0x1e($sp)
|
|
/* 031C38 80056838 00101400 */ sll $v0, $s0, 0x10
|
|
/* 031C3C 8005683C 00021403 */ sra $v0, $v0, 0x10
|
|
.L80056840:
|
|
/* 031C40 80056840 2403FFFF */ addiu $v1, $zero, -1
|
|
/* 031C44 80056844 10430075 */ beq $v0, $v1, .L80056A1C
|
|
/* 031C48 80056848 0260882D */ daddu $s1, $s3, $zero
|
|
/* 031C4C 8005684C 8FC30000 */ lw $v1, ($fp)
|
|
/* 031C50 80056850 3C02800A */ lui $v0, 0x800a
|
|
/* 031C54 80056854 8C423FF0 */ lw $v0, 0x3ff0($v0)
|
|
/* 031C58 80056858 14400002 */ bnez $v0, .L80056864
|
|
/* 031C5C 8005685C 0062001A */ div $zero, $v1, $v0
|
|
/* 031C60 80056860 0007000D */ break 7
|
|
.L80056864:
|
|
/* 031C64 80056864 2401FFFF */ addiu $at, $zero, -1
|
|
/* 031C68 80056868 14410004 */ bne $v0, $at, .L8005687C
|
|
/* 031C6C 8005686C 3C018000 */ lui $at, 0x8000
|
|
/* 031C70 80056870 14610002 */ bne $v1, $at, .L8005687C
|
|
/* 031C74 80056874 00000000 */ nop
|
|
/* 031C78 80056878 0006000D */ break 6
|
|
.L8005687C:
|
|
/* 031C7C 8005687C 00002810 */ mfhi $a1
|
|
/* 031C80 80056880 32100FFF */ andi $s0, $s0, 0xfff
|
|
/* 031C84 80056884 3C090617 */ lui $t1, 0x617
|
|
/* 031C88 80056888 02091025 */ or $v0, $s0, $t1
|
|
/* 031C8C 8005688C AE220000 */ sw $v0, ($s1)
|
|
/* 031C90 80056890 3C02800A */ lui $v0, 0x800a
|
|
/* 031C94 80056894 8C423FE0 */ lw $v0, 0x3fe0($v0)
|
|
/* 031C98 80056898 00052040 */ sll $a0, $a1, 1
|
|
/* 031C9C 8005689C 00852021 */ addu $a0, $a0, $a1
|
|
/* 031CA0 800568A0 000420C0 */ sll $a0, $a0, 3
|
|
/* 031CA4 800568A4 00852023 */ subu $a0, $a0, $a1
|
|
/* 031CA8 800568A8 00042100 */ sll $a0, $a0, 4
|
|
/* 031CAC 800568AC 0C0187A4 */ jal osVirtualToPhysical
|
|
/* 031CB0 800568B0 00442021 */ addu $a0, $v0, $a0
|
|
/* 031CB4 800568B4 8FC30000 */ lw $v1, ($fp)
|
|
/* 031CB8 800568B8 3C04800A */ lui $a0, 0x800a
|
|
/* 031CBC 800568BC 8C843FF0 */ lw $a0, 0x3ff0($a0)
|
|
/* 031CC0 800568C0 24630001 */ addiu $v1, $v1, 1
|
|
/* 031CC4 800568C4 14800002 */ bnez $a0, .L800568D0
|
|
/* 031CC8 800568C8 0064001A */ div $zero, $v1, $a0
|
|
/* 031CCC 800568CC 0007000D */ break 7
|
|
.L800568D0:
|
|
/* 031CD0 800568D0 2401FFFF */ addiu $at, $zero, -1
|
|
/* 031CD4 800568D4 14810004 */ bne $a0, $at, .L800568E8
|
|
/* 031CD8 800568D8 3C018000 */ lui $at, 0x8000
|
|
/* 031CDC 800568DC 14610002 */ bne $v1, $at, .L800568E8
|
|
/* 031CE0 800568E0 00000000 */ nop
|
|
/* 031CE4 800568E4 0006000D */ break 6
|
|
.L800568E8:
|
|
/* 031CE8 800568E8 00002810 */ mfhi $a1
|
|
/* 031CEC 800568EC 26730008 */ addiu $s3, $s3, 8
|
|
/* 031CF0 800568F0 AE220004 */ sw $v0, 4($s1)
|
|
/* 031CF4 800568F4 0260882D */ daddu $s1, $s3, $zero
|
|
/* 031CF8 800568F8 3C090417 */ lui $t1, 0x417
|
|
/* 031CFC 800568FC 3C02800A */ lui $v0, 0x800a
|
|
/* 031D00 80056900 8C423FE0 */ lw $v0, 0x3fe0($v0)
|
|
/* 031D04 80056904 02098025 */ or $s0, $s0, $t1
|
|
/* 031D08 80056908 AE300000 */ sw $s0, ($s1)
|
|
/* 031D0C 8005690C 00052040 */ sll $a0, $a1, 1
|
|
/* 031D10 80056910 00852021 */ addu $a0, $a0, $a1
|
|
/* 031D14 80056914 000420C0 */ sll $a0, $a0, 3
|
|
/* 031D18 80056918 00852023 */ subu $a0, $a0, $a1
|
|
/* 031D1C 8005691C 00042100 */ sll $a0, $a0, 4
|
|
/* 031D20 80056920 0C0187A4 */ jal osVirtualToPhysical
|
|
/* 031D24 80056924 00442021 */ addu $a0, $v0, $a0
|
|
/* 031D28 80056928 8FC40000 */ lw $a0, ($fp)
|
|
/* 031D2C 8005692C 3C03800A */ lui $v1, 0x800a
|
|
/* 031D30 80056930 8C633FF0 */ lw $v1, 0x3ff0($v1)
|
|
/* 031D34 80056934 14600002 */ bnez $v1, .L80056940
|
|
/* 031D38 80056938 0083001A */ div $zero, $a0, $v1
|
|
/* 031D3C 8005693C 0007000D */ break 7
|
|
.L80056940:
|
|
/* 031D40 80056940 2401FFFF */ addiu $at, $zero, -1
|
|
/* 031D44 80056944 14610004 */ bne $v1, $at, .L80056958
|
|
/* 031D48 80056948 3C018000 */ lui $at, 0x8000
|
|
/* 031D4C 8005694C 14810002 */ bne $a0, $at, .L80056958
|
|
/* 031D50 80056950 00000000 */ nop
|
|
/* 031D54 80056954 0006000D */ break 6
|
|
.L80056958:
|
|
/* 031D58 80056958 00001810 */ mfhi $v1
|
|
/* 031D5C 8005695C 26730008 */ addiu $s3, $s3, 8
|
|
/* 031D60 80056960 AE220004 */ sw $v0, 4($s1)
|
|
/* 031D64 80056964 97A9001E */ lhu $t1, 0x1e($sp)
|
|
/* 031D68 80056968 0260902D */ daddu $s2, $s3, $zero
|
|
/* 031D6C 8005696C 31300FFF */ andi $s0, $t1, 0xfff
|
|
/* 031D70 80056970 3C090617 */ lui $t1, 0x617
|
|
/* 031D74 80056974 02091025 */ or $v0, $s0, $t1
|
|
/* 031D78 80056978 AE420000 */ sw $v0, ($s2)
|
|
/* 031D7C 8005697C 3C02800A */ lui $v0, 0x800a
|
|
/* 031D80 80056980 8C423FE4 */ lw $v0, 0x3fe4($v0)
|
|
/* 031D84 80056984 00032040 */ sll $a0, $v1, 1
|
|
/* 031D88 80056988 00832021 */ addu $a0, $a0, $v1
|
|
/* 031D8C 8005698C 000420C0 */ sll $a0, $a0, 3
|
|
/* 031D90 80056990 00832023 */ subu $a0, $a0, $v1
|
|
/* 031D94 80056994 00042100 */ sll $a0, $a0, 4
|
|
/* 031D98 80056998 0C0187A4 */ jal osVirtualToPhysical
|
|
/* 031D9C 8005699C 00442021 */ addu $a0, $v0, $a0
|
|
/* 031DA0 800569A0 8FC30000 */ lw $v1, ($fp)
|
|
/* 031DA4 800569A4 3C04800A */ lui $a0, 0x800a
|
|
/* 031DA8 800569A8 8C843FF0 */ lw $a0, 0x3ff0($a0)
|
|
/* 031DAC 800569AC 24630001 */ addiu $v1, $v1, 1
|
|
/* 031DB0 800569B0 14800002 */ bnez $a0, .L800569BC
|
|
/* 031DB4 800569B4 0064001A */ div $zero, $v1, $a0
|
|
/* 031DB8 800569B8 0007000D */ break 7
|
|
.L800569BC:
|
|
/* 031DBC 800569BC 2401FFFF */ addiu $at, $zero, -1
|
|
/* 031DC0 800569C0 14810004 */ bne $a0, $at, .L800569D4
|
|
/* 031DC4 800569C4 3C018000 */ lui $at, 0x8000
|
|
/* 031DC8 800569C8 14610002 */ bne $v1, $at, .L800569D4
|
|
/* 031DCC 800569CC 00000000 */ nop
|
|
/* 031DD0 800569D0 0006000D */ break 6
|
|
.L800569D4:
|
|
/* 031DD4 800569D4 00002810 */ mfhi $a1
|
|
/* 031DD8 800569D8 26730008 */ addiu $s3, $s3, 8
|
|
/* 031DDC 800569DC 0260882D */ daddu $s1, $s3, $zero
|
|
/* 031DE0 800569E0 26730008 */ addiu $s3, $s3, 8
|
|
/* 031DE4 800569E4 3C090417 */ lui $t1, 0x417
|
|
/* 031DE8 800569E8 AE420004 */ sw $v0, 4($s2)
|
|
/* 031DEC 800569EC 3C02800A */ lui $v0, 0x800a
|
|
/* 031DF0 800569F0 8C423FE4 */ lw $v0, 0x3fe4($v0)
|
|
/* 031DF4 800569F4 02098025 */ or $s0, $s0, $t1
|
|
/* 031DF8 800569F8 AE300000 */ sw $s0, ($s1)
|
|
/* 031DFC 800569FC 00052040 */ sll $a0, $a1, 1
|
|
/* 031E00 80056A00 00852021 */ addu $a0, $a0, $a1
|
|
/* 031E04 80056A04 000420C0 */ sll $a0, $a0, 3
|
|
/* 031E08 80056A08 00852023 */ subu $a0, $a0, $a1
|
|
/* 031E0C 80056A0C 00042100 */ sll $a0, $a0, 4
|
|
/* 031E10 80056A10 0C0187A4 */ jal osVirtualToPhysical
|
|
/* 031E14 80056A14 00442021 */ addu $a0, $v0, $a0
|
|
/* 031E18 80056A18 AE220004 */ sw $v0, 4($s1)
|
|
.L80056A1C:
|
|
/* 031E1C 80056A1C 12E00007 */ beqz $s7, .L80056A3C
|
|
/* 031E20 80056A20 0260102D */ daddu $v0, $s3, $zero
|
|
/* 031E24 80056A24 26730008 */ addiu $s3, $s3, 8
|
|
/* 031E28 80056A28 3C030200 */ lui $v1, 0x200
|
|
/* 031E2C 80056A2C AC430000 */ sw $v1, ($v0)
|
|
/* 031E30 80056A30 240302E0 */ addiu $v1, $zero, 0x2e0
|
|
/* 031E34 80056A34 08015A98 */ j .L80056A60
|
|
/* 031E38 80056A38 AC430004 */ sw $v1, 4($v0)
|
|
|
|
.L80056A3C:
|
|
/* 031E3C 80056A3C 0260802D */ daddu $s0, $s3, $zero
|
|
/* 031E40 80056A40 3C038008 */ lui $v1, 0x8008
|
|
/* 031E44 80056A44 8C638E54 */ lw $v1, -0x71ac($v1)
|
|
/* 031E48 80056A48 3C02042E */ lui $v0, 0x42e
|
|
/* 031E4C 80056A4C AE020000 */ sw $v0, ($s0)
|
|
/* 031E50 80056A50 8C640028 */ lw $a0, 0x28($v1)
|
|
/* 031E54 80056A54 0C0187A4 */ jal osVirtualToPhysical
|
|
/* 031E58 80056A58 26730008 */ addiu $s3, $s3, 8
|
|
/* 031E5C 80056A5C AE020004 */ sw $v0, 4($s0)
|
|
.L80056A60:
|
|
/* 031E60 80056A60 0260202D */ daddu $a0, $s3, $zero
|
|
/* 031E64 80056A64 26730008 */ addiu $s3, $s3, 8
|
|
/* 031E68 80056A68 0260282D */ daddu $a1, $s3, $zero
|
|
/* 031E6C 80056A6C 26730008 */ addiu $s3, $s3, 8
|
|
/* 031E70 80056A70 3C060930 */ lui $a2, 0x930
|
|
/* 031E74 80056A74 3C0207C0 */ lui $v0, 0x7c0
|
|
/* 031E78 80056A78 3C090C00 */ lui $t1, 0xc00
|
|
/* 031E7C 80056A7C 96830000 */ lhu $v1, ($s4)
|
|
/* 031E80 80056A80 34C60170 */ ori $a2, $a2, 0x170
|
|
/* 031E84 80056A84 AC820004 */ sw $v0, 4($a0)
|
|
/* 031E88 80056A88 00691825 */ or $v1, $v1, $t1
|
|
/* 031E8C 80056A8C AC830000 */ sw $v1, ($a0)
|
|
/* 031E90 80056A90 96820000 */ lhu $v0, ($s4)
|
|
/* 031E94 80056A94 3C038008 */ lui $v1, 0x8008
|
|
/* 031E98 80056A98 8C638E54 */ lw $v1, -0x71ac($v1)
|
|
/* 031E9C 80056A9C 0260802D */ daddu $s0, $s3, $zero
|
|
/* 031EA0 80056AA0 ACA60004 */ sw $a2, 4($a1)
|
|
/* 031EA4 80056AA4 00491025 */ or $v0, $v0, $t1
|
|
/* 031EA8 80056AA8 ACA20000 */ sw $v0, ($a1)
|
|
/* 031EAC 80056AAC 3C02062E */ lui $v0, 0x62e
|
|
/* 031EB0 80056AB0 AE020000 */ sw $v0, ($s0)
|
|
/* 031EB4 80056AB4 8C640028 */ lw $a0, 0x28($v1)
|
|
/* 031EB8 80056AB8 0C0187A4 */ jal osVirtualToPhysical
|
|
/* 031EBC 80056ABC 26730008 */ addiu $s3, $s3, 8
|
|
/* 031EC0 80056AC0 12E00009 */ beqz $s7, .L80056AE8
|
|
/* 031EC4 80056AC4 AE020004 */ sw $v0, 4($s0)
|
|
/* 031EC8 80056AC8 0260102D */ daddu $v0, $s3, $zero
|
|
/* 031ECC 80056ACC 26730008 */ addiu $s3, $s3, 8
|
|
/* 031ED0 80056AD0 0000B82D */ daddu $s7, $zero, $zero
|
|
/* 031ED4 80056AD4 3C030200 */ lui $v1, 0x200
|
|
/* 031ED8 80056AD8 AC430000 */ sw $v1, ($v0)
|
|
/* 031EDC 80056ADC 240302E0 */ addiu $v1, $zero, 0x2e0
|
|
/* 031EE0 80056AE0 08015AC3 */ j .L80056B0C
|
|
/* 031EE4 80056AE4 AC430004 */ sw $v1, 4($v0)
|
|
|
|
.L80056AE8:
|
|
/* 031EE8 80056AE8 0260802D */ daddu $s0, $s3, $zero
|
|
/* 031EEC 80056AEC 3C038008 */ lui $v1, 0x8008
|
|
/* 031EF0 80056AF0 8C638E54 */ lw $v1, -0x71ac($v1)
|
|
/* 031EF4 80056AF4 3C02042E */ lui $v0, 0x42e
|
|
/* 031EF8 80056AF8 AE020000 */ sw $v0, ($s0)
|
|
/* 031EFC 80056AFC 8C640024 */ lw $a0, 0x24($v1)
|
|
/* 031F00 80056B00 0C0187A4 */ jal osVirtualToPhysical
|
|
/* 031F04 80056B04 26730008 */ addiu $s3, $s3, 8
|
|
/* 031F08 80056B08 AE020004 */ sw $v0, 4($s0)
|
|
.L80056B0C:
|
|
/* 031F0C 80056B0C 0260202D */ daddu $a0, $s3, $zero
|
|
/* 031F10 80056B10 26730008 */ addiu $s3, $s3, 8
|
|
/* 031F14 80056B14 0260282D */ daddu $a1, $s3, $zero
|
|
/* 031F18 80056B18 26730008 */ addiu $s3, $s3, 8
|
|
/* 031F1C 80056B1C 3C060650 */ lui $a2, 0x650
|
|
/* 031F20 80056B20 3C0204E0 */ lui $v0, 0x4e0
|
|
/* 031F24 80056B24 3C090C00 */ lui $t1, 0xc00
|
|
/* 031F28 80056B28 96830000 */ lhu $v1, ($s4)
|
|
/* 031F2C 80056B2C 34C60170 */ ori $a2, $a2, 0x170
|
|
/* 031F30 80056B30 AC820004 */ sw $v0, 4($a0)
|
|
/* 031F34 80056B34 00691825 */ or $v1, $v1, $t1
|
|
/* 031F38 80056B38 AC830000 */ sw $v1, ($a0)
|
|
/* 031F3C 80056B3C 96820000 */ lhu $v0, ($s4)
|
|
/* 031F40 80056B40 3C038008 */ lui $v1, 0x8008
|
|
/* 031F44 80056B44 8C638E54 */ lw $v1, -0x71ac($v1)
|
|
/* 031F48 80056B48 0260802D */ daddu $s0, $s3, $zero
|
|
/* 031F4C 80056B4C ACA60004 */ sw $a2, 4($a1)
|
|
/* 031F50 80056B50 00491025 */ or $v0, $v0, $t1
|
|
/* 031F54 80056B54 ACA20000 */ sw $v0, ($a1)
|
|
/* 031F58 80056B58 3C02062E */ lui $v0, 0x62e
|
|
/* 031F5C 80056B5C AE020000 */ sw $v0, ($s0)
|
|
/* 031F60 80056B60 8C640024 */ lw $a0, 0x24($v1)
|
|
/* 031F64 80056B64 0C0187A4 */ jal osVirtualToPhysical
|
|
/* 031F68 80056B68 26730008 */ addiu $s3, $s3, 8
|
|
/* 031F6C 80056B6C AE020004 */ sw $v0, 4($s0)
|
|
.L80056B70:
|
|
/* 031F70 80056B70 3C038008 */ lui $v1, 0x8008
|
|
/* 031F74 80056B74 24638E54 */ addiu $v1, $v1, -0x71ac
|
|
/* 031F78 80056B78 8C620000 */ lw $v0, ($v1)
|
|
/* 031F7C 80056B7C 8C420010 */ lw $v0, 0x10($v0)
|
|
/* 031F80 80056B80 26B50001 */ addiu $s5, $s5, 1
|
|
/* 031F84 80056B84 02A2102A */ slt $v0, $s5, $v0
|
|
/* 031F88 80056B88 1440FEF3 */ bnez $v0, .L80056758
|
|
/* 031F8C 80056B8C 26D60018 */ addiu $s6, $s6, 0x18
|
|
.L80056B90:
|
|
/* 031F90 80056B90 0260182D */ daddu $v1, $s3, $zero
|
|
/* 031F94 80056B94 26730008 */ addiu $s3, $s3, 8
|
|
/* 031F98 80056B98 3C0404E0 */ lui $a0, 0x4e0
|
|
/* 031F9C 80056B9C 348402E0 */ ori $a0, $a0, 0x2e0
|
|
/* 031FA0 80056BA0 3C05042E */ lui $a1, 0x42e
|
|
/* 031FA4 80056BA4 34A507C0 */ ori $a1, $a1, 0x7c0
|
|
/* 031FA8 80056BA8 3C020A00 */ lui $v0, 0xa00
|
|
/* 031FAC 80056BAC AC620000 */ sw $v0, ($v1)
|
|
/* 031FB0 80056BB0 3C028008 */ lui $v0, 0x8008
|
|
/* 031FB4 80056BB4 8C428E54 */ lw $v0, -0x71ac($v0)
|
|
/* 031FB8 80056BB8 0260802D */ daddu $s0, $s3, $zero
|
|
/* 031FBC 80056BBC AC640004 */ sw $a0, 4($v1)
|
|
/* 031FC0 80056BC0 AE050000 */ sw $a1, ($s0)
|
|
/* 031FC4 80056BC4 8C440028 */ lw $a0, 0x28($v0)
|
|
/* 031FC8 80056BC8 0C0187A4 */ jal osVirtualToPhysical
|
|
/* 031FCC 80056BCC 26730008 */ addiu $s3, $s3, 8
|
|
/* 031FD0 80056BD0 0260382D */ daddu $a3, $s3, $zero
|
|
/* 031FD4 80056BD4 26730008 */ addiu $s3, $s3, 8
|
|
/* 031FD8 80056BD8 3C060C00 */ lui $a2, 0xc00
|
|
/* 031FDC 80056BDC 34C67FFF */ ori $a2, $a2, 0x7fff
|
|
/* 031FE0 80056BE0 3C0807C0 */ lui $t0, 0x7c0
|
|
/* 031FE4 80056BE4 350804E0 */ ori $t0, $t0, 0x4e0
|
|
/* 031FE8 80056BE8 0260182D */ daddu $v1, $s3, $zero
|
|
/* 031FEC 80056BEC 26730008 */ addiu $s3, $s3, 8
|
|
/* 031FF0 80056BF0 3C040930 */ lui $a0, 0x930
|
|
/* 031FF4 80056BF4 3C058008 */ lui $a1, 0x8008
|
|
/* 031FF8 80056BF8 90A58E58 */ lbu $a1, -0x71a8($a1)
|
|
/* 031FFC 80056BFC 34840650 */ ori $a0, $a0, 0x650
|
|
/* 032000 80056C00 AE020004 */ sw $v0, 4($s0)
|
|
/* 032004 80056C04 ACE60000 */ sw $a2, ($a3)
|
|
/* 032008 80056C08 ACE80004 */ sw $t0, 4($a3)
|
|
/* 03200C 80056C0C AC660000 */ sw $a2, ($v1)
|
|
/* 032010 80056C10 10A0001D */ beqz $a1, .L80056C88
|
|
/* 032014 80056C14 AC640004 */ sw $a0, 4($v1)
|
|
/* 032018 80056C18 0260202D */ daddu $a0, $s3, $zero
|
|
/* 03201C 80056C1C 26730008 */ addiu $s3, $s3, 8
|
|
/* 032020 80056C20 3C020A00 */ lui $v0, 0xa00
|
|
/* 032024 80056C24 344204E0 */ ori $v0, $v0, 0x4e0
|
|
/* 032028 80056C28 0260182D */ daddu $v1, $s3, $zero
|
|
/* 03202C 80056C2C 26730008 */ addiu $s3, $s3, 8
|
|
/* 032030 80056C30 3C070200 */ lui $a3, 0x200
|
|
/* 032034 80056C34 34E704E0 */ ori $a3, $a3, 0x4e0
|
|
/* 032038 80056C38 0260282D */ daddu $a1, $s3, $zero
|
|
/* 03203C 80056C3C 26730008 */ addiu $s3, $s3, 8
|
|
/* 032040 80056C40 0260302D */ daddu $a2, $s3, $zero
|
|
/* 032044 80056C44 26730008 */ addiu $s3, $s3, 8
|
|
/* 032048 80056C48 3C080170 */ lui $t0, 0x170
|
|
/* 03204C 80056C4C 35080650 */ ori $t0, $t0, 0x650
|
|
/* 032050 80056C50 AC820000 */ sw $v0, ($a0)
|
|
/* 032054 80056C54 240202E0 */ addiu $v0, $zero, 0x2e0
|
|
/* 032058 80056C58 AC820004 */ sw $v0, 4($a0)
|
|
/* 03205C 80056C5C AC670000 */ sw $a3, ($v1)
|
|
/* 032060 80056C60 AC620004 */ sw $v0, 4($v1)
|
|
/* 032064 80056C64 3C038008 */ lui $v1, 0x8008
|
|
/* 032068 80056C68 94638E5A */ lhu $v1, -0x71a6($v1)
|
|
/* 03206C 80056C6C 240204E0 */ addiu $v0, $zero, 0x4e0
|
|
/* 032070 80056C70 ACA20004 */ sw $v0, 4($a1)
|
|
/* 032074 80056C74 3C020C00 */ lui $v0, 0xc00
|
|
/* 032078 80056C78 00621825 */ or $v1, $v1, $v0
|
|
/* 03207C 80056C7C ACA30000 */ sw $v1, ($a1)
|
|
/* 032080 80056C80 ACC30000 */ sw $v1, ($a2)
|
|
/* 032084 80056C84 ACC80004 */ sw $t0, 4($a2)
|
|
.L80056C88:
|
|
/* 032088 80056C88 0260202D */ daddu $a0, $s3, $zero
|
|
/* 03208C 80056C8C 26730008 */ addiu $s3, $s3, 8
|
|
/* 032090 80056C90 0260182D */ daddu $v1, $s3, $zero
|
|
/* 032094 80056C94 8FA90054 */ lw $t1, 0x54($sp)
|
|
/* 032098 80056C98 3C020D00 */ lui $v0, 0xd00
|
|
/* 03209C 80056C9C 2529FF48 */ addiu $t1, $t1, -0xb8
|
|
/* 0320A0 80056CA0 AFA90054 */ sw $t1, 0x54($sp)
|
|
/* 0320A4 80056CA4 AC820000 */ sw $v0, ($a0)
|
|
/* 0320A8 80056CA8 8FA90010 */ lw $t1, 0x10($sp)
|
|
/* 0320AC 80056CAC 3C048008 */ lui $a0, 0x8008
|
|
/* 0320B0 80056CB0 8C848E54 */ lw $a0, -0x71ac($a0)
|
|
/* 0320B4 80056CB4 3C02062E */ lui $v0, 0x62e
|
|
/* 0320B8 80056CB8 AC690004 */ sw $t1, 4($v1)
|
|
/* 0320BC 80056CBC 252902E0 */ addiu $t1, $t1, 0x2e0
|
|
/* 0320C0 80056CC0 AFA90010 */ sw $t1, 0x10($sp)
|
|
/* 0320C4 80056CC4 AC620000 */ sw $v0, ($v1)
|
|
/* 0320C8 80056CC8 8FC20000 */ lw $v0, ($fp)
|
|
/* 0320CC 80056CCC 8C830000 */ lw $v1, ($a0)
|
|
/* 0320D0 80056CD0 24420001 */ addiu $v0, $v0, 1
|
|
/* 0320D4 80056CD4 246300B8 */ addiu $v1, $v1, 0xb8
|
|
/* 0320D8 80056CD8 AFC20000 */ sw $v0, ($fp)
|
|
/* 0320DC 80056CDC AC830000 */ sw $v1, ($a0)
|
|
/* 0320E0 80056CE0 8FA90054 */ lw $t1, 0x54($sp)
|
|
/* 0320E4 80056CE4 1D20FE70 */ bgtz $t1, .L800566A8
|
|
/* 0320E8 80056CE8 26730008 */ addiu $s3, $s3, 8
|
|
.L80056CEC:
|
|
/* 0320EC 80056CEC 8FA90048 */ lw $t1, 0x48($sp)
|
|
/* 0320F0 80056CF0 02691023 */ subu $v0, $s3, $t1
|
|
/* 0320F4 80056CF4 8FA9004C */ lw $t1, 0x4c($sp)
|
|
/* 0320F8 80056CF8 000210C3 */ sra $v0, $v0, 3
|
|
/* 0320FC 80056CFC AD220000 */ sw $v0, ($t1)
|
|
.L80056D00:
|
|
/* 032100 80056D00 0260102D */ daddu $v0, $s3, $zero
|
|
/* 032104 80056D04 8FBF0044 */ lw $ra, 0x44($sp)
|
|
/* 032108 80056D08 8FBE0040 */ lw $fp, 0x40($sp)
|
|
/* 03210C 80056D0C 8FB7003C */ lw $s7, 0x3c($sp)
|
|
/* 032110 80056D10 8FB60038 */ lw $s6, 0x38($sp)
|
|
/* 032114 80056D14 8FB50034 */ lw $s5, 0x34($sp)
|
|
/* 032118 80056D18 8FB40030 */ lw $s4, 0x30($sp)
|
|
/* 03211C 80056D1C 8FB3002C */ lw $s3, 0x2c($sp)
|
|
/* 032120 80056D20 8FB20028 */ lw $s2, 0x28($sp)
|
|
/* 032124 80056D24 8FB10024 */ lw $s1, 0x24($sp)
|
|
/* 032128 80056D28 8FB00020 */ lw $s0, 0x20($sp)
|
|
/* 03212C 80056D2C 03E00008 */ jr $ra
|
|
/* 032130 80056D30 27BD0048 */ addiu $sp, $sp, 0x48
|
|
|