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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global DCEnable
DCEnable:
/* 8026A614 00266274 7C 00 04 AC */ sync 0
/* 8026A618 00266278 7C 70 FA A6 */ mfspr r3, 0x3f0
/* 8026A61C 0026627C 60 63 40 00 */ ori r3, r3, 0x4000
/* 8026A620 00266280 7C 70 FB A6 */ mtspr 0x3f0, r3
/* 8026A624 00266284 4E 80 00 20 */ blr
.global DCInvalidateRange
DCInvalidateRange:
/* 8026A628 00266288 28 04 00 00 */ cmplwi r4, 0
/* 8026A62C 0026628C 4C 81 00 20 */ blelr
/* 8026A630 00266290 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 8026A634 00266294 7C 84 2A 14 */ add r4, r4, r5
/* 8026A638 00266298 38 84 00 1F */ addi r4, r4, 0x1f
/* 8026A63C 0026629C 54 84 D9 7E */ srwi r4, r4, 5
/* 8026A640 002662A0 7C 89 03 A6 */ mtctr r4
lbl_8026A644:
/* 8026A644 002662A4 7C 00 1B AC */ dcbi 0, r3
/* 8026A648 002662A8 38 63 00 20 */ addi r3, r3, 0x20
/* 8026A64C 002662AC 42 00 FF F8 */ bdnz lbl_8026A644
/* 8026A650 002662B0 4E 80 00 20 */ blr
.global DCFlushRange
DCFlushRange:
/* 8026A654 002662B4 28 04 00 00 */ cmplwi r4, 0
/* 8026A658 002662B8 4C 81 00 20 */ blelr
/* 8026A65C 002662BC 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 8026A660 002662C0 7C 84 2A 14 */ add r4, r4, r5
/* 8026A664 002662C4 38 84 00 1F */ addi r4, r4, 0x1f
/* 8026A668 002662C8 54 84 D9 7E */ srwi r4, r4, 5
/* 8026A66C 002662CC 7C 89 03 A6 */ mtctr r4
lbl_8026A670:
/* 8026A670 002662D0 7C 00 18 AC */ dcbf 0, r3
/* 8026A674 002662D4 38 63 00 20 */ addi r3, r3, 0x20
/* 8026A678 002662D8 42 00 FF F8 */ bdnz lbl_8026A670
/* 8026A67C 002662DC 44 00 00 02 */ sc
/* 8026A680 002662E0 4E 80 00 20 */ blr
.global DCStoreRange
DCStoreRange:
/* 8026A684 002662E4 28 04 00 00 */ cmplwi r4, 0
/* 8026A688 002662E8 4C 81 00 20 */ blelr
/* 8026A68C 002662EC 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 8026A690 002662F0 7C 84 2A 14 */ add r4, r4, r5
/* 8026A694 002662F4 38 84 00 1F */ addi r4, r4, 0x1f
/* 8026A698 002662F8 54 84 D9 7E */ srwi r4, r4, 5
/* 8026A69C 002662FC 7C 89 03 A6 */ mtctr r4
lbl_8026A6A0:
/* 8026A6A0 00266300 7C 00 18 6C */ dcbst 0, r3
/* 8026A6A4 00266304 38 63 00 20 */ addi r3, r3, 0x20
/* 8026A6A8 00266308 42 00 FF F8 */ bdnz lbl_8026A6A0
/* 8026A6AC 0026630C 44 00 00 02 */ sc
/* 8026A6B0 00266310 4E 80 00 20 */ blr
.global DCFlushRangeNoSync
DCFlushRangeNoSync:
/* 8026A6B4 00266314 28 04 00 00 */ cmplwi r4, 0
/* 8026A6B8 00266318 4C 81 00 20 */ blelr
/* 8026A6BC 0026631C 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 8026A6C0 00266320 7C 84 2A 14 */ add r4, r4, r5
/* 8026A6C4 00266324 38 84 00 1F */ addi r4, r4, 0x1f
/* 8026A6C8 00266328 54 84 D9 7E */ srwi r4, r4, 5
/* 8026A6CC 0026632C 7C 89 03 A6 */ mtctr r4
lbl_8026A6D0:
/* 8026A6D0 00266330 7C 00 18 AC */ dcbf 0, r3
/* 8026A6D4 00266334 38 63 00 20 */ addi r3, r3, 0x20
/* 8026A6D8 00266338 42 00 FF F8 */ bdnz lbl_8026A6D0
/* 8026A6DC 0026633C 4E 80 00 20 */ blr
.global DCStoreRangeNoSync
DCStoreRangeNoSync:
/* 8026A6E0 00266340 28 04 00 00 */ cmplwi r4, 0
/* 8026A6E4 00266344 4C 81 00 20 */ blelr
/* 8026A6E8 00266348 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 8026A6EC 0026634C 7C 84 2A 14 */ add r4, r4, r5
/* 8026A6F0 00266350 38 84 00 1F */ addi r4, r4, 0x1f
/* 8026A6F4 00266354 54 84 D9 7E */ srwi r4, r4, 5
/* 8026A6F8 00266358 7C 89 03 A6 */ mtctr r4
lbl_8026A6FC:
/* 8026A6FC 0026635C 7C 00 18 6C */ dcbst 0, r3
/* 8026A700 00266360 38 63 00 20 */ addi r3, r3, 0x20
/* 8026A704 00266364 42 00 FF F8 */ bdnz lbl_8026A6FC
/* 8026A708 00266368 4E 80 00 20 */ blr
.global DCZeroRange
DCZeroRange:
/* 8026A70C 0026636C 28 04 00 00 */ cmplwi r4, 0
/* 8026A710 00266370 4C 81 00 20 */ blelr
/* 8026A714 00266374 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 8026A718 00266378 7C 84 2A 14 */ add r4, r4, r5
/* 8026A71C 0026637C 38 84 00 1F */ addi r4, r4, 0x1f
/* 8026A720 00266380 54 84 D9 7E */ srwi r4, r4, 5
/* 8026A724 00266384 7C 89 03 A6 */ mtctr r4
lbl_8026A728:
/* 8026A728 00266388 7C 00 1F EC */ dcbz 0, r3
/* 8026A72C 0026638C 38 63 00 20 */ addi r3, r3, 0x20
/* 8026A730 00266390 42 00 FF F8 */ bdnz lbl_8026A728
/* 8026A734 00266394 4E 80 00 20 */ blr
.global ICInvalidateRange
ICInvalidateRange:
/* 8026A738 00266398 28 04 00 00 */ cmplwi r4, 0
/* 8026A73C 0026639C 4C 81 00 20 */ blelr
/* 8026A740 002663A0 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 8026A744 002663A4 7C 84 2A 14 */ add r4, r4, r5
/* 8026A748 002663A8 38 84 00 1F */ addi r4, r4, 0x1f
/* 8026A74C 002663AC 54 84 D9 7E */ srwi r4, r4, 5
/* 8026A750 002663B0 7C 89 03 A6 */ mtctr r4
lbl_8026A754:
/* 8026A754 002663B4 7C 00 1F AC */ icbi 0, r3
/* 8026A758 002663B8 38 63 00 20 */ addi r3, r3, 0x20
/* 8026A75C 002663BC 42 00 FF F8 */ bdnz lbl_8026A754
/* 8026A760 002663C0 7C 00 04 AC */ sync 0
/* 8026A764 002663C4 4C 00 01 2C */ isync
/* 8026A768 002663C8 4E 80 00 20 */ blr
.global ICFlashInvalidate
ICFlashInvalidate:
/* 8026A76C 002663CC 7C 70 FA A6 */ mfspr r3, 0x3f0
/* 8026A770 002663D0 60 63 08 00 */ ori r3, r3, 0x800
/* 8026A774 002663D4 7C 70 FB A6 */ mtspr 0x3f0, r3
/* 8026A778 002663D8 4E 80 00 20 */ blr
.global ICEnable
ICEnable:
/* 8026A77C 002663DC 4C 00 01 2C */ isync
/* 8026A780 002663E0 7C 70 FA A6 */ mfspr r3, 0x3f0
/* 8026A784 002663E4 60 63 80 00 */ ori r3, r3, 0x8000
/* 8026A788 002663E8 7C 70 FB A6 */ mtspr 0x3f0, r3
/* 8026A78C 002663EC 4E 80 00 20 */ blr
.global __LCEnable
__LCEnable:
/* 8026A790 002663F0 7C A0 00 A6 */ mfmsr r5
/* 8026A794 002663F4 60 A5 10 00 */ ori r5, r5, 0x1000
/* 8026A798 002663F8 7C A0 01 24 */ mtmsr r5
/* 8026A79C 002663FC 3C 60 80 00 */ lis r3, 0x80000020@ha
/* 8026A7A0 00266400 38 80 04 00 */ li r4, 0x400
/* 8026A7A4 00266404 7C 89 03 A6 */ mtctr r4
lbl_8026A7A8:
/* 8026A7A8 00266408 7C 00 1A 2C */ dcbt 0, r3
/* 8026A7AC 0026640C 7C 00 18 6C */ dcbst 0, r3
/* 8026A7B0 00266410 38 63 00 20 */ addi r3, r3, 0x80000020@l
/* 8026A7B4 00266414 42 00 FF F4 */ bdnz lbl_8026A7A8
/* 8026A7B8 00266418 7C 98 E2 A6 */ mfspr r4, 0x398
/* 8026A7BC 0026641C 64 84 10 0F */ oris r4, r4, 0x100f
/* 8026A7C0 00266420 7C 98 E3 A6 */ mtspr 0x398, r4
/* 8026A7C4 00266424 60 00 00 00 */ nop
/* 8026A7C8 00266428 60 00 00 00 */ nop
/* 8026A7CC 0026642C 60 00 00 00 */ nop
/* 8026A7D0 00266430 60 00 00 00 */ nop
/* 8026A7D4 00266434 60 00 00 00 */ nop
/* 8026A7D8 00266438 60 00 00 00 */ nop
/* 8026A7DC 0026643C 60 00 00 00 */ nop
/* 8026A7E0 00266440 60 00 00 00 */ nop
/* 8026A7E4 00266444 60 00 00 00 */ nop
/* 8026A7E8 00266448 60 00 00 00 */ nop
/* 8026A7EC 0026644C 60 00 00 00 */ nop
/* 8026A7F0 00266450 60 00 00 00 */ nop
/* 8026A7F4 00266454 3C 60 E0 00 */ lis r3, 0xE0000002@h
/* 8026A7F8 00266458 60 63 00 02 */ ori r3, r3, 0xE0000002@l
/* 8026A7FC 0026645C 7C 7F 83 A6 */ mtdbatl 3, r3
/* 8026A800 00266460 60 63 01 FE */ ori r3, r3, 0x1fe
/* 8026A804 00266464 7C 7E 83 A6 */ mtdbatu 3, r3
/* 8026A808 00266468 4C 00 01 2C */ isync
/* 8026A80C 0026646C 3C 60 E0 00 */ lis r3, 0xE0000020@ha
/* 8026A810 00266470 38 C0 02 00 */ li r6, 0x200
/* 8026A814 00266474 7C C9 03 A6 */ mtctr r6
/* 8026A818 00266478 38 C0 00 00 */ li r6, 0
lbl_8026A81C:
/* 8026A81C 0026647C 10 06 1F EC */ dcbz_l r6, r3
/* 8026A820 00266480 38 63 00 20 */ addi r3, r3, 0xE0000020@l
/* 8026A824 00266484 42 00 FF F8 */ bdnz lbl_8026A81C
/* 8026A828 00266488 60 00 00 00 */ nop
/* 8026A82C 0026648C 60 00 00 00 */ nop
/* 8026A830 00266490 60 00 00 00 */ nop
/* 8026A834 00266494 60 00 00 00 */ nop
/* 8026A838 00266498 60 00 00 00 */ nop
/* 8026A83C 0026649C 60 00 00 00 */ nop
/* 8026A840 002664A0 60 00 00 00 */ nop
/* 8026A844 002664A4 60 00 00 00 */ nop
/* 8026A848 002664A8 60 00 00 00 */ nop
/* 8026A84C 002664AC 60 00 00 00 */ nop
/* 8026A850 002664B0 60 00 00 00 */ nop
/* 8026A854 002664B4 60 00 00 00 */ nop
/* 8026A858 002664B8 4E 80 00 20 */ blr
.global LCEnable
LCEnable:
/* 8026A85C 002664BC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8026A860 002664C0 7C 08 02 A6 */ mflr r0
/* 8026A864 002664C4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8026A868 002664C8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8026A86C 002664CC 48 00 3E F1 */ bl OSDisableInterrupts
/* 8026A870 002664D0 7C 7F 1B 78 */ mr r31, r3
/* 8026A874 002664D4 4B FF FF 1D */ bl __LCEnable
/* 8026A878 002664D8 7F E3 FB 78 */ mr r3, r31
/* 8026A87C 002664DC 48 00 3F 09 */ bl OSRestoreInterrupts
/* 8026A880 002664E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8026A884 002664E4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8026A888 002664E8 7C 08 03 A6 */ mtlr r0
/* 8026A88C 002664EC 38 21 00 10 */ addi r1, r1, 0x10
/* 8026A890 002664F0 4E 80 00 20 */ blr
.global LCDisable
LCDisable:
/* 8026A894 002664F4 3C 60 E0 00 */ lis r3, 0xE0000020@ha
/* 8026A898 002664F8 38 80 02 00 */ li r4, 0x200
/* 8026A89C 002664FC 7C 89 03 A6 */ mtctr r4
lbl_8026A8A0:
/* 8026A8A0 00266500 7C 00 1B AC */ dcbi 0, r3
/* 8026A8A4 00266504 38 63 00 20 */ addi r3, r3, 0xE0000020@l
/* 8026A8A8 00266508 42 00 FF F8 */ bdnz lbl_8026A8A0
/* 8026A8AC 0026650C 7C 98 E2 A6 */ mfspr r4, 0x398
/* 8026A8B0 00266510 54 84 01 04 */ rlwinm r4, r4, 0, 4, 2
/* 8026A8B4 00266514 7C 98 E3 A6 */ mtspr 0x398, r4
/* 8026A8B8 00266518 4E 80 00 20 */ blr
.global LCStoreBlocks
LCStoreBlocks:
/* 8026A8BC 0026651C 54 A6 F6 FE */ rlwinm r6, r5, 0x1e, 0x1b, 0x1f
/* 8026A8C0 00266520 54 63 00 FE */ clrlwi r3, r3, 3
/* 8026A8C4 00266524 7C C6 1B 78 */ or r6, r6, r3
/* 8026A8C8 00266528 7C DA E3 A6 */ mtspr 0x39a, r6
/* 8026A8CC 0026652C 54 A6 17 3A */ rlwinm r6, r5, 2, 0x1c, 0x1d
/* 8026A8D0 00266530 7C C6 23 78 */ or r6, r6, r4
/* 8026A8D4 00266534 60 C6 00 02 */ ori r6, r6, 2
/* 8026A8D8 00266538 7C DB E3 A6 */ mtspr 0x39b, r6
/* 8026A8DC 0026653C 4E 80 00 20 */ blr
.global LCStoreData
LCStoreData:
/* 8026A8E0 00266540 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8026A8E4 00266544 7C 08 02 A6 */ mflr r0
/* 8026A8E8 00266548 90 01 00 24 */ stw r0, 0x24(r1)
/* 8026A8EC 0026654C 38 05 00 1F */ addi r0, r5, 0x1f
/* 8026A8F0 00266550 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8026A8F4 00266554 54 1F D9 7E */ srwi r31, r0, 5
/* 8026A8F8 00266558 38 1F 00 7F */ addi r0, r31, 0x7f
/* 8026A8FC 0026655C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8026A900 00266560 54 1E C9 FE */ srwi r30, r0, 7
/* 8026A904 00266564 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8026A908 00266568 7C 9D 23 78 */ mr r29, r4
/* 8026A90C 0026656C 93 81 00 10 */ stw r28, 0x10(r1)
/* 8026A910 00266570 7C 7C 1B 78 */ mr r28, r3
/* 8026A914 00266574 48 00 00 40 */ b lbl_8026A954
lbl_8026A918:
/* 8026A918 00266578 28 1F 00 80 */ cmplwi r31, 0x80
/* 8026A91C 0026657C 40 80 00 1C */ bge lbl_8026A938
/* 8026A920 00266580 7F 83 E3 78 */ mr r3, r28
/* 8026A924 00266584 7F A4 EB 78 */ mr r4, r29
/* 8026A928 00266588 7F E5 FB 78 */ mr r5, r31
/* 8026A92C 0026658C 4B FF FF 91 */ bl LCStoreBlocks
/* 8026A930 00266590 3B E0 00 00 */ li r31, 0
/* 8026A934 00266594 48 00 00 20 */ b lbl_8026A954
lbl_8026A938:
/* 8026A938 00266598 7F 83 E3 78 */ mr r3, r28
/* 8026A93C 0026659C 7F A4 EB 78 */ mr r4, r29
/* 8026A940 002665A0 38 A0 00 00 */ li r5, 0
/* 8026A944 002665A4 4B FF FF 79 */ bl LCStoreBlocks
/* 8026A948 002665A8 3B FF FF 80 */ addi r31, r31, -128
/* 8026A94C 002665AC 3B 9C 10 00 */ addi r28, r28, 0x1000
/* 8026A950 002665B0 3B BD 10 00 */ addi r29, r29, 0x1000
lbl_8026A954:
/* 8026A954 002665B4 2C 1F 00 00 */ cmpwi r31, 0
/* 8026A958 002665B8 40 82 FF C0 */ bne lbl_8026A918
/* 8026A95C 002665BC 7F C3 F3 78 */ mr r3, r30
/* 8026A960 002665C0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8026A964 002665C4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8026A968 002665C8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8026A96C 002665CC 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8026A970 002665D0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8026A974 002665D4 7C 08 03 A6 */ mtlr r0
/* 8026A978 002665D8 38 21 00 20 */ addi r1, r1, 0x20
/* 8026A97C 002665DC 4E 80 00 20 */ blr
.global LCQueueWait
LCQueueWait:
/* 8026A980 002665E0 7C 98 E2 A6 */ mfspr r4, 0x398
/* 8026A984 002665E4 54 84 47 3E */ rlwinm r4, r4, 8, 0x1c, 0x1f
/* 8026A988 002665E8 7C 04 18 00 */ cmpw r4, r3
/* 8026A98C 002665EC 41 81 FF F4 */ bgt LCQueueWait
/* 8026A990 002665F0 4E 80 00 20 */ blr
.global DMAErrorHandler
DMAErrorHandler:
/* 8026A994 002665F4 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 8026A998 002665F8 7C 08 02 A6 */ mflr r0
/* 8026A99C 002665FC 90 01 00 84 */ stw r0, 0x84(r1)
/* 8026A9A0 00266600 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 8026A9A4 00266604 93 C1 00 78 */ stw r30, 0x78(r1)
/* 8026A9A8 00266608 93 A1 00 74 */ stw r29, 0x74(r1)
/* 8026A9AC 0026660C 7C 9D 23 78 */ mr r29, r4
/* 8026A9B0 00266610 40 86 00 24 */ bne cr1, lbl_8026A9D4
/* 8026A9B4 00266614 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 8026A9B8 00266618 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 8026A9BC 0026661C D8 61 00 38 */ stfd f3, 0x38(r1)
/* 8026A9C0 00266620 D8 81 00 40 */ stfd f4, 0x40(r1)
/* 8026A9C4 00266624 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 8026A9C8 00266628 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 8026A9CC 0026662C D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 8026A9D0 00266630 D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_8026A9D4:
/* 8026A9D4 00266634 3F E0 80 42 */ lis r31, lbl_80426A60@ha
/* 8026A9D8 00266638 90 61 00 08 */ stw r3, 8(r1)
/* 8026A9DC 0026663C 3B FF 6A 60 */ addi r31, r31, lbl_80426A60@l
/* 8026A9E0 00266640 90 81 00 0C */ stw r4, 0xc(r1)
/* 8026A9E4 00266644 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8026A9E8 00266648 90 C1 00 14 */ stw r6, 0x14(r1)
/* 8026A9EC 0026664C 90 E1 00 18 */ stw r7, 0x18(r1)
/* 8026A9F0 00266650 91 01 00 1C */ stw r8, 0x1c(r1)
/* 8026A9F4 00266654 91 21 00 20 */ stw r9, 0x20(r1)
/* 8026A9F8 00266658 91 41 00 24 */ stw r10, 0x24(r1)
/* 8026A9FC 0026665C 4B FF D8 F9 */ bl PPCMfhid2
/* 8026AA00 00266660 7C 7E 1B 78 */ mr r30, r3
/* 8026AA04 00266664 38 7F 00 30 */ addi r3, r31, 0x30
/* 8026AA08 00266668 4C C6 31 82 */ crclr 6
/* 8026AA0C 0026666C 4B D9 D0 B9 */ bl OSReport
/* 8026AA10 00266670 80 BD 01 9C */ lwz r5, 0x19c(r29)
/* 8026AA14 00266674 7F C4 F3 78 */ mr r4, r30
/* 8026AA18 00266678 38 7F 00 48 */ addi r3, r31, 0x48
/* 8026AA1C 0026667C 4C C6 31 82 */ crclr 6
/* 8026AA20 00266680 4B D9 D0 A5 */ bl OSReport
/* 8026AA24 00266684 57 C0 02 17 */ rlwinm. r0, r30, 0, 8, 0xb
/* 8026AA28 00266688 41 82 00 10 */ beq lbl_8026AA38
/* 8026AA2C 0026668C 80 1D 01 9C */ lwz r0, 0x19c(r29)
/* 8026AA30 00266690 54 00 02 95 */ rlwinm. r0, r0, 0, 0xa, 0xa
/* 8026AA34 00266694 40 82 00 1C */ bne lbl_8026AA50
lbl_8026AA38:
/* 8026AA38 00266698 38 7F 00 68 */ addi r3, r31, 0x68
/* 8026AA3C 0026669C 4C C6 31 82 */ crclr 6
/* 8026AA40 002666A0 4B D9 D0 85 */ bl OSReport
/* 8026AA44 002666A4 7F A3 EB 78 */ mr r3, r29
/* 8026AA48 002666A8 48 00 07 29 */ bl OSDumpContext
/* 8026AA4C 002666AC 4B FF D8 1D */ bl PPCHalt
lbl_8026AA50:
/* 8026AA50 002666B0 38 7F 00 98 */ addi r3, r31, 0x98
/* 8026AA54 002666B4 4C C6 31 82 */ crclr 6
/* 8026AA58 002666B8 4B D9 D0 6D */ bl OSReport
/* 8026AA5C 002666BC 38 7F 00 D4 */ addi r3, r31, 0xd4
/* 8026AA60 002666C0 4C C6 31 82 */ crclr 6
/* 8026AA64 002666C4 4B D9 D0 61 */ bl OSReport
/* 8026AA68 002666C8 57 C0 02 11 */ rlwinm. r0, r30, 0, 8, 8
/* 8026AA6C 002666CC 41 82 00 10 */ beq lbl_8026AA7C
/* 8026AA70 002666D0 38 7F 01 0C */ addi r3, r31, 0x10c
/* 8026AA74 002666D4 4C C6 31 82 */ crclr 6
/* 8026AA78 002666D8 4B D9 D0 4D */ bl OSReport
lbl_8026AA7C:
/* 8026AA7C 002666DC 57 C0 02 53 */ rlwinm. r0, r30, 0, 9, 9
/* 8026AA80 002666E0 41 82 00 10 */ beq lbl_8026AA90
/* 8026AA84 002666E4 38 7F 01 4C */ addi r3, r31, 0x14c
/* 8026AA88 002666E8 4C C6 31 82 */ crclr 6
/* 8026AA8C 002666EC 4B D9 D0 39 */ bl OSReport
lbl_8026AA90:
/* 8026AA90 002666F0 57 C0 02 95 */ rlwinm. r0, r30, 0, 0xa, 0xa
/* 8026AA94 002666F4 41 82 00 10 */ beq lbl_8026AAA4
/* 8026AA98 002666F8 38 7F 01 78 */ addi r3, r31, 0x178
/* 8026AA9C 002666FC 4C C6 31 82 */ crclr 6
/* 8026AAA0 00266700 4B D9 D0 25 */ bl OSReport
lbl_8026AAA4:
/* 8026AAA4 00266704 57 C0 02 D7 */ rlwinm. r0, r30, 0, 0xb, 0xb
/* 8026AAA8 00266708 41 82 00 10 */ beq lbl_8026AAB8
/* 8026AAAC 0026670C 38 7F 01 98 */ addi r3, r31, 0x198
/* 8026AAB0 00266710 4C C6 31 82 */ crclr 6
/* 8026AAB4 00266714 4B D9 D0 11 */ bl OSReport
lbl_8026AAB8:
/* 8026AAB8 00266718 7F C3 F3 78 */ mr r3, r30
/* 8026AABC 0026671C 4B FF D8 41 */ bl PPCMthid2
/* 8026AAC0 00266720 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8026AAC4 00266724 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 8026AAC8 00266728 83 C1 00 78 */ lwz r30, 0x78(r1)
/* 8026AACC 0026672C 83 A1 00 74 */ lwz r29, 0x74(r1)
/* 8026AAD0 00266730 7C 08 03 A6 */ mtlr r0
/* 8026AAD4 00266734 38 21 00 80 */ addi r1, r1, 0x80
/* 8026AAD8 00266738 4E 80 00 20 */ blr
.global __OSCacheInit
__OSCacheInit:
/* 8026AADC 0026673C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8026AAE0 00266740 7C 08 02 A6 */ mflr r0
/* 8026AAE4 00266744 90 01 00 14 */ stw r0, 0x14(r1)
/* 8026AAE8 00266748 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8026AAEC 0026674C 3F E0 80 42 */ lis r31, lbl_80426A60@ha
/* 8026AAF0 00266750 3B FF 6A 60 */ addi r31, r31, lbl_80426A60@l
/* 8026AAF4 00266754 93 C1 00 08 */ stw r30, 8(r1)
/* 8026AAF8 00266758 4B FF D7 41 */ bl PPCMfhid0
/* 8026AAFC 0026675C 54 60 04 21 */ rlwinm. r0, r3, 0, 0x10, 0x10
/* 8026AB00 00266760 40 82 00 14 */ bne lbl_8026AB14
/* 8026AB04 00266764 4B FF FC 79 */ bl ICEnable
/* 8026AB08 00266768 38 7F 01 B4 */ addi r3, r31, 0x1b4
/* 8026AB0C 0026676C 4C C6 31 82 */ crclr 6
/* 8026AB10 00266770 48 00 C9 39 */ bl DBPrintf
lbl_8026AB14:
/* 8026AB14 00266774 4B FF D7 25 */ bl PPCMfhid0
/* 8026AB18 00266778 54 60 04 63 */ rlwinm. r0, r3, 0, 0x11, 0x11
/* 8026AB1C 0026677C 40 82 00 14 */ bne lbl_8026AB30
/* 8026AB20 00266780 4B FF FA F5 */ bl DCEnable
/* 8026AB24 00266784 38 7F 01 D0 */ addi r3, r31, 0x1d0
/* 8026AB28 00266788 4C C6 31 82 */ crclr 6
/* 8026AB2C 0026678C 48 00 C9 1D */ bl DBPrintf
lbl_8026AB30:
/* 8026AB30 00266790 4B FF D7 19 */ bl PPCMfl2cr
/* 8026AB34 00266794 54 60 00 01 */ rlwinm. r0, r3, 0, 0, 0
/* 8026AB38 00266798 40 82 00 A8 */ bne lbl_8026ABE0
/* 8026AB3C 0026679C 4B FF D6 ED */ bl PPCMfmsr
/* 8026AB40 002667A0 7C 7E 1B 78 */ mr r30, r3
/* 8026AB44 002667A4 7C 00 04 AC */ sync 0
/* 8026AB48 002667A8 38 60 00 30 */ li r3, 0x30
/* 8026AB4C 002667AC 4B FF D6 E5 */ bl PPCMtmsr
/* 8026AB50 002667B0 7C 00 04 AC */ sync 0
/* 8026AB54 002667B4 7C 00 04 AC */ sync 0
/* 8026AB58 002667B8 4B FF D6 F1 */ bl PPCMfl2cr
/* 8026AB5C 002667BC 54 63 00 7E */ clrlwi r3, r3, 1
/* 8026AB60 002667C0 4B FF D6 F1 */ bl PPCMtl2cr
/* 8026AB64 002667C4 7C 00 04 AC */ sync 0
/* 8026AB68 002667C8 7C 00 04 AC */ sync 0
/* 8026AB6C 002667CC 4B FF D6 DD */ bl PPCMfl2cr
/* 8026AB70 002667D0 54 63 00 7E */ clrlwi r3, r3, 1
/* 8026AB74 002667D4 4B FF D6 DD */ bl PPCMtl2cr
/* 8026AB78 002667D8 7C 00 04 AC */ sync 0
/* 8026AB7C 002667DC 4B FF D6 CD */ bl PPCMfl2cr
/* 8026AB80 002667E0 64 63 00 20 */ oris r3, r3, 0x20
/* 8026AB84 002667E4 4B FF D6 CD */ bl PPCMtl2cr
lbl_8026AB88:
/* 8026AB88 002667E8 4B FF D6 C1 */ bl PPCMfl2cr
/* 8026AB8C 002667EC 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 8026AB90 002667F0 40 82 FF F8 */ bne lbl_8026AB88
/* 8026AB94 002667F4 4B FF D6 B5 */ bl PPCMfl2cr
/* 8026AB98 002667F8 54 63 02 D2 */ rlwinm r3, r3, 0, 0xb, 9
/* 8026AB9C 002667FC 4B FF D6 B5 */ bl PPCMtl2cr
/* 8026ABA0 00266800 48 00 00 10 */ b lbl_8026ABB0
lbl_8026ABA4:
/* 8026ABA4 00266804 38 7F 00 00 */ addi r3, r31, 0
/* 8026ABA8 00266808 4C C6 31 82 */ crclr 6
/* 8026ABAC 0026680C 48 00 C8 9D */ bl DBPrintf
lbl_8026ABB0:
/* 8026ABB0 00266810 4B FF D6 99 */ bl PPCMfl2cr
/* 8026ABB4 00266814 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 8026ABB8 00266818 40 82 FF EC */ bne lbl_8026ABA4
/* 8026ABBC 0026681C 7F C3 F3 78 */ mr r3, r30
/* 8026ABC0 00266820 4B FF D6 71 */ bl PPCMtmsr
/* 8026ABC4 00266824 4B FF D6 85 */ bl PPCMfl2cr
/* 8026ABC8 00266828 64 60 80 00 */ oris r0, r3, 0x8000
/* 8026ABCC 0026682C 54 03 02 D2 */ rlwinm r3, r0, 0, 0xb, 9
/* 8026ABD0 00266830 4B FF D6 81 */ bl PPCMtl2cr
/* 8026ABD4 00266834 38 7F 01 EC */ addi r3, r31, 0x1ec
/* 8026ABD8 00266838 4C C6 31 82 */ crclr 6
/* 8026ABDC 0026683C 48 00 C8 6D */ bl DBPrintf
lbl_8026ABE0:
/* 8026ABE0 00266840 3C 80 80 27 */ lis r4, DMAErrorHandler@ha
/* 8026ABE4 00266844 38 60 00 01 */ li r3, 1
/* 8026ABE8 00266848 38 84 A9 94 */ addi r4, r4, DMAErrorHandler@l
/* 8026ABEC 0026684C 48 00 09 DD */ bl OSSetErrorHandler
/* 8026ABF0 00266850 38 7F 02 04 */ addi r3, r31, 0x204
/* 8026ABF4 00266854 4C C6 31 82 */ crclr 6
/* 8026ABF8 00266858 48 00 C8 51 */ bl DBPrintf
/* 8026ABFC 0026685C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8026AC00 00266860 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8026AC04 00266864 83 C1 00 08 */ lwz r30, 8(r1)
/* 8026AC08 00266868 7C 08 03 A6 */ mtlr r0
/* 8026AC0C 0026686C 38 21 00 10 */ addi r1, r1, 0x10
/* 8026AC10 00266870 4E 80 00 20 */ blr
|