.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global wpadConnectCallback__Q210homebutton10ControllerFll wpadConnectCallback__Q210homebutton10ControllerFll: /* 803A4D9C 003A09FC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803A4DA0 003A0A00 7C 08 02 A6 */ mflr r0 /* 803A4DA4 003A0A04 2C 04 00 00 */ cmpwi r4, 0 /* 803A4DA8 003A0A08 90 01 00 24 */ stw r0, 0x24(r1) /* 803A4DAC 003A0A0C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803A4DB0 003A0A10 7C 9F 23 78 */ mr r31, r4 /* 803A4DB4 003A0A14 93 C1 00 18 */ stw r30, 0x18(r1) /* 803A4DB8 003A0A18 7C 7E 1B 78 */ mr r30, r3 /* 803A4DBC 003A0A1C 93 A1 00 14 */ stw r29, 0x14(r1) /* 803A4DC0 003A0A20 93 81 00 10 */ stw r28, 0x10(r1) /* 803A4DC4 003A0A24 41 82 00 14 */ beq lbl_803A4DD8 /* 803A4DC8 003A0A28 40 80 00 9C */ bge lbl_803A4E64 /* 803A4DCC 003A0A2C 2C 04 FF FF */ cmpwi r4, -1 /* 803A4DD0 003A0A30 40 80 00 58 */ bge lbl_803A4E28 /* 803A4DD4 003A0A34 48 00 00 90 */ b lbl_803A4E64 lbl_803A4DD8: /* 803A4DD8 003A0A38 3F 80 80 64 */ lis r28, lbl_8063D070@ha /* 803A4DDC 003A0A3C 54 7D 10 3A */ slwi r29, r3, 2 /* 803A4DE0 003A0A40 3B 9C D0 70 */ addi r28, r28, lbl_8063D070@l /* 803A4DE4 003A0A44 7C 9C E8 2E */ lwzx r4, r28, r29 /* 803A4DE8 003A0A48 88 04 00 40 */ lbz r0, 0x40(r4) /* 803A4DEC 003A0A4C 2C 00 00 00 */ cmpwi r0, 0 /* 803A4DF0 003A0A50 40 82 00 24 */ bne lbl_803A4E14 /* 803A4DF4 003A0A54 3C 80 80 3A */ lis r4, wpadExtensionCallback__Q210homebutton10ControllerFll@ha /* 803A4DF8 003A0A58 38 84 4E B0 */ addi r4, r4, wpadExtensionCallback__Q210homebutton10ControllerFll@l /* 803A4DFC 003A0A5C 4B F0 40 D9 */ bl WPADSetExtensionCallback /* 803A4E00 003A0A60 7C 9C E8 2E */ lwzx r4, r28, r29 /* 803A4E04 003A0A64 38 00 00 01 */ li r0, 1 /* 803A4E08 003A0A68 90 64 00 2C */ stw r3, 0x2c(r4) /* 803A4E0C 003A0A6C 7C 7C E8 2E */ lwzx r3, r28, r29 /* 803A4E10 003A0A70 98 03 00 40 */ stb r0, 0x40(r3) lbl_803A4E14: /* 803A4E14 003A0A74 7F C3 F3 78 */ mr r3, r30 /* 803A4E18 003A0A78 38 80 00 00 */ li r4, 0 /* 803A4E1C 003A0A7C 38 A0 00 00 */ li r5, 0 /* 803A4E20 003A0A80 4B F0 4D F5 */ bl WPADControlSpeaker /* 803A4E24 003A0A84 48 00 00 40 */ b lbl_803A4E64 lbl_803A4E28: /* 803A4E28 003A0A88 3F A0 80 64 */ lis r29, lbl_8063D070@ha /* 803A4E2C 003A0A8C 54 7C 10 3A */ slwi r28, r3, 2 /* 803A4E30 003A0A90 3B BD D0 70 */ addi r29, r29, lbl_8063D070@l /* 803A4E34 003A0A94 7C 9D E0 2E */ lwzx r4, r29, r28 /* 803A4E38 003A0A98 80 84 00 2C */ lwz r4, 0x2c(r4) /* 803A4E3C 003A0A9C 4B F0 40 99 */ bl WPADSetExtensionCallback /* 803A4E40 003A0AA0 7C 7D E0 2E */ lwzx r3, r29, r28 /* 803A4E44 003A0AA4 38 00 00 00 */ li r0, 0 /* 803A4E48 003A0AA8 90 03 00 2C */ stw r0, 0x2c(r3) /* 803A4E4C 003A0AAC 7C 7D E0 2E */ lwzx r3, r29, r28 /* 803A4E50 003A0AB0 98 03 00 40 */ stb r0, 0x40(r3) /* 803A4E54 003A0AB4 7C 7D E0 2E */ lwzx r3, r29, r28 /* 803A4E58 003A0AB8 98 03 00 42 */ stb r0, 0x42(r3) /* 803A4E5C 003A0ABC 7C 7D E0 2E */ lwzx r3, r29, r28 /* 803A4E60 003A0AC0 98 03 00 43 */ stb r0, 0x43(r3) lbl_803A4E64: /* 803A4E64 003A0AC4 3C 60 80 64 */ lis r3, lbl_8063D070@ha /* 803A4E68 003A0AC8 57 C0 10 3A */ slwi r0, r30, 2 /* 803A4E6C 003A0ACC 38 63 D0 70 */ addi r3, r3, lbl_8063D070@l /* 803A4E70 003A0AD0 7C 63 00 2E */ lwzx r3, r3, r0 /* 803A4E74 003A0AD4 81 83 00 28 */ lwz r12, 0x28(r3) /* 803A4E78 003A0AD8 2C 0C 00 00 */ cmpwi r12, 0 /* 803A4E7C 003A0ADC 41 82 00 14 */ beq lbl_803A4E90 /* 803A4E80 003A0AE0 7F C3 F3 78 */ mr r3, r30 /* 803A4E84 003A0AE4 7F E4 FB 78 */ mr r4, r31 /* 803A4E88 003A0AE8 7D 89 03 A6 */ mtctr r12 /* 803A4E8C 003A0AEC 4E 80 04 21 */ bctrl lbl_803A4E90: /* 803A4E90 003A0AF0 80 01 00 24 */ lwz r0, 0x24(r1) /* 803A4E94 003A0AF4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803A4E98 003A0AF8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803A4E9C 003A0AFC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803A4EA0 003A0B00 83 81 00 10 */ lwz r28, 0x10(r1) /* 803A4EA4 003A0B04 7C 08 03 A6 */ mtlr r0 /* 803A4EA8 003A0B08 38 21 00 20 */ addi r1, r1, 0x20 /* 803A4EAC 003A0B0C 4E 80 00 20 */ blr .global wpadExtensionCallback__Q210homebutton10ControllerFll wpadExtensionCallback__Q210homebutton10ControllerFll: /* 803A4EB0 003A0B10 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803A4EB4 003A0B14 7C 08 02 A6 */ mflr r0 /* 803A4EB8 003A0B18 2C 04 00 FF */ cmpwi r4, 0xff /* 803A4EBC 003A0B1C 90 01 00 24 */ stw r0, 0x24(r1) /* 803A4EC0 003A0B20 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803A4EC4 003A0B24 7C 9F 23 78 */ mr r31, r4 /* 803A4EC8 003A0B28 93 C1 00 18 */ stw r30, 0x18(r1) /* 803A4ECC 003A0B2C 7C 7E 1B 78 */ mr r30, r3 /* 803A4ED0 003A0B30 93 A1 00 14 */ stw r29, 0x14(r1) /* 803A4ED4 003A0B34 93 81 00 10 */ stw r28, 0x10(r1) /* 803A4ED8 003A0B38 41 82 00 08 */ beq lbl_803A4EE0 /* 803A4EDC 003A0B3C 48 00 00 98 */ b lbl_803A4F74 lbl_803A4EE0: /* 803A4EE0 003A0B40 3C 80 80 64 */ lis r4, lbl_8063D070@ha /* 803A4EE4 003A0B44 54 60 10 3A */ slwi r0, r3, 2 /* 803A4EE8 003A0B48 38 84 D0 70 */ addi r4, r4, lbl_8063D070@l /* 803A4EEC 003A0B4C 7F A4 00 2E */ lwzx r29, r4, r0 /* 803A4EF0 003A0B50 83 9D 00 00 */ lwz r28, 0(r29) /* 803A4EF4 003A0B54 7F 83 E3 78 */ mr r3, r28 /* 803A4EF8 003A0B58 4B F0 4C D9 */ bl WPADIsSpeakerEnabled /* 803A4EFC 003A0B5C 2C 03 00 00 */ cmpwi r3, 0 /* 803A4F00 003A0B60 41 82 00 74 */ beq lbl_803A4F74 /* 803A4F04 003A0B64 7F 83 E3 78 */ mr r3, r28 /* 803A4F08 003A0B68 38 80 00 02 */ li r4, 2 /* 803A4F0C 003A0B6C 38 A0 00 00 */ li r5, 0 /* 803A4F10 003A0B70 4B F0 4D 05 */ bl WPADControlSpeaker /* 803A4F14 003A0B74 1C 1C 00 30 */ mulli r0, r28, 0x30 /* 803A4F18 003A0B78 3C 60 80 64 */ lis r3, lbl_8063CFB0@ha /* 803A4F1C 003A0B7C 7F 84 E3 78 */ mr r4, r28 /* 803A4F20 003A0B80 38 63 CF B0 */ addi r3, r3, lbl_8063CFB0@l /* 803A4F24 003A0B84 7F 83 02 14 */ add r28, r3, r0 /* 803A4F28 003A0B88 7F 83 E3 78 */ mr r3, r28 /* 803A4F2C 003A0B8C 4B EC 4F 75 */ bl OSSetAlarmUserData /* 803A4F30 003A0B90 7F 83 E3 78 */ mr r3, r28 /* 803A4F34 003A0B94 4B EC 4B 45 */ bl OSCancelAlarm /* 803A4F38 003A0B98 3C 80 80 00 */ lis r4, 0x800000F8@ha /* 803A4F3C 003A0B9C 3C E0 80 3A */ lis r7, soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext@ha /* 803A4F40 003A0BA0 80 04 00 F8 */ lwz r0, 0x800000F8@l(r4) /* 803A4F44 003A0BA4 3C 60 10 62 */ lis r3, 0x10624DD3@ha /* 803A4F48 003A0BA8 38 83 4D D3 */ addi r4, r3, 0x10624DD3@l /* 803A4F4C 003A0BAC 38 E7 4F C0 */ addi r7, r7, soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext@l /* 803A4F50 003A0BB0 54 00 F0 BE */ srwi r0, r0, 2 /* 803A4F54 003A0BB4 7F 83 E3 78 */ mr r3, r28 /* 803A4F58 003A0BB8 7C 04 00 16 */ mulhwu r0, r4, r0 /* 803A4F5C 003A0BBC 38 A0 00 00 */ li r5, 0 /* 803A4F60 003A0BC0 54 00 D1 BE */ srwi r0, r0, 6 /* 803A4F64 003A0BC4 1C C0 03 E8 */ mulli r6, r0, 0x3e8 /* 803A4F68 003A0BC8 4B EC 4A 1D */ bl OSSetAlarm /* 803A4F6C 003A0BCC 38 00 00 01 */ li r0, 1 /* 803A4F70 003A0BD0 98 1D 00 41 */ stb r0, 0x41(r29) lbl_803A4F74: /* 803A4F74 003A0BD4 3C 60 80 64 */ lis r3, lbl_8063D070@ha /* 803A4F78 003A0BD8 57 C0 10 3A */ slwi r0, r30, 2 /* 803A4F7C 003A0BDC 38 63 D0 70 */ addi r3, r3, lbl_8063D070@l /* 803A4F80 003A0BE0 7C 63 00 2E */ lwzx r3, r3, r0 /* 803A4F84 003A0BE4 81 83 00 2C */ lwz r12, 0x2c(r3) /* 803A4F88 003A0BE8 2C 0C 00 00 */ cmpwi r12, 0 /* 803A4F8C 003A0BEC 41 82 00 14 */ beq lbl_803A4FA0 /* 803A4F90 003A0BF0 7F C3 F3 78 */ mr r3, r30 /* 803A4F94 003A0BF4 7F E4 FB 78 */ mr r4, r31 /* 803A4F98 003A0BF8 7D 89 03 A6 */ mtctr r12 /* 803A4F9C 003A0BFC 4E 80 04 21 */ bctrl lbl_803A4FA0: /* 803A4FA0 003A0C00 80 01 00 24 */ lwz r0, 0x24(r1) /* 803A4FA4 003A0C04 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803A4FA8 003A0C08 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803A4FAC 003A0C0C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803A4FB0 003A0C10 83 81 00 10 */ lwz r28, 0x10(r1) /* 803A4FB4 003A0C14 7C 08 03 A6 */ mtlr r0 /* 803A4FB8 003A0C18 38 21 00 20 */ addi r1, r1, 0x20 /* 803A4FBC 003A0C1C 4E 80 00 20 */ blr .global soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext: /* 803A4FC0 003A0C20 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803A4FC4 003A0C24 7C 08 02 A6 */ mflr r0 /* 803A4FC8 003A0C28 90 01 00 14 */ stw r0, 0x14(r1) /* 803A4FCC 003A0C2C 93 E1 00 0C */ stw r31, 0xc(r1) /* 803A4FD0 003A0C30 93 C1 00 08 */ stw r30, 8(r1) /* 803A4FD4 003A0C34 4B EC 4E D5 */ bl OSGetAlarmUserData /* 803A4FD8 003A0C38 3C 80 80 64 */ lis r4, lbl_8063D070@ha /* 803A4FDC 003A0C3C 54 60 10 3A */ slwi r0, r3, 2 /* 803A4FE0 003A0C40 38 84 D0 70 */ addi r4, r4, lbl_8063D070@l /* 803A4FE4 003A0C44 7F E4 00 2E */ lwzx r31, r4, r0 /* 803A4FE8 003A0C48 83 DF 00 00 */ lwz r30, 0(r31) /* 803A4FEC 003A0C4C 7F C3 F3 78 */ mr r3, r30 /* 803A4FF0 003A0C50 4B F0 4B E1 */ bl WPADIsSpeakerEnabled /* 803A4FF4 003A0C54 2C 03 00 00 */ cmpwi r3, 0 /* 803A4FF8 003A0C58 41 82 00 14 */ beq lbl_803A500C /* 803A4FFC 003A0C5C 7F C3 F3 78 */ mr r3, r30 /* 803A5000 003A0C60 38 80 00 03 */ li r4, 3 /* 803A5004 003A0C64 38 A0 00 00 */ li r5, 0 /* 803A5008 003A0C68 4B F0 4C 0D */ bl WPADControlSpeaker lbl_803A500C: /* 803A500C 003A0C6C 38 00 00 00 */ li r0, 0 /* 803A5010 003A0C70 98 1F 00 41 */ stb r0, 0x41(r31) /* 803A5014 003A0C74 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803A5018 003A0C78 83 C1 00 08 */ lwz r30, 8(r1) /* 803A501C 003A0C7C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803A5020 003A0C80 7C 08 03 A6 */ mtlr r0 /* 803A5024 003A0C84 38 21 00 10 */ addi r1, r1, 0x10 /* 803A5028 003A0C88 4E 80 00 20 */ blr .global __ct__Q210homebutton10ControllerFiPQ210homebutton9RemoteSpk __ct__Q210homebutton10ControllerFiPQ210homebutton9RemoteSpk: /* 803A502C 003A0C8C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803A5030 003A0C90 7C 08 02 A6 */ mflr r0 /* 803A5034 003A0C94 C0 02 A9 C0 */ lfs f0, lbl_80642FC0-_SDA2_BASE_(r2) /* 803A5038 003A0C98 38 C0 00 00 */ li r6, 0 /* 803A503C 003A0C9C 90 01 00 24 */ stw r0, 0x24(r1) /* 803A5040 003A0CA0 38 00 00 01 */ li r0, 1 /* 803A5044 003A0CA4 2C 04 00 04 */ cmpwi r4, 4 /* 803A5048 003A0CA8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803A504C 003A0CAC 3F E0 80 64 */ lis r31, lbl_8063CEF0@ha /* 803A5050 003A0CB0 3B FF CE F0 */ addi r31, r31, lbl_8063CEF0@l /* 803A5054 003A0CB4 93 C1 00 18 */ stw r30, 0x18(r1) /* 803A5058 003A0CB8 93 A1 00 14 */ stw r29, 0x14(r1) /* 803A505C 003A0CBC 7C 9D 23 78 */ mr r29, r4 /* 803A5060 003A0CC0 93 81 00 10 */ stw r28, 0x10(r1) /* 803A5064 003A0CC4 7C 7C 1B 78 */ mr r28, r3 /* 803A5068 003A0CC8 90 C3 00 20 */ stw r6, 0x20(r3) /* 803A506C 003A0CCC 90 83 00 00 */ stw r4, 0(r3) /* 803A5070 003A0CD0 98 C3 00 1C */ stb r6, 0x1c(r3) /* 803A5074 003A0CD4 D0 03 00 04 */ stfs f0, 4(r3) /* 803A5078 003A0CD8 90 A3 00 24 */ stw r5, 0x24(r3) /* 803A507C 003A0CDC 90 C3 00 28 */ stw r6, 0x28(r3) /* 803A5080 003A0CE0 90 C3 00 2C */ stw r6, 0x2c(r3) /* 803A5084 003A0CE4 98 C3 00 40 */ stb r6, 0x40(r3) /* 803A5088 003A0CE8 98 C3 00 41 */ stb r6, 0x41(r3) /* 803A508C 003A0CEC 98 03 00 44 */ stb r0, 0x44(r3) /* 803A5090 003A0CF0 40 80 00 34 */ bge lbl_803A50C4 /* 803A5094 003A0CF4 1F C4 00 30 */ mulli r30, r4, 0x30 /* 803A5098 003A0CF8 38 6D B2 F0 */ addi r3, r13, lbl_806405B0-_SDA_BASE_ /* 803A509C 003A0CFC 38 1F 00 00 */ addi r0, r31, 0 /* 803A50A0 003A0D00 7C C3 21 AE */ stbx r6, r3, r4 /* 803A50A4 003A0D04 7C 60 F2 14 */ add r3, r0, r30 /* 803A50A8 003A0D08 4B EC 46 7D */ bl OSCreateAlarm /* 803A50AC 003A0D0C 38 1F 00 C0 */ addi r0, r31, 0xc0 /* 803A50B0 003A0D10 7C 60 F2 14 */ add r3, r0, r30 /* 803A50B4 003A0D14 4B EC 46 71 */ bl OSCreateAlarm /* 803A50B8 003A0D18 57 A0 10 3A */ slwi r0, r29, 2 /* 803A50BC 003A0D1C 38 7F 01 80 */ addi r3, r31, 0x180 /* 803A50C0 003A0D20 7F 83 01 2E */ stwx r28, r3, r0 lbl_803A50C4: /* 803A50C4 003A0D24 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803A50C8 003A0D28 7F 83 E3 78 */ mr r3, r28 /* 803A50CC 003A0D2C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803A50D0 003A0D30 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803A50D4 003A0D34 83 81 00 10 */ lwz r28, 0x10(r1) /* 803A50D8 003A0D38 80 01 00 24 */ lwz r0, 0x24(r1) /* 803A50DC 003A0D3C 7C 08 03 A6 */ mtlr r0 /* 803A50E0 003A0D40 38 21 00 20 */ addi r1, r1, 0x20 /* 803A50E4 003A0D44 4E 80 00 20 */ blr .global __dt__Q210homebutton10ControllerFv __dt__Q210homebutton10ControllerFv: /* 803A50E8 003A0D48 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803A50EC 003A0D4C 7C 08 02 A6 */ mflr r0 /* 803A50F0 003A0D50 2C 03 00 00 */ cmpwi r3, 0 /* 803A50F4 003A0D54 90 01 00 14 */ stw r0, 0x14(r1) /* 803A50F8 003A0D58 93 E1 00 0C */ stw r31, 0xc(r1) /* 803A50FC 003A0D5C 7C 9F 23 78 */ mr r31, r4 /* 803A5100 003A0D60 93 C1 00 08 */ stw r30, 8(r1) /* 803A5104 003A0D64 7C 7E 1B 78 */ mr r30, r3 /* 803A5108 003A0D68 41 82 00 50 */ beq lbl_803A5158 /* 803A510C 003A0D6C 80 03 00 00 */ lwz r0, 0(r3) /* 803A5110 003A0D70 3C 60 80 64 */ lis r3, lbl_8063CEF0@ha /* 803A5114 003A0D74 38 63 CE F0 */ addi r3, r3, lbl_8063CEF0@l /* 803A5118 003A0D78 1C 00 00 30 */ mulli r0, r0, 0x30 /* 803A511C 003A0D7C 7C 63 02 14 */ add r3, r3, r0 /* 803A5120 003A0D80 4B EC 49 59 */ bl OSCancelAlarm /* 803A5124 003A0D84 80 1E 00 00 */ lwz r0, 0(r30) /* 803A5128 003A0D88 3C 60 80 64 */ lis r3, lbl_8063CFB0@ha /* 803A512C 003A0D8C 38 63 CF B0 */ addi r3, r3, lbl_8063CFB0@l /* 803A5130 003A0D90 1C 00 00 30 */ mulli r0, r0, 0x30 /* 803A5134 003A0D94 7C 63 02 14 */ add r3, r3, r0 /* 803A5138 003A0D98 4B EC 49 41 */ bl OSCancelAlarm /* 803A513C 003A0D9C 34 7E 00 20 */ addic. r3, r30, 0x20 /* 803A5140 003A0DA0 41 82 00 08 */ beq lbl_803A5148 /* 803A5144 003A0DA4 4B FD 58 A9 */ bl DetachSound__Q34nw4r3snd11SoundHandleFv lbl_803A5148: /* 803A5148 003A0DA8 2C 1F 00 00 */ cmpwi r31, 0 /* 803A514C 003A0DAC 40 81 00 0C */ ble lbl_803A5158 /* 803A5150 003A0DB0 7F C3 F3 78 */ mr r3, r30 /* 803A5154 003A0DB4 4B E3 59 65 */ bl __dl__FPv lbl_803A5158: /* 803A5158 003A0DB8 7F C3 F3 78 */ mr r3, r30 /* 803A515C 003A0DBC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803A5160 003A0DC0 83 C1 00 08 */ lwz r30, 8(r1) /* 803A5164 003A0DC4 80 01 00 14 */ lwz r0, 0x14(r1) /* 803A5168 003A0DC8 7C 08 03 A6 */ mtlr r0 /* 803A516C 003A0DCC 38 21 00 10 */ addi r1, r1, 0x10 /* 803A5170 003A0DD0 4E 80 00 20 */ blr .global initCallback__Q210homebutton10ControllerFv initCallback__Q210homebutton10ControllerFv: /* 803A5174 003A0DD4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803A5178 003A0DD8 7C 08 02 A6 */ mflr r0 /* 803A517C 003A0DDC 3C 80 80 3A */ lis r4, wpadConnectCallback__Q210homebutton10ControllerFll@ha /* 803A5180 003A0DE0 90 01 00 24 */ stw r0, 0x24(r1) /* 803A5184 003A0DE4 38 84 4D 9C */ addi r4, r4, wpadConnectCallback__Q210homebutton10ControllerFll@l /* 803A5188 003A0DE8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803A518C 003A0DEC 93 C1 00 18 */ stw r30, 0x18(r1) /* 803A5190 003A0DF0 7C 7E 1B 78 */ mr r30, r3 /* 803A5194 003A0DF4 80 63 00 00 */ lwz r3, 0(r3) /* 803A5198 003A0DF8 4B F0 3C D5 */ bl WPADSetConnectCallback /* 803A519C 003A0DFC 3B E0 00 01 */ li r31, 1 /* 803A51A0 003A0E00 90 7E 00 28 */ stw r3, 0x28(r30) /* 803A51A4 003A0E04 80 7E 00 00 */ lwz r3, 0(r30) /* 803A51A8 003A0E08 38 81 00 08 */ addi r4, r1, 8 /* 803A51AC 003A0E0C 9B FE 00 44 */ stb r31, 0x44(r30) /* 803A51B0 003A0E10 4B F0 3B C9 */ bl WPADProbe /* 803A51B4 003A0E14 2C 03 00 00 */ cmpwi r3, 0 /* 803A51B8 003A0E18 41 82 00 14 */ beq lbl_803A51CC /* 803A51BC 003A0E1C 40 80 00 34 */ bge lbl_803A51F0 /* 803A51C0 003A0E20 2C 03 FF FF */ cmpwi r3, -1 /* 803A51C4 003A0E24 40 80 00 24 */ bge lbl_803A51E8 /* 803A51C8 003A0E28 48 00 00 28 */ b lbl_803A51F0 lbl_803A51CC: /* 803A51CC 003A0E2C 3C 80 80 3A */ lis r4, wpadExtensionCallback__Q210homebutton10ControllerFll@ha /* 803A51D0 003A0E30 80 7E 00 00 */ lwz r3, 0(r30) /* 803A51D4 003A0E34 38 84 4E B0 */ addi r4, r4, wpadExtensionCallback__Q210homebutton10ControllerFll@l /* 803A51D8 003A0E38 4B F0 3C FD */ bl WPADSetExtensionCallback /* 803A51DC 003A0E3C 90 7E 00 2C */ stw r3, 0x2c(r30) /* 803A51E0 003A0E40 9B FE 00 40 */ stb r31, 0x40(r30) /* 803A51E4 003A0E44 48 00 00 0C */ b lbl_803A51F0 lbl_803A51E8: /* 803A51E8 003A0E48 38 00 00 00 */ li r0, 0 /* 803A51EC 003A0E4C 98 1E 00 40 */ stb r0, 0x40(r30) lbl_803A51F0: /* 803A51F0 003A0E50 80 01 00 24 */ lwz r0, 0x24(r1) /* 803A51F4 003A0E54 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803A51F8 003A0E58 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803A51FC 003A0E5C 7C 08 03 A6 */ mtlr r0 /* 803A5200 003A0E60 38 21 00 20 */ addi r1, r1, 0x20 /* 803A5204 003A0E64 4E 80 00 20 */ blr .global clearCallback__Q210homebutton10ControllerFv clearCallback__Q210homebutton10ControllerFv: /* 803A5208 003A0E68 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803A520C 003A0E6C 7C 08 02 A6 */ mflr r0 /* 803A5210 003A0E70 90 01 00 14 */ stw r0, 0x14(r1) /* 803A5214 003A0E74 93 E1 00 0C */ stw r31, 0xc(r1) /* 803A5218 003A0E78 93 C1 00 08 */ stw r30, 8(r1) /* 803A521C 003A0E7C 7C 7E 1B 78 */ mr r30, r3 /* 803A5220 003A0E80 80 63 00 00 */ lwz r3, 0(r3) /* 803A5224 003A0E84 80 9E 00 28 */ lwz r4, 0x28(r30) /* 803A5228 003A0E88 4B F0 3C 45 */ bl WPADSetConnectCallback /* 803A522C 003A0E8C 3B E0 00 00 */ li r31, 0 /* 803A5230 003A0E90 80 7E 00 00 */ lwz r3, 0(r30) /* 803A5234 003A0E94 93 FE 00 28 */ stw r31, 0x28(r30) /* 803A5238 003A0E98 80 9E 00 2C */ lwz r4, 0x2c(r30) /* 803A523C 003A0E9C 4B F0 3C 99 */ bl WPADSetExtensionCallback /* 803A5240 003A0EA0 93 FE 00 2C */ stw r31, 0x2c(r30) /* 803A5244 003A0EA4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803A5248 003A0EA8 83 C1 00 08 */ lwz r30, 8(r1) /* 803A524C 003A0EAC 80 01 00 14 */ lwz r0, 0x14(r1) /* 803A5250 003A0EB0 7C 08 03 A6 */ mtlr r0 /* 803A5254 003A0EB4 38 21 00 10 */ addi r1, r1, 0x10 /* 803A5258 003A0EB8 4E 80 00 20 */ blr .global setKpad__Q210homebutton10ControllerFPC11HBMKPadDatab setKpad__Q210homebutton10ControllerFPC11HBMKPadDatab: /* 803A525C 003A0EBC 80 C4 00 00 */ lwz r6, 0(r4) /* 803A5260 003A0EC0 2C 06 00 00 */ cmpwi r6, 0 /* 803A5264 003A0EC4 4D 82 00 20 */ beqlr /* 803A5268 003A0EC8 2C 05 00 00 */ cmpwi r5, 0 /* 803A526C 003A0ECC 41 82 00 44 */ beq lbl_803A52B0 /* 803A5270 003A0ED0 88 06 00 5C */ lbz r0, 0x5c(r6) /* 803A5274 003A0ED4 28 00 00 02 */ cmplwi r0, 2 /* 803A5278 003A0ED8 40 82 00 24 */ bne lbl_803A529C /* 803A527C 003A0EDC 80 04 00 0C */ lwz r0, 0xc(r4) /* 803A5280 003A0EE0 28 00 00 02 */ cmplwi r0, 2 /* 803A5284 003A0EE4 40 82 00 18 */ bne lbl_803A529C /* 803A5288 003A0EE8 C0 24 00 04 */ lfs f1, 4(r4) /* 803A528C 003A0EEC C0 04 00 08 */ lfs f0, 8(r4) /* 803A5290 003A0EF0 D0 23 00 08 */ stfs f1, 8(r3) /* 803A5294 003A0EF4 D0 03 00 0C */ stfs f0, 0xc(r3) /* 803A5298 003A0EF8 48 00 00 18 */ b lbl_803A52B0 lbl_803A529C: /* 803A529C 003A0EFC C0 06 00 20 */ lfs f0, 0x20(r6) /* 803A52A0 003A0F00 80 A4 00 00 */ lwz r5, 0(r4) /* 803A52A4 003A0F04 D0 03 00 08 */ stfs f0, 8(r3) /* 803A52A8 003A0F08 C0 05 00 24 */ lfs f0, 0x24(r5) /* 803A52AC 003A0F0C D0 03 00 0C */ stfs f0, 0xc(r3) lbl_803A52B0: /* 803A52B0 003A0F10 80 E4 00 00 */ lwz r7, 0(r4) /* 803A52B4 003A0F14 80 07 00 04 */ lwz r0, 4(r7) /* 803A52B8 003A0F18 90 03 00 10 */ stw r0, 0x10(r3) /* 803A52BC 003A0F1C 80 C7 00 00 */ lwz r6, 0(r7) /* 803A52C0 003A0F20 90 C3 00 14 */ stw r6, 0x14(r3) /* 803A52C4 003A0F24 80 07 00 08 */ lwz r0, 8(r7) /* 803A52C8 003A0F28 90 03 00 18 */ stw r0, 0x18(r3) /* 803A52CC 003A0F2C 88 07 00 5C */ lbz r0, 0x5c(r7) /* 803A52D0 003A0F30 28 00 00 02 */ cmplwi r0, 2 /* 803A52D4 003A0F34 4C 82 00 20 */ bnelr /* 803A52D8 003A0F38 80 04 00 0C */ lwz r0, 0xc(r4) /* 803A52DC 003A0F3C 28 00 00 02 */ cmplwi r0, 2 /* 803A52E0 003A0F40 4C 82 00 20 */ bnelr /* 803A52E4 003A0F44 80 07 00 60 */ lwz r0, 0x60(r7) /* 803A52E8 003A0F48 80 87 00 64 */ lwz r4, 0x64(r7) /* 803A52EC 003A0F4C 54 05 06 F7 */ rlwinm. r5, r0, 0, 0x1b, 0x1b /* 803A52F0 003A0F50 80 A7 00 68 */ lwz r5, 0x68(r7) /* 803A52F4 003A0F54 41 82 00 0C */ beq lbl_803A5300 /* 803A52F8 003A0F58 60 C6 08 00 */ ori r6, r6, 0x800 /* 803A52FC 003A0F5C 90 C3 00 14 */ stw r6, 0x14(r3) lbl_803A5300: /* 803A5300 003A0F60 54 86 06 F7 */ rlwinm. r6, r4, 0, 0x1b, 0x1b /* 803A5304 003A0F64 41 82 00 10 */ beq lbl_803A5314 /* 803A5308 003A0F68 80 C3 00 10 */ lwz r6, 0x10(r3) /* 803A530C 003A0F6C 60 C6 08 00 */ ori r6, r6, 0x800 /* 803A5310 003A0F70 90 C3 00 10 */ stw r6, 0x10(r3) lbl_803A5314: /* 803A5314 003A0F74 54 A6 06 F7 */ rlwinm. r6, r5, 0, 0x1b, 0x1b /* 803A5318 003A0F78 41 82 00 10 */ beq lbl_803A5328 /* 803A531C 003A0F7C 80 C3 00 18 */ lwz r6, 0x18(r3) /* 803A5320 003A0F80 60 C6 08 00 */ ori r6, r6, 0x800 /* 803A5324 003A0F84 90 C3 00 18 */ stw r6, 0x18(r3) lbl_803A5328: /* 803A5328 003A0F88 54 06 05 6B */ rlwinm. r6, r0, 0, 0x15, 0x15 /* 803A532C 003A0F8C 41 82 00 10 */ beq lbl_803A533C /* 803A5330 003A0F90 80 C3 00 14 */ lwz r6, 0x14(r3) /* 803A5334 003A0F94 60 C6 00 10 */ ori r6, r6, 0x10 /* 803A5338 003A0F98 90 C3 00 14 */ stw r6, 0x14(r3) lbl_803A533C: /* 803A533C 003A0F9C 54 86 05 6B */ rlwinm. r6, r4, 0, 0x15, 0x15 /* 803A5340 003A0FA0 41 82 00 10 */ beq lbl_803A5350 /* 803A5344 003A0FA4 80 C3 00 10 */ lwz r6, 0x10(r3) /* 803A5348 003A0FA8 60 C6 00 10 */ ori r6, r6, 0x10 /* 803A534C 003A0FAC 90 C3 00 10 */ stw r6, 0x10(r3) lbl_803A5350: /* 803A5350 003A0FB0 54 A6 05 6B */ rlwinm. r6, r5, 0, 0x15, 0x15 /* 803A5354 003A0FB4 41 82 00 10 */ beq lbl_803A5364 /* 803A5358 003A0FB8 80 C3 00 18 */ lwz r6, 0x18(r3) /* 803A535C 003A0FBC 60 C6 00 10 */ ori r6, r6, 0x10 /* 803A5360 003A0FC0 90 C3 00 18 */ stw r6, 0x18(r3) lbl_803A5364: /* 803A5364 003A0FC4 54 06 04 E7 */ rlwinm. r6, r0, 0, 0x13, 0x13 /* 803A5368 003A0FC8 41 82 00 10 */ beq lbl_803A5378 /* 803A536C 003A0FCC 80 C3 00 14 */ lwz r6, 0x14(r3) /* 803A5370 003A0FD0 60 C6 10 00 */ ori r6, r6, 0x1000 /* 803A5374 003A0FD4 90 C3 00 14 */ stw r6, 0x14(r3) lbl_803A5378: /* 803A5378 003A0FD8 54 86 04 E7 */ rlwinm. r6, r4, 0, 0x13, 0x13 /* 803A537C 003A0FDC 41 82 00 10 */ beq lbl_803A538C /* 803A5380 003A0FE0 80 C3 00 10 */ lwz r6, 0x10(r3) /* 803A5384 003A0FE4 60 C6 10 00 */ ori r6, r6, 0x1000 /* 803A5388 003A0FE8 90 C3 00 10 */ stw r6, 0x10(r3) lbl_803A538C: /* 803A538C 003A0FEC 54 A6 04 E7 */ rlwinm. r6, r5, 0, 0x13, 0x13 /* 803A5390 003A0FF0 41 82 00 10 */ beq lbl_803A53A0 /* 803A5394 003A0FF4 80 C3 00 18 */ lwz r6, 0x18(r3) /* 803A5398 003A0FF8 60 C6 10 00 */ ori r6, r6, 0x1000 /* 803A539C 003A0FFC 90 C3 00 18 */ stw r6, 0x18(r3) lbl_803A53A0: /* 803A53A0 003A1000 54 00 05 29 */ rlwinm. r0, r0, 0, 0x14, 0x14 /* 803A53A4 003A1004 41 82 00 10 */ beq lbl_803A53B4 /* 803A53A8 003A1008 80 03 00 14 */ lwz r0, 0x14(r3) /* 803A53AC 003A100C 60 00 80 00 */ ori r0, r0, 0x8000 /* 803A53B0 003A1010 90 03 00 14 */ stw r0, 0x14(r3) lbl_803A53B4: /* 803A53B4 003A1014 54 80 05 29 */ rlwinm. r0, r4, 0, 0x14, 0x14 /* 803A53B8 003A1018 41 82 00 10 */ beq lbl_803A53C8 /* 803A53BC 003A101C 80 03 00 10 */ lwz r0, 0x10(r3) /* 803A53C0 003A1020 60 00 80 00 */ ori r0, r0, 0x8000 /* 803A53C4 003A1024 90 03 00 10 */ stw r0, 0x10(r3) lbl_803A53C8: /* 803A53C8 003A1028 54 A0 05 29 */ rlwinm. r0, r5, 0, 0x14, 0x14 /* 803A53CC 003A102C 4D 82 00 20 */ beqlr /* 803A53D0 003A1030 80 03 00 18 */ lwz r0, 0x18(r3) /* 803A53D4 003A1034 60 00 80 00 */ ori r0, r0, 0x8000 /* 803A53D8 003A1038 90 03 00 18 */ stw r0, 0x18(r3) /* 803A53DC 003A103C 4E 80 00 20 */ blr .global clrKpadButton__Q210homebutton10ControllerFv clrKpadButton__Q210homebutton10ControllerFv: /* 803A53E0 003A1040 38 00 00 00 */ li r0, 0 /* 803A53E4 003A1044 90 03 00 10 */ stw r0, 0x10(r3) /* 803A53E8 003A1048 90 03 00 14 */ stw r0, 0x14(r3) /* 803A53EC 003A104C 90 03 00 18 */ stw r0, 0x18(r3) /* 803A53F0 003A1050 4E 80 00 20 */ blr .global setInValidPos__Q210homebutton10ControllerFv setInValidPos__Q210homebutton10ControllerFv: /* 803A53F4 003A1054 C0 02 A9 C4 */ lfs f0, lbl_80642FC4-_SDA2_BASE_(r2) /* 803A53F8 003A1058 D0 03 00 08 */ stfs f0, 8(r3) /* 803A53FC 003A105C D0 03 00 0C */ stfs f0, 0xc(r3) /* 803A5400 003A1060 4E 80 00 20 */ blr .global connect__Q210homebutton10ControllerFv connect__Q210homebutton10ControllerFv: /* 803A5404 003A1064 7C 64 1B 78 */ mr r4, r3 /* 803A5408 003A1068 80 63 00 24 */ lwz r3, 0x24(r3) /* 803A540C 003A106C 80 84 00 00 */ lwz r4, 0(r4) /* 803A5410 003A1070 48 00 0B 48 */ b Connect__Q210homebutton9RemoteSpkFl .global disconnect__Q210homebutton10ControllerFv disconnect__Q210homebutton10ControllerFv: /* 803A5414 003A1074 4E 80 00 20 */ blr .global setSpeakerVol__Q210homebutton10ControllerFf setSpeakerVol__Q210homebutton10ControllerFf: /* 803A5418 003A1078 D0 23 00 04 */ stfs f1, 4(r3) /* 803A541C 003A107C 4E 80 00 20 */ blr .global playSound__Q210homebutton10ControllerFPQ34nw4r3snd18SoundArchivePlayeri playSound__Q210homebutton10ControllerFPQ34nw4r3snd18SoundArchivePlayeri: /* 803A5420 003A1080 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803A5424 003A1084 7C 08 02 A6 */ mflr r0 /* 803A5428 003A1088 90 01 00 24 */ stw r0, 0x24(r1) /* 803A542C 003A108C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803A5430 003A1090 7C 7F 1B 78 */ mr r31, r3 /* 803A5434 003A1094 88 03 00 41 */ lbz r0, 0x41(r3) /* 803A5438 003A1098 2C 00 00 00 */ cmpwi r0, 0 /* 803A543C 003A109C 40 82 00 64 */ bne lbl_803A54A0 /* 803A5440 003A10A0 C0 23 00 04 */ lfs f1, 4(r3) /* 803A5444 003A10A4 C0 02 A9 C8 */ lfs f0, lbl_80642FC8-_SDA2_BASE_(r2) /* 803A5448 003A10A8 80 63 00 24 */ lwz r3, 0x24(r3) /* 803A544C 003A10AC EC 00 00 72 */ fmuls f0, f0, f1 /* 803A5450 003A10B0 80 9F 00 00 */ lwz r4, 0(r31) /* 803A5454 003A10B4 FC 00 00 1E */ fctiwz f0, f0 /* 803A5458 003A10B8 D8 01 00 08 */ stfd f0, 8(r1) /* 803A545C 003A10BC 80 C1 00 0C */ lwz r6, 0xc(r1) /* 803A5460 003A10C0 7C C6 07 74 */ extsb r6, r6 /* 803A5464 003A10C4 48 00 0B 75 */ bl Play__Q210homebutton9RemoteSpkFliSc /* 803A5468 003A10C8 80 7F 00 00 */ lwz r3, 0(r31) /* 803A546C 003A10CC 4B F0 47 65 */ bl WPADIsSpeakerEnabled /* 803A5470 003A10D0 2C 03 00 00 */ cmpwi r3, 0 /* 803A5474 003A10D4 41 82 00 2C */ beq lbl_803A54A0 /* 803A5478 003A10D8 88 1F 00 42 */ lbz r0, 0x42(r31) /* 803A547C 003A10DC 2C 00 00 00 */ cmpwi r0, 0 /* 803A5480 003A10E0 40 82 00 10 */ bne lbl_803A5490 /* 803A5484 003A10E4 4B EC D3 35 */ bl OSGetTime /* 803A5488 003A10E8 90 9F 00 34 */ stw r4, 0x34(r31) /* 803A548C 003A10EC 90 7F 00 30 */ stw r3, 0x30(r31) lbl_803A5490: /* 803A5490 003A10F0 38 60 00 01 */ li r3, 1 /* 803A5494 003A10F4 38 00 00 00 */ li r0, 0 /* 803A5498 003A10F8 98 7F 00 42 */ stb r3, 0x42(r31) /* 803A549C 003A10FC 98 1F 00 43 */ stb r0, 0x43(r31) lbl_803A54A0: /* 803A54A0 003A1100 80 01 00 24 */ lwz r0, 0x24(r1) /* 803A54A4 003A1104 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803A54A8 003A1108 7C 08 03 A6 */ mtlr r0 /* 803A54AC 003A110C 38 21 00 20 */ addi r1, r1, 0x20 /* 803A54B0 003A1110 4E 80 00 20 */ blr .global isPlayingSoundId__Q210homebutton10ControllerCFi isPlayingSoundId__Q210homebutton10ControllerCFi: /* 803A54B4 003A1114 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803A54B8 003A1118 7C 08 02 A6 */ mflr r0 /* 803A54BC 003A111C 90 01 00 14 */ stw r0, 0x14(r1) /* 803A54C0 003A1120 93 E1 00 0C */ stw r31, 0xc(r1) /* 803A54C4 003A1124 7C 9F 23 78 */ mr r31, r4 /* 803A54C8 003A1128 93 C1 00 08 */ stw r30, 8(r1) /* 803A54CC 003A112C 7C 7E 1B 78 */ mr r30, r3 /* 803A54D0 003A1130 80 63 00 24 */ lwz r3, 0x24(r3) /* 803A54D4 003A1134 80 9E 00 00 */ lwz r4, 0(r30) /* 803A54D8 003A1138 48 00 0B 99 */ bl isPlaying__Q210homebutton9RemoteSpkCFl /* 803A54DC 003A113C 2C 03 00 00 */ cmpwi r3, 0 /* 803A54E0 003A1140 40 82 00 0C */ bne lbl_803A54EC /* 803A54E4 003A1144 38 60 00 00 */ li r3, 0 /* 803A54E8 003A1148 48 00 00 14 */ b lbl_803A54FC lbl_803A54EC: /* 803A54EC 003A114C 80 7E 00 24 */ lwz r3, 0x24(r30) /* 803A54F0 003A1150 7F E5 FB 78 */ mr r5, r31 /* 803A54F4 003A1154 80 9E 00 00 */ lwz r4, 0(r30) /* 803A54F8 003A1158 48 00 0B 95 */ bl isPlayingId__Q210homebutton9RemoteSpkCFli lbl_803A54FC: /* 803A54FC 003A115C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803A5500 003A1160 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803A5504 003A1164 83 C1 00 08 */ lwz r30, 8(r1) /* 803A5508 003A1168 7C 08 03 A6 */ mtlr r0 /* 803A550C 003A116C 38 21 00 10 */ addi r1, r1, 0x10 /* 803A5510 003A1170 4E 80 00 20 */ blr .global initSound__Q210homebutton10ControllerFv initSound__Q210homebutton10ControllerFv: /* 803A5514 003A1174 38 00 00 00 */ li r0, 0 /* 803A5518 003A1178 98 03 00 42 */ stb r0, 0x42(r3) /* 803A551C 003A117C 98 03 00 43 */ stb r0, 0x43(r3) /* 803A5520 003A1180 4E 80 00 20 */ blr .global updateSound__Q210homebutton10ControllerFv updateSound__Q210homebutton10ControllerFv: /* 803A5524 003A1184 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803A5528 003A1188 7C 08 02 A6 */ mflr r0 /* 803A552C 003A118C 90 01 00 24 */ stw r0, 0x24(r1) /* 803A5530 003A1190 39 61 00 20 */ addi r11, r1, 0x20 /* 803A5534 003A1194 4B E2 1B F5 */ bl _savegpr_27 /* 803A5538 003A1198 83 63 00 00 */ lwz r27, 0(r3) /* 803A553C 003A119C 7C 7F 1B 78 */ mr r31, r3 /* 803A5540 003A11A0 80 63 00 24 */ lwz r3, 0x24(r3) /* 803A5544 003A11A4 7F 64 DB 78 */ mr r4, r27 /* 803A5548 003A11A8 48 00 0B 29 */ bl isPlaying__Q210homebutton9RemoteSpkCFl /* 803A554C 003A11AC 2C 03 00 00 */ cmpwi r3, 0 /* 803A5550 003A11B0 40 82 00 78 */ bne lbl_803A55C8 /* 803A5554 003A11B4 88 1F 00 42 */ lbz r0, 0x42(r31) /* 803A5558 003A11B8 2C 00 00 00 */ cmpwi r0, 0 /* 803A555C 003A11BC 41 82 01 E8 */ beq lbl_803A5744 /* 803A5560 003A11C0 88 1F 00 43 */ lbz r0, 0x43(r31) /* 803A5564 003A11C4 2C 00 00 00 */ cmpwi r0, 0 /* 803A5568 003A11C8 40 82 00 1C */ bne lbl_803A5584 /* 803A556C 003A11CC 4B EC D2 4D */ bl OSGetTime /* 803A5570 003A11D0 38 00 00 01 */ li r0, 1 /* 803A5574 003A11D4 90 9F 00 3C */ stw r4, 0x3c(r31) /* 803A5578 003A11D8 90 7F 00 38 */ stw r3, 0x38(r31) /* 803A557C 003A11DC 98 1F 00 43 */ stb r0, 0x43(r31) /* 803A5580 003A11E0 48 00 01 C4 */ b lbl_803A5744 lbl_803A5584: /* 803A5584 003A11E4 4B EC D2 35 */ bl OSGetTime /* 803A5588 003A11E8 3C A0 80 00 */ lis r5, 0x800000F8@ha /* 803A558C 003A11EC 3C 60 10 62 */ lis r3, 0x10624DD3@ha /* 803A5590 003A11F0 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5) /* 803A5594 003A11F4 38 63 4D D3 */ addi r3, r3, 0x10624DD3@l /* 803A5598 003A11F8 80 BF 00 3C */ lwz r5, 0x3c(r31) /* 803A559C 003A11FC 54 00 F0 BE */ srwi r0, r0, 2 /* 803A55A0 003A1200 7C 03 00 16 */ mulhwu r0, r3, r0 /* 803A55A4 003A1204 7C 65 20 50 */ subf r3, r5, r4 /* 803A55A8 003A1208 54 00 D1 BE */ srwi r0, r0, 6 /* 803A55AC 003A120C 7C 03 03 96 */ divwu r0, r3, r0 /* 803A55B0 003A1210 28 00 03 E8 */ cmplwi r0, 0x3e8 /* 803A55B4 003A1214 41 80 01 90 */ blt lbl_803A5744 /* 803A55B8 003A1218 38 00 00 00 */ li r0, 0 /* 803A55BC 003A121C 98 1F 00 42 */ stb r0, 0x42(r31) /* 803A55C0 003A1220 98 1F 00 43 */ stb r0, 0x43(r31) /* 803A55C4 003A1224 48 00 01 80 */ b lbl_803A5744 lbl_803A55C8: /* 803A55C8 003A1228 88 1F 00 42 */ lbz r0, 0x42(r31) /* 803A55CC 003A122C 2C 00 00 00 */ cmpwi r0, 0 /* 803A55D0 003A1230 41 82 00 D0 */ beq lbl_803A56A0 /* 803A55D4 003A1234 3B 80 00 00 */ li r28, 0 /* 803A55D8 003A1238 9B 9F 00 43 */ stb r28, 0x43(r31) /* 803A55DC 003A123C 4B EC D1 DD */ bl OSGetTime /* 803A55E0 003A1240 3F A0 80 00 */ lis r29, 0x800000F8@ha /* 803A55E4 003A1244 3F C0 10 62 */ lis r30, 0x10624DD3@ha /* 803A55E8 003A1248 80 1D 00 F8 */ lwz r0, 0x800000F8@l(r29) /* 803A55EC 003A124C 3C 60 00 07 */ lis r3, 0x00075300@ha /* 803A55F0 003A1250 80 FF 00 34 */ lwz r7, 0x34(r31) /* 803A55F4 003A1254 38 DE 4D D3 */ addi r6, r30, 0x10624DD3@l /* 803A55F8 003A1258 54 05 F0 BE */ srwi r5, r0, 2 /* 803A55FC 003A125C 38 03 53 00 */ addi r0, r3, 0x00075300@l /* 803A5600 003A1260 7C 66 28 16 */ mulhwu r3, r6, r5 /* 803A5604 003A1264 7C 87 20 50 */ subf r4, r7, r4 /* 803A5608 003A1268 54 63 D1 BE */ srwi r3, r3, 6 /* 803A560C 003A126C 7C 64 1B 96 */ divwu r3, r4, r3 /* 803A5610 003A1270 7C 03 00 40 */ cmplw r3, r0 /* 803A5614 003A1274 41 80 00 8C */ blt lbl_803A56A0 /* 803A5618 003A1278 83 7F 00 00 */ lwz r27, 0(r31) /* 803A561C 003A127C 9B 9F 00 42 */ stb r28, 0x42(r31) /* 803A5620 003A1280 7F 63 DB 78 */ mr r3, r27 /* 803A5624 003A1284 9B 9F 00 43 */ stb r28, 0x43(r31) /* 803A5628 003A1288 4B F0 45 A9 */ bl WPADIsSpeakerEnabled /* 803A562C 003A128C 2C 03 00 00 */ cmpwi r3, 0 /* 803A5630 003A1290 41 82 01 14 */ beq lbl_803A5744 /* 803A5634 003A1294 7F 63 DB 78 */ mr r3, r27 /* 803A5638 003A1298 38 80 00 02 */ li r4, 2 /* 803A563C 003A129C 38 A0 00 00 */ li r5, 0 /* 803A5640 003A12A0 4B F0 45 D5 */ bl WPADControlSpeaker /* 803A5644 003A12A4 1C 1B 00 30 */ mulli r0, r27, 0x30 /* 803A5648 003A12A8 3C 60 80 64 */ lis r3, lbl_8063CFB0@ha /* 803A564C 003A12AC 7F 64 DB 78 */ mr r4, r27 /* 803A5650 003A12B0 38 63 CF B0 */ addi r3, r3, lbl_8063CFB0@l /* 803A5654 003A12B4 7F 63 02 14 */ add r27, r3, r0 /* 803A5658 003A12B8 7F 63 DB 78 */ mr r3, r27 /* 803A565C 003A12BC 4B EC 48 45 */ bl OSSetAlarmUserData /* 803A5660 003A12C0 7F 63 DB 78 */ mr r3, r27 /* 803A5664 003A12C4 4B EC 44 15 */ bl OSCancelAlarm /* 803A5668 003A12C8 80 1D 00 F8 */ lwz r0, 0xf8(r29) /* 803A566C 003A12CC 3C E0 80 3A */ lis r7, soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext@ha /* 803A5670 003A12D0 38 9E 4D D3 */ addi r4, r30, 0x4dd3 /* 803A5674 003A12D4 7F 63 DB 78 */ mr r3, r27 /* 803A5678 003A12D8 54 00 F0 BE */ srwi r0, r0, 2 /* 803A567C 003A12DC 38 E7 4F C0 */ addi r7, r7, soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext@l /* 803A5680 003A12E0 7C 04 00 16 */ mulhwu r0, r4, r0 /* 803A5684 003A12E4 38 A0 00 00 */ li r5, 0 /* 803A5688 003A12E8 54 00 D1 BE */ srwi r0, r0, 6 /* 803A568C 003A12EC 1C C0 03 E8 */ mulli r6, r0, 0x3e8 /* 803A5690 003A12F0 4B EC 42 F5 */ bl OSSetAlarm /* 803A5694 003A12F4 38 00 00 01 */ li r0, 1 /* 803A5698 003A12F8 98 1F 00 41 */ stb r0, 0x41(r31) /* 803A569C 003A12FC 48 00 00 A8 */ b lbl_803A5744 lbl_803A56A0: /* 803A56A0 003A1300 88 1F 00 41 */ lbz r0, 0x41(r31) /* 803A56A4 003A1304 2C 00 00 00 */ cmpwi r0, 0 /* 803A56A8 003A1308 40 82 00 9C */ bne lbl_803A5744 /* 803A56AC 003A130C 7F 63 DB 78 */ mr r3, r27 /* 803A56B0 003A1310 4B F0 24 4D */ bl WPADGetRadioSensitivity /* 803A56B4 003A1314 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 803A56B8 003A1318 28 00 00 55 */ cmplwi r0, 0x55 /* 803A56BC 003A131C 41 81 00 88 */ bgt lbl_803A5744 /* 803A56C0 003A1320 83 7F 00 00 */ lwz r27, 0(r31) /* 803A56C4 003A1324 7F 63 DB 78 */ mr r3, r27 /* 803A56C8 003A1328 4B F0 45 09 */ bl WPADIsSpeakerEnabled /* 803A56CC 003A132C 2C 03 00 00 */ cmpwi r3, 0 /* 803A56D0 003A1330 41 82 00 74 */ beq lbl_803A5744 /* 803A56D4 003A1334 7F 63 DB 78 */ mr r3, r27 /* 803A56D8 003A1338 38 80 00 02 */ li r4, 2 /* 803A56DC 003A133C 38 A0 00 00 */ li r5, 0 /* 803A56E0 003A1340 4B F0 45 35 */ bl WPADControlSpeaker /* 803A56E4 003A1344 1C 1B 00 30 */ mulli r0, r27, 0x30 /* 803A56E8 003A1348 3C 60 80 64 */ lis r3, lbl_8063CFB0@ha /* 803A56EC 003A134C 7F 64 DB 78 */ mr r4, r27 /* 803A56F0 003A1350 38 63 CF B0 */ addi r3, r3, lbl_8063CFB0@l /* 803A56F4 003A1354 7F 63 02 14 */ add r27, r3, r0 /* 803A56F8 003A1358 7F 63 DB 78 */ mr r3, r27 /* 803A56FC 003A135C 4B EC 47 A5 */ bl OSSetAlarmUserData /* 803A5700 003A1360 7F 63 DB 78 */ mr r3, r27 /* 803A5704 003A1364 4B EC 43 75 */ bl OSCancelAlarm /* 803A5708 003A1368 3C 80 80 00 */ lis r4, 0x800000F8@ha /* 803A570C 003A136C 3C E0 80 3A */ lis r7, soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext@ha /* 803A5710 003A1370 80 04 00 F8 */ lwz r0, 0x800000F8@l(r4) /* 803A5714 003A1374 3C 60 10 62 */ lis r3, 0x10624DD3@ha /* 803A5718 003A1378 38 83 4D D3 */ addi r4, r3, 0x10624DD3@l /* 803A571C 003A137C 38 E7 4F C0 */ addi r7, r7, soundOnCallback__Q210homebutton10ControllerFP7OSAlarmP9OSContext@l /* 803A5720 003A1380 54 00 F0 BE */ srwi r0, r0, 2 /* 803A5724 003A1384 7F 63 DB 78 */ mr r3, r27 /* 803A5728 003A1388 7C 04 00 16 */ mulhwu r0, r4, r0 /* 803A572C 003A138C 38 A0 00 00 */ li r5, 0 /* 803A5730 003A1390 54 00 D1 BE */ srwi r0, r0, 6 /* 803A5734 003A1394 1C C0 03 E8 */ mulli r6, r0, 0x3e8 /* 803A5738 003A1398 4B EC 42 4D */ bl OSSetAlarm /* 803A573C 003A139C 38 00 00 01 */ li r0, 1 /* 803A5740 003A13A0 98 1F 00 41 */ stb r0, 0x41(r31) lbl_803A5744: /* 803A5744 003A13A4 39 61 00 20 */ addi r11, r1, 0x20 /* 803A5748 003A13A8 4B E2 1A 2D */ bl _restgpr_27 /* 803A574C 003A13AC 80 01 00 24 */ lwz r0, 0x24(r1) /* 803A5750 003A13B0 7C 08 03 A6 */ mtlr r0 /* 803A5754 003A13B4 38 21 00 20 */ addi r1, r1, 0x20 /* 803A5758 003A13B8 4E 80 00 20 */ blr .global isPlayReady__Q210homebutton10ControllerCFv isPlayReady__Q210homebutton10ControllerCFv: /* 803A575C 003A13BC 7C 64 1B 78 */ mr r4, r3 /* 803A5760 003A13C0 80 63 00 24 */ lwz r3, 0x24(r3) /* 803A5764 003A13C4 80 84 00 00 */ lwz r4, 0(r4) /* 803A5768 003A13C8 48 00 09 54 */ b isPlayReady__Q210homebutton9RemoteSpkCFl .global getController__Q210homebutton10ControllerFv getController__Q210homebutton10ControllerFv: /* 803A576C 003A13CC 4E 80 00 20 */ blr .global startMotor__Q210homebutton10ControllerFv startMotor__Q210homebutton10ControllerFv: /* 803A5770 003A13D0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803A5774 003A13D4 7C 08 02 A6 */ mflr r0 /* 803A5778 003A13D8 90 01 00 14 */ stw r0, 0x14(r1) /* 803A577C 003A13DC 93 E1 00 0C */ stw r31, 0xc(r1) /* 803A5780 003A13E0 7C 7F 1B 78 */ mr r31, r3 /* 803A5784 003A13E4 80 83 00 00 */ lwz r4, 0(r3) /* 803A5788 003A13E8 2C 04 00 04 */ cmpwi r4, 4 /* 803A578C 003A13EC 40 80 00 34 */ bge lbl_803A57C0 /* 803A5790 003A13F0 80 63 00 24 */ lwz r3, 0x24(r3) /* 803A5794 003A13F4 48 00 08 DD */ bl isPlaying__Q210homebutton9RemoteSpkCFl /* 803A5798 003A13F8 2C 03 00 00 */ cmpwi r3, 0 /* 803A579C 003A13FC 40 82 00 24 */ bne lbl_803A57C0 /* 803A57A0 003A1400 88 1F 00 44 */ lbz r0, 0x44(r31) /* 803A57A4 003A1404 2C 00 00 00 */ cmpwi r0, 0 /* 803A57A8 003A1408 41 82 00 18 */ beq lbl_803A57C0 /* 803A57AC 003A140C 38 00 00 01 */ li r0, 1 /* 803A57B0 003A1410 80 7F 00 00 */ lwz r3, 0(r31) /* 803A57B4 003A1414 98 1F 00 1C */ stb r0, 0x1c(r31) /* 803A57B8 003A1418 38 80 00 01 */ li r4, 1 /* 803A57BC 003A141C 4B F0 3A ED */ bl WPADControlMotor lbl_803A57C0: /* 803A57C0 003A1420 80 01 00 14 */ lwz r0, 0x14(r1) /* 803A57C4 003A1424 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803A57C8 003A1428 7C 08 03 A6 */ mtlr r0 /* 803A57CC 003A142C 38 21 00 10 */ addi r1, r1, 0x10 /* 803A57D0 003A1430 4E 80 00 20 */ blr .global stopMotor__Q210homebutton10ControllerFv stopMotor__Q210homebutton10ControllerFv: /* 803A57D4 003A1434 80 A3 00 00 */ lwz r5, 0(r3) /* 803A57D8 003A1438 2C 05 00 04 */ cmpwi r5, 4 /* 803A57DC 003A143C 4C 80 00 20 */ bgelr /* 803A57E0 003A1440 88 03 00 1C */ lbz r0, 0x1c(r3) /* 803A57E4 003A1444 2C 00 00 00 */ cmpwi r0, 0 /* 803A57E8 003A1448 4D 82 00 20 */ beqlr /* 803A57EC 003A144C 38 00 00 00 */ li r0, 0 /* 803A57F0 003A1450 38 80 00 00 */ li r4, 0 /* 803A57F4 003A1454 98 03 00 1C */ stb r0, 0x1c(r3) /* 803A57F8 003A1458 7C A3 2B 78 */ mr r3, r5 /* 803A57FC 003A145C 4B F0 3A AC */ b WPADControlMotor /* 803A5800 003A1460 4E 80 00 20 */ blr .global getInfoAsync__Q210homebutton10ControllerFP8WPADInfo getInfoAsync__Q210homebutton10ControllerFP8WPADInfo: /* 803A5804 003A1464 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803A5808 003A1468 7C 08 02 A6 */ mflr r0 /* 803A580C 003A146C 90 01 00 14 */ stw r0, 0x14(r1) /* 803A5810 003A1470 93 E1 00 0C */ stw r31, 0xc(r1) /* 803A5814 003A1474 7C 9F 23 78 */ mr r31, r4 /* 803A5818 003A1478 93 C1 00 08 */ stw r30, 8(r1) /* 803A581C 003A147C 7C 7E 1B 78 */ mr r30, r3 /* 803A5820 003A1480 80 03 00 00 */ lwz r0, 0(r3) /* 803A5824 003A1484 2C 00 00 04 */ cmpwi r0, 4 /* 803A5828 003A1488 41 80 00 0C */ blt lbl_803A5834 /* 803A582C 003A148C 38 60 FF FE */ li r3, -2 /* 803A5830 003A1490 48 00 00 40 */ b lbl_803A5870 lbl_803A5834: /* 803A5834 003A1494 80 63 00 24 */ lwz r3, 0x24(r3) /* 803A5838 003A1498 7C 04 03 78 */ mr r4, r0 /* 803A583C 003A149C 48 00 08 35 */ bl isPlaying__Q210homebutton9RemoteSpkCFl /* 803A5840 003A14A0 2C 03 00 00 */ cmpwi r3, 0 /* 803A5844 003A14A4 40 82 00 10 */ bne lbl_803A5854 /* 803A5848 003A14A8 88 1E 00 1C */ lbz r0, 0x1c(r30) /* 803A584C 003A14AC 2C 00 00 00 */ cmpwi r0, 0 /* 803A5850 003A14B0 41 82 00 0C */ beq lbl_803A585C lbl_803A5854: /* 803A5854 003A14B4 38 60 FF FE */ li r3, -2 /* 803A5858 003A14B8 48 00 00 18 */ b lbl_803A5870 lbl_803A585C: /* 803A585C 003A14BC 3C A0 80 3A */ lis r5, ControllerCallback__Q210homebutton10ControllerFll@ha /* 803A5860 003A14C0 80 7E 00 00 */ lwz r3, 0(r30) /* 803A5864 003A14C4 7F E4 FB 78 */ mr r4, r31 /* 803A5868 003A14C8 38 A5 58 88 */ addi r5, r5, ControllerCallback__Q210homebutton10ControllerFll@l /* 803A586C 003A14CC 4B F0 38 1D */ bl WPADGetInfoAsync lbl_803A5870: /* 803A5870 003A14D0 80 01 00 14 */ lwz r0, 0x14(r1) /* 803A5874 003A14D4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803A5878 003A14D8 83 C1 00 08 */ lwz r30, 8(r1) /* 803A587C 003A14DC 7C 08 03 A6 */ mtlr r0 /* 803A5880 003A14E0 38 21 00 10 */ addi r1, r1, 0x10 /* 803A5884 003A14E4 4E 80 00 20 */ blr .global ControllerCallback__Q210homebutton10ControllerFll ControllerCallback__Q210homebutton10ControllerFll: /* 803A5888 003A14E8 2C 04 00 00 */ cmpwi r4, 0 /* 803A588C 003A14EC 4C 82 00 20 */ bnelr /* 803A5890 003A14F0 2C 03 00 04 */ cmpwi r3, 4 /* 803A5894 003A14F4 4C 80 00 20 */ bgelr /* 803A5898 003A14F8 38 00 00 01 */ li r0, 1 /* 803A589C 003A14FC 38 8D B2 F0 */ addi r4, r13, lbl_806405B0-_SDA_BASE_ /* 803A58A0 003A1500 7C 04 19 AE */ stbx r0, r4, r3 /* 803A58A4 003A1504 4E 80 00 20 */ blr .global getBatteryFlag__Q210homebutton10ControllerCFv getBatteryFlag__Q210homebutton10ControllerCFv: /* 803A58A8 003A1508 80 03 00 00 */ lwz r0, 0(r3) /* 803A58AC 003A150C 2C 00 00 04 */ cmpwi r0, 4 /* 803A58B0 003A1510 41 80 00 0C */ blt lbl_803A58BC /* 803A58B4 003A1514 38 60 00 00 */ li r3, 0 /* 803A58B8 003A1518 4E 80 00 20 */ blr lbl_803A58BC: /* 803A58BC 003A151C 38 6D B2 F0 */ addi r3, r13, lbl_806405B0-_SDA_BASE_ /* 803A58C0 003A1520 7C 63 00 AE */ lbzx r3, r3, r0 /* 803A58C4 003A1524 4E 80 00 20 */ blr .global clrBatteryFlag__Q210homebutton10ControllerFv clrBatteryFlag__Q210homebutton10ControllerFv: /* 803A58C8 003A1528 80 83 00 00 */ lwz r4, 0(r3) /* 803A58CC 003A152C 2C 04 00 04 */ cmpwi r4, 4 /* 803A58D0 003A1530 4C 80 00 20 */ bgelr /* 803A58D4 003A1534 38 00 00 00 */ li r0, 0 /* 803A58D8 003A1538 38 6D B2 F0 */ addi r3, r13, lbl_806405B0-_SDA_BASE_ /* 803A58DC 003A153C 7C 03 21 AE */ stbx r0, r3, r4 /* 803A58E0 003A1540 4E 80 00 20 */ blr