summaryrefslogtreecommitdiff
path: root/asm/Dolphin/vi/vi.s
blob: c3d120c28ce4da064e615a433519267003671769 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
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
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
.include "macros.inc"

.section .text, "ax"  # 0x80005600 - 0x8036FBA0
.global __VIRetraceHandler
__VIRetraceHandler:
/* 80099638 00096578  7C 08 02 A6 */	mflr r0
/* 8009963C 0009657C  3C 60 CC 00 */	lis r3, 0xCC002000@ha
/* 80099640 00096580  90 01 00 04 */	stw r0, 4(r1)
/* 80099644 00096584  38 A3 20 00 */	addi r5, r3, 0xCC002000@l
/* 80099648 00096588  3C 60 80 3F */	lis r3, regs@ha
/* 8009964C 0009658C  94 21 FD 08 */	stwu r1, -0x2f8(r1)
/* 80099650 00096590  38 E0 00 00 */	li r7, 0
/* 80099654 00096594  BF 61 02 E4 */	stmw r27, 0x2e4(r1)
/* 80099658 00096598  3B C4 00 00 */	addi r30, r4, 0
/* 8009965C 0009659C  3B E3 BD C8 */	addi r31, r3, regs@l
/* 80099660 000965A0  A4 C5 00 30 */	lhzu r6, 0x30(r5)
/* 80099664 000965A4  54 C0 04 21 */	rlwinm. r0, r6, 0, 0x10, 0x10
/* 80099668 000965A8  41 82 00 10 */	beq lbl_80099678
/* 8009966C 000965AC  54 C0 04 5E */	rlwinm r0, r6, 0, 0x11, 0xf
/* 80099670 000965B0  B0 05 00 00 */	sth r0, 0(r5)
/* 80099674 000965B4  60 E7 00 01 */	ori r7, r7, 1
lbl_80099678:
/* 80099678 000965B8  3C 60 CC 00 */	lis r3, 0xCC002034@ha
/* 8009967C 000965BC  A4 83 20 34 */	lhzu r4, 0xCC002034@l(r3)
/* 80099680 000965C0  54 80 04 21 */	rlwinm. r0, r4, 0, 0x10, 0x10
/* 80099684 000965C4  41 82 00 10 */	beq lbl_80099694
/* 80099688 000965C8  54 80 04 5E */	rlwinm r0, r4, 0, 0x11, 0xf
/* 8009968C 000965CC  B0 03 00 00 */	sth r0, 0(r3)
/* 80099690 000965D0  60 E7 00 02 */	ori r7, r7, 2
lbl_80099694:
/* 80099694 000965D4  3C 60 CC 00 */	lis r3, 0xCC002038@ha
/* 80099698 000965D8  A4 83 20 38 */	lhzu r4, 0xCC002038@l(r3)
/* 8009969C 000965DC  54 80 04 21 */	rlwinm. r0, r4, 0, 0x10, 0x10
/* 800996A0 000965E0  41 82 00 10 */	beq lbl_800996B0
/* 800996A4 000965E4  54 80 04 5E */	rlwinm r0, r4, 0, 0x11, 0xf
/* 800996A8 000965E8  B0 03 00 00 */	sth r0, 0(r3)
/* 800996AC 000965EC  60 E7 00 04 */	ori r7, r7, 4
lbl_800996B0:
/* 800996B0 000965F0  3C 60 CC 00 */	lis r3, 0xCC00203C@ha
/* 800996B4 000965F4  A4 83 20 3C */	lhzu r4, 0xCC00203C@l(r3)
/* 800996B8 000965F8  54 80 04 21 */	rlwinm. r0, r4, 0, 0x10, 0x10
/* 800996BC 000965FC  41 82 00 10 */	beq lbl_800996CC
/* 800996C0 00096600  54 80 04 5E */	rlwinm r0, r4, 0, 0x11, 0xf
/* 800996C4 00096604  B0 03 00 00 */	sth r0, 0(r3)
/* 800996C8 00096608  60 E7 00 08 */	ori r7, r7, 8
lbl_800996CC:
/* 800996CC 0009660C  54 E0 07 7B */	rlwinm. r0, r7, 0, 0x1d, 0x1d
/* 800996D0 00096610  40 82 00 0C */	bne lbl_800996DC
/* 800996D4 00096614  54 E0 07 39 */	rlwinm. r0, r7, 0, 0x1c, 0x1c
/* 800996D8 00096618  41 82 00 10 */	beq lbl_800996E8
lbl_800996DC:
/* 800996DC 0009661C  7F C3 F3 78 */	mr r3, r30
/* 800996E0 00096620  4B FF 51 3D */	bl OSSetCurrentContext
/* 800996E4 00096624  48 00 01 68 */	b lbl_8009984C
lbl_800996E8:
/* 800996E8 00096628  80 8D 94 40 */	lwz r4, retraceCount@sda21(r13)
/* 800996EC 0009662C  38 61 00 18 */	addi r3, r1, 0x18
/* 800996F0 00096630  38 04 00 01 */	addi r0, r4, 1
/* 800996F4 00096634  90 0D 94 40 */	stw r0, retraceCount@sda21(r13)
/* 800996F8 00096638  4B FF 52 ED */	bl OSClearContext
/* 800996FC 0009663C  38 61 00 18 */	addi r3, r1, 0x18
/* 80099700 00096640  4B FF 51 1D */	bl OSSetCurrentContext
/* 80099704 00096644  81 8D 94 50 */	lwz r12, PreCB@sda21(r13)
/* 80099708 00096648  28 0C 00 00 */	cmplwi r12, 0
/* 8009970C 0009664C  41 82 00 10 */	beq lbl_8009971C
/* 80099710 00096650  80 6D 94 40 */	lwz r3, retraceCount@sda21(r13)
/* 80099714 00096654  7D 88 03 A6 */	mtlr r12
/* 80099718 00096658  4E 80 00 21 */	blrl 
lbl_8009971C:
/* 8009971C 0009665C  80 0D 94 44 */	lwz r0, flushFlag@sda21(r13)
/* 80099720 00096660  28 00 00 00 */	cmplwi r0, 0
/* 80099724 00096664  41 82 00 EC */	beq lbl_80099810
/* 80099728 00096668  80 0D 94 70 */	lwz r0, shdwChangeMode@sda21(r13)
/* 8009972C 0009666C  28 00 00 01 */	cmplwi r0, 1
/* 80099730 00096670  40 82 00 10 */	bne lbl_80099740
/* 80099734 00096674  48 00 16 E1 */	bl getCurrentFieldEvenOdd
/* 80099738 00096678  28 03 00 00 */	cmplwi r3, 0
/* 8009973C 0009667C  41 82 00 BC */	beq lbl_800997F8
lbl_80099740:
/* 80099740 00096680  3C 60 CC 00 */	lis r3, 0xCC002000@ha
/* 80099744 00096684  3B A3 20 00 */	addi r29, r3, 0xCC002000@l
/* 80099748 00096688  48 00 00 78 */	b lbl_800997C0
lbl_8009974C:
/* 8009974C 0009668C  80 6D 94 78 */	lwz r3, shdwChanged@sda21(r13)
/* 80099750 00096690  38 A0 00 20 */	li r5, 0x20
/* 80099754 00096694  83 6D 94 7C */	lwz r27, lbl_80409F3C@sda21(r13)
/* 80099758 00096698  38 9B 00 00 */	addi r4, r27, 0
/* 8009975C 0009669C  4B FE 98 F5 */	bl __shr2u
/* 80099760 000966A0  7C 84 00 34 */	cntlzw r4, r4
/* 80099764 000966A4  2C 04 00 20 */	cmpwi r4, 0x20
/* 80099768 000966A8  38 00 FF FF */	li r0, -1
/* 8009976C 000966AC  7F 60 00 38 */	and r0, r27, r0
/* 80099770 000966B0  40 80 00 08 */	bge lbl_80099778
/* 80099774 000966B4  48 00 00 0C */	b lbl_80099780
lbl_80099778:
/* 80099778 000966B8  7C 03 00 34 */	cntlzw r3, r0
/* 8009977C 000966BC  38 83 00 20 */	addi r4, r3, 0x20
lbl_80099780:
/* 80099780 000966C0  54 86 08 3C */	slwi r6, r4, 1
/* 80099784 000966C4  7C 7F 32 14 */	add r3, r31, r6
/* 80099788 000966C8  A0 03 00 78 */	lhz r0, 0x78(r3)
/* 8009978C 000966CC  20 A4 00 3F */	subfic r5, r4, 0x3f
/* 80099790 000966D0  38 60 00 00 */	li r3, 0
/* 80099794 000966D4  7C 1D 33 2E */	sthx r0, r29, r6
/* 80099798 000966D8  38 80 00 01 */	li r4, 1
/* 8009979C 000966DC  4B FE 98 91 */	bl __shl2i
/* 800997A0 000966E0  80 0D 94 78 */	lwz r0, shdwChanged@sda21(r13)
/* 800997A4 000966E4  7C 65 18 F8 */	nor r5, r3, r3
/* 800997A8 000966E8  7C 84 20 F8 */	nor r4, r4, r4
/* 800997AC 000966EC  80 6D 94 7C */	lwz r3, lbl_80409F3C@sda21(r13)
/* 800997B0 000966F0  7C 00 28 38 */	and r0, r0, r5
/* 800997B4 000966F4  7C 63 20 38 */	and r3, r3, r4
/* 800997B8 000966F8  90 6D 94 7C */	stw r3, lbl_80409F3C@sda21(r13)
/* 800997BC 000966FC  90 0D 94 78 */	stw r0, shdwChanged@sda21(r13)
lbl_800997C0:
/* 800997C0 00096700  80 0D 94 78 */	lwz r0, shdwChanged@sda21(r13)
/* 800997C4 00096704  38 80 00 00 */	li r4, 0
/* 800997C8 00096708  80 6D 94 7C */	lwz r3, lbl_80409F3C@sda21(r13)
/* 800997CC 0009670C  7C 00 22 78 */	xor r0, r0, r4
/* 800997D0 00096710  7C 63 22 78 */	xor r3, r3, r4
/* 800997D4 00096714  7C 60 03 79 */	or. r0, r3, r0
/* 800997D8 00096718  40 82 FF 74 */	bne lbl_8009974C
/* 800997DC 0009671C  90 8D 94 70 */	stw r4, shdwChangeMode@sda21(r13)
/* 800997E0 00096720  38 60 00 01 */	li r3, 1
/* 800997E4 00096724  80 1F 01 44 */	lwz r0, 0x144(r31)
/* 800997E8 00096728  90 0D 94 80 */	stw r0, CurrTiming@sda21(r13)
/* 800997EC 0009672C  80 1F 01 18 */	lwz r0, 0x118(r31)
/* 800997F0 00096730  90 0D 94 84 */	stw r0, CurrTvMode@sda21(r13)
/* 800997F4 00096734  48 00 00 08 */	b lbl_800997FC
lbl_800997F8:
/* 800997F8 00096738  38 60 00 00 */	li r3, 0
lbl_800997FC:
/* 800997FC 0009673C  2C 03 00 00 */	cmpwi r3, 0
/* 80099800 00096740  41 82 00 10 */	beq lbl_80099810
/* 80099804 00096744  38 00 00 00 */	li r0, 0
/* 80099808 00096748  90 0D 94 44 */	stw r0, flushFlag@sda21(r13)
/* 8009980C 0009674C  48 01 AB F1 */	bl SIRefreshSamplingRate
lbl_80099810:
/* 80099810 00096750  80 0D 94 54 */	lwz r0, PostCB@sda21(r13)
/* 80099814 00096754  28 00 00 00 */	cmplwi r0, 0
/* 80099818 00096758  41 82 00 1C */	beq lbl_80099834
/* 8009981C 0009675C  38 61 00 18 */	addi r3, r1, 0x18
/* 80099820 00096760  4B FF 51 C5 */	bl OSClearContext
/* 80099824 00096764  81 8D 94 54 */	lwz r12, PostCB@sda21(r13)
/* 80099828 00096768  80 6D 94 40 */	lwz r3, retraceCount@sda21(r13)
/* 8009982C 0009676C  7D 88 03 A6 */	mtlr r12
/* 80099830 00096770  4E 80 00 21 */	blrl 
lbl_80099834:
/* 80099834 00096774  38 6D 94 48 */	addi r3, r13, retraceQueue@sda21
/* 80099838 00096778  4B FF A4 B5 */	bl OSWakeupThread
/* 8009983C 0009677C  38 61 00 18 */	addi r3, r1, 0x18
/* 80099840 00096780  4B FF 51 A5 */	bl OSClearContext
/* 80099844 00096784  7F C3 F3 78 */	mr r3, r30
/* 80099848 00096788  4B FF 4F D5 */	bl OSSetCurrentContext
lbl_8009984C:
/* 8009984C 0009678C  BB 61 02 E4 */	lmw r27, 0x2e4(r1)
/* 80099850 00096790  80 01 02 FC */	lwz r0, 0x2fc(r1)
/* 80099854 00096794  38 21 02 F8 */	addi r1, r1, 0x2f8
/* 80099858 00096798  7C 08 03 A6 */	mtlr r0
/* 8009985C 0009679C  4E 80 00 20 */	blr 

.global VISetPostRetraceCallback
VISetPostRetraceCallback:
/* 80099860 000967A0  7C 08 02 A6 */	mflr r0
/* 80099864 000967A4  90 01 00 04 */	stw r0, 4(r1)
/* 80099868 000967A8  94 21 FF E8 */	stwu r1, -0x18(r1)
/* 8009986C 000967AC  93 E1 00 14 */	stw r31, 0x14(r1)
/* 80099870 000967B0  93 C1 00 10 */	stw r30, 0x10(r1)
/* 80099874 000967B4  7C 7E 1B 78 */	mr r30, r3
/* 80099878 000967B8  83 ED 94 54 */	lwz r31, PostCB@sda21(r13)
/* 8009987C 000967BC  4B FF 69 51 */	bl OSDisableInterrupts
/* 80099880 000967C0  93 CD 94 54 */	stw r30, PostCB@sda21(r13)
/* 80099884 000967C4  4B FF 69 71 */	bl OSRestoreInterrupts
/* 80099888 000967C8  7F E3 FB 78 */	mr r3, r31
/* 8009988C 000967CC  80 01 00 1C */	lwz r0, 0x1c(r1)
/* 80099890 000967D0  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 80099894 000967D4  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 80099898 000967D8  38 21 00 18 */	addi r1, r1, 0x18
/* 8009989C 000967DC  7C 08 03 A6 */	mtlr r0
/* 800998A0 000967E0  4E 80 00 20 */	blr 

.global getTiming
getTiming:
/* 800998A4 000967E4  28 03 00 15 */	cmplwi r3, 0x15
/* 800998A8 000967E8  3C 80 80 3B */	lis r4, timing@ha
/* 800998AC 000967EC  38 A4 0F 30 */	addi r5, r4, timing@l
/* 800998B0 000967F0  41 81 00 7C */	bgt lbl_8009992C
/* 800998B4 000967F4  3C 80 80 3B */	lis r4, "@92"@ha
/* 800998B8 000967F8  38 84 10 94 */	addi r4, r4, "@92"@l
/* 800998BC 000967FC  54 60 10 3A */	slwi r0, r3, 2
/* 800998C0 00096800  7C 04 00 2E */	lwzx r0, r4, r0
/* 800998C4 00096804  7C 09 03 A6 */	mtctr r0
/* 800998C8 00096808  4E 80 04 20 */	bctr 
lbl_800998CC:
/* 800998CC 0009680C  7C A3 2B 78 */	mr r3, r5
/* 800998D0 00096810  4E 80 00 20 */	blr 
lbl_800998D4:
/* 800998D4 00096814  38 65 00 26 */	addi r3, r5, 0x26
/* 800998D8 00096818  4E 80 00 20 */	blr 
lbl_800998DC:
/* 800998DC 0009681C  38 65 00 4C */	addi r3, r5, 0x4c
/* 800998E0 00096820  4E 80 00 20 */	blr 
lbl_800998E4:
/* 800998E4 00096824  38 65 00 72 */	addi r3, r5, 0x72
/* 800998E8 00096828  4E 80 00 20 */	blr 
lbl_800998EC:
/* 800998EC 0009682C  7C A3 2B 78 */	mr r3, r5
/* 800998F0 00096830  4E 80 00 20 */	blr 
lbl_800998F4:
/* 800998F4 00096834  38 65 00 26 */	addi r3, r5, 0x26
/* 800998F8 00096838  4E 80 00 20 */	blr 
lbl_800998FC:
/* 800998FC 0009683C  38 65 00 98 */	addi r3, r5, 0x98
/* 80099900 00096840  4E 80 00 20 */	blr 
lbl_80099904:
/* 80099904 00096844  38 65 00 BE */	addi r3, r5, 0xbe
/* 80099908 00096848  4E 80 00 20 */	blr 
lbl_8009990C:
/* 8009990C 0009684C  38 65 00 E4 */	addi r3, r5, 0xe4
/* 80099910 00096850  4E 80 00 20 */	blr 
lbl_80099914:
/* 80099914 00096854  38 65 01 0A */	addi r3, r5, 0x10a
/* 80099918 00096858  4E 80 00 20 */	blr 
lbl_8009991C:
/* 8009991C 0009685C  38 65 00 4C */	addi r3, r5, 0x4c
/* 80099920 00096860  4E 80 00 20 */	blr 
lbl_80099924:
/* 80099924 00096864  38 65 00 72 */	addi r3, r5, 0x72
/* 80099928 00096868  4E 80 00 20 */	blr 
lbl_8009992C:
/* 8009992C 0009686C  38 60 00 00 */	li r3, 0
/* 80099930 00096870  4E 80 00 20 */	blr 

