summaryrefslogtreecommitdiff
path: root/asm/SDK/OS/OSMemory.s
blob: 093bbf525fc291639421a32f3674e3ca3c08a85f (plain)
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
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global OSGetPhysicalMem1Size
OSGetPhysicalMem1Size:
/* 8026F0FC 0026AD5C  3C 60 80 00 */	lis r3, 0x80003100@ha
/* 8026F100 0026AD60  80 63 31 00 */	lwz r3, 0x80003100@l(r3)
/* 8026F104 0026AD64  4E 80 00 20 */	blr

.global OSGetPhysicalMem2Size
OSGetPhysicalMem2Size:
/* 8026F108 0026AD68  3C 60 80 00 */	lis r3, 0x80003118@ha
/* 8026F10C 0026AD6C  80 63 31 18 */	lwz r3, 0x80003118@l(r3)
/* 8026F110 0026AD70  4E 80 00 20 */	blr

.global OSGetConsoleSimulatedMem1Size
OSGetConsoleSimulatedMem1Size:
/* 8026F114 0026AD74  3C 60 80 00 */	lis r3, 0x80003104@ha
/* 8026F118 0026AD78  80 63 31 04 */	lwz r3, 0x80003104@l(r3)
/* 8026F11C 0026AD7C  4E 80 00 20 */	blr

.global OSGetConsoleSimulatedMem2Size
OSGetConsoleSimulatedMem2Size:
/* 8026F120 0026AD80  3C 60 80 00 */	lis r3, 0x8000311C@ha
/* 8026F124 0026AD84  80 63 31 1C */	lwz r3, 0x8000311C@l(r3)
/* 8026F128 0026AD88  4E 80 00 20 */	blr

OnShutdown:
/* 8026F12C 0026AD8C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8026F130 0026AD90  7C 08 02 A6 */	mflr r0
/* 8026F134 0026AD94  2C 03 00 00 */	cmpwi r3, 0
/* 8026F138 0026AD98  90 01 00 14 */	stw r0, 0x14(r1)
/* 8026F13C 0026AD9C  41 82 00 18 */	beq lbl_8026F154
/* 8026F140 0026ADA0  38 00 00 FF */	li r0, 0xff
/* 8026F144 0026ADA4  3C 60 CC 00 */	lis r3, 0xCC004010@ha
/* 8026F148 0026ADA8  B0 03 40 10 */	sth r0, 0xCC004010@l(r3)
/* 8026F14C 0026ADAC  3C 60 F0 00 */	lis r3, 0xf000
/* 8026F150 0026ADB0  4B FF F9 9D */	bl __OSMaskInterrupts
lbl_8026F154:
/* 8026F154 0026ADB4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8026F158 0026ADB8  38 60 00 01 */	li r3, 1
/* 8026F15C 0026ADBC  7C 08 03 A6 */	mtlr r0
/* 8026F160 0026ADC0  38 21 00 10 */	addi r1, r1, 0x10
/* 8026F164 0026ADC4  4E 80 00 20 */	blr

.global MEMIntrruptHandler
MEMIntrruptHandler:
/* 8026F168 0026ADC8  3D 00 CC 00 */	lis r8, 0xCC00401E@ha
/* 8026F16C 0026ADCC  3C 60 80 50 */	lis r3, lbl_80503CF0@ha
/* 8026F170 0026ADD0  A0 A8 40 1E */	lhz r5, 0xCC00401E@l(r8)
/* 8026F174 0026ADD4  38 00 00 00 */	li r0, 0
/* 8026F178 0026ADD8  A0 E8 40 24 */	lhz r7, 0x4024(r8)
/* 8026F17C 0026ADDC  38 63 3C F0 */	addi r3, r3, lbl_80503CF0@l
/* 8026F180 0026ADE0  A0 C8 40 22 */	lhz r6, 0x4022(r8)
/* 8026F184 0026ADE4  50 E6 81 9E */	rlwimi r6, r7, 0x10, 6, 0xf
/* 8026F188 0026ADE8  B0 08 40 20 */	sth r0, 0x4020(r8)
/* 8026F18C 0026ADEC  81 83 00 3C */	lwz r12, 0x3c(r3)
/* 8026F190 0026ADF0  2C 0C 00 00 */	cmpwi r12, 0
/* 8026F194 0026ADF4  41 82 00 14 */	beq lbl_8026F1A8
/* 8026F198 0026ADF8  38 60 00 0F */	li r3, 0xf
/* 8026F19C 0026ADFC  4C C6 31 82 */	crclr 6
/* 8026F1A0 0026AE00  7D 89 03 A6 */	mtctr r12
/* 8026F1A4 0026AE04  4E 80 04 20 */	bctr
lbl_8026F1A8:
/* 8026F1A8 0026AE08  38 60 00 0F */	li r3, 0xf
/* 8026F1AC 0026AE0C  4B FF C6 A4 */	b __OSUnhandledException

