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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global OSSetResetCallback
OSSetResetCallback:
/* 802730CC 0026ED2C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802730D0 0026ED30 7C 08 02 A6 */ mflr r0
/* 802730D4 0026ED34 90 01 00 24 */ stw r0, 0x24(r1)
/* 802730D8 0026ED38 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802730DC 0026ED3C 7C 7F 1B 78 */ mr r31, r3
/* 802730E0 0026ED40 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802730E4 0026ED44 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802730E8 0026ED48 4B FF B6 75 */ bl OSDisableInterrupts
/* 802730EC 0026ED4C 80 0D A8 50 */ lwz r0, lbl_8063FB10-_SDA_BASE_(r13)
/* 802730F0 0026ED50 7C 7E 1B 78 */ mr r30, r3
/* 802730F4 0026ED54 83 AD A8 5C */ lwz r29, lbl_8063FB1C-_SDA_BASE_(r13)
/* 802730F8 0026ED58 2C 00 00 00 */ cmpwi r0, 0
/* 802730FC 0026ED5C 93 ED A8 5C */ stw r31, lbl_8063FB1C-_SDA_BASE_(r13)
/* 80273100 0026ED60 40 82 00 60 */ bne lbl_80273160
/* 80273104 0026ED64 4B FF B6 59 */ bl OSDisableInterrupts
/* 80273108 0026ED68 7C 7F 1B 78 */ mr r31, r3
/* 8027310C 0026ED6C 3C A0 80 51 */ lis r5, lbl_805151E0@ha
/* 80273110 0026ED70 3C E0 80 51 */ lis r7, lbl_80515200@ha
/* 80273114 0026ED74 3D 20 80 27 */ lis r9, __OSStateEventHandler@ha
/* 80273118 0026ED78 80 6D A8 4C */ lwz r3, lbl_8063FB0C-_SDA_BASE_(r13)
/* 8027311C 0026ED7C 38 A5 51 E0 */ addi r5, r5, lbl_805151E0@l
/* 80273120 0026ED80 38 E7 52 00 */ addi r7, r7, lbl_80515200@l
/* 80273124 0026ED84 39 29 36 BC */ addi r9, r9, __OSStateEventHandler@l
/* 80273128 0026ED88 38 80 10 00 */ li r4, 0x1000
/* 8027312C 0026ED8C 38 C0 00 20 */ li r6, 0x20
/* 80273130 0026ED90 39 00 00 20 */ li r8, 0x20
/* 80273134 0026ED94 39 40 00 00 */ li r10, 0
/* 80273138 0026ED98 48 03 08 81 */ bl IOS_IoctlAsync
/* 8027313C 0026ED9C 2C 03 00 00 */ cmpwi r3, 0
/* 80273140 0026EDA0 40 82 00 10 */ bne lbl_80273150
/* 80273144 0026EDA4 38 00 00 01 */ li r0, 1
/* 80273148 0026EDA8 90 0D A8 50 */ stw r0, lbl_8063FB10-_SDA_BASE_(r13)
/* 8027314C 0026EDAC 48 00 00 0C */ b lbl_80273158
lbl_80273150:
/* 80273150 0026EDB0 38 00 00 00 */ li r0, 0
/* 80273154 0026EDB4 90 0D A8 50 */ stw r0, lbl_8063FB10-_SDA_BASE_(r13)
lbl_80273158:
/* 80273158 0026EDB8 7F E3 FB 78 */ mr r3, r31
/* 8027315C 0026EDBC 4B FF B6 29 */ bl OSRestoreInterrupts
lbl_80273160:
/* 80273160 0026EDC0 7F C3 F3 78 */ mr r3, r30
/* 80273164 0026EDC4 4B FF B6 21 */ bl OSRestoreInterrupts
/* 80273168 0026EDC8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8027316C 0026EDCC 7F A3 EB 78 */ mr r3, r29
/* 80273170 0026EDD0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80273174 0026EDD4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80273178 0026EDD8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8027317C 0026EDDC 7C 08 03 A6 */ mtlr r0
/* 80273180 0026EDE0 38 21 00 20 */ addi r1, r1, 0x20
/* 80273184 0026EDE4 4E 80 00 20 */ blr
.global OSSetPowerCallback
OSSetPowerCallback:
/* 80273188 0026EDE8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8027318C 0026EDEC 7C 08 02 A6 */ mflr r0
/* 80273190 0026EDF0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80273194 0026EDF4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80273198 0026EDF8 7C 7F 1B 78 */ mr r31, r3
/* 8027319C 0026EDFC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802731A0 0026EE00 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802731A4 0026EE04 4B FF B5 B9 */ bl OSDisableInterrupts
/* 802731A8 0026EE08 80 0D A8 50 */ lwz r0, lbl_8063FB10-_SDA_BASE_(r13)
/* 802731AC 0026EE0C 7C 7E 1B 78 */ mr r30, r3
/* 802731B0 0026EE10 83 AD A8 58 */ lwz r29, lbl_8063FB18-_SDA_BASE_(r13)
/* 802731B4 0026EE14 2C 00 00 00 */ cmpwi r0, 0
/* 802731B8 0026EE18 93 ED A8 58 */ stw r31, lbl_8063FB18-_SDA_BASE_(r13)
/* 802731BC 0026EE1C 40 82 00 60 */ bne lbl_8027321C
/* 802731C0 0026EE20 4B FF B5 9D */ bl OSDisableInterrupts
/* 802731C4 0026EE24 7C 7F 1B 78 */ mr r31, r3
/* 802731C8 0026EE28 3C A0 80 51 */ lis r5, lbl_805151E0@ha
/* 802731CC 0026EE2C 3C E0 80 51 */ lis r7, lbl_80515200@ha
/* 802731D0 0026EE30 3D 20 80 27 */ lis r9, __OSStateEventHandler@ha
/* 802731D4 0026EE34 80 6D A8 4C */ lwz r3, lbl_8063FB0C-_SDA_BASE_(r13)
/* 802731D8 0026EE38 38 A5 51 E0 */ addi r5, r5, lbl_805151E0@l
/* 802731DC 0026EE3C 38 E7 52 00 */ addi r7, r7, lbl_80515200@l
/* 802731E0 0026EE40 39 29 36 BC */ addi r9, r9, __OSStateEventHandler@l
/* 802731E4 0026EE44 38 80 10 00 */ li r4, 0x1000
/* 802731E8 0026EE48 38 C0 00 20 */ li r6, 0x20
/* 802731EC 0026EE4C 39 00 00 20 */ li r8, 0x20
/* 802731F0 0026EE50 39 40 00 00 */ li r10, 0
/* 802731F4 0026EE54 48 03 07 C5 */ bl IOS_IoctlAsync
/* 802731F8 0026EE58 2C 03 00 00 */ cmpwi r3, 0
/* 802731FC 0026EE5C 40 82 00 10 */ bne lbl_8027320C
/* 80273200 0026EE60 38 00 00 01 */ li r0, 1
/* 80273204 0026EE64 90 0D A8 50 */ stw r0, lbl_8063FB10-_SDA_BASE_(r13)
/* 80273208 0026EE68 48 00 00 0C */ b lbl_80273214
lbl_8027320C:
/* 8027320C 0026EE6C 38 00 00 00 */ li r0, 0
/* 80273210 0026EE70 90 0D A8 50 */ stw r0, lbl_8063FB10-_SDA_BASE_(r13)
lbl_80273214:
/* 80273214 0026EE74 7F E3 FB 78 */ mr r3, r31
/* 80273218 0026EE78 4B FF B5 6D */ bl OSRestoreInterrupts
lbl_8027321C:
/* 8027321C 0026EE7C 7F C3 F3 78 */ mr r3, r30
/* 80273220 0026EE80 4B FF B5 65 */ bl OSRestoreInterrupts
/* 80273224 0026EE84 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80273228 0026EE88 7F A3 EB 78 */ mr r3, r29
/* 8027322C 0026EE8C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80273230 0026EE90 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80273234 0026EE94 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80273238 0026EE98 7C 08 03 A6 */ mtlr r0
/* 8027323C 0026EE9C 38 21 00 20 */ addi r1, r1, 0x20
/* 80273240 0026EEA0 4E 80 00 20 */ blr
# could also be OSGetResetSwitchState
.global OSGetResetButtonState
OSGetResetButtonState:
/* 80273244 0026EEA4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80273248 0026EEA8 7C 08 02 A6 */ mflr r0
/* 8027324C 0026EEAC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80273250 0026EEB0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80273254 0026EEB4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80273258 0026EEB8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8027325C 0026EEBC 4B FF B5 01 */ bl OSDisableInterrupts
/* 80273260 0026EEC0 83 AD A8 40 */ lwz r29, lbl_8063FB00-_SDA_BASE_(r13)
/* 80273264 0026EEC4 3B E0 00 00 */ li r31, 0
/* 80273268 0026EEC8 93 ED A8 40 */ stw r31, lbl_8063FB00-_SDA_BASE_(r13)
/* 8027326C 0026EECC 4B FF B5 19 */ bl OSRestoreInterrupts
/* 80273270 0026EED0 80 0D A8 50 */ lwz r0, lbl_8063FB10-_SDA_BASE_(r13)
/* 80273274 0026EED4 2C 00 00 00 */ cmpwi r0, 0
/* 80273278 0026EED8 40 82 00 5C */ bne lbl_802732D4
/* 8027327C 0026EEDC 4B FF B4 E1 */ bl OSDisableInterrupts
/* 80273280 0026EEE0 7C 7E 1B 78 */ mr r30, r3
/* 80273284 0026EEE4 3C A0 80 51 */ lis r5, lbl_805151E0@ha
/* 80273288 0026EEE8 3C E0 80 51 */ lis r7, lbl_80515200@ha
/* 8027328C 0026EEEC 3D 20 80 27 */ lis r9, __OSStateEventHandler@ha
/* 80273290 0026EEF0 80 6D A8 4C */ lwz r3, lbl_8063FB0C-_SDA_BASE_(r13)
/* 80273294 0026EEF4 38 A5 51 E0 */ addi r5, r5, lbl_805151E0@l
/* 80273298 0026EEF8 38 E7 52 00 */ addi r7, r7, lbl_80515200@l
/* 8027329C 0026EEFC 39 29 36 BC */ addi r9, r9, __OSStateEventHandler@l
/* 802732A0 0026EF00 38 80 10 00 */ li r4, 0x1000
/* 802732A4 0026EF04 38 C0 00 20 */ li r6, 0x20
/* 802732A8 0026EF08 39 00 00 20 */ li r8, 0x20
/* 802732AC 0026EF0C 39 40 00 00 */ li r10, 0
/* 802732B0 0026EF10 48 03 07 09 */ bl IOS_IoctlAsync
/* 802732B4 0026EF14 2C 03 00 00 */ cmpwi r3, 0
/* 802732B8 0026EF18 40 82 00 10 */ bne lbl_802732C8
/* 802732BC 0026EF1C 38 00 00 01 */ li r0, 1
/* 802732C0 0026EF20 90 0D A8 50 */ stw r0, lbl_8063FB10-_SDA_BASE_(r13)
/* 802732C4 0026EF24 48 00 00 08 */ b lbl_802732CC
lbl_802732C8:
/* 802732C8 0026EF28 93 ED A8 50 */ stw r31, lbl_8063FB10-_SDA_BASE_(r13)
lbl_802732CC:
/* 802732CC 0026EF2C 7F C3 F3 78 */ mr r3, r30
/* 802732D0 0026EF30 4B FF B4 B5 */ bl OSRestoreInterrupts
lbl_802732D4:
/* 802732D4 0026EF34 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802732D8 0026EF38 7F A3 EB 78 */ mr r3, r29
/* 802732DC 0026EF3C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802732E0 0026EF40 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802732E4 0026EF44 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802732E8 0026EF48 7C 08 03 A6 */ mtlr r0
/* 802732EC 0026EF4C 38 21 00 20 */ addi r1, r1, 0x20
/* 802732F0 0026EF50 4E 80 00 20 */ blr
.global __OSInitSTM
__OSInitSTM:
/* 802732F4 0026EF54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802732F8 0026EF58 7C 08 02 A6 */ mflr r0
/* 802732FC 0026EF5C 3C 80 80 27 */ lis r4, __OSDefaultPowerCallback@ha
/* 80273300 0026EF60 3C 60 80 27 */ lis r3, __OSDefaultResetCallback@ha
/* 80273304 0026EF64 90 01 00 14 */ stw r0, 0x14(r1)
/* 80273308 0026EF68 38 84 36 B8 */ addi r4, r4, __OSDefaultPowerCallback@l
/* 8027330C 0026EF6C 38 63 36 B4 */ addi r3, r3, __OSDefaultResetCallback@l
/* 80273310 0026EF70 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80273314 0026EF74 3B E0 00 00 */ li r31, 0
/* 80273318 0026EF78 93 C1 00 08 */ stw r30, 8(r1)
/* 8027331C 0026EF7C 80 0D A8 44 */ lwz r0, lbl_8063FB04-_SDA_BASE_(r13)
/* 80273320 0026EF80 90 8D A8 58 */ stw r4, lbl_8063FB18-_SDA_BASE_(r13)
/* 80273324 0026EF84 2C 00 00 00 */ cmpwi r0, 0
/* 80273328 0026EF88 90 6D A8 5C */ stw r3, lbl_8063FB1C-_SDA_BASE_(r13)
/* 8027332C 0026EF8C 93 ED A8 40 */ stw r31, lbl_8063FB00-_SDA_BASE_(r13)
/* 80273330 0026EF90 41 82 00 0C */ beq lbl_8027333C
/* 80273334 0026EF94 38 60 00 01 */ li r3, 1
/* 80273338 0026EF98 48 00 00 BC */ b lbl_802733F4
lbl_8027333C:
/* 8027333C 0026EF9C 3C 60 80 43 */ lis r3, lbl_80433C68@ha
/* 80273340 0026EFA0 93 ED A8 54 */ stw r31, lbl_8063FB14-_SDA_BASE_(r13)
/* 80273344 0026EFA4 38 80 00 00 */ li r4, 0
/* 80273348 0026EFA8 38 63 3C 68 */ addi r3, r3, lbl_80433C68@l
/* 8027334C 0026EFAC 48 02 FE 0D */ bl IOS_Open
/* 80273350 0026EFB0 2C 03 00 00 */ cmpwi r3, 0
/* 80273354 0026EFB4 90 6D A8 48 */ stw r3, lbl_8063FB08-_SDA_BASE_(r13)
/* 80273358 0026EFB8 40 80 00 10 */ bge lbl_80273368
/* 8027335C 0026EFBC 93 ED A8 44 */ stw r31, lbl_8063FB04-_SDA_BASE_(r13)
/* 80273360 0026EFC0 38 60 00 00 */ li r3, 0
/* 80273364 0026EFC4 48 00 00 90 */ b lbl_802733F4
lbl_80273368:
/* 80273368 0026EFC8 3C 60 80 43 */ lis r3, lbl_80433C7C@ha
/* 8027336C 0026EFCC 38 80 00 00 */ li r4, 0
/* 80273370 0026EFD0 38 63 3C 7C */ addi r3, r3, lbl_80433C7C@l
/* 80273374 0026EFD4 48 02 FD E5 */ bl IOS_Open
/* 80273378 0026EFD8 2C 03 00 00 */ cmpwi r3, 0
/* 8027337C 0026EFDC 90 6D A8 4C */ stw r3, lbl_8063FB0C-_SDA_BASE_(r13)
/* 80273380 0026EFE0 40 80 00 10 */ bge lbl_80273390
/* 80273384 0026EFE4 93 ED A8 44 */ stw r31, lbl_8063FB04-_SDA_BASE_(r13)
/* 80273388 0026EFE8 38 60 00 00 */ li r3, 0
/* 8027338C 0026EFEC 48 00 00 68 */ b lbl_802733F4
lbl_80273390:
/* 80273390 0026EFF0 4B FF B3 CD */ bl OSDisableInterrupts
/* 80273394 0026EFF4 7C 7E 1B 78 */ mr r30, r3
/* 80273398 0026EFF8 3C A0 80 51 */ lis r5, lbl_805151E0@ha
/* 8027339C 0026EFFC 3C E0 80 51 */ lis r7, lbl_80515200@ha
/* 802733A0 0026F000 3D 20 80 27 */ lis r9, __OSStateEventHandler@ha
/* 802733A4 0026F004 80 6D A8 4C */ lwz r3, lbl_8063FB0C-_SDA_BASE_(r13)
/* 802733A8 0026F008 38 A5 51 E0 */ addi r5, r5, lbl_805151E0@l
/* 802733AC 0026F00C 38 E7 52 00 */ addi r7, r7, lbl_80515200@l
/* 802733B0 0026F010 39 29 36 BC */ addi r9, r9, __OSStateEventHandler@l
/* 802733B4 0026F014 38 80 10 00 */ li r4, 0x1000
/* 802733B8 0026F018 38 C0 00 20 */ li r6, 0x20
/* 802733BC 0026F01C 39 00 00 20 */ li r8, 0x20
/* 802733C0 0026F020 39 40 00 00 */ li r10, 0
/* 802733C4 0026F024 48 03 05 F5 */ bl IOS_IoctlAsync
/* 802733C8 0026F028 2C 03 00 00 */ cmpwi r3, 0
/* 802733CC 0026F02C 40 82 00 10 */ bne lbl_802733DC
/* 802733D0 0026F030 38 00 00 01 */ li r0, 1
/* 802733D4 0026F034 90 0D A8 50 */ stw r0, lbl_8063FB10-_SDA_BASE_(r13)
/* 802733D8 0026F038 48 00 00 08 */ b lbl_802733E0
lbl_802733DC:
/* 802733DC 0026F03C 93 ED A8 50 */ stw r31, lbl_8063FB10-_SDA_BASE_(r13)
lbl_802733E0:
/* 802733E0 0026F040 7F C3 F3 78 */ mr r3, r30
/* 802733E4 0026F044 4B FF B3 A1 */ bl OSRestoreInterrupts
/* 802733E8 0026F048 38 00 00 01 */ li r0, 1
/* 802733EC 0026F04C 38 60 00 01 */ li r3, 1
/* 802733F0 0026F050 90 0D A8 44 */ stw r0, lbl_8063FB04-_SDA_BASE_(r13)
lbl_802733F4:
/* 802733F4 0026F054 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802733F8 0026F058 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802733FC 0026F05C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80273400 0026F060 7C 08 03 A6 */ mtlr r0
/* 80273404 0026F064 38 21 00 10 */ addi r1, r1, 0x10
/* 80273408 0026F068 4E 80 00 20 */ blr
.global __OSShutdownToSBY
__OSShutdownToSBY:
/* 8027340C 0026F06C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80273410 0026F070 7C 08 02 A6 */ mflr r0
/* 80273414 0026F074 3C 60 CC 00 */ lis r3, 0xCC002002@ha
/* 80273418 0026F078 90 01 00 14 */ stw r0, 0x14(r1)
/* 8027341C 0026F07C 38 00 00 00 */ li r0, 0
/* 80273420 0026F080 B0 03 20 02 */ sth r0, 0xCC002002@l(r3)
/* 80273424 0026F084 80 0D A8 44 */ lwz r0, lbl_8063FB04-_SDA_BASE_(r13)
/* 80273428 0026F088 2C 00 00 00 */ cmpwi r0, 0
/* 8027342C 0026F08C 40 82 00 20 */ bne lbl_8027344C
/* 80273430 0026F090 3C 60 80 43 */ lis r3, lbl_80433C90@ha
/* 80273434 0026F094 3C A0 80 43 */ lis r5, lbl_80433C9C@ha
/* 80273438 0026F098 38 63 3C 90 */ addi r3, r3, lbl_80433C90@l
/* 8027343C 0026F09C 38 80 01 14 */ li r4, 0x114
/* 80273440 0026F0A0 38 A5 3C 9C */ addi r5, r5, lbl_80433C9C@l
/* 80273444 0026F0A4 4C C6 31 82 */ crclr 6
/* 80273448 0026F0A8 4B FF 80 55 */ bl OSPanic
lbl_8027344C:
/* 8027344C 0026F0AC 3C 80 80 51 */ lis r4, lbl_80515220@ha
/* 80273450 0026F0B0 38 00 00 00 */ li r0, 0
/* 80273454 0026F0B4 3C E0 80 51 */ lis r7, lbl_80515240@ha
/* 80273458 0026F0B8 90 04 52 20 */ stw r0, lbl_80515220@l(r4)
/* 8027345C 0026F0BC 38 A4 52 20 */ addi r5, r4, 0x5220
/* 80273460 0026F0C0 80 6D A8 48 */ lwz r3, lbl_8063FB08-_SDA_BASE_(r13)
/* 80273464 0026F0C4 38 E7 52 40 */ addi r7, r7, lbl_80515240@l
/* 80273468 0026F0C8 38 80 20 03 */ li r4, 0x2003
/* 8027346C 0026F0CC 38 C0 00 20 */ li r6, 0x20
/* 80273470 0026F0D0 39 00 00 20 */ li r8, 0x20
/* 80273474 0026F0D4 48 03 06 7D */ bl IOS_Ioctl
/* 80273478 0026F0D8 4B FF B2 E5 */ bl OSDisableInterrupts
/* 8027347C 0026F0DC 4B FF 72 F1 */ bl ICFlashInvalidate
lbl_80273480:
/* 80273480 0026F0E0 48 00 00 00 */ b lbl_80273480
.global __OSHotReset
__OSHotReset:
/* 80273484 0026F0E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80273488 0026F0E8 7C 08 02 A6 */ mflr r0
/* 8027348C 0026F0EC 3C 60 CC 00 */ lis r3, 0xCC002002@ha
/* 80273490 0026F0F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80273494 0026F0F4 38 00 00 00 */ li r0, 0
/* 80273498 0026F0F8 B0 03 20 02 */ sth r0, 0xCC002002@l(r3)
/* 8027349C 0026F0FC 80 0D A8 44 */ lwz r0, lbl_8063FB04-_SDA_BASE_(r13)
/* 802734A0 0026F100 2C 00 00 00 */ cmpwi r0, 0
/* 802734A4 0026F104 40 82 00 20 */ bne lbl_802734C4
/* 802734A8 0026F108 3C 60 80 43 */ lis r3, lbl_80433C90@ha
/* 802734AC 0026F10C 3C A0 80 43 */ lis r5, lbl_80433CD4@ha
/* 802734B0 0026F110 38 63 3C 90 */ addi r3, r3, lbl_80433C90@l
/* 802734B4 0026F114 38 80 01 54 */ li r4, 0x154
/* 802734B8 0026F118 38 A5 3C D4 */ addi r5, r5, lbl_80433CD4@l
/* 802734BC 0026F11C 4C C6 31 82 */ crclr 6
/* 802734C0 0026F120 4B FF 7F DD */ bl OSPanic
lbl_802734C4:
/* 802734C4 0026F124 3C A0 80 51 */ lis r5, lbl_80515220@ha
/* 802734C8 0026F128 3C E0 80 51 */ lis r7, lbl_80515240@ha
/* 802734CC 0026F12C 80 6D A8 48 */ lwz r3, lbl_8063FB08-_SDA_BASE_(r13)
/* 802734D0 0026F130 38 A5 52 20 */ addi r5, r5, lbl_80515220@l
/* 802734D4 0026F134 38 E7 52 40 */ addi r7, r7, lbl_80515240@l
/* 802734D8 0026F138 38 80 20 01 */ li r4, 0x2001
/* 802734DC 0026F13C 38 C0 00 20 */ li r6, 0x20
/* 802734E0 0026F140 39 00 00 20 */ li r8, 0x20
/* 802734E4 0026F144 48 03 06 0D */ bl IOS_Ioctl
/* 802734E8 0026F148 4B FF B2 75 */ bl OSDisableInterrupts
/* 802734EC 0026F14C 4B FF 72 81 */ bl ICFlashInvalidate
lbl_802734F0:
/* 802734F0 0026F150 48 00 00 00 */ b lbl_802734F0
.global __OSSetVIForceDimming
__OSSetVIForceDimming:
/* 802734F4 0026F154 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802734F8 0026F158 7C 08 02 A6 */ mflr r0
/* 802734FC 0026F15C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80273500 0026F160 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80273504 0026F164 7C BF 2B 78 */ mr r31, r5
/* 80273508 0026F168 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8027350C 0026F16C 7C 9E 23 78 */ mr r30, r4
/* 80273510 0026F170 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80273514 0026F174 7C 7D 1B 78 */ mr r29, r3
/* 80273518 0026F178 80 0D A8 44 */ lwz r0, lbl_8063FB04-_SDA_BASE_(r13)
/* 8027351C 0026F17C 2C 00 00 00 */ cmpwi r0, 0
/* 80273520 0026F180 40 82 00 0C */ bne lbl_8027352C
/* 80273524 0026F184 38 60 FF F6 */ li r3, -10
/* 80273528 0026F188 48 00 00 A8 */ b lbl_802735D0
lbl_8027352C:
/* 8027352C 0026F18C 4B FF B2 31 */ bl OSDisableInterrupts
/* 80273530 0026F190 80 0D A8 54 */ lwz r0, lbl_8063FB14-_SDA_BASE_(r13)
/* 80273534 0026F194 2C 00 00 00 */ cmpwi r0, 0
/* 80273538 0026F198 41 82 00 10 */ beq lbl_80273548
/* 8027353C 0026F19C 4B FF B2 49 */ bl OSRestoreInterrupts
/* 80273540 0026F1A0 38 60 00 00 */ li r3, 0
/* 80273544 0026F1A4 48 00 00 8C */ b lbl_802735D0
lbl_80273548:
/* 80273548 0026F1A8 38 00 00 01 */ li r0, 1
/* 8027354C 0026F1AC 90 0D A8 54 */ stw r0, lbl_8063FB14-_SDA_BASE_(r13)
/* 80273550 0026F1B0 4B FF B2 35 */ bl OSRestoreInterrupts
/* 80273554 0026F1B4 57 A0 38 30 */ slwi r0, r29, 7
/* 80273558 0026F1B8 3C 60 80 51 */ lis r3, lbl_80515260@ha
/* 8027355C 0026F1BC 7C 04 FB 78 */ or r4, r0, r31
/* 80273560 0026F1C0 3C E0 80 51 */ lis r7, lbl_80515280@ha
/* 80273564 0026F1C4 57 C0 18 38 */ slwi r0, r30, 3
/* 80273568 0026F1C8 38 A3 52 60 */ addi r5, r3, lbl_80515260@l
/* 8027356C 0026F1CC 39 80 00 00 */ li r12, 0
/* 80273570 0026F1D0 39 60 FF FF */ li r11, -1
/* 80273574 0026F1D4 7C 84 03 78 */ or r4, r4, r0
/* 80273578 0026F1D8 3C 00 FF FF */ lis r0, 0xffff
/* 8027357C 0026F1DC 90 83 52 60 */ stw r4, 0x5260(r3)
/* 80273580 0026F1E0 3D 20 80 27 */ lis r9, __OSVIDimReplyHandler@ha
/* 80273584 0026F1E4 80 6D A8 48 */ lwz r3, lbl_8063FB08-_SDA_BASE_(r13)
/* 80273588 0026F1E8 38 E7 52 80 */ addi r7, r7, lbl_80515280@l
/* 8027358C 0026F1EC 91 85 00 04 */ stw r12, 4(r5)
/* 80273590 0026F1F0 39 29 36 A4 */ addi r9, r9, __OSVIDimReplyHandler@l
/* 80273594 0026F1F4 38 80 50 01 */ li r4, 0x5001
/* 80273598 0026F1F8 38 C0 00 20 */ li r6, 0x20
/* 8027359C 0026F1FC 91 85 00 08 */ stw r12, 8(r5)
/* 802735A0 0026F200 39 00 00 20 */ li r8, 0x20
/* 802735A4 0026F204 39 40 00 00 */ li r10, 0
/* 802735A8 0026F208 91 85 00 0C */ stw r12, 0xc(r5)
/* 802735AC 0026F20C 91 85 00 10 */ stw r12, 0x10(r5)
/* 802735B0 0026F210 91 65 00 14 */ stw r11, 0x14(r5)
/* 802735B4 0026F214 90 05 00 18 */ stw r0, 0x18(r5)
/* 802735B8 0026F218 91 85 00 1C */ stw r12, 0x1c(r5)
/* 802735BC 0026F21C 48 03 03 FD */ bl IOS_IoctlAsync
/* 802735C0 0026F220 2C 03 00 00 */ cmpwi r3, 0
/* 802735C4 0026F224 41 82 00 08 */ beq lbl_802735CC
/* 802735C8 0026F228 48 00 00 08 */ b lbl_802735D0
lbl_802735CC:
/* 802735CC 0026F22C 38 60 00 01 */ li r3, 1
lbl_802735D0:
/* 802735D0 0026F230 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802735D4 0026F234 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802735D8 0026F238 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802735DC 0026F23C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802735E0 0026F240 7C 08 03 A6 */ mtlr r0
/* 802735E4 0026F244 38 21 00 20 */ addi r1, r1, 0x20
/* 802735E8 0026F248 4E 80 00 20 */ blr
.global __OSSetIdleLEDMode
__OSSetIdleLEDMode:
/* 802735EC 0026F24C 80 0D A8 44 */ lwz r0, lbl_8063FB04-_SDA_BASE_(r13)
/* 802735F0 0026F250 2C 00 00 00 */ cmpwi r0, 0
/* 802735F4 0026F254 40 82 00 0C */ bne lbl_80273600
/* 802735F8 0026F258 38 60 FF FA */ li r3, -6
/* 802735FC 0026F25C 4E 80 00 20 */ blr
lbl_80273600:
/* 80273600 0026F260 3C 80 80 51 */ lis r4, lbl_80515220@ha
/* 80273604 0026F264 3C E0 80 51 */ lis r7, lbl_80515240@ha
/* 80273608 0026F268 90 64 52 20 */ stw r3, lbl_80515220@l(r4)
/* 8027360C 0026F26C 38 A4 52 20 */ addi r5, r4, 0x5220
/* 80273610 0026F270 80 6D A8 48 */ lwz r3, lbl_8063FB08-_SDA_BASE_(r13)
/* 80273614 0026F274 38 E7 52 40 */ addi r7, r7, lbl_80515240@l
/* 80273618 0026F278 38 80 60 02 */ li r4, 0x6002
/* 8027361C 0026F27C 38 C0 00 20 */ li r6, 0x20
/* 80273620 0026F280 39 00 00 20 */ li r8, 0x20
/* 80273624 0026F284 48 03 04 CC */ b IOS_Ioctl
/* 80273628 0026F288 4E 80 00 20 */ blr
.global __OSUnRegisterStateEvent
__OSUnRegisterStateEvent:
/* 8027362C 0026F28C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80273630 0026F290 7C 08 02 A6 */ mflr r0
/* 80273634 0026F294 90 01 00 14 */ stw r0, 0x14(r1)
/* 80273638 0026F298 80 0D A8 50 */ lwz r0, lbl_8063FB10-_SDA_BASE_(r13)
/* 8027363C 0026F29C 2C 00 00 00 */ cmpwi r0, 0
/* 80273640 0026F2A0 40 82 00 0C */ bne lbl_8027364C
/* 80273644 0026F2A4 38 60 00 00 */ li r3, 0
/* 80273648 0026F2A8 48 00 00 4C */ b lbl_80273694
lbl_8027364C:
/* 8027364C 0026F2AC 80 0D A8 44 */ lwz r0, lbl_8063FB04-_SDA_BASE_(r13)
/* 80273650 0026F2B0 2C 00 00 00 */ cmpwi r0, 0
/* 80273654 0026F2B4 40 82 00 0C */ bne lbl_80273660
/* 80273658 0026F2B8 38 60 FF FA */ li r3, -6
/* 8027365C 0026F2BC 48 00 00 38 */ b lbl_80273694
lbl_80273660:
/* 80273660 0026F2C0 3C A0 80 51 */ lis r5, lbl_80515220@ha
/* 80273664 0026F2C4 3C E0 80 51 */ lis r7, lbl_80515240@ha
/* 80273668 0026F2C8 80 6D A8 48 */ lwz r3, lbl_8063FB08-_SDA_BASE_(r13)
/* 8027366C 0026F2CC 38 A5 52 20 */ addi r5, r5, lbl_80515220@l
/* 80273670 0026F2D0 38 E7 52 40 */ addi r7, r7, lbl_80515240@l
/* 80273674 0026F2D4 38 80 30 02 */ li r4, 0x3002
/* 80273678 0026F2D8 38 C0 00 20 */ li r6, 0x20
/* 8027367C 0026F2DC 39 00 00 20 */ li r8, 0x20
/* 80273680 0026F2E0 48 03 04 71 */ bl IOS_Ioctl
/* 80273684 0026F2E4 2C 03 00 00 */ cmpwi r3, 0
/* 80273688 0026F2E8 40 82 00 0C */ bne lbl_80273694
/* 8027368C 0026F2EC 38 00 00 00 */ li r0, 0
/* 80273690 0026F2F0 90 0D A8 50 */ stw r0, lbl_8063FB10-_SDA_BASE_(r13)
lbl_80273694:
/* 80273694 0026F2F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80273698 0026F2F8 7C 08 03 A6 */ mtlr r0
/* 8027369C 0026F2FC 38 21 00 10 */ addi r1, r1, 0x10
/* 802736A0 0026F300 4E 80 00 20 */ blr
.global __OSVIDimReplyHandler
__OSVIDimReplyHandler:
/* 802736A4 0026F304 38 00 00 00 */ li r0, 0
/* 802736A8 0026F308 38 60 00 00 */ li r3, 0
/* 802736AC 0026F30C 90 0D A8 54 */ stw r0, lbl_8063FB14-_SDA_BASE_(r13)
/* 802736B0 0026F310 4E 80 00 20 */ blr
.global __OSDefaultResetCallback
__OSDefaultResetCallback:
/* 802736B4 0026F314 4E 80 00 20 */ blr
.global __OSDefaultPowerCallback
__OSDefaultPowerCallback:
/* 802736B8 0026F318 4E 80 00 20 */ blr
.global __OSStateEventHandler
__OSStateEventHandler:
/* 802736BC 0026F31C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802736C0 0026F320 7C 08 02 A6 */ mflr r0
/* 802736C4 0026F324 2C 03 00 00 */ cmpwi r3, 0
/* 802736C8 0026F328 90 01 00 14 */ stw r0, 0x14(r1)
/* 802736CC 0026F32C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802736D0 0026F330 41 82 00 20 */ beq lbl_802736F0
/* 802736D4 0026F334 3C 60 80 43 */ lis r3, lbl_80433C90@ha
/* 802736D8 0026F338 3C A0 80 43 */ lis r5, lbl_80433D0C@ha
/* 802736DC 0026F33C 38 63 3C 90 */ addi r3, r3, lbl_80433C90@l
/* 802736E0 0026F340 38 80 02 EC */ li r4, 0x2ec
/* 802736E4 0026F344 38 A5 3D 0C */ addi r5, r5, lbl_80433D0C@l
/* 802736E8 0026F348 4C C6 31 82 */ crclr 6
/* 802736EC 0026F34C 4B FF 7D B1 */ bl OSPanic
lbl_802736F0:
/* 802736F0 0026F350 3C 60 80 51 */ lis r3, lbl_80515200@ha
/* 802736F4 0026F354 38 00 00 00 */ li r0, 0
/* 802736F8 0026F358 80 63 52 00 */ lwz r3, lbl_80515200@l(r3)
/* 802736FC 0026F35C 90 0D A8 50 */ stw r0, lbl_8063FB10-_SDA_BASE_(r13)
/* 80273700 0026F360 3C 03 FF FE */ addis r0, r3, 0xfffe
/* 80273704 0026F364 28 00 00 00 */ cmplwi r0, 0
/* 80273708 0026F368 40 82 00 B4 */ bne lbl_802737BC
/* 8027370C 0026F36C 3C 60 CC 00 */ lis r3, 0xCC003000@ha
/* 80273710 0026F370 80 03 30 00 */ lwz r0, 0xCC003000@l(r3)
/* 80273714 0026F374 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf
/* 80273718 0026F378 40 82 00 0C */ bne lbl_80273724
/* 8027371C 0026F37C 38 00 00 01 */ li r0, 1
/* 80273720 0026F380 48 00 00 08 */ b lbl_80273728
lbl_80273724:
/* 80273724 0026F384 38 00 00 00 */ li r0, 0
lbl_80273728:
/* 80273728 0026F388 2C 00 00 00 */ cmpwi r0, 0
/* 8027372C 0026F38C 41 82 00 34 */ beq lbl_80273760
/* 80273730 0026F390 4B FF B0 2D */ bl OSDisableInterrupts
/* 80273734 0026F394 3C 80 80 27 */ lis r4, __OSDefaultResetCallback@ha
/* 80273738 0026F398 81 8D A8 5C */ lwz r12, lbl_8063FB1C-_SDA_BASE_(r13)
/* 8027373C 0026F39C 38 84 36 B4 */ addi r4, r4, __OSDefaultResetCallback@l
/* 80273740 0026F3A0 38 00 00 01 */ li r0, 1
/* 80273744 0026F3A4 7C 7F 1B 78 */ mr r31, r3
/* 80273748 0026F3A8 90 0D A8 40 */ stw r0, lbl_8063FB00-_SDA_BASE_(r13)
/* 8027374C 0026F3AC 90 8D A8 5C */ stw r4, lbl_8063FB1C-_SDA_BASE_(r13)
/* 80273750 0026F3B0 7D 89 03 A6 */ mtctr r12
/* 80273754 0026F3B4 4E 80 04 21 */ bctrl
/* 80273758 0026F3B8 7F E3 FB 78 */ mr r3, r31
/* 8027375C 0026F3BC 4B FF B0 29 */ bl OSRestoreInterrupts
lbl_80273760:
/* 80273760 0026F3C0 4B FF AF FD */ bl OSDisableInterrupts
/* 80273764 0026F3C4 7C 7F 1B 78 */ mr r31, r3
/* 80273768 0026F3C8 3C A0 80 51 */ lis r5, lbl_805151E0@ha
/* 8027376C 0026F3CC 3C E0 80 51 */ lis r7, lbl_80515200@ha
/* 80273770 0026F3D0 3D 20 80 27 */ lis r9, __OSStateEventHandler@ha
/* 80273774 0026F3D4 80 6D A8 4C */ lwz r3, lbl_8063FB0C-_SDA_BASE_(r13)
/* 80273778 0026F3D8 38 A5 51 E0 */ addi r5, r5, lbl_805151E0@l
/* 8027377C 0026F3DC 38 E7 52 00 */ addi r7, r7, lbl_80515200@l
/* 80273780 0026F3E0 39 29 36 BC */ addi r9, r9, __OSStateEventHandler@l
/* 80273784 0026F3E4 38 80 10 00 */ li r4, 0x1000
/* 80273788 0026F3E8 38 C0 00 20 */ li r6, 0x20
/* 8027378C 0026F3EC 39 00 00 20 */ li r8, 0x20
/* 80273790 0026F3F0 39 40 00 00 */ li r10, 0
/* 80273794 0026F3F4 48 03 02 25 */ bl IOS_IoctlAsync
/* 80273798 0026F3F8 2C 03 00 00 */ cmpwi r3, 0
/* 8027379C 0026F3FC 40 82 00 10 */ bne lbl_802737AC
/* 802737A0 0026F400 38 00 00 01 */ li r0, 1
/* 802737A4 0026F404 90 0D A8 50 */ stw r0, lbl_8063FB10-_SDA_BASE_(r13)
/* 802737A8 0026F408 48 00 00 0C */ b lbl_802737B4
lbl_802737AC:
/* 802737AC 0026F40C 38 00 00 00 */ li r0, 0
/* 802737B0 0026F410 90 0D A8 50 */ stw r0, lbl_8063FB10-_SDA_BASE_(r13)
lbl_802737B4:
/* 802737B4 0026F414 7F E3 FB 78 */ mr r3, r31
/* 802737B8 0026F418 4B FF AF CD */ bl OSRestoreInterrupts
lbl_802737BC:
/* 802737BC 0026F41C 3C 60 80 51 */ lis r3, lbl_80515200@ha
/* 802737C0 0026F420 80 03 52 00 */ lwz r0, lbl_80515200@l(r3)
/* 802737C4 0026F424 28 00 08 00 */ cmplwi r0, 0x800
/* 802737C8 0026F428 40 82 00 2C */ bne lbl_802737F4
/* 802737CC 0026F42C 4B FF AF 91 */ bl OSDisableInterrupts
/* 802737D0 0026F430 3C 80 80 27 */ lis r4, __OSDefaultPowerCallback@ha
/* 802737D4 0026F434 81 8D A8 58 */ lwz r12, lbl_8063FB18-_SDA_BASE_(r13)
/* 802737D8 0026F438 38 84 36 B8 */ addi r4, r4, __OSDefaultPowerCallback@l
/* 802737DC 0026F43C 7C 7F 1B 78 */ mr r31, r3
/* 802737E0 0026F440 90 8D A8 58 */ stw r4, lbl_8063FB18-_SDA_BASE_(r13)
/* 802737E4 0026F444 7D 89 03 A6 */ mtctr r12
/* 802737E8 0026F448 4E 80 04 21 */ bctrl
/* 802737EC 0026F44C 7F E3 FB 78 */ mr r3, r31
/* 802737F0 0026F450 4B FF AF 95 */ bl OSRestoreInterrupts
lbl_802737F4:
/* 802737F4 0026F454 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802737F8 0026F458 38 60 00 00 */ li r3, 0
/* 802737FC 0026F45C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80273800 0026F460 7C 08 03 A6 */ mtlr r0
/* 80273804 0026F464 38 21 00 10 */ addi r1, r1, 0x10
/* 80273808 0026F468 4E 80 00 20 */ blr
|