.global __VIInit
__VIInit:
/* 80099934 00096874  7C 08 02 A6 */	mflr r0
/* 80099938 00096878  90 01 00 04 */	stw r0, 4(r1)
/* 8009993C 0009687C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80099940 00096880  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 80099944 00096884  54 7F F0 BE */	srwi r31, r3, 2
/* 80099948 00096888  93 C1 00 28 */	stw r30, 0x28(r1)
/* 8009994C 0009688C  93 A1 00 24 */	stw r29, 0x24(r1)
/* 80099950 00096890  3B A3 00 00 */	addi r29, r3, 0
/* 80099954 00096894  3C 60 80 00 */	lis r3, 0x800000CC@ha
/* 80099958 00096898  93 E3 00 CC */	stw r31, 0x800000CC@l(r3)
/* 8009995C 0009689C  38 7D 00 00 */	addi r3, r29, 0
/* 80099960 000968A0  57 BE 07 BC */	rlwinm r30, r29, 0, 0x1e, 0x1e
/* 80099964 000968A4  4B FF FF 41 */	bl getTiming
/* 80099968 000968A8  3C 80 CC 00 */	lis r4, 0xCC002000@ha
/* 8009996C 000968AC  38 00 00 02 */	li r0, 2
/* 80099970 000968B0  38 A4 20 00 */	addi r5, r4, 0xCC002000@l
/* 80099974 000968B4  B4 05 00 02 */	sthu r0, 2(r5)
/* 80099978 000968B8  38 00 00 00 */	li r0, 0
/* 8009997C 000968BC  90 01 00 1C */	stw r0, 0x1c(r1)
/* 80099980 000968C0  80 01 00 1C */	lwz r0, 0x1c(r1)
/* 80099984 000968C4  28 00 03 E8 */	cmplwi r0, 0x3e8
/* 80099988 000968C8  40 80 00 20 */	bge lbl_800999A8
/* 8009998C 000968CC  48 00 00 10 */	b lbl_8009999C
lbl_80099990:
/* 80099990 000968D0  80 81 00 1C */	lwz r4, 0x1c(r1)
/* 80099994 000968D4  38 04 00 08 */	addi r0, r4, 8
/* 80099998 000968D8  90 01 00 1C */	stw r0, 0x1c(r1)
lbl_8009999C:
/* 8009999C 000968DC  80 01 00 1C */	lwz r0, 0x1c(r1)
/* 800999A0 000968E0  28 00 03 E8 */	cmplwi r0, 0x3e8
/* 800999A4 000968E4  41 80 FF EC */	blt lbl_80099990
lbl_800999A8:
/* 800999A8 000968E8  38 00 00 00 */	li r0, 0
/* 800999AC 000968EC  B0 05 00 00 */	sth r0, 0(r5)
/* 800999B0 000968F0  3D 80 CC 00 */	lis r12, 0xCC002006@ha
/* 800999B4 000968F4  39 00 28 28 */	li r8, 0x2828
/* 800999B8 000968F8  A0 C3 00 1A */	lhz r6, 0x1a(r3)
/* 800999BC 000968FC  38 E0 00 01 */	li r7, 1
/* 800999C0 00096900  2C 1D 00 02 */	cmpwi r29, 2
/* 800999C4 00096904  B0 CC 20 06 */	sth r6, 0xCC002006@l(r12)
/* 800999C8 00096908  38 C0 10 01 */	li r6, 0x1001
/* 800999CC 0009690C  38 8C 20 00 */	addi r4, r12, 0x2000
/* 800999D0 00096910  89 23 00 1D */	lbz r9, 0x1d(r3)
/* 800999D4 00096914  89 43 00 1E */	lbz r10, 0x1e(r3)
/* 800999D8 00096918  51 2A 44 2E */	rlwimi r10, r9, 8, 0x10, 0x17
/* 800999DC 0009691C  B1 4C 20 04 */	sth r10, 0x2004(r12)
/* 800999E0 00096920  89 23 00 1F */	lbz r9, 0x1f(r3)
/* 800999E4 00096924  89 43 00 1C */	lbz r10, 0x1c(r3)
/* 800999E8 00096928  55 29 38 30 */	slwi r9, r9, 7
/* 800999EC 0009692C  7D 49 4B 78 */	or r9, r10, r9
/* 800999F0 00096930  B1 2C 20 0A */	sth r9, 0x200a(r12)
/* 800999F4 00096934  A1 23 00 20 */	lhz r9, 0x20(r3)
/* 800999F8 00096938  55 29 0C 3C */	rlwinm r9, r9, 1, 0x10, 0x1e
/* 800999FC 0009693C  B1 2C 20 08 */	sth r9, 0x2008(r12)
/* 80099A00 00096940  A1 23 00 02 */	lhz r9, 2(r3)
/* 80099A04 00096944  89 63 00 00 */	lbz r11, 0(r3)
/* 80099A08 00096948  55 29 08 3C */	slwi r9, r9, 1
/* 80099A0C 0009694C  A1 43 00 04 */	lhz r10, 4(r3)
/* 80099A10 00096950  39 29 FF FE */	addi r9, r9, -2
/* 80099A14 00096954  B1 6C 20 00 */	sth r11, 0x2000(r12)
/* 80099A18 00096958  7D 2A 4A 14 */	add r9, r10, r9
/* 80099A1C 0009695C  B1 2C 20 0E */	sth r9, 0x200e(r12)
/* 80099A20 00096960  A1 23 00 08 */	lhz r9, 8(r3)
/* 80099A24 00096964  39 29 00 02 */	addi r9, r9, 2
/* 80099A28 00096968  B1 2C 20 0C */	sth r9, 0x200c(r12)
/* 80099A2C 0009696C  A1 23 00 02 */	lhz r9, 2(r3)
/* 80099A30 00096970  A1 43 00 06 */	lhz r10, 6(r3)
/* 80099A34 00096974  55 29 08 3C */	slwi r9, r9, 1
/* 80099A38 00096978  39 29 FF FE */	addi r9, r9, -2
/* 80099A3C 0009697C  7D 2A 4A 14 */	add r9, r10, r9
/* 80099A40 00096980  B1 2C 20 12 */	sth r9, 0x2012(r12)
/* 80099A44 00096984  A1 23 00 0A */	lhz r9, 0xa(r3)
/* 80099A48 00096988  39 29 00 02 */	addi r9, r9, 2
/* 80099A4C 0009698C  B1 2C 20 10 */	sth r9, 0x2010(r12)
/* 80099A50 00096990  A1 23 00 10 */	lhz r9, 0x10(r3)
/* 80099A54 00096994  89 43 00 0C */	lbz r10, 0xc(r3)
/* 80099A58 00096998  55 29 28 34 */	slwi r9, r9, 5
/* 80099A5C 0009699C  7D 49 4B 78 */	or r9, r10, r9
/* 80099A60 000969A0  B1 2C 20 16 */	sth r9, 0x2016(r12)
/* 80099A64 000969A4  A1 23 00 14 */	lhz r9, 0x14(r3)
/* 80099A68 000969A8  89 43 00 0E */	lbz r10, 0xe(r3)
/* 80099A6C 000969AC  55 29 28 34 */	slwi r9, r9, 5
/* 80099A70 000969B0  7D 49 4B 78 */	or r9, r10, r9
/* 80099A74 000969B4  B1 2C 20 14 */	sth r9, 0x2014(r12)
/* 80099A78 000969B8  A1 23 00 12 */	lhz r9, 0x12(r3)
/* 80099A7C 000969BC  89 43 00 0D */	lbz r10, 0xd(r3)
/* 80099A80 000969C0  55 29 28 34 */	slwi r9, r9, 5
/* 80099A84 000969C4  7D 49 4B 78 */	or r9, r10, r9
/* 80099A88 000969C8  B1 2C 20 1A */	sth r9, 0x201a(r12)
/* 80099A8C 000969CC  A1 23 00 16 */	lhz r9, 0x16(r3)
/* 80099A90 000969D0  89 43 00 0F */	lbz r10, 0xf(r3)
/* 80099A94 000969D4  55 29 28 34 */	slwi r9, r9, 5
/* 80099A98 000969D8  7D 49 4B 78 */	or r9, r10, r9
/* 80099A9C 000969DC  B1 2C 20 18 */	sth r9, 0x2018(r12)
/* 80099AA0 000969E0  B1 0C 20 48 */	sth r8, 0x2048(r12)
/* 80099AA4 000969E4  B0 EC 20 36 */	sth r7, 0x2036(r12)
/* 80099AA8 000969E8  B0 CC 20 34 */	sth r6, 0x2034(r12)
/* 80099AAC 000969EC  A0 C3 00 18 */	lhz r6, 0x18(r3)
/* 80099AB0 000969F0  A0 63 00 1A */	lhz r3, 0x1a(r3)
/* 80099AB4 000969F4  7C C6 0E 70 */	srawi r6, r6, 1
/* 80099AB8 000969F8  38 63 00 01 */	addi r3, r3, 1
/* 80099ABC 000969FC  7C C6 01 94 */	addze r6, r6
/* 80099AC0 00096A00  B0 6C 20 32 */	sth r3, 0x2032(r12)
/* 80099AC4 00096A04  38 C6 00 01 */	addi r6, r6, 1
/* 80099AC8 00096A08  60 C3 10 00 */	ori r3, r6, 0x1000
/* 80099ACC 00096A0C  B0 6C 20 30 */	sth r3, 0x2030(r12)
/* 80099AD0 00096A10  41 82 00 28 */	beq lbl_80099AF8
/* 80099AD4 00096A14  2C 1D 00 03 */	cmpwi r29, 3
/* 80099AD8 00096A18  41 82 00 20 */	beq lbl_80099AF8
/* 80099ADC 00096A1C  57 C3 10 3A */	slwi r3, r30, 2
/* 80099AE0 00096A20  60 66 00 01 */	ori r6, r3, 1
/* 80099AE4 00096A24  57 E3 40 2E */	slwi r3, r31, 8
/* 80099AE8 00096A28  7C C3 1B 78 */	or r3, r6, r3
/* 80099AEC 00096A2C  B0 65 00 00 */	sth r3, 0(r5)
/* 80099AF0 00096A30  B0 04 00 6C */	sth r0, 0x6c(r4)
/* 80099AF4 00096A34  48 00 00 1C */	b lbl_80099B10
lbl_80099AF8:
/* 80099AF8 00096A38  57 E0 40 2E */	slwi r0, r31, 8
/* 80099AFC 00096A3C  60 00 00 05 */	ori r0, r0, 5
/* 80099B00 00096A40  B0 05 00 00 */	sth r0, 0(r5)
/* 80099B04 00096A44  3C 60 CC 00 */	lis r3, 0xCC00206C@ha
/* 80099B08 00096A48  38 00 00 01 */	li r0, 1
/* 80099B0C 00096A4C  B0 03 20 6C */	sth r0, 0xCC00206C@l(r3)
lbl_80099B10:
/* 80099B10 00096A50  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80099B14 00096A54  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80099B18 00096A58  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 80099B1C 00096A5C  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 80099B20 00096A60  38 21 00 30 */	addi r1, r1, 0x30
/* 80099B24 00096A64  7C 08 03 A6 */	mtlr r0
/* 80099B28 00096A68  4E 80 00 20 */	blr 