.global ConfigMEM1_24MB
ConfigMEM1_24MB:
/* 8026F1B0 0026AE10  38 E0 00 00 */	li r7, 0
/* 8026F1B4 0026AE14  3C 80 00 00 */	lis r4, 0x00000002@ha
/* 8026F1B8 0026AE18  38 84 00 02 */	addi r4, r4, 0x00000002@l
/* 8026F1BC 0026AE1C  3C 60 80 00 */	lis r3, 0x800001FF@ha
/* 8026F1C0 0026AE20  38 63 01 FF */	addi r3, r3, 0x800001FF@l
/* 8026F1C4 0026AE24  3C C0 01 00 */	lis r6, 0x01000002@ha
/* 8026F1C8 0026AE28  38 C6 00 02 */	addi r6, r6, 0x01000002@l
/* 8026F1CC 0026AE2C  3C A0 81 00 */	lis r5, 0x810000FF@ha
/* 8026F1D0 0026AE30  38 A5 00 FF */	addi r5, r5, 0x810000FF@l
/* 8026F1D4 0026AE34  4C 00 01 2C */	isync
/* 8026F1D8 0026AE38  7C F8 83 A6 */	mtdbatu 0, r7
/* 8026F1DC 0026AE3C  7C 99 83 A6 */	mtdbatl 0, r4
/* 8026F1E0 0026AE40  7C 78 83 A6 */	mtdbatu 0, r3
/* 8026F1E4 0026AE44  4C 00 01 2C */	isync
/* 8026F1E8 0026AE48  7C F0 83 A6 */	mtibatu 0, r7
/* 8026F1EC 0026AE4C  7C 91 83 A6 */	mtibatl 0, r4
/* 8026F1F0 0026AE50  7C 70 83 A6 */	mtibatu 0, r3
/* 8026F1F4 0026AE54  4C 00 01 2C */	isync
/* 8026F1F8 0026AE58  7C FC 83 A6 */	mtdbatu 2, r7
/* 8026F1FC 0026AE5C  7C DD 83 A6 */	mtdbatl 2, r6
/* 8026F200 0026AE60  7C BC 83 A6 */	mtdbatu 2, r5
/* 8026F204 0026AE64  4C 00 01 2C */	isync
/* 8026F208 0026AE68  7C F4 83 A6 */	mtibatu 2, r7
/* 8026F20C 0026AE6C  7C D5 83 A6 */	mtibatl 2, r6
/* 8026F210 0026AE70  7C B4 83 A6 */	mtibatu 2, r5
/* 8026F214 0026AE74  4C 00 01 2C */	isync
/* 8026F218 0026AE78  7C 60 00 A6 */	mfmsr r3
/* 8026F21C 0026AE7C  60 63 00 30 */	ori r3, r3, 0x30
/* 8026F220 0026AE80  7C 7B 03 A6 */	mtspr 0x1b, r3
/* 8026F224 0026AE84  7C 68 02 A6 */	mflr r3
/* 8026F228 0026AE88  7C 7A 03 A6 */	mtspr 0x1a, r3
/* 8026F22C 0026AE8C  4C 00 00 64 */	rfi

.global ConfigMEM1_48MB
ConfigMEM1_48MB:
/* 8026F230 0026AE90  38 E0 00 00 */	li r7, 0
/* 8026F234 0026AE94  3C 80 00 00 */	lis r4, 0x00000002@ha
/* 8026F238 0026AE98  38 84 00 02 */	addi r4, r4, 0x00000002@l
/* 8026F23C 0026AE9C  3C 60 80 00 */	lis r3, 0x800003FF@ha
/* 8026F240 0026AEA0  38 63 03 FF */	addi r3, r3, 0x800003FF@l
/* 8026F244 0026AEA4  3C C0 02 00 */	lis r6, 0x02000002@ha
/* 8026F248 0026AEA8  38 C6 00 02 */	addi r6, r6, 0x02000002@l
/* 8026F24C 0026AEAC  3C A0 82 00 */	lis r5, 0x820001FF@ha
/* 8026F250 0026AEB0  38 A5 01 FF */	addi r5, r5, 0x820001FF@l
/* 8026F254 0026AEB4  4C 00 01 2C */	isync
/* 8026F258 0026AEB8  7C F8 83 A6 */	mtdbatu 0, r7
/* 8026F25C 0026AEBC  7C 99 83 A6 */	mtdbatl 0, r4
/* 8026F260 0026AEC0  7C 78 83 A6 */	mtdbatu 0, r3
/* 8026F264 0026AEC4  4C 00 01 2C */	isync
/* 8026F268 0026AEC8  7C F0 83 A6 */	mtibatu 0, r7
/* 8026F26C 0026AECC  7C 91 83 A6 */	mtibatl 0, r4
/* 8026F270 0026AED0  7C 70 83 A6 */	mtibatu 0, r3
/* 8026F274 0026AED4  4C 00 01 2C */	isync
/* 8026F278 0026AED8  7C FC 83 A6 */	mtdbatu 2, r7
/* 8026F27C 0026AEDC  7C DD 83 A6 */	mtdbatl 2, r6
/* 8026F280 0026AEE0  7C BC 83 A6 */	mtdbatu 2, r5
/* 8026F284 0026AEE4  4C 00 01 2C */	isync
/* 8026F288 0026AEE8  7C F4 83 A6 */	mtibatu 2, r7
/* 8026F28C 0026AEEC  7C D5 83 A6 */	mtibatl 2, r6
/* 8026F290 0026AEF0  7C B4 83 A6 */	mtibatu 2, r5
/* 8026F294 0026AEF4  4C 00 01 2C */	isync
/* 8026F298 0026AEF8  7C 60 00 A6 */	mfmsr r3
/* 8026F29C 0026AEFC  60 63 00 30 */	ori r3, r3, 0x30
/* 8026F2A0 0026AF00  7C 7B 03 A6 */	mtspr 0x1b, r3
/* 8026F2A4 0026AF04  7C 68 02 A6 */	mflr r3
/* 8026F2A8 0026AF08  7C 7A 03 A6 */	mtspr 0x1a, r3
/* 8026F2AC 0026AF0C  4C 00 00 64 */	rfi

