summaryrefslogtreecommitdiff
path: root/asm/Dolphin/os/OSAudioSystem.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/Dolphin/os/OSAudioSystem.s')
-rw-r--r--asm/Dolphin/os/OSAudioSystem.s199
1 files changed, 199 insertions, 0 deletions
diff --git a/asm/Dolphin/os/OSAudioSystem.s b/asm/Dolphin/os/OSAudioSystem.s
new file mode 100644
index 0000000..c3aafe4
--- /dev/null
+++ b/asm/Dolphin/os/OSAudioSystem.s
@@ -0,0 +1,199 @@
+.include "macros.inc"
+
+.section .text
+
+.global func_8036d638
+.type func_8036d638, @function
+func_8036d638:
+/* 8036D638 7C0802A6 */ mflr r0
+/* 8036D63C 90010004 */ stw r0, 4(r1)
+/* 8036D640 9421FFD0 */ stwu r1, -0x30(r1)
+/* 8036D644 BF210014 */ stmw r25, 0x14(r1)
+/* 8036D648 4BFFFFD1 */ bl func_8036d618
+/* 8036D64C 3C808100 */ lis r4, 0x8100
+/* 8036D650 38A00080 */ li r5, 0x80
+/* 8036D654 3863FF80 */ addi r3, r3, -0x80
+/* 8036D658 4BCA0DC5 */ bl func_8000e41c
+/* 8036D65C 3C60804F */ lis r3, lbl_804eed70@ha
+/* 8036D660 3883ED70 */ addi r4, r3, lbl_804eed70@l
+/* 8036D664 3C608100 */ lis r3, 0x8100
+/* 8036D668 38A00080 */ li r5, 0x80
+/* 8036D66C 4BCA0DB1 */ bl func_8000e41c
+/* 8036D670 3C608100 */ lis r3, 0x8100
+/* 8036D674 38800080 */ li r4, 0x80
+/* 8036D678 48000299 */ bl func_8036d910
+/* 8036D67C 3C60CC00 */ lis r3, 0xcc00
+/* 8036D680 38635000 */ addi r3, r3, 0x5000
+/* 8036D684 38000043 */ li r0, 0x43
+/* 8036D688 B0030012 */ sth r0, 0x12(r3)
+/* 8036D68C 3BE3000A */ addi r31, r3, 0xa
+/* 8036D690 380008AC */ li r0, 0x8ac
+/* 8036D694 B003000A */ sth r0, 0xa(r3)
+/* 8036D698 A003000A */ lhz r0, 0xa(r3)
+/* 8036D69C 60000001 */ ori r0, r0, 1
+/* 8036D6A0 B003000A */ sth r0, 0xa(r3)
+lbl_8036d6a4:
+/* 8036D6A4 A01F0000 */ lhz r0, 0(r31)
+/* 8036D6A8 540007FF */ clrlwi. r0, r0, 0x1f
+/* 8036D6AC 4082FFF8 */ bne+ lbl_8036d6a4
+/* 8036D6B0 38000000 */ li r0, 0x0
+/* 8036D6B4 3C80CC00 */ lis r4, 0xcc00
+/* 8036D6B8 B0045000 */ sth r0, 0x5000(r4)
+lbl_8036d6bc:
+/* 8036D6BC 3BC45000 */ addi r30, r4, 0x5000
+/* 8036D6C0 A47E0004 */ lhzu r3, 4(r30)
+/* 8036D6C4 3BA45000 */ addi r29, r4, 0x5000
+/* 8036D6C8 A41D0006 */ lhzu r0, 6(r29)
+/* 8036D6CC 5060801E */ rlwimi r0, r3, 0x10, 0, 0xf
+/* 8036D6D0 54000001 */ rlwinm. r0, r0, 0, 0, 0
+/* 8036D6D4 4082FFE8 */ bne+ lbl_8036d6bc
+/* 8036D6D8 3C60CC00 */ lis r3, 0xcc00
+/* 8036D6DC 3C000100 */ lis r0, 0x100
+/* 8036D6E0 3B635000 */ addi r27, r3, 0x5000
+/* 8036D6E4 941B0020 */ stwu r0, 0x20(r27)
+/* 8036D6E8 38000000 */ li r0, 0x0
+/* 8036D6EC 3B435000 */ addi r26, r3, 0x5000
+/* 8036D6F0 941A0024 */ stwu r0, 0x24(r26)
+/* 8036D6F4 38000020 */ li r0, 0x20
+/* 8036D6F8 3B235000 */ addi r25, r3, 0x5000
+/* 8036D6FC 94190028 */ stwu r0, 0x28(r25)
+/* 8036D700 A07F0000 */ lhz r3, 0(r31)
+/* 8036D704 48000008 */ b lbl_8036d70c
+lbl_8036d708:
+/* 8036D708 A07F0000 */ lhz r3, 0(r31)
+lbl_8036d70c:
+/* 8036D70C 546006B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a
+/* 8036D710 4182FFF8 */ beq+ lbl_8036d708
+/* 8036D714 B07F0000 */ sth r3, 0(r31)
+/* 8036D718 480050C5 */ bl func_803727dc
+/* 8036D71C 7C7C1B78 */ mr r28, r3
+lbl_8036d720:
+/* 8036D720 480050BD */ bl func_803727dc
+/* 8036D724 7C1C1850 */ subf r0, r28, r3
+/* 8036D728 2C000892 */ cmpwi r0, 0x892
+/* 8036D72C 4180FFF4 */ blt+ lbl_8036d720
+/* 8036D730 3C000100 */ lis r0, 0x100
+/* 8036D734 901B0000 */ stw r0, 0(r27)
+/* 8036D738 38600000 */ li r3, 0x0
+/* 8036D73C 38000020 */ li r0, 0x20
+/* 8036D740 907A0000 */ stw r3, 0(r26)
+/* 8036D744 90190000 */ stw r0, 0(r25)
+/* 8036D748 A07F0000 */ lhz r3, 0(r31)
+/* 8036D74C 48000008 */ b lbl_8036d754
+lbl_8036d750:
+/* 8036D750 A07F0000 */ lhz r3, 0(r31)
+lbl_8036d754:
+/* 8036D754 546006B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a
+/* 8036D758 4182FFF8 */ beq+ lbl_8036d750
+/* 8036D75C B07F0000 */ sth r3, 0(r31)
+/* 8036D760 A01F0000 */ lhz r0, 0(r31)
+/* 8036D764 54000566 */ rlwinm r0, r0, 0, 0x15, 0x13
+/* 8036D768 B01F0000 */ sth r0, 0(r31)
+lbl_8036d76c:
+/* 8036D76C A01F0000 */ lhz r0, 0(r31)
+/* 8036D770 5400056B */ rlwinm. r0, r0, 0, 0x15, 0x15
+/* 8036D774 4082FFF8 */ bne+ lbl_8036d76c
+/* 8036D778 A01F0000 */ lhz r0, 0(r31)
+/* 8036D77C 540007B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
+/* 8036D780 B01F0000 */ sth r0, 0(r31)
+/* 8036D784 A01E0000 */ lhz r0, 0(r30)
+/* 8036D788 48000008 */ b lbl_8036d790
+lbl_8036d78c:
+/* 8036D78C A01E0000 */ lhz r0, 0(r30)
+lbl_8036d790:
+/* 8036D790 5405043E */ clrlwi r5, r0, 0x10
+/* 8036D794 54000421 */ rlwinm. r0, r0, 0, 0x10, 0x10
+/* 8036D798 4182FFF4 */ beq+ lbl_8036d78c
+/* 8036D79C A01F0000 */ lhz r0, 0(r31)
+/* 8036D7A0 A09D0000 */ lhz r4, 0(r29)
+/* 8036D7A4 60000004 */ ori r0, r0, 4
+/* 8036D7A8 B01F0000 */ sth r0, 0(r31)
+/* 8036D7AC 380008AC */ li r0, 0x8ac
+/* 8036D7B0 B01F0000 */ sth r0, 0(r31)
+/* 8036D7B4 A01F0000 */ lhz r0, 0(r31)
+/* 8036D7B8 60000001 */ ori r0, r0, 1
+/* 8036D7BC B01F0000 */ sth r0, 0(r31)
+lbl_8036d7c0:
+/* 8036D7C0 A01F0000 */ lhz r0, 0(r31)
+/* 8036D7C4 540007FF */ clrlwi. r0, r0, 0x1f
+/* 8036D7C8 4082FFF8 */ bne+ lbl_8036d7c0
+/* 8036D7CC 4BFFFE4D */ bl func_8036d618
+/* 8036D7D0 3883FF80 */ addi r4, r3, -0x80
+/* 8036D7D4 3C608100 */ lis r3, 0x8100
+/* 8036D7D8 38A00080 */ li r5, 0x80
+/* 8036D7DC 4BCA0C41 */ bl func_8000e41c
+/* 8036D7E0 BB210014 */ lmw r25, 0x14(r1)
+/* 8036D7E4 80010034 */ lwz r0, 0x34(r1)
+/* 8036D7E8 38210030 */ addi r1, r1, 0x30
+/* 8036D7EC 7C0803A6 */ mtlr r0
+/* 8036D7F0 4E800020 */ blr
+.size func_8036d638, . - func_8036d638
+
+
+.global func_8036d7f4
+.type func_8036d7f4, @function
+func_8036d7f4:
+/* 8036D7F4 7C0802A6 */ mflr r0
+/* 8036D7F8 3C60CC00 */ lis r3, 0xcc00
+/* 8036D7FC 90010004 */ stw r0, 4(r1)
+/* 8036D800 38000804 */ li r0, 0x804
+/* 8036D804 9421FFF0 */ stwu r1, -0x10(r1)
+/* 8036D808 93E1000C */ stw r31, 0xc(r1)
+/* 8036D80C 3BE35000 */ addi r31, r3, 0x5000
+/* 8036D810 38635000 */ addi r3, r3, 0x5000
+/* 8036D814 93C10008 */ stw r30, 8(r1)
+/* 8036D818 B01F000A */ sth r0, 0xa(r31)
+/* 8036D81C A0030036 */ lhz r0, 0x36(r3)
+/* 8036D820 5400045E */ rlwinm r0, r0, 0, 0x11, 0xf
+/* 8036D824 B0030036 */ sth r0, 0x36(r3)
+/* 8036D828 A41F000A */ lhzu r0, 0xa(r31)
+/* 8036D82C 48000008 */ b lbl_8036d834
+lbl_8036d830:
+/* 8036D830 A01F0000 */ lhz r0, 0(r31)
+lbl_8036d834:
+/* 8036D834 5400056B */ rlwinm. r0, r0, 0, 0x15, 0x15
+/* 8036D838 4082FFF8 */ bne+ lbl_8036d830
+/* 8036D83C A01F0000 */ lhz r0, 0(r31)
+/* 8036D840 48000008 */ b lbl_8036d848
+lbl_8036d844:
+/* 8036D844 A01F0000 */ lhz r0, 0(r31)
+lbl_8036d848:
+/* 8036D848 540005AD */ rlwinm. r0, r0, 0, 0x16, 0x16
+/* 8036D84C 4082FFF8 */ bne+ lbl_8036d844
+/* 8036D850 380008AC */ li r0, 0x8ac
+/* 8036D854 3C60CC00 */ lis r3, 0xcc00
+/* 8036D858 B01F0000 */ sth r0, 0(r31)
+/* 8036D85C 38000000 */ li r0, 0x0
+/* 8036D860 B0035000 */ sth r0, 0x5000(r3)
+/* 8036D864 38835000 */ addi r4, r3, 0x5000
+lbl_8036d868:
+/* 8036D868 A0640004 */ lhz r3, 4(r4)
+/* 8036D86C A0040006 */ lhz r0, 6(r4)
+/* 8036D870 5060801E */ rlwimi r0, r3, 0x10, 0, 0xf
+/* 8036D874 54000001 */ rlwinm. r0, r0, 0, 0, 0
+/* 8036D878 4082FFF0 */ bne+ lbl_8036d868
+/* 8036D87C 48004F61 */ bl func_803727dc
+/* 8036D880 7C7E1B78 */ mr r30, r3
+lbl_8036d884:
+/* 8036D884 48004F59 */ bl func_803727dc
+/* 8036D888 7C1E1850 */ subf r0, r30, r3
+/* 8036D88C 2C00002C */ cmpwi r0, 0x2c
+/* 8036D890 4180FFF4 */ blt+ lbl_8036d884
+/* 8036D894 A01F0000 */ lhz r0, 0(r31)
+/* 8036D898 60000001 */ ori r0, r0, 1
+/* 8036D89C B01F0000 */ sth r0, 0(r31)
+/* 8036D8A0 A01F0000 */ lhz r0, 0(r31)
+/* 8036D8A4 48000008 */ b lbl_8036d8ac
+lbl_8036d8a8:
+/* 8036D8A8 A01F0000 */ lhz r0, 0(r31)
+lbl_8036d8ac:
+/* 8036D8AC 540007FF */ clrlwi. r0, r0, 0x1f
+/* 8036D8B0 4082FFF8 */ bne+ lbl_8036d8a8
+/* 8036D8B4 80010014 */ lwz r0, 0x14(r1)
+/* 8036D8B8 83E1000C */ lwz r31, 0xc(r1)
+/* 8036D8BC 83C10008 */ lwz r30, 8(r1)
+/* 8036D8C0 38210010 */ addi r1, r1, 0x10
+/* 8036D8C4 7C0803A6 */ mtlr r0
+/* 8036D8C8 4E800020 */ blr
+.size func_8036d7f4, . - func_8036d7f4
+