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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global BTA_HhEnable
BTA_HhEnable:
/* 802C275C 002BE3BC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C2760 002BE3C0 7C 08 02 A6 */ mflr r0
/* 802C2764 002BE3C4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C2768 002BE3C8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C276C 002BE3CC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802C2770 002BE3D0 7C 9E 23 78 */ mr r30, r4
/* 802C2774 002BE3D4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802C2778 002BE3D8 7C 7D 1B 78 */ mr r29, r3
/* 802C277C 002BE3DC 4B FF 89 29 */ bl GKI_sched_lock
/* 802C2780 002BE3E0 38 60 00 17 */ li r3, 0x17
/* 802C2784 002BE3E4 38 82 A4 68 */ addi r4, r2, lbl_80642A68-_SDA2_BASE_
/* 802C2788 002BE3E8 4B FF B2 71 */ bl bta_sys_register
/* 802C278C 002BE3EC 4B FF 89 1D */ bl GKI_sched_unlock
/* 802C2790 002BE3F0 38 60 00 34 */ li r3, 0x34
/* 802C2794 002BE3F4 4B FF 73 19 */ bl GKI_getbuf
/* 802C2798 002BE3F8 2C 03 00 00 */ cmpwi r3, 0
/* 802C279C 002BE3FC 7C 7F 1B 78 */ mr r31, r3
/* 802C27A0 002BE400 41 82 00 28 */ beq lbl_802C27C8
/* 802C27A4 002BE404 38 80 00 00 */ li r4, 0
/* 802C27A8 002BE408 38 A0 00 34 */ li r5, 0x34
/* 802C27AC 002BE40C 4B D4 19 59 */ bl memset
/* 802C27B0 002BE410 38 00 17 0C */ li r0, 0x170c
/* 802C27B4 002BE414 7F E3 FB 78 */ mr r3, r31
/* 802C27B8 002BE418 B0 1F 00 00 */ sth r0, 0(r31)
/* 802C27BC 002BE41C 93 DF 00 30 */ stw r30, 0x30(r31)
/* 802C27C0 002BE420 9B BF 00 08 */ stb r29, 8(r31)
/* 802C27C4 002BE424 4B FF B2 49 */ bl bta_sys_sendmsg
lbl_802C27C8:
/* 802C27C8 002BE428 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C27CC 002BE42C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C27D0 002BE430 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802C27D4 002BE434 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802C27D8 002BE438 7C 08 03 A6 */ mtlr r0
/* 802C27DC 002BE43C 38 21 00 20 */ addi r1, r1, 0x20
/* 802C27E0 002BE440 4E 80 00 20 */ blr
/* 802C27E4 002BE444 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C27E8 002BE448 7C 08 02 A6 */ mflr r0
/* 802C27EC 002BE44C 38 60 00 08 */ li r3, 8
/* 802C27F0 002BE450 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C27F4 002BE454 4B FF 72 B9 */ bl GKI_getbuf
/* 802C27F8 002BE458 2C 03 00 00 */ cmpwi r3, 0
/* 802C27FC 002BE45C 41 82 00 10 */ beq lbl_802C280C
/* 802C2800 002BE460 38 00 17 0D */ li r0, 0x170d
/* 802C2804 002BE464 B0 03 00 00 */ sth r0, 0(r3)
/* 802C2808 002BE468 4B FF B2 05 */ bl bta_sys_sendmsg
lbl_802C280C:
/* 802C280C 002BE46C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C2810 002BE470 7C 08 03 A6 */ mtlr r0
/* 802C2814 002BE474 38 21 00 10 */ addi r1, r1, 0x10
/* 802C2818 002BE478 4E 80 00 20 */ blr
.global BTA_HhClose
BTA_HhClose:
/* 802C281C 002BE47C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C2820 002BE480 7C 08 02 A6 */ mflr r0
/* 802C2824 002BE484 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C2828 002BE488 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C282C 002BE48C 93 C1 00 08 */ stw r30, 8(r1)
/* 802C2830 002BE490 7C 7E 1B 78 */ mr r30, r3
/* 802C2834 002BE494 38 60 00 08 */ li r3, 8
/* 802C2838 002BE498 4B FF 72 75 */ bl GKI_getbuf
/* 802C283C 002BE49C 2C 03 00 00 */ cmpwi r3, 0
/* 802C2840 002BE4A0 7C 7F 1B 78 */ mr r31, r3
/* 802C2844 002BE4A4 41 82 00 24 */ beq lbl_802C2868
/* 802C2848 002BE4A8 38 80 00 00 */ li r4, 0
/* 802C284C 002BE4AC 38 A0 00 08 */ li r5, 8
/* 802C2850 002BE4B0 4B D4 18 B5 */ bl memset
/* 802C2854 002BE4B4 38 00 17 01 */ li r0, 0x1701
/* 802C2858 002BE4B8 7F E3 FB 78 */ mr r3, r31
/* 802C285C 002BE4BC B0 1F 00 00 */ sth r0, 0(r31)
/* 802C2860 002BE4C0 B3 DF 00 06 */ sth r30, 6(r31)
/* 802C2864 002BE4C4 4B FF B1 A9 */ bl bta_sys_sendmsg
lbl_802C2868:
/* 802C2868 002BE4C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C286C 002BE4CC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C2870 002BE4D0 83 C1 00 08 */ lwz r30, 8(r1)
/* 802C2874 002BE4D4 7C 08 03 A6 */ mtlr r0
/* 802C2878 002BE4D8 38 21 00 10 */ addi r1, r1, 0x10
/* 802C287C 002BE4DC 4E 80 00 20 */ blr
.global BTA_HhOpen
BTA_HhOpen:
/* 802C2880 002BE4E0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C2884 002BE4E4 7C 08 02 A6 */ mflr r0
/* 802C2888 002BE4E8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C288C 002BE4EC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C2890 002BE4F0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802C2894 002BE4F4 7C BE 2B 78 */ mr r30, r5
/* 802C2898 002BE4F8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802C289C 002BE4FC 7C 9D 23 78 */ mr r29, r4
/* 802C28A0 002BE500 93 81 00 10 */ stw r28, 0x10(r1)
/* 802C28A4 002BE504 7C 7C 1B 78 */ mr r28, r3
/* 802C28A8 002BE508 38 60 00 10 */ li r3, 0x10
/* 802C28AC 002BE50C 4B FF 72 01 */ bl GKI_getbuf
/* 802C28B0 002BE510 2C 03 00 00 */ cmpwi r3, 0
/* 802C28B4 002BE514 7C 7F 1B 78 */ mr r31, r3
/* 802C28B8 002BE518 41 82 00 40 */ beq lbl_802C28F8
/* 802C28BC 002BE51C 38 80 00 00 */ li r4, 0
/* 802C28C0 002BE520 38 A0 00 10 */ li r5, 0x10
/* 802C28C4 002BE524 4B D4 18 41 */ bl memset
/* 802C28C8 002BE528 38 60 17 00 */ li r3, 0x1700
/* 802C28CC 002BE52C 38 00 00 FF */ li r0, 0xff
/* 802C28D0 002BE530 B0 7F 00 00 */ sth r3, 0(r31)
/* 802C28D4 002BE534 7F 84 E3 78 */ mr r4, r28
/* 802C28D8 002BE538 38 7F 00 08 */ addi r3, r31, 8
/* 802C28DC 002BE53C B0 1F 00 06 */ sth r0, 6(r31)
/* 802C28E0 002BE540 9B DF 00 0E */ stb r30, 0xe(r31)
/* 802C28E4 002BE544 9B BF 00 0F */ stb r29, 0xf(r31)
/* 802C28E8 002BE548 4B FF AC 79 */ bl bdcpy
/* 802C28EC 002BE54C 7F E3 FB 78 */ mr r3, r31
/* 802C28F0 002BE550 4B FF B1 1D */ bl bta_sys_sendmsg
/* 802C28F4 002BE554 48 00 00 20 */ b lbl_802C2914
lbl_802C28F8:
/* 802C28F8 002BE558 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802C28FC 002BE55C 28 00 00 01 */ cmplwi r0, 1
/* 802C2900 002BE560 41 80 00 14 */ blt lbl_802C2914
/* 802C2904 002BE564 3C 80 80 44 */ lis r4, lbl_804406F0@ha
/* 802C2908 002BE568 38 60 05 00 */ li r3, 0x500
/* 802C290C 002BE56C 38 84 06 F0 */ addi r4, r4, lbl_804406F0@l
/* 802C2910 002BE570 4B FF A6 01 */ bl LogMsg_0
lbl_802C2914:
/* 802C2914 002BE574 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C2918 002BE578 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C291C 002BE57C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802C2920 002BE580 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802C2924 002BE584 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802C2928 002BE588 7C 08 03 A6 */ mtlr r0
/* 802C292C 002BE58C 38 21 00 20 */ addi r1, r1, 0x20
/* 802C2930 002BE590 4E 80 00 20 */ blr
.global BTA_HhSendData
BTA_HhSendData:
/* 802C2934 002BE594 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C2938 002BE598 7C 08 02 A6 */ mflr r0
/* 802C293C 002BE59C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C2940 002BE5A0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802C2944 002BE5A4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802C2948 002BE5A8 7C 9E 23 78 */ mr r30, r4
/* 802C294C 002BE5AC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802C2950 002BE5B0 7C 7D 1B 78 */ mr r29, r3
/* 802C2954 002BE5B4 38 60 00 14 */ li r3, 0x14
/* 802C2958 002BE5B8 4B FF 71 55 */ bl GKI_getbuf
/* 802C295C 002BE5BC 2C 03 00 00 */ cmpwi r3, 0
/* 802C2960 002BE5C0 7C 7F 1B 78 */ mr r31, r3
/* 802C2964 002BE5C4 41 82 00 44 */ beq lbl_802C29A8
/* 802C2968 002BE5C8 38 80 00 00 */ li r4, 0
/* 802C296C 002BE5CC 38 A0 00 14 */ li r5, 0x14
/* 802C2970 002BE5D0 4B D4 17 95 */ bl memset
/* 802C2974 002BE5D4 38 00 17 08 */ li r0, 0x1708
/* 802C2978 002BE5D8 38 A0 00 0A */ li r5, 0xa
/* 802C297C 002BE5DC B0 1F 00 00 */ sth r0, 0(r31)
/* 802C2980 002BE5E0 38 80 00 00 */ li r4, 0
/* 802C2984 002BE5E4 38 00 00 02 */ li r0, 2
/* 802C2988 002BE5E8 7F E3 FB 78 */ mr r3, r31
/* 802C298C 002BE5EC B3 BF 00 06 */ sth r29, 6(r31)
/* 802C2990 002BE5F0 98 BF 00 08 */ stb r5, 8(r31)
/* 802C2994 002BE5F4 B0 9F 00 0C */ sth r4, 0xc(r31)
/* 802C2998 002BE5F8 98 1F 00 09 */ stb r0, 9(r31)
/* 802C299C 002BE5FC 93 DF 00 10 */ stw r30, 0x10(r31)
/* 802C29A0 002BE600 98 9F 00 0A */ stb r4, 0xa(r31)
/* 802C29A4 002BE604 4B FF B0 69 */ bl bta_sys_sendmsg
lbl_802C29A8:
/* 802C29A8 002BE608 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C29AC 002BE60C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802C29B0 002BE610 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802C29B4 002BE614 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802C29B8 002BE618 7C 08 03 A6 */ mtlr r0
/* 802C29BC 002BE61C 38 21 00 20 */ addi r1, r1, 0x20
/* 802C29C0 002BE620 4E 80 00 20 */ blr
.global BTA_HhAddDev
BTA_HhAddDev:
/* 802C29C4 002BE624 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802C29C8 002BE628 7C 08 02 A6 */ mflr r0
/* 802C29CC 002BE62C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802C29D0 002BE630 39 61 00 20 */ addi r11, r1, 0x20
/* 802C29D4 002BE634 4B F0 47 51 */ bl _savegpr_26
/* 802C29D8 002BE638 7C 7A 1B 78 */ mr r26, r3
/* 802C29DC 002BE63C 7C 9B 23 78 */ mr r27, r4
/* 802C29E0 002BE640 7C BC 2B 78 */ mr r28, r5
/* 802C29E4 002BE644 7C DD 33 78 */ mr r29, r6
/* 802C29E8 002BE648 7C FE 3B 78 */ mr r30, r7
/* 802C29EC 002BE64C 38 60 00 1C */ li r3, 0x1c
/* 802C29F0 002BE650 4B FF 70 BD */ bl GKI_getbuf
/* 802C29F4 002BE654 2C 03 00 00 */ cmpwi r3, 0
/* 802C29F8 002BE658 7C 7F 1B 78 */ mr r31, r3
/* 802C29FC 002BE65C 41 82 00 58 */ beq lbl_802C2A54
/* 802C2A00 002BE660 38 80 00 00 */ li r4, 0
/* 802C2A04 002BE664 38 A0 00 1C */ li r5, 0x1c
/* 802C2A08 002BE668 4B D4 16 FD */ bl memset
/* 802C2A0C 002BE66C 38 00 17 0A */ li r0, 0x170a
/* 802C2A10 002BE670 38 A0 00 0B */ li r5, 0xb
/* 802C2A14 002BE674 B0 1F 00 00 */ sth r0, 0(r31)
/* 802C2A18 002BE678 38 00 00 FF */ li r0, 0xff
/* 802C2A1C 002BE67C 7F C4 F3 78 */ mr r4, r30
/* 802C2A20 002BE680 38 7F 00 14 */ addi r3, r31, 0x14
/* 802C2A24 002BE684 B0 BF 00 10 */ sth r5, 0x10(r31)
/* 802C2A28 002BE688 38 A0 00 08 */ li r5, 8
/* 802C2A2C 002BE68C B0 1F 00 06 */ sth r0, 6(r31)
/* 802C2A30 002BE690 B3 7F 00 0E */ sth r27, 0xe(r31)
/* 802C2A34 002BE694 9B 9F 00 12 */ stb r28, 0x12(r31)
/* 802C2A38 002BE698 9B BF 00 13 */ stb r29, 0x13(r31)
/* 802C2A3C 002BE69C 4B D4 15 C5 */ bl memcpy
/* 802C2A40 002BE6A0 7F 44 D3 78 */ mr r4, r26
/* 802C2A44 002BE6A4 38 7F 00 08 */ addi r3, r31, 8
/* 802C2A48 002BE6A8 4B FF AB 19 */ bl bdcpy
/* 802C2A4C 002BE6AC 7F E3 FB 78 */ mr r3, r31
/* 802C2A50 002BE6B0 4B FF AF BD */ bl bta_sys_sendmsg
lbl_802C2A54:
/* 802C2A54 002BE6B4 39 61 00 20 */ addi r11, r1, 0x20
/* 802C2A58 002BE6B8 4B F0 47 19 */ bl _restgpr_26
/* 802C2A5C 002BE6BC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802C2A60 002BE6C0 7C 08 03 A6 */ mtlr r0
/* 802C2A64 002BE6C4 38 21 00 20 */ addi r1, r1, 0x20
/* 802C2A68 002BE6C8 4E 80 00 20 */ blr
.global BTA_HhRemoveDev
BTA_HhRemoveDev:
/* 802C2A6C 002BE6CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C2A70 002BE6D0 7C 08 02 A6 */ mflr r0
/* 802C2A74 002BE6D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C2A78 002BE6D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C2A7C 002BE6DC 93 C1 00 08 */ stw r30, 8(r1)
/* 802C2A80 002BE6E0 7C 7E 1B 78 */ mr r30, r3
/* 802C2A84 002BE6E4 38 60 00 1C */ li r3, 0x1c
/* 802C2A88 002BE6E8 4B FF 70 25 */ bl GKI_getbuf
/* 802C2A8C 002BE6EC 2C 03 00 00 */ cmpwi r3, 0
/* 802C2A90 002BE6F0 7C 7F 1B 78 */ mr r31, r3
/* 802C2A94 002BE6F4 41 82 00 2C */ beq lbl_802C2AC0
/* 802C2A98 002BE6F8 38 80 00 00 */ li r4, 0
/* 802C2A9C 002BE6FC 38 A0 00 1C */ li r5, 0x1c
/* 802C2AA0 002BE700 4B D4 16 65 */ bl memset
/* 802C2AA4 002BE704 38 60 17 0A */ li r3, 0x170a
/* 802C2AA8 002BE708 38 00 00 0C */ li r0, 0xc
/* 802C2AAC 002BE70C B0 7F 00 00 */ sth r3, 0(r31)
/* 802C2AB0 002BE710 7F E3 FB 78 */ mr r3, r31
/* 802C2AB4 002BE714 B0 1F 00 10 */ sth r0, 0x10(r31)
/* 802C2AB8 002BE718 B3 DF 00 06 */ sth r30, 6(r31)
/* 802C2ABC 002BE71C 4B FF AF 51 */ bl bta_sys_sendmsg
lbl_802C2AC0:
/* 802C2AC0 002BE720 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C2AC4 002BE724 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C2AC8 002BE728 83 C1 00 08 */ lwz r30, 8(r1)
/* 802C2ACC 002BE72C 7C 08 03 A6 */ mtlr r0
/* 802C2AD0 002BE730 38 21 00 10 */ addi r1, r1, 0x10
/* 802C2AD4 002BE734 4E 80 00 20 */ blr
.global BTA_HhGetAclQueueInfo
BTA_HhGetAclQueueInfo:
/* 802C2AD8 002BE738 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802C2ADC 002BE73C 7C 08 02 A6 */ mflr r0
/* 802C2AE0 002BE740 38 60 00 08 */ li r3, 8
/* 802C2AE4 002BE744 90 01 00 14 */ stw r0, 0x14(r1)
/* 802C2AE8 002BE748 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802C2AEC 002BE74C 4B FF 6F C1 */ bl GKI_getbuf
/* 802C2AF0 002BE750 2C 03 00 00 */ cmpwi r3, 0
/* 802C2AF4 002BE754 7C 7F 1B 78 */ mr r31, r3
/* 802C2AF8 002BE758 41 82 00 20 */ beq lbl_802C2B18
/* 802C2AFC 002BE75C 38 80 00 00 */ li r4, 0
/* 802C2B00 002BE760 38 A0 00 08 */ li r5, 8
/* 802C2B04 002BE764 4B D4 16 01 */ bl memset
/* 802C2B08 002BE768 38 00 17 0E */ li r0, 0x170e
/* 802C2B0C 002BE76C 7F E3 FB 78 */ mr r3, r31
/* 802C2B10 002BE770 B0 1F 00 00 */ sth r0, 0(r31)
/* 802C2B14 002BE774 4B FF AE F9 */ bl bta_sys_sendmsg
lbl_802C2B18:
/* 802C2B18 002BE778 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C2B1C 002BE77C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C2B20 002BE780 7C 08 03 A6 */ mtlr r0
/* 802C2B24 002BE784 38 21 00 10 */ addi r1, r1, 0x10
/* 802C2B28 002BE788 4E 80 00 20 */ blr
|