.global ConfigMEM2_52MB
ConfigMEM2_52MB:
/* 8026F2B0 0026AF10  38 E0 00 00 */	li r7, 0
/* 8026F2B4 0026AF14  3C 80 10 00 */	lis r4, 0x10000002@ha
/* 8026F2B8 0026AF18  38 84 00 02 */	addi r4, r4, 0x10000002@l
/* 8026F2BC 0026AF1C  3C 60 90 00 */	lis r3, 0x900003FF@ha
/* 8026F2C0 0026AF20  38 63 03 FF */	addi r3, r3, 0x900003FF@l
/* 8026F2C4 0026AF24  3C C0 10 00 */	lis r6, 0x1000002A@ha
/* 8026F2C8 0026AF28  38 C6 00 2A */	addi r6, r6, 0x1000002A@l
/* 8026F2CC 0026AF2C  3C A0 D0 00 */	lis r5, 0xD00007FF@ha
/* 8026F2D0 0026AF30  38 A5 07 FF */	addi r5, r5, 0xD00007FF@l
/* 8026F2D4 0026AF34  4C 00 01 2C */	isync
/* 8026F2D8 0026AF38  7C F8 8B A6 */	mtspr 0x238, r7
/* 8026F2DC 0026AF3C  7C 99 8B A6 */	mtspr 0x239, r4
/* 8026F2E0 0026AF40  7C 78 8B A6 */	mtspr 0x238, r3
/* 8026F2E4 0026AF44  4C 00 01 2C */	isync
/* 8026F2E8 0026AF48  7C F0 8B A6 */	mtspr 0x230, r7
/* 8026F2EC 0026AF4C  7C 91 8B A6 */	mtspr 0x231, r4
/* 8026F2F0 0026AF50  7C 70 8B A6 */	mtspr 0x230, r3
/* 8026F2F4 0026AF54  4C 00 01 2C */	isync
/* 8026F2F8 0026AF58  7C FA 8B A6 */	mtspr 0x23a, r7
/* 8026F2FC 0026AF5C  7C DB 8B A6 */	mtspr 0x23b, r6
/* 8026F300 0026AF60  7C BA 8B A6 */	mtspr 0x23a, r5
/* 8026F304 0026AF64  4C 00 01 2C */	isync
/* 8026F308 0026AF68  7C F2 8B A6 */	mtspr 0x232, r7
/* 8026F30C 0026AF6C  7C F3 8B A6 */	mtspr 0x233, r7
/* 8026F310 0026AF70  4C 00 01 2C */	isync
/* 8026F314 0026AF74  3C 80 12 00 */	lis r4, 0x12000002@ha
/* 8026F318 0026AF78  38 84 00 02 */	addi r4, r4, 0x12000002@l
/* 8026F31C 0026AF7C  3C 60 92 00 */	lis r3, 0x920001FF@ha
/* 8026F320 0026AF80  38 63 01 FF */	addi r3, r3, 0x920001FF@l
/* 8026F324 0026AF84  3C C0 13 00 */	lis r6, 0x13000002@ha
/* 8026F328 0026AF88  38 C6 00 02 */	addi r6, r6, 0x13000002@l
/* 8026F32C 0026AF8C  3C A0 93 00 */	lis r5, 0x9300007F@ha
/* 8026F330 0026AF90  38 A5 00 7F */	addi r5, r5, 0x9300007F@l
/* 8026F334 0026AF94  4C 00 01 2C */	isync
/* 8026F338 0026AF98  7C FC 8B A6 */	mtspr 0x23c, r7
/* 8026F33C 0026AF9C  7C 9D 8B A6 */	mtspr 0x23d, r4
/* 8026F340 0026AFA0  7C 7C 8B A6 */	mtspr 0x23c, r3
/* 8026F344 0026AFA4  4C 00 01 2C */	isync
/* 8026F348 0026AFA8  7C F4 8B A6 */	mtspr 0x234, r7
/* 8026F34C 0026AFAC  7C 95 8B A6 */	mtspr 0x235, r4
/* 8026F350 0026AFB0  7C 74 8B A6 */	mtspr 0x234, r3
/* 8026F354 0026AFB4  4C 00 01 2C */	isync
/* 8026F358 0026AFB8  7C FE 8B A6 */	mtspr 0x23e, r7
/* 8026F35C 0026AFBC  7C DF 8B A6 */	mtspr 0x23f, r6
/* 8026F360 0026AFC0  7C BE 8B A6 */	mtspr 0x23e, r5
/* 8026F364 0026AFC4  4C 00 01 2C */	isync
/* 8026F368 0026AFC8  7C F6 8B A6 */	mtspr 0x236, r7
/* 8026F36C 0026AFCC  7C D7 8B A6 */	mtspr 0x237, r6
/* 8026F370 0026AFD0  7C B6 8B A6 */	mtspr 0x236, r5
/* 8026F374 0026AFD4  4C 00 01 2C */	isync
/* 8026F378 0026AFD8  7C 60 00 A6 */	mfmsr r3
/* 8026F37C 0026AFDC  60 63 00 30 */	ori r3, r3, 0x30
/* 8026F380 0026AFE0  7C 7B 03 A6 */	mtspr 0x1b, r3
/* 8026F384 0026AFE4  7C 68 02 A6 */	mflr r3
/* 8026F388 0026AFE8  7C 7A 03 A6 */	mtspr 0x1a, r3
/* 8026F38C 0026AFEC  4C 00 00 64 */	rfi

