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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global bta_sys_init
bta_sys_init:
/* 802BD888 002B94E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802BD88C 002B94EC 7C 08 02 A6 */ mflr r0
/* 802BD890 002B94F0 38 80 00 00 */ li r4, 0
/* 802BD894 002B94F4 38 A0 00 8C */ li r5, 0x8c
/* 802BD898 002B94F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802BD89C 002B94FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802BD8A0 002B9500 3F E0 80 57 */ lis r31, lbl_805686D8@ha
/* 802BD8A4 002B9504 38 7F 86 D8 */ addi r3, r31, lbl_805686D8@l
/* 802BD8A8 002B9508 4B D4 68 5D */ bl memset
/* 802BD8AC 002B950C 80 AD 8A 10 */ lwz r5, lbl_8063DCD0-_SDA_BASE_(r13)
/* 802BD8B0 002B9510 3B FF 86 D8 */ addi r31, r31, -31016
/* 802BD8B4 002B9514 38 7F 00 68 */ addi r3, r31, 0x68
/* 802BD8B8 002B9518 38 80 03 E8 */ li r4, 0x3e8
/* 802BD8BC 002B951C 88 A5 00 03 */ lbz r5, 3(r5)
/* 802BD8C0 002B9520 48 00 02 0D */ bl ptim_init
/* 802BD8C4 002B9524 4B FF D8 91 */ bl GKI_get_taskid
/* 802BD8C8 002B9528 98 7F 00 7D */ stb r3, 0x7d(r31)
/* 802BD8CC 002B952C 80 6D 8A 10 */ lwz r3, lbl_8063DCD0-_SDA_BASE_(r13)
/* 802BD8D0 002B9530 88 03 00 04 */ lbz r0, 4(r3)
/* 802BD8D4 002B9534 98 0D AE F8 */ stb r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802BD8D8 002B9538 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802BD8DC 002B953C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802BD8E0 002B9540 7C 08 03 A6 */ mtlr r0
/* 802BD8E4 002B9544 38 21 00 10 */ addi r1, r1, 0x10
/* 802BD8E8 002B9548 4E 80 00 20 */ blr
.global bta_sys_event
bta_sys_event:
/* 802BD8EC 002B954C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802BD8F0 002B9550 7C 08 02 A6 */ mflr r0
/* 802BD8F4 002B9554 90 01 00 14 */ stw r0, 0x14(r1)
/* 802BD8F8 002B9558 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802BD8FC 002B955C 3B E0 00 01 */ li r31, 1
/* 802BD900 002B9560 93 C1 00 08 */ stw r30, 8(r1)
/* 802BD904 002B9564 7C 7E 1B 78 */ mr r30, r3
/* 802BD908 002B9568 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802BD90C 002B956C 28 00 00 04 */ cmplwi r0, 4
/* 802BD910 002B9570 41 80 00 18 */ blt lbl_802BD928
/* 802BD914 002B9574 3C 80 80 44 */ lis r4, lbl_80440030@ha
/* 802BD918 002B9578 A0 BE 00 00 */ lhz r5, 0(r30)
/* 802BD91C 002B957C 38 84 00 30 */ addi r4, r4, lbl_80440030@l
/* 802BD920 002B9580 38 60 05 03 */ li r3, 0x503
/* 802BD924 002B9584 4B FF F6 05 */ bl LogMsg_1
lbl_802BD928:
/* 802BD928 002B9588 3C 60 80 57 */ lis r3, lbl_805686D8@ha
/* 802BD92C 002B958C A0 9E 00 00 */ lhz r4, 0(r30)
/* 802BD930 002B9590 38 63 86 D8 */ addi r3, r3, lbl_805686D8@l
/* 802BD934 002B9594 88 03 00 7E */ lbz r0, 0x7e(r3)
/* 802BD938 002B9598 7C 85 46 70 */ srawi r5, r4, 8
/* 802BD93C 002B959C 2C 00 00 00 */ cmpwi r0, 0
/* 802BD940 002B95A0 41 82 00 1C */ beq lbl_802BD95C
/* 802BD944 002B95A4 28 04 01 01 */ cmplwi r4, 0x101
/* 802BD948 002B95A8 40 82 00 08 */ bne lbl_802BD950
/* 802BD94C 002B95AC 48 00 26 71 */ bl bta_dm_immediate_disable
lbl_802BD950:
/* 802BD950 002B95B0 7F C3 F3 78 */ mr r3, r30
/* 802BD954 002B95B4 4B FF C3 E1 */ bl GKI_freebuf
/* 802BD958 002B95B8 48 00 00 68 */ b lbl_802BD9C0
lbl_802BD95C:
/* 802BD95C 002B95BC 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 802BD960 002B95C0 28 00 00 1A */ cmplwi r0, 0x1a
/* 802BD964 002B95C4 40 80 00 2C */ bge lbl_802BD990
/* 802BD968 002B95C8 54 A0 15 BA */ rlwinm r0, r5, 2, 0x16, 0x1d
/* 802BD96C 002B95CC 7C 63 00 2E */ lwzx r3, r3, r0
/* 802BD970 002B95D0 2C 03 00 00 */ cmpwi r3, 0
/* 802BD974 002B95D4 41 82 00 1C */ beq lbl_802BD990
/* 802BD978 002B95D8 81 83 00 00 */ lwz r12, 0(r3)
/* 802BD97C 002B95DC 7F C3 F3 78 */ mr r3, r30
/* 802BD980 002B95E0 7D 89 03 A6 */ mtctr r12
/* 802BD984 002B95E4 4E 80 04 21 */ bctrl
/* 802BD988 002B95E8 7C 7F 1B 78 */ mr r31, r3
/* 802BD98C 002B95EC 48 00 00 24 */ b lbl_802BD9B0
lbl_802BD990:
/* 802BD990 002B95F0 88 0D AE F8 */ lbz r0, lbl_806401B8-_SDA_BASE_(r13)
/* 802BD994 002B95F4 28 00 00 02 */ cmplwi r0, 2
/* 802BD998 002B95F8 41 80 00 18 */ blt lbl_802BD9B0
/* 802BD99C 002B95FC 3C 80 80 44 */ lis r4, lbl_80440044@ha
/* 802BD9A0 002B9600 54 A5 06 3E */ clrlwi r5, r5, 0x18
/* 802BD9A4 002B9604 38 84 00 44 */ addi r4, r4, lbl_80440044@l
/* 802BD9A8 002B9608 38 60 05 01 */ li r3, 0x501
/* 802BD9AC 002B960C 4B FF F5 7D */ bl LogMsg_1
lbl_802BD9B0:
/* 802BD9B0 002B9610 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 802BD9B4 002B9614 41 82 00 0C */ beq lbl_802BD9C0
/* 802BD9B8 002B9618 7F C3 F3 78 */ mr r3, r30
/* 802BD9BC 002B961C 4B FF C3 79 */ bl GKI_freebuf
lbl_802BD9C0:
/* 802BD9C0 002B9620 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802BD9C4 002B9624 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802BD9C8 002B9628 83 C1 00 08 */ lwz r30, 8(r1)
/* 802BD9CC 002B962C 7C 08 03 A6 */ mtlr r0
/* 802BD9D0 002B9630 38 21 00 10 */ addi r1, r1, 0x10
/* 802BD9D4 002B9634 4E 80 00 20 */ blr
.global bta_sys_timer_update
bta_sys_timer_update:
/* 802BD9D8 002B9638 3C 60 80 57 */ lis r3, lbl_805686D8@ha
/* 802BD9DC 002B963C 38 63 86 D8 */ addi r3, r3, lbl_805686D8@l
/* 802BD9E0 002B9640 88 03 00 7C */ lbz r0, 0x7c(r3)
/* 802BD9E4 002B9644 2C 00 00 00 */ cmpwi r0, 0
/* 802BD9E8 002B9648 4C 82 00 20 */ bnelr
/* 802BD9EC 002B964C 38 63 00 68 */ addi r3, r3, 0x68
/* 802BD9F0 002B9650 48 00 01 28 */ b ptim_timer_update
/* 802BD9F4 002B9654 4E 80 00 20 */ blr
.global bta_sys_register
bta_sys_register:
/* 802BD9F8 002B9658 3C A0 80 57 */ lis r5, lbl_805686D8@ha
/* 802BD9FC 002B965C 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d
/* 802BDA00 002B9660 38 A5 86 D8 */ addi r5, r5, lbl_805686D8@l
/* 802BDA04 002B9664 7C 85 01 2E */ stwx r4, r5, r0
/* 802BDA08 002B9668 4E 80 00 20 */ blr
.global bta_sys_sendmsg
bta_sys_sendmsg:
/* 802BDA0C 002B966C 80 8D 8A 10 */ lwz r4, lbl_8063DCD0-_SDA_BASE_(r13)
/* 802BDA10 002B9670 3C C0 80 57 */ lis r6, lbl_805686D8@ha
/* 802BDA14 002B9674 38 C6 86 D8 */ addi r6, r6, lbl_805686D8@l
/* 802BDA18 002B9678 7C 65 1B 78 */ mr r5, r3
/* 802BDA1C 002B967C 88 66 00 7D */ lbz r3, 0x7d(r6)
/* 802BDA20 002B9680 88 84 00 02 */ lbz r4, 2(r4)
/* 802BDA24 002B9684 4B FF C4 C4 */ b GKI_send_msg
.global bta_sys_start_timer
bta_sys_start_timer:
/* 802BDA28 002B9688 3C E0 80 57 */ lis r7, lbl_805686D8@ha
/* 802BDA2C 002B968C 7C 80 23 78 */ mr r0, r4
/* 802BDA30 002B9690 38 E7 86 D8 */ addi r7, r7, lbl_805686D8@l
/* 802BDA34 002B9694 7C A6 2B 78 */ mr r6, r5
/* 802BDA38 002B9698 7C 64 1B 78 */ mr r4, r3
/* 802BDA3C 002B969C 7C 05 03 78 */ mr r5, r0
/* 802BDA40 002B96A0 38 67 00 68 */ addi r3, r7, 0x68
/* 802BDA44 002B96A4 48 00 01 88 */ b ptim_start_timer
.global bta_sys_stop_timer
bta_sys_stop_timer:
/* 802BDA48 002B96A8 3C A0 80 57 */ lis r5, lbl_805686D8@ha
/* 802BDA4C 002B96AC 7C 64 1B 78 */ mr r4, r3
/* 802BDA50 002B96B0 38 A5 86 D8 */ addi r5, r5, lbl_805686D8@l
/* 802BDA54 002B96B4 38 65 00 68 */ addi r3, r5, 0x68
/* 802BDA58 002B96B8 48 00 02 14 */ b ptim_stop_timer
.global bta_sys_disable
bta_sys_disable:
/* 802BDA5C 002B96BC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802BDA60 002B96C0 7C 08 02 A6 */ mflr r0
/* 802BDA64 002B96C4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802BDA68 002B96C8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802BDA6C 002B96CC 3F E0 80 57 */ lis r31, lbl_805686D8@ha
/* 802BDA70 002B96D0 3B FF 86 D8 */ addi r31, r31, lbl_805686D8@l
/* 802BDA74 002B96D4 93 C1 00 08 */ stw r30, 8(r1)
/* 802BDA78 002B96D8 3B C0 00 00 */ li r30, 0
lbl_802BDA7C:
/* 802BDA7C 002B96DC 80 7F 00 00 */ lwz r3, 0(r31)
/* 802BDA80 002B96E0 2C 03 00 00 */ cmpwi r3, 0
/* 802BDA84 002B96E4 41 82 00 18 */ beq lbl_802BDA9C
/* 802BDA88 002B96E8 81 83 00 04 */ lwz r12, 4(r3)
/* 802BDA8C 002B96EC 2C 0C 00 00 */ cmpwi r12, 0
/* 802BDA90 002B96F0 41 82 00 0C */ beq lbl_802BDA9C
/* 802BDA94 002B96F4 7D 89 03 A6 */ mtctr r12
/* 802BDA98 002B96F8 4E 80 04 21 */ bctrl
lbl_802BDA9C:
/* 802BDA9C 002B96FC 3B DE 00 01 */ addi r30, r30, 1
/* 802BDAA0 002B9700 3B FF 00 04 */ addi r31, r31, 4
/* 802BDAA4 002B9704 2C 1E 00 1A */ cmpwi r30, 0x1a
/* 802BDAA8 002B9708 41 80 FF D4 */ blt lbl_802BDA7C
/* 802BDAAC 002B970C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802BDAB0 002B9710 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802BDAB4 002B9714 83 C1 00 08 */ lwz r30, 8(r1)
/* 802BDAB8 002B9718 7C 08 03 A6 */ mtlr r0
/* 802BDABC 002B971C 38 21 00 10 */ addi r1, r1, 0x10
/* 802BDAC0 002B9720 4E 80 00 20 */ blr
.global bta_sys_set_trace_level
bta_sys_set_trace_level:
/* 802BDAC4 002B9724 98 6D AE F8 */ stb r3, lbl_806401B8-_SDA_BASE_(r13)
/* 802BDAC8 002B9728 4E 80 00 20 */ blr
|