Files
oot/asm/non_matchings/code/code_800E4FE0/func_800E6590.s
T
krimtonz d1a5ea5110 Audio WIP (#836)
* being code_800EC960

* wip

* wip

* more audio progress

* migrate data in code_800E11F0

* wip

* make ok

* remove asm

* wip

* move some variables outside of gAudioContext to the AudioContext structure due to the size used in func_800E3094

* more progress

* wip

* wip

* split code_800E11F0

* migrate rodata in code_800E11F0

* match functions that couldn't because of data issues

* move code_800E4FE0 asm files

* wip

* more wip

* fix global functions, and forward declarations

* wip

* wip

* wip

* ocarina wip

* match a couple functions

* some progress

* separate some bss

* match func_800EDA3C

* some matching

* more matches

* migrate audio rodata

* some matches

* more matchess

* start on synthesis

* work on synthesis

* fix function declaration

* Merge branch 'master' into audio

* match a few more functions

* wip

* wip

* more matching, rename Audio_SetBGM to Audio_QueueSeqCmd

* name several audio functions, and audiocontext members

* more naming, rename code_800E11F0 to audio_load, code_800DAAC0 to audio_synthesis

* audio wip

* match a few more functions.

* wip

* add missing NON_MATCHING directive

* wip

* some matching, data reogranization

* match cursed function

* wip

* wip

* formatting

* remove prefix from struct memebers

* missed function rename

* review

Co-authored-by: fig02 <fig02srl@gmail.com>
2021-07-27 19:44:58 -04:00

69 lines
3.1 KiB
ArmAsm

glabel func_800E6590
/* B5D730 800E6590 00047080 */ sll $t6, $a0, 2
/* B5D734 800E6594 01C47023 */ subu $t6, $t6, $a0
/* B5D738 800E6598 000E7080 */ sll $t6, $t6, 2
/* B5D73C 800E659C 01C47023 */ subu $t6, $t6, $a0
/* B5D740 800E65A0 3C0F8017 */ lui $t7, %hi(gAudioContext) # $t7, 0x8017
/* B5D744 800E65A4 25EFF180 */ addiu $t7, %lo(gAudioContext) # addiu $t7, $t7, -0xe80
/* B5D748 800E65A8 000E7140 */ sll $t6, $t6, 5
/* B5D74C 800E65AC 01CF1021 */ addu $v0, $t6, $t7
/* B5D750 800E65B0 8C583530 */ lw $t8, 0x3530($v0)
/* B5D754 800E65B4 00054080 */ sll $t0, $a1, 2
/* B5D758 800E65B8 00484821 */ addu $t1, $v0, $t0
/* B5D75C 800E65BC 0018CFC2 */ srl $t9, $t8, 0x1f
/* B5D760 800E65C0 5320002D */ beql $t9, $zero, .L800E6678
/* B5D764 800E65C4 00001025 */ move $v0, $zero
/* B5D768 800E65C8 8D233568 */ lw $v1, 0x3568($t1)
/* B5D76C 800E65CC 00066080 */ sll $t4, $a2, 2
/* B5D770 800E65D0 8C6A0000 */ lw $t2, ($v1)
/* B5D774 800E65D4 006C6821 */ addu $t5, $v1, $t4
/* B5D778 800E65D8 000A5FC2 */ srl $t3, $t2, 0x1f
/* B5D77C 800E65DC 51600026 */ beql $t3, $zero, .L800E6678
/* B5D780 800E65E0 00001025 */ move $v0, $zero
/* B5D784 800E65E4 8DA20050 */ lw $v0, 0x50($t5)
/* B5D788 800E65E8 54400004 */ bnezl $v0, .L800E65FC
/* B5D78C 800E65EC 8C430000 */ lw $v1, ($v0)
/* B5D790 800E65F0 03E00008 */ jr $ra
/* B5D794 800E65F4 00001025 */ move $v0, $zero
/* B5D798 800E65F8 8C430000 */ lw $v1, ($v0)
.L800E65FC:
/* B5D79C 800E65FC 000377C2 */ srl $t6, $v1, 0x1f
/* B5D7A0 800E6600 51C0001D */ beql $t6, $zero, .L800E6678
/* B5D7A4 800E6604 00001025 */ move $v0, $zero
/* B5D7A8 800E6608 8C44002C */ lw $a0, 0x2c($v0)
/* B5D7AC 800E660C 0003C100 */ sll $t8, $v1, 4
/* B5D7B0 800E6610 14800003 */ bnez $a0, .L800E6620
/* B5D7B4 800E6614 00000000 */ nop
/* B5D7B8 800E6618 03E00008 */ jr $ra
/* B5D7BC 800E661C 00001025 */ move $v0, $zero
.L800E6620:
/* B5D7C0 800E6620 07020004 */ bltzl $t8, .L800E6634
/* B5D7C4 800E6624 8C990044 */ lw $t9, 0x44($a0)
/* B5D7C8 800E6628 03E00008 */ jr $ra
/* B5D7CC 800E662C 00001025 */ move $v0, $zero
/* B5D7D0 800E6630 8C990044 */ lw $t9, 0x44($a0)
.L800E6634:
/* B5D7D4 800E6634 00801825 */ move $v1, $a0
/* B5D7D8 800E6638 1459000C */ bne $v0, $t9, .L800E666C
/* B5D7DC 800E663C 00000000 */ nop
/* B5D7E0 800E6640 8C8400D0 */ lw $a0, 0xd0($a0)
/* B5D7E4 800E6644 54800004 */ bnezl $a0, .L800E6658
/* B5D7E8 800E6648 8C880000 */ lw $t0, ($a0)
/* B5D7EC 800E664C 03E00008 */ jr $ra
/* B5D7F0 800E6650 00001025 */ move $v0, $zero
/* B5D7F4 800E6654 8C880000 */ lw $t0, ($a0)
.L800E6658:
/* B5D7F8 800E6658 8C660018 */ lw $a2, 0x18($v1)
/* B5D7FC 800E665C 8D090008 */ lw $t1, 8($t0)
/* B5D800 800E6660 8D250004 */ lw $a1, 4($t1)
/* B5D804 800E6664 03E00008 */ jr $ra
/* B5D808 800E6668 00A61023 */ subu $v0, $a1, $a2
.L800E666C:
/* B5D80C 800E666C 03E00008 */ jr $ra
/* B5D810 800E6670 00001025 */ move $v0, $zero
/* B5D814 800E6674 00001025 */ move $v0, $zero
.L800E6678:
/* B5D818 800E6678 03E00008 */ jr $ra
/* B5D81C 800E667C 00000000 */ nop