.global ConfigMEM2_56MB
ConfigMEM2_56MB:
/* 8026F390 0026AFF0  38 E0 00 00 */	li r7, 0
/* 8026F394 0026AFF4  3C 80 10 00 */	lis r4, 0x10000002@ha
/* 8026F398 0026AFF8  38 84 00 02 */	addi r4, r4, 0x10000002@l
/* 8026F39C 0026AFFC  3C 60 90 00 */	lis r3, 0x900003FF@ha
/* 8026F3A0 0026B000  38 63 03 FF */	addi r3, r3, 0x900003FF@l
/* 8026F3A4 0026B004  3C C0 10 00 */	lis r6, 0x1000002A@ha
/* 8026F3A8 0026B008  38 C6 00 2A */	addi r6, r6, 0x1000002A@l
/* 8026F3AC 0026B00C  3C A0 D0 00 */	lis r5, 0xD00007FF@ha
/* 8026F3B0 0026B010  38 A5 07 FF */	addi r5, r5, 0xD00007FF@l
/* 8026F3B4 0026B014  4C 00 01 2C */	isync
/* 8026F3B8 0026B018  7C F8 8B A6 */	mtspr 0x238, r7
/* 8026F3BC 0026B01C  7C 99 8B A6 */	mtspr 0x239, r4
/* 8026F3C0 0026B020  7C 78 8B A6 */	mtspr 0x238, r3
/* 8026F3C4 0026B024  4C 00 01 2C */	isync
/* 8026F3C8 0026B028  7C F0 8B A6 */	mtspr 0x230, r7
/* 8026F3CC 0026B02C  7C 91 8B A6 */	mtspr 0x231, r4
/* 8026F3D0 0026B030  7C 70 8B A6 */	mtspr 0x230, r3
/* 8026F3D4 0026B034  4C 00 01 2C */	isync
/* 8026F3D8 0026B038  7C FA 8B A6 */	mtspr 0x23a, r7
/* 8026F3DC 0026B03C  7C DB 8B A6 */	mtspr 0x23b, r6
/* 8026F3E0 0026B040  7C BA 8B A6 */	mtspr 0x23a, r5
/* 8026F3E4 0026B044  4C 00 01 2C */	isync
/* 8026F3E8 0026B048  7C F2 8B A6 */	mtspr 0x232, r7
/* 8026F3EC 0026B04C  7C F3 8B A6 */	mtspr 0x233, r7
/* 8026F3F0 0026B050  4C 00 01 2C */	isync
/* 8026F3F4 0026B054  3C 80 12 00 */	lis r4, 0x12000002@ha
/* 8026F3F8 0026B058  38 84 00 02 */	addi r4, r4, 0x12000002@l
/* 8026F3FC 0026B05C  3C 60 92 00 */	lis r3, 0x920001FF@ha
/* 8026F400 0026B060  38 63 01 FF */	addi r3, r3, 0x920001FF@l
/* 8026F404 0026B064  3C C0 13 00 */	lis r6, 0x13000002@ha
/* 8026F408 0026B068  38 C6 00 02 */	addi r6, r6, 0x13000002@l
/* 8026F40C 0026B06C  3C A0 93 00 */	lis r5, 0x930000FF@ha
/* 8026F410 0026B070  38 A5 00 FF */	addi r5, r5, 0x930000FF@l
/* 8026F414 0026B074  4C 00 01 2C */	isync
/* 8026F418 0026B078  7C FC 8B A6 */	mtspr 0x23c, r7
/* 8026F41C 0026B07C  7C 9D 8B A6 */	mtspr 0x23d, r4
/* 8026F420 0026B080  7C 7C 8B A6 */	mtspr 0x23c, r3
/* 8026F424 0026B084  4C 00 01 2C */	isync
/* 8026F428 0026B088  7C F4 8B A6 */	mtspr 0x234, r7
/* 8026F42C 0026B08C  7C 95 8B A6 */	mtspr 0x235, r4
/* 8026F430 0026B090  7C 74 8B A6 */	mtspr 0x234, r3
/* 8026F434 0026B094  4C 00 01 2C */	isync
/* 8026F438 0026B098  7C FE 8B A6 */	mtspr 0x23e, r7
/* 8026F43C 0026B09C  7C DF 8B A6 */	mtspr 0x23f, r6
/* 8026F440 0026B0A0  7C BE 8B A6 */	mtspr 0x23e, r5
/* 8026F444 0026B0A4  4C 00 01 2C */	isync
/* 8026F448 0026B0A8  7C F6 8B A6 */	mtspr 0x236, r7
/* 8026F44C 0026B0AC  7C D7 8B A6 */	mtspr 0x237, r6
/* 8026F450 0026B0B0  7C B6 8B A6 */	mtspr 0x236, r5
/* 8026F454 0026B0B4  4C 00 01 2C */	isync
/* 8026F458 0026B0B8  7C 60 00 A6 */	mfmsr r3
/* 8026F45C 0026B0BC  60 63 00 30 */	ori r3, r3, 0x30
/* 8026F460 0026B0C0  7C 7B 03 A6 */	mtspr 0x1b, r3
/* 8026F464 0026B0C4  7C 68 02 A6 */	mflr r3
/* 8026F468 0026B0C8  7C 7A 03 A6 */	mtspr 0x1a, r3
/* 8026F46C 0026B0CC  4C 00 00 64 */	rfi

.global ConfigMEM2_64MB
ConfigMEM2_64MB:
/* 8026F470 0026B0D0  38 E0 00 00 */	li r7, 0
/* 8026F474 0026B0D4  3C 80 10 00 */	lis r4, 0x10000002@ha
/* 8026F478 0026B0D8  38 84 00 02 */	addi r4, r4, 0x10000002@l
/* 8026F47C 0026B0DC  3C 60 90 00 */	lis r3, 0x900007FF@ha
/* 8026F480 0026B0E0  38 63 07 FF */	addi r3, r3, 0x900007FF@l
/* 8026F484 0026B0E4  3C C0 10 00 */	lis r6, 0x1000002A@ha
/* 8026F488 0026B0E8  38 C6 00 2A */	addi r6, r6, 0x1000002A@l
/* 8026F48C 0026B0EC  3C A0 D0 00 */	lis r5, 0xD00007FF@ha
/* 8026F490 0026B0F0  38 A5 07 FF */	addi r5, r5, 0xD00007FF@l
/* 8026F494 0026B0F4  4C 00 01 2C */	isync
/* 8026F498 0026B0F8  7C F8 8B A6 */	mtspr 0x238, r7
/* 8026F49C 0026B0FC  7C 99 8B A6 */	mtspr 0x239, r4
/* 8026F4A0 0026B100  7C 78 8B A6 */	mtspr 0x238, r3
/* 8026F4A4 0026B104  4C 00 01 2C */	isync
/* 8026F4A8 0026B108  7C F0 8B A6 */	mtspr 0x230, r7
/* 8026F4AC 0026B10C  7C 91 8B A6 */	mtspr 0x231, r4
/* 8026F4B0 0026B110  7C 70 8B A6 */	mtspr 0x230, r3
/* 8026F4B4 0026B114  4C 00 01 2C */	isync
/* 8026F4B8 0026B118  7C FA 8B A6 */	mtspr 0x23a, r7
/* 8026F4BC 0026B11C  7C DB 8B A6 */	mtspr 0x23b, r6
/* 8026F4C0 0026B120  7C BA 8B A6 */	mtspr 0x23a, r5
/* 8026F4C4 0026B124  4C 00 01 2C */	isync
/* 8026F4C8 0026B128  7C F2 8B A6 */	mtspr 0x232, r7
/* 8026F4CC 0026B12C  7C F3 8B A6 */	mtspr 0x233, r7
/* 8026F4D0 0026B130  4C 00 01 2C */	isync
/* 8026F4D4 0026B134  7C F4 8B A6 */	mtspr 0x234, r7
/* 8026F4D8 0026B138  7C F5 8B A6 */	mtspr 0x235, r7
/* 8026F4DC 0026B13C  4C 00 01 2C */	isync
/* 8026F4E0 0026B140  7C F6 8B A6 */	mtspr 0x236, r7
/* 8026F4E4 0026B144  7C F7 8B A6 */	mtspr 0x237, r7
/* 8026F4E8 0026B148  4C 00 01 2C */	isync
/* 8026F4EC 0026B14C  7C FC 8B A6 */	mtspr 0x23c, r7
/* 8026F4F0 0026B150  7C FD 8B A6 */	mtspr 0x23d, r7
/* 8026F4F4 0026B154  4C 00 01 2C */	isync
/* 8026F4F8 0026B158  7C FE 8B A6 */	mtspr 0x23e, r7
/* 8026F4FC 0026B15C  7C FF 8B A6 */	mtspr 0x23f, r7
/* 8026F500 0026B160  4C 00 01 2C */	isync
/* 8026F504 0026B164  7C 60 00 A6 */	mfmsr r3
/* 8026F508 0026B168  60 63 00 30 */	ori r3, r3, 0x30
/* 8026F50C 0026B16C  7C 7B 03 A6 */	mtspr 0x1b, r3
/* 8026F510 0026B170  7C 68 02 A6 */	mflr r3
/* 8026F514 0026B174  7C 7A 03 A6 */	mtspr 0x1a, r3
/* 8026F518 0026B178  4C 00 00 64 */	rfi

