sm64pc/asm/non_matchings/eu/audio/func_eu_802e00d8.s
2020-02-03 00:51:26 -05:00

89 lines
4.4 KiB
ArmAsm

glabel func_eu_802e00d8
/* 09F8D8 802E00D8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 09F8DC 802E00DC AFA50034 */ sw $a1, 0x34($sp)
/* 09F8E0 802E00E0 87B80036 */ lh $t8, 0x36($sp)
/* 09F8E4 802E00E4 3C088022 */ lui $t0, %hi(gSynthesisReverbs) # $t0, 0x8022
/* 09F8E8 802E00E8 2508C1B0 */ addiu $t0, %lo(gSynthesisReverbs) # addiu $t0, $t0, -0x3e50
/* 09F8EC 802E00EC 0018C940 */ sll $t9, $t8, 5
/* 09F8F0 802E00F0 0338C821 */ addu $t9, $t9, $t8
/* 09F8F4 802E00F4 0019C8C0 */ sll $t9, $t9, 3
/* 09F8F8 802E00F8 03281021 */ addu $v0, $t9, $t0
/* 09F8FC 802E00FC 90490003 */ lbu $t1, 3($v0)
/* 09F900 802E0100 00067400 */ sll $t6, $a2, 0x10
/* 09F904 802E0104 000E7C03 */ sra $t7, $t6, 0x10
/* 09F908 802E0108 00095080 */ sll $t2, $t1, 2
/* 09F90C 802E010C 01495023 */ subu $t2, $t2, $t1
/* 09F910 802E0110 000A50C0 */ sll $t2, $t2, 3
/* 09F914 802E0114 000F3880 */ sll $a3, $t7, 2
/* 09F918 802E0118 01495021 */ addu $t2, $t2, $t1
/* 09F91C 802E011C 904C0001 */ lbu $t4, 1($v0)
/* 09F920 802E0120 000A5080 */ sll $t2, $t2, 2
/* 09F924 802E0124 00EF3821 */ addu $a3, $a3, $t7
/* 09F928 802E0128 00073880 */ sll $a3, $a3, 2
/* 09F92C 802E012C 004A5821 */ addu $t3, $v0, $t2
/* 09F930 802E0130 AFB00020 */ sw $s0, 0x20($sp)
/* 09F934 802E0134 01671821 */ addu $v1, $t3, $a3
/* 09F938 802E0138 00808025 */ move $s0, $a0
/* 09F93C 802E013C AFBF0024 */ sw $ra, 0x24($sp)
/* 09F940 802E0140 AFA60038 */ sw $a2, 0x38($sp)
/* 09F944 802E0144 11800033 */ beqz $t4, .L80200BC4
/* 09F948 802E0148 24630030 */ addiu $v1, $v1, 0x30
/* 09F94C 802E014C 904D0004 */ lbu $t5, 4($v0)
/* 09F950 802E0150 24010001 */ li $at, 1
/* 09F954 802E0154 3C190800 */ lui $t9, 0x800
/* 09F958 802E0158 15A10018 */ bne $t5, $at, .L80200B6C
/* 09F95C 802E015C 3C080740 */ lui $t0, (0x07400280 >> 16) # lui $t0, 0x740
/* 09F960 802E0160 87AE0036 */ lh $t6, 0x36($sp)
/* 09F964 802E0164 9466000E */ lhu $a2, 0xe($v1)
/* 09F968 802E0168 84670010 */ lh $a3, 0x10($v1)
/* 09F96C 802E016C AFA3002C */ sw $v1, 0x2c($sp)
/* 09F970 802E0170 24050740 */ li $a1, 1856
/* 09F974 802E0174 0C0B7E65 */ jal synthesis_save_reverb_ring_buffer
/* 09F978 802E0178 AFAE0010 */ sw $t6, 0x10($sp)
/* 09F97C 802E017C 8FA3002C */ lw $v1, 0x2c($sp)
/* 09F980 802E0180 00408025 */ move $s0, $v0
/* 09F984 802E0184 00402025 */ move $a0, $v0
/* 09F988 802E0188 84670012 */ lh $a3, 0x12($v1)
/* 09F98C 802E018C 87B80036 */ lh $t8, 0x36($sp)
/* 09F990 802E0190 50E00021 */ beql $a3, $zero, .L80200BC8
/* 09F994 802E0194 8FBF0024 */ lw $ra, 0x24($sp)
/* 09F998 802E0198 84650010 */ lh $a1, 0x10($v1)
/* 09F99C 802E019C AFB80010 */ sw $t8, 0x10($sp)
/* 09F9A0 802E01A0 00003025 */ move $a2, $zero
/* 09F9A4 802E01A4 24A50740 */ addiu $a1, $a1, 0x740
/* 09F9A8 802E01A8 30AFFFFF */ andi $t7, $a1, 0xffff
/* 09F9AC 802E01AC 0C0B7E65 */ jal synthesis_save_reverb_ring_buffer
/* 09F9B0 802E01B0 01E02825 */ move $a1, $t7
/* 09F9B4 802E01B4 10000017 */ b .L80200BC4
/* 09F9B8 802E01B8 00408025 */ move $s0, $v0
.L80200B6C:
/* 09F9BC 802E01BC 02001825 */ move $v1, $s0
/* 09F9C0 802E01C0 26100008 */ addiu $s0, $s0, 8
/* 09F9C4 802E01C4 35080280 */ ori $t0, (0x07400280 & 0xFFFF) # ori $t0, $t0, 0x280
/* 09F9C8 802E01C8 AC680004 */ sw $t0, 4($v1)
/* 09F9CC 802E01CC AC790000 */ sw $t9, ($v1)
/* 09F9D0 802E01D0 02002025 */ move $a0, $s0
/* 09F9D4 802E01D4 3C090600 */ lui $t1, 0x600
/* 09F9D8 802E01D8 AC890000 */ sw $t1, ($a0)
/* 09F9DC 802E01DC 904A0003 */ lbu $t2, 3($v0)
/* 09F9E0 802E01E0 3C018000 */ lui $at, 0x8000
/* 09F9E4 802E01E4 26100008 */ addiu $s0, $s0, 8
/* 09F9E8 802E01E8 000A5880 */ sll $t3, $t2, 2
/* 09F9EC 802E01EC 016A5823 */ subu $t3, $t3, $t2
/* 09F9F0 802E01F0 000B58C0 */ sll $t3, $t3, 3
/* 09F9F4 802E01F4 016A5821 */ addu $t3, $t3, $t2
/* 09F9F8 802E01F8 000B5880 */ sll $t3, $t3, 2
/* 09F9FC 802E01FC 004B6021 */ addu $t4, $v0, $t3
/* 09FA00 802E0200 01876821 */ addu $t5, $t4, $a3
/* 09FA04 802E0204 8DAE0034 */ lw $t6, 0x34($t5)
/* 09FA08 802E0208 01C17821 */ addu $t7, $t6, $at
/* 09FA0C 802E020C AC8F0004 */ sw $t7, 4($a0)
/* 09FA10 802E0210 A0400000 */ sb $zero, ($v0)
.L80200BC4:
/* 09FA14 802E0214 8FBF0024 */ lw $ra, 0x24($sp)
.L80200BC8:
/* 09FA18 802E0218 02001025 */ move $v0, $s0
/* 09FA1C 802E021C 8FB00020 */ lw $s0, 0x20($sp)
/* 09FA20 802E0220 03E00008 */ jr $ra
/* 09FA24 802E0224 27BD0030 */ addiu $sp, $sp, 0x30