.global VIInit
VIInit:
/* 80099B2C 00096A6C  7C 08 02 A6 */	mflr r0
/* 80099B30 00096A70  3C 60 CC 00 */	lis r3, 0xCC002000@ha
/* 80099B34 00096A74  90 01 00 04 */	stw r0, 4(r1)
/* 80099B38 00096A78  38 00 00 01 */	li r0, 1
/* 80099B3C 00096A7C  3C 80 80 3B */	lis r4, timing@ha
/* 80099B40 00096A80  94 21 FF E8 */	stwu r1, -0x18(r1)
/* 80099B44 00096A84  93 E1 00 14 */	stw r31, 0x14(r1)
/* 80099B48 00096A88  93 C1 00 10 */	stw r30, 0x10(r1)
/* 80099B4C 00096A8C  3B C4 0F 30 */	addi r30, r4, timing@l
/* 80099B50 00096A90  93 A1 00 0C */	stw r29, 0xc(r1)
/* 80099B54 00096A94  93 81 00 08 */	stw r28, 8(r1)
/* 80099B58 00096A98  3B 83 20 00 */	addi r28, r3, 0xCC002000@l
/* 80099B5C 00096A9C  3C 60 80 3F */	lis r3, regs@ha
/* 80099B60 00096AA0  90 0D 94 58 */	stw r0, encoderType@sda21(r13)
/* 80099B64 00096AA4  3B E3 BD C8 */	addi r31, r3, regs@l
/* 80099B68 00096AA8  A4 1C 00 02 */	lhzu r0, 2(r28)
/* 80099B6C 00096AAC  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 80099B70 00096AB0  40 82 00 0C */	bne lbl_80099B7C
/* 80099B74 00096AB4  38 60 00 00 */	li r3, 0
/* 80099B78 00096AB8  4B FF FD BD */	bl __VIInit
lbl_80099B7C:
/* 80099B7C 00096ABC  3B A0 00 00 */	li r29, 0
/* 80099B80 00096AC0  93 AD 94 40 */	stw r29, retraceCount@sda21(r13)
/* 80099B84 00096AC4  3C 60 CC 00 */	lis r3, 0xCC002000@ha
/* 80099B88 00096AC8  38 63 20 00 */	addi r3, r3, 0xCC002000@l
/* 80099B8C 00096ACC  93 AD 94 6C */	stw r29, lbl_80409F2C@sda21(r13)
/* 80099B90 00096AD0  38 00 02 80 */	li r0, 0x280
/* 80099B94 00096AD4  93 AD 94 68 */	stw r29, changed@sda21(r13)
/* 80099B98 00096AD8  93 AD 94 7C */	stw r29, lbl_80409F3C@sda21(r13)
/* 80099B9C 00096ADC  93 AD 94 78 */	stw r29, shdwChanged@sda21(r13)
/* 80099BA0 00096AE0  93 AD 94 60 */	stw r29, changeMode@sda21(r13)
/* 80099BA4 00096AE4  93 AD 94 70 */	stw r29, shdwChangeMode@sda21(r13)
/* 80099BA8 00096AE8  93 AD 94 44 */	stw r29, flushFlag@sda21(r13)
/* 80099BAC 00096AEC  A0 BE 01 32 */	lhz r5, 0x132(r30)
/* 80099BB0 00096AF0  A0 DE 01 30 */	lhz r6, 0x130(r30)
/* 80099BB4 00096AF4  54 A5 54 2A */	rlwinm r5, r5, 0xa, 0x10, 0x15
/* 80099BB8 00096AF8  7C C5 2B 78 */	or r5, r6, r5
/* 80099BBC 00096AFC  B0 A3 00 4E */	sth r5, 0x4e(r3)
/* 80099BC0 00096B00  A0 DE 01 32 */	lhz r6, 0x132(r30)
/* 80099BC4 00096B04  A0 BE 01 34 */	lhz r5, 0x134(r30)
/* 80099BC8 00096B08  7C C6 36 70 */	srawi r6, r6, 6
/* 80099BCC 00096B0C  54 A5 20 36 */	slwi r5, r5, 4
/* 80099BD0 00096B10  7C C5 2B 78 */	or r5, r6, r5
/* 80099BD4 00096B14  B0 A3 00 4C */	sth r5, 0x4c(r3)
/* 80099BD8 00096B18  A0 BE 01 38 */	lhz r5, 0x138(r30)
/* 80099BDC 00096B1C  A0 DE 01 36 */	lhz r6, 0x136(r30)
/* 80099BE0 00096B20  54 A5 54 2A */	rlwinm r5, r5, 0xa, 0x10, 0x15
/* 80099BE4 00096B24  7C C5 2B 78 */	or r5, r6, r5
/* 80099BE8 00096B28  B0 A3 00 52 */	sth r5, 0x52(r3)
/* 80099BEC 00096B2C  A0 DE 01 38 */	lhz r6, 0x138(r30)
/* 80099BF0 00096B30  A0 BE 01 3A */	lhz r5, 0x13a(r30)
/* 80099BF4 00096B34  7C C6 36 70 */	srawi r6, r6, 6
/* 80099BF8 00096B38  54 A5 20 36 */	slwi r5, r5, 4
/* 80099BFC 00096B3C  7C C5 2B 78 */	or r5, r6, r5
/* 80099C00 00096B40  B0 A3 00 50 */	sth r5, 0x50(r3)
/* 80099C04 00096B44  A0 BE 01 3E */	lhz r5, 0x13e(r30)
/* 80099C08 00096B48  A0 DE 01 3C */	lhz r6, 0x13c(r30)
/* 80099C0C 00096B4C  54 A5 54 2A */	rlwinm r5, r5, 0xa, 0x10, 0x15
/* 80099C10 00096B50  7C C5 2B 78 */	or r5, r6, r5
/* 80099C14 00096B54  B0 A3 00 56 */	sth r5, 0x56(r3)
/* 80099C18 00096B58  A0 BE 01 3E */	lhz r5, 0x13e(r30)
/* 80099C1C 00096B5C  A0 9E 01 40 */	lhz r4, 0x140(r30)
/* 80099C20 00096B60  7C A5 36 70 */	srawi r5, r5, 6
/* 80099C24 00096B64  54 84 20 36 */	slwi r4, r4, 4
/* 80099C28 00096B68  7C A4 23 78 */	or r4, r5, r4
/* 80099C2C 00096B6C  B0 83 00 54 */	sth r4, 0x54(r3)
/* 80099C30 00096B70  A0 9E 01 44 */	lhz r4, 0x144(r30)
/* 80099C34 00096B74  A0 BE 01 42 */	lhz r5, 0x142(r30)
/* 80099C38 00096B78  54 84 40 2E */	slwi r4, r4, 8
/* 80099C3C 00096B7C  7C A4 23 78 */	or r4, r5, r4
/* 80099C40 00096B80  B0 83 00 5A */	sth r4, 0x5a(r3)
/* 80099C44 00096B84  A0 9E 01 48 */	lhz r4, 0x148(r30)
/* 80099C48 00096B88  A0 BE 01 46 */	lhz r5, 0x146(r30)
/* 80099C4C 00096B8C  54 84 40 2E */	slwi r4, r4, 8
/* 80099C50 00096B90  7C A4 23 78 */	or r4, r5, r4
/* 80099C54 00096B94  B0 83 00 58 */	sth r4, 0x58(r3)
/* 80099C58 00096B98  A0 9E 01 4C */	lhz r4, 0x14c(r30)
/* 80099C5C 00096B9C  A0 BE 01 4A */	lhz r5, 0x14a(r30)
/* 80099C60 00096BA0  54 84 40 2E */	slwi r4, r4, 8
/* 80099C64 00096BA4  7C A4 23 78 */	or r4, r5, r4
/* 80099C68 00096BA8  B0 83 00 5E */	sth r4, 0x5e(r3)
/* 80099C6C 00096BAC  A0 9E 01 50 */	lhz r4, 0x150(r30)
/* 80099C70 00096BB0  A0 BE 01 4E */	lhz r5, 0x14e(r30)
/* 80099C74 00096BB4  54 84 40 2E */	slwi r4, r4, 8
/* 80099C78 00096BB8  7C A4 23 78 */	or r4, r5, r4
/* 80099C7C 00096BBC  B0 83 00 5C */	sth r4, 0x5c(r3)
/* 80099C80 00096BC0  A0 9E 01 54 */	lhz r4, 0x154(r30)
/* 80099C84 00096BC4  A0 BE 01 52 */	lhz r5, 0x152(r30)
/* 80099C88 00096BC8  54 84 40 2E */	slwi r4, r4, 8
/* 80099C8C 00096BCC  7C A4 23 78 */	or r4, r5, r4
/* 80099C90 00096BD0  B0 83 00 62 */	sth r4, 0x62(r3)
/* 80099C94 00096BD4  A0 9E 01 58 */	lhz r4, 0x158(r30)
/* 80099C98 00096BD8  A0 BE 01 56 */	lhz r5, 0x156(r30)
/* 80099C9C 00096BDC  54 84 40 2E */	slwi r4, r4, 8
/* 80099CA0 00096BE0  7C A4 23 78 */	or r4, r5, r4
/* 80099CA4 00096BE4  B0 83 00 60 */	sth r4, 0x60(r3)
/* 80099CA8 00096BE8  A0 9E 01 5C */	lhz r4, 0x15c(r30)
/* 80099CAC 00096BEC  A0 BE 01 5A */	lhz r5, 0x15a(r30)
/* 80099CB0 00096BF0  54 84 40 2E */	slwi r4, r4, 8
/* 80099CB4 00096BF4  7C A4 23 78 */	or r4, r5, r4
/* 80099CB8 00096BF8  B0 83 00 66 */	sth r4, 0x66(r3)
/* 80099CBC 00096BFC  A0 9E 01 60 */	lhz r4, 0x160(r30)
/* 80099CC0 00096C00  A0 BE 01 5E */	lhz r5, 0x15e(r30)
/* 80099CC4 00096C04  54 84 40 2E */	slwi r4, r4, 8
/* 80099CC8 00096C08  7C A4 23 78 */	or r4, r5, r4
/* 80099CCC 00096C0C  B0 83 00 64 */	sth r4, 0x64(r3)
/* 80099CD0 00096C10  B0 03 00 70 */	sth r0, 0x70(r3)
/* 80099CD4 00096C14  4B FF 83 89 */	bl __OSLockSram
/* 80099CD8 00096C18  88 03 00 10 */	lbz r0, 0x10(r3)
/* 80099CDC 00096C1C  38 60 00 00 */	li r3, 0
/* 80099CE0 00096C20  7C 00 07 74 */	extsb r0, r0
/* 80099CE4 00096C24  B3 AD 94 5E */	sth r29, displayOffsetV@sda21(r13)
/* 80099CE8 00096C28  B0 0D 94 5C */	sth r0, displayOffsetH@sda21(r13)
/* 80099CEC 00096C2C  4B FF 87 31 */	bl __OSUnlockSram
/* 80099CF0 00096C30  A3 DC 00 00 */	lhz r30, 0(r28)
/* 80099CF4 00096C34  38 7F 01 14 */	addi r3, r31, 0x114
/* 80099CF8 00096C38  3B 9F 01 18 */	addi r28, r31, 0x118
/* 80099CFC 00096C3C  57 C0 F7 FE */	rlwinm r0, r30, 0x1e, 0x1f, 0x1f
/* 80099D00 00096C40  90 1F 01 14 */	stw r0, 0x114(r31)
/* 80099D04 00096C44  57 C0 C7 BE */	rlwinm r0, r30, 0x18, 0x1e, 0x1f
/* 80099D08 00096C48  90 1F 01 18 */	stw r0, 0x118(r31)
/* 80099D0C 00096C4C  80 1F 01 18 */	lwz r0, 0x118(r31)
/* 80099D10 00096C50  28 00 00 03 */	cmplwi r0, 3
/* 80099D14 00096C54  40 82 00 08 */	bne lbl_80099D1C
/* 80099D18 00096C58  48 00 00 08 */	b lbl_80099D20
lbl_80099D1C:
/* 80099D1C 00096C5C  7C 1D 03 78 */	mr r29, r0
lbl_80099D20:
/* 80099D20 00096C60  80 03 00 00 */	lwz r0, 0(r3)
/* 80099D24 00096C64  57 A3 10 3A */	slwi r3, r29, 2
/* 80099D28 00096C68  7C 63 02 14 */	add r3, r3, r0
/* 80099D2C 00096C6C  4B FF FB 79 */	bl getTiming
/* 80099D30 00096C70  90 7F 01 44 */	stw r3, 0x144(r31)
/* 80099D34 00096C74  38 9F 01 44 */	addi r4, r31, 0x144
/* 80099D38 00096C78  38 00 02 80 */	li r0, 0x280
/* 80099D3C 00096C7C  B3 DF 00 02 */	sth r30, 2(r31)
/* 80099D40 00096C80  39 00 00 00 */	li r8, 0
/* 80099D44 00096C84  38 DF 00 F6 */	addi r6, r31, 0xf6
/* 80099D48 00096C88  80 84 00 00 */	lwz r4, 0(r4)
/* 80099D4C 00096C8C  38 7F 00 F2 */	addi r3, r31, 0xf2
/* 80099D50 00096C90  90 8D 94 80 */	stw r4, CurrTiming@sda21(r13)
/* 80099D54 00096C94  80 9C 00 00 */	lwz r4, 0(r28)
/* 80099D58 00096C98  90 8D 94 84 */	stw r4, CurrTvMode@sda21(r13)
/* 80099D5C 00096C9C  B0 1F 00 F4 */	sth r0, 0xf4(r31)
/* 80099D60 00096CA0  80 8D 94 80 */	lwz r4, CurrTiming@sda21(r13)
/* 80099D64 00096CA4  A4 04 00 02 */	lhzu r0, 2(r4)
/* 80099D68 00096CA8  54 00 0C 3C */	rlwinm r0, r0, 1, 0x10, 0x1e
/* 80099D6C 00096CAC  B0 1F 00 F6 */	sth r0, 0xf6(r31)
/* 80099D70 00096CB0  A0 1F 00 F4 */	lhz r0, 0xf4(r31)
/* 80099D74 00096CB4  20 00 02 D0 */	subfic r0, r0, 0x2d0
/* 80099D78 00096CB8  7C 00 0E 70 */	srawi r0, r0, 1
/* 80099D7C 00096CBC  7C 00 01 94 */	addze r0, r0
/* 80099D80 00096CC0  B0 1F 00 F0 */	sth r0, 0xf0(r31)
/* 80099D84 00096CC4  B1 1F 00 F2 */	sth r8, 0xf2(r31)
/* 80099D88 00096CC8  A0 1F 00 F4 */	lhz r0, 0xf4(r31)
/* 80099D8C 00096CCC  A8 FF 00 F0 */	lha r7, 0xf0(r31)
/* 80099D90 00096CD0  A8 AD 94 5C */	lha r5, displayOffsetH@sda21(r13)
/* 80099D94 00096CD4  20 00 02 D0 */	subfic r0, r0, 0x2d0
/* 80099D98 00096CD8  A1 24 00 00 */	lhz r9, 0(r4)
/* 80099D9C 00096CDC  7C A7 2A 14 */	add r5, r7, r5
/* 80099DA0 00096CE0  7C 05 00 00 */	cmpw r5, r0
/* 80099DA4 00096CE4  40 81 00 08 */	ble lbl_80099DAC
/* 80099DA8 00096CE8  48 00 00 18 */	b lbl_80099DC0
lbl_80099DAC:
/* 80099DAC 00096CEC  2C 05 00 00 */	cmpwi r5, 0
/* 80099DB0 00096CF0  40 80 00 08 */	bge lbl_80099DB8
/* 80099DB4 00096CF4  48 00 00 08 */	b lbl_80099DBC
lbl_80099DB8:
/* 80099DB8 00096CF8  7C A8 2B 78 */	mr r8, r5
lbl_80099DBC:
/* 80099DBC 00096CFC  7D 00 43 78 */	mr r0, r8
lbl_80099DC0:
/* 80099DC0 00096D00  B0 1F 00 F8 */	sth r0, 0xf8(r31)
/* 80099DC4 00096D04  39 1F 01 10 */	addi r8, r31, 0x110
/* 80099DC8 00096D08  80 1F 01 10 */	lwz r0, 0x110(r31)
/* 80099DCC 00096D0C  2C 00 00 00 */	cmpwi r0, 0
/* 80099DD0 00096D10  40 82 00 0C */	bne lbl_80099DDC
/* 80099DD4 00096D14  39 60 00 02 */	li r11, 2
/* 80099DD8 00096D18  48 00 00 08 */	b lbl_80099DE0
lbl_80099DDC:
/* 80099DDC 00096D1C  39 60 00 01 */	li r11, 1
lbl_80099DE0:
/* 80099DE0 00096D20  A0 03 00 00 */	lhz r0, 0(r3)
/* 80099DE4 00096D24  A8 AD 94 5E */	lha r5, displayOffsetV@sda21(r13)
/* 80099DE8 00096D28  7C 07 07 34 */	extsh r7, r0
/* 80099DEC 00096D2C  54 00 07 FE */	clrlwi r0, r0, 0x1f
/* 80099DF0 00096D30  7C E7 2A 14 */	add r7, r7, r5
/* 80099DF4 00096D34  7C 07 00 00 */	cmpw r7, r0
/* 80099DF8 00096D38  40 81 00 08 */	ble lbl_80099E00
/* 80099DFC 00096D3C  48 00 00 08 */	b lbl_80099E04
lbl_80099E00:
/* 80099E00 00096D40  7C 07 03 78 */	mr r7, r0
lbl_80099E04:
/* 80099E04 00096D44  B0 FF 00 FA */	sth r7, 0xfa(r31)
/* 80099E08 00096D48  7D 27 07 34 */	extsh r7, r9
/* 80099E0C 00096D4C  54 E7 08 3C */	slwi r7, r7, 1
/* 80099E10 00096D50  A3 86 00 00 */	lhz r28, 0(r6)
/* 80099E14 00096D54  7D 80 38 50 */	subf r12, r0, r7
/* 80099E18 00096D58  A9 43 00 00 */	lha r10, 0(r3)
/* 80099E1C 00096D5C  7F 87 07 34 */	extsh r7, r28
/* 80099E20 00096D60  7D 27 2A 14 */	add r9, r7, r5
/* 80099E24 00096D64  7D 2A 4A 14 */	add r9, r10, r9
/* 80099E28 00096D68  7C EC 48 51 */	subf. r7, r12, r9
/* 80099E2C 00096D6C  40 81 00 0C */	ble lbl_80099E38
/* 80099E30 00096D70  7D 2C 48 50 */	subf r9, r12, r9
/* 80099E34 00096D74  48 00 00 08 */	b lbl_80099E3C
lbl_80099E38:
/* 80099E38 00096D78  39 20 00 00 */	li r9, 0
lbl_80099E3C:
/* 80099E3C 00096D7C  7D 4A 2A 14 */	add r10, r10, r5
/* 80099E40 00096D80  7C E0 50 51 */	subf. r7, r0, r10
/* 80099E44 00096D84  40 80 00 0C */	bge lbl_80099E50
/* 80099E48 00096D88  7C E0 50 50 */	subf r7, r0, r10
/* 80099E4C 00096D8C  48 00 00 08 */	b lbl_80099E54
lbl_80099E50:
/* 80099E50 00096D90  38 E0 00 00 */	li r7, 0
lbl_80099E54:
/* 80099E54 00096D94  7C FC 3A 14 */	add r7, r28, r7
/* 80099E58 00096D98  7C E9 38 50 */	subf r7, r9, r7
/* 80099E5C 00096D9C  B0 FF 00 FC */	sth r7, 0xfc(r31)
/* 80099E60 00096DA0  A8 E3 00 00 */	lha r7, 0(r3)
/* 80099E64 00096DA4  7D 27 2A 14 */	add r9, r7, r5
/* 80099E68 00096DA8  7C E0 48 51 */	subf. r7, r0, r9
/* 80099E6C 00096DAC  40 80 00 0C */	bge lbl_80099E78
/* 80099E70 00096DB0  7C E0 48 50 */	subf r7, r0, r9
/* 80099E74 00096DB4  48 00 00 08 */	b lbl_80099E7C
lbl_80099E78:
/* 80099E78 00096DB8  38 E0 00 00 */	li r7, 0
lbl_80099E7C:
/* 80099E7C 00096DBC  7D 47 5B D6 */	divw r10, r7, r11
/* 80099E80 00096DC0  38 FF 01 08 */	addi r7, r31, 0x108
/* 80099E84 00096DC4  A1 3F 01 08 */	lhz r9, 0x108(r31)
/* 80099E88 00096DC8  7D 2A 48 50 */	subf r9, r10, r9
/* 80099E8C 00096DCC  B1 3F 00 FE */	sth r9, 0xfe(r31)
/* 80099E90 00096DD0  A8 C6 00 00 */	lha r6, 0(r6)
/* 80099E94 00096DD4  A9 23 00 00 */	lha r9, 0(r3)
/* 80099E98 00096DD8  7C C6 2A 14 */	add r6, r6, r5
/* 80099E9C 00096DDC  7C C9 32 14 */	add r6, r9, r6
/* 80099EA0 00096DE0  7C 6C 30 51 */	subf. r3, r12, r6
/* 80099EA4 00096DE4  40 81 00 0C */	ble lbl_80099EB0
/* 80099EA8 00096DE8  7C CC 30 50 */	subf r6, r12, r6
/* 80099EAC 00096DEC  48 00 00 08 */	b lbl_80099EB4
lbl_80099EB0:
/* 80099EB0 00096DF0  38 C0 00 00 */	li r6, 0
lbl_80099EB4:
/* 80099EB4 00096DF4  7C A9 2A 14 */	add r5, r9, r5
/* 80099EB8 00096DF8  7C 60 28 51 */	subf. r3, r0, r5
/* 80099EBC 00096DFC  40 80 00 0C */	bge lbl_80099EC8
/* 80099EC0 00096E00  7C 00 28 50 */	subf r0, r0, r5
/* 80099EC4 00096E04  48 00 00 08 */	b lbl_80099ECC
lbl_80099EC8:
/* 80099EC8 00096E08  38 00 00 00 */	li r0, 0
lbl_80099ECC:
/* 80099ECC 00096E0C  7C 00 5B D6 */	divw r0, r0, r11
/* 80099ED0 00096E10  A0 7F 01 0C */	lhz r3, 0x10c(r31)
/* 80099ED4 00096E14  7C 03 02 14 */	add r0, r3, r0
/* 80099ED8 00096E18  7C A6 5B D6 */	divw r5, r6, r11
/* 80099EDC 00096E1C  7C 05 00 50 */	subf r0, r5, r0
/* 80099EE0 00096E20  B0 1F 01 00 */	sth r0, 0x100(r31)
/* 80099EE4 00096E24  39 20 02 80 */	li r9, 0x280
/* 80099EE8 00096E28  3B 80 00 00 */	li r28, 0
/* 80099EEC 00096E2C  B1 3F 01 02 */	sth r9, 0x102(r31)
/* 80099EF0 00096E30  38 A0 00 28 */	li r5, 0x28
/* 80099EF4 00096E34  38 00 00 01 */	li r0, 1
/* 80099EF8 00096E38  A0 C4 00 00 */	lhz r6, 0(r4)
/* 80099EFC 00096E3C  38 6D 94 48 */	addi r3, r13, retraceQueue@sda21
/* 80099F00 00096E40  54 C6 0C 3C */	rlwinm r6, r6, 1, 0x10, 0x1e
/* 80099F04 00096E44  B0 DF 01 04 */	sth r6, 0x104(r31)
/* 80099F08 00096E48  B3 9F 01 06 */	sth r28, 0x106(r31)
/* 80099F0C 00096E4C  B3 87 00 00 */	sth r28, 0(r7)
/* 80099F10 00096E50  B1 3F 01 0A */	sth r9, 0x10a(r31)
/* 80099F14 00096E54  A0 84 00 00 */	lhz r4, 0(r4)
/* 80099F18 00096E58  54 84 0C 3C */	rlwinm r4, r4, 1, 0x10, 0x1e
/* 80099F1C 00096E5C  B0 9F 01 0C */	sth r4, 0x10c(r31)
/* 80099F20 00096E60  93 88 00 00 */	stw r28, 0(r8)
/* 80099F24 00096E64  98 BF 01 1C */	stb r5, 0x11c(r31)
/* 80099F28 00096E68  98 BF 01 1D */	stb r5, 0x11d(r31)
/* 80099F2C 00096E6C  98 BF 01 1E */	stb r5, 0x11e(r31)
/* 80099F30 00096E70  9B 9F 01 2C */	stb r28, 0x12c(r31)
/* 80099F34 00096E74  90 1F 01 30 */	stw r0, 0x130(r31)
/* 80099F38 00096E78  93 9F 01 34 */	stw r28, 0x134(r31)
/* 80099F3C 00096E7C  4B FF 8D 3D */	bl OSInitThreadQueue
/* 80099F40 00096E80  3C 60 CC 00 */	lis r3, 0xCC002030@ha
/* 80099F44 00096E84  A0 03 20 30 */	lhz r0, 0xCC002030@l(r3)
/* 80099F48 00096E88  38 83 20 00 */	addi r4, r3, 0x2000
/* 80099F4C 00096E8C  38 A3 20 00 */	addi r5, r3, 0x2000
/* 80099F50 00096E90  54 00 04 7E */	clrlwi r0, r0, 0x11
/* 80099F54 00096E94  B0 04 00 30 */	sth r0, 0x30(r4)
/* 80099F58 00096E98  3C 60 80 0A */	lis r3, __VIRetraceHandler@ha
/* 80099F5C 00096E9C  38 83 96 38 */	addi r4, r3, __VIRetraceHandler@l
/* 80099F60 00096EA0  A0 05 00 34 */	lhz r0, 0x34(r5)
/* 80099F64 00096EA4  38 60 00 18 */	li r3, 0x18
/* 80099F68 00096EA8  54 00 04 7E */	clrlwi r0, r0, 0x11
/* 80099F6C 00096EAC  B0 05 00 34 */	sth r0, 0x34(r5)
/* 80099F70 00096EB0  93 8D 94 50 */	stw r28, PreCB@sda21(r13)
/* 80099F74 00096EB4  93 8D 94 54 */	stw r28, PostCB@sda21(r13)
/* 80099F78 00096EB8  4B FF 62 A1 */	bl __OSSetInterruptHandler
/* 80099F7C 00096EBC  38 60 00 80 */	li r3, 0x80
/* 80099F80 00096EC0  4B FF 66 9D */	bl __OSUnmaskInterrupts
/* 80099F84 00096EC4  80 01 00 1C */	lwz r0, 0x1c(r1)
/* 80099F88 00096EC8  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 80099F8C 00096ECC  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 80099F90 00096ED0  83 A1 00 0C */	lwz r29, 0xc(r1)
/* 80099F94 00096ED4  83 81 00 08 */	lwz r28, 8(r1)
/* 80099F98 00096ED8  38 21 00 18 */	addi r1, r1, 0x18
/* 80099F9C 00096EDC  7C 08 03 A6 */	mtlr r0
/* 80099FA0 00096EE0  4E 80 00 20 */	blr 

.global VIWaitForRetrace
VIWaitForRetrace:
/* 80099FA4 00096EE4  7C 08 02 A6 */	mflr r0
/* 80099FA8 00096EE8  90 01 00 04 */	stw r0, 4(r1)
/* 80099FAC 00096EEC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80099FB0 00096EF0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80099FB4 00096EF4  93 C1 00 08 */	stw r30, 8(r1)
/* 80099FB8 00096EF8  4B FF 62 15 */	bl OSDisableInterrupts
/* 80099FBC 00096EFC  83 CD 94 40 */	lwz r30, retraceCount@sda21(r13)
/* 80099FC0 00096F00  7C 7F 1B 78 */	mr r31, r3
lbl_80099FC4:
/* 80099FC4 00096F04  38 6D 94 48 */	addi r3, r13, retraceQueue@sda21
/* 80099FC8 00096F08  4B FF 9C 39 */	bl OSSleepThread
/* 80099FCC 00096F0C  80 0D 94 40 */	lwz r0, retraceCount@sda21(r13)
/* 80099FD0 00096F10  7C 1E 00 40 */	cmplw r30, r0
/* 80099FD4 00096F14  41 82 FF F0 */	beq lbl_80099FC4
/* 80099FD8 00096F18  7F E3 FB 78 */	mr r3, r31
/* 80099FDC 00096F1C  4B FF 62 19 */	bl OSRestoreInterrupts
/* 80099FE0 00096F20  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80099FE4 00096F24  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80099FE8 00096F28  83 C1 00 08 */	lwz r30, 8(r1)
/* 80099FEC 00096F2C  38 21 00 10 */	addi r1, r1, 0x10
/* 80099FF0 00096F30  7C 08 03 A6 */	mtlr r0
/* 80099FF4 00096F34  4E 80 00 20 */	blr 

