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
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global AXFXDelayGetMemSize
AXFXDelayGetMemSize:
/* 802944C8 00290128 80 A3 00 40 */ lwz r5, 0x40(r3)
/* 802944CC 0029012C 80 83 00 44 */ lwz r4, 0x44(r3)
/* 802944D0 00290130 80 03 00 48 */ lwz r0, 0x48(r3)
/* 802944D4 00290134 7C 65 22 14 */ add r3, r5, r4
/* 802944D8 00290138 7C 63 02 14 */ add r3, r3, r0
/* 802944DC 0029013C 54 63 38 30 */ slwi r3, r3, 7
/* 802944E0 00290140 4E 80 00 20 */ blr
.global AXFXDelayInit
AXFXDelayInit:
/* 802944E4 00290144 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802944E8 00290148 7C 08 02 A6 */ mflr r0
/* 802944EC 0029014C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802944F0 00290150 39 61 00 20 */ addi r11, r1, 0x20
/* 802944F4 00290154 4B F3 2C 35 */ bl _savegpr_27
/* 802944F8 00290158 7C 7E 1B 78 */ mr r30, r3
/* 802944FC 0029015C 4B FD A2 61 */ bl OSDisableInterrupts
/* 80294500 00290160 38 80 00 01 */ li r4, 1
/* 80294504 00290164 38 00 00 03 */ li r0, 3
/* 80294508 00290168 7C 7F 1B 78 */ mr r31, r3
/* 8029450C 0029016C 7F C3 F3 78 */ mr r3, r30
/* 80294510 00290170 90 9E 00 3C */ stw r4, 0x3c(r30)
/* 80294514 00290174 7C 09 03 A6 */ mtctr r0
lbl_80294518:
/* 80294518 00290178 80 03 00 40 */ lwz r0, 0x40(r3)
/* 8029451C 0029017C 2C 00 00 00 */ cmpwi r0, 0
/* 80294520 00290180 40 82 00 64 */ bne lbl_80294584
/* 80294524 00290184 4B FD A2 39 */ bl OSDisableInterrupts
/* 80294528 00290188 80 1E 00 3C */ lwz r0, 0x3c(r30)
/* 8029452C 0029018C 7C 7B 1B 78 */ mr r27, r3
/* 80294530 00290190 3B 80 00 00 */ li r28, 0
/* 80294534 00290194 3B A0 00 00 */ li r29, 0
/* 80294538 00290198 60 00 00 01 */ ori r0, r0, 1
/* 8029453C 0029019C 90 1E 00 3C */ stw r0, 0x3c(r30)
lbl_80294540:
/* 80294540 002901A0 80 7E 00 00 */ lwz r3, 0(r30)
/* 80294544 002901A4 2C 03 00 00 */ cmpwi r3, 0
/* 80294548 002901A8 41 82 00 14 */ beq lbl_8029455C
/* 8029454C 002901AC 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80294550 002901B0 7D 89 03 A6 */ mtctr r12
/* 80294554 002901B4 4E 80 04 21 */ bctrl
/* 80294558 002901B8 93 BE 00 00 */ stw r29, 0(r30)
lbl_8029455C:
/* 8029455C 002901BC 3B 9C 00 01 */ addi r28, r28, 1
/* 80294560 002901C0 3B DE 00 04 */ addi r30, r30, 4
/* 80294564 002901C4 28 1C 00 03 */ cmplwi r28, 3
/* 80294568 002901C8 41 80 FF D8 */ blt lbl_80294540
/* 8029456C 002901CC 7F 63 DB 78 */ mr r3, r27
/* 80294570 002901D0 4B FD A2 15 */ bl OSRestoreInterrupts
/* 80294574 002901D4 7F E3 FB 78 */ mr r3, r31
/* 80294578 002901D8 4B FD A2 0D */ bl OSRestoreInterrupts
/* 8029457C 002901DC 38 60 00 00 */ li r3, 0
/* 80294580 002901E0 48 00 01 4C */ b lbl_802946CC
lbl_80294584:
/* 80294584 002901E4 54 00 28 34 */ slwi r0, r0, 5
/* 80294588 002901E8 90 03 00 18 */ stw r0, 0x18(r3)
/* 8029458C 002901EC 38 63 00 04 */ addi r3, r3, 4
/* 80294590 002901F0 42 00 FF 88 */ bdnz lbl_80294518
/* 80294594 002901F4 7F DC F3 78 */ mr r28, r30
/* 80294598 002901F8 3B 60 00 00 */ li r27, 0
lbl_8029459C:
/* 8029459C 002901FC 80 1C 00 18 */ lwz r0, 0x18(r28)
/* 802945A0 00290200 81 8D 88 F8 */ lwz r12, lbl_8063DBB8-_SDA_BASE_(r13)
/* 802945A4 00290204 54 03 10 3A */ slwi r3, r0, 2
/* 802945A8 00290208 7D 89 03 A6 */ mtctr r12
/* 802945AC 0029020C 4E 80 04 21 */ bctrl
/* 802945B0 00290210 2C 03 00 00 */ cmpwi r3, 0
/* 802945B4 00290214 90 7C 00 00 */ stw r3, 0(r28)
/* 802945B8 00290218 40 82 00 0C */ bne lbl_802945C4
/* 802945BC 0029021C 38 00 00 00 */ li r0, 0
/* 802945C0 00290220 48 00 00 18 */ b lbl_802945D8
lbl_802945C4:
/* 802945C4 00290224 3B 7B 00 01 */ addi r27, r27, 1
/* 802945C8 00290228 3B 9C 00 04 */ addi r28, r28, 4
/* 802945CC 0029022C 28 1B 00 03 */ cmplwi r27, 3
/* 802945D0 00290230 41 80 FF CC */ blt lbl_8029459C
/* 802945D4 00290234 38 00 00 01 */ li r0, 1
lbl_802945D8:
/* 802945D8 00290238 2C 00 00 00 */ cmpwi r0, 0
/* 802945DC 0029023C 40 82 00 64 */ bne lbl_80294640
/* 802945E0 00290240 4B FD A1 7D */ bl OSDisableInterrupts
/* 802945E4 00290244 80 1E 00 3C */ lwz r0, 0x3c(r30)
/* 802945E8 00290248 7C 7C 1B 78 */ mr r28, r3
/* 802945EC 0029024C 3B 60 00 00 */ li r27, 0
/* 802945F0 00290250 3B A0 00 00 */ li r29, 0
/* 802945F4 00290254 60 00 00 01 */ ori r0, r0, 1
/* 802945F8 00290258 90 1E 00 3C */ stw r0, 0x3c(r30)
lbl_802945FC:
/* 802945FC 0029025C 80 7E 00 00 */ lwz r3, 0(r30)
/* 80294600 00290260 2C 03 00 00 */ cmpwi r3, 0
/* 80294604 00290264 41 82 00 14 */ beq lbl_80294618
/* 80294608 00290268 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 8029460C 0029026C 7D 89 03 A6 */ mtctr r12
/* 80294610 00290270 4E 80 04 21 */ bctrl
/* 80294614 00290274 93 BE 00 00 */ stw r29, 0(r30)
lbl_80294618:
/* 80294618 00290278 3B 7B 00 01 */ addi r27, r27, 1
/* 8029461C 0029027C 3B DE 00 04 */ addi r30, r30, 4
/* 80294620 00290280 28 1B 00 03 */ cmplwi r27, 3
/* 80294624 00290284 41 80 FF D8 */ blt lbl_802945FC
/* 80294628 00290288 7F 83 E3 78 */ mr r3, r28
/* 8029462C 0029028C 4B FD A1 59 */ bl OSRestoreInterrupts
/* 80294630 00290290 7F E3 FB 78 */ mr r3, r31
/* 80294634 00290294 4B FD A1 51 */ bl OSRestoreInterrupts
/* 80294638 00290298 38 60 00 00 */ li r3, 0
/* 8029463C 0029029C 48 00 00 90 */ b lbl_802946CC
lbl_80294640:
/* 80294640 002902A0 7F C3 F3 78 */ mr r3, r30
/* 80294644 002902A4 48 00 03 D5 */ bl __InitParams
/* 80294648 002902A8 2C 03 00 00 */ cmpwi r3, 0
/* 8029464C 002902AC 40 82 00 64 */ bne lbl_802946B0
/* 80294650 002902B0 4B FD A1 0D */ bl OSDisableInterrupts
/* 80294654 002902B4 80 1E 00 3C */ lwz r0, 0x3c(r30)
/* 80294658 002902B8 7C 7C 1B 78 */ mr r28, r3
/* 8029465C 002902BC 3B 60 00 00 */ li r27, 0
/* 80294660 002902C0 3B A0 00 00 */ li r29, 0
/* 80294664 002902C4 60 00 00 01 */ ori r0, r0, 1
/* 80294668 002902C8 90 1E 00 3C */ stw r0, 0x3c(r30)
lbl_8029466C:
/* 8029466C 002902CC 80 7E 00 00 */ lwz r3, 0(r30)
/* 80294670 002902D0 2C 03 00 00 */ cmpwi r3, 0
/* 80294674 002902D4 41 82 00 14 */ beq lbl_80294688
/* 80294678 002902D8 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 8029467C 002902DC 7D 89 03 A6 */ mtctr r12
/* 80294680 002902E0 4E 80 04 21 */ bctrl
/* 80294684 002902E4 93 BE 00 00 */ stw r29, 0(r30)
lbl_80294688:
/* 80294688 002902E8 3B 7B 00 01 */ addi r27, r27, 1
/* 8029468C 002902EC 3B DE 00 04 */ addi r30, r30, 4
/* 80294690 002902F0 28 1B 00 03 */ cmplwi r27, 3
/* 80294694 002902F4 41 80 FF D8 */ blt lbl_8029466C
/* 80294698 002902F8 7F 83 E3 78 */ mr r3, r28
/* 8029469C 002902FC 4B FD A0 E9 */ bl OSRestoreInterrupts
/* 802946A0 00290300 7F E3 FB 78 */ mr r3, r31
/* 802946A4 00290304 4B FD A0 E1 */ bl OSRestoreInterrupts
/* 802946A8 00290308 38 60 00 00 */ li r3, 0
/* 802946AC 0029030C 48 00 00 20 */ b lbl_802946CC
lbl_802946B0:
/* 802946B0 00290310 80 1E 00 3C */ lwz r0, 0x3c(r30)
/* 802946B4 00290314 7F E3 FB 78 */ mr r3, r31
/* 802946B8 00290318 60 00 00 02 */ ori r0, r0, 2
/* 802946BC 0029031C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 802946C0 00290320 90 1E 00 3C */ stw r0, 0x3c(r30)
/* 802946C4 00290324 4B FD A0 C1 */ bl OSRestoreInterrupts
/* 802946C8 00290328 38 60 00 01 */ li r3, 1
lbl_802946CC:
/* 802946CC 0029032C 39 61 00 20 */ addi r11, r1, 0x20
/* 802946D0 00290330 4B F3 2A A5 */ bl _restgpr_27
/* 802946D4 00290334 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802946D8 00290338 7C 08 03 A6 */ mtlr r0
/* 802946DC 0029033C 38 21 00 20 */ addi r1, r1, 0x20
/* 802946E0 00290340 4E 80 00 20 */ blr
.global AXFXDelaySettings
AXFXDelaySettings:
/* 802946E4 00290344 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802946E8 00290348 7C 08 02 A6 */ mflr r0
/* 802946EC 0029034C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802946F0 00290350 39 61 00 20 */ addi r11, r1, 0x20
/* 802946F4 00290354 4B F3 2A 31 */ bl _savegpr_26
/* 802946F8 00290358 7C 7F 1B 78 */ mr r31, r3
/* 802946FC 0029035C 4B FD A0 61 */ bl OSDisableInterrupts
/* 80294700 00290360 80 1F 00 3C */ lwz r0, 0x3c(r31)
/* 80294704 00290364 7C 7A 1B 78 */ mr r26, r3
/* 80294708 00290368 60 00 00 01 */ ori r0, r0, 1
/* 8029470C 0029036C 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80294710 00290370 4B FD A0 4D */ bl OSDisableInterrupts
/* 80294714 00290374 80 1F 00 3C */ lwz r0, 0x3c(r31)
/* 80294718 00290378 7C 7C 1B 78 */ mr r28, r3
/* 8029471C 0029037C 7F FB FB 78 */ mr r27, r31
/* 80294720 00290380 3B A0 00 00 */ li r29, 0
/* 80294724 00290384 60 00 00 01 */ ori r0, r0, 1
/* 80294728 00290388 3B C0 00 00 */ li r30, 0
/* 8029472C 0029038C 90 1F 00 3C */ stw r0, 0x3c(r31)
lbl_80294730:
/* 80294730 00290390 80 7B 00 00 */ lwz r3, 0(r27)
/* 80294734 00290394 2C 03 00 00 */ cmpwi r3, 0
/* 80294738 00290398 41 82 00 14 */ beq lbl_8029474C
/* 8029473C 0029039C 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80294740 002903A0 7D 89 03 A6 */ mtctr r12
/* 80294744 002903A4 4E 80 04 21 */ bctrl
/* 80294748 002903A8 93 DB 00 00 */ stw r30, 0(r27)
lbl_8029474C:
/* 8029474C 002903AC 3B BD 00 01 */ addi r29, r29, 1
/* 80294750 002903B0 3B 7B 00 04 */ addi r27, r27, 4
/* 80294754 002903B4 28 1D 00 03 */ cmplwi r29, 3
/* 80294758 002903B8 41 80 FF D8 */ blt lbl_80294730
/* 8029475C 002903BC 7F 83 E3 78 */ mr r3, r28
/* 80294760 002903C0 4B FD A0 25 */ bl OSRestoreInterrupts
/* 80294764 002903C4 7F E3 FB 78 */ mr r3, r31
/* 80294768 002903C8 4B FF FD 7D */ bl AXFXDelayInit
/* 8029476C 002903CC 2C 03 00 00 */ cmpwi r3, 0
/* 80294770 002903D0 40 82 00 64 */ bne lbl_802947D4
/* 80294774 002903D4 4B FD 9F E9 */ bl OSDisableInterrupts
/* 80294778 002903D8 80 1F 00 3C */ lwz r0, 0x3c(r31)
/* 8029477C 002903DC 7C 7D 1B 78 */ mr r29, r3
/* 80294780 002903E0 3B 80 00 00 */ li r28, 0
/* 80294784 002903E4 3B C0 00 00 */ li r30, 0
/* 80294788 002903E8 60 00 00 01 */ ori r0, r0, 1
/* 8029478C 002903EC 90 1F 00 3C */ stw r0, 0x3c(r31)
lbl_80294790:
/* 80294790 002903F0 80 7F 00 00 */ lwz r3, 0(r31)
/* 80294794 002903F4 2C 03 00 00 */ cmpwi r3, 0
/* 80294798 002903F8 41 82 00 14 */ beq lbl_802947AC
/* 8029479C 002903FC 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 802947A0 00290400 7D 89 03 A6 */ mtctr r12
/* 802947A4 00290404 4E 80 04 21 */ bctrl
/* 802947A8 00290408 93 DF 00 00 */ stw r30, 0(r31)
lbl_802947AC:
/* 802947AC 0029040C 3B 9C 00 01 */ addi r28, r28, 1
/* 802947B0 00290410 3B FF 00 04 */ addi r31, r31, 4
/* 802947B4 00290414 28 1C 00 03 */ cmplwi r28, 3
/* 802947B8 00290418 41 80 FF D8 */ blt lbl_80294790
/* 802947BC 0029041C 7F A3 EB 78 */ mr r3, r29
/* 802947C0 00290420 4B FD 9F C5 */ bl OSRestoreInterrupts
/* 802947C4 00290424 7F 43 D3 78 */ mr r3, r26
/* 802947C8 00290428 4B FD 9F BD */ bl OSRestoreInterrupts
/* 802947CC 0029042C 38 60 00 00 */ li r3, 0
/* 802947D0 00290430 48 00 00 20 */ b lbl_802947F0
lbl_802947D4:
/* 802947D4 00290434 80 1F 00 3C */ lwz r0, 0x3c(r31)
/* 802947D8 00290438 7F 43 D3 78 */ mr r3, r26
/* 802947DC 0029043C 60 00 00 02 */ ori r0, r0, 2
/* 802947E0 00290440 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 802947E4 00290444 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 802947E8 00290448 4B FD 9F 9D */ bl OSRestoreInterrupts
/* 802947EC 0029044C 38 60 00 01 */ li r3, 1
lbl_802947F0:
/* 802947F0 00290450 39 61 00 20 */ addi r11, r1, 0x20
/* 802947F4 00290454 4B F3 29 7D */ bl _restgpr_26
/* 802947F8 00290458 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802947FC 0029045C 7C 08 03 A6 */ mtlr r0
/* 80294800 00290460 38 21 00 20 */ addi r1, r1, 0x20
/* 80294804 00290464 4E 80 00 20 */ blr
.global AXFXDelayShutdown
AXFXDelayShutdown:
/* 80294808 00290468 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029480C 0029046C 7C 08 02 A6 */ mflr r0
/* 80294810 00290470 90 01 00 24 */ stw r0, 0x24(r1)
/* 80294814 00290474 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80294818 00290478 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8029481C 0029047C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80294820 00290480 93 81 00 10 */ stw r28, 0x10(r1)
/* 80294824 00290484 7C 7C 1B 78 */ mr r28, r3
/* 80294828 00290488 4B FD 9F 35 */ bl OSDisableInterrupts
/* 8029482C 0029048C 80 1C 00 3C */ lwz r0, 0x3c(r28)
/* 80294830 00290490 7C 7D 1B 78 */ mr r29, r3
/* 80294834 00290494 3B C0 00 00 */ li r30, 0
/* 80294838 00290498 3B E0 00 00 */ li r31, 0
/* 8029483C 0029049C 60 00 00 01 */ ori r0, r0, 1
/* 80294840 002904A0 90 1C 00 3C */ stw r0, 0x3c(r28)
lbl_80294844:
/* 80294844 002904A4 80 7C 00 00 */ lwz r3, 0(r28)
/* 80294848 002904A8 2C 03 00 00 */ cmpwi r3, 0
/* 8029484C 002904AC 41 82 00 14 */ beq lbl_80294860
/* 80294850 002904B0 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80294854 002904B4 7D 89 03 A6 */ mtctr r12
/* 80294858 002904B8 4E 80 04 21 */ bctrl
/* 8029485C 002904BC 93 FC 00 00 */ stw r31, 0(r28)
lbl_80294860:
/* 80294860 002904C0 3B DE 00 01 */ addi r30, r30, 1
/* 80294864 002904C4 3B 9C 00 04 */ addi r28, r28, 4
/* 80294868 002904C8 28 1E 00 03 */ cmplwi r30, 3
/* 8029486C 002904CC 41 80 FF D8 */ blt lbl_80294844
/* 80294870 002904D0 7F A3 EB 78 */ mr r3, r29
/* 80294874 002904D4 4B FD 9F 11 */ bl OSRestoreInterrupts
/* 80294878 002904D8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8029487C 002904DC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80294880 002904E0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80294884 002904E4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80294888 002904E8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8029488C 002904EC 7C 08 03 A6 */ mtlr r0
/* 80294890 002904F0 38 21 00 20 */ addi r1, r1, 0x20
/* 80294894 002904F4 4E 80 00 20 */ blr
.global AXFXDelayCallback
AXFXDelayCallback:
/* 80294898 002904F8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029489C 002904FC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802948A0 00290500 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802948A4 00290504 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802948A8 00290508 93 81 00 10 */ stw r28, 0x10(r1)
/* 802948AC 0029050C 80 04 00 3C */ lwz r0, 0x3c(r4)
/* 802948B0 00290510 2C 00 00 00 */ cmpwi r0, 0
/* 802948B4 00290514 41 82 00 10 */ beq lbl_802948C4
/* 802948B8 00290518 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 802948BC 0029051C 90 04 00 3C */ stw r0, 0x3c(r4)
/* 802948C0 00290520 48 00 01 40 */ b lbl_80294A00
lbl_802948C4:
/* 802948C4 00290524 38 00 00 60 */ li r0, 0x60
/* 802948C8 00290528 80 A3 00 00 */ lwz r5, 0(r3)
/* 802948CC 0029052C 80 C3 00 04 */ lwz r6, 4(r3)
/* 802948D0 00290530 39 60 00 00 */ li r11, 0
/* 802948D4 00290534 80 63 00 08 */ lwz r3, 8(r3)
/* 802948D8 00290538 7C 09 03 A6 */ mtctr r0
lbl_802948DC:
/* 802948DC 0029053C 80 04 00 0C */ lwz r0, 0xc(r4)
/* 802948E0 00290540 83 84 00 00 */ lwz r28, 0(r4)
/* 802948E4 00290544 54 1D 10 3A */ slwi r29, r0, 2
/* 802948E8 00290548 81 04 00 10 */ lwz r8, 0x10(r4)
/* 802948EC 0029054C 7C 1C E8 2E */ lwzx r0, r28, r29
/* 802948F0 00290550 80 E4 00 24 */ lwz r7, 0x24(r4)
/* 802948F4 00290554 55 1E 10 3A */ slwi r30, r8, 2
/* 802948F8 00290558 81 24 00 14 */ lwz r9, 0x14(r4)
/* 802948FC 0029055C 7D 00 39 D6 */ mullw r8, r0, r7
/* 80294900 00290560 80 E4 00 04 */ lwz r7, 4(r4)
/* 80294904 00290564 55 2C 10 3A */ slwi r12, r9, 2
/* 80294908 00290568 83 E4 00 08 */ lwz r31, 8(r4)
/* 8029490C 0029056C 81 45 00 00 */ lwz r10, 0(r5)
/* 80294910 00290570 7C E7 F0 2E */ lwzx r7, r7, r30
/* 80294914 00290574 7D 09 3E 70 */ srawi r9, r8, 7
/* 80294918 00290578 7D 1F 60 2E */ lwzx r8, r31, r12
/* 8029491C 0029057C 7D 2A 4A 14 */ add r9, r10, r9
/* 80294920 00290580 7D 3C E9 2E */ stwx r9, r28, r29
/* 80294924 00290584 81 44 00 28 */ lwz r10, 0x28(r4)
/* 80294928 00290588 81 24 00 10 */ lwz r9, 0x10(r4)
/* 8029492C 0029058C 7D 87 51 D6 */ mullw r12, r7, r10
/* 80294930 00290590 83 E6 00 00 */ lwz r31, 0(r6)
/* 80294934 00290594 81 44 00 04 */ lwz r10, 4(r4)
/* 80294938 00290598 55 29 10 3A */ slwi r9, r9, 2
/* 8029493C 0029059C 7D 8C 3E 70 */ srawi r12, r12, 7
/* 80294940 002905A0 7D 9F 62 14 */ add r12, r31, r12
/* 80294944 002905A4 7D 8A 49 2E */ stwx r12, r10, r9
/* 80294948 002905A8 81 44 00 2C */ lwz r10, 0x2c(r4)
/* 8029494C 002905AC 81 24 00 14 */ lwz r9, 0x14(r4)
/* 80294950 002905B0 7D 88 51 D6 */ mullw r12, r8, r10
/* 80294954 002905B4 83 E3 00 00 */ lwz r31, 0(r3)
/* 80294958 002905B8 81 44 00 08 */ lwz r10, 8(r4)
/* 8029495C 002905BC 55 29 10 3A */ slwi r9, r9, 2
/* 80294960 002905C0 7D 8C 3E 70 */ srawi r12, r12, 7
/* 80294964 002905C4 7D 9F 62 14 */ add r12, r31, r12
/* 80294968 002905C8 7D 8A 49 2E */ stwx r12, r10, r9
/* 8029496C 002905CC 81 44 00 0C */ lwz r10, 0xc(r4)
/* 80294970 002905D0 81 24 00 18 */ lwz r9, 0x18(r4)
/* 80294974 002905D4 39 4A 00 01 */ addi r10, r10, 1
/* 80294978 002905D8 7C 0A 48 40 */ cmplw r10, r9
/* 8029497C 002905DC 91 44 00 0C */ stw r10, 0xc(r4)
/* 80294980 002905E0 41 80 00 08 */ blt lbl_80294988
/* 80294984 002905E4 91 64 00 0C */ stw r11, 0xc(r4)
lbl_80294988:
/* 80294988 002905E8 81 44 00 10 */ lwz r10, 0x10(r4)
/* 8029498C 002905EC 81 24 00 1C */ lwz r9, 0x1c(r4)
/* 80294990 002905F0 39 4A 00 01 */ addi r10, r10, 1
/* 80294994 002905F4 7C 0A 48 40 */ cmplw r10, r9
/* 80294998 002905F8 91 44 00 10 */ stw r10, 0x10(r4)
/* 8029499C 002905FC 41 80 00 08 */ blt lbl_802949A4
/* 802949A0 00290600 91 64 00 10 */ stw r11, 0x10(r4)
lbl_802949A4:
/* 802949A4 00290604 81 44 00 14 */ lwz r10, 0x14(r4)
/* 802949A8 00290608 81 24 00 20 */ lwz r9, 0x20(r4)
/* 802949AC 0029060C 39 4A 00 01 */ addi r10, r10, 1
/* 802949B0 00290610 7C 0A 48 40 */ cmplw r10, r9
/* 802949B4 00290614 91 44 00 14 */ stw r10, 0x14(r4)
/* 802949B8 00290618 41 80 00 08 */ blt lbl_802949C0
/* 802949BC 0029061C 91 64 00 14 */ stw r11, 0x14(r4)
lbl_802949C0:
/* 802949C0 00290620 81 24 00 30 */ lwz r9, 0x30(r4)
/* 802949C4 00290624 7C 00 49 D6 */ mullw r0, r0, r9
/* 802949C8 00290628 7C 00 3E 70 */ srawi r0, r0, 7
/* 802949CC 0029062C 90 05 00 00 */ stw r0, 0(r5)
/* 802949D0 00290630 38 A5 00 04 */ addi r5, r5, 4
/* 802949D4 00290634 80 04 00 34 */ lwz r0, 0x34(r4)
/* 802949D8 00290638 7C 07 01 D6 */ mullw r0, r7, r0
/* 802949DC 0029063C 7C 00 3E 70 */ srawi r0, r0, 7
/* 802949E0 00290640 90 06 00 00 */ stw r0, 0(r6)
/* 802949E4 00290644 38 C6 00 04 */ addi r6, r6, 4
/* 802949E8 00290648 80 04 00 38 */ lwz r0, 0x38(r4)
/* 802949EC 0029064C 7C 08 01 D6 */ mullw r0, r8, r0
/* 802949F0 00290650 7C 00 3E 70 */ srawi r0, r0, 7
/* 802949F4 00290654 90 03 00 00 */ stw r0, 0(r3)
/* 802949F8 00290658 38 63 00 04 */ addi r3, r3, 4
/* 802949FC 0029065C 42 00 FE E0 */ bdnz lbl_802948DC
lbl_80294A00:
/* 80294A00 00290660 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80294A04 00290664 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80294A08 00290668 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80294A0C 0029066C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80294A10 00290670 38 21 00 20 */ addi r1, r1, 0x20
/* 80294A14 00290674 4E 80 00 20 */ blr
__InitParams:
/* 80294A18 00290678 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80294A1C 0029067C 7C 08 02 A6 */ mflr r0
/* 80294A20 00290680 90 01 00 74 */ stw r0, 0x74(r1)
/* 80294A24 00290684 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 80294A28 00290688 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 80294A2C 0029068C DB C1 00 50 */ stfd f30, 0x50(r1)
/* 80294A30 00290690 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 80294A34 00290694 DB A1 00 40 */ stfd f29, 0x40(r1)
/* 80294A38 00290698 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0
/* 80294A3C 0029069C CB A2 A2 D0 */ lfd f29, lbl_806428D0-_SDA2_BASE_(r2)
/* 80294A40 002906A0 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 80294A44 002906A4 3F E0 43 30 */ lis r31, 0x4330
/* 80294A48 002906A8 C3 C2 A2 C8 */ lfs f30, lbl_806428C8-_SDA2_BASE_(r2)
/* 80294A4C 002906AC 93 C1 00 38 */ stw r30, 0x38(r1)
/* 80294A50 002906B0 3B C0 00 00 */ li r30, 0
/* 80294A54 002906B4 C3 E2 A2 CC */ lfs f31, lbl_806428CC-_SDA2_BASE_(r2)
/* 80294A58 002906B8 93 A1 00 34 */ stw r29, 0x34(r1)
/* 80294A5C 002906BC 7C 7D 1B 78 */ mr r29, r3
/* 80294A60 002906C0 93 81 00 30 */ stw r28, 0x30(r1)
/* 80294A64 002906C4 3B 80 00 00 */ li r28, 0
lbl_80294A68:
/* 80294A68 002906C8 80 1D 00 4C */ lwz r0, 0x4c(r29)
/* 80294A6C 002906CC 28 00 00 64 */ cmplwi r0, 0x64
/* 80294A70 002906D0 41 80 00 0C */ blt lbl_80294A7C
/* 80294A74 002906D4 38 60 00 00 */ li r3, 0
/* 80294A78 002906D8 48 00 00 AC */ b lbl_80294B24
lbl_80294A7C:
/* 80294A7C 002906DC 80 1D 00 58 */ lwz r0, 0x58(r29)
/* 80294A80 002906E0 28 00 00 64 */ cmplwi r0, 0x64
/* 80294A84 002906E4 40 81 00 0C */ ble lbl_80294A90
/* 80294A88 002906E8 38 60 00 00 */ li r3, 0
/* 80294A8C 002906EC 48 00 00 98 */ b lbl_80294B24
lbl_80294A90:
/* 80294A90 002906F0 80 7D 00 00 */ lwz r3, 0(r29)
/* 80294A94 002906F4 2C 03 00 00 */ cmpwi r3, 0
/* 80294A98 002906F8 40 82 00 0C */ bne lbl_80294AA4
/* 80294A9C 002906FC 38 60 00 00 */ li r3, 0
/* 80294AA0 00290700 48 00 00 84 */ b lbl_80294B24
lbl_80294AA4:
/* 80294AA4 00290704 80 1D 00 18 */ lwz r0, 0x18(r29)
/* 80294AA8 00290708 38 80 00 00 */ li r4, 0
/* 80294AAC 0029070C 54 05 10 3A */ slwi r5, r0, 2
/* 80294AB0 00290710 4B D6 F6 55 */ bl memset
/* 80294AB4 00290714 93 DD 00 0C */ stw r30, 0xc(r29)
/* 80294AB8 00290718 3B 9C 00 01 */ addi r28, r28, 1
/* 80294ABC 0029071C 28 1C 00 03 */ cmplwi r28, 3
/* 80294AC0 00290720 80 1D 00 4C */ lwz r0, 0x4c(r29)
/* 80294AC4 00290724 93 E1 00 08 */ stw r31, 8(r1)
/* 80294AC8 00290728 90 01 00 0C */ stw r0, 0xc(r1)
/* 80294ACC 0029072C C8 01 00 08 */ lfd f0, 8(r1)
/* 80294AD0 00290730 93 E1 00 18 */ stw r31, 0x18(r1)
/* 80294AD4 00290734 EC 00 E8 28 */ fsubs f0, f0, f29
/* 80294AD8 00290738 EC 1E 00 32 */ fmuls f0, f30, f0
/* 80294ADC 0029073C EC 00 F8 24 */ fdivs f0, f0, f31
/* 80294AE0 00290740 FC 00 00 1E */ fctiwz f0, f0
/* 80294AE4 00290744 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 80294AE8 00290748 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80294AEC 0029074C 90 1D 00 24 */ stw r0, 0x24(r29)
/* 80294AF0 00290750 80 1D 00 58 */ lwz r0, 0x58(r29)
/* 80294AF4 00290754 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80294AF8 00290758 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 80294AFC 0029075C EC 00 E8 28 */ fsubs f0, f0, f29
/* 80294B00 00290760 EC 1E 00 32 */ fmuls f0, f30, f0
/* 80294B04 00290764 EC 00 F8 24 */ fdivs f0, f0, f31
/* 80294B08 00290768 FC 00 00 1E */ fctiwz f0, f0
/* 80294B0C 0029076C D8 01 00 20 */ stfd f0, 0x20(r1)
/* 80294B10 00290770 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80294B14 00290774 90 1D 00 30 */ stw r0, 0x30(r29)
/* 80294B18 00290778 3B BD 00 04 */ addi r29, r29, 4
/* 80294B1C 0029077C 41 80 FF 4C */ blt lbl_80294A68
/* 80294B20 00290780 38 60 00 01 */ li r3, 1
lbl_80294B24:
/* 80294B24 00290784 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 80294B28 00290788 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 80294B2C 0029078C E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 80294B30 00290790 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 80294B34 00290794 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0
/* 80294B38 00290798 CB A1 00 40 */ lfd f29, 0x40(r1)
/* 80294B3C 0029079C 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 80294B40 002907A0 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 80294B44 002907A4 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 80294B48 002907A8 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80294B4C 002907AC 83 81 00 30 */ lwz r28, 0x30(r1)
/* 80294B50 002907B0 7C 08 03 A6 */ mtlr r0
/* 80294B54 002907B4 38 21 00 70 */ addi r1, r1, 0x70
/* 80294B58 002907B8 4E 80 00 20 */ blr
|