mirror of https://github.com/zeldaret/oot.git
783 lines
38 KiB
ArmAsm
783 lines
38 KiB
ArmAsm
|
|
.late_rodata
|
|
glabel jtbl_8014A640
|
|
.word L800F9588
|
|
.word L800F95F4
|
|
.word L800F9614
|
|
.word L800F97E4
|
|
.word L800F9940
|
|
.word L800F9A00
|
|
.word L800F9BD8
|
|
.word L800F9CE4
|
|
.word L800F9D20
|
|
.word L800F9DB4
|
|
.word L800F9DE8
|
|
.word L800F9E84
|
|
.word L800F9EB8
|
|
.word L800F9B00
|
|
.word L800F9F68
|
|
.word L800F9FB8
|
|
|
|
.text
|
|
glabel Audio_ProcessSeqCmd
|
|
/* B7069C 800F94FC 3C0E8013 */ lui $t6, %hi(D_8013340C) # $t6, 0x8013
|
|
/* B706A0 800F9500 91CE340C */ lbu $t6, %lo(D_8013340C)($t6)
|
|
/* B706A4 800F9504 27BDFF98 */ addiu $sp, $sp, -0x68
|
|
/* B706A8 800F9508 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* B706AC 800F950C 00808025 */ move $s0, $a0
|
|
/* B706B0 800F9510 11C0000F */ beqz $t6, .L800F9550
|
|
/* B706B4 800F9514 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* B706B8 800F9518 3C01F000 */ lui $at, 0xf000
|
|
/* B706BC 800F951C 00817824 */ and $t7, $a0, $at
|
|
/* B706C0 800F9520 3C017000 */ lui $at, 0x7000
|
|
/* B706C4 800F9524 11E1000A */ beq $t7, $at, .L800F9550
|
|
/* B706C8 800F9528 3C048013 */ lui $a0, %hi(D_80133390) # $a0, 0x8013
|
|
/* B706CC 800F952C 00102C02 */ srl $a1, $s0, 0x10
|
|
/* B706D0 800F9530 30A5FFFF */ andi $a1, $a1, 0xffff
|
|
/* B706D4 800F9534 0C03CB5B */ jal func_800F2D6C
|
|
/* B706D8 800F9538 24843390 */ addiu $a0, %lo(D_80133390) # addiu $a0, $a0, 0x3390
|
|
/* B706DC 800F953C 3C048013 */ lui $a0, %hi(D_80133398) # $a0, 0x8013
|
|
/* B706E0 800F9540 02002825 */ move $a1, $s0
|
|
/* B706E4 800F9544 30A5FFFF */ andi $a1, $a1, 0xffff
|
|
/* B706E8 800F9548 0C03CB5B */ jal func_800F2D6C
|
|
/* B706EC 800F954C 24843398 */ addiu $a0, %lo(D_80133398) # addiu $a0, $a0, 0x3398
|
|
.L800F9550:
|
|
/* B706F0 800F9550 3C010F00 */ lui $at, 0xf00
|
|
/* B706F4 800F9554 02013824 */ and $a3, $s0, $at
|
|
/* B706F8 800F9558 0010C702 */ srl $t8, $s0, 0x1c
|
|
/* B706FC 800F955C 331900FF */ andi $t9, $t8, 0xff
|
|
/* B70700 800F9560 00073E02 */ srl $a3, $a3, 0x18
|
|
/* B70704 800F9564 2F210010 */ sltiu $at, $t9, 0x10
|
|
/* B70708 800F9568 102002A3 */ beqz $at, .L800F9FF8
|
|
/* B7070C 800F956C 30E500FF */ andi $a1, $a3, 0xff
|
|
/* B70710 800F9570 0019C880 */ sll $t9, $t9, 2
|
|
/* B70714 800F9574 3C018015 */ lui $at, %hi(jtbl_8014A640)
|
|
/* B70718 800F9578 00390821 */ addu $at, $at, $t9
|
|
/* B7071C 800F957C 8C39A640 */ lw $t9, %lo(jtbl_8014A640)($at)
|
|
/* B70720 800F9580 03200008 */ jr $t9
|
|
/* B70724 800F9584 00000000 */ nop
|
|
glabel L800F9588
|
|
/* B70728 800F9588 30E400FF */ andi $a0, $a3, 0xff
|
|
/* B7072C 800F958C 00046880 */ sll $t5, $a0, 2
|
|
/* B70730 800F9590 01A46821 */ addu $t5, $t5, $a0
|
|
/* B70734 800F9594 000D6880 */ sll $t5, $t5, 2
|
|
/* B70738 800F9598 01A46823 */ subu $t5, $t5, $a0
|
|
/* B7073C 800F959C 000D68C0 */ sll $t5, $t5, 3
|
|
/* B70740 800F95A0 3C098017 */ lui $t1, %hi(D_8016E750) # $t1, 0x8017
|
|
/* B70744 800F95A4 01A46821 */ addu $t5, $t5, $a0
|
|
/* B70748 800F95A8 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
|
|
/* B7074C 800F95AC 000D6880 */ sll $t5, $t5, 2
|
|
/* B70750 800F95B0 012D7021 */ addu $t6, $t1, $t5
|
|
/* B70754 800F95B4 91CF0260 */ lbu $t7, 0x260($t6)
|
|
/* B70758 800F95B8 3206FF00 */ andi $a2, $s0, 0xff00
|
|
/* B7075C 800F95BC 00063202 */ srl $a2, $a2, 8
|
|
/* B70760 800F95C0 15E0028D */ bnez $t7, .L800F9FF8
|
|
/* B70764 800F95C4 30C600FF */ andi $a2, $a2, 0xff
|
|
/* B70768 800F95C8 28C10080 */ slti $at, $a2, 0x80
|
|
/* B7076C 800F95CC 1020028A */ beqz $at, .L800F9FF8
|
|
/* B70770 800F95D0 02002825 */ move $a1, $s0
|
|
/* B70774 800F95D4 3C0100FF */ lui $at, 0xff
|
|
/* B70778 800F95D8 02013824 */ and $a3, $s0, $at
|
|
/* B7077C 800F95DC 00073B42 */ srl $a3, $a3, 0xd
|
|
/* B70780 800F95E0 30E7FFFF */ andi $a3, $a3, 0xffff
|
|
/* B70784 800F95E4 0C03E4A0 */ jal func_800F9280
|
|
/* B70788 800F95E8 30A500FF */ andi $a1, $a1, 0xff
|
|
/* B7078C 800F95EC 10000283 */ b .L800F9FFC
|
|
/* B70790 800F95F0 8FBF001C */ lw $ra, 0x1c($sp)
|
|
glabel L800F95F4
|
|
/* B70794 800F95F4 3C0100FF */ lui $at, 0xff
|
|
/* B70798 800F95F8 02012824 */ and $a1, $s0, $at
|
|
/* B7079C 800F95FC 00052B42 */ srl $a1, $a1, 0xd
|
|
/* B707A0 800F9600 30A5FFFF */ andi $a1, $a1, 0xffff
|
|
/* B707A4 800F9604 0C03E51D */ jal func_800F9474
|
|
/* B707A8 800F9608 30E400FF */ andi $a0, $a3, 0xff
|
|
/* B707AC 800F960C 1000027B */ b .L800F9FFC
|
|
/* B707B0 800F9610 8FBF001C */ lw $ra, 0x1c($sp)
|
|
glabel L800F9614
|
|
/* B707B4 800F9614 3C028017 */ lui $v0, %hi(D_8016E348) # $v0, 0x8017
|
|
/* B707B8 800F9618 2442E348 */ addiu $v0, %lo(D_8016E348) # addiu $v0, $v0, -0x1cb8
|
|
/* B707BC 800F961C 30F800FF */ andi $t8, $a3, 0xff
|
|
/* B707C0 800F9620 00586021 */ addu $t4, $v0, $t8
|
|
/* B707C4 800F9624 918A0000 */ lbu $t2, ($t4)
|
|
/* B707C8 800F9628 AFB8002C */ sw $t8, 0x2c($sp)
|
|
/* B707CC 800F962C 00001825 */ move $v1, $zero
|
|
/* B707D0 800F9630 19400023 */ blez $t2, .L800F96C0
|
|
/* B707D4 800F9634 01405825 */ move $t3, $t2
|
|
/* B707D8 800F9638 00187880 */ sll $t7, $t8, 2
|
|
/* B707DC 800F963C 01F87821 */ addu $t7, $t7, $t8
|
|
/* B707E0 800F9640 3C188017 */ lui $t8, %hi(D_8016E320) # $t8, 0x8017
|
|
/* B707E4 800F9644 2718E320 */ addiu $t8, %lo(D_8016E320) # addiu $t8, $t8, -0x1ce0
|
|
/* B707E8 800F9648 000F7840 */ sll $t7, $t7, 1
|
|
/* B707EC 800F964C 320400FF */ andi $a0, $s0, 0xff
|
|
/* B707F0 800F9650 AFA40030 */ sw $a0, 0x30($sp)
|
|
/* B707F4 800F9654 01F83021 */ addu $a2, $t7, $t8
|
|
/* B707F8 800F9658 00036840 */ sll $t5, $v1, 1
|
|
.L800F965C:
|
|
/* B707FC 800F965C 00CD7021 */ addu $t6, $a2, $t5
|
|
/* B70800 800F9660 91D90000 */ lbu $t9, ($t6)
|
|
/* B70804 800F9664 00457821 */ addu $t7, $v0, $a1
|
|
/* B70808 800F9668 5499000F */ bnel $a0, $t9, .L800F96A8
|
|
/* B7080C 800F966C 91F80000 */ lbu $t8, ($t7)
|
|
/* B70810 800F9670 14600261 */ bnez $v1, .L800F9FF8
|
|
/* B70814 800F9674 93A4002F */ lbu $a0, 0x2f($sp)
|
|
/* B70818 800F9678 3C0100FF */ lui $at, 0xff
|
|
/* B7081C 800F967C 02013824 */ and $a3, $s0, $at
|
|
/* B70820 800F9680 3206FF00 */ andi $a2, $s0, 0xff00
|
|
/* B70824 800F9684 00063202 */ srl $a2, $a2, 8
|
|
/* B70828 800F9688 00073B42 */ srl $a3, $a3, 0xd
|
|
/* B7082C 800F968C 30E7FFFF */ andi $a3, $a3, 0xffff
|
|
/* B70830 800F9690 30C600FF */ andi $a2, $a2, 0xff
|
|
/* B70834 800F9694 0C03E4A0 */ jal func_800F9280
|
|
/* B70838 800F9698 93A50033 */ lbu $a1, 0x33($sp)
|
|
/* B7083C 800F969C 10000257 */ b .L800F9FFC
|
|
/* B70840 800F96A0 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* B70844 800F96A4 91F80000 */ lbu $t8, ($t7)
|
|
.L800F96A8:
|
|
/* B70848 800F96A8 24630001 */ addiu $v1, $v1, 1
|
|
/* B7084C 800F96AC 306300FF */ andi $v1, $v1, 0xff
|
|
/* B70850 800F96B0 0078082A */ slt $at, $v1, $t8
|
|
/* B70854 800F96B4 5420FFE9 */ bnezl $at, .L800F965C
|
|
/* B70858 800F96B8 00036840 */ sll $t5, $v1, 1
|
|
/* B7085C 800F96BC 00001825 */ move $v1, $zero
|
|
.L800F96C0:
|
|
/* B70860 800F96C0 8FB9002C */ lw $t9, 0x2c($sp)
|
|
/* B70864 800F96C4 3C188017 */ lui $t8, %hi(D_8016E320) # $t8, 0x8017
|
|
/* B70868 800F96C8 2718E320 */ addiu $t8, %lo(D_8016E320) # addiu $t8, $t8, -0x1ce0
|
|
/* B7086C 800F96CC 00197880 */ sll $t7, $t9, 2
|
|
/* B70870 800F96D0 01F97821 */ addu $t7, $t7, $t9
|
|
/* B70874 800F96D4 000F7840 */ sll $t7, $t7, 1
|
|
/* B70878 800F96D8 320E00FF */ andi $t6, $s0, 0xff
|
|
/* B7087C 800F96DC 314900FF */ andi $t1, $t2, 0xff
|
|
/* B70880 800F96E0 AFAE0030 */ sw $t6, 0x30($sp)
|
|
/* B70884 800F96E4 19600014 */ blez $t3, .L800F9738
|
|
/* B70888 800F96E8 01F83021 */ addu $a2, $t7, $t8
|
|
/* B7088C 800F96EC 3204FF00 */ andi $a0, $s0, 0xff00
|
|
/* B70890 800F96F0 3C028017 */ lui $v0, %hi(D_8016E348)
|
|
/* B70894 800F96F4 00451021 */ addu $v0, $v0, $a1
|
|
/* B70898 800F96F8 00042202 */ srl $a0, $a0, 8
|
|
/* B7089C 800F96FC 308400FF */ andi $a0, $a0, 0xff
|
|
/* B708A0 800F9700 9042E348 */ lbu $v0, %lo(D_8016E348)($v0)
|
|
/* B708A4 800F9704 00036840 */ sll $t5, $v1, 1
|
|
.L800F9708:
|
|
/* B708A8 800F9708 00CD7021 */ addu $t6, $a2, $t5
|
|
/* B708AC 800F970C 91D90001 */ lbu $t9, 1($t6)
|
|
/* B708B0 800F9710 0099082A */ slt $at, $a0, $t9
|
|
/* B708B4 800F9714 54200004 */ bnezl $at, .L800F9728
|
|
/* B708B8 800F9718 24630001 */ addiu $v1, $v1, 1
|
|
/* B708BC 800F971C 306900FF */ andi $t1, $v1, 0xff
|
|
/* B708C0 800F9720 314300FF */ andi $v1, $t2, 0xff
|
|
/* B708C4 800F9724 24630001 */ addiu $v1, $v1, 1
|
|
.L800F9728:
|
|
/* B708C8 800F9728 306300FF */ andi $v1, $v1, 0xff
|
|
/* B708CC 800F972C 0062082A */ slt $at, $v1, $v0
|
|
/* B708D0 800F9730 5420FFF5 */ bnezl $at, .L800F9708
|
|
/* B708D4 800F9734 00036840 */ sll $t5, $v1, 1
|
|
.L800F9738:
|
|
/* B708D8 800F9738 320FFF00 */ andi $t7, $s0, 0xff00
|
|
/* B708DC 800F973C 000FC202 */ srl $t8, $t7, 8
|
|
/* B708E0 800F9740 330D00FF */ andi $t5, $t8, 0xff
|
|
/* B708E4 800F9744 29610005 */ slti $at, $t3, 5
|
|
/* B708E8 800F9748 10200004 */ beqz $at, .L800F975C
|
|
/* B708EC 800F974C AFAD003C */ sw $t5, 0x3c($sp)
|
|
/* B708F0 800F9750 254E0001 */ addiu $t6, $t2, 1
|
|
/* B708F4 800F9754 A18E0000 */ sb $t6, ($t4)
|
|
/* B708F8 800F9758 31CB00FF */ andi $t3, $t6, 0xff
|
|
.L800F975C:
|
|
/* B708FC 800F975C 2563FFFF */ addiu $v1, $t3, -1
|
|
/* B70900 800F9760 306300FF */ andi $v1, $v1, 0xff
|
|
/* B70904 800F9764 00601025 */ move $v0, $v1
|
|
/* B70908 800F9768 1123000D */ beq $t1, $v1, .L800F97A0
|
|
/* B7090C 800F976C 01204025 */ move $t0, $t1
|
|
.L800F9770:
|
|
/* B70910 800F9770 00027840 */ sll $t7, $v0, 1
|
|
/* B70914 800F9774 00CF2821 */ addu $a1, $a2, $t7
|
|
/* B70918 800F9778 90B8FFFF */ lbu $t8, -1($a1)
|
|
/* B7091C 800F977C 0003C840 */ sll $t9, $v1, 1
|
|
/* B70920 800F9780 00D92021 */ addu $a0, $a2, $t9
|
|
/* B70924 800F9784 A0980001 */ sb $t8, 1($a0)
|
|
/* B70928 800F9788 90ADFFFE */ lbu $t5, -2($a1)
|
|
/* B7092C 800F978C 2463FFFF */ addiu $v1, $v1, -1
|
|
/* B70930 800F9790 306300FF */ andi $v1, $v1, 0xff
|
|
/* B70934 800F9794 00601025 */ move $v0, $v1
|
|
/* B70938 800F9798 1503FFF5 */ bne $t0, $v1, .L800F9770
|
|
/* B7093C 800F979C A08D0000 */ sb $t5, ($a0)
|
|
.L800F97A0:
|
|
/* B70940 800F97A0 8FB9003C */ lw $t9, 0x3c($sp)
|
|
/* B70944 800F97A4 8FAF0030 */ lw $t7, 0x30($sp)
|
|
/* B70948 800F97A8 00097040 */ sll $t6, $t1, 1
|
|
/* B7094C 800F97AC 00CE1021 */ addu $v0, $a2, $t6
|
|
/* B70950 800F97B0 A0590001 */ sb $t9, 1($v0)
|
|
/* B70954 800F97B4 15000210 */ bnez $t0, .L800F9FF8
|
|
/* B70958 800F97B8 A04F0000 */ sb $t7, ($v0)
|
|
/* B7095C 800F97BC 3C0100FF */ lui $at, 0xff
|
|
/* B70960 800F97C0 02013824 */ and $a3, $s0, $at
|
|
/* B70964 800F97C4 00073B42 */ srl $a3, $a3, 0xd
|
|
/* B70968 800F97C8 30E7FFFF */ andi $a3, $a3, 0xffff
|
|
/* B7096C 800F97CC 93A4002F */ lbu $a0, 0x2f($sp)
|
|
/* B70970 800F97D0 93A50033 */ lbu $a1, 0x33($sp)
|
|
/* B70974 800F97D4 0C03E4A0 */ jal func_800F9280
|
|
/* B70978 800F97D8 93A6003F */ lbu $a2, 0x3f($sp)
|
|
/* B7097C 800F97DC 10000207 */ b .L800F9FFC
|
|
/* B70980 800F97E0 8FBF001C */ lw $ra, 0x1c($sp)
|
|
glabel L800F97E4
|
|
/* B70984 800F97E4 3C188017 */ lui $t8, %hi(D_8016E348) # $t8, 0x8017
|
|
/* B70988 800F97E8 2718E348 */ addiu $t8, %lo(D_8016E348) # addiu $t8, $t8, -0x1cb8
|
|
/* B7098C 800F97EC 30ED00FF */ andi $t5, $a3, 0xff
|
|
/* B70990 800F97F0 030D6021 */ addu $t4, $t8, $t5
|
|
/* B70994 800F97F4 918A0000 */ lbu $t2, ($t4)
|
|
/* B70998 800F97F8 AFAD002C */ sw $t5, 0x2c($sp)
|
|
/* B7099C 800F97FC 00001825 */ move $v1, $zero
|
|
/* B709A0 800F9800 01404825 */ move $t1, $t2
|
|
/* B709A4 800F9804 19400017 */ blez $t2, .L800F9864
|
|
/* B709A8 800F9808 01405825 */ move $t3, $t2
|
|
/* B709AC 800F980C 000D7880 */ sll $t7, $t5, 2
|
|
/* B709B0 800F9810 01ED7821 */ addu $t7, $t7, $t5
|
|
/* B709B4 800F9814 3C0D8017 */ lui $t5, %hi(D_8016E320) # $t5, 0x8017
|
|
/* B709B8 800F9818 25ADE320 */ addiu $t5, %lo(D_8016E320) # addiu $t5, $t5, -0x1ce0
|
|
/* B709BC 800F981C 000F7840 */ sll $t7, $t7, 1
|
|
/* B709C0 800F9820 00B8C821 */ addu $t9, $a1, $t8
|
|
/* B709C4 800F9824 02002025 */ move $a0, $s0
|
|
/* B709C8 800F9828 308400FF */ andi $a0, $a0, 0xff
|
|
/* B709CC 800F982C 93220000 */ lbu $v0, ($t9)
|
|
/* B709D0 800F9830 01ED3021 */ addu $a2, $t7, $t5
|
|
/* B709D4 800F9834 0003C040 */ sll $t8, $v1, 1
|
|
.L800F9838:
|
|
/* B709D8 800F9838 00D8C821 */ addu $t9, $a2, $t8
|
|
/* B709DC 800F983C 932E0000 */ lbu $t6, ($t9)
|
|
/* B709E0 800F9840 548E0004 */ bnel $a0, $t6, .L800F9854
|
|
/* B709E4 800F9844 24630001 */ addiu $v1, $v1, 1
|
|
/* B709E8 800F9848 306900FF */ andi $t1, $v1, 0xff
|
|
/* B709EC 800F984C 314300FF */ andi $v1, $t2, 0xff
|
|
/* B709F0 800F9850 24630001 */ addiu $v1, $v1, 1
|
|
.L800F9854:
|
|
/* B709F4 800F9854 306300FF */ andi $v1, $v1, 0xff
|
|
/* B709F8 800F9858 0062082A */ slt $at, $v1, $v0
|
|
/* B709FC 800F985C 5420FFF6 */ bnezl $at, .L800F9838
|
|
/* B70A00 800F9860 0003C040 */ sll $t8, $v1, 1
|
|
.L800F9864:
|
|
/* B70A04 800F9864 112B001C */ beq $t1, $t3, .L800F98D8
|
|
/* B70A08 800F9868 01204025 */ move $t0, $t1
|
|
/* B70A0C 800F986C 2567FFFF */ addiu $a3, $t3, -1
|
|
/* B70A10 800F9870 0127082A */ slt $at, $t1, $a3
|
|
/* B70A14 800F9874 10200016 */ beqz $at, .L800F98D0
|
|
/* B70A18 800F9878 312300FF */ andi $v1, $t1, 0xff
|
|
/* B70A1C 800F987C 8FAF002C */ lw $t7, 0x2c($sp)
|
|
/* B70A20 800F9880 3C188017 */ lui $t8, %hi(D_8016E320) # $t8, 0x8017
|
|
/* B70A24 800F9884 2718E320 */ addiu $t8, %lo(D_8016E320) # addiu $t8, $t8, -0x1ce0
|
|
/* B70A28 800F9888 000F6880 */ sll $t5, $t7, 2
|
|
/* B70A2C 800F988C 01AF6821 */ addu $t5, $t5, $t7
|
|
/* B70A30 800F9890 000D6840 */ sll $t5, $t5, 1
|
|
/* B70A34 800F9894 01B83021 */ addu $a2, $t5, $t8
|
|
/* B70A38 800F9898 00601025 */ move $v0, $v1
|
|
.L800F989C:
|
|
/* B70A3C 800F989C 00027040 */ sll $t6, $v0, 1
|
|
/* B70A40 800F98A0 00CE2821 */ addu $a1, $a2, $t6
|
|
/* B70A44 800F98A4 90AF0003 */ lbu $t7, 3($a1)
|
|
/* B70A48 800F98A8 0003C840 */ sll $t9, $v1, 1
|
|
/* B70A4C 800F98AC 00D92021 */ addu $a0, $a2, $t9
|
|
/* B70A50 800F98B0 24630001 */ addiu $v1, $v1, 1
|
|
/* B70A54 800F98B4 A08F0001 */ sb $t7, 1($a0)
|
|
/* B70A58 800F98B8 90AD0002 */ lbu $t5, 2($a1)
|
|
/* B70A5C 800F98BC 306300FF */ andi $v1, $v1, 0xff
|
|
/* B70A60 800F98C0 0067082A */ slt $at, $v1, $a3
|
|
/* B70A64 800F98C4 00601025 */ move $v0, $v1
|
|
/* B70A68 800F98C8 1420FFF4 */ bnez $at, .L800F989C
|
|
/* B70A6C 800F98CC A08D0000 */ sb $t5, ($a0)
|
|
.L800F98D0:
|
|
/* B70A70 800F98D0 2558FFFF */ addiu $t8, $t2, -1
|
|
/* B70A74 800F98D4 A1980000 */ sb $t8, ($t4)
|
|
.L800F98D8:
|
|
/* B70A78 800F98D8 150001C7 */ bnez $t0, .L800F9FF8
|
|
/* B70A7C 800F98DC 93A4002F */ lbu $a0, 0x2f($sp)
|
|
/* B70A80 800F98E0 3C0100FF */ lui $at, 0xff
|
|
/* B70A84 800F98E4 02013824 */ and $a3, $s0, $at
|
|
/* B70A88 800F98E8 00073B42 */ srl $a3, $a3, 0xd
|
|
/* B70A8C 800F98EC 30E7FFFF */ andi $a3, $a3, 0xffff
|
|
/* B70A90 800F98F0 30E5FFFF */ andi $a1, $a3, 0xffff
|
|
/* B70A94 800F98F4 AFA7003C */ sw $a3, 0x3c($sp)
|
|
/* B70A98 800F98F8 0C03E51D */ jal func_800F9474
|
|
/* B70A9C 800F98FC AFAC0024 */ sw $t4, 0x24($sp)
|
|
/* B70AA0 800F9900 8FAC0024 */ lw $t4, 0x24($sp)
|
|
/* B70AA4 800F9904 8FA4002C */ lw $a0, 0x2c($sp)
|
|
/* B70AA8 800F9908 8FA7003C */ lw $a3, 0x3c($sp)
|
|
/* B70AAC 800F990C 91990000 */ lbu $t9, ($t4)
|
|
/* B70AB0 800F9910 00047080 */ sll $t6, $a0, 2
|
|
/* B70AB4 800F9914 01C47021 */ addu $t6, $t6, $a0
|
|
/* B70AB8 800F9918 132001B7 */ beqz $t9, .L800F9FF8
|
|
/* B70ABC 800F991C 000E7040 */ sll $t6, $t6, 1
|
|
/* B70AC0 800F9920 3C0F8017 */ lui $t7, %hi(D_8016E320) # $t7, 0x8017
|
|
/* B70AC4 800F9924 25EFE320 */ addiu $t7, %lo(D_8016E320) # addiu $t7, $t7, -0x1ce0
|
|
/* B70AC8 800F9928 01CF1021 */ addu $v0, $t6, $t7
|
|
/* B70ACC 800F992C 90450000 */ lbu $a1, ($v0)
|
|
/* B70AD0 800F9930 0C03E4A0 */ jal func_800F9280
|
|
/* B70AD4 800F9934 90460001 */ lbu $a2, 1($v0)
|
|
/* B70AD8 800F9938 100001B0 */ b .L800F9FFC
|
|
/* B70ADC 800F993C 8FBF001C */ lw $ra, 0x1c($sp)
|
|
glabel L800F9940
|
|
/* B70AE0 800F9940 3C0100FF */ li $at, 0x00FF0000 # 0.000000
|
|
/* B70AE4 800F9944 02011024 */ and $v0, $s0, $at
|
|
/* B70AE8 800F9948 000213C2 */ srl $v0, $v0, 0xf
|
|
/* B70AEC 800F994C 304300FF */ andi $v1, $v0, 0xff
|
|
/* B70AF0 800F9950 14600003 */ bnez $v1, .L800F9960
|
|
/* B70AF4 800F9954 304500FF */ andi $a1, $v0, 0xff
|
|
/* B70AF8 800F9958 24650001 */ addiu $a1, $v1, 1
|
|
/* B70AFC 800F995C 30A500FF */ andi $a1, $a1, 0xff
|
|
.L800F9960:
|
|
/* B70B00 800F9960 30ED00FF */ andi $t5, $a3, 0xff
|
|
/* B70B04 800F9964 000DC080 */ sll $t8, $t5, 2
|
|
/* B70B08 800F9968 030DC021 */ addu $t8, $t8, $t5
|
|
/* B70B0C 800F996C 0018C080 */ sll $t8, $t8, 2
|
|
/* B70B10 800F9970 030DC023 */ subu $t8, $t8, $t5
|
|
/* B70B14 800F9974 0018C0C0 */ sll $t8, $t8, 3
|
|
/* B70B18 800F9978 320E00FF */ andi $t6, $s0, 0xff
|
|
/* B70B1C 800F997C 448E2000 */ mtc1 $t6, $f4
|
|
/* B70B20 800F9980 3C098017 */ lui $t1, %hi(D_8016E750)
|
|
/* B70B24 800F9984 030DC021 */ addu $t8, $t8, $t5
|
|
/* B70B28 800F9988 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
|
|
/* B70B2C 800F998C 0018C080 */ sll $t8, $t8, 2
|
|
/* B70B30 800F9990 01381021 */ addu $v0, $t1, $t8
|
|
/* B70B34 800F9994 05C10005 */ bgez $t6, .L800F99AC
|
|
/* B70B38 800F9998 468021A0 */ cvt.s.w $f6, $f4
|
|
/* B70B3C 800F999C 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
|
/* B70B40 800F99A0 44814000 */ mtc1 $at, $f8
|
|
/* B70B44 800F99A4 00000000 */ nop
|
|
/* B70B48 800F99A8 46083180 */ add.s $f6, $f6, $f8
|
|
.L800F99AC:
|
|
/* B70B4C 800F99AC 3C0142FE */ li $at, 0x42FE0000 # 0.000000
|
|
/* B70B50 800F99B0 44815000 */ mtc1 $at, $f10
|
|
/* B70B54 800F99B4 C4420000 */ lwc1 $f2, ($v0)
|
|
/* B70B58 800F99B8 460A3003 */ div.s $f0, $f6, $f10
|
|
/* B70B5C 800F99BC 46001032 */ c.eq.s $f2, $f0
|
|
/* B70B60 800F99C0 E4400004 */ swc1 $f0, 4($v0)
|
|
/* B70B64 800F99C4 4503018D */ bc1tl .L800F9FFC
|
|
/* B70B68 800F99C8 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* B70B6C 800F99CC C4500004 */ lwc1 $f16, 4($v0)
|
|
/* B70B70 800F99D0 44852000 */ mtc1 $a1, $f4
|
|
/* B70B74 800F99D4 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
|
/* B70B78 800F99D8 46101481 */ sub.s $f18, $f2, $f16
|
|
/* B70B7C 800F99DC 04A10004 */ bgez $a1, .L800F99F0
|
|
/* B70B80 800F99E0 46802220 */ cvt.s.w $f8, $f4
|
|
/* B70B84 800F99E4 44813000 */ mtc1 $at, $f6
|
|
/* B70B88 800F99E8 00000000 */ nop
|
|
/* B70B8C 800F99EC 46064200 */ add.s $f8, $f8, $f6
|
|
.L800F99F0:
|
|
/* B70B90 800F99F0 46089283 */ div.s $f10, $f18, $f8
|
|
/* B70B94 800F99F4 A445000C */ sh $a1, 0xc($v0)
|
|
/* B70B98 800F99F8 1000017F */ b .L800F9FF8
|
|
/* B70B9C 800F99FC E44A0008 */ swc1 $f10, 8($v0)
|
|
glabel L800F9A00
|
|
/* B70BA0 800F9A00 3C0100FF */ li $at, 0x00FF0000 # 0.000000
|
|
/* B70BA4 800F9A04 02011024 */ and $v0, $s0, $at
|
|
/* B70BA8 800F9A08 000213C2 */ srl $v0, $v0, 0xf
|
|
/* B70BAC 800F9A0C 304300FF */ andi $v1, $v0, 0xff
|
|
/* B70BB0 800F9A10 02003025 */ move $a2, $s0
|
|
/* B70BB4 800F9A14 304500FF */ andi $a1, $v0, 0xff
|
|
/* B70BB8 800F9A18 14600003 */ bnez $v1, .L800F9A28
|
|
/* B70BBC 800F9A1C 30C6FFFF */ andi $a2, $a2, 0xffff
|
|
/* B70BC0 800F9A20 24650001 */ addiu $a1, $v1, 1
|
|
/* B70BC4 800F9A24 30A500FF */ andi $a1, $a1, 0xff
|
|
.L800F9A28:
|
|
/* B70BC8 800F9A28 44858000 */ mtc1 $a1, $f16
|
|
/* B70BCC 800F9A2C 00001825 */ move $v1, $zero
|
|
/* B70BD0 800F9A30 04A10005 */ bgez $a1, .L800F9A48
|
|
/* B70BD4 800F9A34 468080A0 */ cvt.s.w $f2, $f16
|
|
/* B70BD8 800F9A38 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
|
/* B70BDC 800F9A3C 44812000 */ mtc1 $at, $f4
|
|
/* B70BE0 800F9A40 00000000 */ nop
|
|
/* B70BE4 800F9A44 46041080 */ add.s $f2, $f2, $f4
|
|
.L800F9A48:
|
|
/* B70BE8 800F9A48 30E800FF */ andi $t0, $a3, 0xff
|
|
/* B70BEC 800F9A4C 00087880 */ sll $t7, $t0, 2
|
|
/* B70BF0 800F9A50 01E87821 */ addu $t7, $t7, $t0
|
|
/* B70BF4 800F9A54 000F7880 */ sll $t7, $t7, 2
|
|
/* B70BF8 800F9A58 01E87823 */ subu $t7, $t7, $t0
|
|
/* B70BFC 800F9A5C 000F78C0 */ sll $t7, $t7, 3
|
|
/* B70C00 800F9A60 44863000 */ mtc1 $a2, $f6
|
|
/* B70C04 800F9A64 01E87821 */ addu $t7, $t7, $t0
|
|
/* B70C08 800F9A68 3C0D8017 */ lui $t5, %hi(D_8016E750) # $t5, 0x8017
|
|
/* B70C0C 800F9A6C 25ADE750 */ addiu $t5, %lo(D_8016E750) # addiu $t5, $t5, -0x18b0
|
|
/* B70C10 800F9A70 000F7880 */ sll $t7, $t7, 2
|
|
/* B70C14 800F9A74 01ED2021 */ addu $a0, $t7, $t5
|
|
/* B70C18 800F9A78 04C10005 */ bgez $a2, .L800F9A90
|
|
/* B70C1C 800F9A7C 468034A0 */ cvt.s.w $f18, $f6
|
|
/* B70C20 800F9A80 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
|
/* B70C24 800F9A84 44814000 */ mtc1 $at, $f8
|
|
/* B70C28 800F9A88 00000000 */ nop
|
|
/* B70C2C 800F9A8C 46089480 */ add.s $f18, $f18, $f8
|
|
.L800F9A90:
|
|
/* B70C30 800F9A90 3C01447A */ li $at, 0x447A0000 # 0.000000
|
|
/* B70C34 800F9A94 44815000 */ mtc1 $at, $f10
|
|
/* B70C38 800F9A98 3C098017 */ lui $t1, %hi(D_8016E750) # $t1, 0x8017
|
|
/* B70C3C 800F9A9C 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
|
|
/* B70C40 800F9AA0 460A9003 */ div.s $f0, $f18, $f10
|
|
.L800F9AA4:
|
|
/* B70C44 800F9AA4 0003C140 */ sll $t8, $v1, 5
|
|
/* B70C48 800F9AA8 00981021 */ addu $v0, $a0, $t8
|
|
/* B70C4C 800F9AAC C4500060 */ lwc1 $f16, 0x60($v0)
|
|
/* B70C50 800F9AB0 24630001 */ addiu $v1, $v1, 1
|
|
/* B70C54 800F9AB4 306300FF */ andi $v1, $v1, 0xff
|
|
/* B70C58 800F9AB8 46008101 */ sub.s $f4, $f16, $f0
|
|
/* B70C5C 800F9ABC 28610010 */ slti $at, $v1, 0x10
|
|
/* B70C60 800F9AC0 E4400064 */ swc1 $f0, 0x64($v0)
|
|
/* B70C64 800F9AC4 A445006C */ sh $a1, 0x6c($v0)
|
|
/* B70C68 800F9AC8 46022183 */ div.s $f6, $f4, $f2
|
|
/* B70C6C 800F9ACC 1420FFF5 */ bnez $at, .L800F9AA4
|
|
/* B70C70 800F9AD0 E4460068 */ swc1 $f6, 0x68($v0)
|
|
/* B70C74 800F9AD4 00087080 */ sll $t6, $t0, 2
|
|
/* B70C78 800F9AD8 01C87021 */ addu $t6, $t6, $t0
|
|
/* B70C7C 800F9ADC 000E7080 */ sll $t6, $t6, 2
|
|
/* B70C80 800F9AE0 01C87023 */ subu $t6, $t6, $t0
|
|
/* B70C84 800F9AE4 000E70C0 */ sll $t6, $t6, 3
|
|
/* B70C88 800F9AE8 01C87021 */ addu $t6, $t6, $t0
|
|
/* B70C8C 800F9AEC 000E7080 */ sll $t6, $t6, 2
|
|
/* B70C90 800F9AF0 012E7821 */ addu $t7, $t1, $t6
|
|
/* B70C94 800F9AF4 3419FFFF */ li $t9, 65535
|
|
/* B70C98 800F9AF8 1000013F */ b .L800F9FF8
|
|
/* B70C9C 800F9AFC A5F90250 */ sh $t9, 0x250($t7)
|
|
glabel L800F9B00
|
|
/* B70CA0 800F9B00 3C0100FF */ lui $at, 0xff
|
|
/* B70CA4 800F9B04 02011024 */ and $v0, $s0, $at
|
|
/* B70CA8 800F9B08 000213C2 */ srl $v0, $v0, 0xf
|
|
/* B70CAC 800F9B0C 304300FF */ andi $v1, $v0, 0xff
|
|
/* B70CB0 800F9B10 14600003 */ bnez $v1, .L800F9B20
|
|
/* B70CB4 800F9B14 304500FF */ andi $a1, $v0, 0xff
|
|
/* B70CB8 800F9B18 24650001 */ addiu $a1, $v1, 1
|
|
/* B70CBC 800F9B1C 30A500FF */ andi $a1, $a1, 0xff
|
|
.L800F9B20:
|
|
/* B70CC0 800F9B20 30ED00FF */ andi $t5, $a3, 0xff
|
|
/* B70CC4 800F9B24 000DC080 */ sll $t8, $t5, 2
|
|
/* B70CC8 800F9B28 030DC021 */ addu $t8, $t8, $t5
|
|
/* B70CCC 800F9B2C 0018C080 */ sll $t8, $t8, 2
|
|
/* B70CD0 800F9B30 030DC023 */ subu $t8, $t8, $t5
|
|
/* B70CD4 800F9B34 0018C0C0 */ sll $t8, $t8, 3
|
|
/* B70CD8 800F9B38 3204F000 */ andi $a0, $s0, 0xf000
|
|
/* B70CDC 800F9B3C 3C098017 */ lui $t1, %hi(D_8016E750)
|
|
/* B70CE0 800F9B40 00042302 */ srl $a0, $a0, 0xc
|
|
/* B70CE4 800F9B44 030DC021 */ addu $t8, $t8, $t5
|
|
/* B70CE8 800F9B48 320F0FFF */ andi $t7, $s0, 0xfff
|
|
/* B70CEC 800F9B4C 448F4000 */ mtc1 $t7, $f8
|
|
/* B70CF0 800F9B50 2529E750 */ addiu $t1, %lo(D_8016E750)
|
|
/* B70CF4 800F9B54 0018C080 */ sll $t8, $t8, 2
|
|
/* B70CF8 800F9B58 308400FF */ andi $a0, $a0, 0xff
|
|
/* B70CFC 800F9B5C 00047140 */ sll $t6, $a0, 5
|
|
/* B70D00 800F9B60 01381021 */ addu $v0, $t1, $t8
|
|
/* B70D04 800F9B64 004E1821 */ addu $v1, $v0, $t6
|
|
/* B70D08 800F9B68 05E10005 */ bgez $t7, .L800F9B80
|
|
/* B70D0C 800F9B6C 468044A0 */ cvt.s.w $f18, $f8
|
|
/* B70D10 800F9B70 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
|
/* B70D14 800F9B74 44815000 */ mtc1 $at, $f10
|
|
/* B70D18 800F9B78 00000000 */ nop
|
|
/* B70D1C 800F9B7C 460A9480 */ add.s $f18, $f18, $f10
|
|
.L800F9B80:
|
|
/* B70D20 800F9B80 3C01447A */ li $at, 0x447A0000 # 0.000000
|
|
/* B70D24 800F9B84 44818000 */ mtc1 $at, $f16
|
|
/* B70D28 800F9B88 C4640060 */ lwc1 $f4, 0x60($v1)
|
|
/* B70D2C 800F9B8C 44854000 */ mtc1 $a1, $f8
|
|
/* B70D30 800F9B90 46109003 */ div.s $f0, $f18, $f16
|
|
/* B70D34 800F9B94 468042A0 */ cvt.s.w $f10, $f8
|
|
/* B70D38 800F9B98 E4600064 */ swc1 $f0, 0x64($v1)
|
|
/* B70D3C 800F9B9C 04A10005 */ bgez $a1, .L800F9BB4
|
|
/* B70D40 800F9BA0 46002181 */ sub.s $f6, $f4, $f0
|
|
/* B70D44 800F9BA4 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
|
/* B70D48 800F9BA8 44819000 */ mtc1 $at, $f18
|
|
/* B70D4C 800F9BAC 00000000 */ nop
|
|
/* B70D50 800F9BB0 46125280 */ add.s $f10, $f10, $f18
|
|
.L800F9BB4:
|
|
/* B70D54 800F9BB4 460A3403 */ div.s $f16, $f6, $f10
|
|
/* B70D58 800F9BB8 A465006C */ sh $a1, 0x6c($v1)
|
|
/* B70D5C 800F9BBC 24180001 */ li $t8, 1
|
|
/* B70D60 800F9BC0 00987004 */ sllv $t6, $t8, $a0
|
|
/* B70D64 800F9BC4 E4700068 */ swc1 $f16, 0x68($v1)
|
|
/* B70D68 800F9BC8 944D0250 */ lhu $t5, 0x250($v0)
|
|
/* B70D6C 800F9BCC 01AEC825 */ or $t9, $t5, $t6
|
|
/* B70D70 800F9BD0 10000109 */ b .L800F9FF8
|
|
/* B70D74 800F9BD4 A4590250 */ sh $t9, 0x250($v0)
|
|
glabel L800F9BD8
|
|
/* B70D78 800F9BD8 3C0100FF */ lui $at, 0xff
|
|
/* B70D7C 800F9BDC 02011024 */ and $v0, $s0, $at
|
|
/* B70D80 800F9BE0 000213C2 */ srl $v0, $v0, 0xf
|
|
/* B70D84 800F9BE4 304300FF */ andi $v1, $v0, 0xff
|
|
/* B70D88 800F9BE8 14600003 */ bnez $v1, .L800F9BF8
|
|
/* B70D8C 800F9BEC 304500FF */ andi $a1, $v0, 0xff
|
|
/* B70D90 800F9BF0 24650001 */ addiu $a1, $v1, 1
|
|
/* B70D94 800F9BF4 30A500FF */ andi $a1, $a1, 0xff
|
|
.L800F9BF8:
|
|
/* B70D98 800F9BF8 30E800FF */ andi $t0, $a3, 0xff
|
|
/* B70D9C 800F9BFC 00087880 */ sll $t7, $t0, 2
|
|
/* B70DA0 800F9C00 01E87821 */ addu $t7, $t7, $t0
|
|
/* B70DA4 800F9C04 000F7880 */ sll $t7, $t7, 2
|
|
/* B70DA8 800F9C08 01E87823 */ subu $t7, $t7, $t0
|
|
/* B70DAC 800F9C0C 000F78C0 */ sll $t7, $t7, 3
|
|
/* B70DB0 800F9C10 32060F00 */ andi $a2, $s0, 0xf00
|
|
/* B70DB4 800F9C14 3C098017 */ lui $t1, %hi(D_8016E750)
|
|
/* B70DB8 800F9C18 00063202 */ srl $a2, $a2, 8
|
|
/* B70DBC 800F9C1C 01E87821 */ addu $t7, $t7, $t0
|
|
/* B70DC0 800F9C20 320E00FF */ andi $t6, $s0, 0xff
|
|
/* B70DC4 800F9C24 448E2000 */ mtc1 $t6, $f4
|
|
/* B70DC8 800F9C28 2529E750 */ addiu $t1, %lo(D_8016E750)
|
|
/* B70DCC 800F9C2C 000F7880 */ sll $t7, $t7, 2
|
|
/* B70DD0 800F9C30 30C600FF */ andi $a2, $a2, 0xff
|
|
/* B70DD4 800F9C34 00062140 */ sll $a0, $a2, 5
|
|
/* B70DD8 800F9C38 012FC021 */ addu $t8, $t1, $t7
|
|
/* B70DDC 800F9C3C 03041021 */ addu $v0, $t8, $a0
|
|
/* B70DE0 800F9C40 05C10005 */ bgez $t6, .L800F9C58
|
|
/* B70DE4 800F9C44 46802220 */ cvt.s.w $f8, $f4
|
|
/* B70DE8 800F9C48 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
|
/* B70DEC 800F9C4C 44819000 */ mtc1 $at, $f18
|
|
/* B70DF0 800F9C50 00000000 */ nop
|
|
/* B70DF4 800F9C54 46124200 */ add.s $f8, $f8, $f18
|
|
.L800F9C58:
|
|
/* B70DF8 800F9C58 3C0142FE */ li $at, 0x42FE0000 # 0.000000
|
|
/* B70DFC 800F9C5C 44813000 */ mtc1 $at, $f6
|
|
/* B70E00 800F9C60 C44A0050 */ lwc1 $f10, 0x50($v0)
|
|
/* B70E04 800F9C64 46064003 */ div.s $f0, $f8, $f6
|
|
/* B70E08 800F9C68 46005032 */ c.eq.s $f10, $f0
|
|
/* B70E0C 800F9C6C E4400054 */ swc1 $f0, 0x54($v0)
|
|
/* B70E10 800F9C70 450100E1 */ bc1t .L800F9FF8
|
|
/* B70E14 800F9C74 0008C880 */ sll $t9, $t0, 2
|
|
/* B70E18 800F9C78 0328C821 */ addu $t9, $t9, $t0
|
|
/* B70E1C 800F9C7C 0019C880 */ sll $t9, $t9, 2
|
|
/* B70E20 800F9C80 0328C823 */ subu $t9, $t9, $t0
|
|
/* B70E24 800F9C84 0019C8C0 */ sll $t9, $t9, 3
|
|
/* B70E28 800F9C88 0328C821 */ addu $t9, $t9, $t0
|
|
/* B70E2C 800F9C8C 0019C880 */ sll $t9, $t9, 2
|
|
/* B70E30 800F9C90 01391021 */ addu $v0, $t1, $t9
|
|
/* B70E34 800F9C94 00441821 */ addu $v1, $v0, $a0
|
|
/* B70E38 800F9C98 C4700050 */ lwc1 $f16, 0x50($v1)
|
|
/* B70E3C 800F9C9C C4640054 */ lwc1 $f4, 0x54($v1)
|
|
/* B70E40 800F9CA0 44854000 */ mtc1 $a1, $f8
|
|
/* B70E44 800F9CA4 3C014F80 */ li $at, 0x4F800000 # 0.000000
|
|
/* B70E48 800F9CA8 46048481 */ sub.s $f18, $f16, $f4
|
|
/* B70E4C 800F9CAC 04A10004 */ bgez $a1, .L800F9CC0
|
|
/* B70E50 800F9CB0 468041A0 */ cvt.s.w $f6, $f8
|
|
/* B70E54 800F9CB4 44815000 */ mtc1 $at, $f10
|
|
/* B70E58 800F9CB8 00000000 */ nop
|
|
/* B70E5C 800F9CBC 460A3180 */ add.s $f6, $f6, $f10
|
|
.L800F9CC0:
|
|
/* B70E60 800F9CC0 46069403 */ div.s $f16, $f18, $f6
|
|
/* B70E64 800F9CC4 A465005C */ sh $a1, 0x5c($v1)
|
|
/* B70E68 800F9CC8 24180001 */ li $t8, 1
|
|
/* B70E6C 800F9CCC 00D86804 */ sllv $t5, $t8, $a2
|
|
/* B70E70 800F9CD0 E4700058 */ swc1 $f16, 0x58($v1)
|
|
/* B70E74 800F9CD4 944F0252 */ lhu $t7, 0x252($v0)
|
|
/* B70E78 800F9CD8 01ED7025 */ or $t6, $t7, $t5
|
|
/* B70E7C 800F9CDC 100000C6 */ b .L800F9FF8
|
|
/* B70E80 800F9CE0 A44E0252 */ sh $t6, 0x252($v0)
|
|
glabel L800F9CE4
|
|
/* B70E84 800F9CE4 30F800FF */ andi $t8, $a3, 0xff
|
|
/* B70E88 800F9CE8 00187C00 */ sll $t7, $t8, 0x10
|
|
/* B70E8C 800F9CEC 3C014600 */ lui $at, 0x4600
|
|
/* B70E90 800F9CF0 01E16825 */ or $t5, $t7, $at
|
|
/* B70E94 800F9CF4 3C0100FF */ lui $at, 0xff
|
|
/* B70E98 800F9CF8 02017024 */ and $t6, $s0, $at
|
|
/* B70E9C 800F9CFC 000EC402 */ srl $t8, $t6, 0x10
|
|
/* B70EA0 800F9D00 02002825 */ move $a1, $s0
|
|
/* B70EA4 800F9D04 00052E00 */ sll $a1, $a1, 0x18
|
|
/* B70EA8 800F9D08 330F00FF */ andi $t7, $t8, 0xff
|
|
/* B70EAC 800F9D0C 01AF2025 */ or $a0, $t5, $t7
|
|
/* B70EB0 800F9D10 0C0396C8 */ jal Audio_QueueCmdS8
|
|
/* B70EB4 800F9D14 00052E03 */ sra $a1, $a1, 0x18
|
|
/* B70EB8 800F9D18 100000B8 */ b .L800F9FFC
|
|
/* B70EBC 800F9D1C 8FBF001C */ lw $ra, 0x1c($sp)
|
|
glabel L800F9D20
|
|
/* B70EC0 800F9D20 30E200FF */ andi $v0, $a3, 0xff
|
|
/* B70EC4 800F9D24 00027080 */ sll $t6, $v0, 2
|
|
/* B70EC8 800F9D28 01C27021 */ addu $t6, $t6, $v0
|
|
/* B70ECC 800F9D2C 000E7080 */ sll $t6, $t6, 2
|
|
/* B70ED0 800F9D30 01C27023 */ subu $t6, $t6, $v0
|
|
/* B70ED4 800F9D34 000E70C0 */ sll $t6, $t6, 3
|
|
/* B70ED8 800F9D38 3C098017 */ lui $t1, %hi(D_8016E750) # $t1, 0x8017
|
|
/* B70EDC 800F9D3C 01C27021 */ addu $t6, $t6, $v0
|
|
/* B70EE0 800F9D40 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
|
|
/* B70EE4 800F9D44 000E7080 */ sll $t6, $t6, 2
|
|
/* B70EE8 800F9D48 012EC821 */ addu $t9, $t1, $t6
|
|
/* B70EEC 800F9D4C 32060F00 */ andi $a2, $s0, 0xf00
|
|
/* B70EF0 800F9D50 97380258 */ lhu $t8, 0x258($t9)
|
|
/* B70EF4 800F9D54 00063202 */ srl $a2, $a2, 8
|
|
/* B70EF8 800F9D58 30C600FF */ andi $a2, $a2, 0xff
|
|
/* B70EFC 800F9D5C 240D0001 */ li $t5, 1
|
|
/* B70F00 800F9D60 00CD7804 */ sllv $t7, $t5, $a2
|
|
/* B70F04 800F9D64 030F7024 */ and $t6, $t8, $t7
|
|
/* B70F08 800F9D68 15C000A3 */ bnez $t6, .L800F9FF8
|
|
/* B70F0C 800F9D6C 305900FF */ andi $t9, $v0, 0xff
|
|
/* B70F10 800F9D70 00196C00 */ sll $t5, $t9, 0x10
|
|
/* B70F14 800F9D74 3C010600 */ lui $at, 0x600
|
|
/* B70F18 800F9D78 01A1C025 */ or $t8, $t5, $at
|
|
/* B70F1C 800F9D7C 30CF00FF */ andi $t7, $a2, 0xff
|
|
/* B70F20 800F9D80 000F7200 */ sll $t6, $t7, 8
|
|
/* B70F24 800F9D84 3C0100FF */ lui $at, 0xff
|
|
/* B70F28 800F9D88 02016824 */ and $t5, $s0, $at
|
|
/* B70F2C 800F9D8C 030EC825 */ or $t9, $t8, $t6
|
|
/* B70F30 800F9D90 000DC402 */ srl $t8, $t5, 0x10
|
|
/* B70F34 800F9D94 02002825 */ move $a1, $s0
|
|
/* B70F38 800F9D98 00052E00 */ sll $a1, $a1, 0x18
|
|
/* B70F3C 800F9D9C 330E00FF */ andi $t6, $t8, 0xff
|
|
/* B70F40 800F9DA0 032E2025 */ or $a0, $t9, $t6
|
|
/* B70F44 800F9DA4 0C0396C8 */ jal Audio_QueueCmdS8
|
|
/* B70F48 800F9DA8 00052E03 */ sra $a1, $a1, 0x18
|
|
/* B70F4C 800F9DAC 10000093 */ b .L800F9FFC
|
|
/* B70F50 800F9DB0 8FBF001C */ lw $ra, 0x1c($sp)
|
|
glabel L800F9DB4
|
|
/* B70F54 800F9DB4 30EF00FF */ andi $t7, $a3, 0xff
|
|
/* B70F58 800F9DB8 000FC080 */ sll $t8, $t7, 2
|
|
/* B70F5C 800F9DBC 030FC021 */ addu $t8, $t8, $t7
|
|
/* B70F60 800F9DC0 0018C080 */ sll $t8, $t8, 2
|
|
/* B70F64 800F9DC4 030FC023 */ subu $t8, $t8, $t7
|
|
/* B70F68 800F9DC8 0018C0C0 */ sll $t8, $t8, 3
|
|
/* B70F6C 800F9DCC 3C098017 */ lui $t1, %hi(D_8016E750) # $t1, 0x8017
|
|
/* B70F70 800F9DD0 030FC021 */ addu $t8, $t8, $t7
|
|
/* B70F74 800F9DD4 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
|
|
/* B70F78 800F9DD8 0018C080 */ sll $t8, $t8, 2
|
|
/* B70F7C 800F9DDC 0138C821 */ addu $t9, $t1, $t8
|
|
/* B70F80 800F9DE0 10000085 */ b .L800F9FF8
|
|
/* B70F84 800F9DE4 A7300258 */ sh $s0, 0x258($t9)
|
|
glabel L800F9DE8
|
|
/* B70F88 800F9DE8 02003025 */ move $a2, $s0
|
|
/* B70F8C 800F9DEC 30C6FFFF */ andi $a2, $a2, 0xffff
|
|
/* B70F90 800F9DF0 10C00013 */ beqz $a2, .L800F9E40
|
|
/* B70F94 800F9DF4 00C01825 */ move $v1, $a2
|
|
/* B70F98 800F9DF8 00E01025 */ move $v0, $a3
|
|
/* B70F9C 800F9DFC 304200FF */ andi $v0, $v0, 0xff
|
|
/* B70FA0 800F9E00 00021400 */ sll $v0, $v0, 0x10
|
|
/* B70FA4 800F9E04 3C019000 */ lui $at, 0x9000
|
|
/* B70FA8 800F9E08 00412025 */ or $a0, $v0, $at
|
|
/* B70FAC 800F9E0C AFA20030 */ sw $v0, 0x30($sp)
|
|
/* B70FB0 800F9E10 30C5FFFF */ andi $a1, $a2, 0xffff
|
|
/* B70FB4 800F9E14 AFA60034 */ sw $a2, 0x34($sp)
|
|
/* B70FB8 800F9E18 0C0396D4 */ jal Audio_QueueCmdU16
|
|
/* B70FBC 800F9E1C AFA70038 */ sw $a3, 0x38($sp)
|
|
/* B70FC0 800F9E20 8FA20030 */ lw $v0, 0x30($sp)
|
|
/* B70FC4 800F9E24 3C010800 */ lui $at, 0x800
|
|
/* B70FC8 800F9E28 24050001 */ li $a1, 1
|
|
/* B70FCC 800F9E2C 00412025 */ or $a0, $v0, $at
|
|
/* B70FD0 800F9E30 0C0396C8 */ jal Audio_QueueCmdS8
|
|
/* B70FD4 800F9E34 3484FF00 */ ori $a0, $a0, 0xff00
|
|
/* B70FD8 800F9E38 8FA30034 */ lw $v1, 0x34($sp)
|
|
/* B70FDC 800F9E3C 8FA70038 */ lw $a3, 0x38($sp)
|
|
.L800F9E40:
|
|
/* B70FE0 800F9E40 3866FFFF */ xori $a2, $v1, 0xffff
|
|
/* B70FE4 800F9E44 10C0006C */ beqz $a2, .L800F9FF8
|
|
/* B70FE8 800F9E48 00E01025 */ move $v0, $a3
|
|
/* B70FEC 800F9E4C 304200FF */ andi $v0, $v0, 0xff
|
|
/* B70FF0 800F9E50 00021400 */ sll $v0, $v0, 0x10
|
|
/* B70FF4 800F9E54 3C019000 */ lui $at, 0x9000
|
|
/* B70FF8 800F9E58 00412025 */ or $a0, $v0, $at
|
|
/* B70FFC 800F9E5C 3C010800 */ lui $at, 0x800
|
|
/* B71000 800F9E60 00418025 */ or $s0, $v0, $at
|
|
/* B71004 800F9E64 3610FF00 */ ori $s0, $s0, 0xff00
|
|
/* B71008 800F9E68 0C0396D4 */ jal Audio_QueueCmdU16
|
|
/* B7100C 800F9E6C 30C5FFFF */ andi $a1, $a2, 0xffff
|
|
/* B71010 800F9E70 02002025 */ move $a0, $s0
|
|
/* B71014 800F9E74 0C0396C8 */ jal Audio_QueueCmdS8
|
|
/* B71018 800F9E78 00002825 */ move $a1, $zero
|
|
/* B7101C 800F9E7C 1000005F */ b .L800F9FFC
|
|
/* B71020 800F9E80 8FBF001C */ lw $ra, 0x1c($sp)
|
|
glabel L800F9E84
|
|
/* B71024 800F9E84 30EE00FF */ andi $t6, $a3, 0xff
|
|
/* B71028 800F9E88 000E7880 */ sll $t7, $t6, 2
|
|
/* B7102C 800F9E8C 01EE7821 */ addu $t7, $t7, $t6
|
|
/* B71030 800F9E90 000F7880 */ sll $t7, $t7, 2
|
|
/* B71034 800F9E94 01EE7823 */ subu $t7, $t7, $t6
|
|
/* B71038 800F9E98 000F78C0 */ sll $t7, $t7, 3
|
|
/* B7103C 800F9E9C 3C098017 */ lui $t1, %hi(D_8016E750) # $t1, 0x8017
|
|
/* B71040 800F9EA0 01EE7821 */ addu $t7, $t7, $t6
|
|
/* B71044 800F9EA4 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
|
|
/* B71048 800F9EA8 000F7880 */ sll $t7, $t7, 2
|
|
/* B7104C 800F9EAC 012FC021 */ addu $t8, $t1, $t7
|
|
/* B71050 800F9EB0 10000051 */ b .L800F9FF8
|
|
/* B71054 800F9EB4 AF100014 */ sw $s0, 0x14($t8)
|
|
glabel L800F9EB8
|
|
/* B71058 800F9EB8 3C0100F0 */ lui $at, 0xf0
|
|
/* B7105C 800F9EBC 02016824 */ and $t5, $s0, $at
|
|
/* B71060 800F9EC0 000DCD02 */ srl $t9, $t5, 0x14
|
|
/* B71064 800F9EC4 332E00FF */ andi $t6, $t9, 0xff
|
|
/* B71068 800F9EC8 2401000F */ li $at, 15
|
|
/* B7106C 800F9ECC 11C10019 */ beq $t6, $at, .L800F9F34
|
|
/* B71070 800F9ED0 30EF00FF */ andi $t7, $a3, 0xff
|
|
/* B71074 800F9ED4 000FC080 */ sll $t8, $t7, 2
|
|
/* B71078 800F9ED8 030FC021 */ addu $t8, $t8, $t7
|
|
/* B7107C 800F9EDC 0018C080 */ sll $t8, $t8, 2
|
|
/* B71080 800F9EE0 030FC023 */ subu $t8, $t8, $t7
|
|
/* B71084 800F9EE4 0018C0C0 */ sll $t8, $t8, 3
|
|
/* B71088 800F9EE8 3C098017 */ lui $t1, %hi(D_8016E750) # $t1, 0x8017
|
|
/* B7108C 800F9EEC 030FC021 */ addu $t8, $t8, $t7
|
|
/* B71090 800F9EF0 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
|
|
/* B71094 800F9EF4 0018C080 */ sll $t8, $t8, 2
|
|
/* B71098 800F9EF8 01381021 */ addu $v0, $t1, $t8
|
|
/* B7109C 800F9EFC 9043004D */ lbu $v1, 0x4d($v0)
|
|
/* B710A0 800F9F00 28610007 */ slti $at, $v1, 7
|
|
/* B710A4 800F9F04 1020003C */ beqz $at, .L800F9FF8
|
|
/* B710A8 800F9F08 306900FF */ andi $t1, $v1, 0xff
|
|
/* B710AC 800F9F0C 246D0001 */ addiu $t5, $v1, 1
|
|
/* B710B0 800F9F10 29210008 */ slti $at, $t1, 8
|
|
/* B710B4 800F9F14 10200038 */ beqz $at, .L800F9FF8
|
|
/* B710B8 800F9F18 A04D004D */ sb $t5, 0x4d($v0)
|
|
/* B710BC 800F9F1C 0009C880 */ sll $t9, $t1, 2
|
|
/* B710C0 800F9F20 00597021 */ addu $t6, $v0, $t9
|
|
/* B710C4 800F9F24 ADD0002C */ sw $s0, 0x2c($t6)
|
|
/* B710C8 800F9F28 240F0002 */ li $t7, 2
|
|
/* B710CC 800F9F2C 10000032 */ b .L800F9FF8
|
|
/* B710D0 800F9F30 A04F004C */ sb $t7, 0x4c($v0)
|
|
.L800F9F34:
|
|
/* B710D4 800F9F34 30F800FF */ andi $t8, $a3, 0xff
|
|
/* B710D8 800F9F38 00186880 */ sll $t5, $t8, 2
|
|
/* B710DC 800F9F3C 01B86821 */ addu $t5, $t5, $t8
|
|
/* B710E0 800F9F40 000D6880 */ sll $t5, $t5, 2
|
|
/* B710E4 800F9F44 01B86823 */ subu $t5, $t5, $t8
|
|
/* B710E8 800F9F48 000D68C0 */ sll $t5, $t5, 3
|
|
/* B710EC 800F9F4C 3C098017 */ lui $t1, %hi(D_8016E750) # $t1, 0x8017
|
|
/* B710F0 800F9F50 01B86821 */ addu $t5, $t5, $t8
|
|
/* B710F4 800F9F54 2529E750 */ addiu $t1, %lo(D_8016E750) # addiu $t1, $t1, -0x18b0
|
|
/* B710F8 800F9F58 000D6880 */ sll $t5, $t5, 2
|
|
/* B710FC 800F9F5C 012DC821 */ addu $t9, $t1, $t5
|
|
/* B71100 800F9F60 10000025 */ b .L800F9FF8
|
|
/* B71104 800F9F64 A320004D */ sb $zero, 0x4d($t9)
|
|
glabel L800F9F68
|
|
/* B71108 800F9F68 32020F00 */ andi $v0, $s0, 0xf00
|
|
/* B7110C 800F9F6C 00021202 */ srl $v0, $v0, 8
|
|
/* B71110 800F9F70 304200FF */ andi $v0, $v0, 0xff
|
|
/* B71114 800F9F74 10400006 */ beqz $v0, .L800F9F90
|
|
/* B71118 800F9F78 3C04F000 */ lui $a0, 0xf000
|
|
/* B7111C 800F9F7C 24010001 */ li $at, 1
|
|
/* B71120 800F9F80 1041000A */ beq $v0, $at, .L800F9FAC
|
|
/* B71124 800F9F84 32190001 */ andi $t9, $s0, 1
|
|
/* B71128 800F9F88 1000001C */ b .L800F9FFC
|
|
/* B7112C 800F9F8C 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L800F9F90:
|
|
/* B71130 800F9F90 320F00FF */ andi $t7, $s0, 0xff
|
|
/* B71134 800F9F94 3C058013 */ lui $a1, %hi(D_80133410)
|
|
/* B71138 800F9F98 00AF2821 */ addu $a1, $a1, $t7
|
|
/* B7113C 800F9F9C 0C0396BF */ jal Audio_QueueCmdS32
|
|
/* B71140 800F9FA0 90A53410 */ lbu $a1, %lo(D_80133410)($a1)
|
|
/* B71144 800F9FA4 10000015 */ b .L800F9FFC
|
|
/* B71148 800F9FA8 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L800F9FAC:
|
|
/* B7114C 800F9FAC 3C018013 */ lui $at, %hi(D_80133408) # $at, 0x8013
|
|
/* B71150 800F9FB0 10000011 */ b .L800F9FF8
|
|
/* B71154 800F9FB4 A0393408 */ sb $t9, %lo(D_80133408)($at)
|
|
glabel L800F9FB8
|
|
/* B71158 800F9FB8 320EFF00 */ andi $t6, $s0, 0xff00
|
|
/* B7115C 800F9FBC 3C038013 */ lui $v1, %hi(D_80133414) # $v1, 0x8013
|
|
/* B71160 800F9FC0 000E7A02 */ srl $t7, $t6, 8
|
|
/* B71164 800F9FC4 3C018013 */ lui $at, %hi(D_801333CC) # $at, 0x8013
|
|
/* B71168 800F9FC8 24633414 */ addiu $v1, %lo(D_80133414) # addiu $v1, $v1, 0x3414
|
|
/* B7116C 800F9FCC A02F33CC */ sb $t7, %lo(D_801333CC)($at)
|
|
/* B71170 800F9FD0 90780000 */ lbu $t8, ($v1)
|
|
/* B71174 800F9FD4 A0700000 */ sb $s0, ($v1)
|
|
/* B71178 800F9FD8 320400FF */ andi $a0, $s0, 0xff
|
|
/* B7117C 800F9FDC 0C0397E2 */ jal func_800E5F88
|
|
/* B71180 800F9FE0 A3B80059 */ sb $t8, 0x59($sp)
|
|
/* B71184 800F9FE4 0C03DC6F */ jal func_800F71BC
|
|
/* B71188 800F9FE8 93A40059 */ lbu $a0, 0x59($sp)
|
|
/* B7118C 800F9FEC 3C04F800 */ lui $a0, 0xf800
|
|
/* B71190 800F9FF0 0C0396BF */ jal Audio_QueueCmdS32
|
|
/* B71194 800F9FF4 00002825 */ move $a1, $zero
|
|
.L800F9FF8:
|
|
/* B71198 800F9FF8 8FBF001C */ lw $ra, 0x1c($sp)
|
|
.L800F9FFC:
|
|
/* B7119C 800F9FFC 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* B711A0 800FA000 27BD0068 */ addiu $sp, $sp, 0x68
|
|
/* B711A4 800FA004 03E00008 */ jr $ra
|
|
/* B711A8 800FA008 00000000 */ nop
|
|
|