.global setFbbRegs
setFbbRegs:
/* 80099FF8 00096F38  94 21 FF B8 */	stwu r1, -0x48(r1)
/* 80099FFC 00096F3C  3D 20 80 3F */	lis r9, regs@ha
/* 8009A000 00096F40  39 29 BD C8 */	addi r9, r9, regs@l
/* 8009A004 00096F44  93 E1 00 44 */	stw r31, 0x44(r1)
/* 8009A008 00096F48  89 03 00 2C */	lbz r8, 0x2c(r3)
/* 8009A00C 00096F4C  A0 03 00 0E */	lhz r0, 0xe(r3)
/* 8009A010 00096F50  55 1F 28 34 */	slwi r31, r8, 5
/* 8009A014 00096F54  A1 03 00 16 */	lhz r8, 0x16(r3)
/* 8009A018 00096F58  7C 1F 01 D6 */	mullw r0, r31, r0
/* 8009A01C 00096F5C  81 63 00 20 */	lwz r11, 0x20(r3)
/* 8009A020 00096F60  81 43 00 30 */	lwz r10, 0x30(r3)
/* 8009A024 00096F64  A1 83 00 0A */	lhz r12, 0xa(r3)
/* 8009A028 00096F68  55 08 08 34 */	rlwinm r8, r8, 1, 0, 0x1a
/* 8009A02C 00096F6C  7C 08 02 14 */	add r0, r8, r0
/* 8009A030 00096F70  7C 0A 02 14 */	add r0, r10, r0
/* 8009A034 00096F74  2C 0B 00 00 */	cmpwi r11, 0
/* 8009A038 00096F78  90 04 00 00 */	stw r0, 0(r4)
/* 8009A03C 00096F7C  40 82 00 0C */	bne lbl_8009A048
/* 8009A040 00096F80  81 04 00 00 */	lwz r8, 0(r4)
/* 8009A044 00096F84  48 00 00 0C */	b lbl_8009A050
lbl_8009A048:
/* 8009A048 00096F88  80 04 00 00 */	lwz r0, 0(r4)
/* 8009A04C 00096F8C  7D 00 FA 14 */	add r8, r0, r31
lbl_8009A050:
/* 8009A050 00096F90  7D 80 0E 70 */	srawi r0, r12, 1
/* 8009A054 00096F94  91 05 00 00 */	stw r8, 0(r5)
/* 8009A058 00096F98  7C 00 01 94 */	addze r0, r0
/* 8009A05C 00096F9C  54 00 08 3C */	slwi r0, r0, 1
/* 8009A060 00096FA0  7C 00 60 10 */	subfc r0, r0, r12
/* 8009A064 00096FA4  2C 00 00 01 */	cmpwi r0, 1
/* 8009A068 00096FA8  40 82 00 14 */	bne lbl_8009A07C
/* 8009A06C 00096FAC  81 04 00 00 */	lwz r8, 0(r4)
/* 8009A070 00096FB0  80 05 00 00 */	lwz r0, 0(r5)
/* 8009A074 00096FB4  90 04 00 00 */	stw r0, 0(r4)
/* 8009A078 00096FB8  91 05 00 00 */	stw r8, 0(r5)
lbl_8009A07C:
/* 8009A07C 00096FBC  80 04 00 00 */	lwz r0, 0(r4)
/* 8009A080 00096FC0  54 00 00 BE */	clrlwi r0, r0, 2
/* 8009A084 00096FC4  90 04 00 00 */	stw r0, 0(r4)
/* 8009A088 00096FC8  80 05 00 00 */	lwz r0, 0(r5)
/* 8009A08C 00096FCC  54 00 00 BE */	clrlwi r0, r0, 2
/* 8009A090 00096FD0  90 05 00 00 */	stw r0, 0(r5)
/* 8009A094 00096FD4  80 03 00 44 */	lwz r0, 0x44(r3)
/* 8009A098 00096FD8  2C 00 00 00 */	cmpwi r0, 0
/* 8009A09C 00096FDC  41 82 00 90 */	beq lbl_8009A12C
/* 8009A0A0 00096FE0  89 03 00 2C */	lbz r8, 0x2c(r3)
/* 8009A0A4 00096FE4  A0 03 00 0E */	lhz r0, 0xe(r3)
/* 8009A0A8 00096FE8  55 1F 28 34 */	slwi r31, r8, 5
/* 8009A0AC 00096FEC  A1 03 00 16 */	lhz r8, 0x16(r3)
/* 8009A0B0 00096FF0  7C 1F 01 D6 */	mullw r0, r31, r0
/* 8009A0B4 00096FF4  81 63 00 20 */	lwz r11, 0x20(r3)
/* 8009A0B8 00096FF8  81 43 00 48 */	lwz r10, 0x48(r3)
/* 8009A0BC 00096FFC  A1 83 00 0A */	lhz r12, 0xa(r3)
/* 8009A0C0 00097000  55 08 08 34 */	rlwinm r8, r8, 1, 0, 0x1a
/* 8009A0C4 00097004  7C 08 02 14 */	add r0, r8, r0
/* 8009A0C8 00097008  7C 0A 02 14 */	add r0, r10, r0
/* 8009A0CC 0009700C  2C 0B 00 00 */	cmpwi r11, 0
/* 8009A0D0 00097010  90 06 00 00 */	stw r0, 0(r6)
/* 8009A0D4 00097014  40 82 00 0C */	bne lbl_8009A0E0
/* 8009A0D8 00097018  81 06 00 00 */	lwz r8, 0(r6)
/* 8009A0DC 0009701C  48 00 00 0C */	b lbl_8009A0E8
lbl_8009A0E0:
/* 8009A0E0 00097020  80 06 00 00 */	lwz r0, 0(r6)
/* 8009A0E4 00097024  7D 00 FA 14 */	add r8, r0, r31
lbl_8009A0E8:
/* 8009A0E8 00097028  7D 80 0E 70 */	srawi r0, r12, 1
/* 8009A0EC 0009702C  91 07 00 00 */	stw r8, 0(r7)
/* 8009A0F0 00097030  7C 00 01 94 */	addze r0, r0
/* 8009A0F4 00097034  54 00 08 3C */	slwi r0, r0, 1
/* 8009A0F8 00097038  7C 00 60 10 */	subfc r0, r0, r12
/* 8009A0FC 0009703C  2C 00 00 01 */	cmpwi r0, 1
/* 8009A100 00097040  40 82 00 14 */	bne lbl_8009A114
/* 8009A104 00097044  81 06 00 00 */	lwz r8, 0(r6)
/* 8009A108 00097048  80 07 00 00 */	lwz r0, 0(r7)
/* 8009A10C 0009704C  90 06 00 00 */	stw r0, 0(r6)
/* 8009A110 00097050  91 07 00 00 */	stw r8, 0(r7)
lbl_8009A114:
/* 8009A114 00097054  80 06 00 00 */	lwz r0, 0(r6)
/* 8009A118 00097058  54 00 00 BE */	clrlwi r0, r0, 2
/* 8009A11C 0009705C  90 06 00 00 */	stw r0, 0(r6)
/* 8009A120 00097060  80 07 00 00 */	lwz r0, 0(r7)
/* 8009A124 00097064  54 00 00 BE */	clrlwi r0, r0, 2
/* 8009A128 00097068  90 07 00 00 */	stw r0, 0(r7)
lbl_8009A12C:
/* 8009A12C 0009706C  80 04 00 00 */	lwz r0, 0(r4)
/* 8009A130 00097070  3D 00 01 00 */	lis r8, 0x100
/* 8009A134 00097074  7C 00 40 40 */	cmplw r0, r8
/* 8009A138 00097078  40 80 00 30 */	bge lbl_8009A168
/* 8009A13C 0009707C  80 05 00 00 */	lwz r0, 0(r5)
/* 8009A140 00097080  7C 00 40 40 */	cmplw r0, r8
/* 8009A144 00097084  40 80 00 24 */	bge lbl_8009A168
/* 8009A148 00097088  80 06 00 00 */	lwz r0, 0(r6)
/* 8009A14C 0009708C  7C 00 40 40 */	cmplw r0, r8
/* 8009A150 00097090  40 80 00 18 */	bge lbl_8009A168
/* 8009A154 00097094  80 07 00 00 */	lwz r0, 0(r7)
/* 8009A158 00097098  7C 00 40 40 */	cmplw r0, r8
/* 8009A15C 0009709C  40 80 00 0C */	bge lbl_8009A168
/* 8009A160 000970A0  39 40 00 00 */	li r10, 0
/* 8009A164 000970A4  48 00 00 08 */	b lbl_8009A16C
lbl_8009A168:
/* 8009A168 000970A8  39 40 00 01 */	li r10, 1
lbl_8009A16C:
/* 8009A16C 000970AC  28 0A 00 00 */	cmplwi r10, 0
/* 8009A170 000970B0  41 82 00 34 */	beq lbl_8009A1A4
/* 8009A174 000970B4  80 04 00 00 */	lwz r0, 0(r4)
/* 8009A178 000970B8  54 00 D9 7E */	srwi r0, r0, 5
/* 8009A17C 000970BC  90 04 00 00 */	stw r0, 0(r4)
/* 8009A180 000970C0  80 05 00 00 */	lwz r0, 0(r5)
/* 8009A184 000970C4  54 00 D9 7E */	srwi r0, r0, 5
/* 8009A188 000970C8  90 05 00 00 */	stw r0, 0(r5)
/* 8009A18C 000970CC  80 06 00 00 */	lwz r0, 0(r6)
/* 8009A190 000970D0  54 00 D9 7E */	srwi r0, r0, 5
/* 8009A194 000970D4  90 06 00 00 */	stw r0, 0(r6)
/* 8009A198 000970D8  80 07 00 00 */	lwz r0, 0(r7)
/* 8009A19C 000970DC  54 00 D9 7E */	srwi r0, r0, 5
/* 8009A1A0 000970E0  90 07 00 00 */	stw r0, 0(r7)
lbl_8009A1A4:
/* 8009A1A4 000970E4  80 04 00 00 */	lwz r0, 0(r4)
/* 8009A1A8 000970E8  55 4B 60 26 */	slwi r11, r10, 0xc
/* 8009A1AC 000970EC  3D 00 00 01 */	lis r8, 1
/* 8009A1B0 000970F0  B0 09 00 1E */	sth r0, 0x1e(r9)
/* 8009A1B4 000970F4  3C 00 00 02 */	lis r0, 2
/* 8009A1B8 000970F8  81 4D 94 68 */	lwz r10, changed@sda21(r13)
/* 8009A1BC 000970FC  81 8D 94 6C */	lwz r12, lbl_80409F2C@sda21(r13)
/* 8009A1C0 00097100  7D 4A 43 78 */	or r10, r10, r8
/* 8009A1C4 00097104  91 8D 94 6C */	stw r12, lbl_80409F2C@sda21(r13)
/* 8009A1C8 00097108  91 4D 94 68 */	stw r10, changed@sda21(r13)
/* 8009A1CC 0009710C  81 44 00 00 */	lwz r10, 0(r4)
/* 8009A1D0 00097110  88 83 00 3C */	lbz r4, 0x3c(r3)
/* 8009A1D4 00097114  55 4A 84 3E */	srwi r10, r10, 0x10
/* 8009A1D8 00097118  54 84 40 2E */	slwi r4, r4, 8
/* 8009A1DC 0009711C  7D 44 23 78 */	or r4, r10, r4
/* 8009A1E0 00097120  7D 64 23 78 */	or r4, r11, r4
/* 8009A1E4 00097124  B0 89 00 1C */	sth r4, 0x1c(r9)
/* 8009A1E8 00097128  80 8D 94 68 */	lwz r4, changed@sda21(r13)
/* 8009A1EC 0009712C  81 4D 94 6C */	lwz r10, lbl_80409F2C@sda21(r13)
/* 8009A1F0 00097130  7C 80 03 78 */	or r0, r4, r0
/* 8009A1F4 00097134  91 4D 94 6C */	stw r10, lbl_80409F2C@sda21(r13)
/* 8009A1F8 00097138  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009A1FC 0009713C  80 05 00 00 */	lwz r0, 0(r5)
/* 8009A200 00097140  B0 09 00 26 */	sth r0, 0x26(r9)
/* 8009A204 00097144  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009A208 00097148  80 8D 94 6C */	lwz r4, lbl_80409F2C@sda21(r13)
/* 8009A20C 0009714C  60 00 10 00 */	ori r0, r0, 0x1000
/* 8009A210 00097150  90 8D 94 6C */	stw r4, lbl_80409F2C@sda21(r13)
/* 8009A214 00097154  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009A218 00097158  80 05 00 00 */	lwz r0, 0(r5)
/* 8009A21C 0009715C  54 00 84 3E */	srwi r0, r0, 0x10
/* 8009A220 00097160  B0 09 00 24 */	sth r0, 0x24(r9)
/* 8009A224 00097164  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009A228 00097168  80 8D 94 6C */	lwz r4, lbl_80409F2C@sda21(r13)
/* 8009A22C 0009716C  60 00 20 00 */	ori r0, r0, 0x2000
/* 8009A230 00097170  90 8D 94 6C */	stw r4, lbl_80409F2C@sda21(r13)
/* 8009A234 00097174  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009A238 00097178  80 03 00 44 */	lwz r0, 0x44(r3)
/* 8009A23C 0009717C  2C 00 00 00 */	cmpwi r0, 0
/* 8009A240 00097180  41 82 00 80 */	beq lbl_8009A2C0
/* 8009A244 00097184  80 66 00 00 */	lwz r3, 0(r6)
/* 8009A248 00097188  38 08 80 00 */	addi r0, r8, -32768
/* 8009A24C 0009718C  B0 69 00 22 */	sth r3, 0x22(r9)
/* 8009A250 00097190  80 6D 94 68 */	lwz r3, changed@sda21(r13)
/* 8009A254 00097194  80 8D 94 6C */	lwz r4, lbl_80409F2C@sda21(r13)
/* 8009A258 00097198  60 63 40 00 */	ori r3, r3, 0x4000
/* 8009A25C 0009719C  90 8D 94 6C */	stw r4, lbl_80409F2C@sda21(r13)
/* 8009A260 000971A0  90 6D 94 68 */	stw r3, changed@sda21(r13)
/* 8009A264 000971A4  80 66 00 00 */	lwz r3, 0(r6)
/* 8009A268 000971A8  54 63 84 3E */	srwi r3, r3, 0x10
/* 8009A26C 000971AC  B0 69 00 20 */	sth r3, 0x20(r9)
/* 8009A270 000971B0  80 6D 94 68 */	lwz r3, changed@sda21(r13)
/* 8009A274 000971B4  80 8D 94 6C */	lwz r4, lbl_80409F2C@sda21(r13)
/* 8009A278 000971B8  7C 60 03 78 */	or r0, r3, r0
/* 8009A27C 000971BC  90 8D 94 6C */	stw r4, lbl_80409F2C@sda21(r13)
/* 8009A280 000971C0  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009A284 000971C4  80 07 00 00 */	lwz r0, 0(r7)
/* 8009A288 000971C8  B0 09 00 2A */	sth r0, 0x2a(r9)
/* 8009A28C 000971CC  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009A290 000971D0  80 6D 94 6C */	lwz r3, lbl_80409F2C@sda21(r13)
/* 8009A294 000971D4  60 00 04 00 */	ori r0, r0, 0x400
/* 8009A298 000971D8  90 6D 94 6C */	stw r3, lbl_80409F2C@sda21(r13)
/* 8009A29C 000971DC  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009A2A0 000971E0  80 07 00 00 */	lwz r0, 0(r7)
/* 8009A2A4 000971E4  54 00 84 3E */	srwi r0, r0, 0x10
/* 8009A2A8 000971E8  B0 09 00 28 */	sth r0, 0x28(r9)
/* 8009A2AC 000971EC  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009A2B0 000971F0  80 6D 94 6C */	lwz r3, lbl_80409F2C@sda21(r13)
/* 8009A2B4 000971F4  60 00 08 00 */	ori r0, r0, 0x800
/* 8009A2B8 000971F8  90 6D 94 6C */	stw r3, lbl_80409F2C@sda21(r13)
/* 8009A2BC 000971FC  90 0D 94 68 */	stw r0, changed@sda21(r13)
lbl_8009A2C0:
/* 8009A2C0 00097200  83 E1 00 44 */	lwz r31, 0x44(r1)
/* 8009A2C4 00097204  38 21 00 48 */	addi r1, r1, 0x48
/* 8009A2C8 00097208  4E 80 00 20 */	blr 

.global setVerticalRegs
setVerticalRegs:
/* 8009A2CC 0009720C  94 21 FF D8 */	stwu r1, -0x28(r1)
/* 8009A2D0 00097210  54 A0 06 3E */	clrlwi r0, r5, 0x18
/* 8009A2D4 00097214  3D 60 80 3F */	lis r11, regs@ha
/* 8009A2D8 00097218  93 E1 00 24 */	stw r31, 0x24(r1)
/* 8009A2DC 0009721C  28 00 00 0A */	cmplwi r0, 0xa
/* 8009A2E0 00097220  83 E1 00 30 */	lwz r31, 0x30(r1)
/* 8009A2E4 00097224  39 6B BD C8 */	addi r11, r11, regs@l
/* 8009A2E8 00097228  93 C1 00 20 */	stw r30, 0x20(r1)
/* 8009A2EC 0009722C  93 A1 00 1C */	stw r29, 0x1c(r1)
/* 8009A2F0 00097230  41 80 00 10 */	blt lbl_8009A300
/* 8009A2F4 00097234  39 80 00 01 */	li r12, 1
/* 8009A2F8 00097238  3B A0 00 02 */	li r29, 2
/* 8009A2FC 0009723C  48 00 00 0C */	b lbl_8009A308
lbl_8009A300:
/* 8009A300 00097240  39 80 00 02 */	li r12, 2
/* 8009A304 00097244  3B A0 00 01 */	li r29, 1
lbl_8009A308:
/* 8009A308 00097248  54 7E 04 3E */	clrlwi r30, r3, 0x10
/* 8009A30C 0009724C  7F C0 0E 70 */	srawi r0, r30, 1
/* 8009A310 00097250  7C 00 01 94 */	addze r0, r0
/* 8009A314 00097254  54 00 08 3C */	slwi r0, r0, 1
/* 8009A318 00097258  7C 00 F0 11 */	subfc. r0, r0, r30
/* 8009A31C 0009725C  40 82 00 3C */	bne lbl_8009A358
/* 8009A320 00097260  55 83 04 3E */	clrlwi r3, r12, 0x10
/* 8009A324 00097264  54 C0 04 3E */	clrlwi r0, r6, 0x10
/* 8009A328 00097268  7C 03 01 D6 */	mullw r0, r3, r0
/* 8009A32C 0009726C  54 83 04 3E */	clrlwi r3, r4, 0x10
/* 8009A330 00097270  7C 03 00 50 */	subf r0, r3, r0
/* 8009A334 00097274  57 A3 04 3E */	clrlwi r3, r29, 0x10
/* 8009A338 00097278  7F A3 F1 D6 */	mullw r29, r3, r30
/* 8009A33C 0009727C  7C 1E 00 50 */	subf r0, r30, r0
/* 8009A340 00097280  7F C3 01 D6 */	mullw r30, r3, r0
/* 8009A344 00097284  7C 07 EA 14 */	add r0, r7, r29
/* 8009A348 00097288  7C C9 F2 14 */	add r6, r9, r30
/* 8009A34C 0009728C  7C 68 EA 14 */	add r3, r8, r29
/* 8009A350 00097290  7C EA F2 14 */	add r7, r10, r30
/* 8009A354 00097294  48 00 00 38 */	b lbl_8009A38C
lbl_8009A358:
/* 8009A358 00097298  55 83 04 3E */	clrlwi r3, r12, 0x10
/* 8009A35C 0009729C  54 C0 04 3E */	clrlwi r0, r6, 0x10
/* 8009A360 000972A0  7C 03 01 D6 */	mullw r0, r3, r0
/* 8009A364 000972A4  54 83 04 3E */	clrlwi r3, r4, 0x10
/* 8009A368 000972A8  7C 03 00 50 */	subf r0, r3, r0
/* 8009A36C 000972AC  57 A3 04 3E */	clrlwi r3, r29, 0x10
/* 8009A370 000972B0  7F A3 F1 D6 */	mullw r29, r3, r30
/* 8009A374 000972B4  7C 1E 00 50 */	subf r0, r30, r0
/* 8009A378 000972B8  7F C3 01 D6 */	mullw r30, r3, r0
/* 8009A37C 000972BC  7C 08 EA 14 */	add r0, r8, r29
/* 8009A380 000972C0  7C CA F2 14 */	add r6, r10, r30
/* 8009A384 000972C4  7C 67 EA 14 */	add r3, r7, r29
/* 8009A388 000972C8  7C E9 F2 14 */	add r7, r9, r30
lbl_8009A38C:
/* 8009A38C 000972CC  54 88 04 3E */	clrlwi r8, r4, 0x10
/* 8009A390 000972D0  55 84 04 3E */	clrlwi r4, r12, 0x10
/* 8009A394 000972D4  7C 88 23 D6 */	divw r4, r8, r4
/* 8009A398 000972D8  2C 1F 00 00 */	cmpwi r31, 0
/* 8009A39C 000972DC  54 84 04 3E */	clrlwi r4, r4, 0x10
/* 8009A3A0 000972E0  41 82 00 20 */	beq lbl_8009A3C0
/* 8009A3A4 000972E4  54 84 08 3C */	slwi r4, r4, 1
/* 8009A3A8 000972E8  38 84 FF FE */	addi r4, r4, -2
/* 8009A3AC 000972EC  7C 00 22 14 */	add r0, r0, r4
/* 8009A3B0 000972F0  7C 63 22 14 */	add r3, r3, r4
/* 8009A3B4 000972F4  38 80 00 00 */	li r4, 0
/* 8009A3B8 000972F8  38 C6 00 02 */	addi r6, r6, 2
/* 8009A3BC 000972FC  38 E7 00 02 */	addi r7, r7, 2
lbl_8009A3C0:
/* 8009A3C0 00097300  54 A5 06 3E */	clrlwi r5, r5, 0x18
/* 8009A3C4 00097304  54 84 23 36 */	rlwinm r4, r4, 4, 0xc, 0x1b
/* 8009A3C8 00097308  7C A4 23 78 */	or r4, r5, r4
/* 8009A3CC 0009730C  B0 8B 00 00 */	sth r4, 0(r11)
/* 8009A3D0 00097310  3C 80 80 00 */	lis r4, 0x8000
/* 8009A3D4 00097314  3D 20 01 00 */	lis r9, 0x100
/* 8009A3D8 00097318  80 AD 94 68 */	lwz r5, changed@sda21(r13)
/* 8009A3DC 0009731C  3D 00 02 00 */	lis r8, 0x200
/* 8009A3E0 00097320  81 4D 94 6C */	lwz r10, lbl_80409F2C@sda21(r13)
/* 8009A3E4 00097324  7C A4 23 78 */	or r4, r5, r4
/* 8009A3E8 00097328  3C A0 00 40 */	lis r5, 0x40
/* 8009A3EC 0009732C  91 4D 94 6C */	stw r10, lbl_80409F2C@sda21(r13)
/* 8009A3F0 00097330  90 8D 94 68 */	stw r4, changed@sda21(r13)
/* 8009A3F4 00097334  3C 80 00 80 */	lis r4, 0x80
/* 8009A3F8 00097338  B0 0B 00 0E */	sth r0, 0xe(r11)
/* 8009A3FC 0009733C  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009A400 00097340  81 4D 94 6C */	lwz r10, lbl_80409F2C@sda21(r13)
/* 8009A404 00097344  7C 00 4B 78 */	or r0, r0, r9
/* 8009A408 00097348  91 4D 94 6C */	stw r10, lbl_80409F2C@sda21(r13)
/* 8009A40C 0009734C  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009A410 00097350  B0 CB 00 0C */	sth r6, 0xc(r11)
/* 8009A414 00097354  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009A418 00097358  80 CD 94 6C */	lwz r6, lbl_80409F2C@sda21(r13)
/* 8009A41C 0009735C  7C 00 43 78 */	or r0, r0, r8
/* 8009A420 00097360  90 CD 94 6C */	stw r6, lbl_80409F2C@sda21(r13)
/* 8009A424 00097364  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009A428 00097368  B0 6B 00 12 */	sth r3, 0x12(r11)
/* 8009A42C 0009736C  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009A430 00097370  80 6D 94 6C */	lwz r3, lbl_80409F2C@sda21(r13)
/* 8009A434 00097374  7C 00 2B 78 */	or r0, r0, r5
/* 8009A438 00097378  90 6D 94 6C */	stw r3, lbl_80409F2C@sda21(r13)
/* 8009A43C 0009737C  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009A440 00097380  B0 EB 00 10 */	sth r7, 0x10(r11)
/* 8009A444 00097384  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009A448 00097388  80 6D 94 6C */	lwz r3, lbl_80409F2C@sda21(r13)
/* 8009A44C 0009738C  7C 00 23 78 */	or r0, r0, r4
/* 8009A450 00097390  90 6D 94 6C */	stw r3, lbl_80409F2C@sda21(r13)
/* 8009A454 00097394  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009A458 00097398  83 E1 00 24 */	lwz r31, 0x24(r1)
/* 8009A45C 0009739C  83 C1 00 20 */	lwz r30, 0x20(r1)
/* 8009A460 000973A0  83 A1 00 1C */	lwz r29, 0x1c(r1)
/* 8009A464 000973A4  38 21 00 28 */	addi r1, r1, 0x28
/* 8009A468 000973A8  4E 80 00 20 */	blr 

