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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global ptim_init
ptim_init:
/* 802BDACC 002B972C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802BDAD0 002B9730 7C 08 02 A6 */ mflr r0
/* 802BDAD4 002B9734 90 01 00 24 */ stw r0, 0x24(r1)
/* 802BDAD8 002B9738 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802BDADC 002B973C 7C BF 2B 78 */ mr r31, r5
/* 802BDAE0 002B9740 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802BDAE4 002B9744 7C 9E 23 78 */ mr r30, r4
/* 802BDAE8 002B9748 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802BDAEC 002B974C 7C 7D 1B 78 */ mr r29, r3
/* 802BDAF0 002B9750 4B FF D1 C9 */ bl GKI_init_timer_list
/* 802BDAF4 002B9754 93 DD 00 0C */ stw r30, 0xc(r29)
/* 802BDAF8 002B9758 9B FD 00 10 */ stb r31, 0x10(r29)
/* 802BDAFC 002B975C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802BDB00 002B9760 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802BDB04 002B9764 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802BDB08 002B9768 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802BDB0C 002B976C 7C 08 03 A6 */ mtlr r0
/* 802BDB10 002B9770 38 21 00 20 */ addi r1, r1, 0x20
/* 802BDB14 002B9774 4E 80 00 20 */ blr
.global ptim_timer_update
ptim_timer_update:
/* 802BDB18 002B9778 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802BDB1C 002B977C 7C 08 02 A6 */ mflr r0
/* 802BDB20 002B9780 90 01 00 14 */ stw r0, 0x14(r1)
/* 802BDB24 002B9784 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802BDB28 002B9788 93 C1 00 08 */ stw r30, 8(r1)
/* 802BDB2C 002B978C 7C 7E 1B 78 */ mr r30, r3
/* 802BDB30 002B9790 80 83 00 0C */ lwz r4, 0xc(r3)
/* 802BDB34 002B9794 4B FF D1 99 */ bl GKI_update_timer_list
/* 802BDB38 002B9798 48 00 00 54 */ b lbl_802BDB8C
lbl_802BDB3C:
/* 802BDB3C 002B979C 7F C3 F3 78 */ mr r3, r30
/* 802BDB40 002B97A0 7F E4 FB 78 */ mr r4, r31
/* 802BDB44 002B97A4 4B FF D3 01 */ bl GKI_remove_from_timer_list
/* 802BDB48 002B97A8 81 9F 00 08 */ lwz r12, 8(r31)
/* 802BDB4C 002B97AC 2C 0C 00 00 */ cmpwi r12, 0
/* 802BDB50 002B97B0 41 82 00 14 */ beq lbl_802BDB64
/* 802BDB54 002B97B4 7F E3 FB 78 */ mr r3, r31
/* 802BDB58 002B97B8 7D 89 03 A6 */ mtctr r12
/* 802BDB5C 002B97BC 4E 80 04 21 */ bctrl
/* 802BDB60 002B97C0 48 00 00 2C */ b lbl_802BDB8C
lbl_802BDB64:
/* 802BDB64 002B97C4 A0 1F 00 14 */ lhz r0, 0x14(r31)
/* 802BDB68 002B97C8 2C 00 00 00 */ cmpwi r0, 0
/* 802BDB6C 002B97CC 41 82 00 20 */ beq lbl_802BDB8C
/* 802BDB70 002B97D0 38 60 00 08 */ li r3, 8
/* 802BDB74 002B97D4 4B FF BF 39 */ bl GKI_getbuf
/* 802BDB78 002B97D8 2C 03 00 00 */ cmpwi r3, 0
/* 802BDB7C 002B97DC 41 82 00 10 */ beq lbl_802BDB8C
/* 802BDB80 002B97E0 A0 1F 00 14 */ lhz r0, 0x14(r31)
/* 802BDB84 002B97E4 B0 03 00 00 */ sth r0, 0(r3)
/* 802BDB88 002B97E8 4B FF FE 85 */ bl bta_sys_sendmsg
lbl_802BDB8C:
/* 802BDB8C 002B97EC 83 FE 00 00 */ lwz r31, 0(r30)
/* 802BDB90 002B97F0 2C 1F 00 00 */ cmpwi r31, 0
/* 802BDB94 002B97F4 41 82 00 10 */ beq lbl_802BDBA4
/* 802BDB98 002B97F8 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 802BDB9C 002B97FC 2C 00 00 00 */ cmpwi r0, 0
/* 802BDBA0 002B9800 40 81 FF 9C */ ble lbl_802BDB3C
lbl_802BDBA4:
/* 802BDBA4 002B9804 2C 1F 00 00 */ cmpwi r31, 0
/* 802BDBA8 002B9808 40 82 00 0C */ bne lbl_802BDBB4
/* 802BDBAC 002B980C 88 7E 00 10 */ lbz r3, 0x10(r30)
/* 802BDBB0 002B9810 4B FF D0 81 */ bl GKI_stop_timer
lbl_802BDBB4:
/* 802BDBB4 002B9814 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802BDBB8 002B9818 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802BDBBC 002B981C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802BDBC0 002B9820 7C 08 03 A6 */ mtlr r0
/* 802BDBC4 002B9824 38 21 00 10 */ addi r1, r1, 0x10
/* 802BDBC8 002B9828 4E 80 00 20 */ blr
.global ptim_start_timer
ptim_start_timer:
/* 802BDBCC 002B982C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802BDBD0 002B9830 7C 08 02 A6 */ mflr r0
/* 802BDBD4 002B9834 90 01 00 24 */ stw r0, 0x24(r1)
/* 802BDBD8 002B9838 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802BDBDC 002B983C 7C DF 33 78 */ mr r31, r6
/* 802BDBE0 002B9840 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802BDBE4 002B9844 7C BE 2B 78 */ mr r30, r5
/* 802BDBE8 002B9848 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802BDBEC 002B984C 7C 9D 23 78 */ mr r29, r4
/* 802BDBF0 002B9850 93 81 00 10 */ stw r28, 0x10(r1)
/* 802BDBF4 002B9854 7C 7C 1B 78 */ mr r28, r3
/* 802BDBF8 002B9858 80 03 00 00 */ lwz r0, 0(r3)
/* 802BDBFC 002B985C 2C 00 00 00 */ cmpwi r0, 0
/* 802BDC00 002B9860 40 82 00 2C */ bne lbl_802BDC2C
/* 802BDC04 002B9864 3C 80 66 66 */ lis r4, 0x66666667@ha
/* 802BDC08 002B9868 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 802BDC0C 002B986C 38 84 66 67 */ addi r4, r4, 0x66666667@l
/* 802BDC10 002B9870 88 63 00 10 */ lbz r3, 0x10(r3)
/* 802BDC14 002B9874 7C 04 00 96 */ mulhw r0, r4, r0
/* 802BDC18 002B9878 38 A0 00 01 */ li r5, 1
/* 802BDC1C 002B987C 7C 00 16 70 */ srawi r0, r0, 2
/* 802BDC20 002B9880 54 04 0F FE */ srwi r4, r0, 0x1f
/* 802BDC24 002B9884 7C 80 22 14 */ add r4, r0, r4
/* 802BDC28 002B9888 4B FF CE B9 */ bl GKI_start_timer
lbl_802BDC2C:
/* 802BDC2C 002B988C 7F 83 E3 78 */ mr r3, r28
/* 802BDC30 002B9890 7F A4 EB 78 */ mr r4, r29
/* 802BDC34 002B9894 4B FF D2 11 */ bl GKI_remove_from_timer_list
/* 802BDC38 002B9898 B3 DD 00 14 */ sth r30, 0x14(r29)
/* 802BDC3C 002B989C 7F 83 E3 78 */ mr r3, r28
/* 802BDC40 002B98A0 7F A4 EB 78 */ mr r4, r29
/* 802BDC44 002B98A4 93 FD 00 0C */ stw r31, 0xc(r29)
/* 802BDC48 002B98A8 4B FF D1 11 */ bl GKI_add_to_timer_list
/* 802BDC4C 002B98AC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802BDC50 002B98B0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802BDC54 002B98B4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802BDC58 002B98B8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802BDC5C 002B98BC 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802BDC60 002B98C0 7C 08 03 A6 */ mtlr r0
/* 802BDC64 002B98C4 38 21 00 20 */ addi r1, r1, 0x20
/* 802BDC68 002B98C8 4E 80 00 20 */ blr
.global ptim_stop_timer
ptim_stop_timer:
/* 802BDC6C 002B98CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802BDC70 002B98D0 7C 08 02 A6 */ mflr r0
/* 802BDC74 002B98D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802BDC78 002B98D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802BDC7C 002B98DC 7C 7F 1B 78 */ mr r31, r3
/* 802BDC80 002B98E0 4B FF D1 C5 */ bl GKI_remove_from_timer_list
/* 802BDC84 002B98E4 80 1F 00 00 */ lwz r0, 0(r31)
/* 802BDC88 002B98E8 2C 00 00 00 */ cmpwi r0, 0
/* 802BDC8C 002B98EC 40 82 00 0C */ bne lbl_802BDC98
/* 802BDC90 002B98F0 88 7F 00 10 */ lbz r3, 0x10(r31)
/* 802BDC94 002B98F4 4B FF CF 9D */ bl GKI_stop_timer
lbl_802BDC98:
/* 802BDC98 002B98F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802BDC9C 002B98FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802BDCA0 002B9900 7C 08 03 A6 */ mtlr r0
/* 802BDCA4 002B9904 38 21 00 10 */ addi r1, r1, 0x10
/* 802BDCA8 002B9908 4E 80 00 20 */ blr
|