.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global GetInstance__Q44nw4r3snd6detail20RemoteSpeakerManagerFv GetInstance__Q44nw4r3snd6detail20RemoteSpeakerManagerFv: /* 803737A8 0036F408 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803737AC 0036F40C 7C 08 02 A6 */ mflr r0 /* 803737B0 0036F410 90 01 00 24 */ stw r0, 0x24(r1) /* 803737B4 0036F414 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803737B8 0036F418 93 C1 00 18 */ stw r30, 0x18(r1) /* 803737BC 0036F41C 93 A1 00 14 */ stw r29, 0x14(r1) /* 803737C0 0036F420 88 0D B2 18 */ lbz r0, lbl_806404D8-_SDA_BASE_(r13) /* 803737C4 0036F424 7C 00 07 75 */ extsb. r0, r0 /* 803737C8 0036F428 40 82 00 54 */ bne lbl_8037381C /* 803737CC 0036F42C 3C 60 80 62 */ lis r3, lbl_806219F0@ha /* 803737D0 0036F430 38 00 00 00 */ li r0, 0 /* 803737D4 0036F434 3B C3 19 F0 */ addi r30, r3, lbl_806219F0@l /* 803737D8 0036F438 98 03 19 F0 */ stb r0, 0x19f0(r3) /* 803737DC 0036F43C 3B BE 00 38 */ addi r29, r30, 0x38 /* 803737E0 0036F440 3B FE 02 D8 */ addi r31, r30, 0x2d8 lbl_803737E4: /* 803737E4 0036F444 7F A3 EB 78 */ mr r3, r29 /* 803737E8 0036F448 4B FF F7 AD */ bl __ct__Q34nw4r3snd13RemoteSpeakerFv /* 803737EC 0036F44C 3B BD 00 A8 */ addi r29, r29, 0xa8 /* 803737F0 0036F450 7C 1D F8 40 */ cmplw r29, r31 /* 803737F4 0036F454 41 80 FF F0 */ blt lbl_803737E4 /* 803737F8 0036F458 38 80 00 01 */ li r4, 1 /* 803737FC 0036F45C 38 A0 00 00 */ li r5, 0 /* 80373800 0036F460 38 60 00 02 */ li r3, 2 /* 80373804 0036F464 38 00 00 03 */ li r0, 3 /* 80373808 0036F468 90 BE 00 70 */ stw r5, 0x70(r30) /* 8037380C 0036F46C 90 9E 01 18 */ stw r4, 0x118(r30) /* 80373810 0036F470 90 7E 01 C0 */ stw r3, 0x1c0(r30) /* 80373814 0036F474 90 1E 02 68 */ stw r0, 0x268(r30) /* 80373818 0036F478 98 8D B2 18 */ stb r4, lbl_806404D8-_SDA_BASE_(r13) lbl_8037381C: /* 8037381C 0036F47C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80373820 0036F480 3C 60 80 62 */ lis r3, lbl_806219F0@ha /* 80373824 0036F484 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80373828 0036F488 38 63 19 F0 */ addi r3, r3, lbl_806219F0@l /* 8037382C 0036F48C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80373830 0036F490 80 01 00 24 */ lwz r0, 0x24(r1) /* 80373834 0036F494 7C 08 03 A6 */ mtlr r0 /* 80373838 0036F498 38 21 00 20 */ addi r1, r1, 0x20 /* 8037383C 0036F49C 4E 80 00 20 */ blr .global GetRemoteSpeaker__Q44nw4r3snd6detail20RemoteSpeakerManagerFi GetRemoteSpeaker__Q44nw4r3snd6detail20RemoteSpeakerManagerFi: /* 80373840 0036F4A0 1C 04 00 A8 */ mulli r0, r4, 0xa8 /* 80373844 0036F4A4 7C 63 02 14 */ add r3, r3, r0 /* 80373848 0036F4A8 38 63 00 38 */ addi r3, r3, 0x38 /* 8037384C 0036F4AC 4E 80 00 20 */ blr .global Setup__Q44nw4r3snd6detail20RemoteSpeakerManagerFv Setup__Q44nw4r3snd6detail20RemoteSpeakerManagerFv: /* 80373850 0036F4B0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80373854 0036F4B4 7C 08 02 A6 */ mflr r0 /* 80373858 0036F4B8 90 01 00 14 */ stw r0, 0x14(r1) /* 8037385C 0036F4BC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80373860 0036F4C0 7C 7F 1B 78 */ mr r31, r3 /* 80373864 0036F4C4 88 03 00 00 */ lbz r0, 0(r3) /* 80373868 0036F4C8 2C 00 00 00 */ cmpwi r0, 0 /* 8037386C 0036F4CC 40 82 00 6C */ bne lbl_803738D8 /* 80373870 0036F4D0 38 63 00 08 */ addi r3, r3, 8 /* 80373874 0036F4D4 4B EF 5E B1 */ bl OSCreateAlarm /* 80373878 0036F4D8 4B EF EF 41 */ bl OSGetTime /* 8037387C 0036F4DC 3C C0 80 00 */ lis r6, 0x800000F8@ha /* 80373880 0036F4E0 3C A0 43 1C */ lis r5, 0x431BDE83@ha /* 80373884 0036F4E4 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6) /* 80373888 0036F4E8 3C C0 10 62 */ lis r6, 0x10624DD3@ha /* 8037388C 0036F4EC 39 46 4D D3 */ addi r10, r6, 0x10624DD3@l /* 80373890 0036F4F0 3D 20 80 37 */ lis r9, RemoteSpeakerAlarmProc__Q44nw4r3snd6detail20RemoteSpeakerManagerFP7OSAlarmP9OSContext@ha /* 80373894 0036F4F4 54 00 F0 BE */ srwi r0, r0, 2 /* 80373898 0036F4F8 38 A5 DE 83 */ addi r5, r5, 0x431BDE83@l /* 8037389C 0036F4FC 7D 05 00 16 */ mulhwu r8, r5, r0 /* 803738A0 0036F500 3C E0 00 66 */ lis r7, 0x0065B9AB@ha /* 803738A4 0036F504 7C 86 23 78 */ mr r6, r4 /* 803738A8 0036F508 38 07 B9 AB */ addi r0, r7, 0x0065B9AB@l /* 803738AC 0036F50C 7C 65 1B 78 */ mr r5, r3 /* 803738B0 0036F510 38 7F 00 08 */ addi r3, r31, 8 /* 803738B4 0036F514 55 04 8B FE */ srwi r4, r8, 0xf /* 803738B8 0036F518 39 29 38 EC */ addi r9, r9, RemoteSpeakerAlarmProc__Q44nw4r3snd6detail20RemoteSpeakerManagerFP7OSAlarmP9OSContext@l /* 803738BC 0036F51C 7C 04 01 D6 */ mullw r0, r4, r0 /* 803738C0 0036F520 38 E0 00 00 */ li r7, 0 /* 803738C4 0036F524 7C 0A 00 16 */ mulhwu r0, r10, r0 /* 803738C8 0036F528 54 08 BA 7E */ srwi r8, r0, 9 /* 803738CC 0036F52C 4B EF 61 29 */ bl OSSetPeriodicAlarm /* 803738D0 0036F530 38 00 00 01 */ li r0, 1 /* 803738D4 0036F534 98 1F 00 00 */ stb r0, 0(r31) lbl_803738D8: /* 803738D8 0036F538 80 01 00 14 */ lwz r0, 0x14(r1) /* 803738DC 0036F53C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803738E0 0036F540 7C 08 03 A6 */ mtlr r0 /* 803738E4 0036F544 38 21 00 10 */ addi r1, r1, 0x10 /* 803738E8 0036F548 4E 80 00 20 */ blr .global RemoteSpeakerAlarmProc__Q44nw4r3snd6detail20RemoteSpeakerManagerFP7OSAlarmP9OSContext RemoteSpeakerAlarmProc__Q44nw4r3snd6detail20RemoteSpeakerManagerFP7OSAlarmP9OSContext: /* 803738EC 0036F54C 94 21 FF 90 */ stwu r1, -0x70(r1) /* 803738F0 0036F550 7C 08 02 A6 */ mflr r0 /* 803738F4 0036F554 90 01 00 74 */ stw r0, 0x74(r1) /* 803738F8 0036F558 93 E1 00 6C */ stw r31, 0x6c(r1) /* 803738FC 0036F55C 93 C1 00 68 */ stw r30, 0x68(r1) /* 80373900 0036F560 93 A1 00 64 */ stw r29, 0x64(r1) /* 80373904 0036F564 88 0D B2 18 */ lbz r0, lbl_806404D8-_SDA_BASE_(r13) /* 80373908 0036F568 7C 00 07 75 */ extsb. r0, r0 /* 8037390C 0036F56C 40 82 00 54 */ bne lbl_80373960 /* 80373910 0036F570 3C 60 80 62 */ lis r3, lbl_806219F0@ha /* 80373914 0036F574 38 00 00 00 */ li r0, 0 /* 80373918 0036F578 3B C3 19 F0 */ addi r30, r3, lbl_806219F0@l /* 8037391C 0036F57C 98 03 19 F0 */ stb r0, 0x19f0(r3) /* 80373920 0036F580 3B BE 00 38 */ addi r29, r30, 0x38 /* 80373924 0036F584 3B FE 02 D8 */ addi r31, r30, 0x2d8 lbl_80373928: /* 80373928 0036F588 7F A3 EB 78 */ mr r3, r29 /* 8037392C 0036F58C 4B FF F6 69 */ bl __ct__Q34nw4r3snd13RemoteSpeakerFv /* 80373930 0036F590 3B BD 00 A8 */ addi r29, r29, 0xa8 /* 80373934 0036F594 7C 1D F8 40 */ cmplw r29, r31 /* 80373938 0036F598 41 80 FF F0 */ blt lbl_80373928 /* 8037393C 0036F59C 38 80 00 01 */ li r4, 1 /* 80373940 0036F5A0 38 A0 00 00 */ li r5, 0 /* 80373944 0036F5A4 38 60 00 02 */ li r3, 2 /* 80373948 0036F5A8 38 00 00 03 */ li r0, 3 /* 8037394C 0036F5AC 90 BE 00 70 */ stw r5, 0x70(r30) /* 80373950 0036F5B0 90 9E 01 18 */ stw r4, 0x118(r30) /* 80373954 0036F5B4 90 7E 01 C0 */ stw r3, 0x1c0(r30) /* 80373958 0036F5B8 90 1E 02 68 */ stw r0, 0x268(r30) /* 8037395C 0036F5BC 98 8D B2 18 */ stb r4, lbl_806404D8-_SDA_BASE_(r13) lbl_80373960: /* 80373960 0036F5C0 3F C0 80 62 */ lis r30, lbl_806219F0@ha /* 80373964 0036F5C4 3B DE 19 F0 */ addi r30, r30, lbl_806219F0@l /* 80373968 0036F5C8 4B F1 D5 2D */ bl AXRmtGetSamplesLeft /* 8037396C 0036F5CC 2C 03 00 28 */ cmpwi r3, 0x28 /* 80373970 0036F5D0 41 80 00 58 */ blt lbl_803739C8 /* 80373974 0036F5D4 3B BE 00 38 */ addi r29, r30, 0x38 /* 80373978 0036F5D8 3B E0 00 00 */ li r31, 0 lbl_8037397C: /* 8037397C 0036F5DC 80 1E 00 44 */ lwz r0, 0x44(r30) /* 80373980 0036F5E0 2C 00 00 04 */ cmpwi r0, 4 /* 80373984 0036F5E4 40 82 00 20 */ bne lbl_803739A4 /* 80373988 0036F5E8 7F E3 FB 78 */ mr r3, r31 /* 8037398C 0036F5EC 38 81 00 08 */ addi r4, r1, 8 /* 80373990 0036F5F0 38 A0 00 28 */ li r5, 0x28 /* 80373994 0036F5F4 4B F1 D5 2D */ bl AXRmtGetSamples /* 80373998 0036F5F8 7F A3 EB 78 */ mr r3, r29 /* 8037399C 0036F5FC 38 81 00 08 */ addi r4, r1, 8 /* 803739A0 0036F600 4B FF F7 4D */ bl UpdateStreamData__Q34nw4r3snd13RemoteSpeakerFPCs lbl_803739A4: /* 803739A4 0036F604 7F A3 EB 78 */ mr r3, r29 /* 803739A8 0036F608 4B FF F6 71 */ bl Update__Q34nw4r3snd13RemoteSpeakerFv /* 803739AC 0036F60C 3B FF 00 01 */ addi r31, r31, 1 /* 803739B0 0036F610 3B BD 00 A8 */ addi r29, r29, 0xa8 /* 803739B4 0036F614 2C 1F 00 04 */ cmpwi r31, 4 /* 803739B8 0036F618 3B DE 00 A8 */ addi r30, r30, 0xa8 /* 803739BC 0036F61C 41 80 FF C0 */ blt lbl_8037397C /* 803739C0 0036F620 38 60 00 28 */ li r3, 0x28 /* 803739C4 0036F624 4B F1 D5 C1 */ bl AXRmtAdvancePtr lbl_803739C8: /* 803739C8 0036F628 80 01 00 74 */ lwz r0, 0x74(r1) /* 803739CC 0036F62C 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 803739D0 0036F630 83 C1 00 68 */ lwz r30, 0x68(r1) /* 803739D4 0036F634 83 A1 00 64 */ lwz r29, 0x64(r1) /* 803739D8 0036F638 7C 08 03 A6 */ mtlr r0 /* 803739DC 0036F63C 38 21 00 70 */ addi r1, r1, 0x70 /* 803739E0 0036F640 4E 80 00 20 */ blr