summaryrefslogtreecommitdiff
path: root/asm/SDK
diff options
context:
space:
mode:
authorRevo <projectrevotpp@hotmail.com>2020-09-13 12:35:03 -0400
committerGitHub <noreply@github.com>2020-09-13 12:35:03 -0400
commit8a7bfac7d3a81b34be131c76a98cac1f4cf9cb82 (patch)
treed2a503a323ae06264ebab085d9e3108f7c5eb33c /asm/SDK
parent11effce5c0a8c617662608d05cdf906ff8e73d2c (diff)
parent9c1b7dcd0a71137bd1193e5753a92607e2b301ad (diff)
Merge pull request #39 from red031000/master
split OSAudioSystem and decomp first func
Diffstat (limited to 'asm/SDK')
-rw-r--r--asm/SDK/OS/OS.s2
-rw-r--r--asm/SDK/OS/OSAlarm.s2
-rw-r--r--asm/SDK/OS/OSAlloc_asm.s (renamed from asm/SDK/OS/OSAlloc.s)51
-rw-r--r--asm/SDK/OS/OSAudioSystem.s340
4 files changed, 342 insertions, 53 deletions
diff --git a/asm/SDK/OS/OS.s b/asm/SDK/OS/OS.s
index d4c4666..a2e646e 100644
--- a/asm/SDK/OS/OS.s
+++ b/asm/SDK/OS/OS.s
@@ -939,7 +939,7 @@ lbl_8026905C:
/* 80269080 00264CE0 48 00 D9 0D */ bl func_8027698C
/* 80269084 00264CE4 48 00 74 91 */ bl func_80270514
/* 80269088 00264CE8 48 00 7F DD */ bl func_80271064
-/* 8026908C 00264CEC 48 00 12 F5 */ bl func_8026A380
+/* 8026908C 00264CEC 48 00 12 F5 */ bl __OSInitAudioSystem
/* 80269090 00264CF0 4B FF F2 65 */ bl func_802682F4
/* 80269094 00264CF4 54 63 00 80 */ rlwinm r3, r3, 0, 2, 0
/* 80269098 00264CF8 4B FF F2 65 */ bl func_802682FC
diff --git a/asm/SDK/OS/OSAlarm.s b/asm/SDK/OS/OSAlarm.s
index 01fcbc0..5da4f86 100644
--- a/asm/SDK/OS/OSAlarm.s
+++ b/asm/SDK/OS/OSAlarm.s
@@ -203,7 +203,7 @@ OSSetAlarm:
/* 80269988 002655E8 7C 08 02 A6 */ mflr r0
/* 8026998C 002655EC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80269990 002655F0 39 61 00 20 */ addi r11, r1, 0x20
-/* 80269994 002655F4 4B F5 D7 95 */ bl func_801C7128
+/* 80269994 002655F4 4B F5 D7 95 */ bl _savegpr_27
/* 80269998 002655F8 7C 7B 1B 78 */ mr r27, r3
/* 8026999C 002655FC 7C BD 2B 78 */ mr r29, r5
/* 802699A0 00265600 7C DC 33 78 */ mr r28, r6
diff --git a/asm/SDK/OS/OSAlloc.s b/asm/SDK/OS/OSAlloc_asm.s
index 766a0b4..2826b5c 100644
--- a/asm/SDK/OS/OSAlloc.s
+++ b/asm/SDK/OS/OSAlloc_asm.s
@@ -2,57 +2,6 @@
.section .text, "ax" # 0x80006980 - 0x803E1E60
-.global DLInsert
-DLInsert:
-/* 80269EB0 00265B10 7C 67 1B 78 */ mr r7, r3
-/* 80269EB4 00265B14 38 C0 00 00 */ li r6, 0
-/* 80269EB8 00265B18 48 00 00 14 */ b lbl_80269ECC
-lbl_80269EBC:
-/* 80269EBC 00265B1C 7C 04 38 40 */ cmplw r4, r7
-/* 80269EC0 00265B20 40 81 00 14 */ ble lbl_80269ED4
-/* 80269EC4 00265B24 7C E6 3B 78 */ mr r6, r7
-/* 80269EC8 00265B28 80 E7 00 04 */ lwz r7, 4(r7)
-lbl_80269ECC:
-/* 80269ECC 00265B2C 2C 07 00 00 */ cmpwi r7, 0
-/* 80269ED0 00265B30 40 82 FF EC */ bne lbl_80269EBC
-lbl_80269ED4:
-/* 80269ED4 00265B34 2C 07 00 00 */ cmpwi r7, 0
-/* 80269ED8 00265B38 90 E4 00 04 */ stw r7, 4(r4)
-/* 80269EDC 00265B3C 90 C4 00 00 */ stw r6, 0(r4)
-/* 80269EE0 00265B40 41 82 00 38 */ beq lbl_80269F18
-/* 80269EE4 00265B44 90 87 00 00 */ stw r4, 0(r7)
-/* 80269EE8 00265B48 80 A4 00 08 */ lwz r5, 8(r4)
-/* 80269EEC 00265B4C 7C 04 2A 14 */ add r0, r4, r5
-/* 80269EF0 00265B50 7C 00 38 40 */ cmplw r0, r7
-/* 80269EF4 00265B54 40 82 00 24 */ bne lbl_80269F18
-/* 80269EF8 00265B58 80 07 00 08 */ lwz r0, 8(r7)
-/* 80269EFC 00265B5C 7C 05 02 14 */ add r0, r5, r0
-/* 80269F00 00265B60 90 04 00 08 */ stw r0, 8(r4)
-/* 80269F04 00265B64 80 E7 00 04 */ lwz r7, 4(r7)
-/* 80269F08 00265B68 2C 07 00 00 */ cmpwi r7, 0
-/* 80269F0C 00265B6C 90 E4 00 04 */ stw r7, 4(r4)
-/* 80269F10 00265B70 41 82 00 08 */ beq lbl_80269F18
-/* 80269F14 00265B74 90 87 00 00 */ stw r4, 0(r7)
-lbl_80269F18:
-/* 80269F18 00265B78 2C 06 00 00 */ cmpwi r6, 0
-/* 80269F1C 00265B7C 41 82 00 38 */ beq lbl_80269F54
-/* 80269F20 00265B80 90 86 00 04 */ stw r4, 4(r6)
-/* 80269F24 00265B84 80 A6 00 08 */ lwz r5, 8(r6)
-/* 80269F28 00265B88 7C 06 2A 14 */ add r0, r6, r5
-/* 80269F2C 00265B8C 7C 00 20 40 */ cmplw r0, r4
-/* 80269F30 00265B90 4C 82 00 20 */ bnelr
-/* 80269F34 00265B94 80 04 00 08 */ lwz r0, 8(r4)
-/* 80269F38 00265B98 2C 07 00 00 */ cmpwi r7, 0
-/* 80269F3C 00265B9C 7C 05 02 14 */ add r0, r5, r0
-/* 80269F40 00265BA0 90 06 00 08 */ stw r0, 8(r6)
-/* 80269F44 00265BA4 90 E6 00 04 */ stw r7, 4(r6)
-/* 80269F48 00265BA8 4D 82 00 20 */ beqlr
-/* 80269F4C 00265BAC 90 C7 00 00 */ stw r6, 0(r7)
-/* 80269F50 00265BB0 4E 80 00 20 */ blr
-lbl_80269F54:
-/* 80269F54 00265BB4 7C 83 23 78 */ mr r3, r4
-/* 80269F58 00265BB8 4E 80 00 20 */ blr
-
.global OSAllocFromHeap
OSAllocFromHeap:
/* 80269F5C 00265BBC 1C 63 00 0C */ mulli r3, r3, 0xc
diff --git a/asm/SDK/OS/OSAudioSystem.s b/asm/SDK/OS/OSAudioSystem.s
new file mode 100644
index 0000000..6e77bcf
--- /dev/null
+++ b/asm/SDK/OS/OSAudioSystem.s
@@ -0,0 +1,340 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __AIClockInit
+__AIClockInit:
+/* 8026A160 00265DC0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8026A164 00265DC4 7C 08 02 A6 */ mflr r0
+/* 8026A168 00265DC8 3C 80 CD 80 */ lis r4, 0xCD800180@ha
+/* 8026A16C 00265DCC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8026A170 00265DD0 54 60 40 2E */ slwi r0, r3, 8
+/* 8026A174 00265DD4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8026A178 00265DD8 7C 7F 1B 78 */ mr r31, r3
+/* 8026A17C 00265DDC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8026A180 00265DE0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8026A184 00265DE4 93 81 00 10 */ stw r28, 0x10(r1)
+/* 8026A188 00265DE8 80 A4 01 80 */ lwz r5, 0xCD800180@l(r4)
+/* 8026A18C 00265DEC 54 A5 06 2C */ rlwinm r5, r5, 0, 0x18, 0x16
+/* 8026A190 00265DF0 7C A5 03 78 */ or r5, r5, r0
+/* 8026A194 00265DF4 54 A0 06 6E */ rlwinm r0, r5, 0, 0x19, 0x17
+/* 8026A198 00265DF8 90 04 01 80 */ stw r0, 0x180(r4)
+/* 8026A19C 00265DFC 80 04 01 D0 */ lwz r0, 0x1d0(r4)
+/* 8026A1A0 00265E00 54 00 00 BE */ clrlwi r0, r0, 2
+/* 8026A1A4 00265E04 90 04 01 D0 */ stw r0, 0x1d0(r4)
+/* 8026A1A8 00265E08 48 00 86 29 */ bl func_802727D0
+/* 8026A1AC 00265E0C 3C 80 43 1C */ lis r4, 0x431BDE83@ha
+/* 8026A1B0 00265E10 7C 7C 1B 78 */ mr r28, r3
+/* 8026A1B4 00265E14 3B C4 DE 83 */ addi r30, r4, 0x431BDE83@l
+/* 8026A1B8 00265E18 3F A0 80 00 */ lis r29, 0x8000
+lbl_8026A1BC:
+/* 8026A1BC 00265E1C 48 00 86 15 */ bl func_802727D0
+/* 8026A1C0 00265E20 80 1D 00 F8 */ lwz r0, 0xf8(r29)
+/* 8026A1C4 00265E24 7C 7C 18 50 */ subf r3, r28, r3
+/* 8026A1C8 00265E28 54 63 18 38 */ slwi r3, r3, 3
+/* 8026A1CC 00265E2C 54 00 F0 BE */ srwi r0, r0, 2
+/* 8026A1D0 00265E30 7C 1E 00 16 */ mulhwu r0, r30, r0
+/* 8026A1D4 00265E34 54 00 8B FE */ srwi r0, r0, 0xf
+/* 8026A1D8 00265E38 7C 03 03 96 */ divwu r0, r3, r0
+/* 8026A1DC 00265E3C 28 00 00 64 */ cmplwi r0, 0x64
+/* 8026A1E0 00265E40 41 80 FF DC */ blt lbl_8026A1BC
+/* 8026A1E4 00265E44 2C 1F 00 00 */ cmpwi r31, 0
+/* 8026A1E8 00265E48 40 82 00 2C */ bne lbl_8026A214
+/* 8026A1EC 00265E4C 3C 80 CD 80 */ lis r4, 0xCD8001CC@ha
+/* 8026A1F0 00265E50 3C 60 F8 04 */ lis r3, 0xF803FFC0@ha
+/* 8026A1F4 00265E54 80 A4 01 CC */ lwz r5, 0xCD8001CC@l(r4)
+/* 8026A1F8 00265E58 38 03 FF C0 */ addi r0, r3, 0xF803FFC0@l
+/* 8026A1FC 00265E5C 54 A3 06 9A */ rlwinm r3, r5, 0, 0x1a, 0xd
+/* 8026A200 00265E60 60 63 0F C0 */ ori r3, r3, 0xfc0
+/* 8026A204 00265E64 7C 60 00 38 */ and r0, r3, r0
+/* 8026A208 00265E68 64 00 04 64 */ oris r0, r0, 0x464
+/* 8026A20C 00265E6C 90 04 01 CC */ stw r0, 0x1cc(r4)
+/* 8026A210 00265E70 48 00 00 28 */ b lbl_8026A238
+lbl_8026A214:
+/* 8026A214 00265E74 3C 60 CD 80 */ lis r3, 0xCD8001CC@ha
+/* 8026A218 00265E78 80 03 01 CC */ lwz r0, 0xCD8001CC@l(r3)
+/* 8026A21C 00265E7C 54 00 06 9A */ rlwinm r0, r0, 0, 0x1a, 0xd
+/* 8026A220 00265E80 60 00 FF C0 */ ori r0, r0, 0xffc0
+/* 8026A224 00265E84 54 00 00 32 */ rlwinm r0, r0, 0, 0, 0x19
+/* 8026A228 00265E88 60 00 00 0E */ ori r0, r0, 0xe
+/* 8026A22C 00265E8C 54 00 03 88 */ rlwinm r0, r0, 0, 0xe, 4
+/* 8026A230 00265E90 64 00 04 B0 */ oris r0, r0, 0x4b0
+/* 8026A234 00265E94 90 03 01 CC */ stw r0, 0x1cc(r3)
+lbl_8026A238:
+/* 8026A238 00265E98 48 00 85 99 */ bl func_802727D0
+/* 8026A23C 00265E9C 3C 80 43 1C */ lis r4, 0x431BDE83@ha
+/* 8026A240 00265EA0 7C 7F 1B 78 */ mr r31, r3
+/* 8026A244 00265EA4 3B C4 DE 83 */ addi r30, r4, 0x431BDE83@l
+/* 8026A248 00265EA8 3F A0 80 00 */ lis r29, 0x8000
+lbl_8026A24C:
+/* 8026A24C 00265EAC 48 00 85 85 */ bl func_802727D0
+/* 8026A250 00265EB0 80 1D 00 F8 */ lwz r0, 0xf8(r29)
+/* 8026A254 00265EB4 7C 7F 18 50 */ subf r3, r31, r3
+/* 8026A258 00265EB8 54 63 18 38 */ slwi r3, r3, 3
+/* 8026A25C 00265EBC 54 00 F0 BE */ srwi r0, r0, 2
+/* 8026A260 00265EC0 7C 1E 00 16 */ mulhwu r0, r30, r0
+/* 8026A264 00265EC4 54 00 8B FE */ srwi r0, r0, 0xf
+/* 8026A268 00265EC8 7C 03 03 96 */ divwu r0, r3, r0
+/* 8026A26C 00265ECC 28 00 00 64 */ cmplwi r0, 0x64
+/* 8026A270 00265ED0 41 80 FF DC */ blt lbl_8026A24C
+/* 8026A274 00265ED4 3C 60 CD 80 */ lis r3, 0xCD8001D0@ha
+/* 8026A278 00265ED8 80 03 01 D0 */ lwz r0, 0xCD8001D0@l(r3)
+/* 8026A27C 00265EDC 54 00 01 04 */ rlwinm r0, r0, 0, 4, 2
+/* 8026A280 00265EE0 90 03 01 D0 */ stw r0, 0x1d0(r3)
+/* 8026A284 00265EE4 48 00 85 4D */ bl func_802727D0
+/* 8026A288 00265EE8 3C 80 43 1C */ lis r4, 0x431BDE83@ha
+/* 8026A28C 00265EEC 7C 7F 1B 78 */ mr r31, r3
+/* 8026A290 00265EF0 3B C4 DE 83 */ addi r30, r4, 0x431BDE83@l
+/* 8026A294 00265EF4 3F A0 80 00 */ lis r29, 0x8000
+lbl_8026A298:
+/* 8026A298 00265EF8 48 00 85 39 */ bl func_802727D0
+/* 8026A29C 00265EFC 80 1D 00 F8 */ lwz r0, 0xf8(r29)
+/* 8026A2A0 00265F00 7C 7F 18 50 */ subf r3, r31, r3
+/* 8026A2A4 00265F04 54 63 18 38 */ slwi r3, r3, 3
+/* 8026A2A8 00265F08 54 00 F0 BE */ srwi r0, r0, 2
+/* 8026A2AC 00265F0C 7C 1E 00 16 */ mulhwu r0, r30, r0
+/* 8026A2B0 00265F10 54 00 8B FE */ srwi r0, r0, 0xf
+/* 8026A2B4 00265F14 7C 03 03 96 */ divwu r0, r3, r0
+/* 8026A2B8 00265F18 28 00 03 E8 */ cmplwi r0, 0x3e8
+/* 8026A2BC 00265F1C 41 80 FF DC */ blt lbl_8026A298
+/* 8026A2C0 00265F20 3C 60 CD 80 */ lis r3, 0xCD8001D0@ha
+/* 8026A2C4 00265F24 80 03 01 D0 */ lwz r0, 0xCD8001D0@l(r3)
+/* 8026A2C8 00265F28 54 00 00 80 */ rlwinm r0, r0, 0, 2, 0
+/* 8026A2CC 00265F2C 64 00 40 00 */ oris r0, r0, 0x4000
+/* 8026A2D0 00265F30 90 03 01 D0 */ stw r0, 0x1d0(r3)
+/* 8026A2D4 00265F34 48 00 84 FD */ bl func_802727D0
+/* 8026A2D8 00265F38 3C 80 43 1C */ lis r4, 0x431BDE83@ha
+/* 8026A2DC 00265F3C 7C 7F 1B 78 */ mr r31, r3
+/* 8026A2E0 00265F40 3B C4 DE 83 */ addi r30, r4, 0x431BDE83@l
+/* 8026A2E4 00265F44 3F A0 80 00 */ lis r29, 0x8000
+lbl_8026A2E8:
+/* 8026A2E8 00265F48 48 00 84 E9 */ bl func_802727D0
+/* 8026A2EC 00265F4C 80 1D 00 F8 */ lwz r0, 0xf8(r29)
+/* 8026A2F0 00265F50 7C 7F 18 50 */ subf r3, r31, r3
+/* 8026A2F4 00265F54 54 63 18 38 */ slwi r3, r3, 3
+/* 8026A2F8 00265F58 54 00 F0 BE */ srwi r0, r0, 2
+/* 8026A2FC 00265F5C 7C 1E 00 16 */ mulhwu r0, r30, r0
+/* 8026A300 00265F60 54 00 8B FE */ srwi r0, r0, 0xf
+/* 8026A304 00265F64 7C 03 03 96 */ divwu r0, r3, r0
+/* 8026A308 00265F68 28 00 03 E8 */ cmplwi r0, 0x3e8
+/* 8026A30C 00265F6C 41 80 FF DC */ blt lbl_8026A2E8
+/* 8026A310 00265F70 3C 60 CD 80 */ lis r3, 0xCD8001D0@ha
+/* 8026A314 00265F74 80 03 01 D0 */ lwz r0, 0xCD8001D0@l(r3)
+/* 8026A318 00265F78 54 00 00 7E */ clrlwi r0, r0, 1
+/* 8026A31C 00265F7C 64 00 80 00 */ oris r0, r0, 0x8000
+/* 8026A320 00265F80 90 03 01 D0 */ stw r0, 0x1d0(r3)
+/* 8026A324 00265F84 48 00 84 AD */ bl func_802727D0
+/* 8026A328 00265F88 3C 80 43 1C */ lis r4, 0x431BDE83@ha
+/* 8026A32C 00265F8C 7C 7D 1B 78 */ mr r29, r3
+/* 8026A330 00265F90 3B C4 DE 83 */ addi r30, r4, 0x431BDE83@l
+/* 8026A334 00265F94 3F E0 80 00 */ lis r31, 0x8000
+lbl_8026A338:
+/* 8026A338 00265F98 48 00 84 99 */ bl func_802727D0
+/* 8026A33C 00265F9C 80 1F 00 F8 */ lwz r0, 0xf8(r31)
+/* 8026A340 00265FA0 7C 7D 18 50 */ subf r3, r29, r3
+/* 8026A344 00265FA4 54 63 18 38 */ slwi r3, r3, 3
+/* 8026A348 00265FA8 54 00 F0 BE */ srwi r0, r0, 2
+/* 8026A34C 00265FAC 7C 1E 00 16 */ mulhwu r0, r30, r0
+/* 8026A350 00265FB0 54 00 8B FE */ srwi r0, r0, 0xf
+/* 8026A354 00265FB4 7C 03 03 96 */ divwu r0, r3, r0
+/* 8026A358 00265FB8 28 00 03 E8 */ cmplwi r0, 0x3e8
+/* 8026A35C 00265FBC 41 80 FF DC */ blt lbl_8026A338
+/* 8026A360 00265FC0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8026A364 00265FC4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8026A368 00265FC8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8026A36C 00265FCC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8026A370 00265FD0 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 8026A374 00265FD4 7C 08 03 A6 */ mtlr r0
+/* 8026A378 00265FD8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8026A37C 00265FDC 4E 80 00 20 */ blr
+
+.global __OSInitAudioSystem
+__OSInitAudioSystem:
+/* 8026A380 00265FE0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8026A384 00265FE4 7C 08 02 A6 */ mflr r0
+/* 8026A388 00265FE8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8026A38C 00265FEC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8026A390 00265FF0 80 0D A7 68 */ lwz r0, lbl_8063FA28-_SDA_BASE_(r13)
+/* 8026A394 00265FF4 2C 00 00 00 */ cmpwi r0, 0
+/* 8026A398 00265FF8 40 82 00 0C */ bne lbl_8026A3A4
+/* 8026A39C 00265FFC 38 60 00 01 */ li r3, 1
+/* 8026A3A0 00266000 4B FF FD C1 */ bl __AIClockInit
+lbl_8026A3A4:
+/* 8026A3A4 00266004 4B FF FD 39 */ bl OSGetArenaHi
+/* 8026A3A8 00266008 3C 80 81 00 */ lis r4, 0x8100
+/* 8026A3AC 0026600C 38 A0 00 80 */ li r5, 0x80
+/* 8026A3B0 00266010 38 63 FF 80 */ addi r3, r3, -128
+/* 8026A3B4 00266014 4B D9 9C 4D */ bl memcpy
+/* 8026A3B8 00266018 3C 80 80 42 */ lis r4, lbl_804269E0@ha
+/* 8026A3BC 0026601C 3C 60 81 00 */ lis r3, 0x8100
+/* 8026A3C0 00266020 38 84 69 E0 */ addi r4, r4, lbl_804269E0@l
+/* 8026A3C4 00266024 38 A0 00 80 */ li r5, 0x80
+/* 8026A3C8 00266028 4B D9 9C 39 */ bl memcpy
+/* 8026A3CC 0026602C 3C 60 81 00 */ lis r3, 0x8100
+/* 8026A3D0 00266030 38 80 00 80 */ li r4, 0x80
+/* 8026A3D4 00266034 48 00 02 81 */ bl DCFlushRange
+/* 8026A3D8 00266038 3C 60 CC 00 */ lis r3, 0xCC005012@ha
+/* 8026A3DC 0026603C 38 00 00 43 */ li r0, 0x43
+/* 8026A3E0 00266040 B0 03 50 12 */ sth r0, 0xCC005012@l(r3)
+/* 8026A3E4 00266044 38 00 08 AC */ li r0, 0x8ac
+/* 8026A3E8 00266048 B0 03 50 0A */ sth r0, 0x500a(r3)
+/* 8026A3EC 0026604C A0 03 50 0A */ lhz r0, 0x500a(r3)
+/* 8026A3F0 00266050 60 00 00 01 */ ori r0, r0, 1
+/* 8026A3F4 00266054 B0 03 50 0A */ sth r0, 0x500a(r3)
+lbl_8026A3F8:
+/* 8026A3F8 00266058 A0 03 50 0A */ lhz r0, 0x500a(r3)
+/* 8026A3FC 0026605C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8026A400 00266060 40 82 FF F8 */ bne lbl_8026A3F8
+/* 8026A404 00266064 38 00 00 00 */ li r0, 0
+/* 8026A408 00266068 3C 80 CC 00 */ lis r4, 0xCC005000@ha
+/* 8026A40C 0026606C B0 04 50 00 */ sth r0, 0xCC005000@l(r4)
+lbl_8026A410:
+/* 8026A410 00266070 A0 64 50 04 */ lhz r3, 0x5004(r4)
+/* 8026A414 00266074 A0 04 50 06 */ lhz r0, 0x5006(r4)
+/* 8026A418 00266078 50 60 80 1E */ rlwimi r0, r3, 0x10, 0, 0xf
+/* 8026A41C 0026607C 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
+/* 8026A420 00266080 40 82 FF F0 */ bne lbl_8026A410
+/* 8026A424 00266084 3C 80 CC 00 */ lis r4, 0xCC005020@ha
+/* 8026A428 00266088 3C 00 01 00 */ lis r0, 0x100
+/* 8026A42C 0026608C 90 04 50 20 */ stw r0, 0xCC005020@l(r4)
+/* 8026A430 00266090 38 60 00 00 */ li r3, 0
+/* 8026A434 00266094 38 00 00 20 */ li r0, 0x20
+/* 8026A438 00266098 90 64 50 24 */ stw r3, 0x5024(r4)
+/* 8026A43C 0026609C 90 04 50 28 */ stw r0, 0x5028(r4)
+/* 8026A440 002660A0 A0 A4 50 0A */ lhz r5, 0x500a(r4)
+/* 8026A444 002660A4 48 00 00 08 */ b lbl_8026A44C
+lbl_8026A448:
+/* 8026A448 002660A8 A0 A4 50 0A */ lhz r5, 0x500a(r4)
+lbl_8026A44C:
+/* 8026A44C 002660AC 54 A0 06 B5 */ rlwinm. r0, r5, 0, 0x1a, 0x1a
+/* 8026A450 002660B0 41 82 FF F8 */ beq lbl_8026A448
+/* 8026A454 002660B4 3C 60 CC 00 */ lis r3, 0xCC00500A@ha
+/* 8026A458 002660B8 B0 A3 50 0A */ sth r5, 0xCC00500A@l(r3)
+/* 8026A45C 002660BC 48 00 83 75 */ bl func_802727D0
+/* 8026A460 002660C0 7C 7F 1B 78 */ mr r31, r3
+lbl_8026A464:
+/* 8026A464 002660C4 48 00 83 6D */ bl func_802727D0
+/* 8026A468 002660C8 7C 1F 18 50 */ subf r0, r31, r3
+/* 8026A46C 002660CC 2C 00 08 92 */ cmpwi r0, 0x892
+/* 8026A470 002660D0 41 80 FF F4 */ blt lbl_8026A464
+/* 8026A474 002660D4 3C 80 CC 00 */ lis r4, 0xCC005020@ha
+/* 8026A478 002660D8 3C 00 01 00 */ lis r0, 0x100
+/* 8026A47C 002660DC 90 04 50 20 */ stw r0, 0xCC005020@l(r4)
+/* 8026A480 002660E0 38 60 00 00 */ li r3, 0
+/* 8026A484 002660E4 38 00 00 20 */ li r0, 0x20
+/* 8026A488 002660E8 90 64 50 24 */ stw r3, 0x5024(r4)
+/* 8026A48C 002660EC 90 04 50 28 */ stw r0, 0x5028(r4)
+/* 8026A490 002660F0 A0 A4 50 0A */ lhz r5, 0x500a(r4)
+/* 8026A494 002660F4 48 00 00 08 */ b lbl_8026A49C
+lbl_8026A498:
+/* 8026A498 002660F8 A0 A4 50 0A */ lhz r5, 0x500a(r4)
+lbl_8026A49C:
+/* 8026A49C 002660FC 54 A0 06 B5 */ rlwinm. r0, r5, 0, 0x1a, 0x1a
+/* 8026A4A0 00266100 41 82 FF F8 */ beq lbl_8026A498
+/* 8026A4A4 00266104 3C 60 CC 00 */ lis r3, 0xCC00500A@ha
+/* 8026A4A8 00266108 B0 A3 50 0A */ sth r5, 0xCC00500A@l(r3)
+/* 8026A4AC 0026610C A0 03 50 0A */ lhz r0, 0x500a(r3)
+/* 8026A4B0 00266110 54 00 05 66 */ rlwinm r0, r0, 0, 0x15, 0x13
+/* 8026A4B4 00266114 B0 03 50 0A */ sth r0, 0x500a(r3)
+lbl_8026A4B8:
+/* 8026A4B8 00266118 A0 03 50 0A */ lhz r0, 0x500a(r3)
+/* 8026A4BC 0026611C 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15
+/* 8026A4C0 00266120 40 82 FF F8 */ bne lbl_8026A4B8
+/* 8026A4C4 00266124 3C 60 CC 00 */ lis r3, 0xCC00500A@ha
+/* 8026A4C8 00266128 A0 03 50 0A */ lhz r0, 0xCC00500A@l(r3)
+/* 8026A4CC 0026612C 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
+/* 8026A4D0 00266130 B0 03 50 0A */ sth r0, 0x500a(r3)
+/* 8026A4D4 00266134 A0 03 50 04 */ lhz r0, 0x5004(r3)
+/* 8026A4D8 00266138 48 00 00 08 */ b lbl_8026A4E0
+lbl_8026A4DC:
+/* 8026A4DC 0026613C A0 03 50 04 */ lhz r0, 0x5004(r3)
+lbl_8026A4E0:
+/* 8026A4E0 00266140 54 00 04 21 */ rlwinm. r0, r0, 0, 0x10, 0x10
+/* 8026A4E4 00266144 41 82 FF F8 */ beq lbl_8026A4DC
+/* 8026A4E8 00266148 3C 80 CC 00 */ lis r4, 0xCC005006@ha
+/* 8026A4EC 0026614C 38 00 08 AC */ li r0, 0x8ac
+/* 8026A4F0 00266150 A0 64 50 06 */ lhz r3, 0xCC005006@l(r4)
+/* 8026A4F4 00266154 A0 64 50 0A */ lhz r3, 0x500a(r4)
+/* 8026A4F8 00266158 60 63 00 04 */ ori r3, r3, 4
+/* 8026A4FC 0026615C B0 64 50 0A */ sth r3, 0x500a(r4)
+/* 8026A500 00266160 B0 04 50 0A */ sth r0, 0x500a(r4)
+/* 8026A504 00266164 A0 04 50 0A */ lhz r0, 0x500a(r4)
+/* 8026A508 00266168 60 00 00 01 */ ori r0, r0, 1
+/* 8026A50C 0026616C B0 04 50 0A */ sth r0, 0x500a(r4)
+lbl_8026A510:
+/* 8026A510 00266170 A0 04 50 0A */ lhz r0, 0x500a(r4)
+/* 8026A514 00266174 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8026A518 00266178 40 82 FF F8 */ bne lbl_8026A510
+/* 8026A51C 0026617C 4B FF FB C1 */ bl OSGetArenaHi
+/* 8026A520 00266180 7C 64 1B 78 */ mr r4, r3
+/* 8026A524 00266184 3C 60 81 00 */ lis r3, 0x8100
+/* 8026A528 00266188 38 84 FF 80 */ addi r4, r4, -128
+/* 8026A52C 0026618C 38 A0 00 80 */ li r5, 0x80
+/* 8026A530 00266190 4B D9 9A D1 */ bl memcpy
+/* 8026A534 00266194 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8026A538 00266198 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8026A53C 0026619C 7C 08 03 A6 */ mtlr r0
+/* 8026A540 002661A0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8026A544 002661A4 4E 80 00 20 */ blr
+
+.global __OSStopAudioSystem
+__OSStopAudioSystem:
+/* 8026A548 002661A8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8026A54C 002661AC 7C 08 02 A6 */ mflr r0
+/* 8026A550 002661B0 3C 60 CC 00 */ lis r3, 0xCC00500A@ha
+/* 8026A554 002661B4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8026A558 002661B8 38 00 08 04 */ li r0, 0x804
+/* 8026A55C 002661BC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8026A560 002661C0 B0 03 50 0A */ sth r0, 0xCC00500A@l(r3)
+/* 8026A564 002661C4 A0 03 50 36 */ lhz r0, 0x5036(r3)
+/* 8026A568 002661C8 54 00 04 7E */ clrlwi r0, r0, 0x11
+/* 8026A56C 002661CC B0 03 50 36 */ sth r0, 0x5036(r3)
+/* 8026A570 002661D0 A0 03 50 0A */ lhz r0, 0x500a(r3)
+/* 8026A574 002661D4 48 00 00 08 */ b lbl_8026A57C
+lbl_8026A578:
+/* 8026A578 002661D8 A0 03 50 0A */ lhz r0, 0x500a(r3)
+lbl_8026A57C:
+/* 8026A57C 002661DC 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15
+/* 8026A580 002661E0 40 82 FF F8 */ bne lbl_8026A578
+/* 8026A584 002661E4 3C 60 CC 00 */ lis r3, 0xCC00500A@ha
+/* 8026A588 002661E8 A0 03 50 0A */ lhz r0, 0xCC00500A@l(r3)
+/* 8026A58C 002661EC 48 00 00 08 */ b lbl_8026A594
+lbl_8026A590:
+/* 8026A590 002661F0 A0 03 50 0A */ lhz r0, 0x500a(r3)
+lbl_8026A594:
+/* 8026A594 002661F4 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
+/* 8026A598 002661F8 40 82 FF F8 */ bne lbl_8026A590
+/* 8026A59C 002661FC 3C 80 CC 00 */ lis r4, 0xCC00500A@ha
+/* 8026A5A0 00266200 38 00 08 AC */ li r0, 0x8ac
+/* 8026A5A4 00266204 B0 04 50 0A */ sth r0, 0xCC00500A@l(r4)
+/* 8026A5A8 00266208 38 00 00 00 */ li r0, 0
+/* 8026A5AC 0026620C B0 04 50 00 */ sth r0, 0x5000(r4)
+lbl_8026A5B0:
+/* 8026A5B0 00266210 A0 64 50 04 */ lhz r3, 0x5004(r4)
+/* 8026A5B4 00266214 A0 04 50 06 */ lhz r0, 0x5006(r4)
+/* 8026A5B8 00266218 50 60 80 1E */ rlwimi r0, r3, 0x10, 0, 0xf
+/* 8026A5BC 0026621C 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
+/* 8026A5C0 00266220 40 82 FF F0 */ bne lbl_8026A5B0
+/* 8026A5C4 00266224 48 00 82 0D */ bl func_802727D0
+/* 8026A5C8 00266228 7C 7F 1B 78 */ mr r31, r3
+lbl_8026A5CC:
+/* 8026A5CC 0026622C 48 00 82 05 */ bl func_802727D0
+/* 8026A5D0 00266230 7C 1F 18 50 */ subf r0, r31, r3
+/* 8026A5D4 00266234 2C 00 00 2C */ cmpwi r0, 0x2c
+/* 8026A5D8 00266238 41 80 FF F4 */ blt lbl_8026A5CC
+/* 8026A5DC 0026623C 3C 60 CC 00 */ lis r3, 0xCC00500A@ha
+/* 8026A5E0 00266240 A0 03 50 0A */ lhz r0, 0xCC00500A@l(r3)
+/* 8026A5E4 00266244 60 00 00 01 */ ori r0, r0, 1
+/* 8026A5E8 00266248 B0 03 50 0A */ sth r0, 0x500a(r3)
+/* 8026A5EC 0026624C A0 03 50 0A */ lhz r0, 0x500a(r3)
+/* 8026A5F0 00266250 48 00 00 08 */ b lbl_8026A5F8
+lbl_8026A5F4:
+/* 8026A5F4 00266254 A0 03 50 0A */ lhz r0, 0x500a(r3)
+lbl_8026A5F8:
+/* 8026A5F8 00266258 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8026A5FC 0026625C 40 82 FF F8 */ bne lbl_8026A5F4
+/* 8026A600 00266260 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8026A604 00266264 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8026A608 00266268 7C 08 03 A6 */ mtlr r0
+/* 8026A60C 0026626C 38 21 00 10 */ addi r1, r1, 0x10
+/* 8026A610 00266270 4E 80 00 20 */ blr