.include "macros.inc" .section .text, "ax" # 8033b2d8 .global __OSInitAudioSystem __OSInitAudioSystem: /* 8033B2D8 00338218 7C 08 02 A6 */ mflr r0 /* 8033B2DC 0033821C 90 01 00 04 */ stw r0, 4(r1) /* 8033B2E0 00338220 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8033B2E4 00338224 BF 21 00 14 */ stmw r25, 0x14(r1) /* 8033B2E8 00338228 4B FF FF A5 */ bl OSGetArenaHi /* 8033B2EC 0033822C 3C 80 81 00 */ lis r4, 0x8100 /* 8033B2F0 00338230 38 A0 00 80 */ li r5, 0x80 /* 8033B2F4 00338234 38 63 FF 80 */ addi r3, r3, -128 /* 8033B2F8 00338238 4B CC 82 49 */ bl memcpy /* 8033B2FC 0033823C 3C 60 80 3D */ lis r3, lbl_803CF490@ha /* 8033B300 00338240 38 83 F4 90 */ addi r4, r3, lbl_803CF490@l /* 8033B304 00338244 3C 60 81 00 */ lis r3, 0x8100 /* 8033B308 00338248 38 A0 00 80 */ li r5, 0x80 /* 8033B30C 0033824C 4B CC 82 35 */ bl memcpy /* 8033B310 00338250 3C 60 81 00 */ lis r3, 0x8100 /* 8033B314 00338254 38 80 00 80 */ li r4, 0x80 /* 8033B318 00338258 48 00 02 95 */ bl DCFlushRange /* 8033B31C 0033825C 3C 60 CC 00 */ lis r3, 0xCC005000@ha /* 8033B320 00338260 38 63 50 00 */ addi r3, r3, 0xCC005000@l /* 8033B324 00338264 38 00 00 43 */ li r0, 0x43 /* 8033B328 00338268 B0 03 00 12 */ sth r0, 0x12(r3) /* 8033B32C 0033826C 3B E3 00 0A */ addi r31, r3, 0xa /* 8033B330 00338270 38 00 08 AC */ li r0, 0x8ac /* 8033B334 00338274 B0 03 00 0A */ sth r0, 0xa(r3) /* 8033B338 00338278 A0 03 00 0A */ lhz r0, 0xa(r3) /* 8033B33C 0033827C 60 00 00 01 */ ori r0, r0, 1 /* 8033B340 00338280 B0 03 00 0A */ sth r0, 0xa(r3) lbl_8033B344: /* 8033B344 00338284 A0 1F 00 00 */ lhz r0, 0(r31) /* 8033B348 00338288 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8033B34C 0033828C 40 82 FF F8 */ bne lbl_8033B344 /* 8033B350 00338290 38 00 00 00 */ li r0, 0 /* 8033B354 00338294 3C 80 CC 00 */ lis r4, 0xCC005000@ha /* 8033B358 00338298 B0 04 50 00 */ sth r0, 0xCC005000@l(r4) lbl_8033B35C: /* 8033B35C 0033829C 3B C4 50 00 */ addi r30, r4, 0x5000 /* 8033B360 003382A0 A4 7E 00 04 */ lhzu r3, 4(r30) /* 8033B364 003382A4 3B A4 50 00 */ addi r29, r4, 0x5000 /* 8033B368 003382A8 A4 1D 00 06 */ lhzu r0, 6(r29) /* 8033B36C 003382AC 50 60 80 1E */ rlwimi r0, r3, 0x10, 0, 0xf /* 8033B370 003382B0 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 8033B374 003382B4 40 82 FF E8 */ bne lbl_8033B35C /* 8033B378 003382B8 3C 60 CC 00 */ lis r3, 0xCC005000@ha /* 8033B37C 003382BC 3C 00 01 00 */ lis r0, 0x100 /* 8033B380 003382C0 3B 63 50 00 */ addi r27, r3, 0xCC005000@l /* 8033B384 003382C4 94 1B 00 20 */ stwu r0, 0x20(r27) /* 8033B388 003382C8 38 00 00 00 */ li r0, 0 /* 8033B38C 003382CC 3B 43 50 00 */ addi r26, r3, 0x5000 /* 8033B390 003382D0 94 1A 00 24 */ stwu r0, 0x24(r26) /* 8033B394 003382D4 38 00 00 20 */ li r0, 0x20 /* 8033B398 003382D8 3B 23 50 00 */ addi r25, r3, 0x5000 /* 8033B39C 003382DC 94 19 00 28 */ stwu r0, 0x28(r25) /* 8033B3A0 003382E0 A0 7F 00 00 */ lhz r3, 0(r31) /* 8033B3A4 003382E4 48 00 00 08 */ b lbl_8033B3AC lbl_8033B3A8: /* 8033B3A8 003382E8 A0 7F 00 00 */ lhz r3, 0(r31) lbl_8033B3AC: /* 8033B3AC 003382EC 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a /* 8033B3B0 003382F0 41 82 FF F8 */ beq lbl_8033B3A8 /* 8033B3B4 003382F4 B0 7F 00 00 */ sth r3, 0(r31) /* 8033B3B8 003382F8 48 00 73 5D */ bl OSGetTick /* 8033B3BC 003382FC 7C 7C 1B 78 */ mr r28, r3 lbl_8033B3C0: /* 8033B3C0 00338300 48 00 73 55 */ bl OSGetTick /* 8033B3C4 00338304 7C 1C 18 50 */ subf r0, r28, r3 /* 8033B3C8 00338308 2C 00 08 92 */ cmpwi r0, 0x892 /* 8033B3CC 0033830C 41 80 FF F4 */ blt lbl_8033B3C0 /* 8033B3D0 00338310 3C 00 01 00 */ lis r0, 0x100 /* 8033B3D4 00338314 90 1B 00 00 */ stw r0, 0(r27) /* 8033B3D8 00338318 38 60 00 00 */ li r3, 0 /* 8033B3DC 0033831C 38 00 00 20 */ li r0, 0x20 /* 8033B3E0 00338320 90 7A 00 00 */ stw r3, 0(r26) /* 8033B3E4 00338324 90 19 00 00 */ stw r0, 0(r25) /* 8033B3E8 00338328 A0 7F 00 00 */ lhz r3, 0(r31) /* 8033B3EC 0033832C 48 00 00 08 */ b lbl_8033B3F4 lbl_8033B3F0: /* 8033B3F0 00338330 A0 7F 00 00 */ lhz r3, 0(r31) lbl_8033B3F4: /* 8033B3F4 00338334 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a /* 8033B3F8 00338338 41 82 FF F8 */ beq lbl_8033B3F0 /* 8033B3FC 0033833C B0 7F 00 00 */ sth r3, 0(r31) /* 8033B400 00338340 A0 1F 00 00 */ lhz r0, 0(r31) /* 8033B404 00338344 54 00 05 66 */ rlwinm r0, r0, 0, 0x15, 0x13 /* 8033B408 00338348 B0 1F 00 00 */ sth r0, 0(r31) lbl_8033B40C: /* 8033B40C 0033834C A0 1F 00 00 */ lhz r0, 0(r31) /* 8033B410 00338350 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 /* 8033B414 00338354 40 82 FF F8 */ bne lbl_8033B40C /* 8033B418 00338358 A0 1F 00 00 */ lhz r0, 0(r31) /* 8033B41C 0033835C 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 8033B420 00338360 B0 1F 00 00 */ sth r0, 0(r31) /* 8033B424 00338364 A0 1E 00 00 */ lhz r0, 0(r30) /* 8033B428 00338368 48 00 00 08 */ b lbl_8033B430 lbl_8033B42C: /* 8033B42C 0033836C A0 1E 00 00 */ lhz r0, 0(r30) lbl_8033B430: /* 8033B430 00338370 54 05 04 3E */ clrlwi r5, r0, 0x10 /* 8033B434 00338374 54 00 04 21 */ rlwinm. r0, r0, 0, 0x10, 0x10 /* 8033B438 00338378 41 82 FF F4 */ beq lbl_8033B42C /* 8033B43C 0033837C A0 1F 00 00 */ lhz r0, 0(r31) /* 8033B440 00338380 A0 9D 00 00 */ lhz r4, 0(r29) /* 8033B444 00338384 60 00 00 04 */ ori r0, r0, 4 /* 8033B448 00338388 B0 1F 00 00 */ sth r0, 0(r31) /* 8033B44C 0033838C 38 00 08 AC */ li r0, 0x8ac /* 8033B450 00338390 B0 1F 00 00 */ sth r0, 0(r31) /* 8033B454 00338394 A0 1F 00 00 */ lhz r0, 0(r31) /* 8033B458 00338398 60 00 00 01 */ ori r0, r0, 1 /* 8033B45C 0033839C B0 1F 00 00 */ sth r0, 0(r31) lbl_8033B460: /* 8033B460 003383A0 A0 1F 00 00 */ lhz r0, 0(r31) /* 8033B464 003383A4 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8033B468 003383A8 40 82 FF F8 */ bne lbl_8033B460 /* 8033B46C 003383AC 4B FF FE 21 */ bl OSGetArenaHi /* 8033B470 003383B0 38 83 FF 80 */ addi r4, r3, -128 /* 8033B474 003383B4 3C 60 81 00 */ lis r3, 0x8100 /* 8033B478 003383B8 38 A0 00 80 */ li r5, 0x80 /* 8033B47C 003383BC 4B CC 80 C5 */ bl memcpy /* 8033B480 003383C0 BB 21 00 14 */ lmw r25, 0x14(r1) /* 8033B484 003383C4 80 01 00 34 */ lwz r0, 0x34(r1) /* 8033B488 003383C8 38 21 00 30 */ addi r1, r1, 0x30 /* 8033B48C 003383CC 7C 08 03 A6 */ mtlr r0 /* 8033B490 003383D0 4E 80 00 20 */ blr .global __OSStopAudioSystem __OSStopAudioSystem: /* 8033B494 003383D4 7C 08 02 A6 */ mflr r0 /* 8033B498 003383D8 3C 60 CC 00 */ lis r3, 0xCC005000@ha /* 8033B49C 003383DC 90 01 00 04 */ stw r0, 4(r1) /* 8033B4A0 003383E0 38 00 08 04 */ li r0, 0x804 /* 8033B4A4 003383E4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8033B4A8 003383E8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8033B4AC 003383EC 3B E3 50 00 */ addi r31, r3, 0xCC005000@l /* 8033B4B0 003383F0 38 63 50 00 */ addi r3, r3, 0x5000 /* 8033B4B4 003383F4 93 C1 00 08 */ stw r30, 8(r1) /* 8033B4B8 003383F8 B0 1F 00 0A */ sth r0, 0xa(r31) /* 8033B4BC 003383FC A0 03 00 36 */ lhz r0, 0x36(r3) /* 8033B4C0 00338400 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf /* 8033B4C4 00338404 B0 03 00 36 */ sth r0, 0x36(r3) /* 8033B4C8 00338408 A4 1F 00 0A */ lhzu r0, 0xa(r31) /* 8033B4CC 0033840C 48 00 00 08 */ b lbl_8033B4D4 lbl_8033B4D0: /* 8033B4D0 00338410 A0 1F 00 00 */ lhz r0, 0(r31) lbl_8033B4D4: /* 8033B4D4 00338414 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15 /* 8033B4D8 00338418 40 82 FF F8 */ bne lbl_8033B4D0 /* 8033B4DC 0033841C A0 1F 00 00 */ lhz r0, 0(r31) /* 8033B4E0 00338420 48 00 00 08 */ b lbl_8033B4E8 lbl_8033B4E4: /* 8033B4E4 00338424 A0 1F 00 00 */ lhz r0, 0(r31) lbl_8033B4E8: /* 8033B4E8 00338428 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16 /* 8033B4EC 0033842C 40 82 FF F8 */ bne lbl_8033B4E4 /* 8033B4F0 00338430 38 00 08 AC */ li r0, 0x8ac /* 8033B4F4 00338434 3C 60 CC 00 */ lis r3, 0xCC005000@ha /* 8033B4F8 00338438 B0 1F 00 00 */ sth r0, 0(r31) /* 8033B4FC 0033843C 38 00 00 00 */ li r0, 0 /* 8033B500 00338440 B0 03 50 00 */ sth r0, 0xCC005000@l(r3) /* 8033B504 00338444 38 83 50 00 */ addi r4, r3, 0x5000 lbl_8033B508: /* 8033B508 00338448 A0 64 00 04 */ lhz r3, 4(r4) /* 8033B50C 0033844C A0 04 00 06 */ lhz r0, 6(r4) /* 8033B510 00338450 50 60 80 1E */ rlwimi r0, r3, 0x10, 0, 0xf /* 8033B514 00338454 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 8033B518 00338458 40 82 FF F0 */ bne lbl_8033B508 /* 8033B51C 0033845C 48 00 71 F9 */ bl OSGetTick /* 8033B520 00338460 7C 7E 1B 78 */ mr r30, r3 lbl_8033B524: /* 8033B524 00338464 48 00 71 F1 */ bl OSGetTick /* 8033B528 00338468 7C 1E 18 50 */ subf r0, r30, r3 /* 8033B52C 0033846C 2C 00 00 2C */ cmpwi r0, 0x2c /* 8033B530 00338470 41 80 FF F4 */ blt lbl_8033B524 /* 8033B534 00338474 A0 1F 00 00 */ lhz r0, 0(r31) /* 8033B538 00338478 60 00 00 01 */ ori r0, r0, 1 /* 8033B53C 0033847C B0 1F 00 00 */ sth r0, 0(r31) /* 8033B540 00338480 A0 1F 00 00 */ lhz r0, 0(r31) /* 8033B544 00338484 48 00 00 08 */ b lbl_8033B54C lbl_8033B548: /* 8033B548 00338488 A0 1F 00 00 */ lhz r0, 0(r31) lbl_8033B54C: /* 8033B54C 0033848C 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8033B550 00338490 40 82 FF F8 */ bne lbl_8033B548 /* 8033B554 00338494 80 01 00 14 */ lwz r0, 0x14(r1) /* 8033B558 00338498 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8033B55C 0033849C 83 C1 00 08 */ lwz r30, 8(r1) /* 8033B560 003384A0 38 21 00 10 */ addi r1, r1, 0x10 /* 8033B564 003384A4 7C 08 03 A6 */ mtlr r0 /* 8033B568 003384A8 4E 80 00 20 */ blr