.global VIConfigure
VIConfigure:
/* 8009A46C 000973AC  7C 08 02 A6 */	mflr r0
/* 8009A470 000973B0  3C A0 80 3B */	lis r5, timing@ha
/* 8009A474 000973B4  90 01 00 04 */	stw r0, 4(r1)
/* 8009A478 000973B8  3C 80 80 3F */	lis r4, regs@ha
/* 8009A47C 000973BC  94 21 FF 88 */	stwu r1, -0x78(r1)
/* 8009A480 000973C0  BD C1 00 30 */	stmw r14, 0x30(r1)
/* 8009A484 000973C4  3B E3 00 00 */	addi r31, r3, 0
/* 8009A488 000973C8  39 E5 0F 30 */	addi r15, r5, timing@l
/* 8009A48C 000973CC  3B A4 BD C8 */	addi r29, r4, regs@l
/* 8009A490 000973D0  4B FF 5D 3D */	bl OSDisableInterrupts
/* 8009A494 000973D4  80 9F 00 00 */	lwz r4, 0(r31)
/* 8009A498 000973D8  3B 9D 01 14 */	addi r28, r29, 0x114
/* 8009A49C 000973DC  80 1D 01 14 */	lwz r0, 0x114(r29)
/* 8009A4A0 000973E0  39 C3 00 00 */	addi r14, r3, 0
/* 8009A4A4 000973E4  54 84 07 BE */	clrlwi r4, r4, 0x1e
/* 8009A4A8 000973E8  7C 00 20 40 */	cmplw r0, r4
/* 8009A4AC 000973EC  41 82 00 10 */	beq lbl_8009A4BC
/* 8009A4B0 000973F0  38 00 00 01 */	li r0, 1
/* 8009A4B4 000973F4  90 0D 94 60 */	stw r0, changeMode@sda21(r13)
/* 8009A4B8 000973F8  90 9C 00 00 */	stw r4, 0(r28)
lbl_8009A4BC:
/* 8009A4BC 000973FC  80 1F 00 00 */	lwz r0, 0(r31)
/* 8009A4C0 00097400  3C 60 80 00 */	lis r3, 0x800000CC@ha
/* 8009A4C4 00097404  82 23 00 CC */	lwz r17, 0x800000CC@l(r3)
/* 8009A4C8 00097408  54 10 F0 BE */	srwi r16, r0, 2
/* 8009A4CC 0009740C  28 10 00 04 */	cmplwi r16, 4
/* 8009A4D0 00097410  40 82 00 6C */	bne lbl_8009A53C
/* 8009A4D4 00097414  80 0D 94 8C */	lwz r0, message$332@sda21(r13)
/* 8009A4D8 00097418  28 00 00 00 */	cmplwi r0, 0
/* 8009A4DC 0009741C  40 82 00 60 */	bne lbl_8009A53C
/* 8009A4E0 00097420  38 00 00 01 */	li r0, 1
/* 8009A4E4 00097424  4C C6 31 82 */	crclr 6
/* 8009A4E8 00097428  90 0D 94 8C */	stw r0, message$332@sda21(r13)
/* 8009A4EC 0009742C  38 6F 01 BC */	addi r3, r15, 0x1bc
/* 8009A4F0 00097430  4B FF 4A 75 */	bl OSReport
/* 8009A4F4 00097434  38 6F 01 E8 */	addi r3, r15, 0x1e8
/* 8009A4F8 00097438  4C C6 31 82 */	crclr 6
/* 8009A4FC 0009743C  4B FF 4A 69 */	bl OSReport
/* 8009A500 00097440  38 6F 02 14 */	addi r3, r15, 0x214
/* 8009A504 00097444  4C C6 31 82 */	crclr 6
/* 8009A508 00097448  4B FF 4A 5D */	bl OSReport
/* 8009A50C 0009744C  38 6F 02 40 */	addi r3, r15, 0x240
/* 8009A510 00097450  4C C6 31 82 */	crclr 6
/* 8009A514 00097454  4B FF 4A 51 */	bl OSReport
/* 8009A518 00097458  38 6F 02 6C */	addi r3, r15, 0x26c
/* 8009A51C 0009745C  4C C6 31 82 */	crclr 6
/* 8009A520 00097460  4B FF 4A 45 */	bl OSReport
/* 8009A524 00097464  38 6F 02 98 */	addi r3, r15, 0x298
/* 8009A528 00097468  4C C6 31 82 */	crclr 6
/* 8009A52C 0009746C  4B FF 4A 39 */	bl OSReport
/* 8009A530 00097470  38 6F 01 BC */	addi r3, r15, 0x1bc
/* 8009A534 00097474  4C C6 31 82 */	crclr 6
/* 8009A538 00097478  4B FF 4A 2D */	bl OSReport
lbl_8009A53C:
/* 8009A53C 0009747C  28 10 00 00 */	cmplwi r16, 0
/* 8009A540 00097480  41 82 00 0C */	beq lbl_8009A54C
/* 8009A544 00097484  28 10 00 02 */	cmplwi r16, 2
/* 8009A548 00097488  40 82 00 0C */	bne lbl_8009A554
lbl_8009A54C:
/* 8009A54C 0009748C  92 3D 01 18 */	stw r17, 0x118(r29)
/* 8009A550 00097490  48 00 00 08 */	b lbl_8009A558
lbl_8009A554:
/* 8009A554 00097494  92 1D 01 18 */	stw r16, 0x118(r29)
lbl_8009A558:
/* 8009A558 00097498  A0 1F 00 0A */	lhz r0, 0xa(r31)
/* 8009A55C 0009749C  B0 1D 00 F0 */	sth r0, 0xf0(r29)
/* 8009A560 000974A0  80 1C 00 00 */	lwz r0, 0(r28)
/* 8009A564 000974A4  28 00 00 01 */	cmplwi r0, 1
/* 8009A568 000974A8  40 82 00 10 */	bne lbl_8009A578
/* 8009A56C 000974AC  A0 1F 00 0C */	lhz r0, 0xc(r31)
/* 8009A570 000974B0  54 00 0C 3C */	rlwinm r0, r0, 1, 0x10, 0x1e
/* 8009A574 000974B4  48 00 00 08 */	b lbl_8009A57C
lbl_8009A578:
/* 8009A578 000974B8  A0 1F 00 0C */	lhz r0, 0xc(r31)
lbl_8009A57C:
/* 8009A57C 000974BC  B0 1D 00 F2 */	sth r0, 0xf2(r29)
/* 8009A580 000974C0  3A FD 00 F2 */	addi r23, r29, 0xf2
/* 8009A584 000974C4  3B 1D 00 F4 */	addi r24, r29, 0xf4
/* 8009A588 000974C8  A0 1F 00 0E */	lhz r0, 0xe(r31)
/* 8009A58C 000974CC  3B 7D 01 02 */	addi r27, r29, 0x102
/* 8009A590 000974D0  3B 3D 01 10 */	addi r25, r29, 0x110
/* 8009A594 000974D4  B0 1D 00 F4 */	sth r0, 0xf4(r29)
/* 8009A598 000974D8  38 00 00 00 */	li r0, 0
/* 8009A59C 000974DC  3A 1D 01 0A */	addi r16, r29, 0x10a
/* 8009A5A0 000974E0  A0 7F 00 04 */	lhz r3, 4(r31)
/* 8009A5A4 000974E4  3B 5D 01 0C */	addi r26, r29, 0x10c
/* 8009A5A8 000974E8  39 FD 01 06 */	addi r15, r29, 0x106
/* 8009A5AC 000974EC  B0 7D 01 02 */	sth r3, 0x102(r29)
/* 8009A5B0 000974F0  3A 3D 01 08 */	addi r17, r29, 0x108
/* 8009A5B4 000974F4  A0 7F 00 08 */	lhz r3, 8(r31)
/* 8009A5B8 000974F8  B0 7D 01 04 */	sth r3, 0x104(r29)
/* 8009A5BC 000974FC  80 7F 00 14 */	lwz r3, 0x14(r31)
/* 8009A5C0 00097500  90 7D 01 10 */	stw r3, 0x110(r29)
/* 8009A5C4 00097504  A0 7D 01 02 */	lhz r3, 0x102(r29)
/* 8009A5C8 00097508  B0 7D 01 0A */	sth r3, 0x10a(r29)
/* 8009A5CC 0009750C  A0 7D 01 04 */	lhz r3, 0x104(r29)
/* 8009A5D0 00097510  B0 7D 01 0C */	sth r3, 0x10c(r29)
/* 8009A5D4 00097514  B0 1D 01 06 */	sth r0, 0x106(r29)
/* 8009A5D8 00097518  B0 1D 01 08 */	sth r0, 0x108(r29)
/* 8009A5DC 0009751C  80 1C 00 00 */	lwz r0, 0(r28)
/* 8009A5E0 00097520  28 00 00 02 */	cmplwi r0, 2
/* 8009A5E4 00097524  40 82 00 0C */	bne lbl_8009A5F0
/* 8009A5E8 00097528  A0 1A 00 00 */	lhz r0, 0(r26)
/* 8009A5EC 0009752C  48 00 00 30 */	b lbl_8009A61C
lbl_8009A5F0:
/* 8009A5F0 00097530  28 00 00 03 */	cmplwi r0, 3
/* 8009A5F4 00097534  40 82 00 0C */	bne lbl_8009A600
/* 8009A5F8 00097538  A0 1A 00 00 */	lhz r0, 0(r26)
/* 8009A5FC 0009753C  48 00 00 20 */	b lbl_8009A61C
lbl_8009A600:
/* 8009A600 00097540  80 19 00 00 */	lwz r0, 0(r25)
/* 8009A604 00097544  2C 00 00 00 */	cmpwi r0, 0
/* 8009A608 00097548  40 82 00 10 */	bne lbl_8009A618
/* 8009A60C 0009754C  A0 1A 00 00 */	lhz r0, 0(r26)
/* 8009A610 00097550  54 00 0C 3C */	rlwinm r0, r0, 1, 0x10, 0x1e
/* 8009A614 00097554  48 00 00 08 */	b lbl_8009A61C
lbl_8009A618:
/* 8009A618 00097558  A0 1A 00 00 */	lhz r0, 0(r26)
lbl_8009A61C:
/* 8009A61C 0009755C  3A DD 00 F6 */	addi r22, r29, 0xf6
/* 8009A620 00097560  B0 1D 00 F6 */	sth r0, 0xf6(r29)
/* 8009A624 00097564  80 1C 00 00 */	lwz r0, 0(r28)
/* 8009A628 00097568  28 00 00 03 */	cmplwi r0, 3
/* 8009A62C 0009756C  40 82 00 0C */	bne lbl_8009A638
/* 8009A630 00097570  38 00 00 01 */	li r0, 1
/* 8009A634 00097574  48 00 00 08 */	b lbl_8009A63C
lbl_8009A638:
/* 8009A638 00097578  38 00 00 00 */	li r0, 0
lbl_8009A63C:
/* 8009A63C 0009757C  3A 5D 01 34 */	addi r18, r29, 0x134
/* 8009A640 00097580  90 1D 01 34 */	stw r0, 0x134(r29)
/* 8009A644 00097584  3A BD 01 18 */	addi r21, r29, 0x118
/* 8009A648 00097588  80 7D 01 18 */	lwz r3, 0x118(r29)
/* 8009A64C 0009758C  80 1C 00 00 */	lwz r0, 0(r28)
/* 8009A650 00097590  54 63 10 3A */	slwi r3, r3, 2
/* 8009A654 00097594  7C 63 02 14 */	add r3, r3, r0
/* 8009A658 00097598  4B FF F2 4D */	bl getTiming
/* 8009A65C 0009759C  7C 7E 1B 78 */	mr r30, r3
/* 8009A660 000975A0  93 DD 01 44 */	stw r30, 0x144(r29)
/* 8009A664 000975A4  A0 18 00 00 */	lhz r0, 0(r24)
/* 8009A668 000975A8  A8 9D 00 F0 */	lha r4, 0xf0(r29)
/* 8009A66C 000975AC  A8 6D 94 5C */	lha r3, displayOffsetH@sda21(r13)
/* 8009A670 000975B0  20 A0 02 D0 */	subfic r5, r0, 0x2d0
/* 8009A674 000975B4  A0 1E 00 02 */	lhz r0, 2(r30)
/* 8009A678 000975B8  7C 64 1A 14 */	add r3, r4, r3
/* 8009A67C 000975BC  7C 03 28 00 */	cmpw r3, r5
/* 8009A680 000975C0  40 81 00 08 */	ble lbl_8009A688
/* 8009A684 000975C4  48 00 00 14 */	b lbl_8009A698
lbl_8009A688:
/* 8009A688 000975C8  2C 03 00 00 */	cmpwi r3, 0
/* 8009A68C 000975CC  40 80 00 08 */	bge lbl_8009A694
/* 8009A690 000975D0  38 60 00 00 */	li r3, 0
lbl_8009A694:
/* 8009A694 000975D4  7C 65 1B 78 */	mr r5, r3
lbl_8009A698:
/* 8009A698 000975D8  B0 BD 00 F8 */	sth r5, 0xf8(r29)
/* 8009A69C 000975DC  38 7D 00 F8 */	addi r3, r29, 0xf8
/* 8009A6A0 000975E0  80 99 00 00 */	lwz r4, 0(r25)
/* 8009A6A4 000975E4  2C 04 00 00 */	cmpwi r4, 0
/* 8009A6A8 000975E8  40 82 00 0C */	bne lbl_8009A6B4
/* 8009A6AC 000975EC  38 80 00 02 */	li r4, 2
/* 8009A6B0 000975F0  48 00 00 08 */	b lbl_8009A6B8
lbl_8009A6B4:
/* 8009A6B4 000975F4  38 80 00 01 */	li r4, 1
lbl_8009A6B8:
/* 8009A6B8 000975F8  A0 B7 00 00 */	lhz r5, 0(r23)
/* 8009A6BC 000975FC  A8 CD 94 5E */	lha r6, displayOffsetV@sda21(r13)
/* 8009A6C0 00097600  7C A7 07 34 */	extsh r7, r5
/* 8009A6C4 00097604  54 A5 07 FE */	clrlwi r5, r5, 0x1f
/* 8009A6C8 00097608  7C E7 32 14 */	add r7, r7, r6
/* 8009A6CC 0009760C  7C 07 28 00 */	cmpw r7, r5
/* 8009A6D0 00097610  40 81 00 08 */	ble lbl_8009A6D8
/* 8009A6D4 00097614  48 00 00 08 */	b lbl_8009A6DC
lbl_8009A6D8:
/* 8009A6D8 00097618  7C A7 2B 78 */	mr r7, r5
lbl_8009A6DC:
/* 8009A6DC 0009761C  B0 FD 00 FA */	sth r7, 0xfa(r29)
/* 8009A6E0 00097620  7C 00 07 34 */	extsh r0, r0
/* 8009A6E4 00097624  54 00 08 3C */	slwi r0, r0, 1
/* 8009A6E8 00097628  A1 16 00 00 */	lhz r8, 0(r22)
/* 8009A6EC 0009762C  7C 05 00 50 */	subf r0, r5, r0
/* 8009A6F0 00097630  A8 F7 00 00 */	lha r7, 0(r23)
/* 8009A6F4 00097634  3A 7D 00 FA */	addi r19, r29, 0xfa
/* 8009A6F8 00097638  7D 09 07 34 */	extsh r9, r8
/* 8009A6FC 0009763C  7D 49 32 14 */	add r10, r9, r6
/* 8009A700 00097640  7D 47 52 14 */	add r10, r7, r10
/* 8009A704 00097644  7D 20 50 51 */	subf. r9, r0, r10
/* 8009A708 00097648  40 81 00 0C */	ble lbl_8009A714
/* 8009A70C 0009764C  7D 20 50 50 */	subf r9, r0, r10
/* 8009A710 00097650  48 00 00 08 */	b lbl_8009A718
lbl_8009A714:
/* 8009A714 00097654  39 20 00 00 */	li r9, 0
lbl_8009A718:
/* 8009A718 00097658  7D 47 32 14 */	add r10, r7, r6
/* 8009A71C 0009765C  7C E5 50 51 */	subf. r7, r5, r10
/* 8009A720 00097660  40 80 00 0C */	bge lbl_8009A72C
/* 8009A724 00097664  7C E5 50 50 */	subf r7, r5, r10
/* 8009A728 00097668  48 00 00 08 */	b lbl_8009A730
lbl_8009A72C:
/* 8009A72C 0009766C  38 E0 00 00 */	li r7, 0
lbl_8009A730:
/* 8009A730 00097670  7C E8 3A 14 */	add r7, r8, r7
/* 8009A734 00097674  7C E9 38 50 */	subf r7, r9, r7
/* 8009A738 00097678  3A 9D 00 FC */	addi r20, r29, 0xfc
/* 8009A73C 0009767C  B0 FD 00 FC */	sth r7, 0xfc(r29)
/* 8009A740 00097680  A8 F7 00 00 */	lha r7, 0(r23)
/* 8009A744 00097684  7D 07 32 14 */	add r8, r7, r6
/* 8009A748 00097688  7C E5 40 51 */	subf. r7, r5, r8
/* 8009A74C 0009768C  40 80 00 0C */	bge lbl_8009A758
/* 8009A750 00097690  7C E5 40 50 */	subf r7, r5, r8
/* 8009A754 00097694  48 00 00 08 */	b lbl_8009A75C
lbl_8009A758:
/* 8009A758 00097698  38 E0 00 00 */	li r7, 0
lbl_8009A75C:
/* 8009A75C 0009769C  7D 07 23 D6 */	divw r8, r7, r4
/* 8009A760 000976A0  A0 F1 00 00 */	lhz r7, 0(r17)
/* 8009A764 000976A4  7C E8 38 50 */	subf r7, r8, r7
/* 8009A768 000976A8  B0 FD 00 FE */	sth r7, 0xfe(r29)
/* 8009A76C 000976AC  A8 F6 00 00 */	lha r7, 0(r22)
/* 8009A770 000976B0  A9 37 00 00 */	lha r9, 0(r23)
/* 8009A774 000976B4  7D 07 32 14 */	add r8, r7, r6
/* 8009A778 000976B8  7D 09 42 14 */	add r8, r9, r8
/* 8009A77C 000976BC  7C E0 40 51 */	subf. r7, r0, r8
/* 8009A780 000976C0  40 81 00 0C */	ble lbl_8009A78C
/* 8009A784 000976C4  7C E0 40 50 */	subf r7, r0, r8
/* 8009A788 000976C8  48 00 00 08 */	b lbl_8009A790
lbl_8009A78C:
/* 8009A78C 000976CC  38 E0 00 00 */	li r7, 0
lbl_8009A790:
/* 8009A790 000976D0  7C C9 32 14 */	add r6, r9, r6
/* 8009A794 000976D4  7C 05 30 51 */	subf. r0, r5, r6
/* 8009A798 000976D8  40 80 00 0C */	bge lbl_8009A7A4
/* 8009A79C 000976DC  7C 05 30 50 */	subf r0, r5, r6
/* 8009A7A0 000976E0  48 00 00 08 */	b lbl_8009A7A8
lbl_8009A7A4:
/* 8009A7A4 000976E4  38 00 00 00 */	li r0, 0
lbl_8009A7A8:
/* 8009A7A8 000976E8  7C 00 23 D6 */	divw r0, r0, r4
/* 8009A7AC 000976EC  A0 BA 00 00 */	lhz r5, 0(r26)
/* 8009A7B0 000976F0  7C 87 23 D6 */	divw r4, r7, r4
/* 8009A7B4 000976F4  7C 05 02 14 */	add r0, r5, r0
/* 8009A7B8 000976F8  7C 04 00 50 */	subf r0, r4, r0
/* 8009A7BC 000976FC  B0 1D 01 00 */	sth r0, 0x100(r29)
/* 8009A7C0 00097700  80 0D 94 58 */	lwz r0, encoderType@sda21(r13)
/* 8009A7C4 00097704  28 00 00 00 */	cmplwi r0, 0
/* 8009A7C8 00097708  40 82 00 0C */	bne lbl_8009A7D4
/* 8009A7CC 0009770C  38 00 00 03 */	li r0, 3
/* 8009A7D0 00097710  90 15 00 00 */	stw r0, 0(r21)
lbl_8009A7D4:
/* 8009A7D4 00097714  A0 BE 00 18 */	lhz r5, 0x18(r30)
/* 8009A7D8 00097718  7C A4 0E 70 */	srawi r4, r5, 1
/* 8009A7DC 0009771C  7C 84 01 94 */	addze r4, r4
/* 8009A7E0 00097720  7C A0 0E 70 */	srawi r0, r5, 1
/* 8009A7E4 00097724  7C 00 01 94 */	addze r0, r0
/* 8009A7E8 00097728  54 00 08 3C */	slwi r0, r0, 1
/* 8009A7EC 0009772C  7C 00 28 10 */	subfc r0, r0, r5
/* 8009A7F0 00097730  54 00 04 3F */	clrlwi. r0, r0, 0x10
/* 8009A7F4 00097734  54 84 04 3E */	clrlwi r4, r4, 0x10
/* 8009A7F8 00097738  41 82 00 0C */	beq lbl_8009A804
/* 8009A7FC 0009773C  A0 BE 00 1A */	lhz r5, 0x1a(r30)
/* 8009A800 00097740  48 00 00 08 */	b lbl_8009A808
lbl_8009A804:
/* 8009A804 00097744  38 A0 00 00 */	li r5, 0
lbl_8009A808:
/* 8009A808 00097748  38 05 00 01 */	addi r0, r5, 1
/* 8009A80C 0009774C  B0 1D 00 32 */	sth r0, 0x32(r29)
/* 8009A810 00097750  38 04 00 01 */	addi r0, r4, 1
/* 8009A814 00097754  60 00 10 00 */	ori r0, r0, 0x1000
/* 8009A818 00097758  80 AD 94 68 */	lwz r5, changed@sda21(r13)
/* 8009A81C 0009775C  38 9D 00 02 */	addi r4, r29, 2
/* 8009A820 00097760  80 CD 94 6C */	lwz r6, lbl_80409F2C@sda21(r13)
/* 8009A824 00097764  60 A5 00 40 */	ori r5, r5, 0x40
/* 8009A828 00097768  90 CD 94 6C */	stw r6, lbl_80409F2C@sda21(r13)
/* 8009A82C 0009776C  90 AD 94 68 */	stw r5, changed@sda21(r13)
/* 8009A830 00097770  B0 1D 00 30 */	sth r0, 0x30(r29)
/* 8009A834 00097774  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009A838 00097778  80 AD 94 6C */	lwz r5, lbl_80409F2C@sda21(r13)
/* 8009A83C 0009777C  60 00 00 80 */	ori r0, r0, 0x80
/* 8009A840 00097780  90 AD 94 6C */	stw r5, lbl_80409F2C@sda21(r13)
/* 8009A844 00097784  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009A848 00097788  80 1C 00 00 */	lwz r0, 0(r28)
/* 8009A84C 0009778C  A0 BD 00 02 */	lhz r5, 2(r29)
/* 8009A850 00097790  28 00 00 02 */	cmplwi r0, 2
/* 8009A854 00097794  41 82 00 0C */	beq lbl_8009A860
/* 8009A858 00097798  28 00 00 03 */	cmplwi r0, 3
/* 8009A85C 0009779C  40 82 00 10 */	bne lbl_8009A86C
lbl_8009A860:
/* 8009A860 000977A0  54 A0 07 B8 */	rlwinm r0, r5, 0, 0x1e, 0x1c
/* 8009A864 000977A4  60 05 00 04 */	ori r5, r0, 4
/* 8009A868 000977A8  48 00 00 0C */	b lbl_8009A874
lbl_8009A86C:
/* 8009A86C 000977AC  54 A5 07 B8 */	rlwinm r5, r5, 0, 0x1e, 0x1c
/* 8009A870 000977B0  50 05 17 7A */	rlwimi r5, r0, 2, 0x1d, 0x1d
lbl_8009A874:
/* 8009A874 000977B4  80 D5 00 00 */	lwz r6, 0(r21)
/* 8009A878 000977B8  54 A5 07 76 */	rlwinm r5, r5, 0, 0x1d, 0x1b
/* 8009A87C 000977BC  80 F2 00 00 */	lwz r7, 0(r18)
/* 8009A880 000977C0  28 06 00 04 */	cmplwi r6, 4
/* 8009A884 000977C4  54 E0 18 38 */	slwi r0, r7, 3
/* 8009A888 000977C8  7C A0 03 78 */	or r0, r5, r0
/* 8009A88C 000977CC  41 82 00 0C */	beq lbl_8009A898
/* 8009A890 000977D0  28 06 00 05 */	cmplwi r6, 5
/* 8009A894 000977D4  40 82 00 0C */	bne lbl_8009A8A0
lbl_8009A898:
/* 8009A898 000977D8  54 00 06 2A */	rlwinm r0, r0, 0, 0x18, 0x15
/* 8009A89C 000977DC  48 00 00 10 */	b lbl_8009A8AC
lbl_8009A8A0:
/* 8009A8A0 000977E0  54 05 06 2A */	rlwinm r5, r0, 0, 0x18, 0x15
/* 8009A8A4 000977E4  54 C0 40 2E */	slwi r0, r6, 8
/* 8009A8A8 000977E8  7C A0 03 78 */	or r0, r5, r0
lbl_8009A8AC:
/* 8009A8AC 000977EC  B0 04 00 00 */	sth r0, 0(r4)
/* 8009A8B0 000977F0  3C 00 40 00 */	lis r0, 0x4000
/* 8009A8B4 000977F4  38 DD 00 6C */	addi r6, r29, 0x6c
/* 8009A8B8 000977F8  80 8D 94 68 */	lwz r4, changed@sda21(r13)
/* 8009A8BC 000977FC  80 AD 94 6C */	lwz r5, lbl_80409F2C@sda21(r13)
/* 8009A8C0 00097800  7C 80 03 78 */	or r0, r4, r0
/* 8009A8C4 00097804  90 AD 94 6C */	stw r5, lbl_80409F2C@sda21(r13)
/* 8009A8C8 00097808  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009A8CC 0009780C  80 1F 00 00 */	lwz r0, 0(r31)
/* 8009A8D0 00097810  A0 9D 00 6C */	lhz r4, 0x6c(r29)
/* 8009A8D4 00097814  2C 00 00 02 */	cmpwi r0, 2
/* 8009A8D8 00097818  41 82 00 0C */	beq lbl_8009A8E4
/* 8009A8DC 0009781C  2C 00 00 03 */	cmpwi r0, 3
/* 8009A8E0 00097820  40 82 00 10 */	bne lbl_8009A8F0
lbl_8009A8E4:
/* 8009A8E4 00097824  54 80 00 3C */	rlwinm r0, r4, 0, 0, 0x1e
/* 8009A8E8 00097828  60 00 00 01 */	ori r0, r0, 1
/* 8009A8EC 0009782C  48 00 00 08 */	b lbl_8009A8F4
lbl_8009A8F0:
/* 8009A8F0 00097830  54 80 00 3C */	rlwinm r0, r4, 0, 0, 0x1e
lbl_8009A8F4:
/* 8009A8F4 00097834  B0 06 00 00 */	sth r0, 0(r6)
/* 8009A8F8 00097838  2C 07 00 00 */	cmpwi r7, 0
/* 8009A8FC 0009783C  80 8D 94 68 */	lwz r4, changed@sda21(r13)
/* 8009A900 00097840  80 0D 94 6C */	lwz r0, lbl_80409F2C@sda21(r13)
/* 8009A904 00097844  60 00 02 00 */	ori r0, r0, 0x200
/* 8009A908 00097848  90 0D 94 6C */	stw r0, lbl_80409F2C@sda21(r13)
/* 8009A90C 0009784C  90 8D 94 68 */	stw r4, changed@sda21(r13)
/* 8009A910 00097850  A0 98 00 00 */	lhz r4, 0(r24)
/* 8009A914 00097854  A0 B0 00 00 */	lhz r5, 0(r16)
/* 8009A918 00097858  41 82 00 0C */	beq lbl_8009A924
/* 8009A91C 0009785C  54 A0 08 3C */	slwi r0, r5, 1
/* 8009A920 00097860  48 00 00 08 */	b lbl_8009A928
lbl_8009A924:
/* 8009A924 00097864  7C A0 2B 78 */	mr r0, r5
lbl_8009A928:
/* 8009A928 00097868  54 08 04 3E */	clrlwi r8, r0, 0x10
/* 8009A92C 0009786C  7C 08 20 40 */	cmplw r8, r4
/* 8009A930 00097870  40 80 00 50 */	bge lbl_8009A980
/* 8009A934 00097874  55 06 40 2E */	slwi r6, r8, 8
/* 8009A938 00097878  38 06 FF FF */	addi r0, r6, -1
/* 8009A93C 0009787C  7C 04 02 14 */	add r0, r4, r0
/* 8009A940 00097880  7C 00 23 96 */	divwu r0, r0, r4
/* 8009A944 00097884  60 00 10 00 */	ori r0, r0, 0x1000
/* 8009A948 00097888  B0 1D 00 4A */	sth r0, 0x4a(r29)
/* 8009A94C 0009788C  3C 00 04 00 */	lis r0, 0x400
/* 8009A950 00097890  80 CD 94 68 */	lwz r6, changed@sda21(r13)
/* 8009A954 00097894  80 ED 94 6C */	lwz r7, lbl_80409F2C@sda21(r13)
/* 8009A958 00097898  7C E0 03 78 */	or r0, r7, r0
/* 8009A95C 0009789C  90 0D 94 6C */	stw r0, lbl_80409F2C@sda21(r13)
/* 8009A960 000978A0  90 CD 94 68 */	stw r6, changed@sda21(r13)
/* 8009A964 000978A4  B1 1D 00 70 */	sth r8, 0x70(r29)
/* 8009A968 000978A8  80 CD 94 68 */	lwz r6, changed@sda21(r13)
/* 8009A96C 000978AC  80 0D 94 6C */	lwz r0, lbl_80409F2C@sda21(r13)
/* 8009A970 000978B0  60 00 00 80 */	ori r0, r0, 0x80
/* 8009A974 000978B4  90 0D 94 6C */	stw r0, lbl_80409F2C@sda21(r13)
/* 8009A978 000978B8  90 CD 94 68 */	stw r6, changed@sda21(r13)
/* 8009A97C 000978BC  48 00 00 24 */	b lbl_8009A9A0
lbl_8009A980:
/* 8009A980 000978C0  38 00 01 00 */	li r0, 0x100
/* 8009A984 000978C4  B0 1D 00 4A */	sth r0, 0x4a(r29)
/* 8009A988 000978C8  3C 00 04 00 */	lis r0, 0x400
/* 8009A98C 000978CC  80 CD 94 68 */	lwz r6, changed@sda21(r13)
/* 8009A990 000978D0  80 ED 94 6C */	lwz r7, lbl_80409F2C@sda21(r13)
/* 8009A994 000978D4  7C E0 03 78 */	or r0, r7, r0
/* 8009A998 000978D8  90 0D 94 6C */	stw r0, lbl_80409F2C@sda21(r13)
/* 8009A99C 000978DC  90 CD 94 68 */	stw r6, changed@sda21(r13)
lbl_8009A9A0:
/* 8009A9A0 000978E0  A0 03 00 00 */	lhz r0, 0(r3)
/* 8009A9A4 000978E4  21 84 02 D0 */	subfic r12, r4, 0x2d0
/* 8009A9A8 000978E8  A0 DE 00 1A */	lhz r6, 0x1a(r30)
/* 8009A9AC 000978EC  3C 60 10 00 */	lis r3, 0x1000
/* 8009A9B0 000978F0  3D 00 20 00 */	lis r8, 0x2000
/* 8009A9B4 000978F4  B0 DD 00 06 */	sth r6, 6(r29)
/* 8009A9B8 000978F8  3D 20 04 00 */	lis r9, 0x400
/* 8009A9BC 000978FC  3C E0 08 00 */	lis r7, 0x800
/* 8009A9C0 00097900  81 4D 94 68 */	lwz r10, changed@sda21(r13)
/* 8009A9C4 00097904  3C C0 00 10 */	lis r6, 0x10
/* 8009A9C8 00097908  3C 80 00 20 */	lis r4, 0x20
/* 8009A9CC 0009790C  81 6D 94 6C */	lwz r11, lbl_80409F2C@sda21(r13)
/* 8009A9D0 00097910  7D 4A 1B 78 */	or r10, r10, r3
/* 8009A9D4 00097914  3C 60 00 04 */	lis r3, 4
/* 8009A9D8 00097918  91 6D 94 6C */	stw r11, lbl_80409F2C@sda21(r13)
/* 8009A9DC 0009791C  91 4D 94 68 */	stw r10, changed@sda21(r13)
/* 8009A9E0 00097920  89 5E 00 1D */	lbz r10, 0x1d(r30)
/* 8009A9E4 00097924  89 7E 00 1E */	lbz r11, 0x1e(r30)
/* 8009A9E8 00097928  51 4B 44 2E */	rlwimi r11, r10, 8, 0x10, 0x17
/* 8009A9EC 0009792C  B1 7D 00 04 */	sth r11, 4(r29)
/* 8009A9F0 00097930  81 4D 94 68 */	lwz r10, changed@sda21(r13)
/* 8009A9F4 00097934  81 6D 94 6C */	lwz r11, lbl_80409F2C@sda21(r13)
/* 8009A9F8 00097938  7D 48 43 78 */	or r8, r10, r8
/* 8009A9FC 0009793C  91 6D 94 6C */	stw r11, lbl_80409F2C@sda21(r13)
/* 8009AA00 00097940  91 0D 94 68 */	stw r8, changed@sda21(r13)
/* 8009AA04 00097944  89 1E 00 1F */	lbz r8, 0x1f(r30)
/* 8009AA08 00097948  89 5E 00 1C */	lbz r10, 0x1c(r30)
/* 8009AA0C 0009794C  7E 08 02 14 */	add r16, r8, r0
/* 8009AA10 00097950  A1 7E 00 20 */	lhz r11, 0x20(r30)
/* 8009AA14 00097954  3A 10 FF D8 */	addi r16, r16, -40
/* 8009AA18 00097958  56 08 3C 30 */	rlwinm r8, r16, 7, 0x10, 0x18
/* 8009AA1C 0009795C  7D 48 43 78 */	or r8, r10, r8
/* 8009AA20 00097960  B1 1D 00 0A */	sth r8, 0xa(r29)
/* 8009AA24 00097964  7D 0B 02 14 */	add r8, r11, r0
/* 8009AA28 00097968  38 08 00 28 */	addi r0, r8, 0x28
/* 8009AA2C 0009796C  81 4D 94 68 */	lwz r10, changed@sda21(r13)
/* 8009AA30 00097970  7C 0C 00 50 */	subf r0, r12, r0
/* 8009AA34 00097974  56 08 BA 7E */	srwi r8, r16, 9
/* 8009AA38 00097978  81 6D 94 6C */	lwz r11, lbl_80409F2C@sda21(r13)
/* 8009AA3C 0009797C  54 00 08 3C */	slwi r0, r0, 1
/* 8009AA40 00097980  7D 49 4B 78 */	or r9, r10, r9
/* 8009AA44 00097984  91 6D 94 6C */	stw r11, lbl_80409F2C@sda21(r13)
/* 8009AA48 00097988  7D 00 03 78 */	or r0, r8, r0
/* 8009AA4C 0009798C  91 2D 94 68 */	stw r9, changed@sda21(r13)
/* 8009AA50 00097990  B0 1D 00 08 */	sth r0, 8(r29)
/* 8009AA54 00097994  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009AA58 00097998  81 0D 94 6C */	lwz r8, lbl_80409F2C@sda21(r13)
/* 8009AA5C 0009799C  7C 00 3B 78 */	or r0, r0, r7
/* 8009AA60 000979A0  91 0D 94 6C */	stw r8, lbl_80409F2C@sda21(r13)
/* 8009AA64 000979A4  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009AA68 000979A8  A0 1E 00 10 */	lhz r0, 0x10(r30)
/* 8009AA6C 000979AC  88 FE 00 0C */	lbz r7, 0xc(r30)
/* 8009AA70 000979B0  54 00 28 34 */	slwi r0, r0, 5
/* 8009AA74 000979B4  7C E0 03 78 */	or r0, r7, r0
/* 8009AA78 000979B8  B0 1D 00 16 */	sth r0, 0x16(r29)
/* 8009AA7C 000979BC  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009AA80 000979C0  80 ED 94 6C */	lwz r7, lbl_80409F2C@sda21(r13)
/* 8009AA84 000979C4  7C 00 33 78 */	or r0, r0, r6
/* 8009AA88 000979C8  90 ED 94 6C */	stw r7, lbl_80409F2C@sda21(r13)
/* 8009AA8C 000979CC  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009AA90 000979D0  A0 1E 00 14 */	lhz r0, 0x14(r30)
/* 8009AA94 000979D4  88 DE 00 0E */	lbz r6, 0xe(r30)
/* 8009AA98 000979D8  54 00 28 34 */	slwi r0, r0, 5
/* 8009AA9C 000979DC  7C C0 03 78 */	or r0, r6, r0
/* 8009AAA0 000979E0  B0 1D 00 14 */	sth r0, 0x14(r29)
/* 8009AAA4 000979E4  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009AAA8 000979E8  80 CD 94 6C */	lwz r6, lbl_80409F2C@sda21(r13)
/* 8009AAAC 000979EC  7C 00 23 78 */	or r0, r0, r4
/* 8009AAB0 000979F0  90 CD 94 6C */	stw r6, lbl_80409F2C@sda21(r13)
/* 8009AAB4 000979F4  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009AAB8 000979F8  A0 1E 00 12 */	lhz r0, 0x12(r30)
/* 8009AABC 000979FC  88 9E 00 0D */	lbz r4, 0xd(r30)
/* 8009AAC0 00097A00  54 00 28 34 */	slwi r0, r0, 5
/* 8009AAC4 00097A04  7C 80 03 78 */	or r0, r4, r0
/* 8009AAC8 00097A08  B0 1D 00 1A */	sth r0, 0x1a(r29)
/* 8009AACC 00097A0C  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009AAD0 00097A10  80 8D 94 6C */	lwz r4, lbl_80409F2C@sda21(r13)
/* 8009AAD4 00097A14  7C 00 1B 78 */	or r0, r0, r3
/* 8009AAD8 00097A18  90 8D 94 6C */	stw r4, lbl_80409F2C@sda21(r13)
/* 8009AADC 00097A1C  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009AAE0 00097A20  A0 1E 00 16 */	lhz r0, 0x16(r30)
/* 8009AAE4 00097A24  88 7E 00 0F */	lbz r3, 0xf(r30)
/* 8009AAE8 00097A28  54 00 28 34 */	slwi r0, r0, 5
/* 8009AAEC 00097A2C  7C 60 03 78 */	or r0, r3, r0
/* 8009AAF0 00097A30  B0 1D 00 18 */	sth r0, 0x18(r29)
/* 8009AAF4 00097A34  80 6D 94 68 */	lwz r3, changed@sda21(r13)
/* 8009AAF8 00097A38  3C 00 00 08 */	lis r0, 8
/* 8009AAFC 00097A3C  38 DD 01 1C */	addi r6, r29, 0x11c
/* 8009AB00 00097A40  80 8D 94 6C */	lwz r4, lbl_80409F2C@sda21(r13)
/* 8009AB04 00097A44  7C 60 03 78 */	or r0, r3, r0
/* 8009AB08 00097A48  90 8D 94 6C */	stw r4, lbl_80409F2C@sda21(r13)
/* 8009AB0C 00097A4C  90 0D 94 68 */	stw r0, changed@sda21(r13)
/* 8009AB10 00097A50  A0 7B 00 00 */	lhz r3, 0(r27)
/* 8009AB14 00097A54  80 99 00 00 */	lwz r4, 0(r25)
/* 8009AB18 00097A58  38 03 00 0F */	addi r0, r3, 0xf
/* 8009AB1C 00097A5C  A0 6F 00 00 */	lhz r3, 0(r15)
/* 8009AB20 00097A60  7C 00 26 70 */	srawi r0, r0, 4
/* 8009AB24 00097A64  7C 00 01 94 */	addze r0, r0
/* 8009AB28 00097A68  2C 04 00 00 */	cmpwi r4, 0
/* 8009AB2C 00097A6C  98 1D 01 1C */	stb r0, 0x11c(r29)
/* 8009AB30 00097A70  40 82 00 0C */	bne lbl_8009AB3C
/* 8009AB34 00097A74  88 86 00 00 */	lbz r4, 0(r6)
/* 8009AB38 00097A78  48 00 00 0C */	b lbl_8009AB44
lbl_8009AB3C:
/* 8009AB3C 00097A7C  88 06 00 00 */	lbz r0, 0(r6)
/* 8009AB40 00097A80  54 04 0E 3C */	rlwinm r4, r0, 1, 0x18, 0x1e
lbl_8009AB44:
/* 8009AB44 00097A84  7C 60 26 70 */	srawi r0, r3, 4
/* 8009AB48 00097A88  98 9D 01 1D */	stb r4, 0x11d(r29)
/* 8009AB4C 00097A8C  7C 00 01 94 */	addze r0, r0
/* 8009AB50 00097A90  54 00 20 36 */	slwi r0, r0, 4
/* 8009AB54 00097A94  7C 00 18 10 */	subfc r0, r0, r3
/* 8009AB58 00097A98  98 1D 01 2C */	stb r0, 0x12c(r29)
/* 8009AB5C 00097A9C  38 05 00 0F */	addi r0, r5, 0xf
/* 8009AB60 00097AA0  3C 60 08 00 */	lis r3, 0x800
/* 8009AB64 00097AA4  88 9D 01 2C */	lbz r4, 0x12c(r29)
/* 8009AB68 00097AA8  7C 04 02 14 */	add r0, r4, r0
/* 8009AB6C 00097AAC  7C 00 26 70 */	srawi r0, r0, 4
/* 8009AB70 00097AB0  7C 00 01 94 */	addze r0, r0
/* 8009AB74 00097AB4  98 1D 01 1E */	stb r0, 0x11e(r29)
/* 8009AB78 00097AB8  88 1D 01 1E */	lbz r0, 0x11e(r29)
/* 8009AB7C 00097ABC  88 9D 01 1D */	lbz r4, 0x11d(r29)
/* 8009AB80 00097AC0  50 04 44 2E */	rlwimi r4, r0, 8, 0x10, 0x17
/* 8009AB84 00097AC4  B0 9D 00 48 */	sth r4, 0x48(r29)
/* 8009AB88 00097AC8  80 8D 94 68 */	lwz r4, changed@sda21(r13)
/* 8009AB8C 00097ACC  80 0D 94 88 */	lwz r0, FBSet@sda21(r13)
/* 8009AB90 00097AD0  80 AD 94 6C */	lwz r5, lbl_80409F2C@sda21(r13)
/* 8009AB94 00097AD4  28 00 00 00 */	cmplwi r0, 0
/* 8009AB98 00097AD8  7C A0 1B 78 */	or r0, r5, r3
/* 8009AB9C 00097ADC  90 0D 94 6C */	stw r0, lbl_80409F2C@sda21(r13)
/* 8009ABA0 00097AE0  90 8D 94 68 */	stw r4, changed@sda21(r13)
/* 8009ABA4 00097AE4  41 82 00 1C */	beq lbl_8009ABC0
/* 8009ABA8 00097AE8  38 7D 00 F0 */	addi r3, r29, 0xf0
/* 8009ABAC 00097AEC  38 9D 01 24 */	addi r4, r29, 0x124
/* 8009ABB0 00097AF0  38 BD 01 28 */	addi r5, r29, 0x128
/* 8009ABB4 00097AF4  38 DD 01 3C */	addi r6, r29, 0x13c
/* 8009ABB8 00097AF8  38 FD 01 40 */	addi r7, r29, 0x140
/* 8009ABBC 00097AFC  4B FF F4 3D */	bl setFbbRegs
lbl_8009ABC0:
/* 8009ABC0 00097B00  80 1D 01 30 */	lwz r0, 0x130(r29)
/* 8009ABC4 00097B04  90 01 00 08 */	stw r0, 8(r1)
/* 8009ABC8 00097B08  A0 73 00 00 */	lhz r3, 0(r19)
/* 8009ABCC 00097B0C  A0 94 00 00 */	lhz r4, 0(r20)
/* 8009ABD0 00097B10  88 BE 00 00 */	lbz r5, 0(r30)
/* 8009ABD4 00097B14  A0 DE 00 02 */	lhz r6, 2(r30)
/* 8009ABD8 00097B18  A0 FE 00 04 */	lhz r7, 4(r30)
/* 8009ABDC 00097B1C  A1 1E 00 06 */	lhz r8, 6(r30)
/* 8009ABE0 00097B20  A1 3E 00 08 */	lhz r9, 8(r30)
/* 8009ABE4 00097B24  A1 5E 00 0A */	lhz r10, 0xa(r30)
/* 8009ABE8 00097B28  4B FF F6 E5 */	bl setVerticalRegs
/* 8009ABEC 00097B2C  7D C3 73 78 */	mr r3, r14
/* 8009ABF0 00097B30  4B FF 56 05 */	bl OSRestoreInterrupts
/* 8009ABF4 00097B34  B9 C1 00 30 */	lmw r14, 0x30(r1)
/* 8009ABF8 00097B38  80 01 00 7C */	lwz r0, 0x7c(r1)
/* 8009ABFC 00097B3C  38 21 00 78 */	addi r1, r1, 0x78
/* 8009AC00 00097B40  7C 08 03 A6 */	mtlr r0
/* 8009AC04 00097B44  4E 80 00 20 */	blr 