.global ConfigMEM2_112MB
ConfigMEM2_112MB:
/* 8026F51C 0026B17C  38 E0 00 00 */	li r7, 0
/* 8026F520 0026B180  3C 80 10 00 */	lis r4, 0x10000002@ha
/* 8026F524 0026B184  38 84 00 02 */	addi r4, r4, 0x10000002@l
/* 8026F528 0026B188  3C 60 90 00 */	lis r3, 0x900007FF@ha
/* 8026F52C 0026B18C  38 63 07 FF */	addi r3, r3, 0x900007FF@l
/* 8026F530 0026B190  3C C0 10 00 */	lis r6, 0x1000002A@ha
/* 8026F534 0026B194  38 C6 00 2A */	addi r6, r6, 0x1000002A@l
/* 8026F538 0026B198  3C A0 D0 00 */	lis r5, 0xD0000FFF@ha
/* 8026F53C 0026B19C  38 A5 0F FF */	addi r5, r5, 0xD0000FFF@l
/* 8026F540 0026B1A0  4C 00 01 2C */	isync
/* 8026F544 0026B1A4  7C F8 8B A6 */	mtspr 0x238, r7
/* 8026F548 0026B1A8  7C 99 8B A6 */	mtspr 0x239, r4
/* 8026F54C 0026B1AC  7C 78 8B A6 */	mtspr 0x238, r3
/* 8026F550 0026B1B0  4C 00 01 2C */	isync
/* 8026F554 0026B1B4  7C F0 8B A6 */	mtspr 0x230, r7
/* 8026F558 0026B1B8  7C 91 8B A6 */	mtspr 0x231, r4
/* 8026F55C 0026B1BC  7C 70 8B A6 */	mtspr 0x230, r3
/* 8026F560 0026B1C0  4C 00 01 2C */	isync
/* 8026F564 0026B1C4  7C FA 8B A6 */	mtspr 0x23a, r7
/* 8026F568 0026B1C8  7C DB 8B A6 */	mtspr 0x23b, r6
/* 8026F56C 0026B1CC  7C BA 8B A6 */	mtspr 0x23a, r5
/* 8026F570 0026B1D0  4C 00 01 2C */	isync
/* 8026F574 0026B1D4  7C F2 8B A6 */	mtspr 0x232, r7
/* 8026F578 0026B1D8  7C F3 8B A6 */	mtspr 0x233, r7
/* 8026F57C 0026B1DC  4C 00 01 2C */	isync
/* 8026F580 0026B1E0  3C 80 14 00 */	lis r4, 0x14000002@ha
/* 8026F584 0026B1E4  38 84 00 02 */	addi r4, r4, 0x14000002@l
/* 8026F588 0026B1E8  3C 60 94 00 */	lis r3, 0x940003FF@ha
/* 8026F58C 0026B1EC  38 63 03 FF */	addi r3, r3, 0x940003FF@l
/* 8026F590 0026B1F0  3C C0 16 00 */	lis r6, 0x16000002@ha
/* 8026F594 0026B1F4  38 C6 00 02 */	addi r6, r6, 0x16000002@l
/* 8026F598 0026B1F8  3C A0 96 00 */	lis r5, 0x960001FF@ha
/* 8026F59C 0026B1FC  38 A5 01 FF */	addi r5, r5, 0x960001FF@l
/* 8026F5A0 0026B200  4C 00 01 2C */	isync
/* 8026F5A4 0026B204  7C FC 8B A6 */	mtspr 0x23c, r7
/* 8026F5A8 0026B208  7C 9D 8B A6 */	mtspr 0x23d, r4
/* 8026F5AC 0026B20C  7C 7C 8B A6 */	mtspr 0x23c, r3
/* 8026F5B0 0026B210  4C 00 01 2C */	isync
/* 8026F5B4 0026B214  7C F4 8B A6 */	mtspr 0x234, r7
/* 8026F5B8 0026B218  7C 95 8B A6 */	mtspr 0x235, r4
/* 8026F5BC 0026B21C  7C 74 8B A6 */	mtspr 0x234, r3
/* 8026F5C0 0026B220  4C 00 01 2C */	isync
/* 8026F5C4 0026B224  7C FE 8B A6 */	mtspr 0x23e, r7
/* 8026F5C8 0026B228  7C DF 8B A6 */	mtspr 0x23f, r6
/* 8026F5CC 0026B22C  7C BE 8B A6 */	mtspr 0x23e, r5
/* 8026F5D0 0026B230  4C 00 01 2C */	isync
/* 8026F5D4 0026B234  7C F6 8B A6 */	mtspr 0x236, r7
/* 8026F5D8 0026B238  7C D7 8B A6 */	mtspr 0x237, r6
/* 8026F5DC 0026B23C  7C B6 8B A6 */	mtspr 0x236, r5
/* 8026F5E0 0026B240  4C 00 01 2C */	isync
/* 8026F5E4 0026B244  7C 60 00 A6 */	mfmsr r3
/* 8026F5E8 0026B248  60 63 00 30 */	ori r3, r3, 0x30
/* 8026F5EC 0026B24C  7C 7B 03 A6 */	mtspr 0x1b, r3
/* 8026F5F0 0026B250  7C 68 02 A6 */	mflr r3
/* 8026F5F4 0026B254  7C 7A 03 A6 */	mtspr 0x1a, r3
/* 8026F5F8 0026B258  4C 00 00 64 */	rfi

