diff options
author | Revo <projectrevotpp@hotmail.com> | 2020-09-13 12:35:03 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-13 12:35:03 -0400 |
commit | 8a7bfac7d3a81b34be131c76a98cac1f4cf9cb82 (patch) | |
tree | d2a503a323ae06264ebab085d9e3108f7c5eb33c /asm/SDK/OS | |
parent | 11effce5c0a8c617662608d05cdf906ff8e73d2c (diff) | |
parent | 9c1b7dcd0a71137bd1193e5753a92607e2b301ad (diff) |
Merge pull request #39 from red031000/master
split OSAudioSystem and decomp first func
Diffstat (limited to 'asm/SDK/OS')
-rw-r--r-- | asm/SDK/OS/OS.s | 2 | ||||
-rw-r--r-- | asm/SDK/OS/OSAlarm.s | 2 | ||||
-rw-r--r-- | asm/SDK/OS/OSAlloc_asm.s (renamed from asm/SDK/OS/OSAlloc.s) | 51 | ||||
-rw-r--r-- | asm/SDK/OS/OSAudioSystem.s | 340 |
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 |