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
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global __DVDFSInit
__DVDFSInit:
/* 8028768C 002832EC 3C 60 80 00 */ lis r3, 0x80000038@ha
/* 80287690 002832F0 90 6D AA 0C */ stw r3, lbl_8063FCCC-_SDA_BASE_(r13)
/* 80287694 002832F4 80 83 00 38 */ lwz r4, 0x80000038@l(r3)
/* 80287698 002832F8 2C 04 00 00 */ cmpwi r4, 0
/* 8028769C 002832FC 90 8D AA 08 */ stw r4, lbl_8063FCC8-_SDA_BASE_(r13)
/* 802876A0 00283300 4D 82 00 20 */ beqlr
/* 802876A4 00283304 80 64 00 08 */ lwz r3, 8(r4)
/* 802876A8 00283308 1C 03 00 0C */ mulli r0, r3, 0xc
/* 802876AC 0028330C 90 6D AA 00 */ stw r3, lbl_8063FCC0-_SDA_BASE_(r13)
/* 802876B0 00283310 7C 04 02 14 */ add r0, r4, r0
/* 802876B4 00283314 90 0D AA 04 */ stw r0, lbl_8063FCC4-_SDA_BASE_(r13)
/* 802876B8 00283318 4E 80 00 20 */ blr
.global DVDConvertPathToEntrynum
DVDConvertPathToEntrynum:
/* 802876BC 0028331C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802876C0 00283320 7C 08 02 A6 */ mflr r0
/* 802876C4 00283324 90 01 00 34 */ stw r0, 0x34(r1)
/* 802876C8 00283328 39 61 00 30 */ addi r11, r1, 0x30
/* 802876CC 0028332C 4B F3 FA 51 */ bl _savegpr_24
/* 802876D0 00283330 7C 7A 1B 78 */ mr r26, r3
/* 802876D4 00283334 3F E0 80 42 */ lis r31, lbl_80422D48@ha
/* 802876D8 00283338 83 AD A9 F0 */ lwz r29, lbl_8063FCB0-_SDA_BASE_(r13)
/* 802876DC 0028333C 7F 5C D3 78 */ mr r28, r26
/* 802876E0 00283340 3B FF 2D 48 */ addi r31, r31, lbl_80422D48@l
/* 802876E4 00283344 3F C0 80 43 */ lis r30, 0x8043
lbl_802876E8:
/* 802876E8 00283348 88 1A 00 00 */ lbz r0, 0(r26)
/* 802876EC 0028334C 7C 00 07 75 */ extsb. r0, r0
/* 802876F0 00283350 40 82 00 0C */ bne lbl_802876FC
/* 802876F4 00283354 7F A3 EB 78 */ mr r3, r29
/* 802876F8 00283358 48 00 02 B4 */ b lbl_802879AC
lbl_802876FC:
/* 802876FC 0028335C 2C 00 00 2F */ cmpwi r0, 0x2f
/* 80287700 00283360 40 82 00 10 */ bne lbl_80287710
/* 80287704 00283364 3B A0 00 00 */ li r29, 0
/* 80287708 00283368 3B 5A 00 01 */ addi r26, r26, 1
/* 8028770C 0028336C 4B FF FF DC */ b lbl_802876E8
lbl_80287710:
/* 80287710 00283370 2C 00 00 2E */ cmpwi r0, 0x2e
/* 80287714 00283374 40 82 00 78 */ bne lbl_8028778C
/* 80287718 00283378 88 1A 00 01 */ lbz r0, 1(r26)
/* 8028771C 0028337C 7C 00 07 74 */ extsb r0, r0
/* 80287720 00283380 2C 00 00 2E */ cmpwi r0, 0x2e
/* 80287724 00283384 40 82 00 48 */ bne lbl_8028776C
/* 80287728 00283388 88 1A 00 02 */ lbz r0, 2(r26)
/* 8028772C 0028338C 7C 00 07 74 */ extsb r0, r0
/* 80287730 00283390 2C 00 00 2F */ cmpwi r0, 0x2f
/* 80287734 00283394 40 82 00 1C */ bne lbl_80287750
/* 80287738 00283398 1C 1D 00 0C */ mulli r0, r29, 0xc
/* 8028773C 0028339C 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
/* 80287740 002833A0 3B 5A 00 03 */ addi r26, r26, 3
/* 80287744 002833A4 7C 63 02 14 */ add r3, r3, r0
/* 80287748 002833A8 83 A3 00 04 */ lwz r29, 4(r3)
/* 8028774C 002833AC 4B FF FF 9C */ b lbl_802876E8
lbl_80287750:
/* 80287750 002833B0 2C 00 00 00 */ cmpwi r0, 0
/* 80287754 002833B4 40 82 00 38 */ bne lbl_8028778C
/* 80287758 002833B8 1C 1D 00 0C */ mulli r0, r29, 0xc
/* 8028775C 002833BC 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
/* 80287760 002833C0 7C 63 02 14 */ add r3, r3, r0
/* 80287764 002833C4 80 63 00 04 */ lwz r3, 4(r3)
/* 80287768 002833C8 48 00 02 44 */ b lbl_802879AC
lbl_8028776C:
/* 8028776C 002833CC 2C 00 00 2F */ cmpwi r0, 0x2f
/* 80287770 002833D0 40 82 00 0C */ bne lbl_8028777C
/* 80287774 002833D4 3B 5A 00 02 */ addi r26, r26, 2
/* 80287778 002833D8 4B FF FF 70 */ b lbl_802876E8
lbl_8028777C:
/* 8028777C 002833DC 2C 00 00 00 */ cmpwi r0, 0
/* 80287780 002833E0 40 82 00 0C */ bne lbl_8028778C
/* 80287784 002833E4 7F A3 EB 78 */ mr r3, r29
/* 80287788 002833E8 48 00 02 24 */ b lbl_802879AC
lbl_8028778C:
/* 8028778C 002833EC 80 0D 88 A8 */ lwz r0, lbl_8063DB68-_SDA_BASE_(r13)
/* 80287790 002833F0 2C 00 00 00 */ cmpwi r0, 0
/* 80287794 002833F4 40 82 00 A8 */ bne lbl_8028783C
/* 80287798 002833F8 7F 58 D3 78 */ mr r24, r26
/* 8028779C 002833FC 38 A0 00 00 */ li r5, 0
/* 802877A0 00283400 38 80 00 00 */ li r4, 0
/* 802877A4 00283404 48 00 00 48 */ b lbl_802877EC
lbl_802877A8:
/* 802877A8 00283408 7C 60 07 74 */ extsb r0, r3
/* 802877AC 0028340C 2C 00 00 2E */ cmpwi r0, 0x2e
/* 802877B0 00283410 40 82 00 2C */ bne lbl_802877DC
/* 802877B4 00283414 7C 1A C0 50 */ subf r0, r26, r24
/* 802877B8 00283418 2C 00 00 08 */ cmpwi r0, 8
/* 802877BC 0028341C 41 81 00 0C */ bgt lbl_802877C8
/* 802877C0 00283420 2C 05 00 01 */ cmpwi r5, 1
/* 802877C4 00283424 40 82 00 0C */ bne lbl_802877D0
lbl_802877C8:
/* 802877C8 00283428 38 80 00 01 */ li r4, 1
/* 802877CC 0028342C 48 00 00 34 */ b lbl_80287800
lbl_802877D0:
/* 802877D0 00283430 3B 78 00 01 */ addi r27, r24, 1
/* 802877D4 00283434 38 A0 00 01 */ li r5, 1
/* 802877D8 00283438 48 00 00 10 */ b lbl_802877E8
lbl_802877DC:
/* 802877DC 0028343C 2C 00 00 20 */ cmpwi r0, 0x20
/* 802877E0 00283440 40 82 00 08 */ bne lbl_802877E8
/* 802877E4 00283444 38 80 00 01 */ li r4, 1
lbl_802877E8:
/* 802877E8 00283448 3B 18 00 01 */ addi r24, r24, 1
lbl_802877EC:
/* 802877EC 0028344C 88 78 00 00 */ lbz r3, 0(r24)
/* 802877F0 00283450 7C 60 07 75 */ extsb. r0, r3
/* 802877F4 00283454 41 82 00 0C */ beq lbl_80287800
/* 802877F8 00283458 2C 00 00 2F */ cmpwi r0, 0x2f
/* 802877FC 0028345C 40 82 FF AC */ bne lbl_802877A8
lbl_80287800:
/* 80287800 00283460 2C 05 00 01 */ cmpwi r5, 1
/* 80287804 00283464 40 82 00 14 */ bne lbl_80287818
/* 80287808 00283468 7C 1B C0 50 */ subf r0, r27, r24
/* 8028780C 0028346C 2C 00 00 03 */ cmpwi r0, 3
/* 80287810 00283470 40 81 00 08 */ ble lbl_80287818
/* 80287814 00283474 38 80 00 01 */ li r4, 1
lbl_80287818:
/* 80287818 00283478 2C 04 00 00 */ cmpwi r4, 0
/* 8028781C 0028347C 41 82 00 40 */ beq lbl_8028785C
/* 80287820 00283480 7F 86 E3 78 */ mr r6, r28
/* 80287824 00283484 38 BE 5D 68 */ addi r5, r30, 0x5d68
/* 80287828 00283488 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
/* 8028782C 0028348C 38 80 01 BB */ li r4, 0x1bb
/* 80287830 00283490 4C C6 31 82 */ crclr 6
/* 80287834 00283494 4B FE 3C 69 */ bl OSPanic
/* 80287838 00283498 48 00 00 24 */ b lbl_8028785C
lbl_8028783C:
/* 8028783C 0028349C 7F 58 D3 78 */ mr r24, r26
/* 80287840 002834A0 48 00 00 08 */ b lbl_80287848
lbl_80287844:
/* 80287844 002834A4 3B 18 00 01 */ addi r24, r24, 1
lbl_80287848:
/* 80287848 002834A8 88 18 00 00 */ lbz r0, 0(r24)
/* 8028784C 002834AC 7C 00 07 75 */ extsb. r0, r0
/* 80287850 002834B0 41 82 00 0C */ beq lbl_8028785C
/* 80287854 002834B4 2C 00 00 2F */ cmpwi r0, 0x2f
/* 80287858 002834B8 40 82 FF EC */ bne lbl_80287844
lbl_8028785C:
/* 8028785C 002834BC 88 78 00 00 */ lbz r3, 0(r24)
/* 80287860 002834C0 1C 1D 00 0C */ mulli r0, r29, 0xc
/* 80287864 002834C4 81 0D AA 08 */ lwz r8, lbl_8063FCC8-_SDA_BASE_(r13)
/* 80287868 002834C8 7D 3A C0 50 */ subf r9, r26, r24
/* 8028786C 002834CC 7C 66 07 74 */ extsb r6, r3
/* 80287870 002834D0 80 8D AA 04 */ lwz r4, lbl_8063FCC4-_SDA_BASE_(r13)
/* 80287874 002834D4 7C A6 00 D0 */ neg r5, r6
/* 80287878 002834D8 7C 68 02 14 */ add r3, r8, r0
/* 8028787C 002834DC 81 9F 00 38 */ lwz r12, 0x38(r31)
/* 80287880 002834E0 7C A0 33 78 */ or r0, r5, r6
/* 80287884 002834E4 80 A3 00 08 */ lwz r5, 8(r3)
/* 80287888 002834E8 54 00 0F FE */ srwi r0, r0, 0x1f
/* 8028788C 002834EC 38 7D 00 01 */ addi r3, r29, 1
/* 80287890 002834F0 48 00 00 F0 */ b lbl_80287980
lbl_80287894:
/* 80287894 002834F4 1C C3 00 0C */ mulli r6, r3, 0xc
/* 80287898 002834F8 7D 46 40 6E */ lwzux r10, r6, r8
/* 8028789C 002834FC 55 47 00 0F */ rlwinm. r7, r10, 0, 0, 7
/* 802878A0 00283500 40 82 00 0C */ bne lbl_802878AC
/* 802878A4 00283504 2C 00 00 01 */ cmpwi r0, 1
/* 802878A8 00283508 41 82 00 C4 */ beq lbl_8028796C
lbl_802878AC:
/* 802878AC 0028350C 55 4A 02 3E */ clrlwi r10, r10, 8
/* 802878B0 00283510 7F 5D D3 78 */ mr r29, r26
/* 802878B4 00283514 7F 24 52 14 */ add r25, r4, r10
/* 802878B8 00283518 48 00 00 7C */ b lbl_80287934
lbl_802878BC:
/* 802878BC 0028351C 89 79 00 00 */ lbz r11, 0(r25)
/* 802878C0 00283520 39 40 00 00 */ li r10, 0
/* 802878C4 00283524 3B 39 00 01 */ addi r25, r25, 1
/* 802878C8 00283528 7D 78 07 75 */ extsb. r24, r11
/* 802878CC 0028352C 41 80 00 0C */ blt lbl_802878D8
/* 802878D0 00283530 2C 18 01 00 */ cmpwi r24, 0x100
/* 802878D4 00283534 41 80 00 08 */ blt lbl_802878DC
lbl_802878D8:
/* 802878D8 00283538 39 40 00 01 */ li r10, 1
lbl_802878DC:
/* 802878DC 0028353C 2C 0A 00 00 */ cmpwi r10, 0
/* 802878E0 00283540 41 82 00 08 */ beq lbl_802878E8
/* 802878E4 00283544 48 00 00 0C */ b lbl_802878F0
lbl_802878E8:
/* 802878E8 00283548 81 4C 00 10 */ lwz r10, 0x10(r12)
/* 802878EC 0028354C 7F 0A C0 AE */ lbzx r24, r10, r24
lbl_802878F0:
/* 802878F0 00283550 89 7D 00 00 */ lbz r11, 0(r29)
/* 802878F4 00283554 39 40 00 00 */ li r10, 0
/* 802878F8 00283558 3B BD 00 01 */ addi r29, r29, 1
/* 802878FC 0028355C 7D 6B 07 75 */ extsb. r11, r11
/* 80287900 00283560 41 80 00 0C */ blt lbl_8028790C
/* 80287904 00283564 2C 0B 01 00 */ cmpwi r11, 0x100
/* 80287908 00283568 41 80 00 08 */ blt lbl_80287910
lbl_8028790C:
/* 8028790C 0028356C 39 40 00 01 */ li r10, 1
lbl_80287910:
/* 80287910 00283570 2C 0A 00 00 */ cmpwi r10, 0
/* 80287914 00283574 41 82 00 08 */ beq lbl_8028791C
/* 80287918 00283578 48 00 00 0C */ b lbl_80287924
lbl_8028791C:
/* 8028791C 0028357C 81 4C 00 10 */ lwz r10, 0x10(r12)
/* 80287920 00283580 7D 6A 58 AE */ lbzx r11, r10, r11
lbl_80287924:
/* 80287924 00283584 7C 0B C0 00 */ cmpw r11, r24
/* 80287928 00283588 41 82 00 0C */ beq lbl_80287934
/* 8028792C 0028358C 39 40 00 00 */ li r10, 0
/* 80287930 00283590 48 00 00 34 */ b lbl_80287964
lbl_80287934:
/* 80287934 00283594 89 59 00 00 */ lbz r10, 0(r25)
/* 80287938 00283598 7D 4A 07 75 */ extsb. r10, r10
/* 8028793C 0028359C 40 82 FF 80 */ bne lbl_802878BC
/* 80287940 002835A0 89 5D 00 00 */ lbz r10, 0(r29)
/* 80287944 002835A4 7D 4A 07 74 */ extsb r10, r10
/* 80287948 002835A8 2C 0A 00 2F */ cmpwi r10, 0x2f
/* 8028794C 002835AC 41 82 00 0C */ beq lbl_80287958
/* 80287950 002835B0 2C 0A 00 00 */ cmpwi r10, 0
/* 80287954 002835B4 40 82 00 0C */ bne lbl_80287960
lbl_80287958:
/* 80287958 002835B8 39 40 00 01 */ li r10, 1
/* 8028795C 002835BC 48 00 00 08 */ b lbl_80287964
lbl_80287960:
/* 80287960 002835C0 39 40 00 00 */ li r10, 0
lbl_80287964:
/* 80287964 002835C4 2C 0A 00 01 */ cmpwi r10, 1
/* 80287968 002835C8 41 82 00 28 */ beq lbl_80287990
lbl_8028796C:
/* 8028796C 002835CC 2C 07 00 00 */ cmpwi r7, 0
/* 80287970 002835D0 41 82 00 0C */ beq lbl_8028797C
/* 80287974 002835D4 80 66 00 08 */ lwz r3, 8(r6)
/* 80287978 002835D8 48 00 00 08 */ b lbl_80287980
lbl_8028797C:
/* 8028797C 002835DC 38 63 00 01 */ addi r3, r3, 1
lbl_80287980:
/* 80287980 002835E0 7C 03 28 40 */ cmplw r3, r5
/* 80287984 002835E4 41 80 FF 10 */ blt lbl_80287894
/* 80287988 002835E8 38 60 FF FF */ li r3, -1
/* 8028798C 002835EC 48 00 00 20 */ b lbl_802879AC
lbl_80287990:
/* 80287990 002835F0 2C 00 00 00 */ cmpwi r0, 0
/* 80287994 002835F4 40 82 00 08 */ bne lbl_8028799C
/* 80287998 002835F8 48 00 00 14 */ b lbl_802879AC
lbl_8028799C:
/* 8028799C 002835FC 7C 89 D2 14 */ add r4, r9, r26
/* 802879A0 00283600 7C 7D 1B 78 */ mr r29, r3
/* 802879A4 00283604 3B 44 00 01 */ addi r26, r4, 1
/* 802879A8 00283608 4B FF FD 40 */ b lbl_802876E8
lbl_802879AC:
/* 802879AC 0028360C 39 61 00 30 */ addi r11, r1, 0x30
/* 802879B0 00283610 4B F3 F7 B9 */ bl _restgpr_24
/* 802879B4 00283614 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802879B8 00283618 7C 08 03 A6 */ mtlr r0
/* 802879BC 0028361C 38 21 00 30 */ addi r1, r1, 0x30
/* 802879C0 00283620 4E 80 00 20 */ blr
.global DVDFastOpen
DVDFastOpen:
/* 802879C4 00283624 2C 03 00 00 */ cmpwi r3, 0
/* 802879C8 00283628 41 80 00 24 */ blt lbl_802879EC
/* 802879CC 0028362C 80 0D AA 00 */ lwz r0, lbl_8063FCC0-_SDA_BASE_(r13)
/* 802879D0 00283630 7C 03 00 40 */ cmplw r3, r0
/* 802879D4 00283634 40 80 00 18 */ bge lbl_802879EC
/* 802879D8 00283638 1C E3 00 0C */ mulli r7, r3, 0xc
/* 802879DC 0028363C 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
/* 802879E0 00283640 7C 03 38 2E */ lwzx r0, r3, r7
/* 802879E4 00283644 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 802879E8 00283648 41 82 00 0C */ beq lbl_802879F4
lbl_802879EC:
/* 802879EC 0028364C 38 60 00 00 */ li r3, 0
/* 802879F0 00283650 4E 80 00 20 */ blr
lbl_802879F4:
/* 802879F4 00283654 7C 63 3A 14 */ add r3, r3, r7
/* 802879F8 00283658 80 AD AA 48 */ lwz r5, lbl_8063FD08-_SDA_BASE_(r13)
/* 802879FC 0028365C 80 C3 00 04 */ lwz r6, 4(r3)
/* 80287A00 00283660 38 00 00 00 */ li r0, 0
/* 80287A04 00283664 38 60 00 01 */ li r3, 1
/* 80287A08 00283668 7C C5 2C 30 */ srw r5, r6, r5
/* 80287A0C 0028366C 90 A4 00 30 */ stw r5, 0x30(r4)
/* 80287A10 00283670 80 AD AA 08 */ lwz r5, lbl_8063FCC8-_SDA_BASE_(r13)
/* 80287A14 00283674 7C A5 3A 14 */ add r5, r5, r7
/* 80287A18 00283678 80 A5 00 08 */ lwz r5, 8(r5)
/* 80287A1C 0028367C 90 A4 00 34 */ stw r5, 0x34(r4)
/* 80287A20 00283680 90 04 00 38 */ stw r0, 0x38(r4)
/* 80287A24 00283684 90 04 00 0C */ stw r0, 0xc(r4)
/* 80287A28 00283688 4E 80 00 20 */ blr
.global DVDOpen
DVDOpen:
/* 80287A2C 0028368C 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 80287A30 00283690 7C 08 02 A6 */ mflr r0
/* 80287A34 00283694 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 80287A38 00283698 39 61 00 A0 */ addi r11, r1, 0xa0
/* 80287A3C 0028369C 4B F3 F6 ED */ bl _savegpr_27
/* 80287A40 002836A0 7C 7C 1B 78 */ mr r28, r3
/* 80287A44 002836A4 7C 9B 23 78 */ mr r27, r4
/* 80287A48 002836A8 4B FF FC 75 */ bl DVDConvertPathToEntrynum
/* 80287A4C 002836AC 2C 03 00 00 */ cmpwi r3, 0
/* 80287A50 002836B0 40 80 02 20 */ bge lbl_80287C70
/* 80287A54 002836B4 83 AD A9 F0 */ lwz r29, lbl_8063FCB0-_SDA_BASE_(r13)
/* 80287A58 002836B8 2C 1D 00 00 */ cmpwi r29, 0
/* 80287A5C 002836BC 40 82 00 0C */ bne lbl_80287A68
/* 80287A60 002836C0 38 80 00 00 */ li r4, 0
/* 80287A64 002836C4 48 00 01 90 */ b lbl_80287BF4
lbl_80287A68:
/* 80287A68 002836C8 81 0D AA 08 */ lwz r8, lbl_8063FCC8-_SDA_BASE_(r13)
/* 80287A6C 002836CC 1C 1D 00 0C */ mulli r0, r29, 0xc
/* 80287A70 002836D0 80 ED AA 04 */ lwz r7, lbl_8063FCC4-_SDA_BASE_(r13)
/* 80287A74 002836D4 38 C8 00 04 */ addi r6, r8, 4
/* 80287A78 002836D8 7C 66 00 2E */ lwzx r3, r6, r0
/* 80287A7C 002836DC 7C 08 00 2E */ lwzx r0, r8, r0
/* 80287A80 002836E0 2C 03 00 00 */ cmpwi r3, 0
/* 80287A84 002836E4 54 00 02 3E */ clrlwi r0, r0, 8
/* 80287A88 002836E8 7F C7 02 14 */ add r30, r7, r0
/* 80287A8C 002836EC 40 82 00 0C */ bne lbl_80287A98
/* 80287A90 002836F0 38 80 00 00 */ li r4, 0
/* 80287A94 002836F4 48 00 01 04 */ b lbl_80287B98
lbl_80287A98:
/* 80287A98 002836F8 1C 03 00 0C */ mulli r0, r3, 0xc
/* 80287A9C 002836FC 7C 66 00 2E */ lwzx r3, r6, r0
/* 80287AA0 00283700 7C 08 00 2E */ lwzx r0, r8, r0
/* 80287AA4 00283704 2C 03 00 00 */ cmpwi r3, 0
/* 80287AA8 00283708 54 00 02 3E */ clrlwi r0, r0, 8
/* 80287AAC 0028370C 7F E7 02 14 */ add r31, r7, r0
/* 80287AB0 00283710 40 82 00 0C */ bne lbl_80287ABC
/* 80287AB4 00283714 38 80 00 00 */ li r4, 0
/* 80287AB8 00283718 48 00 00 84 */ b lbl_80287B3C
lbl_80287ABC:
/* 80287ABC 0028371C 1C 63 00 0C */ mulli r3, r3, 0xc
/* 80287AC0 00283720 38 81 00 08 */ addi r4, r1, 8
/* 80287AC4 00283724 38 A0 00 80 */ li r5, 0x80
/* 80287AC8 00283728 7C 08 18 2E */ lwzx r0, r8, r3
/* 80287ACC 0028372C 7C 66 18 2E */ lwzx r3, r6, r3
/* 80287AD0 00283730 54 00 02 3E */ clrlwi r0, r0, 8
/* 80287AD4 00283734 7F 67 02 14 */ add r27, r7, r0
/* 80287AD8 00283738 48 00 02 25 */ bl entryToPath
/* 80287ADC 0028373C 28 03 00 80 */ cmplwi r3, 0x80
/* 80287AE0 00283740 7C 64 1B 78 */ mr r4, r3
/* 80287AE4 00283744 40 82 00 08 */ bne lbl_80287AEC
/* 80287AE8 00283748 48 00 00 54 */ b lbl_80287B3C
lbl_80287AEC:
/* 80287AEC 0028374C 38 83 00 01 */ addi r4, r3, 1
/* 80287AF0 00283750 38 A1 00 08 */ addi r5, r1, 8
/* 80287AF4 00283754 38 00 00 2F */ li r0, 0x2f
/* 80287AF8 00283758 7C 05 19 AE */ stbx r0, r5, r3
/* 80287AFC 0028375C 20 C4 00 80 */ subfic r6, r4, 0x80
/* 80287B00 00283760 7C C3 33 78 */ mr r3, r6
/* 80287B04 00283764 7C A5 22 14 */ add r5, r5, r4
/* 80287B08 00283768 48 00 00 18 */ b lbl_80287B20
lbl_80287B0C:
/* 80287B0C 0028376C 88 1B 00 00 */ lbz r0, 0(r27)
/* 80287B10 00283770 38 63 FF FF */ addi r3, r3, -1
/* 80287B14 00283774 3B 7B 00 01 */ addi r27, r27, 1
/* 80287B18 00283778 98 05 00 00 */ stb r0, 0(r5)
/* 80287B1C 0028377C 38 A5 00 01 */ addi r5, r5, 1
lbl_80287B20:
/* 80287B20 00283780 2C 03 00 00 */ cmpwi r3, 0
/* 80287B24 00283784 41 82 00 10 */ beq lbl_80287B34
/* 80287B28 00283788 88 1B 00 00 */ lbz r0, 0(r27)
/* 80287B2C 0028378C 7C 00 07 75 */ extsb. r0, r0
/* 80287B30 00283790 40 82 FF DC */ bne lbl_80287B0C
lbl_80287B34:
/* 80287B34 00283794 7C 03 30 50 */ subf r0, r3, r6
/* 80287B38 00283798 7C 84 02 14 */ add r4, r4, r0
lbl_80287B3C:
/* 80287B3C 0028379C 28 04 00 80 */ cmplwi r4, 0x80
/* 80287B40 002837A0 40 82 00 08 */ bne lbl_80287B48
/* 80287B44 002837A4 48 00 00 54 */ b lbl_80287B98
lbl_80287B48:
/* 80287B48 002837A8 38 A4 00 01 */ addi r5, r4, 1
/* 80287B4C 002837AC 38 61 00 08 */ addi r3, r1, 8
/* 80287B50 002837B0 38 00 00 2F */ li r0, 0x2f
/* 80287B54 002837B4 7C 03 21 AE */ stbx r0, r3, r4
/* 80287B58 002837B8 20 C5 00 80 */ subfic r6, r5, 0x80
/* 80287B5C 002837BC 7C C4 33 78 */ mr r4, r6
/* 80287B60 002837C0 7C 63 2A 14 */ add r3, r3, r5
/* 80287B64 002837C4 48 00 00 18 */ b lbl_80287B7C
lbl_80287B68:
/* 80287B68 002837C8 88 1F 00 00 */ lbz r0, 0(r31)
/* 80287B6C 002837CC 38 84 FF FF */ addi r4, r4, -1
/* 80287B70 002837D0 3B FF 00 01 */ addi r31, r31, 1
/* 80287B74 002837D4 98 03 00 00 */ stb r0, 0(r3)
/* 80287B78 002837D8 38 63 00 01 */ addi r3, r3, 1
lbl_80287B7C:
/* 80287B7C 002837DC 2C 04 00 00 */ cmpwi r4, 0
/* 80287B80 002837E0 41 82 00 10 */ beq lbl_80287B90
/* 80287B84 002837E4 88 1F 00 00 */ lbz r0, 0(r31)
/* 80287B88 002837E8 7C 00 07 75 */ extsb. r0, r0
/* 80287B8C 002837EC 40 82 FF DC */ bne lbl_80287B68
lbl_80287B90:
/* 80287B90 002837F0 7C 04 30 50 */ subf r0, r4, r6
/* 80287B94 002837F4 7C 85 02 14 */ add r4, r5, r0
lbl_80287B98:
/* 80287B98 002837F8 28 04 00 80 */ cmplwi r4, 0x80
/* 80287B9C 002837FC 40 82 00 08 */ bne lbl_80287BA4
/* 80287BA0 00283800 48 00 00 54 */ b lbl_80287BF4
lbl_80287BA4:
/* 80287BA4 00283804 38 A4 00 01 */ addi r5, r4, 1
/* 80287BA8 00283808 38 61 00 08 */ addi r3, r1, 8
/* 80287BAC 0028380C 38 00 00 2F */ li r0, 0x2f
/* 80287BB0 00283810 7C 03 21 AE */ stbx r0, r3, r4
/* 80287BB4 00283814 20 C5 00 80 */ subfic r6, r5, 0x80
/* 80287BB8 00283818 7C C4 33 78 */ mr r4, r6
/* 80287BBC 0028381C 7C 63 2A 14 */ add r3, r3, r5
/* 80287BC0 00283820 48 00 00 18 */ b lbl_80287BD8
lbl_80287BC4:
/* 80287BC4 00283824 88 1E 00 00 */ lbz r0, 0(r30)
/* 80287BC8 00283828 38 84 FF FF */ addi r4, r4, -1
/* 80287BCC 0028382C 3B DE 00 01 */ addi r30, r30, 1
/* 80287BD0 00283830 98 03 00 00 */ stb r0, 0(r3)
/* 80287BD4 00283834 38 63 00 01 */ addi r3, r3, 1
lbl_80287BD8:
/* 80287BD8 00283838 2C 04 00 00 */ cmpwi r4, 0
/* 80287BDC 0028383C 41 82 00 10 */ beq lbl_80287BEC
/* 80287BE0 00283840 88 1E 00 00 */ lbz r0, 0(r30)
/* 80287BE4 00283844 7C 00 07 75 */ extsb. r0, r0
/* 80287BE8 00283848 40 82 FF DC */ bne lbl_80287BC4
lbl_80287BEC:
/* 80287BEC 0028384C 7C 04 30 50 */ subf r0, r4, r6
/* 80287BF0 00283850 7C 85 02 14 */ add r4, r5, r0
lbl_80287BF4:
/* 80287BF4 00283854 28 04 00 80 */ cmplwi r4, 0x80
/* 80287BF8 00283858 40 82 00 10 */ bne lbl_80287C08
/* 80287BFC 0028385C 38 00 00 00 */ li r0, 0
/* 80287C00 00283860 98 01 00 87 */ stb r0, 0x87(r1)
/* 80287C04 00283864 48 00 00 4C */ b lbl_80287C50
lbl_80287C08:
/* 80287C08 00283868 1C 1D 00 0C */ mulli r0, r29, 0xc
/* 80287C0C 0028386C 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
/* 80287C10 00283870 7C 03 00 2E */ lwzx r0, r3, r0
/* 80287C14 00283874 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 80287C18 00283878 41 82 00 2C */ beq lbl_80287C44
/* 80287C1C 0028387C 28 04 00 7F */ cmplwi r4, 0x7f
/* 80287C20 00283880 40 82 00 14 */ bne lbl_80287C34
/* 80287C24 00283884 38 61 00 08 */ addi r3, r1, 8
/* 80287C28 00283888 38 00 00 00 */ li r0, 0
/* 80287C2C 0028388C 7C 03 21 AE */ stbx r0, r3, r4
/* 80287C30 00283890 48 00 00 20 */ b lbl_80287C50
lbl_80287C34:
/* 80287C34 00283894 38 61 00 08 */ addi r3, r1, 8
/* 80287C38 00283898 38 00 00 2F */ li r0, 0x2f
/* 80287C3C 0028389C 7C 03 21 AE */ stbx r0, r3, r4
/* 80287C40 002838A0 38 84 00 01 */ addi r4, r4, 1
lbl_80287C44:
/* 80287C44 002838A4 38 61 00 08 */ addi r3, r1, 8
/* 80287C48 002838A8 38 00 00 00 */ li r0, 0
/* 80287C4C 002838AC 7C 03 21 AE */ stbx r0, r3, r4
lbl_80287C50:
/* 80287C50 002838B0 3C 60 80 43 */ lis r3, lbl_80435E30@ha
/* 80287C54 002838B4 7F 84 E3 78 */ mr r4, r28
/* 80287C58 002838B8 38 63 5E 30 */ addi r3, r3, lbl_80435E30@l
/* 80287C5C 002838BC 38 A1 00 08 */ addi r5, r1, 8
/* 80287C60 002838C0 4C C6 31 82 */ crclr 6
/* 80287C64 002838C4 4B D7 FE 61 */ bl OSReport
/* 80287C68 002838C8 38 60 00 00 */ li r3, 0
/* 80287C6C 002838CC 48 00 00 54 */ b lbl_80287CC0
lbl_80287C70:
/* 80287C70 002838D0 1C C3 00 0C */ mulli r6, r3, 0xc
/* 80287C74 002838D4 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
/* 80287C78 002838D8 7C 03 30 2E */ lwzx r0, r3, r6
/* 80287C7C 002838DC 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
/* 80287C80 002838E0 41 82 00 0C */ beq lbl_80287C8C
/* 80287C84 002838E4 38 60 00 00 */ li r3, 0
/* 80287C88 002838E8 48 00 00 38 */ b lbl_80287CC0
lbl_80287C8C:
/* 80287C8C 002838EC 7C 63 32 14 */ add r3, r3, r6
/* 80287C90 002838F0 80 8D AA 48 */ lwz r4, lbl_8063FD08-_SDA_BASE_(r13)
/* 80287C94 002838F4 80 A3 00 04 */ lwz r5, 4(r3)
/* 80287C98 002838F8 38 00 00 00 */ li r0, 0
/* 80287C9C 002838FC 38 60 00 01 */ li r3, 1
/* 80287CA0 00283900 7C A4 24 30 */ srw r4, r5, r4
/* 80287CA4 00283904 90 9B 00 30 */ stw r4, 0x30(r27)
/* 80287CA8 00283908 80 8D AA 08 */ lwz r4, lbl_8063FCC8-_SDA_BASE_(r13)
/* 80287CAC 0028390C 7C 84 32 14 */ add r4, r4, r6
/* 80287CB0 00283910 80 84 00 08 */ lwz r4, 8(r4)
/* 80287CB4 00283914 90 9B 00 34 */ stw r4, 0x34(r27)
/* 80287CB8 00283918 90 1B 00 38 */ stw r0, 0x38(r27)
/* 80287CBC 0028391C 90 1B 00 0C */ stw r0, 0xc(r27)
lbl_80287CC0:
/* 80287CC0 00283920 39 61 00 A0 */ addi r11, r1, 0xa0
/* 80287CC4 00283924 4B F3 F4 B1 */ bl _restgpr_27
/* 80287CC8 00283928 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 80287CCC 0028392C 7C 08 03 A6 */ mtlr r0
/* 80287CD0 00283930 38 21 00 A0 */ addi r1, r1, 0xa0
/* 80287CD4 00283934 4E 80 00 20 */ blr
.global DVDClose
DVDClose:
/* 80287CD8 00283938 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80287CDC 0028393C 7C 08 02 A6 */ mflr r0
/* 80287CE0 00283940 90 01 00 14 */ stw r0, 0x14(r1)
/* 80287CE4 00283944 48 00 46 39 */ bl DVDCancel
/* 80287CE8 00283948 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80287CEC 0028394C 38 60 00 01 */ li r3, 1
/* 80287CF0 00283950 7C 08 03 A6 */ mtlr r0
/* 80287CF4 00283954 38 21 00 10 */ addi r1, r1, 0x10
/* 80287CF8 00283958 4E 80 00 20 */ blr
.global entryToPath
entryToPath:
/* 80287CFC 0028395C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80287D00 00283960 7C 08 02 A6 */ mflr r0
/* 80287D04 00283964 90 01 00 24 */ stw r0, 0x24(r1)
/* 80287D08 00283968 39 61 00 20 */ addi r11, r1, 0x20
/* 80287D0C 0028396C 4B F3 F4 1D */ bl _savegpr_27
/* 80287D10 00283970 2C 03 00 00 */ cmpwi r3, 0
/* 80287D14 00283974 7C 9C 23 78 */ mr r28, r4
/* 80287D18 00283978 7C BD 2B 78 */ mr r29, r5
/* 80287D1C 0028397C 40 82 00 0C */ bne lbl_80287D28
/* 80287D20 00283980 38 60 00 00 */ li r3, 0
/* 80287D24 00283984 48 00 01 80 */ b lbl_80287EA4
lbl_80287D28:
/* 80287D28 00283988 81 0D AA 08 */ lwz r8, lbl_8063FCC8-_SDA_BASE_(r13)
/* 80287D2C 0028398C 1C 03 00 0C */ mulli r0, r3, 0xc
/* 80287D30 00283990 80 ED AA 04 */ lwz r7, lbl_8063FCC4-_SDA_BASE_(r13)
/* 80287D34 00283994 38 C8 00 04 */ addi r6, r8, 4
/* 80287D38 00283998 7C 66 00 2E */ lwzx r3, r6, r0
/* 80287D3C 0028399C 7C 08 00 2E */ lwzx r0, r8, r0
/* 80287D40 002839A0 2C 03 00 00 */ cmpwi r3, 0
/* 80287D44 002839A4 54 00 02 3E */ clrlwi r0, r0, 8
/* 80287D48 002839A8 7F C7 02 14 */ add r30, r7, r0
/* 80287D4C 002839AC 40 82 00 0C */ bne lbl_80287D58
/* 80287D50 002839B0 38 80 00 00 */ li r4, 0
/* 80287D54 002839B4 48 00 00 F4 */ b lbl_80287E48
lbl_80287D58:
/* 80287D58 002839B8 1C 03 00 0C */ mulli r0, r3, 0xc
/* 80287D5C 002839BC 7C 66 00 2E */ lwzx r3, r6, r0
/* 80287D60 002839C0 7C 08 00 2E */ lwzx r0, r8, r0
/* 80287D64 002839C4 2C 03 00 00 */ cmpwi r3, 0
/* 80287D68 002839C8 54 00 02 3E */ clrlwi r0, r0, 8
/* 80287D6C 002839CC 7F E7 02 14 */ add r31, r7, r0
/* 80287D70 002839D0 40 82 00 0C */ bne lbl_80287D7C
/* 80287D74 002839D4 38 80 00 00 */ li r4, 0
/* 80287D78 002839D8 48 00 00 78 */ b lbl_80287DF0
lbl_80287D7C:
/* 80287D7C 002839DC 1C 63 00 0C */ mulli r3, r3, 0xc
/* 80287D80 002839E0 7C 08 18 2E */ lwzx r0, r8, r3
/* 80287D84 002839E4 7C 66 18 2E */ lwzx r3, r6, r3
/* 80287D88 002839E8 54 00 02 3E */ clrlwi r0, r0, 8
/* 80287D8C 002839EC 7F 67 02 14 */ add r27, r7, r0
/* 80287D90 002839F0 4B FF FF 6D */ bl entryToPath
/* 80287D94 002839F4 7C 03 E8 40 */ cmplw r3, r29
/* 80287D98 002839F8 7C 64 1B 78 */ mr r4, r3
/* 80287D9C 002839FC 40 82 00 08 */ bne lbl_80287DA4
/* 80287DA0 00283A00 48 00 00 50 */ b lbl_80287DF0
lbl_80287DA4:
/* 80287DA4 00283A04 38 83 00 01 */ addi r4, r3, 1
/* 80287DA8 00283A08 38 00 00 2F */ li r0, 0x2f
/* 80287DAC 00283A0C 7C C4 E8 50 */ subf r6, r4, r29
/* 80287DB0 00283A10 7C 1C 19 AE */ stbx r0, r28, r3
/* 80287DB4 00283A14 7C 7C 22 14 */ add r3, r28, r4
/* 80287DB8 00283A18 7C C5 33 78 */ mr r5, r6
/* 80287DBC 00283A1C 48 00 00 18 */ b lbl_80287DD4
lbl_80287DC0:
/* 80287DC0 00283A20 88 1B 00 00 */ lbz r0, 0(r27)
/* 80287DC4 00283A24 38 A5 FF FF */ addi r5, r5, -1
/* 80287DC8 00283A28 3B 7B 00 01 */ addi r27, r27, 1
/* 80287DCC 00283A2C 98 03 00 00 */ stb r0, 0(r3)
/* 80287DD0 00283A30 38 63 00 01 */ addi r3, r3, 1
lbl_80287DD4:
/* 80287DD4 00283A34 2C 05 00 00 */ cmpwi r5, 0
/* 80287DD8 00283A38 41 82 00 10 */ beq lbl_80287DE8
/* 80287DDC 00283A3C 88 1B 00 00 */ lbz r0, 0(r27)
/* 80287DE0 00283A40 7C 00 07 75 */ extsb. r0, r0
/* 80287DE4 00283A44 40 82 FF DC */ bne lbl_80287DC0
lbl_80287DE8:
/* 80287DE8 00283A48 7C 05 30 50 */ subf r0, r5, r6
/* 80287DEC 00283A4C 7C 84 02 14 */ add r4, r4, r0
lbl_80287DF0:
/* 80287DF0 00283A50 7C 04 E8 40 */ cmplw r4, r29
/* 80287DF4 00283A54 40 82 00 08 */ bne lbl_80287DFC
/* 80287DF8 00283A58 48 00 00 50 */ b lbl_80287E48
lbl_80287DFC:
/* 80287DFC 00283A5C 38 64 00 01 */ addi r3, r4, 1
/* 80287E00 00283A60 38 00 00 2F */ li r0, 0x2f
/* 80287E04 00283A64 7C C3 E8 50 */ subf r6, r3, r29
/* 80287E08 00283A68 7C 1C 21 AE */ stbx r0, r28, r4
/* 80287E0C 00283A6C 7C 9C 1A 14 */ add r4, r28, r3
/* 80287E10 00283A70 7C C5 33 78 */ mr r5, r6
/* 80287E14 00283A74 48 00 00 18 */ b lbl_80287E2C
lbl_80287E18:
/* 80287E18 00283A78 88 1F 00 00 */ lbz r0, 0(r31)
/* 80287E1C 00283A7C 38 A5 FF FF */ addi r5, r5, -1
/* 80287E20 00283A80 3B FF 00 01 */ addi r31, r31, 1
/* 80287E24 00283A84 98 04 00 00 */ stb r0, 0(r4)
/* 80287E28 00283A88 38 84 00 01 */ addi r4, r4, 1
lbl_80287E2C:
/* 80287E2C 00283A8C 2C 05 00 00 */ cmpwi r5, 0
/* 80287E30 00283A90 41 82 00 10 */ beq lbl_80287E40
/* 80287E34 00283A94 88 1F 00 00 */ lbz r0, 0(r31)
/* 80287E38 00283A98 7C 00 07 75 */ extsb. r0, r0
/* 80287E3C 00283A9C 40 82 FF DC */ bne lbl_80287E18
lbl_80287E40:
/* 80287E40 00283AA0 7C 05 30 50 */ subf r0, r5, r6
/* 80287E44 00283AA4 7C 83 02 14 */ add r4, r3, r0
lbl_80287E48:
/* 80287E48 00283AA8 7C 04 E8 40 */ cmplw r4, r29
/* 80287E4C 00283AAC 40 82 00 0C */ bne lbl_80287E58
/* 80287E50 00283AB0 7C 83 23 78 */ mr r3, r4
/* 80287E54 00283AB4 48 00 00 50 */ b lbl_80287EA4
lbl_80287E58:
/* 80287E58 00283AB8 38 C4 00 01 */ addi r6, r4, 1
/* 80287E5C 00283ABC 38 00 00 2F */ li r0, 0x2f
/* 80287E60 00283AC0 7C A6 E8 50 */ subf r5, r6, r29
/* 80287E64 00283AC4 7C 1C 21 AE */ stbx r0, r28, r4
/* 80287E68 00283AC8 7C 7C 32 14 */ add r3, r28, r6
/* 80287E6C 00283ACC 7C A4 2B 78 */ mr r4, r5
/* 80287E70 00283AD0 48 00 00 18 */ b lbl_80287E88
lbl_80287E74:
/* 80287E74 00283AD4 88 1E 00 00 */ lbz r0, 0(r30)
/* 80287E78 00283AD8 38 84 FF FF */ addi r4, r4, -1
/* 80287E7C 00283ADC 3B DE 00 01 */ addi r30, r30, 1
/* 80287E80 00283AE0 98 03 00 00 */ stb r0, 0(r3)
/* 80287E84 00283AE4 38 63 00 01 */ addi r3, r3, 1
lbl_80287E88:
/* 80287E88 00283AE8 2C 04 00 00 */ cmpwi r4, 0
/* 80287E8C 00283AEC 41 82 00 10 */ beq lbl_80287E9C
/* 80287E90 00283AF0 88 1E 00 00 */ lbz r0, 0(r30)
/* 80287E94 00283AF4 7C 00 07 75 */ extsb. r0, r0
/* 80287E98 00283AF8 40 82 FF DC */ bne lbl_80287E74
lbl_80287E9C:
/* 80287E9C 00283AFC 7C 04 28 50 */ subf r0, r4, r5
/* 80287EA0 00283B00 7C 66 02 14 */ add r3, r6, r0
lbl_80287EA4:
/* 80287EA4 00283B04 39 61 00 20 */ addi r11, r1, 0x20
/* 80287EA8 00283B08 4B F3 F2 CD */ bl _restgpr_27
/* 80287EAC 00283B0C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80287EB0 00283B10 7C 08 03 A6 */ mtlr r0
/* 80287EB4 00283B14 38 21 00 20 */ addi r1, r1, 0x20
/* 80287EB8 00283B18 4E 80 00 20 */ blr
.global DVDReadAsyncPrio
DVDReadAsyncPrio:
/* 80287EBC 00283B1C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80287EC0 00283B20 7C 08 02 A6 */ mflr r0
/* 80287EC4 00283B24 90 01 00 24 */ stw r0, 0x24(r1)
/* 80287EC8 00283B28 39 61 00 20 */ addi r11, r1, 0x20
/* 80287ECC 00283B2C 4B F3 F2 59 */ bl _savegpr_26
/* 80287ED0 00283B30 2C 06 00 00 */ cmpwi r6, 0
/* 80287ED4 00283B34 7C 7A 1B 78 */ mr r26, r3
/* 80287ED8 00283B38 7C 9B 23 78 */ mr r27, r4
/* 80287EDC 00283B3C 7C BC 2B 78 */ mr r28, r5
/* 80287EE0 00283B40 7C DD 33 78 */ mr r29, r6
/* 80287EE4 00283B44 7C FE 3B 78 */ mr r30, r7
/* 80287EE8 00283B48 7D 1F 43 78 */ mr r31, r8
/* 80287EEC 00283B4C 41 80 00 10 */ blt lbl_80287EFC
/* 80287EF0 00283B50 80 03 00 34 */ lwz r0, 0x34(r3)
/* 80287EF4 00283B54 7C 06 00 40 */ cmplw r6, r0
/* 80287EF8 00283B58 40 81 00 1C */ ble lbl_80287F14
lbl_80287EFC:
/* 80287EFC 00283B5C 3C A0 80 43 */ lis r5, lbl_80435E68@ha
/* 80287F00 00283B60 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
/* 80287F04 00283B64 38 A5 5E 68 */ addi r5, r5, lbl_80435E68@l
/* 80287F08 00283B68 38 80 03 37 */ li r4, 0x337
/* 80287F0C 00283B6C 4C C6 31 82 */ crclr 6
/* 80287F10 00283B70 4B FE 35 8D */ bl OSPanic
lbl_80287F14:
/* 80287F14 00283B74 7C 9D E2 15 */ add. r4, r29, r28
/* 80287F18 00283B78 41 80 00 14 */ blt lbl_80287F2C
/* 80287F1C 00283B7C 80 7A 00 34 */ lwz r3, 0x34(r26)
/* 80287F20 00283B80 38 03 00 20 */ addi r0, r3, 0x20
/* 80287F24 00283B84 7C 04 00 40 */ cmplw r4, r0
/* 80287F28 00283B88 41 80 00 1C */ blt lbl_80287F44
lbl_80287F2C:
/* 80287F2C 00283B8C 3C A0 80 43 */ lis r5, lbl_80435E68@ha
/* 80287F30 00283B90 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
/* 80287F34 00283B94 38 A5 5E 68 */ addi r5, r5, lbl_80435E68@l
/* 80287F38 00283B98 38 80 03 3D */ li r4, 0x33d
/* 80287F3C 00283B9C 4C C6 31 82 */ crclr 6
/* 80287F40 00283BA0 4B FE 35 5D */ bl OSPanic
lbl_80287F44:
/* 80287F44 00283BA4 80 DA 00 30 */ lwz r6, 0x30(r26)
/* 80287F48 00283BA8 7F A0 16 70 */ srawi r0, r29, 2
/* 80287F4C 00283BAC 3C E0 80 28 */ lis r7, cbForReadAsync@ha
/* 80287F50 00283BB0 93 DA 00 38 */ stw r30, 0x38(r26)
/* 80287F54 00283BB4 7F 43 D3 78 */ mr r3, r26
/* 80287F58 00283BB8 7F 64 DB 78 */ mr r4, r27
/* 80287F5C 00283BBC 7F 85 E3 78 */ mr r5, r28
/* 80287F60 00283BC0 7F E8 FB 78 */ mr r8, r31
/* 80287F64 00283BC4 7C C6 02 14 */ add r6, r6, r0
/* 80287F68 00283BC8 38 E7 7F 8C */ addi r7, r7, cbForReadAsync@l
/* 80287F6C 00283BCC 48 00 3C 09 */ bl DVDReadAbsAsyncPrio
/* 80287F70 00283BD0 39 61 00 20 */ addi r11, r1, 0x20
/* 80287F74 00283BD4 38 60 00 01 */ li r3, 1
/* 80287F78 00283BD8 4B F3 F1 F9 */ bl _restgpr_26
/* 80287F7C 00283BDC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80287F80 00283BE0 7C 08 03 A6 */ mtlr r0
/* 80287F84 00283BE4 38 21 00 20 */ addi r1, r1, 0x20
/* 80287F88 00283BE8 4E 80 00 20 */ blr
.global cbForReadAsync
cbForReadAsync:
/* 80287F8C 00283BEC 81 84 00 38 */ lwz r12, 0x38(r4)
/* 80287F90 00283BF0 2C 0C 00 00 */ cmpwi r12, 0
/* 80287F94 00283BF4 4D 82 00 20 */ beqlr
/* 80287F98 00283BF8 7D 89 03 A6 */ mtctr r12
/* 80287F9C 00283BFC 4E 80 04 20 */ bctr
/* 80287FA0 00283C00 4E 80 00 20 */ blr
.global DVDReadPrio
DVDReadPrio:
/* 80287FA4 00283C04 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80287FA8 00283C08 7C 08 02 A6 */ mflr r0
/* 80287FAC 00283C0C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80287FB0 00283C10 39 61 00 20 */ addi r11, r1, 0x20
/* 80287FB4 00283C14 4B F3 F1 75 */ bl _savegpr_27
/* 80287FB8 00283C18 2C 06 00 00 */ cmpwi r6, 0
/* 80287FBC 00283C1C 7C 7B 1B 78 */ mr r27, r3
/* 80287FC0 00283C20 7C 9C 23 78 */ mr r28, r4
/* 80287FC4 00283C24 7C BD 2B 78 */ mr r29, r5
/* 80287FC8 00283C28 7C DF 33 78 */ mr r31, r6
/* 80287FCC 00283C2C 7C FE 3B 78 */ mr r30, r7
/* 80287FD0 00283C30 41 80 00 10 */ blt lbl_80287FE0
/* 80287FD4 00283C34 80 03 00 34 */ lwz r0, 0x34(r3)
/* 80287FD8 00283C38 7C 06 00 40 */ cmplw r6, r0
/* 80287FDC 00283C3C 40 81 00 1C */ ble lbl_80287FF8
lbl_80287FE0:
/* 80287FE0 00283C40 3C A0 80 43 */ lis r5, lbl_80435E9C@ha
/* 80287FE4 00283C44 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
/* 80287FE8 00283C48 38 A5 5E 9C */ addi r5, r5, lbl_80435E9C@l
/* 80287FEC 00283C4C 38 80 03 7D */ li r4, 0x37d
/* 80287FF0 00283C50 4C C6 31 82 */ crclr 6
/* 80287FF4 00283C54 4B FE 34 A9 */ bl OSPanic
lbl_80287FF8:
/* 80287FF8 00283C58 7C 9F EA 15 */ add. r4, r31, r29
/* 80287FFC 00283C5C 41 80 00 14 */ blt lbl_80288010
/* 80288000 00283C60 80 7B 00 34 */ lwz r3, 0x34(r27)
/* 80288004 00283C64 38 03 00 20 */ addi r0, r3, 0x20
/* 80288008 00283C68 7C 04 00 40 */ cmplw r4, r0
/* 8028800C 00283C6C 41 80 00 1C */ blt lbl_80288028
lbl_80288010:
/* 80288010 00283C70 3C A0 80 43 */ lis r5, lbl_80435E9C@ha
/* 80288014 00283C74 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
/* 80288018 00283C78 38 A5 5E 9C */ addi r5, r5, lbl_80435E9C@l
/* 8028801C 00283C7C 38 80 03 83 */ li r4, 0x383
/* 80288020 00283C80 4C C6 31 82 */ crclr 6
/* 80288024 00283C84 4B FE 34 79 */ bl OSPanic
lbl_80288028:
/* 80288028 00283C88 80 DB 00 30 */ lwz r6, 0x30(r27)
/* 8028802C 00283C8C 7F E0 16 70 */ srawi r0, r31, 2
/* 80288030 00283C90 3C E0 80 29 */ lis r7, cbForReadSync@ha
/* 80288034 00283C94 7F 63 DB 78 */ mr r3, r27
/* 80288038 00283C98 7F 84 E3 78 */ mr r4, r28
/* 8028803C 00283C9C 7F A5 EB 78 */ mr r5, r29
/* 80288040 00283CA0 7F C8 F3 78 */ mr r8, r30
/* 80288044 00283CA4 7C C6 02 14 */ add r6, r6, r0
/* 80288048 00283CA8 38 E7 80 CC */ addi r7, r7, cbForReadSync@l
/* 8028804C 00283CAC 48 00 3B 29 */ bl DVDReadAbsAsyncPrio
/* 80288050 00283CB0 2C 03 00 00 */ cmpwi r3, 0
/* 80288054 00283CB4 40 82 00 0C */ bne lbl_80288060
/* 80288058 00283CB8 38 60 FF FF */ li r3, -1
/* 8028805C 00283CBC 48 00 00 58 */ b lbl_802880B4
lbl_80288060:
/* 80288060 00283CC0 4B FE 66 FD */ bl OSDisableInterrupts
/* 80288064 00283CC4 7C 7F 1B 78 */ mr r31, r3
lbl_80288068:
/* 80288068 00283CC8 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 8028806C 00283CCC 2C 00 00 00 */ cmpwi r0, 0
/* 80288070 00283CD0 40 82 00 0C */ bne lbl_8028807C
/* 80288074 00283CD4 83 DB 00 20 */ lwz r30, 0x20(r27)
/* 80288078 00283CD8 48 00 00 30 */ b lbl_802880A8
lbl_8028807C:
/* 8028807C 00283CDC 2C 00 FF FF */ cmpwi r0, -1
/* 80288080 00283CE0 40 82 00 0C */ bne lbl_8028808C
/* 80288084 00283CE4 3B C0 FF FF */ li r30, -1
/* 80288088 00283CE8 48 00 00 20 */ b lbl_802880A8
lbl_8028808C:
/* 8028808C 00283CEC 2C 00 00 0A */ cmpwi r0, 0xa
/* 80288090 00283CF0 40 82 00 0C */ bne lbl_8028809C
/* 80288094 00283CF4 3B C0 FF FD */ li r30, -3
/* 80288098 00283CF8 48 00 00 10 */ b lbl_802880A8
lbl_8028809C:
/* 8028809C 00283CFC 38 6D A9 F8 */ addi r3, r13, lbl_8063FCB8-_SDA_BASE_
/* 802880A0 00283D00 4B FE A2 D5 */ bl OSSleepThread
/* 802880A4 00283D04 4B FF FF C4 */ b lbl_80288068
lbl_802880A8:
/* 802880A8 00283D08 7F E3 FB 78 */ mr r3, r31
/* 802880AC 00283D0C 4B FE 66 D9 */ bl OSRestoreInterrupts
/* 802880B0 00283D10 7F C3 F3 78 */ mr r3, r30
lbl_802880B4:
/* 802880B4 00283D14 39 61 00 20 */ addi r11, r1, 0x20
/* 802880B8 00283D18 4B F3 F0 BD */ bl _restgpr_27
/* 802880BC 00283D1C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802880C0 00283D20 7C 08 03 A6 */ mtlr r0
/* 802880C4 00283D24 38 21 00 20 */ addi r1, r1, 0x20
/* 802880C8 00283D28 4E 80 00 20 */ blr
.global cbForReadSync
cbForReadSync:
/* 802880CC 00283D2C 38 6D A9 F8 */ addi r3, r13, lbl_8063FCB8-_SDA_BASE_
/* 802880D0 00283D30 4B FE A3 90 */ b OSWakeupThread
.global DVDSeekAsyncPrio
DVDSeekAsyncPrio:
/* 802880D4 00283D34 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802880D8 00283D38 7C 08 02 A6 */ mflr r0
/* 802880DC 00283D3C 2C 04 00 00 */ cmpwi r4, 0
/* 802880E0 00283D40 90 01 00 24 */ stw r0, 0x24(r1)
/* 802880E4 00283D44 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802880E8 00283D48 7C DF 33 78 */ mr r31, r6
/* 802880EC 00283D4C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802880F0 00283D50 7C BE 2B 78 */ mr r30, r5
/* 802880F4 00283D54 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802880F8 00283D58 7C 9D 23 78 */ mr r29, r4
/* 802880FC 00283D5C 93 81 00 10 */ stw r28, 0x10(r1)
/* 80288100 00283D60 7C 7C 1B 78 */ mr r28, r3
/* 80288104 00283D64 41 80 00 10 */ blt lbl_80288114
/* 80288108 00283D68 80 03 00 34 */ lwz r0, 0x34(r3)
/* 8028810C 00283D6C 7C 04 00 40 */ cmplw r4, r0
/* 80288110 00283D70 40 81 00 1C */ ble lbl_8028812C
lbl_80288114:
/* 80288114 00283D74 3C A0 80 43 */ lis r5, lbl_80435ECC@ha
/* 80288118 00283D78 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
/* 8028811C 00283D7C 38 A5 5E CC */ addi r5, r5, lbl_80435ECC@l
/* 80288120 00283D80 38 80 03 D4 */ li r4, 0x3d4
/* 80288124 00283D84 4C C6 31 82 */ crclr 6
/* 80288128 00283D88 4B FE 33 75 */ bl OSPanic
lbl_8028812C:
/* 8028812C 00283D8C 80 9C 00 30 */ lwz r4, 0x30(r28)
/* 80288130 00283D90 7F A0 16 70 */ srawi r0, r29, 2
/* 80288134 00283D94 3C A0 80 29 */ lis r5, cbForSeekAsync@ha
/* 80288138 00283D98 93 DC 00 38 */ stw r30, 0x38(r28)
/* 8028813C 00283D9C 7F 83 E3 78 */ mr r3, r28
/* 80288140 00283DA0 7F E6 FB 78 */ mr r6, r31
/* 80288144 00283DA4 7C 84 02 14 */ add r4, r4, r0
/* 80288148 00283DA8 38 A5 81 74 */ addi r5, r5, cbForSeekAsync@l
/* 8028814C 00283DAC 48 00 3B 0D */ bl DVDSeekAbsAsyncPrio
/* 80288150 00283DB0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80288154 00283DB4 38 60 00 01 */ li r3, 1
/* 80288158 00283DB8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8028815C 00283DBC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80288160 00283DC0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80288164 00283DC4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80288168 00283DC8 7C 08 03 A6 */ mtlr r0
/* 8028816C 00283DCC 38 21 00 20 */ addi r1, r1, 0x20
/* 80288170 00283DD0 4E 80 00 20 */ blr
.global cbForSeekAsync
cbForSeekAsync:
/* 80288174 00283DD4 81 84 00 38 */ lwz r12, 0x38(r4)
/* 80288178 00283DD8 2C 0C 00 00 */ cmpwi r12, 0
/* 8028817C 00283DDC 4D 82 00 20 */ beqlr
/* 80288180 00283DE0 7D 89 03 A6 */ mtctr r12
/* 80288184 00283DE4 4E 80 04 20 */ bctr
/* 80288188 00283DE8 4E 80 00 20 */ blr
|