.global VIFlush
VIFlush:
/* 8009AC08 00097B48  7C 08 02 A6 */	mflr r0
/* 8009AC0C 00097B4C  90 01 00 04 */	stw r0, 4(r1)
/* 8009AC10 00097B50  94 21 FF D8 */	stwu r1, -0x28(r1)
/* 8009AC14 00097B54  BF 61 00 14 */	stmw r27, 0x14(r1)
/* 8009AC18 00097B58  4B FF 55 B5 */	bl OSDisableInterrupts
/* 8009AC1C 00097B5C  80 ED 94 70 */	lwz r7, shdwChangeMode@sda21(r13)
/* 8009AC20 00097B60  3C 80 80 3F */	lis r4, shdwRegs@ha
/* 8009AC24 00097B64  3C A0 80 3F */	lis r5, regs@ha
/* 8009AC28 00097B68  80 CD 94 60 */	lwz r6, changeMode@sda21(r13)
/* 8009AC2C 00097B6C  38 00 00 00 */	li r0, 0
/* 8009AC30 00097B70  3B A4 BE 40 */	addi r29, r4, shdwRegs@l
/* 8009AC34 00097B74  7C E6 33 78 */	or r6, r7, r6
/* 8009AC38 00097B78  90 CD 94 70 */	stw r6, shdwChangeMode@sda21(r13)
/* 8009AC3C 00097B7C  3B E5 BD C8 */	addi r31, r5, regs@l
/* 8009AC40 00097B80  3B C3 00 00 */	addi r30, r3, 0
/* 8009AC44 00097B84  90 0D 94 60 */	stw r0, changeMode@sda21(r13)
/* 8009AC48 00097B88  80 8D 94 78 */	lwz r4, shdwChanged@sda21(r13)
/* 8009AC4C 00097B8C  80 AD 94 7C */	lwz r5, lbl_80409F3C@sda21(r13)
/* 8009AC50 00097B90  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009AC54 00097B94  80 6D 94 6C */	lwz r3, lbl_80409F2C@sda21(r13)
/* 8009AC58 00097B98  7C 80 03 78 */	or r0, r4, r0
/* 8009AC5C 00097B9C  7C A3 1B 78 */	or r3, r5, r3
/* 8009AC60 00097BA0  90 6D 94 7C */	stw r3, lbl_80409F3C@sda21(r13)
/* 8009AC64 00097BA4  90 0D 94 78 */	stw r0, shdwChanged@sda21(r13)
/* 8009AC68 00097BA8  48 00 00 7C */	b lbl_8009ACE4
lbl_8009AC6C:
/* 8009AC6C 00097BAC  80 6D 94 68 */	lwz r3, changed@sda21(r13)
/* 8009AC70 00097BB0  38 A0 00 20 */	li r5, 0x20
/* 8009AC74 00097BB4  83 6D 94 6C */	lwz r27, lbl_80409F2C@sda21(r13)
/* 8009AC78 00097BB8  38 9B 00 00 */	addi r4, r27, 0
/* 8009AC7C 00097BBC  4B FE 83 D5 */	bl __shr2u
/* 8009AC80 00097BC0  7C 84 00 34 */	cntlzw r4, r4
/* 8009AC84 00097BC4  2C 04 00 20 */	cmpwi r4, 0x20
/* 8009AC88 00097BC8  38 00 FF FF */	li r0, -1
/* 8009AC8C 00097BCC  7F 60 00 38 */	and r0, r27, r0
/* 8009AC90 00097BD0  40 80 00 08 */	bge lbl_8009AC98
/* 8009AC94 00097BD4  48 00 00 0C */	b lbl_8009ACA0
lbl_8009AC98:
/* 8009AC98 00097BD8  7C 03 00 34 */	cntlzw r3, r0
/* 8009AC9C 00097BDC  38 83 00 20 */	addi r4, r3, 0x20
lbl_8009ACA0:
/* 8009ACA0 00097BE0  54 85 08 3C */	slwi r5, r4, 1
/* 8009ACA4 00097BE4  7C 7F 2A 14 */	add r3, r31, r5
/* 8009ACA8 00097BE8  A0 03 00 00 */	lhz r0, 0(r3)
/* 8009ACAC 00097BEC  7C 7D 2A 14 */	add r3, r29, r5
/* 8009ACB0 00097BF0  20 A4 00 3F */	subfic r5, r4, 0x3f
/* 8009ACB4 00097BF4  B0 03 00 00 */	sth r0, 0(r3)
/* 8009ACB8 00097BF8  38 60 00 00 */	li r3, 0
/* 8009ACBC 00097BFC  38 80 00 01 */	li r4, 1
/* 8009ACC0 00097C00  4B FE 83 6D */	bl __shl2i
/* 8009ACC4 00097C04  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009ACC8 00097C08  7C 65 18 F8 */	nor r5, r3, r3
/* 8009ACCC 00097C0C  7C 84 20 F8 */	nor r4, r4, r4
/* 8009ACD0 00097C10  80 6D 94 6C */	lwz r3, lbl_80409F2C@sda21(r13)
/* 8009ACD4 00097C14  7C 00 28 38 */	and r0, r0, r5
/* 8009ACD8 00097C18  7C 63 20 38 */	and r3, r3, r4
/* 8009ACDC 00097C1C  90 6D 94 6C */	stw r3, lbl_80409F2C@sda21(r13)
/* 8009ACE0 00097C20  90 0D 94 68 */	stw r0, changed@sda21(r13)
lbl_8009ACE4:
/* 8009ACE4 00097C24  80 0D 94 68 */	lwz r0, changed@sda21(r13)
/* 8009ACE8 00097C28  38 60 00 00 */	li r3, 0
/* 8009ACEC 00097C2C  80 8D 94 6C */	lwz r4, lbl_80409F2C@sda21(r13)
/* 8009ACF0 00097C30  7C 00 1A 78 */	xor r0, r0, r3
/* 8009ACF4 00097C34  7C 83 1A 78 */	xor r3, r4, r3
/* 8009ACF8 00097C38  7C 60 03 79 */	or. r0, r3, r0
/* 8009ACFC 00097C3C  40 82 FF 70 */	bne lbl_8009AC6C
/* 8009AD00 00097C40  38 00 00 01 */	li r0, 1
/* 8009AD04 00097C44  90 0D 94 44 */	stw r0, flushFlag@sda21(r13)
/* 8009AD08 00097C48  7F C3 F3 78 */	mr r3, r30
/* 8009AD0C 00097C4C  4B FF 54 E9 */	bl OSRestoreInterrupts
/* 8009AD10 00097C50  BB 61 00 14 */	lmw r27, 0x14(r1)
/* 8009AD14 00097C54  80 01 00 2C */	lwz r0, 0x2c(r1)
/* 8009AD18 00097C58  38 21 00 28 */	addi r1, r1, 0x28
/* 8009AD1C 00097C5C  7C 08 03 A6 */	mtlr r0
/* 8009AD20 00097C60  4E 80 00 20 */	blr 