.global ConfigMEM2_128MB
ConfigMEM2_128MB:
/* 8026F5FC 0026B25C  38 E0 00 00 */	li r7, 0
/* 8026F600 0026B260  3C 80 10 00 */	lis r4, 0x10000002@ha
/* 8026F604 0026B264  38 84 00 02 */	addi r4, r4, 0x10000002@l
/* 8026F608 0026B268  3C 60 90 00 */	lis r3, 0x90000FFF@ha
/* 8026F60C 0026B26C  38 63 0F FF */	addi r3, r3, 0x90000FFF@l
/* 8026F610 0026B270  3C C0 10 00 */	lis r6, 0x1000002A@ha
/* 8026F614 0026B274  38 C6 00 2A */	addi r6, r6, 0x1000002A@l
/* 8026F618 0026B278  3C A0 D0 00 */	lis r5, 0xD0000FFF@ha
/* 8026F61C 0026B27C  38 A5 0F FF */	addi r5, r5, 0xD0000FFF@l
/* 8026F620 0026B280  4C 00 01 2C */	isync
/* 8026F624 0026B284  7C F8 8B A6 */	mtspr 0x238, r7
/* 8026F628 0026B288  7C 99 8B A6 */	mtspr 0x239, r4
/* 8026F62C 0026B28C  7C 78 8B A6 */	mtspr 0x238, r3
/* 8026F630 0026B290  4C 00 01 2C */	isync
/* 8026F634 0026B294  7C F0 8B A6 */	mtspr 0x230, r7
/* 8026F638 0026B298  7C 91 8B A6 */	mtspr 0x231, r4
/* 8026F63C 0026B29C  7C 70 8B A6 */	mtspr 0x230, r3
/* 8026F640 0026B2A0  4C 00 01 2C */	isync
/* 8026F644 0026B2A4  7C FA 8B A6 */	mtspr 0x23a, r7
/* 8026F648 0026B2A8  7C DB 8B A6 */	mtspr 0x23b, r6
/* 8026F64C 0026B2AC  7C BA 8B A6 */	mtspr 0x23a, r5
/* 8026F650 0026B2B0  4C 00 01 2C */	isync
/* 8026F654 0026B2B4  7C F2 8B A6 */	mtspr 0x232, r7
/* 8026F658 0026B2B8  7C F3 8B A6 */	mtspr 0x233, r7
/* 8026F65C 0026B2BC  4C 00 01 2C */	isync
/* 8026F660 0026B2C0  7C F4 8B A6 */	mtspr 0x234, r7
/* 8026F664 0026B2C4  7C F5 8B A6 */	mtspr 0x235, r7
/* 8026F668 0026B2C8  4C 00 01 2C */	isync
/* 8026F66C 0026B2CC  7C F6 8B A6 */	mtspr 0x236, r7
/* 8026F670 0026B2D0  7C F7 8B A6 */	mtspr 0x237, r7
/* 8026F674 0026B2D4  4C 00 01 2C */	isync
/* 8026F678 0026B2D8  7C FC 8B A6 */	mtspr 0x23c, r7
/* 8026F67C 0026B2DC  7C FD 8B A6 */	mtspr 0x23d, r7
/* 8026F680 0026B2E0  4C 00 01 2C */	isync
/* 8026F684 0026B2E4  7C FE 8B A6 */	mtspr 0x23e, r7
/* 8026F688 0026B2E8  7C FF 8B A6 */	mtspr 0x23f, r7
/* 8026F68C 0026B2EC  4C 00 01 2C */	isync
/* 8026F690 0026B2F0  7C 60 00 A6 */	mfmsr r3
/* 8026F694 0026B2F4  60 63 00 30 */	ori r3, r3, 0x30
/* 8026F698 0026B2F8  7C 7B 03 A6 */	mtspr 0x1b, r3
/* 8026F69C 0026B2FC  7C 68 02 A6 */	mflr r3
/* 8026F6A0 0026B300  7C 7A 03 A6 */	mtspr 0x1a, r3
/* 8026F6A4 0026B304  4C 00 00 64 */	rfi

.global ConfigMEM_ES1_0
ConfigMEM_ES1_0:
/* 8026F6A8 0026B308  38 E0 00 00 */	li r7, 0
/* 8026F6AC 0026B30C  3C 80 00 00 */	lis r4, 0x00000002@ha
/* 8026F6B0 0026B310  38 84 00 02 */	addi r4, r4, 0x00000002@l
/* 8026F6B4 0026B314  3C 60 80 00 */	lis r3, 0x80000FFF@ha
/* 8026F6B8 0026B318  38 63 0F FF */	addi r3, r3, 0x80000FFF@l
/* 8026F6BC 0026B31C  4C 00 01 2C */	isync
/* 8026F6C0 0026B320  7C F8 83 A6 */	mtdbatu 0, r7
/* 8026F6C4 0026B324  7C 99 83 A6 */	mtdbatl 0, r4
/* 8026F6C8 0026B328  7C 78 83 A6 */	mtdbatu 0, r3
/* 8026F6CC 0026B32C  4C 00 01 2C */	isync
/* 8026F6D0 0026B330  7C F0 83 A6 */	mtibatu 0, r7
/* 8026F6D4 0026B334  7C 91 83 A6 */	mtibatl 0, r4
/* 8026F6D8 0026B338  7C 70 83 A6 */	mtibatu 0, r3
/* 8026F6DC 0026B33C  4C 00 01 2C */	isync
/* 8026F6E0 0026B340  7C 60 00 A6 */	mfmsr r3
/* 8026F6E4 0026B344  60 63 00 30 */	ori r3, r3, 0x30
/* 8026F6E8 0026B348  7C 7B 03 A6 */	mtspr 0x1b, r3
/* 8026F6EC 0026B34C  7C 68 02 A6 */	mflr r3
/* 8026F6F0 0026B350  7C 7A 03 A6 */	mtspr 0x1a, r3
/* 8026F6F4 0026B354  4C 00 00 64 */	rfi

