1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
.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
|