.global VISetNextFrameBuffer
VISetNextFrameBuffer:
/* 8009AD24 00097C64  7C 08 02 A6 */	mflr r0
/* 8009AD28 00097C68  3C 80 80 3F */	lis r4, regs@ha
/* 8009AD2C 00097C6C  90 01 00 04 */	stw r0, 4(r1)
/* 8009AD30 00097C70  94 21 FF E8 */	stwu r1, -0x18(r1)
/* 8009AD34 00097C74  93 E1 00 14 */	stw r31, 0x14(r1)
/* 8009AD38 00097C78  3B E4 BD C8 */	addi r31, r4, regs@l
/* 8009AD3C 00097C7C  93 C1 00 10 */	stw r30, 0x10(r1)
/* 8009AD40 00097C80  3B C3 00 00 */	addi r30, r3, 0
/* 8009AD44 00097C84  4B FF 54 89 */	bl OSDisableInterrupts
/* 8009AD48 00097C88  93 DF 01 20 */	stw r30, 0x120(r31)
/* 8009AD4C 00097C8C  38 00 00 01 */	li r0, 1
/* 8009AD50 00097C90  3B C3 00 00 */	addi r30, r3, 0
/* 8009AD54 00097C94  90 0D 94 88 */	stw r0, FBSet@sda21(r13)
/* 8009AD58 00097C98  38 7F 00 F0 */	addi r3, r31, 0xf0
/* 8009AD5C 00097C9C  38 9F 01 24 */	addi r4, r31, 0x124
/* 8009AD60 00097CA0  38 BF 01 28 */	addi r5, r31, 0x128
/* 8009AD64 00097CA4  38 DF 01 3C */	addi r6, r31, 0x13c
/* 8009AD68 00097CA8  38 FF 01 40 */	addi r7, r31, 0x140
/* 8009AD6C 00097CAC  4B FF F2 8D */	bl setFbbRegs
/* 8009AD70 00097CB0  7F C3 F3 78 */	mr r3, r30
/* 8009AD74 00097CB4  4B FF 54 81 */	bl OSRestoreInterrupts
/* 8009AD78 00097CB8  80 01 00 1C */	lwz r0, 0x1c(r1)
/* 8009AD7C 00097CBC  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 8009AD80 00097CC0  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 8009AD84 00097CC4  38 21 00 18 */	addi r1, r1, 0x18
/* 8009AD88 00097CC8  7C 08 03 A6 */	mtlr r0
/* 8009AD8C 00097CCC  4E 80 00 20 */	blr 

.global VISetBlack
VISetBlack:
/* 8009AD90 00097CD0  7C 08 02 A6 */	mflr r0
/* 8009AD94 00097CD4  3C 80 80 3F */	lis r4, regs@ha
/* 8009AD98 00097CD8  90 01 00 04 */	stw r0, 4(r1)
/* 8009AD9C 00097CDC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8009ADA0 00097CE0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8009ADA4 00097CE4  3B E4 BD C8 */	addi r31, r4, regs@l
/* 8009ADA8 00097CE8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8009ADAC 00097CEC  3B C3 00 00 */	addi r30, r3, 0
/* 8009ADB0 00097CF0  4B FF 54 1D */	bl OSDisableInterrupts
/* 8009ADB4 00097CF4  93 DF 01 30 */	stw r30, 0x130(r31)
/* 8009ADB8 00097CF8  7C 7E 1B 78 */	mr r30, r3
/* 8009ADBC 00097CFC  81 5F 01 44 */	lwz r10, 0x144(r31)
/* 8009ADC0 00097D00  80 1F 01 30 */	lwz r0, 0x130(r31)
/* 8009ADC4 00097D04  90 01 00 08 */	stw r0, 8(r1)
/* 8009ADC8 00097D08  A0 7F 00 FA */	lhz r3, 0xfa(r31)
/* 8009ADCC 00097D0C  A0 9F 00 F6 */	lhz r4, 0xf6(r31)
/* 8009ADD0 00097D10  88 AA 00 00 */	lbz r5, 0(r10)
/* 8009ADD4 00097D14  A0 CA 00 02 */	lhz r6, 2(r10)
/* 8009ADD8 00097D18  A0 EA 00 04 */	lhz r7, 4(r10)
/* 8009ADDC 00097D1C  A1 0A 00 06 */	lhz r8, 6(r10)
/* 8009ADE0 00097D20  A1 2A 00 08 */	lhz r9, 8(r10)
/* 8009ADE4 00097D24  A1 4A 00 0A */	lhz r10, 0xa(r10)
/* 8009ADE8 00097D28  4B FF F4 E5 */	bl setVerticalRegs
/* 8009ADEC 00097D2C  7F C3 F3 78 */	mr r3, r30
/* 8009ADF0 00097D30  4B FF 54 05 */	bl OSRestoreInterrupts
/* 8009ADF4 00097D34  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8009ADF8 00097D38  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8009ADFC 00097D3C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8009AE00 00097D40  38 21 00 20 */	addi r1, r1, 0x20
/* 8009AE04 00097D44  7C 08 03 A6 */	mtlr r0
/* 8009AE08 00097D48  4E 80 00 20 */	blr 

