-
Notifications
You must be signed in to change notification settings - Fork 5
/
DVDLoader.txt
985 lines (918 loc) · 38.5 KB
/
DVDLoader.txt
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
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
81300598
void dprintf (char *fmt, ...);
813005E8 3C60CC00 lis r3, 0xCC00
813005EC 38000000 li r0, 0
813005F0 90036004 stw r0, 0x6004 (r3)
813005F4 38000011 li r0, 17
813005F8 900D82A8 stw r0, -0x7D58 (r13)
813005FC 4E800020 blr
81300600 38000005 li r0, 5
81300604 900D82A8 stw r0, -0x7D58 (r13)
81300608 4E800020 blr
8130060C 7C0802A6 mflr r0
81300610 90010004 stw r0, 4 (r1)
81300614 9421FFF8 stwu r1, -8 (r1)
81300618 800D82C4 lwz r0, -0x7D3C (r13)
8130061C 2C000000 cmpwi r0, 0
81300620 4182002C beq- 0x8130064C
81300624 38800000 li r4, 0
81300628 908D82C4 stw r4, -0x7D3C (r13)
8130062C 2C030000 cmpwi r3, 0
81300630 806D82BC lwz r3, -0x7D44 (r13)
81300634 800D82C0 lwz r0, -0x7D40 (r13)
81300638 7C030214 add r0, r3, r0
8130063C 900D82BC stw r0, -0x7D44 (r13)
81300640 4080000C bge- 0x8130064C
81300644 806D82B8 lwz r3, -0x7D48 (r13)
81300648 90830000 stw r4, 0 (r3)
8130064C 38600000 li r3, 0
81300650 48065121 bl 0x81365770
81300654 48000315 bl 0x81300968
81300658 8001000C lwz r0, 12 (r1)
8130065C 38210008 addi r1, r1, 8
81300660 7C0803A6 mtlr r0
81300664 4E800020 blr
81300668 7C0802A6 mflr r0
8130066C 90010004 stw r0, 4 (r1)
81300670 9421FFF0 stwu r1, -16 (r1)
81300674 93E1000C stw r31, 12 (r1)
81300678 800D82A8 lwz r0, -0x7D58 (r13)
8130067C 28000005 cmplwi r0, 5
81300680 40810040 ble- 0x813006C0
81300684 4805EBCD bl OSDisableInterrupts
81300688 80AD82B8 lwz r5, -0x7D48 (r13)
8130068C 38C00000 li r6, 0
81300690 3C80814B lis r4, 0x814B
81300694 90C50000 stw r6, 0 (r5)
81300698 38A00019 li r5, 25
8130069C 3804E720 subi r0, r4, 0x18E0
813006A0 90CD82BC stw r6, -0x7D44 (r13)
813006A4 7C7F1B78 or r31, r3, r3
813006A8 7C030378 or r3, r0, r0
813006AC 90AD82A8 stw r5, -0x7D58 (r13)
813006B0 38800000 li r4, 0
813006B4 48067CE5 bl DVDCancelAsync
813006B8 7FE3FB78 or r3, r31, r31
813006BC 4805EBBD bl OSRestoreInterrupts
813006C0 80010014 lwz r0, 20 (r1)
813006C4 83E1000C lwz r31, 12 (r1)
813006C8 38210010 addi r1, r1, 16
813006CC 7C0803A6 mtlr r0
813006D0 4E800020 blr
813006D4 906D82C8 stw r3, -0x7D38 (r13)
813006D8 908D82CC stw r4, -0x7D34 (r13)
813006DC 4E800020 blr
813006E8 7C0802A6 mflr r0
813006EC 3C608000 lis r3, 0x8000
813006F0 90010004 stw r0, 4 (r1)
813006F4 9421FFF0 stwu r1, -16 (r1)
813006F8 93E1000C stw r31, 12 (r1)
813006FC 806300F4 lwz r3, 244 (r3)
81300700 83E30018 lwz r31, 24 (r3)
81300704 48069DF5 bl 0x8136A4F8
81300708 2C030001 cmpwi r3, 1
8130070C 41820050 beq- 0x8130075C
81300710 40800010 bge- 0x81300720
81300714 2C030000 cmpwi r3, 0
81300718 40800014 bge- 0x8130072C
8130071C 48000060 b 0x8130077C
81300720 2C030003 cmpwi r3, 3
81300724 40800058 bge- 0x8130077C
81300728 48000044 b 0x8130076C
8130072C 3C60CC00 lis r3, 0xCC00
81300730 A003206E lhz r0, 0x206E (r3)
81300734 540007BD rlwinm. r0, r0, 0, 30, 30 mask:0x00000002
81300738 41820014 beq- 0x8130074C
8130073C 281F0000 cmplwi r31, 0
81300740 40820044 bne- 0x81300784
81300744 38600001 li r3, 1
81300748 4800005C b 0x813007A4
8130074C 281F0001 cmplwi r31, 1
81300750 40820034 bne- 0x81300784
81300754 38600001 li r3, 1
81300758 4800004C b 0x813007A4
8130075C 281F0002 cmplwi r31, 2
81300760 40820024 bne- 0x81300784
81300764 38600001 li r3, 1
81300768 4800003C b 0x813007A4
8130076C 281F0001 cmplwi r31, 1
81300770 40820014 bne- 0x81300784
81300774 38600001 li r3, 1
81300778 4800002C b 0x813007A4
8130077C 38600000 li r3, 0
81300780 48000024 b 0x813007A4
81300784 281F0003 cmplwi r31, 3
81300788 40820018 bne- 0x813007A0
8130078C 4805EA65 bl 0x8135F1F0
81300790 2C030000 cmpwi r3, 0
81300794 4182000C beq- 0x813007A0
81300798 38600001 li r3, 1
8130079C 48000008 b 0x813007A4
813007A0 38600000 li r3, 0
813007A4 80010014 lwz r0, 20 (r1)
813007A8 83E1000C lwz r31, 12 (r1)
813007AC 38210010 addi r1, r1, 16
813007B0 7C0803A6 mtlr r0
813007B4 4E800020 blr
813007B8 7C0802A6 mflr r0
813007BC 90010004 stw r0, 4 (r1)
813007C0 9421FFD8 stwu r1, -40 (r1)
813007C4 93E10024 stw r31, 36 (r1)
813007C8 93C10020 stw r30, 32 (r1)
813007CC 93A1001C stw r29, 28 (r1)
813007D0 7C7F1B78 or r31, r3, r3
813007D4 7C9E2378 or r30, r4, r4
813007D8 7CBD2B78 or r29, r5, r5
813007DC 4805C5D1 bl ICFlashInvalidate
813007E0 7C0004AC sync
813007E4 4C00012C isync
813007E8 7FA903A6 mtctr r29
813007EC 38000000 li r0, 0
813007F0 48000020 b 0x81300810
813007F4 7C1E07EC dcbz r30, r0
813007F8 7C1E00AC dcbf r30, r0
813007FC 3BDE0020 addi r30, r30, 32
81300800 4200FFF4 bdnz+ 0x813007F4
81300804 48000004 b 0x81300808
81300808 7FE803A6 mtlr r31
8130080C 4E800020 blr
81300810 4BFFFFE4 b 0x813007F4
81300814 8001002C lwz r0, 44 (r1)
81300818 83E10024 lwz r31, 36 (r1)
8130081C 83C10020 lwz r30, 32 (r1)
81300820 83A1001C lwz r29, 28 (r1)
81300824 38210028 addi r1, r1, 40
81300828 7C0803A6 mtlr r0
8130082C 4E800020 blr
81300830 7C0802A6 mflr r0
81300834 90010004 stw r0, 4 (r1)
81300838 9421FFF8 stwu r1, -8 (r1)
8130083C 48000004 b 0x81300840
81300840 48000004 b 0x81300844
81300844 4806B9D1 bl 0x8136C214
81300848 2C030000 cmpwi r3, 0
8130084C 4182FFF8 beq+ 0x81300844
81300850 4805EA01 bl OSDisableInterrupts
81300854 4805C30D bl __OSStopAudioSystem
81300858 4805AD89 bl OSGetConsoleType
8130085C 546000C6 rlwinm r0, r3, 0, 3, 3 mask:0x10000000
81300860 28000000 cmplwi r0, 0
81300864 40820024 bne- 0x81300888
81300868 3C608070 lis r3, 0x8070
8130086C 38800000 li r4, 0
81300870 3CA000A0 lis r5, 0x00A0
81300874 4BFFF955 bl memset
81300878 3C608113 lis r3, 0x8113
8130087C 38800000 li r4, 0
81300880 3CA0000D lis r5, 0x000D
81300884 4BFFF945 bl memset
81300888 818D82B4 lwz r12, -0x7D4C (r13)
8130088C 7D8803A6 mtlr r12
81300890 4E800021 blrl
81300894 3C808130 lis r4, 0x8130
81300898 3CA00002 lis r5, 0x0002
8130089C 4BFFFF1D bl 0x813007B8
813008A0 8001000C lwz r0, 12 (r1)
813008A4 38210008 addi r1, r1, 8
813008A8 7C0803A6 mtlr r0
813008AC 4E800020 blr
0x813008B0
813008B0 7C0802A6 mflr r0
813008B4 90010004 stw r0, 4 (r1)
813008B8 9421FFF8 stwu r1, -8 (r1)
813008BC 8063000C lwz r3, 12 (r3)
813008C0 38030001 addi r0, r3, 1
813008C4 2800000C cmplwi r0, 12
813008C8 4181008C bgt- 0x81300954
813008CC 3C608138 lis r3, 0x8138
813008D0 38630E08 addi r3, r3, 0x0E08
813008D4 5400103A rlwinm r0, r0, 2, 0, 29 mask:0xFFFFFFFC
813008D8 7C03002E lwzx r0, r3, r0
813008DC 7C0903A6 mtctr r0
813008E0 4E800420 bctr
813008E4 38600001 li r3, 1
813008E8 48000070 b 0x81300958
813008EC 38000011 li r0, 17
813008F0 900D82A8 stw r0, -0x7D58 (r13)
813008F4 48000060 b 0x81300954
813008F8 38000012 li r0, 18
813008FC 900D82A8 stw r0, -0x7D58 (r13)
81300900 48000054 b 0x81300954
81300904 38000013 li r0, 19
81300908 900D82A8 stw r0, -0x7D58 (r13)
8130090C 48000048 b 0x81300954
81300910 38000017 li r0, 23
81300914 900D82A8 stw r0, -0x7D58 (r13)
81300918 4800003C b 0x81300954
8130091C 38000018 li r0, 24
81300920 900D82A8 stw r0, -0x7D58 (r13)
81300924 48000030 b 0x81300954
81300928 480679BD bl 0x813682E4
8130092C 2C030000 cmpwi r3, 0
81300930 41820010 beq- 0x81300940
81300934 38000002 li r0, 2
81300938 900D82A8 stw r0, -0x7D58 (r13)
8130093C 48000018 b 0x81300954
81300940 38000003 li r0, 3
81300944 900D82A8 stw r0, -0x7D58 (r13)
81300948 4800000C b 0x81300954
8130094C 38000016 li r0, 22
81300950 900D82A8 stw r0, -0x7D58 (r13)
81300954 38600000 li r3, 0
81300958 8001000C lwz r0, 12 (r1)
8130095C 38210008 addi r1, r1, 8
81300960 7C0803A6 mtlr r0
81300964 4E800020 blr
// ----------------------------------------------------------
// 0968
int DvdState; // 7D58
int DVDStep (void)
{
BOOL level;
level = OSDisableInterrupts ();
switch ( DvdState )
{
case 0:
var_7D48 = 0x800030D4
DvdState = 1;
case 1:
813009D0 48062E4D bl __OSGetSystemTime
813009D4 3CA08000 lis r5, 0x8000
813009D8 80C500F8 lwz r6, 248 (r5)
813009DC 3CA01062 lis r5, 0x1062
813009E0 38000000 li r0, 0
813009E4 54C6F0BE rlwinm r6, r6, 30, 2, 31 mask:0x3FFFFFFF
813009E8 38A54DD3 addi r5, r5, 0x4DD3
813009EC 7CA53016 mulhwu r5, r5, r6
813009F0 54A5D1BE rlwinm r5, r5, 26, 6, 31 mask:0x03FFFFFF
813009F4 1CC50050 mulli r6, r5, 80
813009F8 6C658000 xoris r5, r3, 0x8000
813009FC 6C038000 xoris r3, r0, 0x8000
81300A00 7C062010 subfc r0, r6, r4
81300A04 7C632910 subfe r3, r3, r5
81300A08 7C652910 subfe r3, r5, r5
81300A0C 7C6300D0 neg r3, r3
81300A10 2C030000 cmpwi r3, 0
81300A14 40820500 bne- 0x81300F14
81300A18 38000002 li r0, 2
81300A1C 900D82A8 stw r0, -0x7D58 (r13)
case 2:
81300A20 800D82D8 lwz r0, -0x7D28 (r13)
81300A24 2C000000 cmpwi r0, 0
81300A28 4082003C bne- 0x81300A64
81300A2C 806D82B8 lwz r3, -0x7D48 (r13)
81300A30 38000000 li r0, 0
81300A34 3BA00001 li r29, 1
81300A38 90030000 stw r0, 0 (r3)
81300A3C 38600000 li r3, 0
81300A40 900D82BC stw r0, -0x7D44 (r13)
81300A44 93AD82D4 stw r29, -0x7D2C (r13)
81300A48 48064D29 bl 0x81365770
81300A4C 48067855 bl DVDReset
81300A50 93AD82D8 stw r29, -0x7D28 (r13)
81300A54 48062DC9 bl __OSGetSystemTime
81300A58 908D82E4 stw r4, -0x7D1C (r13)
81300A5C 906D82E0 stw r3, -0x7D20 (r13)
81300A60 480004B4 b 0x81300F14
81300A64 48062DB9 bl __OSGetSystemTime
81300A68 3CA08000 lis r5, 0x8000
81300A6C 812D82E4 lwz r9, -0x7D1C (r13)
81300A70 800500F8 lwz r0, 248 (r5)
81300A74 3CA01062 lis r5, 0x1062
81300A78 38A54DD3 addi r5, r5, 0x4DD3
81300A7C 814D82E0 lwz r10, -0x7D20 (r13)
81300A80 5400F0BE rlwinm r0, r0, 30, 2, 31 mask:0x3FFFFFFF
81300A84 7C050016 mulhwu r0, r5, r0
81300A88 5408D1BE rlwinm r8, r0, 26, 6, 31 mask:0x03FFFFFF
81300A8C 38A0047E li r5, 0x047E
81300A90 38E00000 li r7, 0
81300A94 7CC729D6 mullw r6, r7, r5
81300A98 7C082816 mulhwu r0, r8, r5
81300A9C 7CC60214 add r6, r6, r0
81300AA0 7C0839D6 mullw r0, r8, r7
81300AA4 7D292010 subfc r9, r9, r4
81300AA8 7C6A1910 subfe r3, r10, r3
81300AAC 7CA829D6 mullw r5, r8, r5
81300AB0 7C060214 add r0, r6, r0
81300AB4 6C648000 xoris r4, r3, 0x8000
81300AB8 6C038000 xoris r3, r0, 0x8000
81300ABC 7C054810 subfc r0, r5, r9
81300AC0 7C632110 subfe r3, r3, r4
81300AC4 7C642110 subfe r3, r4, r4
81300AC8 7C6300D0 neg r3, r3
81300ACC 2C030000 cmpwi r3, 0
81300AD0 40820444 bne- 0x81300F14
81300AD4 3C608130 lis r3, 0x8130
81300AD8 90ED82D8 stw r7, -0x7D28 (r13)
81300ADC 38630600 addi r3, r3, 0x0600
81300AE0 48064C91 bl 0x81365770
81300AE4 480677BD bl DVDReset
81300AE8 38000003 li r0, 3
81300AEC 900D82A8 stw r0, -0x7D58 (r13)
case 3:
DVDReadDiskID ( r31+64, 0x80000000, 0x8130060C );
DvdState = 4;
break;
case 4:
case 5:
if ( 0x813008B0 ( r1+64) )
{
if ( [0x8000001C] + 0x3DCD0000 != 0xFFFF9F3D )
{
DvdState = 20;
break;
}
DvdState = 6;
}
else break;
case 6:
81300B48 800D82D4 lwz r0, -0x7D2C (r13)
81300B4C 28000000 cmplwi r0, 0
81300B50 40820010 bne- 0x81300B60
81300B54 38000008 li r0, 8
81300B58 900D82A8 stw r0, -0x7D58 (r13)
81300B5C 480003B8 b 0x81300F14
81300B60 38000000 li r0, 0
81300B64 900D82D4 stw r0, -0x7D2C (r13)
81300B68 3C608000 lis r3, 0x8000
81300B6C 88030008 lbz r0, 8 (r3)
81300B70 28000000 cmplwi r0, 0
81300B74 41820030 beq- 0x81300BA4
81300B78 88A30009 lbz r5, 9 (r3)
81300B7C 28050000 cmplwi r5, 0
81300B80 41820008 beq- 0x81300B88
81300B84 48000008 b 0x81300B8C
81300B88 38A0000A li r5, 10
81300B8C 3C608130 lis r3, 0x8130
81300B90 38C3060C addi r6, r3, 0x060C
81300B94 387F0040 addi r3, r31, 64
81300B98 38800001 li r4, 1
81300B9C 4806758D bl 0x81368128
81300BA0 4800001C b 0x81300BBC
81300BA4 3C608130 lis r3, 0x8130
81300BA8 38C3060C addi r6, r3, 0x060C
81300BAC 387F0040 addi r3, r31, 64
81300BB0 38800000 li r4, 0
81300BB4 38A00000 li r5, 0
81300BB8 48067571 bl 0x81368128
81300BBC 38000007 li r0, 7
81300BC0 900D82A8 stw r0, -0x7D58 (r13)
81300BC4 48000350 b 0x81300F14
case 7:
if ( 0x813008B0 (r31+64) == 0 ) break;
DvdState = 8;
case 8:
DVDReadAbsAsyncForBS ( r31+64, r31+32, 32, 0x2440, 0x8130060C );
DvdState = 9;
break;
case 9:
if ( 0x813008B0 (r31+64) )
{
dprintf ( " appLoaderLength ...... 0x%x\n", [r31+52] );
dprintf ( " appLoaderFunc1 ...... 0x%x\n", [r31+48] );
DvdState = 10;
}
else break;
case 10:
DVDReadAbsAsyncForBS ( r31+64, 0x81200000, ([r31+52] + 31) & ~0x1f, 0x2460, 0x8130060C );
DvdState = 11;
break;
case 11:
if ( 0x813008B0 (r31+64) )
{
[r31+48] ( &var_7D54, &var_7D50, &var_7D4C );
[var_7D54] ( OSReport );
dprintf ( "\nApploader Initialized\n" );
DvdState = 12;
}
else break;
case 12:
81300CC0 818D82B0 lwz r12, -0x7D50 (r13)
81300CC4 3861004C addi r3, r1, 76
81300CC8 38810048 addi r4, r1, 72
81300CCC 38A10044 addi r5, r1, 68
81300CD0 7D8803A6 mtlr r12
81300CD4 4E800021 blrl
81300CD8 2C030000 cmpwi r3, 0
81300CDC 41820074 beq- 0x81300D50
81300CE0 8081004C lwz r4, 76 (r1)
81300CE4 387D008C addi r3, r29, 140
81300CE8 80A10048 lwz r5, 72 (r1)
81300CEC 4CC63182 crclr 6
81300CF0 80C10044 lwz r6, 68 (r1)
81300CF4 4BFFF8A5 bl 0x81300598 // "Addr [0x%x] length [0x%x] offset [0x%x]\n"
81300CF8 4805E559 bl OSDisableInterrupts
81300CFC 3CC08130 lis r6, 0x8130
81300D00 8081004C lwz r4, 76 (r1)
81300D04 38E6060C addi r7, r6, 0x060C
81300D08 80A10048 lwz r5, 72 (r1)
81300D0C 7C7D1B78 or r29, r3, r3
81300D10 80C10044 lwz r6, 68 (r1)
81300D14 387F0040 addi r3, r31, 64
81300D18 480670E1 bl DVDReadAbsAsyncForBS
81300D1C 806D82B8 lwz r3, -0x7D48 (r13)
81300D20 80030000 lwz r0, 0 (r3)
81300D24 28000000 cmplwi r0, 0
81300D28 41820014 beq- 0x81300D3C
81300D2C 38600001 li r3, 1
81300D30 80010048 lwz r0, 72 (r1)
81300D34 906D82C4 stw r3, -0x7D3C (r13)
81300D38 900D82C0 stw r0, -0x7D40 (r13)
81300D3C 7FA3EB78 or r3, r29, r29
81300D40 4805E539 bl OSRestoreInterrupts
81300D44 3800000D li r0, 13
81300D48 900D82A8 stw r0, -0x7D58 (r13)
81300D4C 480001C8 b 0x81300F14
81300D50 4BFFF999 bl 0x813006E8
81300D54 2C030000 cmpwi r3, 0
81300D58 40820010 bne- 0x81300D68
81300D5C 38000014 li r0, 20
81300D60 900D82A8 stw r0, -0x7D58 (r13)
81300D64 480001B0 b 0x81300F14
81300D68 3800000E li r0, 14
81300D6C 900D82A8 stw r0, -0x7D58 (r13)
81300D70 480001A4 b 0x81300F14
case 13:
if ( 0x813008B0 (r31+64) ) DvdState = 12;
break;
case 14:
81300D90 48064B29 bl __DVDFSInit
81300D94 387D00B8 addi r3, r29, 184
81300D98 48064B59 bl DVDConvertPathToEntrynum
81300D9C 2C030000 cmpwi r3, 0
81300DA0 4180008C blt- 0x81300E2C
81300DA4 38810008 addi r4, r1, 8
81300DA8 48064E3D bl 0x81365BE4
81300DAC 800D82C8 lwz r0, -0x7D38 (r13)
81300DB0 28000000 cmplwi r0, 0
81300DB4 40820018 bne- 0x81300DCC
81300DB8 387D00C8 addi r3, r29, 200
81300DBC 4CC63182 crclr 6
81300DC0 38BD00D4 addi r5, r29, 212 // "BS2 ERROR >>> Banner buffer address is not set"
81300DC4 3880040E li r4, 0x040E
81300DC8 4805CBDD bl OSPanic //
81300DCC 806D82CC lwz r3, -0x7D34 (r13)
81300DD0 8001003C lwz r0, 60 (r1)
81300DD4 7C030040 cmplw r3, r0
81300DD8 4080001C bge- 0x81300DF4
81300DDC 80CD82CC lwz r6, -0x7D34 (r13)
81300DE0 387D00C8 addi r3, r29, 200
81300DE4 38BD0104 addi r5, r29, 0x0104 // "BS2 ERROR >>> Banner buffer length (0x%08x) is not enough"
81300DE8 4CC63182 crclr 6
81300DEC 38800411 li r4, 0x0411
81300DF0 4805CBB5 bl OSPanic
81300DF4 80A1003C lwz r5, 60 (r1)
81300DF8 28050000 cmplwi r5, 0
81300DFC 41820030 beq- 0x81300E2C
81300E00 3C608130 lis r3, 0x8130
81300E04 808D82C8 lwz r4, -0x7D38 (r13)
81300E08 3805001F addi r0, r5, 31
81300E0C 80C10038 lwz r6, 56 (r1)
81300E10 38E3060C addi r7, r3, 0x060C
81300E14 387F0040 addi r3, r31, 64
81300E18 54050034 rlwinm r5, r0, 0, 0, 26 mask:0xFFFFFFE0
81300E1C 48066FDD bl DVDReadAbsAsyncForBS
81300E20 3800000F li r0, 15
81300E24 900D82A8 stw r0, -0x7D58 (r13)
81300E28 480000EC b 0x81300F14
81300E2C 38600000 li r3, 0
81300E30 38000010 li r0, 16
81300E34 906D82D0 stw r3, -0x7D30 (r13)
81300E38 3C608130 lis r3, 0x8130
81300E3C 900D82A8 stw r0, -0x7D58 (r13)
81300E40 386305E8 addi r3, r3, 0x05E8
81300E44 4806442D bl DVDLowWaitCoverClose
81300E48 480000CC b 0x81300F14
case 15:
if ( 0x813008B0(r31+64) )
{
var_7D30 = 1;
DvdState = 16;
DVDLowWaitCoverClose (0x813005E8);
}
break;
case 16:
break;
case 17:
var_7D30 = 0;
DvdState = 2;
break;
case 18:
case 19:
case 24:
0x81365770 (0);
var_7D30 = 0;
0x813008B0 (r31+64);
break;
case 20:
var_7D30 = 0;
0x813681E4 ( r31+64, 0x8130060C );
DvdState = 21;
case 21:
case 22:
0x813008B0 (r31+64);
break;
case 23:
var_7D30 = 0;
break;
case 25:
if ( 0x813008B0 (r31+64) ) DvdState = 3;
break;
default: OSHalt ( "BS2 ERROR >>> UNKNOWN STATE" );
}
0F14:
OSRestoreInterrupts (level);
if ( 0x813657E0 () == 1 ) return 19;
else return DvdState;
}
81300968 7C0802A6 mflr r0
8130096C 90010004 stw r0, 4 (r1)
81300970 9421FF98 stwu r1, -104 (r1)
81300974 93E10064 stw r31, 100 (r1)
81300978 93C10060 stw r30, 96 (r1)
8130097C 93A1005C stw r29, 92 (r1)
81300980 3C808138 lis r4, 0x8138
81300984 3C60814B lis r3, 0x814B
81300988 3BA40E08 addi r29, r4, 0x0E08
8130098C 3BE3E6E0 subi r31, r3, 0x1920
81300990 4805E8C1 bl OSDisableInterrupts
81300994 800D82A8 lwz r0, -0x7D58 (r13)
81300998 7C7E1B78 or r30, r3, r3
8130099C 28000019 cmplwi r0, 25
813009A0 41810560 bgt- 0x81300F00
813009A4 3C608138 lis r3, 0x8138
813009A8 38630F64 addi r3, r3, 0x0F64
813009AC 5400103A rlwinm r0, r0, 2, 0, 29 mask:0xFFFFFFFC
813009B0 7C03002E lwzx r0, r3, r0
813009B4 7C0903A6 mtctr r0
813009B8 4E800420 bctr
81380F64:
813009bc 0
813009d0 1
81300a20 2
81300af0 3
81300b10 4
81300b10 5
81300b48 6
81300bc8 7
81300be0 8
81300c08 9
81300c40 10
81300c70 11
81300cc0 12
81300d74 13
81300d90 14
81300e4c 15
81300f14 16
81300e7c 17
81300e90 18
81300e90 19
81300eac 20
81300ecc 21
81300ecc 22
81300ed8 23
81300e90 24
81300ee4 25
813009BC 3C608000 lis r3, 0x8000
813009C0 386330D4 addi r3, r3, 0x30D4
813009C4 38000001 li r0, 1
813009C8 906D82B8 stw r3, -0x7D48 (r13)
813009CC 900D82A8 stw r0, -0x7D58 (r13)
813009D0 48062E4D bl __OSGetSystemTime
813009D4 3CA08000 lis r5, 0x8000
813009D8 80C500F8 lwz r6, 248 (r5)
813009DC 3CA01062 lis r5, 0x1062
813009E0 38000000 li r0, 0
813009E4 54C6F0BE rlwinm r6, r6, 30, 2, 31 mask:0x3FFFFFFF
813009E8 38A54DD3 addi r5, r5, 0x4DD3
813009EC 7CA53016 mulhwu r5, r5, r6
813009F0 54A5D1BE rlwinm r5, r5, 26, 6, 31 mask:0x03FFFFFF
813009F4 1CC50050 mulli r6, r5, 80
813009F8 6C658000 xoris r5, r3, 0x8000
813009FC 6C038000 xoris r3, r0, 0x8000
81300A00 7C062010 subfc r0, r6, r4
81300A04 7C632910 subfe r3, r3, r5
81300A08 7C652910 subfe r3, r5, r5
81300A0C 7C6300D0 neg r3, r3
81300A10 2C030000 cmpwi r3, 0
81300A14 40820500 bne- 0x81300F14
81300A18 38000002 li r0, 2
81300A1C 900D82A8 stw r0, -0x7D58 (r13)
81300A20 800D82D8 lwz r0, -0x7D28 (r13)
81300A24 2C000000 cmpwi r0, 0
81300A28 4082003C bne- 0x81300A64
81300A2C 806D82B8 lwz r3, -0x7D48 (r13)
81300A30 38000000 li r0, 0
81300A34 3BA00001 li r29, 1
81300A38 90030000 stw r0, 0 (r3)
81300A3C 38600000 li r3, 0
81300A40 900D82BC stw r0, -0x7D44 (r13)
81300A44 93AD82D4 stw r29, -0x7D2C (r13)
81300A48 48064D29 bl 0x81365770
81300A4C 48067855 bl DVDReset
81300A50 93AD82D8 stw r29, -0x7D28 (r13)
81300A54 48062DC9 bl __OSGetSystemTime
81300A58 908D82E4 stw r4, -0x7D1C (r13)
81300A5C 906D82E0 stw r3, -0x7D20 (r13)
81300A60 480004B4 b 0x81300F14
81300A64 48062DB9 bl __OSGetSystemTime
81300A68 3CA08000 lis r5, 0x8000
81300A6C 812D82E4 lwz r9, -0x7D1C (r13)
81300A70 800500F8 lwz r0, 248 (r5)
81300A74 3CA01062 lis r5, 0x1062
81300A78 38A54DD3 addi r5, r5, 0x4DD3
81300A7C 814D82E0 lwz r10, -0x7D20 (r13)
81300A80 5400F0BE rlwinm r0, r0, 30, 2, 31 mask:0x3FFFFFFF
81300A84 7C050016 mulhwu r0, r5, r0
81300A88 5408D1BE rlwinm r8, r0, 26, 6, 31 mask:0x03FFFFFF
81300A8C 38A0047E li r5, 0x047E
81300A90 38E00000 li r7, 0
81300A94 7CC729D6 mullw r6, r7, r5
81300A98 7C082816 mulhwu r0, r8, r5
81300A9C 7CC60214 add r6, r6, r0
81300AA0 7C0839D6 mullw r0, r8, r7
81300AA4 7D292010 subfc r9, r9, r4
81300AA8 7C6A1910 subfe r3, r10, r3
81300AAC 7CA829D6 mullw r5, r8, r5
81300AB0 7C060214 add r0, r6, r0
81300AB4 6C648000 xoris r4, r3, 0x8000
81300AB8 6C038000 xoris r3, r0, 0x8000
81300ABC 7C054810 subfc r0, r5, r9
81300AC0 7C632110 subfe r3, r3, r4
81300AC4 7C642110 subfe r3, r4, r4
81300AC8 7C6300D0 neg r3, r3
81300ACC 2C030000 cmpwi r3, 0
81300AD0 40820444 bne- 0x81300F14
81300AD4 3C608130 lis r3, 0x8130
81300AD8 90ED82D8 stw r7, -0x7D28 (r13)
81300ADC 38630600 addi r3, r3, 0x0600
81300AE0 48064C91 bl 0x81365770
81300AE4 480677BD bl DVDReset
81300AE8 38000003 li r0, 3
81300AEC 900D82A8 stw r0, -0x7D58 (r13)
81300AF0 3C608130 lis r3, 0x8130
81300AF4 38A3060C addi r5, r3, 0x060C
81300AF8 387F0040 addi r3, r31, 64
81300AFC 3C808000 lis r4, 0x8000
81300B00 480673C9 bl DVDReadDiskID
81300B04 38000004 li r0, 4
81300B08 900D82A8 stw r0, -0x7D58 (r13)
81300B0C 48000408 b 0x81300F14
81300B10 387F0040 addi r3, r31, 64
81300B14 4BFFFD9D bl 0x813008B0
81300B18 2C030000 cmpwi r3, 0
81300B1C 418203F8 beq- 0x81300F14
81300B20 3C608000 lis r3, 0x8000
81300B24 8063001C lwz r3, 28 (r3)
81300B28 3C033DCD addis r0, r3, 0x3DCD
81300B2C 28009F3D cmplwi r0, -0x60C3
81300B30 41820010 beq- 0x81300B40
81300B34 38000014 li r0, 20
81300B38 900D82A8 stw r0, -0x7D58 (r13)
81300B3C 480003D8 b 0x81300F14
81300B40 38000006 li r0, 6
81300B44 900D82A8 stw r0, -0x7D58 (r13)
81300B48 800D82D4 lwz r0, -0x7D2C (r13)
81300B4C 28000000 cmplwi r0, 0
81300B50 40820010 bne- 0x81300B60
81300B54 38000008 li r0, 8
81300B58 900D82A8 stw r0, -0x7D58 (r13)
81300B5C 480003B8 b 0x81300F14
81300B60 38000000 li r0, 0
81300B64 900D82D4 stw r0, -0x7D2C (r13)
81300B68 3C608000 lis r3, 0x8000
81300B6C 88030008 lbz r0, 8 (r3)
81300B70 28000000 cmplwi r0, 0
81300B74 41820030 beq- 0x81300BA4
81300B78 88A30009 lbz r5, 9 (r3)
81300B7C 28050000 cmplwi r5, 0
81300B80 41820008 beq- 0x81300B88
81300B84 48000008 b 0x81300B8C
81300B88 38A0000A li r5, 10
81300B8C 3C608130 lis r3, 0x8130
81300B90 38C3060C addi r6, r3, 0x060C
81300B94 387F0040 addi r3, r31, 64
81300B98 38800001 li r4, 1
81300B9C 4806758D bl 0x81368128
81300BA0 4800001C b 0x81300BBC
81300BA4 3C608130 lis r3, 0x8130
81300BA8 38C3060C addi r6, r3, 0x060C
81300BAC 387F0040 addi r3, r31, 64
81300BB0 38800000 li r4, 0
81300BB4 38A00000 li r5, 0
81300BB8 48067571 bl 0x81368128
81300BBC 38000007 li r0, 7
81300BC0 900D82A8 stw r0, -0x7D58 (r13)
81300BC4 48000350 b 0x81300F14
81300BC8 387F0040 addi r3, r31, 64
81300BCC 4BFFFCE5 bl 0x813008B0
81300BD0 2C030000 cmpwi r3, 0
81300BD4 41820340 beq- 0x81300F14
81300BD8 38000008 li r0, 8
81300BDC 900D82A8 stw r0, -0x7D58 (r13)
81300BE0 3C608130 lis r3, 0x8130
81300BE4 38E3060C addi r7, r3, 0x060C
81300BE8 387F0040 addi r3, r31, 64
81300BEC 389F0020 addi r4, r31, 32
81300BF0 38A00020 li r5, 32
81300BF4 38C02440 li r6, 0x2440
81300BF8 48067201 bl DVDReadAbsAsyncForBS
81300BFC 38000009 li r0, 9
81300C00 900D82A8 stw r0, -0x7D58 (r13)
81300C04 48000310 b 0x81300F14
81300C08 387F0040 addi r3, r31, 64
81300C0C 4BFFFCA5 bl 0x813008B0
81300C10 2C030000 cmpwi r3, 0
81300C14 41820300 beq- 0x81300F14
81300C18 809F0034 lwz r4, 52 (r31)
81300C1C 387D0034 addi r3, r29, 52
81300C20 4CC63182 crclr 6
81300C24 4BFFF975 bl 0x81300598
81300C28 809F0030 lwz r4, 48 (r31)
81300C2C 387D0054 addi r3, r29, 84
81300C30 4CC63182 crclr 6
81300C34 4BFFF965 bl 0x81300598
81300C38 3800000A li r0, 10
81300C3C 900D82A8 stw r0, -0x7D58 (r13)
81300C40 809F0034 lwz r4, 52 (r31)
81300C44 3C608130 lis r3, 0x8130
81300C48 38E3060C addi r7, r3, 0x060C
81300C4C 3804001F addi r0, r4, 31
81300C50 387F0040 addi r3, r31, 64
81300C54 54050034 rlwinm r5, r0, 0, 0, 26 mask:0xFFFFFFE0
81300C58 3C808120 lis r4, 0x8120
81300C5C 38C02460 li r6, 0x2460
81300C60 48067199 bl DVDReadAbsAsyncForBS
81300C64 3800000B li r0, 11
81300C68 900D82A8 stw r0, -0x7D58 (r13)
81300C6C 480002A8 b 0x81300F14
81300C70 387F0040 addi r3, r31, 64
81300C74 4BFFFC3D bl 0x813008B0
81300C78 2C030000 cmpwi r3, 0
81300C7C 41820298 beq- 0x81300F14
81300C80 819F0030 lwz r12, 48 (r31)
81300C84 386D82AC subi r3, r13, 0x7D54
81300C88 388D82B0 subi r4, r13, 0x7D50
81300C8C 38AD82B4 subi r5, r13, 0x7D4C
81300C90 7D8803A6 mtlr r12
81300C94 4E800021 blrl
81300C98 3C608136 lis r3, 0x8136
81300C9C 818D82AC lwz r12, -0x7D54 (r13)
81300CA0 3863D924 subi r3, r3, 0x26DC
81300CA4 7D8803A6 mtlr r12
81300CA8 4E800021 blrl
81300CAC 387D0074 addi r3, r29, 116
81300CB0 4CC63182 crclr 6
81300CB4 4BFFF8E5 bl 0x81300598
81300CB8 3800000C li r0, 12
81300CBC 900D82A8 stw r0, -0x7D58 (r13)
81300CC0 818D82B0 lwz r12, -0x7D50 (r13)
81300CC4 3861004C addi r3, r1, 76
81300CC8 38810048 addi r4, r1, 72
81300CCC 38A10044 addi r5, r1, 68
81300CD0 7D8803A6 mtlr r12
81300CD4 4E800021 blrl
81300CD8 2C030000 cmpwi r3, 0
81300CDC 41820074 beq- 0x81300D50
81300CE0 8081004C lwz r4, 76 (r1)
81300CE4 387D008C addi r3, r29, 140
81300CE8 80A10048 lwz r5, 72 (r1)
81300CEC 4CC63182 crclr 6
81300CF0 80C10044 lwz r6, 68 (r1)
81300CF4 4BFFF8A5 bl 0x81300598
81300CF8 4805E559 bl OSDisableInterrupts
81300CFC 3CC08130 lis r6, 0x8130
81300D00 8081004C lwz r4, 76 (r1)
81300D04 38E6060C addi r7, r6, 0x060C
81300D08 80A10048 lwz r5, 72 (r1)
81300D0C 7C7D1B78 or r29, r3, r3
81300D10 80C10044 lwz r6, 68 (r1)
81300D14 387F0040 addi r3, r31, 64
81300D18 480670E1 bl DVDReadAbsAsyncForBS
81300D1C 806D82B8 lwz r3, -0x7D48 (r13)
81300D20 80030000 lwz r0, 0 (r3)
81300D24 28000000 cmplwi r0, 0
81300D28 41820014 beq- 0x81300D3C
81300D2C 38600001 li r3, 1
81300D30 80010048 lwz r0, 72 (r1)
81300D34 906D82C4 stw r3, -0x7D3C (r13)
81300D38 900D82C0 stw r0, -0x7D40 (r13)
81300D3C 7FA3EB78 or r3, r29, r29
81300D40 4805E539 bl OSRestoreInterrupts
81300D44 3800000D li r0, 13
81300D48 900D82A8 stw r0, -0x7D58 (r13)
81300D4C 480001C8 b 0x81300F14
81300D50 4BFFF999 bl 0x813006E8
81300D54 2C030000 cmpwi r3, 0
81300D58 40820010 bne- 0x81300D68
81300D5C 38000014 li r0, 20
81300D60 900D82A8 stw r0, -0x7D58 (r13)
81300D64 480001B0 b 0x81300F14
81300D68 3800000E li r0, 14
81300D6C 900D82A8 stw r0, -0x7D58 (r13)
81300D70 480001A4 b 0x81300F14
81300D74 387F0040 addi r3, r31, 64
81300D78 4BFFFB39 bl 0x813008B0
81300D7C 2C030000 cmpwi r3, 0
81300D80 41820194 beq- 0x81300F14
81300D84 3800000C li r0, 12
81300D88 900D82A8 stw r0, -0x7D58 (r13)
81300D8C 48000188 b 0x81300F14
81300D90 48064B29 bl __DVDFSInit
81300D94 387D00B8 addi r3, r29, 184
81300D98 48064B59 bl DVDConvertPathToEntrynum
81300D9C 2C030000 cmpwi r3, 0
81300DA0 4180008C blt- 0x81300E2C
81300DA4 38810008 addi r4, r1, 8
81300DA8 48064E3D bl 0x81365BE4
81300DAC 800D82C8 lwz r0, -0x7D38 (r13)
81300DB0 28000000 cmplwi r0, 0
81300DB4 40820018 bne- 0x81300DCC
81300DB8 387D00C8 addi r3, r29, 200
81300DBC 4CC63182 crclr 6
81300DC0 38BD00D4 addi r5, r29, 212
81300DC4 3880040E li r4, 0x040E
81300DC8 4805CBDD bl OSPanic
81300DCC 806D82CC lwz r3, -0x7D34 (r13)
81300DD0 8001003C lwz r0, 60 (r1)
81300DD4 7C030040 cmplw r3, r0
81300DD8 4080001C bge- 0x81300DF4
81300DDC 80CD82CC lwz r6, -0x7D34 (r13)
81300DE0 387D00C8 addi r3, r29, 200
81300DE4 38BD0104 addi r5, r29, 0x0104
81300DE8 4CC63182 crclr 6
81300DEC 38800411 li r4, 0x0411
81300DF0 4805CBB5 bl OSPanic
81300DF4 80A1003C lwz r5, 60 (r1)
81300DF8 28050000 cmplwi r5, 0
81300DFC 41820030 beq- 0x81300E2C
81300E00 3C608130 lis r3, 0x8130
81300E04 808D82C8 lwz r4, -0x7D38 (r13)
81300E08 3805001F addi r0, r5, 31
81300E0C 80C10038 lwz r6, 56 (r1)
81300E10 38E3060C addi r7, r3, 0x060C
81300E14 387F0040 addi r3, r31, 64
81300E18 54050034 rlwinm r5, r0, 0, 0, 26 mask:0xFFFFFFE0
81300E1C 48066FDD bl DVDReadAbsAsyncForBS
81300E20 3800000F li r0, 15
81300E24 900D82A8 stw r0, -0x7D58 (r13)
81300E28 480000EC b 0x81300F14
81300E2C 38600000 li r3, 0
81300E30 38000010 li r0, 16
81300E34 906D82D0 stw r3, -0x7D30 (r13)
81300E38 3C608130 lis r3, 0x8130
81300E3C 900D82A8 stw r0, -0x7D58 (r13)
81300E40 386305E8 addi r3, r3, 0x05E8
81300E44 4806442D bl DVDLowWaitCoverClose
81300E48 480000CC b 0x81300F14
81300E4C 387F0040 addi r3, r31, 64
81300E50 4BFFFA61 bl 0x813008B0
81300E54 2C030000 cmpwi r3, 0
81300E58 418200BC beq- 0x81300F14
81300E5C 38600001 li r3, 1
81300E60 38000010 li r0, 16
81300E64 906D82D0 stw r3, -0x7D30 (r13)
81300E68 3C608130 lis r3, 0x8130
81300E6C 900D82A8 stw r0, -0x7D58 (r13)
81300E70 386305E8 addi r3, r3, 0x05E8
81300E74 480643FD bl DVDLowWaitCoverClose
81300E78 4800009C b 0x81300F14
81300E7C 38600000 li r3, 0
81300E80 38000002 li r0, 2
81300E84 906D82D0 stw r3, -0x7D30 (r13)
81300E88 900D82A8 stw r0, -0x7D58 (r13)
81300E8C 48000088 b 0x81300F14
81300E90 38600000 li r3, 0
81300E94 480648DD bl 0x81365770
81300E98 38000000 li r0, 0
81300E9C 900D82D0 stw r0, -0x7D30 (r13)
81300EA0 387F0040 addi r3, r31, 64
81300EA4 4BFFFA0D bl 0x813008B0
81300EA8 4800006C b 0x81300F14
81300EAC 38000000 li r0, 0
81300EB0 3C608130 lis r3, 0x8130
81300EB4 900D82D0 stw r0, -0x7D30 (r13)
81300EB8 3883060C addi r4, r3, 0x060C
81300EBC 387F0040 addi r3, r31, 64
81300EC0 48067325 bl 0x813681E4
81300EC4 38000015 li r0, 21
81300EC8 900D82A8 stw r0, -0x7D58 (r13)
81300ECC 387F0040 addi r3, r31, 64
81300ED0 4BFFF9E1 bl 0x813008B0
81300ED4 48000040 b 0x81300F14
81300ED8 38000000 li r0, 0
81300EDC 900D82D0 stw r0, -0x7D30 (r13)
81300EE0 48000034 b 0x81300F14
81300EE4 387F0040 addi r3, r31, 64
81300EE8 4BFFF9C9 bl 0x813008B0
81300EEC 2C030000 cmpwi r3, 0
81300EF0 41820024 beq- 0x81300F14
81300EF4 38000003 li r0, 3
81300EF8 900D82A8 stw r0, -0x7D58 (r13)
81300EFC 48000018 b 0x81300F14
81300F00
OSHalt ( "BS2 ERROR >>> UNKNOWN STATE" );
81300F14
OSRestoreInterrupts (level);
if ( 0x813657E0 () == 1 ) return 19;
else return DvdState;