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 __OSInitAlarm
__OSInitAlarm:
/* 802696CC 0026532C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802696D0 00265330 7C 08 02 A6 */ mflr r0
/* 802696D4 00265334 38 60 00 08 */ li r3, 8
/* 802696D8 00265338 90 01 00 14 */ stw r0, 0x14(r1)
/* 802696DC 0026533C 4B FF FE 0D */ bl __OSGetExceptionHandler
/* 802696E0 00265340 3C 80 80 27 */ lis r4, DecrementerExceptionHandler@ha
/* 802696E4 00265344 38 84 9D BC */ addi r4, r4, DecrementerExceptionHandler@l
/* 802696E8 00265348 7C 03 20 40 */ cmplw r3, r4
/* 802696EC 0026534C 41 82 00 28 */ beq lbl_80269714
/* 802696F0 00265350 38 00 00 00 */ li r0, 0
/* 802696F4 00265354 38 6D A7 B0 */ addi r3, r13, lbl_8063FA70-_SDA_BASE_
/* 802696F8 00265358 90 03 00 04 */ stw r0, 4(r3)
/* 802696FC 0026535C 38 60 00 08 */ li r3, 8
/* 80269700 00265360 90 0D A7 B0 */ stw r0, lbl_8063FA70-_SDA_BASE_(r13)
/* 80269704 00265364 4B FF FD D1 */ bl __OSSetExceptionHandler
/* 80269708 00265368 3C 60 80 42 */ lis r3, lbl_804269D0@ha
/* 8026970C 0026536C 38 63 69 D0 */ addi r3, r3, lbl_804269D0@l
/* 80269710 00265370 48 00 65 81 */ bl OSRegisterShutdownFunction
lbl_80269714:
/* 80269714 00265374 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80269718 00265378 7C 08 03 A6 */ mtlr r0
/* 8026971C 0026537C 38 21 00 10 */ addi r1, r1, 0x10
/* 80269720 00265380 4E 80 00 20 */ blr
.global OSCreateAlarm
OSCreateAlarm:
/* 80269724 00265384 38 00 00 00 */ li r0, 0
/* 80269728 00265388 90 03 00 00 */ stw r0, 0(r3)
/* 8026972C 0026538C 90 03 00 04 */ stw r0, 4(r3)
/* 80269730 00265390 4E 80 00 20 */ blr
.global InsertAlarm
InsertAlarm:
/* 80269734 00265394 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80269738 00265398 7C 08 02 A6 */ mflr r0
/* 8026973C 0026539C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80269740 002653A0 39 61 00 30 */ addi r11, r1, 0x30
/* 80269744 002653A4 4B F5 D9 DD */ bl _savegpr_25
/* 80269748 002653A8 80 83 00 18 */ lwz r4, 0x18(r3)
/* 8026974C 002653AC 3B A0 00 00 */ li r29, 0
/* 80269750 002653B0 81 03 00 1C */ lwz r8, 0x1c(r3)
/* 80269754 002653B4 7C 7E 1B 78 */ mr r30, r3
/* 80269758 002653B8 6F A0 80 00 */ xoris r0, r29, 0x8000
/* 8026975C 002653BC 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 80269760 002653C0 7C 68 E8 10 */ subfc r3, r8, r29
/* 80269764 002653C4 7C FF 3B 78 */ mr r31, r7
/* 80269768 002653C8 7C 84 01 10 */ subfe r4, r4, r0
/* 8026976C 002653CC 7C 80 01 10 */ subfe r4, r0, r0
/* 80269770 002653D0 7C 84 00 D1 */ neg. r4, r4
/* 80269774 002653D4 41 82 00 7C */ beq lbl_802697F0
/* 80269778 002653D8 48 00 90 61 */ bl __OSGetSystemTime
/* 8026977C 002653DC 83 9E 00 20 */ lwz r28, 0x20(r30)
/* 80269780 002653E0 6C 67 80 00 */ xoris r7, r3, 0x8000
/* 80269784 002653E4 83 7E 00 24 */ lwz r27, 0x24(r30)
/* 80269788 002653E8 6F 80 80 00 */ xoris r0, r28, 0x8000
/* 8026978C 002653EC 7F 85 E3 78 */ mr r5, r28
/* 80269790 002653F0 7C C4 D8 10 */ subfc r6, r4, r27
/* 80269794 002653F4 7C E7 01 10 */ subfe r7, r7, r0
/* 80269798 002653F8 7C E0 01 10 */ subfe r7, r0, r0
/* 8026979C 002653FC 7F 66 DB 78 */ mr r6, r27
/* 802697A0 00265400 7C E7 00 D1 */ neg. r7, r7
/* 802697A4 00265404 41 82 00 4C */ beq lbl_802697F0
/* 802697A8 00265408 83 5E 00 18 */ lwz r26, 0x18(r30)
/* 802697AC 0026540C 7C 9B 20 10 */ subfc r4, r27, r4
/* 802697B0 00265410 83 3E 00 1C */ lwz r25, 0x1c(r30)
/* 802697B4 00265414 7C 7C 19 10 */ subfe r3, r28, r3
/* 802697B8 00265418 7F 45 D3 78 */ mr r5, r26
/* 802697BC 0026541C 7F 26 CB 78 */ mr r6, r25
/* 802697C0 00265420 4B F5 DA B9 */ bl __div2i
/* 802697C4 00265424 38 00 00 01 */ li r0, 1
/* 802697C8 00265428 7C 84 00 14 */ addc r4, r4, r0
/* 802697CC 0026542C 7C 19 20 16 */ mulhwu r0, r25, r4
/* 802697D0 00265430 7C A3 E9 14 */ adde r5, r3, r29
/* 802697D4 00265434 7C 7A 21 D6 */ mullw r3, r26, r4
/* 802697D8 00265438 7C 99 21 D6 */ mullw r4, r25, r4
/* 802697DC 0026543C 7C 60 1A 14 */ add r3, r0, r3
/* 802697E0 00265440 7C 19 29 D6 */ mullw r0, r25, r5
/* 802697E4 00265444 7C DB 20 14 */ addc r6, r27, r4
/* 802697E8 00265448 7C 03 02 14 */ add r0, r3, r0
/* 802697EC 0026544C 7C BC 01 14 */ adde r5, r28, r0
lbl_802697F0:
/* 802697F0 00265450 93 FE 00 00 */ stw r31, 0(r30)
/* 802697F4 00265454 6C A0 80 00 */ xoris r0, r5, 0x8000
/* 802697F8 00265458 90 DE 00 0C */ stw r6, 0xc(r30)
/* 802697FC 0026545C 90 BE 00 08 */ stw r5, 8(r30)
/* 80269800 00265460 80 ED A7 B0 */ lwz r7, lbl_8063FA70-_SDA_BASE_(r13)
/* 80269804 00265464 48 00 00 C4 */ b lbl_802698C8
lbl_80269808:
/* 80269808 00265468 80 67 00 08 */ lwz r3, 8(r7)
/* 8026980C 0026546C 80 A7 00 0C */ lwz r5, 0xc(r7)
/* 80269810 00265470 6C 64 80 00 */ xoris r4, r3, 0x8000
/* 80269814 00265474 7C 65 30 10 */ subfc r3, r5, r6
/* 80269818 00265478 7C 84 01 10 */ subfe r4, r4, r0
/* 8026981C 0026547C 7C 80 01 10 */ subfe r4, r0, r0
/* 80269820 00265480 7C 84 00 D1 */ neg. r4, r4
/* 80269824 00265484 41 82 00 A0 */ beq lbl_802698C4
/* 80269828 00265488 80 07 00 10 */ lwz r0, 0x10(r7)
/* 8026982C 0026548C 90 1E 00 10 */ stw r0, 0x10(r30)
/* 80269830 00265490 93 C7 00 10 */ stw r30, 0x10(r7)
/* 80269834 00265494 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80269838 00265498 90 FE 00 14 */ stw r7, 0x14(r30)
/* 8026983C 0026549C 2C 03 00 00 */ cmpwi r3, 0
/* 80269840 002654A0 41 82 00 0C */ beq lbl_8026984C
/* 80269844 002654A4 93 C3 00 14 */ stw r30, 0x14(r3)
/* 80269848 002654A8 48 00 01 24 */ b lbl_8026996C
lbl_8026984C:
/* 8026984C 002654AC 93 CD A7 B0 */ stw r30, lbl_8063FA70-_SDA_BASE_(r13)
/* 80269850 002654B0 48 00 8F 89 */ bl __OSGetSystemTime
/* 80269854 002654B4 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 80269858 002654B8 38 E0 00 00 */ li r7, 0
/* 8026985C 002654BC 80 1E 00 08 */ lwz r0, 8(r30)
/* 80269860 002654C0 6C E6 80 00 */ xoris r6, r7, 0x8000
/* 80269864 002654C4 7D 04 28 10 */ subfc r8, r4, r5
/* 80269868 002654C8 7C 03 01 10 */ subfe r0, r3, r0
/* 8026986C 002654CC 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 80269870 002654D0 7C 07 40 10 */ subfc r0, r7, r8
/* 80269874 002654D4 7C C6 29 10 */ subfe r6, r6, r5
/* 80269878 002654D8 7C C5 29 10 */ subfe r6, r5, r5
/* 8026987C 002654DC 7C C6 00 D1 */ neg. r6, r6
/* 80269880 002654E0 41 82 00 10 */ beq lbl_80269890
/* 80269884 002654E4 38 60 00 00 */ li r3, 0
/* 80269888 002654E8 4B FF E9 D1 */ bl PPCMtdec
/* 8026988C 002654EC 48 00 00 E0 */ b lbl_8026996C
lbl_80269890:
/* 80269890 002654F0 3C 80 80 00 */ lis r4, 0x8000
/* 80269894 002654F4 6C E3 80 00 */ xoris r3, r7, 0x8000
/* 80269898 002654F8 7C 04 40 10 */ subfc r0, r4, r8
/* 8026989C 002654FC 7C 63 29 10 */ subfe r3, r3, r5
/* 802698A0 00265500 7C 65 29 10 */ subfe r3, r5, r5
/* 802698A4 00265504 7C 63 00 D1 */ neg. r3, r3
/* 802698A8 00265508 41 82 00 10 */ beq lbl_802698B8
/* 802698AC 0026550C 7D 03 43 78 */ mr r3, r8
/* 802698B0 00265510 4B FF E9 A9 */ bl PPCMtdec
/* 802698B4 00265514 48 00 00 B8 */ b lbl_8026996C
lbl_802698B8:
/* 802698B8 00265518 38 64 FF FF */ addi r3, r4, -1
/* 802698BC 0026551C 4B FF E9 9D */ bl PPCMtdec
/* 802698C0 00265520 48 00 00 AC */ b lbl_8026996C
lbl_802698C4:
/* 802698C4 00265524 80 E7 00 14 */ lwz r7, 0x14(r7)
lbl_802698C8:
/* 802698C8 00265528 2C 07 00 00 */ cmpwi r7, 0
/* 802698CC 0026552C 40 82 FF 3C */ bne lbl_80269808
/* 802698D0 00265530 3B E0 00 00 */ li r31, 0
/* 802698D4 00265534 38 6D A7 B0 */ addi r3, r13, lbl_8063FA70-_SDA_BASE_
/* 802698D8 00265538 93 FE 00 14 */ stw r31, 0x14(r30)
/* 802698DC 0026553C 80 83 00 04 */ lwz r4, 4(r3)
/* 802698E0 00265540 93 C3 00 04 */ stw r30, 4(r3)
/* 802698E4 00265544 2C 04 00 00 */ cmpwi r4, 0
/* 802698E8 00265548 90 9E 00 10 */ stw r4, 0x10(r30)
/* 802698EC 0026554C 41 82 00 0C */ beq lbl_802698F8
/* 802698F0 00265550 93 C4 00 14 */ stw r30, 0x14(r4)
/* 802698F4 00265554 48 00 00 78 */ b lbl_8026996C
lbl_802698F8:
/* 802698F8 00265558 93 C3 00 04 */ stw r30, 4(r3)
/* 802698FC 0026555C 93 CD A7 B0 */ stw r30, lbl_8063FA70-_SDA_BASE_(r13)
/* 80269900 00265560 48 00 8E D9 */ bl __OSGetSystemTime
/* 80269904 00265564 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 80269908 00265568 6F E6 80 00 */ xoris r6, r31, 0x8000
/* 8026990C 0026556C 80 1E 00 08 */ lwz r0, 8(r30)
/* 80269910 00265570 7C E4 28 10 */ subfc r7, r4, r5
/* 80269914 00265574 7C 03 01 10 */ subfe r0, r3, r0
/* 80269918 00265578 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 8026991C 0026557C 7C 1F 38 10 */ subfc r0, r31, r7
/* 80269920 00265580 7C C6 29 10 */ subfe r6, r6, r5
/* 80269924 00265584 7C C5 29 10 */ subfe r6, r5, r5
/* 80269928 00265588 7C C6 00 D1 */ neg. r6, r6
/* 8026992C 0026558C 41 82 00 10 */ beq lbl_8026993C
/* 80269930 00265590 38 60 00 00 */ li r3, 0
/* 80269934 00265594 4B FF E9 25 */ bl PPCMtdec
/* 80269938 00265598 48 00 00 34 */ b lbl_8026996C
lbl_8026993C:
/* 8026993C 0026559C 3C 80 80 00 */ lis r4, 0x8000
/* 80269940 002655A0 6F E3 80 00 */ xoris r3, r31, 0x8000
/* 80269944 002655A4 7C 04 38 10 */ subfc r0, r4, r7
/* 80269948 002655A8 7C 63 29 10 */ subfe r3, r3, r5
/* 8026994C 002655AC 7C 65 29 10 */ subfe r3, r5, r5
/* 80269950 002655B0 7C 63 00 D1 */ neg. r3, r3
/* 80269954 002655B4 41 82 00 10 */ beq lbl_80269964
/* 80269958 002655B8 7C E3 3B 78 */ mr r3, r7
/* 8026995C 002655BC 4B FF E8 FD */ bl PPCMtdec
/* 80269960 002655C0 48 00 00 0C */ b lbl_8026996C
lbl_80269964:
/* 80269964 002655C4 38 64 FF FF */ addi r3, r4, -1
/* 80269968 002655C8 4B FF E8 F1 */ bl PPCMtdec
lbl_8026996C:
/* 8026996C 002655CC 39 61 00 30 */ addi r11, r1, 0x30
/* 80269970 002655D0 4B F5 D7 FD */ bl _restgpr_25
/* 80269974 002655D4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80269978 002655D8 7C 08 03 A6 */ mtlr r0
/* 8026997C 002655DC 38 21 00 30 */ addi r1, r1, 0x30
/* 80269980 002655E0 4E 80 00 20 */ blr
.global OSSetAlarm
OSSetAlarm:
/* 80269984 002655E4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80269988 002655E8 7C 08 02 A6 */ mflr r0
/* 8026998C 002655EC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80269990 002655F0 39 61 00 20 */ addi r11, r1, 0x20
/* 80269994 002655F4 4B F5 D7 95 */ bl _savegpr_27
/* 80269998 002655F8 7C 7B 1B 78 */ mr r27, r3
/* 8026999C 002655FC 7C BD 2B 78 */ mr r29, r5
/* 802699A0 00265600 7C DC 33 78 */ mr r28, r6
/* 802699A4 00265604 7C FE 3B 78 */ mr r30, r7
/* 802699A8 00265608 48 00 4D B5 */ bl OSDisableInterrupts
/* 802699AC 0026560C 38 00 00 00 */ li r0, 0
/* 802699B0 00265610 7C 7F 1B 78 */ mr r31, r3
/* 802699B4 00265614 90 1B 00 1C */ stw r0, 0x1c(r27)
/* 802699B8 00265618 90 1B 00 18 */ stw r0, 0x18(r27)
/* 802699BC 0026561C 48 00 8E 1D */ bl __OSGetSystemTime
/* 802699C0 00265620 7C DC 20 14 */ addc r6, r28, r4
/* 802699C4 00265624 7F C7 F3 78 */ mr r7, r30
/* 802699C8 00265628 7C BD 19 14 */ adde r5, r29, r3
/* 802699CC 0026562C 7F 63 DB 78 */ mr r3, r27
/* 802699D0 00265630 4B FF FD 65 */ bl InsertAlarm
/* 802699D4 00265634 7F E3 FB 78 */ mr r3, r31
/* 802699D8 00265638 48 00 4D AD */ bl OSRestoreInterrupts
/* 802699DC 0026563C 39 61 00 20 */ addi r11, r1, 0x20
/* 802699E0 00265640 4B F5 D7 95 */ bl _restgpr_27
/* 802699E4 00265644 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802699E8 00265648 7C 08 03 A6 */ mtlr r0
/* 802699EC 0026564C 38 21 00 20 */ addi r1, r1, 0x20
/* 802699F0 00265650 4E 80 00 20 */ blr
.global OSSetPeriodicAlarm
OSSetPeriodicAlarm:
/* 802699F4 00265654 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802699F8 00265658 7C 08 02 A6 */ mflr r0
/* 802699FC 0026565C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80269A00 00265660 39 61 00 20 */ addi r11, r1, 0x20
/* 80269A04 00265664 4B F5 D7 21 */ bl _savegpr_26
/* 80269A08 00265668 7C 7A 1B 78 */ mr r26, r3
/* 80269A0C 0026566C 7C BC 2B 78 */ mr r28, r5
/* 80269A10 00265670 7C DB 33 78 */ mr r27, r6
/* 80269A14 00265674 7C FD 3B 78 */ mr r29, r7
/* 80269A18 00265678 7D 1F 43 78 */ mr r31, r8
/* 80269A1C 0026567C 7D 3E 4B 78 */ mr r30, r9
/* 80269A20 00265680 48 00 4D 3D */ bl OSDisableInterrupts
/* 80269A24 00265684 93 FA 00 1C */ stw r31, 0x1c(r26)
/* 80269A28 00265688 7C 7F 1B 78 */ mr r31, r3
/* 80269A2C 0026568C 7F 64 DB 78 */ mr r4, r27
/* 80269A30 00265690 7F 83 E3 78 */ mr r3, r28
/* 80269A34 00265694 93 BA 00 18 */ stw r29, 0x18(r26)
/* 80269A38 00265698 48 00 8E 05 */ bl __OSTimeToSystemTime
/* 80269A3C 0026569C 90 7A 00 20 */ stw r3, 0x20(r26)
/* 80269A40 002656A0 7F 43 D3 78 */ mr r3, r26
/* 80269A44 002656A4 7F C7 F3 78 */ mr r7, r30
/* 80269A48 002656A8 38 C0 00 00 */ li r6, 0
/* 80269A4C 002656AC 90 9A 00 24 */ stw r4, 0x24(r26)
/* 80269A50 002656B0 38 A0 00 00 */ li r5, 0
/* 80269A54 002656B4 4B FF FC E1 */ bl InsertAlarm
/* 80269A58 002656B8 7F E3 FB 78 */ mr r3, r31
/* 80269A5C 002656BC 48 00 4D 29 */ bl OSRestoreInterrupts
/* 80269A60 002656C0 39 61 00 20 */ addi r11, r1, 0x20
/* 80269A64 002656C4 4B F5 D7 0D */ bl _restgpr_26
/* 80269A68 002656C8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80269A6C 002656CC 7C 08 03 A6 */ mtlr r0
/* 80269A70 002656D0 38 21 00 20 */ addi r1, r1, 0x20
/* 80269A74 002656D4 4E 80 00 20 */ blr
.global OSCancelAlarm
OSCancelAlarm:
/* 80269A78 002656D8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80269A7C 002656DC 7C 08 02 A6 */ mflr r0
/* 80269A80 002656E0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80269A84 002656E4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80269A88 002656E8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80269A8C 002656EC 7C 7E 1B 78 */ mr r30, r3
/* 80269A90 002656F0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80269A94 002656F4 48 00 4C C9 */ bl OSDisableInterrupts
/* 80269A98 002656F8 80 1E 00 00 */ lwz r0, 0(r30)
/* 80269A9C 002656FC 7C 7F 1B 78 */ mr r31, r3
/* 80269AA0 00265700 2C 00 00 00 */ cmpwi r0, 0
/* 80269AA4 00265704 40 82 00 0C */ bne lbl_80269AB0
/* 80269AA8 00265708 48 00 4C DD */ bl OSRestoreInterrupts
/* 80269AAC 0026570C 48 00 00 C8 */ b lbl_80269B74
lbl_80269AB0:
/* 80269AB0 00265710 83 BE 00 14 */ lwz r29, 0x14(r30)
/* 80269AB4 00265714 2C 1D 00 00 */ cmpwi r29, 0
/* 80269AB8 00265718 40 82 00 14 */ bne lbl_80269ACC
/* 80269ABC 0026571C 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 80269AC0 00265720 38 6D A7 B0 */ addi r3, r13, lbl_8063FA70-_SDA_BASE_
/* 80269AC4 00265724 90 03 00 04 */ stw r0, 4(r3)
/* 80269AC8 00265728 48 00 00 0C */ b lbl_80269AD4
lbl_80269ACC:
/* 80269ACC 0026572C 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 80269AD0 00265730 90 1D 00 10 */ stw r0, 0x10(r29)
lbl_80269AD4:
/* 80269AD4 00265734 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80269AD8 00265738 2C 03 00 00 */ cmpwi r3, 0
/* 80269ADC 0026573C 41 82 00 0C */ beq lbl_80269AE8
/* 80269AE0 00265740 93 A3 00 14 */ stw r29, 0x14(r3)
/* 80269AE4 00265744 48 00 00 80 */ b lbl_80269B64
lbl_80269AE8:
/* 80269AE8 00265748 2C 1D 00 00 */ cmpwi r29, 0
/* 80269AEC 0026574C 93 AD A7 B0 */ stw r29, lbl_8063FA70-_SDA_BASE_(r13)
/* 80269AF0 00265750 41 82 00 74 */ beq lbl_80269B64
/* 80269AF4 00265754 48 00 8C E5 */ bl __OSGetSystemTime
/* 80269AF8 00265758 80 BD 00 0C */ lwz r5, 0xc(r29)
/* 80269AFC 0026575C 38 E0 00 00 */ li r7, 0
/* 80269B00 00265760 80 1D 00 08 */ lwz r0, 8(r29)
/* 80269B04 00265764 6C E6 80 00 */ xoris r6, r7, 0x8000
/* 80269B08 00265768 7D 04 28 10 */ subfc r8, r4, r5
/* 80269B0C 0026576C 7C 03 01 10 */ subfe r0, r3, r0
/* 80269B10 00265770 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 80269B14 00265774 7C 07 40 10 */ subfc r0, r7, r8
/* 80269B18 00265778 7C C6 29 10 */ subfe r6, r6, r5
/* 80269B1C 0026577C 7C C5 29 10 */ subfe r6, r5, r5
/* 80269B20 00265780 7C C6 00 D1 */ neg. r6, r6
/* 80269B24 00265784 41 82 00 10 */ beq lbl_80269B34
/* 80269B28 00265788 38 60 00 00 */ li r3, 0
/* 80269B2C 0026578C 4B FF E7 2D */ bl PPCMtdec
/* 80269B30 00265790 48 00 00 34 */ b lbl_80269B64
lbl_80269B34:
/* 80269B34 00265794 3C 80 80 00 */ lis r4, 0x8000
/* 80269B38 00265798 6C E3 80 00 */ xoris r3, r7, 0x8000
/* 80269B3C 0026579C 7C 04 40 10 */ subfc r0, r4, r8
/* 80269B40 002657A0 7C 63 29 10 */ subfe r3, r3, r5
/* 80269B44 002657A4 7C 65 29 10 */ subfe r3, r5, r5
/* 80269B48 002657A8 7C 63 00 D1 */ neg. r3, r3
/* 80269B4C 002657AC 41 82 00 10 */ beq lbl_80269B5C
/* 80269B50 002657B0 7D 03 43 78 */ mr r3, r8
/* 80269B54 002657B4 4B FF E7 05 */ bl PPCMtdec
/* 80269B58 002657B8 48 00 00 0C */ b lbl_80269B64
lbl_80269B5C:
/* 80269B5C 002657BC 38 64 FF FF */ addi r3, r4, -1
/* 80269B60 002657C0 4B FF E6 F9 */ bl PPCMtdec
lbl_80269B64:
/* 80269B64 002657C4 38 00 00 00 */ li r0, 0
/* 80269B68 002657C8 7F E3 FB 78 */ mr r3, r31
/* 80269B6C 002657CC 90 1E 00 00 */ stw r0, 0(r30)
/* 80269B70 002657D0 48 00 4C 15 */ bl OSRestoreInterrupts
lbl_80269B74:
/* 80269B74 002657D4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80269B78 002657D8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80269B7C 002657DC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80269B80 002657E0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80269B84 002657E4 7C 08 03 A6 */ mtlr r0
/* 80269B88 002657E8 38 21 00 20 */ addi r1, r1, 0x20
/* 80269B8C 002657EC 4E 80 00 20 */ blr
.global DecrementerExceptionCallback
DecrementerExceptionCallback:
/* 80269B90 002657F0 94 21 FD 20 */ stwu r1, -0x2e0(r1)
/* 80269B94 002657F4 7C 08 02 A6 */ mflr r0
/* 80269B98 002657F8 90 01 02 E4 */ stw r0, 0x2e4(r1)
/* 80269B9C 002657FC 93 E1 02 DC */ stw r31, 0x2dc(r1)
/* 80269BA0 00265800 93 C1 02 D8 */ stw r30, 0x2d8(r1)
/* 80269BA4 00265804 93 A1 02 D4 */ stw r29, 0x2d4(r1)
/* 80269BA8 00265808 7C 9D 23 78 */ mr r29, r4
/* 80269BAC 0026580C 93 81 02 D0 */ stw r28, 0x2d0(r1)
/* 80269BB0 00265810 48 00 8C 29 */ bl __OSGetSystemTime
/* 80269BB4 00265814 83 ED A7 B0 */ lwz r31, lbl_8063FA70-_SDA_BASE_(r13)
/* 80269BB8 00265818 7C 9C 23 78 */ mr r28, r4
/* 80269BBC 0026581C 7C 7E 1B 78 */ mr r30, r3
/* 80269BC0 00265820 2C 1F 00 00 */ cmpwi r31, 0
/* 80269BC4 00265824 40 82 00 0C */ bne lbl_80269BD0
/* 80269BC8 00265828 7F A3 EB 78 */ mr r3, r29
/* 80269BCC 0026582C 48 00 13 85 */ bl OSLoadContext
lbl_80269BD0:
/* 80269BD0 00265830 80 7F 00 08 */ lwz r3, 8(r31)
/* 80269BD4 00265834 6F C0 80 00 */ xoris r0, r30, 0x8000
/* 80269BD8 00265838 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 80269BDC 0026583C 6C 64 80 00 */ xoris r4, r3, 0x8000
/* 80269BE0 00265840 7C 65 E0 10 */ subfc r3, r5, r28
/* 80269BE4 00265844 7C 84 01 10 */ subfe r4, r4, r0
/* 80269BE8 00265848 7C 80 01 10 */ subfe r4, r0, r0
/* 80269BEC 0026584C 7C 84 00 D1 */ neg. r4, r4
/* 80269BF0 00265850 41 82 00 7C */ beq lbl_80269C6C
/* 80269BF4 00265854 48 00 8B E5 */ bl __OSGetSystemTime
/* 80269BF8 00265858 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 80269BFC 0026585C 38 E0 00 00 */ li r7, 0
/* 80269C00 00265860 80 1F 00 08 */ lwz r0, 8(r31)
/* 80269C04 00265864 6C E6 80 00 */ xoris r6, r7, 0x8000
/* 80269C08 00265868 7D 04 28 10 */ subfc r8, r4, r5
/* 80269C0C 0026586C 7C 03 01 10 */ subfe r0, r3, r0
/* 80269C10 00265870 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 80269C14 00265874 7C 07 40 10 */ subfc r0, r7, r8
/* 80269C18 00265878 7C C6 29 10 */ subfe r6, r6, r5
/* 80269C1C 0026587C 7C C5 29 10 */ subfe r6, r5, r5
/* 80269C20 00265880 7C C6 00 D1 */ neg. r6, r6
/* 80269C24 00265884 41 82 00 10 */ beq lbl_80269C34
/* 80269C28 00265888 38 60 00 00 */ li r3, 0
/* 80269C2C 0026588C 4B FF E6 2D */ bl PPCMtdec
/* 80269C30 00265890 48 00 00 34 */ b lbl_80269C64
lbl_80269C34:
/* 80269C34 00265894 3C 80 80 00 */ lis r4, 0x8000
/* 80269C38 00265898 6C E3 80 00 */ xoris r3, r7, 0x8000
/* 80269C3C 0026589C 7C 04 40 10 */ subfc r0, r4, r8
/* 80269C40 002658A0 7C 63 29 10 */ subfe r3, r3, r5
/* 80269C44 002658A4 7C 65 29 10 */ subfe r3, r5, r5
/* 80269C48 002658A8 7C 63 00 D1 */ neg. r3, r3
/* 80269C4C 002658AC 41 82 00 10 */ beq lbl_80269C5C
/* 80269C50 002658B0 7D 03 43 78 */ mr r3, r8
/* 80269C54 002658B4 4B FF E6 05 */ bl PPCMtdec
/* 80269C58 002658B8 48 00 00 0C */ b lbl_80269C64
lbl_80269C5C:
/* 80269C5C 002658BC 38 64 FF FF */ addi r3, r4, -1
/* 80269C60 002658C0 4B FF E5 F9 */ bl PPCMtdec
lbl_80269C64:
/* 80269C64 002658C4 7F A3 EB 78 */ mr r3, r29
/* 80269C68 002658C8 48 00 12 E9 */ bl OSLoadContext
lbl_80269C6C:
/* 80269C6C 002658CC 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 80269C70 002658D0 2C 03 00 00 */ cmpwi r3, 0
/* 80269C74 002658D4 90 6D A7 B0 */ stw r3, lbl_8063FA70-_SDA_BASE_(r13)
/* 80269C78 002658D8 40 82 00 14 */ bne lbl_80269C8C
/* 80269C7C 002658DC 38 00 00 00 */ li r0, 0
/* 80269C80 002658E0 38 6D A7 B0 */ addi r3, r13, lbl_8063FA70-_SDA_BASE_
/* 80269C84 002658E4 90 03 00 04 */ stw r0, 4(r3)
/* 80269C88 002658E8 48 00 00 0C */ b lbl_80269C94
lbl_80269C8C:
/* 80269C8C 002658EC 38 00 00 00 */ li r0, 0
/* 80269C90 002658F0 90 03 00 10 */ stw r0, 0x10(r3)
lbl_80269C94:
/* 80269C94 002658F4 83 DF 00 00 */ lwz r30, 0(r31)
/* 80269C98 002658F8 38 C0 00 00 */ li r6, 0
/* 80269C9C 002658FC 6C C0 80 00 */ xoris r0, r6, 0x8000
/* 80269CA0 00265900 90 DF 00 00 */ stw r6, 0(r31)
/* 80269CA4 00265904 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 80269CA8 00265908 80 BF 00 1C */ lwz r5, 0x1c(r31)
/* 80269CAC 0026590C 6C 64 80 00 */ xoris r4, r3, 0x8000
/* 80269CB0 00265910 7C 65 30 10 */ subfc r3, r5, r6
/* 80269CB4 00265914 7C 84 01 10 */ subfe r4, r4, r0
/* 80269CB8 00265918 7C 80 01 10 */ subfe r4, r0, r0
/* 80269CBC 0026591C 7C 84 00 D1 */ neg. r4, r4
/* 80269CC0 00265920 41 82 00 18 */ beq lbl_80269CD8
/* 80269CC4 00265924 7F E3 FB 78 */ mr r3, r31
/* 80269CC8 00265928 7F C7 F3 78 */ mr r7, r30
/* 80269CCC 0026592C 38 C0 00 00 */ li r6, 0
/* 80269CD0 00265930 38 A0 00 00 */ li r5, 0
/* 80269CD4 00265934 4B FF FA 61 */ bl InsertAlarm
lbl_80269CD8:
/* 80269CD8 00265938 83 8D A7 B0 */ lwz r28, lbl_8063FA70-_SDA_BASE_(r13)
/* 80269CDC 0026593C 2C 1C 00 00 */ cmpwi r28, 0
/* 80269CE0 00265940 41 82 00 74 */ beq lbl_80269D54
/* 80269CE4 00265944 48 00 8A F5 */ bl __OSGetSystemTime
/* 80269CE8 00265948 80 BC 00 0C */ lwz r5, 0xc(r28)
/* 80269CEC 0026594C 38 E0 00 00 */ li r7, 0
/* 80269CF0 00265950 80 1C 00 08 */ lwz r0, 8(r28)
/* 80269CF4 00265954 6C E6 80 00 */ xoris r6, r7, 0x8000
/* 80269CF8 00265958 7D 04 28 10 */ subfc r8, r4, r5
/* 80269CFC 0026595C 7C 03 01 10 */ subfe r0, r3, r0
/* 80269D00 00265960 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 80269D04 00265964 7C 07 40 10 */ subfc r0, r7, r8
/* 80269D08 00265968 7C C6 29 10 */ subfe r6, r6, r5
/* 80269D0C 0026596C 7C C5 29 10 */ subfe r6, r5, r5
/* 80269D10 00265970 7C C6 00 D1 */ neg. r6, r6
/* 80269D14 00265974 41 82 00 10 */ beq lbl_80269D24
/* 80269D18 00265978 38 60 00 00 */ li r3, 0
/* 80269D1C 0026597C 4B FF E5 3D */ bl PPCMtdec
/* 80269D20 00265980 48 00 00 34 */ b lbl_80269D54
lbl_80269D24:
/* 80269D24 00265984 3C 80 80 00 */ lis r4, 0x8000
/* 80269D28 00265988 6C E3 80 00 */ xoris r3, r7, 0x8000
/* 80269D2C 0026598C 7C 04 40 10 */ subfc r0, r4, r8
/* 80269D30 00265990 7C 63 29 10 */ subfe r3, r3, r5
/* 80269D34 00265994 7C 65 29 10 */ subfe r3, r5, r5
/* 80269D38 00265998 7C 63 00 D1 */ neg. r3, r3
/* 80269D3C 0026599C 41 82 00 10 */ beq lbl_80269D4C
/* 80269D40 002659A0 7D 03 43 78 */ mr r3, r8
/* 80269D44 002659A4 4B FF E5 15 */ bl PPCMtdec
/* 80269D48 002659A8 48 00 00 0C */ b lbl_80269D54
lbl_80269D4C:
/* 80269D4C 002659AC 38 64 FF FF */ addi r3, r4, -1
/* 80269D50 002659B0 4B FF E5 09 */ bl PPCMtdec
lbl_80269D54:
/* 80269D54 002659B4 48 00 75 F1 */ bl OSDisableScheduler
/* 80269D58 002659B8 38 61 00 08 */ addi r3, r1, 8
/* 80269D5C 002659BC 48 00 13 35 */ bl OSClearContext
/* 80269D60 002659C0 38 61 00 08 */ addi r3, r1, 8
/* 80269D64 002659C4 48 00 11 05 */ bl OSSetCurrentContext
/* 80269D68 002659C8 7F CC F3 78 */ mr r12, r30
/* 80269D6C 002659CC 7F E3 FB 78 */ mr r3, r31
/* 80269D70 002659D0 7F A4 EB 78 */ mr r4, r29
/* 80269D74 002659D4 7D 89 03 A6 */ mtctr r12
/* 80269D78 002659D8 4E 80 04 21 */ bctrl
/* 80269D7C 002659DC 38 61 00 08 */ addi r3, r1, 8
/* 80269D80 002659E0 48 00 13 11 */ bl OSClearContext
/* 80269D84 002659E4 7F A3 EB 78 */ mr r3, r29
/* 80269D88 002659E8 48 00 10 E1 */ bl OSSetCurrentContext
/* 80269D8C 002659EC 48 00 75 F5 */ bl OSEnableScheduler
/* 80269D90 002659F0 48 00 7A FD */ bl __OSReschedule
/* 80269D94 002659F4 7F A3 EB 78 */ mr r3, r29
/* 80269D98 002659F8 48 00 11 B9 */ bl OSLoadContext
/* 80269D9C 002659FC 80 01 02 E4 */ lwz r0, 0x2e4(r1)
/* 80269DA0 00265A00 83 E1 02 DC */ lwz r31, 0x2dc(r1)
/* 80269DA4 00265A04 83 C1 02 D8 */ lwz r30, 0x2d8(r1)
/* 80269DA8 00265A08 83 A1 02 D4 */ lwz r29, 0x2d4(r1)
/* 80269DAC 00265A0C 83 81 02 D0 */ lwz r28, 0x2d0(r1)
/* 80269DB0 00265A10 7C 08 03 A6 */ mtlr r0
/* 80269DB4 00265A14 38 21 02 E0 */ addi r1, r1, 0x2e0
/* 80269DB8 00265A18 4E 80 00 20 */ blr
.global DecrementerExceptionHandler
DecrementerExceptionHandler:
/* 80269DBC 00265A1C 90 04 00 00 */ stw r0, 0(r4)
/* 80269DC0 00265A20 90 24 00 04 */ stw r1, 4(r4)
/* 80269DC4 00265A24 90 44 00 08 */ stw r2, 8(r4)
/* 80269DC8 00265A28 BC C4 00 18 */ stmw r6, 0x18(r4)
/* 80269DCC 00265A2C 7C 11 E2 A6 */ mfspr r0, 0x391
/* 80269DD0 00265A30 90 04 01 A8 */ stw r0, 0x1a8(r4)
/* 80269DD4 00265A34 7C 12 E2 A6 */ mfspr r0, 0x392
/* 80269DD8 00265A38 90 04 01 AC */ stw r0, 0x1ac(r4)
/* 80269DDC 00265A3C 7C 13 E2 A6 */ mfspr r0, 0x393
/* 80269DE0 00265A40 90 04 01 B0 */ stw r0, 0x1b0(r4)
/* 80269DE4 00265A44 7C 14 E2 A6 */ mfspr r0, 0x394
/* 80269DE8 00265A48 90 04 01 B4 */ stw r0, 0x1b4(r4)
/* 80269DEC 00265A4C 7C 15 E2 A6 */ mfspr r0, 0x395
/* 80269DF0 00265A50 90 04 01 B8 */ stw r0, 0x1b8(r4)
/* 80269DF4 00265A54 7C 16 E2 A6 */ mfspr r0, 0x396
/* 80269DF8 00265A58 90 04 01 BC */ stw r0, 0x1bc(r4)
/* 80269DFC 00265A5C 7C 17 E2 A6 */ mfspr r0, 0x397
/* 80269E00 00265A60 90 04 01 C0 */ stw r0, 0x1c0(r4)
/* 80269E04 00265A64 94 21 FF F8 */ stwu r1, -8(r1)
/* 80269E08 00265A68 4B FF FD 88 */ b DecrementerExceptionCallback
.global OSSetAlarmTag
OSSetAlarmTag:
/* 80269E0C 00265A6C 90 83 00 04 */ stw r4, 4(r3)
/* 80269E10 00265A70 4E 80 00 20 */ blr
.global OnReset
OnReset:
/* 80269E14 00265A74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80269E18 00265A78 7C 08 02 A6 */ mflr r0
/* 80269E1C 00265A7C 2C 03 00 00 */ cmpwi r3, 0
/* 80269E20 00265A80 90 01 00 14 */ stw r0, 0x14(r1)
/* 80269E24 00265A84 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80269E28 00265A88 93 C1 00 08 */ stw r30, 8(r1)
/* 80269E2C 00265A8C 41 82 00 58 */ beq lbl_80269E84
/* 80269E30 00265A90 83 ED A7 B0 */ lwz r31, lbl_8063FA70-_SDA_BASE_(r13)
/* 80269E34 00265A94 2C 1F 00 00 */ cmpwi r31, 0
/* 80269E38 00265A98 41 82 00 0C */ beq lbl_80269E44
/* 80269E3C 00265A9C 83 DF 00 14 */ lwz r30, 0x14(r31)
/* 80269E40 00265AA0 48 00 00 3C */ b lbl_80269E7C
lbl_80269E44:
/* 80269E44 00265AA4 3B C0 00 00 */ li r30, 0
/* 80269E48 00265AA8 48 00 00 34 */ b lbl_80269E7C
lbl_80269E4C:
/* 80269E4C 00265AAC 7F E3 FB 78 */ mr r3, r31
/* 80269E50 00265AB0 48 02 2B 11 */ bl __DVDTestAlarm
/* 80269E54 00265AB4 2C 03 00 00 */ cmpwi r3, 0
/* 80269E58 00265AB8 40 82 00 0C */ bne lbl_80269E64
/* 80269E5C 00265ABC 7F E3 FB 78 */ mr r3, r31
/* 80269E60 00265AC0 4B FF FC 19 */ bl OSCancelAlarm
lbl_80269E64:
/* 80269E64 00265AC4 2C 1E 00 00 */ cmpwi r30, 0
/* 80269E68 00265AC8 7F DF F3 78 */ mr r31, r30
/* 80269E6C 00265ACC 41 82 00 0C */ beq lbl_80269E78
/* 80269E70 00265AD0 83 DE 00 14 */ lwz r30, 0x14(r30)
/* 80269E74 00265AD4 48 00 00 08 */ b lbl_80269E7C
lbl_80269E78:
/* 80269E78 00265AD8 3B C0 00 00 */ li r30, 0
lbl_80269E7C:
/* 80269E7C 00265ADC 2C 1F 00 00 */ cmpwi r31, 0
/* 80269E80 00265AE0 40 82 FF CC */ bne lbl_80269E4C
lbl_80269E84:
/* 80269E84 00265AE4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80269E88 00265AE8 38 60 00 01 */ li r3, 1
/* 80269E8C 00265AEC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80269E90 00265AF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80269E94 00265AF4 7C 08 03 A6 */ mtlr r0
/* 80269E98 00265AF8 38 21 00 10 */ addi r1, r1, 0x10
/* 80269E9C 00265AFC 4E 80 00 20 */ blr
.global OSSetAlarmUserData
OSSetAlarmUserData:
/* 80269EA0 00265B00 90 83 00 28 */ stw r4, 0x28(r3)
/* 80269EA4 00265B04 4E 80 00 20 */ blr
.global OSGetAlarmUserData
OSGetAlarmUserData:
/* 80269EA8 00265B08 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80269EAC 00265B0C 4E 80 00 20 */ blr
|