.global VIGetRetraceCount
VIGetRetraceCount:
/* 8009AE0C 00097D4C  80 6D 94 40 */	lwz r3, retraceCount@sda21(r13)
/* 8009AE10 00097D50  4E 80 00 20 */	blr 

.global getCurrentFieldEvenOdd
getCurrentFieldEvenOdd:
/* 8009AE14 00097D54  3C 60 CC 00 */	lis r3, 0xCC002000@ha
/* 8009AE18 00097D58  38 E3 20 00 */	addi r7, r3, 0xCC002000@l
/* 8009AE1C 00097D5C  A4 07 00 2C */	lhzu r0, 0x2c(r7)
/* 8009AE20 00097D60  38 83 20 00 */	addi r4, r3, 0x2000
/* 8009AE24 00097D64  54 05 05 7E */	clrlwi r5, r0, 0x15
lbl_8009AE28:
/* 8009AE28 00097D68  A0 07 00 00 */	lhz r0, 0(r7)
/* 8009AE2C 00097D6C  7C A6 2B 78 */	mr r6, r5
/* 8009AE30 00097D70  A0 64 00 2E */	lhz r3, 0x2e(r4)
/* 8009AE34 00097D74  54 05 05 7E */	clrlwi r5, r0, 0x15
/* 8009AE38 00097D78  7C 06 28 40 */	cmplw r6, r5
/* 8009AE3C 00097D7C  54 63 05 7E */	clrlwi r3, r3, 0x15
/* 8009AE40 00097D80  40 82 FF E8 */	bne lbl_8009AE28
/* 8009AE44 00097D84  80 CD 94 80 */	lwz r6, CurrTiming@sda21(r13)
/* 8009AE48 00097D88  38 05 FF FF */	addi r0, r5, -1
/* 8009AE4C 00097D8C  38 83 FF FF */	addi r4, r3, -1
/* 8009AE50 00097D90  A0 66 00 1A */	lhz r3, 0x1a(r6)
/* 8009AE54 00097D94  54 05 08 3C */	slwi r5, r0, 1
/* 8009AE58 00097D98  A0 06 00 18 */	lhz r0, 0x18(r6)
/* 8009AE5C 00097D9C  7C 64 1B 96 */	divwu r3, r4, r3
/* 8009AE60 00097DA0  7C 65 1A 14 */	add r3, r5, r3
/* 8009AE64 00097DA4  7C 03 00 40 */	cmplw r3, r0
/* 8009AE68 00097DA8  40 80 00 0C */	bge lbl_8009AE74
/* 8009AE6C 00097DAC  38 60 00 01 */	li r3, 1
/* 8009AE70 00097DB0  4E 80 00 20 */	blr 
lbl_8009AE74:
/* 8009AE74 00097DB4  38 60 00 00 */	li r3, 0
/* 8009AE78 00097DB8  4E 80 00 20 */	blr 

.global VIGetNextField
VIGetNextField:
/* 8009AE7C 00097DBC  7C 08 02 A6 */	mflr r0
/* 8009AE80 00097DC0  90 01 00 04 */	stw r0, 4(r1)
/* 8009AE84 00097DC4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8009AE88 00097DC8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8009AE8C 00097DCC  4B FF 53 41 */	bl OSDisableInterrupts
/* 8009AE90 00097DD0  3C 80 CC 00 */	lis r4, 0xCC002000@ha
/* 8009AE94 00097DD4  39 04 20 00 */	addi r8, r4, 0xCC002000@l
/* 8009AE98 00097DD8  A4 08 00 2C */	lhzu r0, 0x2c(r8)
/* 8009AE9C 00097DDC  38 A4 20 00 */	addi r5, r4, 0x2000
/* 8009AEA0 00097DE0  54 06 05 7E */	clrlwi r6, r0, 0x15
lbl_8009AEA4:
/* 8009AEA4 00097DE4  A0 08 00 00 */	lhz r0, 0(r8)
/* 8009AEA8 00097DE8  7C C7 33 78 */	mr r7, r6
/* 8009AEAC 00097DEC  A0 85 00 2E */	lhz r4, 0x2e(r5)
/* 8009AEB0 00097DF0  54 06 05 7E */	clrlwi r6, r0, 0x15
/* 8009AEB4 00097DF4  7C 07 30 40 */	cmplw r7, r6
/* 8009AEB8 00097DF8  54 84 05 7E */	clrlwi r4, r4, 0x15
/* 8009AEBC 00097DFC  40 82 FF E8 */	bne lbl_8009AEA4
/* 8009AEC0 00097E00  80 ED 94 80 */	lwz r7, CurrTiming@sda21(r13)
/* 8009AEC4 00097E04  38 06 FF FF */	addi r0, r6, -1
/* 8009AEC8 00097E08  38 A4 FF FF */	addi r5, r4, -1
/* 8009AECC 00097E0C  A0 87 00 1A */	lhz r4, 0x1a(r7)
/* 8009AED0 00097E10  54 06 08 3C */	slwi r6, r0, 1
/* 8009AED4 00097E14  A0 07 00 18 */	lhz r0, 0x18(r7)
/* 8009AED8 00097E18  7C 85 23 96 */	divwu r4, r5, r4
/* 8009AEDC 00097E1C  7C 86 22 14 */	add r4, r6, r4
/* 8009AEE0 00097E20  7C 04 00 40 */	cmplw r4, r0
/* 8009AEE4 00097E24  40 80 00 0C */	bge lbl_8009AEF0
/* 8009AEE8 00097E28  3B E0 00 01 */	li r31, 1
/* 8009AEEC 00097E2C  48 00 00 08 */	b lbl_8009AEF4
lbl_8009AEF0:
/* 8009AEF0 00097E30  3B E0 00 00 */	li r31, 0
lbl_8009AEF4:
/* 8009AEF4 00097E34  4B FF 53 01 */	bl OSRestoreInterrupts
/* 8009AEF8 00097E38  3C 60 80 3F */	lis r3, HorVer@ha
/* 8009AEFC 00097E3C  38 63 BE B8 */	addi r3, r3, HorVer@l
/* 8009AF00 00097E40  A0 03 00 0A */	lhz r0, 0xa(r3)
/* 8009AF04 00097E44  6B E3 00 01 */	xori r3, r31, 1
/* 8009AF08 00097E48  54 00 07 FE */	clrlwi r0, r0, 0x1f
/* 8009AF0C 00097E4C  7C 63 02 78 */	xor r3, r3, r0
/* 8009AF10 00097E50  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8009AF14 00097E54  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8009AF18 00097E58  38 21 00 20 */	addi r1, r1, 0x20
/* 8009AF1C 00097E5C  7C 08 03 A6 */	mtlr r0
/* 8009AF20 00097E60  4E 80 00 20 */	blr 

.global VIGetCurrentLine
VIGetCurrentLine:
/* 8009AF24 00097E64  7C 08 02 A6 */	mflr r0
/* 8009AF28 00097E68  90 01 00 04 */	stw r0, 4(r1)
/* 8009AF2C 00097E6C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8009AF30 00097E70  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8009AF34 00097E74  93 C1 00 08 */	stw r30, 8(r1)
/* 8009AF38 00097E78  83 ED 94 80 */	lwz r31, CurrTiming@sda21(r13)
/* 8009AF3C 00097E7C  4B FF 52 91 */	bl OSDisableInterrupts
/* 8009AF40 00097E80  3C 80 CC 00 */	lis r4, 0xCC002000@ha
/* 8009AF44 00097E84  39 04 20 00 */	addi r8, r4, 0xCC002000@l
/* 8009AF48 00097E88  A4 08 00 2C */	lhzu r0, 0x2c(r8)
/* 8009AF4C 00097E8C  38 A4 20 00 */	addi r5, r4, 0x2000
/* 8009AF50 00097E90  54 06 05 7E */	clrlwi r6, r0, 0x15
lbl_8009AF54:
/* 8009AF54 00097E94  A0 08 00 00 */	lhz r0, 0(r8)
/* 8009AF58 00097E98  7C C7 33 78 */	mr r7, r6
/* 8009AF5C 00097E9C  A0 85 00 2E */	lhz r4, 0x2e(r5)
/* 8009AF60 00097EA0  54 06 05 7E */	clrlwi r6, r0, 0x15
/* 8009AF64 00097EA4  7C 07 30 40 */	cmplw r7, r6
/* 8009AF68 00097EA8  54 87 05 7E */	clrlwi r7, r4, 0x15
/* 8009AF6C 00097EAC  40 82 FF E8 */	bne lbl_8009AF54
/* 8009AF70 00097EB0  80 8D 94 80 */	lwz r4, CurrTiming@sda21(r13)
/* 8009AF74 00097EB4  38 A7 FF FF */	addi r5, r7, -1
/* 8009AF78 00097EB8  38 C6 FF FF */	addi r6, r6, -1
/* 8009AF7C 00097EBC  A0 04 00 1A */	lhz r0, 0x1a(r4)
/* 8009AF80 00097EC0  54 C4 08 3C */	slwi r4, r6, 1
/* 8009AF84 00097EC4  7C 05 03 96 */	divwu r0, r5, r0
/* 8009AF88 00097EC8  7F C4 02 14 */	add r30, r4, r0
/* 8009AF8C 00097ECC  4B FF 52 69 */	bl OSRestoreInterrupts
/* 8009AF90 00097ED0  A0 1F 00 18 */	lhz r0, 0x18(r31)
/* 8009AF94 00097ED4  7C 1E 00 40 */	cmplw r30, r0
/* 8009AF98 00097ED8  41 80 00 08 */	blt lbl_8009AFA0
/* 8009AF9C 00097EDC  7F C0 F0 50 */	subf r30, r0, r30
lbl_8009AFA0:
/* 8009AFA0 00097EE0  57 C3 F8 7E */	srwi r3, r30, 1
/* 8009AFA4 00097EE4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8009AFA8 00097EE8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8009AFAC 00097EEC  83 C1 00 08 */	lwz r30, 8(r1)
/* 8009AFB0 00097EF0  38 21 00 10 */	addi r1, r1, 0x10
/* 8009AFB4 00097EF4  7C 08 03 A6 */	mtlr r0
/* 8009AFB8 00097EF8  4E 80 00 20 */	blr 

.global VIGetTvFormat
VIGetTvFormat:
/* 8009AFBC 00097EFC  7C 08 02 A6 */	mflr r0
/* 8009AFC0 00097F00  90 01 00 04 */	stw r0, 4(r1)
/* 8009AFC4 00097F04  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8009AFC8 00097F08  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8009AFCC 00097F0C  4B FF 52 01 */	bl OSDisableInterrupts
/* 8009AFD0 00097F10  80 0D 94 84 */	lwz r0, CurrTvMode@sda21(r13)
/* 8009AFD4 00097F14  2C 00 00 03 */	cmpwi r0, 3
/* 8009AFD8 00097F18  41 82 00 30 */	beq lbl_8009B008
/* 8009AFDC 00097F1C  40 80 00 1C */	bge lbl_8009AFF8
/* 8009AFE0 00097F20  2C 00 00 01 */	cmpwi r0, 1
/* 8009AFE4 00097F24  41 82 00 2C */	beq lbl_8009B010
/* 8009AFE8 00097F28  40 80 00 30 */	bge lbl_8009B018
/* 8009AFEC 00097F2C  2C 00 00 00 */	cmpwi r0, 0
/* 8009AFF0 00097F30  40 80 00 18 */	bge lbl_8009B008
/* 8009AFF4 00097F34  48 00 00 28 */	b lbl_8009B01C
lbl_8009AFF8:
/* 8009AFF8 00097F38  2C 00 00 05 */	cmpwi r0, 5
/* 8009AFFC 00097F3C  41 82 00 1C */	beq lbl_8009B018
/* 8009B000 00097F40  40 80 00 1C */	bge lbl_8009B01C
/* 8009B004 00097F44  48 00 00 0C */	b lbl_8009B010
lbl_8009B008:
/* 8009B008 00097F48  3B E0 00 00 */	li r31, 0
/* 8009B00C 00097F4C  48 00 00 10 */	b lbl_8009B01C
lbl_8009B010:
/* 8009B010 00097F50  3B E0 00 01 */	li r31, 1
/* 8009B014 00097F54  48 00 00 08 */	b lbl_8009B01C
lbl_8009B018:
/* 8009B018 00097F58  7C 1F 03 78 */	mr r31, r0
lbl_8009B01C:
/* 8009B01C 00097F5C  4B FF 51 D9 */	bl OSRestoreInterrupts
/* 8009B020 00097F60  7F E3 FB 78 */	mr r3, r31
/* 8009B024 00097F64  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8009B028 00097F68  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8009B02C 00097F6C  38 21 00 10 */	addi r1, r1, 0x10
/* 8009B030 00097F70  7C 08 03 A6 */	mtlr r0
/* 8009B034 00097F74  4E 80 00 20 */	blr 

.global VIGetDTVStatus
VIGetDTVStatus:
/* 8009B038 00097F78  7C 08 02 A6 */	mflr r0
/* 8009B03C 00097F7C  90 01 00 04 */	stw r0, 4(r1)
/* 8009B040 00097F80  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8009B044 00097F84  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8009B048 00097F88  4B FF 51 85 */	bl OSDisableInterrupts
/* 8009B04C 00097F8C  3C 80 CC 00 */	lis r4, 0xCC00206E@ha
/* 8009B050 00097F90  A0 04 20 6E */	lhz r0, 0xCC00206E@l(r4)
/* 8009B054 00097F94  54 1F 07 BE */	clrlwi r31, r0, 0x1e
/* 8009B058 00097F98  4B FF 51 9D */	bl OSRestoreInterrupts
/* 8009B05C 00097F9C  57 E3 07 FE */	clrlwi r3, r31, 0x1f
/* 8009B060 00097FA0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8009B064 00097FA4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8009B068 00097FA8  38 21 00 10 */	addi r1, r1, 0x10
/* 8009B06C 00097FAC  7C 08 03 A6 */	mtlr r0
/* 8009B070 00097FB0  4E 80 00 20 */	blr 

.section .data, "wa"  # 0x803A8380 - 0x803E6000
timing:
	.4byte 0x060000F0
	.4byte 0x00180019
	.4byte 0x00030002
	.4byte 0x0C0D0C0D
	.4byte 0x02080207
	.4byte 0x02080207
	.4byte 0x020D01AD
	.4byte 0x404769A2
	.4byte 0x01757A00
	.4byte 0x019C0600
	.4byte 0x00F00018
	.4byte 0x00180004
	.4byte 0x00040C0C
	.4byte 0x0C0C0208
	.4byte 0x02080208
	.4byte 0x0208020E
	.4byte 0x01AD4047
	.4byte 0x69A20175
	.4byte 0x7A00019C
	.4byte 0x0500011F
	.4byte 0x00230024
	.4byte 0x00010000
	.4byte 0x0D0C0B0A
	.4byte 0x026B026A
	.4byte 0x0269026C
	.4byte 0x027101B0
	.4byte 0x404B6AAC
	.4byte 0x017C8500
	.4byte 0x01A40500
	.4byte 0x011F0021
	.4byte 0x00210002
	.4byte 0x00020D0B
	.4byte 0x0D0B026B
	.4byte 0x026D026B
	.4byte 0x026D0270
	.4byte 0x01B0404B
	.4byte 0x6AAC017C
	.4byte 0x850001A4
	.4byte 0x060000F0
	.4byte 0x00180019
	.4byte 0x00030002
	.4byte 0x100F0E0D
	.4byte 0x02060205
	.4byte 0x02040207
	.4byte 0x020D01AD
	.4byte 0x404E70A2
	.4byte 0x01757A00
	.4byte 0x019C0600
	.4byte 0x00F00018
	.4byte 0x00180004
	.4byte 0x0004100E
	.4byte 0x100E0206
	.4byte 0x02080206
	.4byte 0x0208020E
	.4byte 0x01AD404E
	.4byte 0x70A20175
	.4byte 0x7A00019C
	.4byte 0x0C0001E0
	.4byte 0x00300030
	.4byte 0x00060006
	.4byte 0x18181818
	.4byte 0x040E040E
	.4byte 0x040E040E
	.4byte 0x041A01AD
	.4byte 0x404769A2
	.4byte 0x01757A00
	.4byte 0x019C0C00
	.4byte 0x01E0002C
	.4byte 0x002C000A
	.4byte 0x000A1818
	.4byte 0x1818040E
	.4byte 0x040E040E
	.4byte 0x040E041A
	.4byte 0x01AD4047
	.4byte 0x69A8017B
	.4byte 0x7A00019C
taps:
	.4byte 0x01F001DC
	.4byte 0x01AE0174
	.4byte 0x012900DB
	.4byte 0x008E0046
	.4byte 0x000C00E2
	.4byte 0x00CB00C0
	.4byte 0x00C400CF
	.4byte 0x00DE00EC
	.4byte 0x00FC0008
	.4byte 0x000F0013
	.4byte 0x0013000F
	.4byte 0x000C0008
	.4byte 0x00010000
"@92":
    .4byte lbl_800998CC
    .4byte lbl_800998D4
    .4byte lbl_8009990C
    .4byte lbl_80099914
    .4byte lbl_800998DC
    .4byte lbl_800998E4
    .4byte lbl_8009992C
    .4byte lbl_8009992C
    .4byte lbl_800998FC
    .4byte lbl_80099904
    .4byte lbl_8009992C
    .4byte lbl_8009992C
    .4byte lbl_8009992C
    .4byte lbl_8009992C
    .4byte lbl_8009992C
    .4byte lbl_8009992C
    .4byte lbl_8009991C
    .4byte lbl_80099924
    .4byte lbl_8009992C
    .4byte lbl_8009992C
    .4byte lbl_800998EC
    .4byte lbl_800998F4
"@336":
	.asciz "***************************************\n"
	.balign 4
"@337":
	.asciz " ! ! ! C A U T I O N ! ! !             \n"
	.balign 4
"@338":
	.asciz "This TV format \"DEBUG_PAL\" is only for \n"
	.balign 4
"@339":
	.asciz "temporary solution until PAL DAC board \n"
	.balign 4
"@340":
	.asciz "is available. Please do NOT use this   \n"
	.balign 4
"@341":
	.asciz "mode in real games!!!                  \n"
	.balign 4
	.4byte 0

.section .bss, "wa"  # 0x803E6000 - 0x80408AC0
regs:
	.skip 0x78
shdwRegs:
	.skip 0x78
HorVer:
	.skip 0x58

.section .sbss, "wa"  # 0x804097C0 - 0x8040B45C
retraceCount:
	.skip 0x4
flushFlag:
	.skip 0x4
retraceQueue:
	.skip 0x8
PreCB:
	.skip 0x4
PostCB:
	.skip 0x4
encoderType:
	.skip 0x4
displayOffsetH:
	.skip 0x2
displayOffsetV:
	.skip 0x2
changeMode:
	.skip 0x8
changed:
	.skip 0x4
lbl_80409F2C:
	.skip 0x4
shdwChangeMode:
	.skip 0x8
shdwChanged:
	.skip 0x4
lbl_80409F3C:
	.skip 0x4
CurrTiming:
	.skip 0x4
CurrTvMode:
	.skip 0x4
FBSet:
	.skip 0x4
message$332:
	.skip 0x4