.global RealMode
RealMode:
/* 8026F6F8 0026B358  54 63 00 BE */	clrlwi r3, r3, 2
/* 8026F6FC 0026B35C  7C 7A 03 A6 */	mtspr 0x1a, r3
/* 8026F700 0026B360  7C 60 00 A6 */	mfmsr r3
/* 8026F704 0026B364  54 63 07 32 */	rlwinm r3, r3, 0, 0x1c, 0x19
/* 8026F708 0026B368  7C 7B 03 A6 */	mtspr 0x1b, r3
/* 8026F70C 0026B36C  4C 00 00 64 */	rfi

.global BATConfig
BATConfig:
/* 8026F710 0026B370  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8026F714 0026B374  7C 08 02 A6 */	mflr r0
/* 8026F718 0026B378  3C 60 80 00 */	lis r3, 0x80003138@ha
/* 8026F71C 0026B37C  90 01 00 14 */	stw r0, 0x14(r1)
/* 8026F720 0026B380  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8026F724 0026B384  80 03 31 38 */	lwz r0, 0x80003138@l(r3)
/* 8026F728 0026B388  2C 00 00 00 */	cmpwi r0, 0
/* 8026F72C 0026B38C  40 82 00 20 */	bne lbl_8026F74C
/* 8026F730 0026B390  3C 00 80 27 */	lis r0, 0x8027
/* 8026F734 0026B394  34 00 F0 FC */	addic. r0, r0, -3844
/* 8026F738 0026B398  40 82 00 14 */	bne lbl_8026F74C
/* 8026F73C 0026B39C  3C 60 80 27 */	lis r3, ConfigMEM_ES1_0@ha
/* 8026F740 0026B3A0  38 63 F6 A8 */	addi r3, r3, ConfigMEM_ES1_0@l
/* 8026F744 0026B3A4  4B FF FF B5 */	bl RealMode
/* 8026F748 0026B3A8  48 00 01 04 */	b lbl_8026F84C
lbl_8026F74C:
/* 8026F74C 0026B3AC  3C 60 80 00 */	lis r3, 0x80003104@ha
/* 8026F750 0026B3B0  83 E3 31 04 */	lwz r31, 0x80003104@l(r3)
/* 8026F754 0026B3B4  80 03 31 00 */	lwz r0, 0x3100(r3)
/* 8026F758 0026B3B8  7C 1F 00 40 */	cmplw r31, r0
/* 8026F75C 0026B3BC  40 80 00 28 */	bge lbl_8026F784
/* 8026F760 0026B3C0  3C 1F FE 80 */	addis r0, r31, 0xfe80
/* 8026F764 0026B3C4  28 00 00 00 */	cmplwi r0, 0
/* 8026F768 0026B3C8  40 82 00 1C */	bne lbl_8026F784
/* 8026F76C 0026B3CC  3C 60 81 80 */	lis r3, 0x8180
/* 8026F770 0026B3D0  3C 80 01 80 */	lis r4, 0x180
/* 8026F774 0026B3D4  4B FF AE B5 */	bl DCInvalidateRange
/* 8026F778 0026B3D8  38 00 00 02 */	li r0, 2
/* 8026F77C 0026B3DC  3C 60 CC 00 */	lis r3, 0xCC004028@ha
/* 8026F780 0026B3E0  B0 03 40 28 */	sth r0, 0xCC004028@l(r3)
lbl_8026F784:
/* 8026F784 0026B3E4  3C 00 01 80 */	lis r0, 0x180
/* 8026F788 0026B3E8  7C 1F 00 40 */	cmplw r31, r0
/* 8026F78C 0026B3EC  41 81 00 14 */	bgt lbl_8026F7A0
/* 8026F790 0026B3F0  3C 60 80 27 */	lis r3, ConfigMEM1_24MB@ha
/* 8026F794 0026B3F4  38 63 F1 B0 */	addi r3, r3, ConfigMEM1_24MB@l
/* 8026F798 0026B3F8  4B FF FF 61 */	bl RealMode
/* 8026F79C 0026B3FC  48 00 00 1C */	b lbl_8026F7B8
lbl_8026F7A0:
/* 8026F7A0 0026B400  3C 00 03 00 */	lis r0, 0x300
/* 8026F7A4 0026B404  7C 1F 00 40 */	cmplw r31, r0
/* 8026F7A8 0026B408  41 81 00 10 */	bgt lbl_8026F7B8
/* 8026F7AC 0026B40C  3C 60 80 27 */	lis r3, ConfigMEM1_48MB@ha
/* 8026F7B0 0026B410  38 63 F2 30 */	addi r3, r3, ConfigMEM1_48MB@l
/* 8026F7B4 0026B414  4B FF FF 45 */	bl RealMode
lbl_8026F7B8:
/* 8026F7B8 0026B418  3C 60 80 00 */	lis r3, 0x8000311C@ha
/* 8026F7BC 0026B41C  3C 00 04 00 */	lis r0, 0x400
/* 8026F7C0 0026B420  80 83 31 1C */	lwz r4, 0x8000311C@l(r3)
/* 8026F7C4 0026B424  80 63 31 20 */	lwz r3, 0x3120(r3)
/* 8026F7C8 0026B428  7C 04 00 40 */	cmplw r4, r0
/* 8026F7CC 0026B42C  41 81 00 4C */	bgt lbl_8026F818
/* 8026F7D0 0026B430  3C 00 93 40 */	lis r0, 0x9340
/* 8026F7D4 0026B434  7C 03 00 40 */	cmplw r3, r0
/* 8026F7D8 0026B438  41 81 00 14 */	bgt lbl_8026F7EC
/* 8026F7DC 0026B43C  3C 60 80 27 */	lis r3, ConfigMEM2_52MB@ha
/* 8026F7E0 0026B440  38 63 F2 B0 */	addi r3, r3, ConfigMEM2_52MB@l
/* 8026F7E4 0026B444  4B FF FF 15 */	bl RealMode
/* 8026F7E8 0026B448  48 00 00 64 */	b lbl_8026F84C
lbl_8026F7EC:
/* 8026F7EC 0026B44C  3C 00 93 80 */	lis r0, 0x9380
/* 8026F7F0 0026B450  7C 03 00 40 */	cmplw r3, r0
/* 8026F7F4 0026B454  41 81 00 14 */	bgt lbl_8026F808
/* 8026F7F8 0026B458  3C 60 80 27 */	lis r3, ConfigMEM2_56MB@ha
/* 8026F7FC 0026B45C  38 63 F3 90 */	addi r3, r3, ConfigMEM2_56MB@l
/* 8026F800 0026B460  4B FF FE F9 */	bl RealMode
/* 8026F804 0026B464  48 00 00 48 */	b lbl_8026F84C
lbl_8026F808:
/* 8026F808 0026B468  3C 60 80 27 */	lis r3, ConfigMEM2_64MB@ha
/* 8026F80C 0026B46C  38 63 F4 70 */	addi r3, r3, ConfigMEM2_64MB@l
/* 8026F810 0026B470  4B FF FE E9 */	bl RealMode
/* 8026F814 0026B474  48 00 00 38 */	b lbl_8026F84C
lbl_8026F818:
/* 8026F818 0026B478  3C 00 08 00 */	lis r0, 0x800
/* 8026F81C 0026B47C  7C 04 00 40 */	cmplw r4, r0
/* 8026F820 0026B480  41 81 00 2C */	bgt lbl_8026F84C
/* 8026F824 0026B484  3C 00 97 00 */	lis r0, 0x9700
/* 8026F828 0026B488  7C 03 00 40 */	cmplw r3, r0
/* 8026F82C 0026B48C  41 81 00 14 */	bgt lbl_8026F840
/* 8026F830 0026B490  3C 60 80 27 */	lis r3, ConfigMEM2_112MB@ha
/* 8026F834 0026B494  38 63 F5 1C */	addi r3, r3, ConfigMEM2_112MB@l
/* 8026F838 0026B498  4B FF FE C1 */	bl RealMode
/* 8026F83C 0026B49C  48 00 00 10 */	b lbl_8026F84C
lbl_8026F840:
/* 8026F840 0026B4A0  3C 60 80 27 */	lis r3, ConfigMEM2_128MB@ha
/* 8026F844 0026B4A4  38 63 F5 FC */	addi r3, r3, ConfigMEM2_128MB@l
/* 8026F848 0026B4A8  4B FF FE B1 */	bl RealMode
lbl_8026F84C:
/* 8026F84C 0026B4AC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8026F850 0026B4B0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8026F854 0026B4B4  7C 08 03 A6 */	mtlr r0
/* 8026F858 0026B4B8  38 21 00 10 */	addi r1, r1, 0x10
/* 8026F85C 0026B4BC  4E 80 00 20 */	blr

.global __OSInitMemoryProtection
__OSInitMemoryProtection:
/* 8026F860 0026B4C0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8026F864 0026B4C4  7C 08 02 A6 */	mflr r0
/* 8026F868 0026B4C8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8026F86C 0026B4CC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8026F870 0026B4D0  93 C1 00 08 */	stw r30, 8(r1)
/* 8026F874 0026B4D4  4B FF EE E9 */	bl OSDisableInterrupts
/* 8026F878 0026B4D8  3C 80 CC 00 */	lis r4, 0xCC004020@ha
/* 8026F87C 0026B4DC  38 00 00 00 */	li r0, 0
/* 8026F880 0026B4E0  B0 04 40 20 */	sth r0, 0xCC004020@l(r4)
/* 8026F884 0026B4E4  38 00 00 FF */	li r0, 0xff
/* 8026F888 0026B4E8  7C 7E 1B 78 */	mr r30, r3
/* 8026F88C 0026B4EC  3C 60 F0 00 */	lis r3, 0xf000
/* 8026F890 0026B4F0  B0 04 40 10 */	sth r0, 0x4010(r4)
/* 8026F894 0026B4F4  4B FF F2 59 */	bl __OSMaskInterrupts
/* 8026F898 0026B4F8  3F E0 80 27 */	lis r31, MEMIntrruptHandler@ha
/* 8026F89C 0026B4FC  38 60 00 00 */	li r3, 0
/* 8026F8A0 0026B500  38 9F F1 68 */	addi r4, r31, MEMIntrruptHandler@l
/* 8026F8A4 0026B504  4B FF EF 05 */	bl __OSSetInterruptHandler
/* 8026F8A8 0026B508  38 9F F1 68 */	addi r4, r31, -3736
/* 8026F8AC 0026B50C  38 60 00 01 */	li r3, 1
/* 8026F8B0 0026B510  4B FF EE F9 */	bl __OSSetInterruptHandler
/* 8026F8B4 0026B514  38 9F F1 68 */	addi r4, r31, -3736
/* 8026F8B8 0026B518  38 60 00 02 */	li r3, 2
/* 8026F8BC 0026B51C  4B FF EE ED */	bl __OSSetInterruptHandler
/* 8026F8C0 0026B520  38 9F F1 68 */	addi r4, r31, -3736
/* 8026F8C4 0026B524  38 60 00 03 */	li r3, 3
/* 8026F8C8 0026B528  4B FF EE E1 */	bl __OSSetInterruptHandler
/* 8026F8CC 0026B52C  38 9F F1 68 */	addi r4, r31, -3736
/* 8026F8D0 0026B530  38 60 00 04 */	li r3, 4
/* 8026F8D4 0026B534  4B FF EE D5 */	bl __OSSetInterruptHandler
/* 8026F8D8 0026B538  3C 60 80 42 */	lis r3, lbl_80427D08@ha
/* 8026F8DC 0026B53C  38 63 7D 08 */	addi r3, r3, lbl_80427D08@l
/* 8026F8E0 0026B540  48 00 03 B1 */	bl OSRegisterShutdownFunction
/* 8026F8E4 0026B544  4B FF FE 2D */	bl BATConfig
/* 8026F8E8 0026B548  3C 60 08 00 */	lis r3, 0x800
/* 8026F8EC 0026B54C  4B FF F2 81 */	bl __OSUnmaskInterrupts
/* 8026F8F0 0026B550  7F C3 F3 78 */	mr r3, r30
/* 8026F8F4 0026B554  4B FF EE 91 */	bl OSRestoreInterrupts
/* 8026F8F8 0026B558  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8026F8FC 0026B55C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8026F900 0026B560  83 C1 00 08 */	lwz r30, 8(r1)
/* 8026F904 0026B564  7C 08 03 A6 */	mtlr r0
/* 8026F908 0026B568  38 21 00 10 */	addi r1, r1, 0x10
/* 8026F90C 0026B56C  4E 80 00 20 */	blr