pikmin2/asm/Dolphin/vi.s
2022-11-03 17:18:27 -04:00

2508 lines
112 KiB
ArmAsm

.include "macros.inc"
.section .data, "wa" # 0x8049E220 - 0x804EFC20
.balign 8
.global lbl_804A72B0
lbl_804A72B0:
.asciz "<< Dolphin SDK - VI\trelease build: Apr 17 2003 12:33:22 (0x2301) >>"
.global timing
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
.4byte 0x060000F1
.4byte 0x00180019
.4byte 0x00010000
.4byte 0x0C0D0C0D
.4byte 0x02080207
.4byte 0x02080207
.4byte 0x020D01AD
.4byte 0x4047699F
.4byte 0x01727A00
.4byte 0x019C0C00
.4byte 0x01E00030
.4byte 0x00300006
.4byte 0x00061818
.4byte 0x1818040E
.4byte 0x040E040E
.4byte 0x040E041A
.4byte 0x01AD4047
.4byte 0x69B40187
.4byte 0x7A00019C
.global taps
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
.global lbl_804A74A4
lbl_804A74A4:
.4byte .L_800D0B0C
.4byte .L_800D0B14
.4byte .L_800D0B4C
.4byte .L_800D0B54
.4byte .L_800D0B1C
.4byte .L_800D0B24
.4byte .L_800D0B7C
.4byte .L_800D0B7C
.4byte .L_800D0B3C
.4byte .L_800D0B44
.4byte .L_800D0B7C
.4byte .L_800D0B7C
.4byte .L_800D0B7C
.4byte .L_800D0B7C
.4byte .L_800D0B7C
.4byte .L_800D0B7C
.4byte .L_800D0B5C
.4byte .L_800D0B64
.4byte .L_800D0B7C
.4byte .L_800D0B7C
.4byte .L_800D0B2C
.4byte .L_800D0B34
.4byte .L_800D0B7C
.4byte .L_800D0B7C
.4byte .L_800D0B6C
.4byte .L_800D0B7C
.4byte .L_800D0B74
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A0A
.4byte 0x00000000
.4byte 0x20212021
.4byte 0x20212043
.4byte 0x20412055
.4byte 0x20542049
.4byte 0x204F204E
.4byte 0x20212021
.4byte 0x20212020
.4byte 0x20202020
.4byte 0x20202020
.4byte 0x2020200A
.4byte 0x00000000
.4byte 0x54686973
.4byte 0x20545620
.4byte 0x666F726D
.4byte 0x61742022
.4byte 0x44454255
.4byte 0x475F5041
.4byte 0x4C222069
.4byte 0x73206F6E
.4byte 0x6C792066
.4byte 0x6F72200A
.4byte 0x00000000
.4byte 0x74656D70
.4byte 0x6F726172
.4byte 0x7920736F
.4byte 0x6C757469
.4byte 0x6F6E2075
.4byte 0x6E74696C
.4byte 0x2050414C
.4byte 0x20444143
.4byte 0x20626F61
.4byte 0x7264200A
.4byte 0x00000000
.4byte 0x69732061
.4byte 0x7661696C
.4byte 0x61626C65
.4byte 0x2E20506C
.4byte 0x65617365
.4byte 0x20646F20
.4byte 0x4E4F5420
.4byte 0x75736520
.4byte 0x74686973
.4byte 0x2020200A
.4byte 0x00000000
.4byte 0x6D6F6465
.4byte 0x20696E20
.4byte 0x7265616C
.4byte 0x2067616D
.4byte 0x65732121
.4byte 0x21202020
.4byte 0x20202020
.4byte 0x20202020
.4byte 0x20202020
.4byte 0x2020200A
.4byte 0x00000000
.4byte 0x5649436F
.4byte 0x6E666967
.4byte 0x75726528
.4byte 0x293A2054
.4byte 0x72696564
.4byte 0x20746F20
.4byte 0x6368616E
.4byte 0x6765206D
.4byte 0x6F646520
.4byte 0x66726F6D
.4byte 0x20282564
.4byte 0x2920746F
.4byte 0x20282564
.4byte 0x292C2077
.4byte 0x68696368
.4byte 0x20697320
.4byte 0x666F7262
.4byte 0x69646465
.4byte 0x6E0A0000
.global lbl_804A7664
lbl_804A7664:
.4byte .L_800D235C
.4byte .L_800D2364
.4byte .L_800D236C
.4byte .L_800D235C
.4byte .L_800D2364
.4byte .L_800D236C
.4byte .L_800D235C
.section .bss # 0x804EFC20 - 0x8051467C
.global regs
regs:
.skip 0x78
.global shdwRegs
shdwRegs:
.skip 0x78
.global HorVer
HorVer:
.skip 0x58
.section .sdata, "wa" # 0x80514680 - 0x80514D80
.balign 8
.global __VIVersion
__VIVersion:
.4byte lbl_804A72B0
.global lbl_805148EC
lbl_805148EC:
.asciz "vi.c"
.skip 3
.section .sbss # 0x80514D80 - 0x80516360
.balign 8
.global IsInitialized
IsInitialized:
.skip 0x4
.global retraceCount
retraceCount:
.skip 0x4
.global flushFlag
flushFlag:
.skip 0x4
.global retraceQueue
retraceQueue:
.skip 0x8
.global PreCB
PreCB:
.skip 0x4
.global PostCB
PostCB:
.skip 0x4
.global PositionCallback
PositionCallback:
.skip 0x4
.global encoderType
encoderType:
.skip 0x4
.global displayOffsetH
displayOffsetH:
.skip 0x2
.global displayOffsetV
displayOffsetV:
.skip 0x2
.global changeMode
changeMode:
.skip 0x8
.global changed
changed:
.skip 0x4
.global lbl_805153AC
lbl_805153AC:
.skip 0x4
.global shdwChangeMode
shdwChangeMode:
.skip 0x8
.global shdwChanged
shdwChanged:
.skip 0x4
.global lbl_805153BC
lbl_805153BC:
.skip 0x4
.global CurrTiming
CurrTiming:
.skip 0x4
.global CurrTvMode
CurrTvMode:
.skip 0x4
.global NextBufAddr
NextBufAddr:
.skip 0x4
.global CurrBufAddr
CurrBufAddr:
.skip 0x4
.global FBSet
FBSet:
.skip 0x4
.global message$343
message$343:
.skip 0x4
.section .text, "ax" # 0x800056C0 - 0x80472F00
.global __VIRetraceHandler
__VIRetraceHandler:
/* 800D07E8 000CD728 7C 08 02 A6 */ mflr r0
/* 800D07EC 000CD72C 3C 60 CC 00 */ lis r3, 0xCC002000@ha
/* 800D07F0 000CD730 90 01 00 04 */ stw r0, 4(r1)
/* 800D07F4 000CD734 38 A3 20 00 */ addi r5, r3, 0xCC002000@l
/* 800D07F8 000CD738 3C 60 80 4F */ lis r3, regs@ha
/* 800D07FC 000CD73C 94 21 FD 08 */ stwu r1, -0x2f8(r1)
/* 800D0800 000CD740 38 E0 00 00 */ li r7, 0
/* 800D0804 000CD744 BF 61 02 E4 */ stmw r27, 0x2e4(r1)
/* 800D0808 000CD748 3B C4 00 00 */ addi r30, r4, 0
/* 800D080C 000CD74C 3B E3 59 A8 */ addi r31, r3, regs@l
/* 800D0810 000CD750 A4 C5 00 30 */ lhzu r6, 0x30(r5)
/* 800D0814 000CD754 54 C0 04 21 */ rlwinm. r0, r6, 0, 0x10, 0x10
/* 800D0818 000CD758 41 82 00 10 */ beq .L_800D0828
/* 800D081C 000CD75C 54 C0 04 5E */ rlwinm r0, r6, 0, 0x11, 0xf
/* 800D0820 000CD760 B0 05 00 00 */ sth r0, 0(r5)
/* 800D0824 000CD764 60 E7 00 01 */ ori r7, r7, 1
.L_800D0828:
/* 800D0828 000CD768 3C 60 CC 00 */ lis r3, 0xCC002034@ha
/* 800D082C 000CD76C A4 83 20 34 */ lhzu r4, 0xCC002034@l(r3)
/* 800D0830 000CD770 54 80 04 21 */ rlwinm. r0, r4, 0, 0x10, 0x10
/* 800D0834 000CD774 41 82 00 10 */ beq .L_800D0844
/* 800D0838 000CD778 54 80 04 5E */ rlwinm r0, r4, 0, 0x11, 0xf
/* 800D083C 000CD77C B0 03 00 00 */ sth r0, 0(r3)
/* 800D0840 000CD780 60 E7 00 02 */ ori r7, r7, 2
.L_800D0844:
/* 800D0844 000CD784 3C 60 CC 00 */ lis r3, 0xCC002038@ha
/* 800D0848 000CD788 A4 83 20 38 */ lhzu r4, 0xCC002038@l(r3)
/* 800D084C 000CD78C 54 80 04 21 */ rlwinm. r0, r4, 0, 0x10, 0x10
/* 800D0850 000CD790 41 82 00 10 */ beq .L_800D0860
/* 800D0854 000CD794 54 80 04 5E */ rlwinm r0, r4, 0, 0x11, 0xf
/* 800D0858 000CD798 B0 03 00 00 */ sth r0, 0(r3)
/* 800D085C 000CD79C 60 E7 00 04 */ ori r7, r7, 4
.L_800D0860:
/* 800D0860 000CD7A0 3C 60 CC 00 */ lis r3, 0xCC00203C@ha
/* 800D0864 000CD7A4 A4 83 20 3C */ lhzu r4, 0xCC00203C@l(r3)
/* 800D0868 000CD7A8 54 80 04 21 */ rlwinm. r0, r4, 0, 0x10, 0x10
/* 800D086C 000CD7AC 41 82 00 10 */ beq .L_800D087C
/* 800D0870 000CD7B0 54 80 04 5E */ rlwinm r0, r4, 0, 0x11, 0xf
/* 800D0874 000CD7B4 B0 03 00 00 */ sth r0, 0(r3)
/* 800D0878 000CD7B8 60 E7 00 08 */ ori r7, r7, 8
.L_800D087C:
/* 800D087C 000CD7BC 54 E0 07 7B */ rlwinm. r0, r7, 0, 0x1d, 0x1d
/* 800D0880 000CD7C0 40 82 00 0C */ bne .L_800D088C
/* 800D0884 000CD7C4 54 E0 07 39 */ rlwinm. r0, r7, 0, 0x1c, 0x1c
/* 800D0888 000CD7C8 41 82 00 54 */ beq .L_800D08DC
.L_800D088C:
/* 800D088C 000CD7CC 38 61 00 18 */ addi r3, r1, 0x18
/* 800D0890 000CD7D0 48 01 C8 DD */ bl OSClearContext
/* 800D0894 000CD7D4 38 61 00 18 */ addi r3, r1, 0x18
/* 800D0898 000CD7D8 48 01 C7 0D */ bl OSSetCurrentContext
/* 800D089C 000CD7DC 80 0D 8D 14 */ lwz r0, PositionCallback@sda21(r13)
/* 800D08A0 000CD7E0 28 00 00 00 */ cmplwi r0, 0
/* 800D08A4 000CD7E4 41 82 00 24 */ beq .L_800D08C8
/* 800D08A8 000CD7E8 38 61 00 16 */ addi r3, r1, 0x16
/* 800D08AC 000CD7EC 38 81 00 14 */ addi r4, r1, 0x14
/* 800D08B0 000CD7F0 48 00 1D 35 */ bl __VIGetCurrentPosition
/* 800D08B4 000CD7F4 81 8D 8D 14 */ lwz r12, PositionCallback@sda21(r13)
/* 800D08B8 000CD7F8 A8 61 00 16 */ lha r3, 0x16(r1)
/* 800D08BC 000CD7FC 7D 88 03 A6 */ mtlr r12
/* 800D08C0 000CD800 A8 81 00 14 */ lha r4, 0x14(r1)
/* 800D08C4 000CD804 4E 80 00 21 */ blrl
.L_800D08C8:
/* 800D08C8 000CD808 38 61 00 18 */ addi r3, r1, 0x18
/* 800D08CC 000CD80C 48 01 C8 A1 */ bl OSClearContext
/* 800D08D0 000CD810 7F C3 F3 78 */ mr r3, r30
/* 800D08D4 000CD814 48 01 C6 D1 */ bl OSSetCurrentContext
/* 800D08D8 000CD818 48 00 01 70 */ b .L_800D0A48
.L_800D08DC:
/* 800D08DC 000CD81C 80 8D 8C FC */ lwz r4, retraceCount@sda21(r13)
/* 800D08E0 000CD820 38 61 00 18 */ addi r3, r1, 0x18
/* 800D08E4 000CD824 38 04 00 01 */ addi r0, r4, 1
/* 800D08E8 000CD828 90 0D 8C FC */ stw r0, retraceCount@sda21(r13)
/* 800D08EC 000CD82C 48 01 C8 81 */ bl OSClearContext
/* 800D08F0 000CD830 38 61 00 18 */ addi r3, r1, 0x18
/* 800D08F4 000CD834 48 01 C6 B1 */ bl OSSetCurrentContext
/* 800D08F8 000CD838 81 8D 8D 0C */ lwz r12, PreCB@sda21(r13)
/* 800D08FC 000CD83C 28 0C 00 00 */ cmplwi r12, 0
/* 800D0900 000CD840 41 82 00 10 */ beq .L_800D0910
/* 800D0904 000CD844 80 6D 8C FC */ lwz r3, retraceCount@sda21(r13)
/* 800D0908 000CD848 7D 88 03 A6 */ mtlr r12
/* 800D090C 000CD84C 4E 80 00 21 */ blrl
.L_800D0910:
/* 800D0910 000CD850 80 0D 8D 00 */ lwz r0, flushFlag@sda21(r13)
/* 800D0914 000CD854 28 00 00 00 */ cmplwi r0, 0
/* 800D0918 000CD858 41 82 00 F4 */ beq .L_800D0A0C
/* 800D091C 000CD85C 80 0D 8D 30 */ lwz r0, shdwChangeMode@sda21(r13)
/* 800D0920 000CD860 28 00 00 01 */ cmplwi r0, 1
/* 800D0924 000CD864 40 82 00 10 */ bne .L_800D0934
/* 800D0928 000CD868 48 00 18 61 */ bl getCurrentFieldEvenOdd
/* 800D092C 000CD86C 28 03 00 00 */ cmplwi r3, 0
/* 800D0930 000CD870 41 82 00 C4 */ beq .L_800D09F4
.L_800D0934:
/* 800D0934 000CD874 3C 60 CC 00 */ lis r3, 0xCC002000@ha
/* 800D0938 000CD878 3B A3 20 00 */ addi r29, r3, 0xCC002000@l
/* 800D093C 000CD87C 48 00 00 78 */ b .L_800D09B4
.L_800D0940:
/* 800D0940 000CD880 80 6D 8D 38 */ lwz r3, shdwChanged@sda21(r13)
/* 800D0944 000CD884 38 A0 00 20 */ li r5, 0x20
/* 800D0948 000CD888 83 6D 8D 3C */ lwz r27, lbl_805153BC@sda21(r13)
/* 800D094C 000CD88C 38 9B 00 00 */ addi r4, r27, 0
/* 800D0950 000CD890 4B FF 17 C1 */ bl __shr2u
/* 800D0954 000CD894 7C 84 00 34 */ cntlzw r4, r4
/* 800D0958 000CD898 2C 04 00 20 */ cmpwi r4, 0x20
/* 800D095C 000CD89C 38 00 FF FF */ li r0, -1
/* 800D0960 000CD8A0 7F 60 00 38 */ and r0, r27, r0
/* 800D0964 000CD8A4 40 80 00 08 */ bge .L_800D096C
/* 800D0968 000CD8A8 48 00 00 0C */ b .L_800D0974
.L_800D096C:
/* 800D096C 000CD8AC 7C 03 00 34 */ cntlzw r3, r0
/* 800D0970 000CD8B0 38 83 00 20 */ addi r4, r3, 0x20
.L_800D0974:
/* 800D0974 000CD8B4 54 86 08 3C */ slwi r6, r4, 1
/* 800D0978 000CD8B8 7C 7F 32 14 */ add r3, r31, r6
/* 800D097C 000CD8BC A0 03 00 78 */ lhz r0, 0x78(r3)
/* 800D0980 000CD8C0 20 A4 00 3F */ subfic r5, r4, 0x3f
/* 800D0984 000CD8C4 38 60 00 00 */ li r3, 0
/* 800D0988 000CD8C8 7C 1D 33 2E */ sthx r0, r29, r6
/* 800D098C 000CD8CC 38 80 00 01 */ li r4, 1
/* 800D0990 000CD8D0 4B FF 17 5D */ bl __shl2i
/* 800D0994 000CD8D4 80 0D 8D 38 */ lwz r0, shdwChanged@sda21(r13)
/* 800D0998 000CD8D8 7C 65 18 F8 */ nor r5, r3, r3
/* 800D099C 000CD8DC 7C 84 20 F8 */ nor r4, r4, r4
/* 800D09A0 000CD8E0 80 6D 8D 3C */ lwz r3, lbl_805153BC@sda21(r13)
/* 800D09A4 000CD8E4 7C 00 28 38 */ and r0, r0, r5
/* 800D09A8 000CD8E8 7C 63 20 38 */ and r3, r3, r4
/* 800D09AC 000CD8EC 90 6D 8D 3C */ stw r3, lbl_805153BC@sda21(r13)
/* 800D09B0 000CD8F0 90 0D 8D 38 */ stw r0, shdwChanged@sda21(r13)
.L_800D09B4:
/* 800D09B4 000CD8F4 80 0D 8D 38 */ lwz r0, shdwChanged@sda21(r13)
/* 800D09B8 000CD8F8 38 80 00 00 */ li r4, 0
/* 800D09BC 000CD8FC 80 6D 8D 3C */ lwz r3, lbl_805153BC@sda21(r13)
/* 800D09C0 000CD900 7C 00 22 78 */ xor r0, r0, r4
/* 800D09C4 000CD904 7C 63 22 78 */ xor r3, r3, r4
/* 800D09C8 000CD908 7C 60 03 79 */ or. r0, r3, r0
/* 800D09CC 000CD90C 40 82 FF 74 */ bne .L_800D0940
/* 800D09D0 000CD910 90 8D 8D 30 */ stw r4, shdwChangeMode@sda21(r13)
/* 800D09D4 000CD914 38 80 00 01 */ li r4, 1
/* 800D09D8 000CD918 80 0D 8D 48 */ lwz r0, NextBufAddr@sda21(r13)
/* 800D09DC 000CD91C 80 7F 01 44 */ lwz r3, 0x144(r31)
/* 800D09E0 000CD920 90 6D 8D 40 */ stw r3, CurrTiming@sda21(r13)
/* 800D09E4 000CD924 80 7F 01 18 */ lwz r3, 0x118(r31)
/* 800D09E8 000CD928 90 6D 8D 44 */ stw r3, CurrTvMode@sda21(r13)
/* 800D09EC 000CD92C 90 0D 8D 4C */ stw r0, CurrBufAddr@sda21(r13)
/* 800D09F0 000CD930 48 00 00 08 */ b .L_800D09F8
.L_800D09F4:
/* 800D09F4 000CD934 38 80 00 00 */ li r4, 0
.L_800D09F8:
/* 800D09F8 000CD938 2C 04 00 00 */ cmpwi r4, 0
/* 800D09FC 000CD93C 41 82 00 10 */ beq .L_800D0A0C
/* 800D0A00 000CD940 38 00 00 00 */ li r0, 0
/* 800D0A04 000CD944 90 0D 8D 00 */ stw r0, flushFlag@sda21(r13)
/* 800D0A08 000CD948 48 02 5E 39 */ bl SIRefreshSamplingRate
.L_800D0A0C:
/* 800D0A0C 000CD94C 80 0D 8D 10 */ lwz r0, PostCB@sda21(r13)
/* 800D0A10 000CD950 28 00 00 00 */ cmplwi r0, 0
/* 800D0A14 000CD954 41 82 00 1C */ beq .L_800D0A30
/* 800D0A18 000CD958 38 61 00 18 */ addi r3, r1, 0x18
/* 800D0A1C 000CD95C 48 01 C7 51 */ bl OSClearContext
/* 800D0A20 000CD960 81 8D 8D 10 */ lwz r12, PostCB@sda21(r13)
/* 800D0A24 000CD964 80 6D 8C FC */ lwz r3, retraceCount@sda21(r13)
/* 800D0A28 000CD968 7D 88 03 A6 */ mtlr r12
/* 800D0A2C 000CD96C 4E 80 00 21 */ blrl
.L_800D0A30:
/* 800D0A30 000CD970 38 6D 8D 04 */ addi r3, r13, retraceQueue@sda21
/* 800D0A34 000CD974 48 02 1F A5 */ bl OSWakeupThread
/* 800D0A38 000CD978 38 61 00 18 */ addi r3, r1, 0x18
/* 800D0A3C 000CD97C 48 01 C7 31 */ bl OSClearContext
/* 800D0A40 000CD980 7F C3 F3 78 */ mr r3, r30
/* 800D0A44 000CD984 48 01 C5 61 */ bl OSSetCurrentContext
.L_800D0A48:
/* 800D0A48 000CD988 BB 61 02 E4 */ lmw r27, 0x2e4(r1)
/* 800D0A4C 000CD98C 80 01 02 FC */ lwz r0, 0x2fc(r1)
/* 800D0A50 000CD990 38 21 02 F8 */ addi r1, r1, 0x2f8
/* 800D0A54 000CD994 7C 08 03 A6 */ mtlr r0
/* 800D0A58 000CD998 4E 80 00 20 */ blr
.global VISetPreRetraceCallback
VISetPreRetraceCallback:
/* 800D0A5C 000CD99C 7C 08 02 A6 */ mflr r0
/* 800D0A60 000CD9A0 90 01 00 04 */ stw r0, 4(r1)
/* 800D0A64 000CD9A4 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 800D0A68 000CD9A8 93 E1 00 14 */ stw r31, 0x14(r1)
/* 800D0A6C 000CD9AC 93 C1 00 10 */ stw r30, 0x10(r1)
/* 800D0A70 000CD9B0 7C 7E 1B 78 */ mr r30, r3
/* 800D0A74 000CD9B4 83 ED 8D 0C */ lwz r31, PreCB@sda21(r13)
/* 800D0A78 000CD9B8 48 01 E1 C1 */ bl OSDisableInterrupts
/* 800D0A7C 000CD9BC 93 CD 8D 0C */ stw r30, PreCB@sda21(r13)
/* 800D0A80 000CD9C0 48 01 E1 E1 */ bl OSRestoreInterrupts
/* 800D0A84 000CD9C4 7F E3 FB 78 */ mr r3, r31
/* 800D0A88 000CD9C8 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 800D0A8C 000CD9CC 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 800D0A90 000CD9D0 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 800D0A94 000CD9D4 38 21 00 18 */ addi r1, r1, 0x18
/* 800D0A98 000CD9D8 7C 08 03 A6 */ mtlr r0
/* 800D0A9C 000CD9DC 4E 80 00 20 */ blr
.global VISetPostRetraceCallback
VISetPostRetraceCallback:
/* 800D0AA0 000CD9E0 7C 08 02 A6 */ mflr r0
/* 800D0AA4 000CD9E4 90 01 00 04 */ stw r0, 4(r1)
/* 800D0AA8 000CD9E8 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 800D0AAC 000CD9EC 93 E1 00 14 */ stw r31, 0x14(r1)
/* 800D0AB0 000CD9F0 93 C1 00 10 */ stw r30, 0x10(r1)
/* 800D0AB4 000CD9F4 7C 7E 1B 78 */ mr r30, r3
/* 800D0AB8 000CD9F8 83 ED 8D 10 */ lwz r31, PostCB@sda21(r13)
/* 800D0ABC 000CD9FC 48 01 E1 7D */ bl OSDisableInterrupts
/* 800D0AC0 000CDA00 93 CD 8D 10 */ stw r30, PostCB@sda21(r13)
/* 800D0AC4 000CDA04 48 01 E1 9D */ bl OSRestoreInterrupts
/* 800D0AC8 000CDA08 7F E3 FB 78 */ mr r3, r31
/* 800D0ACC 000CDA0C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 800D0AD0 000CDA10 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 800D0AD4 000CDA14 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 800D0AD8 000CDA18 38 21 00 18 */ addi r1, r1, 0x18
/* 800D0ADC 000CDA1C 7C 08 03 A6 */ mtlr r0
/* 800D0AE0 000CDA20 4E 80 00 20 */ blr
.global getTiming
getTiming:
/* 800D0AE4 000CDA24 28 03 00 1A */ cmplwi r3, 0x1a
/* 800D0AE8 000CDA28 3C 80 80 4A */ lis r4, lbl_804A72B0@ha
/* 800D0AEC 000CDA2C 38 A4 72 B0 */ addi r5, r4, lbl_804A72B0@l
/* 800D0AF0 000CDA30 41 81 00 8C */ bgt .L_800D0B7C
/* 800D0AF4 000CDA34 3C 80 80 4A */ lis r4, lbl_804A74A4@ha
/* 800D0AF8 000CDA38 38 84 74 A4 */ addi r4, r4, lbl_804A74A4@l
/* 800D0AFC 000CDA3C 54 60 10 3A */ slwi r0, r3, 2
/* 800D0B00 000CDA40 7C 04 00 2E */ lwzx r0, r4, r0
/* 800D0B04 000CDA44 7C 09 03 A6 */ mtctr r0
/* 800D0B08 000CDA48 4E 80 04 20 */ bctr
.L_800D0B0C:
/* 800D0B0C 000CDA4C 38 65 00 44 */ addi r3, r5, 0x44
/* 800D0B10 000CDA50 4E 80 00 20 */ blr
.L_800D0B14:
/* 800D0B14 000CDA54 38 65 00 6A */ addi r3, r5, 0x6a
/* 800D0B18 000CDA58 4E 80 00 20 */ blr
.L_800D0B1C:
/* 800D0B1C 000CDA5C 38 65 00 90 */ addi r3, r5, 0x90
/* 800D0B20 000CDA60 4E 80 00 20 */ blr
.L_800D0B24:
/* 800D0B24 000CDA64 38 65 00 B6 */ addi r3, r5, 0xb6
/* 800D0B28 000CDA68 4E 80 00 20 */ blr
.L_800D0B2C:
/* 800D0B2C 000CDA6C 38 65 00 44 */ addi r3, r5, 0x44
/* 800D0B30 000CDA70 4E 80 00 20 */ blr
.L_800D0B34:
/* 800D0B34 000CDA74 38 65 00 6A */ addi r3, r5, 0x6a
/* 800D0B38 000CDA78 4E 80 00 20 */ blr
.L_800D0B3C:
/* 800D0B3C 000CDA7C 38 65 00 DC */ addi r3, r5, 0xdc
/* 800D0B40 000CDA80 4E 80 00 20 */ blr
.L_800D0B44:
/* 800D0B44 000CDA84 38 65 01 02 */ addi r3, r5, 0x102
/* 800D0B48 000CDA88 4E 80 00 20 */ blr
.L_800D0B4C:
/* 800D0B4C 000CDA8C 38 65 01 28 */ addi r3, r5, 0x128
/* 800D0B50 000CDA90 4E 80 00 20 */ blr
.L_800D0B54:
/* 800D0B54 000CDA94 38 65 01 4E */ addi r3, r5, 0x14e
/* 800D0B58 000CDA98 4E 80 00 20 */ blr
.L_800D0B5C:
/* 800D0B5C 000CDA9C 38 65 00 90 */ addi r3, r5, 0x90
/* 800D0B60 000CDAA0 4E 80 00 20 */ blr
.L_800D0B64:
/* 800D0B64 000CDAA4 38 65 00 B6 */ addi r3, r5, 0xb6
/* 800D0B68 000CDAA8 4E 80 00 20 */ blr
.L_800D0B6C:
/* 800D0B6C 000CDAAC 38 65 01 74 */ addi r3, r5, 0x174
/* 800D0B70 000CDAB0 4E 80 00 20 */ blr
.L_800D0B74:
/* 800D0B74 000CDAB4 38 65 01 9A */ addi r3, r5, 0x19a
/* 800D0B78 000CDAB8 4E 80 00 20 */ blr
.L_800D0B7C:
/* 800D0B7C 000CDABC 38 60 00 00 */ li r3, 0
/* 800D0B80 000CDAC0 4E 80 00 20 */ blr
.global __VIInit
__VIInit:
/* 800D0B84 000CDAC4 7C 08 02 A6 */ mflr r0
/* 800D0B88 000CDAC8 90 01 00 04 */ stw r0, 4(r1)
/* 800D0B8C 000CDACC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800D0B90 000CDAD0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 800D0B94 000CDAD4 54 7F F0 BE */ srwi r31, r3, 2
/* 800D0B98 000CDAD8 93 C1 00 28 */ stw r30, 0x28(r1)
/* 800D0B9C 000CDADC 93 A1 00 24 */ stw r29, 0x24(r1)
/* 800D0BA0 000CDAE0 3B A3 00 00 */ addi r29, r3, 0
/* 800D0BA4 000CDAE4 3C 60 80 00 */ lis r3, 0x800000CC@ha
/* 800D0BA8 000CDAE8 93 E3 00 CC */ stw r31, 0x800000CC@l(r3)
/* 800D0BAC 000CDAEC 38 7D 00 00 */ addi r3, r29, 0
/* 800D0BB0 000CDAF0 57 BE 07 BC */ rlwinm r30, r29, 0, 0x1e, 0x1e
/* 800D0BB4 000CDAF4 4B FF FF 31 */ bl getTiming
/* 800D0BB8 000CDAF8 3C 80 CC 00 */ lis r4, 0xCC002000@ha
/* 800D0BBC 000CDAFC 38 00 00 02 */ li r0, 2
/* 800D0BC0 000CDB00 38 A4 20 00 */ addi r5, r4, 0xCC002000@l
/* 800D0BC4 000CDB04 B4 05 00 02 */ sthu r0, 2(r5)
/* 800D0BC8 000CDB08 38 00 00 00 */ li r0, 0
/* 800D0BCC 000CDB0C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 800D0BD0 000CDB10 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 800D0BD4 000CDB14 28 00 03 E8 */ cmplwi r0, 0x3e8
/* 800D0BD8 000CDB18 40 80 00 20 */ bge .L_800D0BF8
/* 800D0BDC 000CDB1C 48 00 00 10 */ b .L_800D0BEC
.L_800D0BE0:
/* 800D0BE0 000CDB20 80 81 00 1C */ lwz r4, 0x1c(r1)
/* 800D0BE4 000CDB24 38 04 00 08 */ addi r0, r4, 8
/* 800D0BE8 000CDB28 90 01 00 1C */ stw r0, 0x1c(r1)
.L_800D0BEC:
/* 800D0BEC 000CDB2C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 800D0BF0 000CDB30 28 00 03 E8 */ cmplwi r0, 0x3e8
/* 800D0BF4 000CDB34 41 80 FF EC */ blt .L_800D0BE0
.L_800D0BF8:
/* 800D0BF8 000CDB38 38 00 00 00 */ li r0, 0
/* 800D0BFC 000CDB3C B0 05 00 00 */ sth r0, 0(r5)
/* 800D0C00 000CDB40 3D 80 CC 00 */ lis r12, 0xCC002006@ha
/* 800D0C04 000CDB44 39 00 28 28 */ li r8, 0x2828
/* 800D0C08 000CDB48 A0 C3 00 1A */ lhz r6, 0x1a(r3)
/* 800D0C0C 000CDB4C 38 E0 00 01 */ li r7, 1
/* 800D0C10 000CDB50 2C 1D 00 02 */ cmpwi r29, 2
/* 800D0C14 000CDB54 B0 CC 20 06 */ sth r6, 0xCC002006@l(r12)
/* 800D0C18 000CDB58 38 C0 10 01 */ li r6, 0x1001
/* 800D0C1C 000CDB5C 38 8C 20 00 */ addi r4, r12, 0x2000
/* 800D0C20 000CDB60 89 23 00 1D */ lbz r9, 0x1d(r3)
/* 800D0C24 000CDB64 89 43 00 1E */ lbz r10, 0x1e(r3)
/* 800D0C28 000CDB68 51 2A 44 2E */ rlwimi r10, r9, 8, 0x10, 0x17
/* 800D0C2C 000CDB6C B1 4C 20 04 */ sth r10, 0x2004(r12)
/* 800D0C30 000CDB70 89 23 00 1F */ lbz r9, 0x1f(r3)
/* 800D0C34 000CDB74 89 43 00 1C */ lbz r10, 0x1c(r3)
/* 800D0C38 000CDB78 55 29 38 30 */ slwi r9, r9, 7
/* 800D0C3C 000CDB7C 7D 49 4B 78 */ or r9, r10, r9
/* 800D0C40 000CDB80 B1 2C 20 0A */ sth r9, 0x200a(r12)
/* 800D0C44 000CDB84 A1 23 00 20 */ lhz r9, 0x20(r3)
/* 800D0C48 000CDB88 55 29 0C 3C */ rlwinm r9, r9, 1, 0x10, 0x1e
/* 800D0C4C 000CDB8C B1 2C 20 08 */ sth r9, 0x2008(r12)
/* 800D0C50 000CDB90 A1 23 00 02 */ lhz r9, 2(r3)
/* 800D0C54 000CDB94 89 63 00 00 */ lbz r11, 0(r3)
/* 800D0C58 000CDB98 55 29 08 3C */ slwi r9, r9, 1
/* 800D0C5C 000CDB9C A1 43 00 04 */ lhz r10, 4(r3)
/* 800D0C60 000CDBA0 39 29 FF FE */ addi r9, r9, -2
/* 800D0C64 000CDBA4 B1 6C 20 00 */ sth r11, 0x2000(r12)
/* 800D0C68 000CDBA8 7D 2A 4A 14 */ add r9, r10, r9
/* 800D0C6C 000CDBAC B1 2C 20 0E */ sth r9, 0x200e(r12)
/* 800D0C70 000CDBB0 A1 23 00 08 */ lhz r9, 8(r3)
/* 800D0C74 000CDBB4 39 29 00 02 */ addi r9, r9, 2
/* 800D0C78 000CDBB8 B1 2C 20 0C */ sth r9, 0x200c(r12)
/* 800D0C7C 000CDBBC A1 23 00 02 */ lhz r9, 2(r3)
/* 800D0C80 000CDBC0 A1 43 00 06 */ lhz r10, 6(r3)
/* 800D0C84 000CDBC4 55 29 08 3C */ slwi r9, r9, 1
/* 800D0C88 000CDBC8 39 29 FF FE */ addi r9, r9, -2
/* 800D0C8C 000CDBCC 7D 2A 4A 14 */ add r9, r10, r9
/* 800D0C90 000CDBD0 B1 2C 20 12 */ sth r9, 0x2012(r12)
/* 800D0C94 000CDBD4 A1 23 00 0A */ lhz r9, 0xa(r3)
/* 800D0C98 000CDBD8 39 29 00 02 */ addi r9, r9, 2
/* 800D0C9C 000CDBDC B1 2C 20 10 */ sth r9, 0x2010(r12)
/* 800D0CA0 000CDBE0 A1 23 00 10 */ lhz r9, 0x10(r3)
/* 800D0CA4 000CDBE4 89 43 00 0C */ lbz r10, 0xc(r3)
/* 800D0CA8 000CDBE8 55 29 28 34 */ slwi r9, r9, 5
/* 800D0CAC 000CDBEC 7D 49 4B 78 */ or r9, r10, r9
/* 800D0CB0 000CDBF0 B1 2C 20 16 */ sth r9, 0x2016(r12)
/* 800D0CB4 000CDBF4 A1 23 00 14 */ lhz r9, 0x14(r3)
/* 800D0CB8 000CDBF8 89 43 00 0E */ lbz r10, 0xe(r3)
/* 800D0CBC 000CDBFC 55 29 28 34 */ slwi r9, r9, 5
/* 800D0CC0 000CDC00 7D 49 4B 78 */ or r9, r10, r9
/* 800D0CC4 000CDC04 B1 2C 20 14 */ sth r9, 0x2014(r12)
/* 800D0CC8 000CDC08 A1 23 00 12 */ lhz r9, 0x12(r3)
/* 800D0CCC 000CDC0C 89 43 00 0D */ lbz r10, 0xd(r3)
/* 800D0CD0 000CDC10 55 29 28 34 */ slwi r9, r9, 5
/* 800D0CD4 000CDC14 7D 49 4B 78 */ or r9, r10, r9
/* 800D0CD8 000CDC18 B1 2C 20 1A */ sth r9, 0x201a(r12)
/* 800D0CDC 000CDC1C A1 23 00 16 */ lhz r9, 0x16(r3)
/* 800D0CE0 000CDC20 89 43 00 0F */ lbz r10, 0xf(r3)
/* 800D0CE4 000CDC24 55 29 28 34 */ slwi r9, r9, 5
/* 800D0CE8 000CDC28 7D 49 4B 78 */ or r9, r10, r9
/* 800D0CEC 000CDC2C B1 2C 20 18 */ sth r9, 0x2018(r12)
/* 800D0CF0 000CDC30 B1 0C 20 48 */ sth r8, 0x2048(r12)
/* 800D0CF4 000CDC34 B0 EC 20 36 */ sth r7, 0x2036(r12)
/* 800D0CF8 000CDC38 B0 CC 20 34 */ sth r6, 0x2034(r12)
/* 800D0CFC 000CDC3C A0 C3 00 18 */ lhz r6, 0x18(r3)
/* 800D0D00 000CDC40 A0 63 00 1A */ lhz r3, 0x1a(r3)
/* 800D0D04 000CDC44 7C C6 0E 70 */ srawi r6, r6, 1
/* 800D0D08 000CDC48 38 63 00 01 */ addi r3, r3, 1
/* 800D0D0C 000CDC4C 7C C6 01 94 */ addze r6, r6
/* 800D0D10 000CDC50 B0 6C 20 32 */ sth r3, 0x2032(r12)
/* 800D0D14 000CDC54 38 C6 00 01 */ addi r6, r6, 1
/* 800D0D18 000CDC58 60 C3 10 00 */ ori r3, r6, 0x1000
/* 800D0D1C 000CDC5C B0 6C 20 30 */ sth r3, 0x2030(r12)
/* 800D0D20 000CDC60 41 82 00 30 */ beq .L_800D0D50
/* 800D0D24 000CDC64 2C 1D 00 03 */ cmpwi r29, 3
/* 800D0D28 000CDC68 41 82 00 28 */ beq .L_800D0D50
/* 800D0D2C 000CDC6C 2C 1D 00 1A */ cmpwi r29, 0x1a
/* 800D0D30 000CDC70 41 82 00 20 */ beq .L_800D0D50
/* 800D0D34 000CDC74 57 C3 10 3A */ slwi r3, r30, 2
/* 800D0D38 000CDC78 60 66 00 01 */ ori r6, r3, 1
/* 800D0D3C 000CDC7C 57 E3 40 2E */ slwi r3, r31, 8
/* 800D0D40 000CDC80 7C C3 1B 78 */ or r3, r6, r3
/* 800D0D44 000CDC84 B0 65 00 00 */ sth r3, 0(r5)
/* 800D0D48 000CDC88 B0 04 00 6C */ sth r0, 0x6c(r4)
/* 800D0D4C 000CDC8C 48 00 00 1C */ b .L_800D0D68
.L_800D0D50:
/* 800D0D50 000CDC90 57 E0 40 2E */ slwi r0, r31, 8
/* 800D0D54 000CDC94 60 00 00 05 */ ori r0, r0, 5
/* 800D0D58 000CDC98 B0 05 00 00 */ sth r0, 0(r5)
/* 800D0D5C 000CDC9C 3C 60 CC 00 */ lis r3, 0xCC00206C@ha
/* 800D0D60 000CDCA0 38 00 00 01 */ li r0, 1
/* 800D0D64 000CDCA4 B0 03 20 6C */ sth r0, 0xCC00206C@l(r3)
.L_800D0D68:
/* 800D0D68 000CDCA8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800D0D6C 000CDCAC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800D0D70 000CDCB0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 800D0D74 000CDCB4 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 800D0D78 000CDCB8 38 21 00 30 */ addi r1, r1, 0x30
/* 800D0D7C 000CDCBC 7C 08 03 A6 */ mtlr r0
/* 800D0D80 000CDCC0 4E 80 00 20 */ blr
.global VIInit
VIInit:
/* 800D0D84 000CDCC4 7C 08 02 A6 */ mflr r0
/* 800D0D88 000CDCC8 3C 80 80 4A */ lis r4, lbl_804A72B0@ha
/* 800D0D8C 000CDCCC 90 01 00 04 */ stw r0, 4(r1)
/* 800D0D90 000CDCD0 3C 60 80 4F */ lis r3, regs@ha
/* 800D0D94 000CDCD4 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 800D0D98 000CDCD8 93 E1 00 14 */ stw r31, 0x14(r1)
/* 800D0D9C 000CDCDC 93 C1 00 10 */ stw r30, 0x10(r1)
/* 800D0DA0 000CDCE0 3B C3 59 A8 */ addi r30, r3, regs@l
/* 800D0DA4 000CDCE4 93 A1 00 0C */ stw r29, 0xc(r1)
/* 800D0DA8 000CDCE8 3B A4 72 B0 */ addi r29, r4, lbl_804A72B0@l
/* 800D0DAC 000CDCEC 93 81 00 08 */ stw r28, 8(r1)
/* 800D0DB0 000CDCF0 80 0D 8C F8 */ lwz r0, IsInitialized@sda21(r13)
/* 800D0DB4 000CDCF4 2C 00 00 00 */ cmpwi r0, 0
/* 800D0DB8 000CDCF8 40 82 04 5C */ bne .L_800D1214
/* 800D0DBC 000CDCFC 80 6D 82 68 */ lwz r3, __VIVersion@sda21(r13)
/* 800D0DC0 000CDD00 48 01 AC C9 */ bl OSRegisterVersion
/* 800D0DC4 000CDD04 38 00 00 01 */ li r0, 1
/* 800D0DC8 000CDD08 90 0D 8C F8 */ stw r0, IsInitialized@sda21(r13)
/* 800D0DCC 000CDD0C 3C 60 CC 00 */ lis r3, 0xCC002000@ha
/* 800D0DD0 000CDD10 3B 83 20 00 */ addi r28, r3, 0xCC002000@l
/* 800D0DD4 000CDD14 90 0D 8D 18 */ stw r0, encoderType@sda21(r13)
/* 800D0DD8 000CDD18 A4 1C 00 02 */ lhzu r0, 2(r28)
/* 800D0DDC 000CDD1C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 800D0DE0 000CDD20 40 82 00 0C */ bne .L_800D0DEC
/* 800D0DE4 000CDD24 38 60 00 00 */ li r3, 0
/* 800D0DE8 000CDD28 4B FF FD 9D */ bl __VIInit
.L_800D0DEC:
/* 800D0DEC 000CDD2C 3B E0 00 00 */ li r31, 0
/* 800D0DF0 000CDD30 93 ED 8C FC */ stw r31, retraceCount@sda21(r13)
/* 800D0DF4 000CDD34 3C 60 CC 00 */ lis r3, 0xCC002000@ha
/* 800D0DF8 000CDD38 38 63 20 00 */ addi r3, r3, 0xCC002000@l
/* 800D0DFC 000CDD3C 93 ED 8D 2C */ stw r31, lbl_805153AC@sda21(r13)
/* 800D0E00 000CDD40 38 00 02 80 */ li r0, 0x280
/* 800D0E04 000CDD44 93 ED 8D 28 */ stw r31, changed@sda21(r13)
/* 800D0E08 000CDD48 93 ED 8D 3C */ stw r31, lbl_805153BC@sda21(r13)
/* 800D0E0C 000CDD4C 93 ED 8D 38 */ stw r31, shdwChanged@sda21(r13)
/* 800D0E10 000CDD50 93 ED 8D 20 */ stw r31, changeMode@sda21(r13)
/* 800D0E14 000CDD54 93 ED 8D 30 */ stw r31, shdwChangeMode@sda21(r13)
/* 800D0E18 000CDD58 93 ED 8D 00 */ stw r31, flushFlag@sda21(r13)
/* 800D0E1C 000CDD5C A0 BD 01 C2 */ lhz r5, 0x1c2(r29)
/* 800D0E20 000CDD60 A0 DD 01 C0 */ lhz r6, 0x1c0(r29)
/* 800D0E24 000CDD64 54 A5 54 2A */ rlwinm r5, r5, 0xa, 0x10, 0x15
/* 800D0E28 000CDD68 7C C5 2B 78 */ or r5, r6, r5
/* 800D0E2C 000CDD6C B0 A3 00 4E */ sth r5, 0x4e(r3)
/* 800D0E30 000CDD70 A0 DD 01 C2 */ lhz r6, 0x1c2(r29)
/* 800D0E34 000CDD74 A0 BD 01 C4 */ lhz r5, 0x1c4(r29)
/* 800D0E38 000CDD78 7C C6 36 70 */ srawi r6, r6, 6
/* 800D0E3C 000CDD7C 54 A5 20 36 */ slwi r5, r5, 4
/* 800D0E40 000CDD80 7C C5 2B 78 */ or r5, r6, r5
/* 800D0E44 000CDD84 B0 A3 00 4C */ sth r5, 0x4c(r3)
/* 800D0E48 000CDD88 A0 BD 01 C8 */ lhz r5, 0x1c8(r29)
/* 800D0E4C 000CDD8C A0 DD 01 C6 */ lhz r6, 0x1c6(r29)
/* 800D0E50 000CDD90 54 A5 54 2A */ rlwinm r5, r5, 0xa, 0x10, 0x15
/* 800D0E54 000CDD94 7C C5 2B 78 */ or r5, r6, r5
/* 800D0E58 000CDD98 B0 A3 00 52 */ sth r5, 0x52(r3)
/* 800D0E5C 000CDD9C A0 DD 01 C8 */ lhz r6, 0x1c8(r29)
/* 800D0E60 000CDDA0 A0 BD 01 CA */ lhz r5, 0x1ca(r29)
/* 800D0E64 000CDDA4 7C C6 36 70 */ srawi r6, r6, 6
/* 800D0E68 000CDDA8 54 A5 20 36 */ slwi r5, r5, 4
/* 800D0E6C 000CDDAC 7C C5 2B 78 */ or r5, r6, r5
/* 800D0E70 000CDDB0 B0 A3 00 50 */ sth r5, 0x50(r3)
/* 800D0E74 000CDDB4 A0 BD 01 CE */ lhz r5, 0x1ce(r29)
/* 800D0E78 000CDDB8 A0 DD 01 CC */ lhz r6, 0x1cc(r29)
/* 800D0E7C 000CDDBC 54 A5 54 2A */ rlwinm r5, r5, 0xa, 0x10, 0x15
/* 800D0E80 000CDDC0 7C C5 2B 78 */ or r5, r6, r5
/* 800D0E84 000CDDC4 B0 A3 00 56 */ sth r5, 0x56(r3)
/* 800D0E88 000CDDC8 A0 BD 01 CE */ lhz r5, 0x1ce(r29)
/* 800D0E8C 000CDDCC A0 9D 01 D0 */ lhz r4, 0x1d0(r29)
/* 800D0E90 000CDDD0 7C A5 36 70 */ srawi r5, r5, 6
/* 800D0E94 000CDDD4 54 84 20 36 */ slwi r4, r4, 4
/* 800D0E98 000CDDD8 7C A4 23 78 */ or r4, r5, r4
/* 800D0E9C 000CDDDC B0 83 00 54 */ sth r4, 0x54(r3)
/* 800D0EA0 000CDDE0 A0 9D 01 D4 */ lhz r4, 0x1d4(r29)
/* 800D0EA4 000CDDE4 A0 BD 01 D2 */ lhz r5, 0x1d2(r29)
/* 800D0EA8 000CDDE8 54 84 40 2E */ slwi r4, r4, 8
/* 800D0EAC 000CDDEC 7C A4 23 78 */ or r4, r5, r4
/* 800D0EB0 000CDDF0 B0 83 00 5A */ sth r4, 0x5a(r3)
/* 800D0EB4 000CDDF4 A0 9D 01 D8 */ lhz r4, 0x1d8(r29)
/* 800D0EB8 000CDDF8 A0 BD 01 D6 */ lhz r5, 0x1d6(r29)
/* 800D0EBC 000CDDFC 54 84 40 2E */ slwi r4, r4, 8
/* 800D0EC0 000CDE00 7C A4 23 78 */ or r4, r5, r4
/* 800D0EC4 000CDE04 B0 83 00 58 */ sth r4, 0x58(r3)
/* 800D0EC8 000CDE08 A0 9D 01 DC */ lhz r4, 0x1dc(r29)
/* 800D0ECC 000CDE0C A0 BD 01 DA */ lhz r5, 0x1da(r29)
/* 800D0ED0 000CDE10 54 84 40 2E */ slwi r4, r4, 8
/* 800D0ED4 000CDE14 7C A4 23 78 */ or r4, r5, r4
/* 800D0ED8 000CDE18 B0 83 00 5E */ sth r4, 0x5e(r3)
/* 800D0EDC 000CDE1C A0 9D 01 E0 */ lhz r4, 0x1e0(r29)
/* 800D0EE0 000CDE20 A0 BD 01 DE */ lhz r5, 0x1de(r29)
/* 800D0EE4 000CDE24 54 84 40 2E */ slwi r4, r4, 8
/* 800D0EE8 000CDE28 7C A4 23 78 */ or r4, r5, r4
/* 800D0EEC 000CDE2C B0 83 00 5C */ sth r4, 0x5c(r3)
/* 800D0EF0 000CDE30 A0 9D 01 E4 */ lhz r4, 0x1e4(r29)
/* 800D0EF4 000CDE34 A0 BD 01 E2 */ lhz r5, 0x1e2(r29)
/* 800D0EF8 000CDE38 54 84 40 2E */ slwi r4, r4, 8
/* 800D0EFC 000CDE3C 7C A4 23 78 */ or r4, r5, r4
/* 800D0F00 000CDE40 B0 83 00 62 */ sth r4, 0x62(r3)
/* 800D0F04 000CDE44 A0 9D 01 E8 */ lhz r4, 0x1e8(r29)
/* 800D0F08 000CDE48 A0 BD 01 E6 */ lhz r5, 0x1e6(r29)
/* 800D0F0C 000CDE4C 54 84 40 2E */ slwi r4, r4, 8
/* 800D0F10 000CDE50 7C A4 23 78 */ or r4, r5, r4
/* 800D0F14 000CDE54 B0 83 00 60 */ sth r4, 0x60(r3)
/* 800D0F18 000CDE58 A0 9D 01 EC */ lhz r4, 0x1ec(r29)
/* 800D0F1C 000CDE5C A0 BD 01 EA */ lhz r5, 0x1ea(r29)
/* 800D0F20 000CDE60 54 84 40 2E */ slwi r4, r4, 8
/* 800D0F24 000CDE64 7C A4 23 78 */ or r4, r5, r4
/* 800D0F28 000CDE68 B0 83 00 66 */ sth r4, 0x66(r3)
/* 800D0F2C 000CDE6C A0 9D 01 F0 */ lhz r4, 0x1f0(r29)
/* 800D0F30 000CDE70 A0 BD 01 EE */ lhz r5, 0x1ee(r29)
/* 800D0F34 000CDE74 54 84 40 2E */ slwi r4, r4, 8
/* 800D0F38 000CDE78 7C A4 23 78 */ or r4, r5, r4
/* 800D0F3C 000CDE7C B0 83 00 64 */ sth r4, 0x64(r3)
/* 800D0F40 000CDE80 B0 03 00 70 */ sth r0, 0x70(r3)
/* 800D0F44 000CDE84 48 01 FD ED */ bl __OSLockSram
/* 800D0F48 000CDE88 88 03 00 10 */ lbz r0, 0x10(r3)
/* 800D0F4C 000CDE8C 38 60 00 00 */ li r3, 0
/* 800D0F50 000CDE90 7C 00 07 74 */ extsb r0, r0
/* 800D0F54 000CDE94 B3 ED 8D 1E */ sth r31, displayOffsetV@sda21(r13)
/* 800D0F58 000CDE98 B0 0D 8D 1C */ sth r0, displayOffsetH@sda21(r13)
/* 800D0F5C 000CDE9C 48 02 01 C9 */ bl __OSUnlockSram
/* 800D0F60 000CDEA0 A3 BC 00 00 */ lhz r29, 0(r28)
/* 800D0F64 000CDEA4 3C 60 80 00 */ lis r3, 0x800000CC@ha
/* 800D0F68 000CDEA8 80 63 00 CC */ lwz r3, 0x800000CC@l(r3)
/* 800D0F6C 000CDEAC 38 9E 01 14 */ addi r4, r30, 0x114
/* 800D0F70 000CDEB0 57 A0 F7 FE */ rlwinm r0, r29, 0x1e, 0x1f, 0x1f
/* 800D0F74 000CDEB4 90 1E 01 14 */ stw r0, 0x114(r30)
/* 800D0F78 000CDEB8 57 A0 C7 BE */ rlwinm r0, r29, 0x18, 0x1e, 0x1f
/* 800D0F7C 000CDEBC 28 03 00 01 */ cmplwi r3, 1
/* 800D0F80 000CDEC0 90 1E 01 18 */ stw r0, 0x118(r30)
/* 800D0F84 000CDEC4 3B 9E 01 18 */ addi r28, r30, 0x118
/* 800D0F88 000CDEC8 40 82 00 18 */ bne .L_800D0FA0
/* 800D0F8C 000CDECC 80 1C 00 00 */ lwz r0, 0(r28)
/* 800D0F90 000CDED0 28 00 00 00 */ cmplwi r0, 0
/* 800D0F94 000CDED4 40 82 00 0C */ bne .L_800D0FA0
/* 800D0F98 000CDED8 38 00 00 05 */ li r0, 5
/* 800D0F9C 000CDEDC 90 1C 00 00 */ stw r0, 0(r28)
.L_800D0FA0:
/* 800D0FA0 000CDEE0 80 7C 00 00 */ lwz r3, 0(r28)
/* 800D0FA4 000CDEE4 28 03 00 03 */ cmplwi r3, 3
/* 800D0FA8 000CDEE8 40 82 00 08 */ bne .L_800D0FB0
/* 800D0FAC 000CDEEC 38 60 00 00 */ li r3, 0
.L_800D0FB0:
/* 800D0FB0 000CDEF0 80 04 00 00 */ lwz r0, 0(r4)
/* 800D0FB4 000CDEF4 54 63 10 3A */ slwi r3, r3, 2
/* 800D0FB8 000CDEF8 7C 63 02 14 */ add r3, r3, r0
/* 800D0FBC 000CDEFC 4B FF FB 29 */ bl getTiming
/* 800D0FC0 000CDF00 90 7E 01 44 */ stw r3, 0x144(r30)
/* 800D0FC4 000CDF04 38 9E 01 44 */ addi r4, r30, 0x144
/* 800D0FC8 000CDF08 38 00 02 80 */ li r0, 0x280
/* 800D0FCC 000CDF0C B3 BE 00 02 */ sth r29, 2(r30)
/* 800D0FD0 000CDF10 39 00 00 00 */ li r8, 0
/* 800D0FD4 000CDF14 38 DE 00 F6 */ addi r6, r30, 0xf6
/* 800D0FD8 000CDF18 80 84 00 00 */ lwz r4, 0(r4)
/* 800D0FDC 000CDF1C 38 7E 00 F2 */ addi r3, r30, 0xf2
/* 800D0FE0 000CDF20 90 8D 8D 40 */ stw r4, CurrTiming@sda21(r13)
/* 800D0FE4 000CDF24 80 9C 00 00 */ lwz r4, 0(r28)
/* 800D0FE8 000CDF28 90 8D 8D 44 */ stw r4, CurrTvMode@sda21(r13)
/* 800D0FEC 000CDF2C B0 1E 00 F4 */ sth r0, 0xf4(r30)
/* 800D0FF0 000CDF30 80 8D 8D 40 */ lwz r4, CurrTiming@sda21(r13)
/* 800D0FF4 000CDF34 A4 04 00 02 */ lhzu r0, 2(r4)
/* 800D0FF8 000CDF38 54 00 0C 3C */ rlwinm r0, r0, 1, 0x10, 0x1e
/* 800D0FFC 000CDF3C B0 1E 00 F6 */ sth r0, 0xf6(r30)
/* 800D1000 000CDF40 A0 1E 00 F4 */ lhz r0, 0xf4(r30)
/* 800D1004 000CDF44 20 00 02 D0 */ subfic r0, r0, 0x2d0
/* 800D1008 000CDF48 7C 00 0E 70 */ srawi r0, r0, 1
/* 800D100C 000CDF4C 7C 00 01 94 */ addze r0, r0
/* 800D1010 000CDF50 B0 1E 00 F0 */ sth r0, 0xf0(r30)
/* 800D1014 000CDF54 B1 1E 00 F2 */ sth r8, 0xf2(r30)
/* 800D1018 000CDF58 A0 1E 00 F4 */ lhz r0, 0xf4(r30)
/* 800D101C 000CDF5C A8 FE 00 F0 */ lha r7, 0xf0(r30)
/* 800D1020 000CDF60 A8 AD 8D 1C */ lha r5, displayOffsetH@sda21(r13)
/* 800D1024 000CDF64 20 00 02 D0 */ subfic r0, r0, 0x2d0
/* 800D1028 000CDF68 A1 24 00 00 */ lhz r9, 0(r4)
/* 800D102C 000CDF6C 7C A7 2A 14 */ add r5, r7, r5
/* 800D1030 000CDF70 7C 05 00 00 */ cmpw r5, r0
/* 800D1034 000CDF74 40 81 00 08 */ ble .L_800D103C
/* 800D1038 000CDF78 48 00 00 18 */ b .L_800D1050
.L_800D103C:
/* 800D103C 000CDF7C 2C 05 00 00 */ cmpwi r5, 0
/* 800D1040 000CDF80 40 80 00 08 */ bge .L_800D1048
/* 800D1044 000CDF84 48 00 00 08 */ b .L_800D104C
.L_800D1048:
/* 800D1048 000CDF88 7C A8 2B 78 */ mr r8, r5
.L_800D104C:
/* 800D104C 000CDF8C 7D 00 43 78 */ mr r0, r8
.L_800D1050:
/* 800D1050 000CDF90 B0 1E 00 F8 */ sth r0, 0xf8(r30)
/* 800D1054 000CDF94 39 1E 01 10 */ addi r8, r30, 0x110
/* 800D1058 000CDF98 80 1E 01 10 */ lwz r0, 0x110(r30)
/* 800D105C 000CDF9C 2C 00 00 00 */ cmpwi r0, 0
/* 800D1060 000CDFA0 40 82 00 0C */ bne .L_800D106C
/* 800D1064 000CDFA4 39 60 00 02 */ li r11, 2
/* 800D1068 000CDFA8 48 00 00 08 */ b .L_800D1070
.L_800D106C:
/* 800D106C 000CDFAC 39 60 00 01 */ li r11, 1
.L_800D1070:
/* 800D1070 000CDFB0 A0 03 00 00 */ lhz r0, 0(r3)
/* 800D1074 000CDFB4 A8 AD 8D 1E */ lha r5, displayOffsetV@sda21(r13)
/* 800D1078 000CDFB8 7C 07 07 34 */ extsh r7, r0
/* 800D107C 000CDFBC 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 800D1080 000CDFC0 7C E7 2A 14 */ add r7, r7, r5
/* 800D1084 000CDFC4 7C 07 00 00 */ cmpw r7, r0
/* 800D1088 000CDFC8 40 81 00 08 */ ble .L_800D1090
/* 800D108C 000CDFCC 48 00 00 08 */ b .L_800D1094
.L_800D1090:
/* 800D1090 000CDFD0 7C 07 03 78 */ mr r7, r0
.L_800D1094:
/* 800D1094 000CDFD4 B0 FE 00 FA */ sth r7, 0xfa(r30)
/* 800D1098 000CDFD8 7D 27 07 34 */ extsh r7, r9
/* 800D109C 000CDFDC 54 E7 08 3C */ slwi r7, r7, 1
/* 800D10A0 000CDFE0 A3 86 00 00 */ lhz r28, 0(r6)
/* 800D10A4 000CDFE4 7D 80 38 50 */ subf r12, r0, r7
/* 800D10A8 000CDFE8 A9 43 00 00 */ lha r10, 0(r3)
/* 800D10AC 000CDFEC 7F 87 07 34 */ extsh r7, r28
/* 800D10B0 000CDFF0 7D 27 2A 14 */ add r9, r7, r5
/* 800D10B4 000CDFF4 7D 2A 4A 14 */ add r9, r10, r9
/* 800D10B8 000CDFF8 7C EC 48 51 */ subf. r7, r12, r9
/* 800D10BC 000CDFFC 40 81 00 0C */ ble .L_800D10C8
/* 800D10C0 000CE000 7D 2C 48 50 */ subf r9, r12, r9
/* 800D10C4 000CE004 48 00 00 08 */ b .L_800D10CC
.L_800D10C8:
/* 800D10C8 000CE008 39 20 00 00 */ li r9, 0
.L_800D10CC:
/* 800D10CC 000CE00C 7D 4A 2A 14 */ add r10, r10, r5
/* 800D10D0 000CE010 7C E0 50 51 */ subf. r7, r0, r10
/* 800D10D4 000CE014 40 80 00 0C */ bge .L_800D10E0
/* 800D10D8 000CE018 7C E0 50 50 */ subf r7, r0, r10
/* 800D10DC 000CE01C 48 00 00 08 */ b .L_800D10E4
.L_800D10E0:
/* 800D10E0 000CE020 38 E0 00 00 */ li r7, 0
.L_800D10E4:
/* 800D10E4 000CE024 7C FC 3A 14 */ add r7, r28, r7
/* 800D10E8 000CE028 7C E9 38 50 */ subf r7, r9, r7
/* 800D10EC 000CE02C B0 FE 00 FC */ sth r7, 0xfc(r30)
/* 800D10F0 000CE030 A8 E3 00 00 */ lha r7, 0(r3)
/* 800D10F4 000CE034 7D 27 2A 14 */ add r9, r7, r5
/* 800D10F8 000CE038 7C E0 48 51 */ subf. r7, r0, r9
/* 800D10FC 000CE03C 40 80 00 0C */ bge .L_800D1108
/* 800D1100 000CE040 7C E0 48 50 */ subf r7, r0, r9
/* 800D1104 000CE044 48 00 00 08 */ b .L_800D110C
.L_800D1108:
/* 800D1108 000CE048 38 E0 00 00 */ li r7, 0
.L_800D110C:
/* 800D110C 000CE04C 7D 47 5B D6 */ divw r10, r7, r11
/* 800D1110 000CE050 38 FE 01 08 */ addi r7, r30, 0x108
/* 800D1114 000CE054 A1 3E 01 08 */ lhz r9, 0x108(r30)
/* 800D1118 000CE058 7D 2A 48 50 */ subf r9, r10, r9
/* 800D111C 000CE05C B1 3E 00 FE */ sth r9, 0xfe(r30)
/* 800D1120 000CE060 A8 C6 00 00 */ lha r6, 0(r6)
/* 800D1124 000CE064 A9 23 00 00 */ lha r9, 0(r3)
/* 800D1128 000CE068 7C C6 2A 14 */ add r6, r6, r5
/* 800D112C 000CE06C 7C C9 32 14 */ add r6, r9, r6
/* 800D1130 000CE070 7C 6C 30 51 */ subf. r3, r12, r6
/* 800D1134 000CE074 40 81 00 0C */ ble .L_800D1140
/* 800D1138 000CE078 7C CC 30 50 */ subf r6, r12, r6
/* 800D113C 000CE07C 48 00 00 08 */ b .L_800D1144
.L_800D1140:
/* 800D1140 000CE080 38 C0 00 00 */ li r6, 0
.L_800D1144:
/* 800D1144 000CE084 7C A9 2A 14 */ add r5, r9, r5
/* 800D1148 000CE088 7C 60 28 51 */ subf. r3, r0, r5
/* 800D114C 000CE08C 40 80 00 0C */ bge .L_800D1158
/* 800D1150 000CE090 7C 00 28 50 */ subf r0, r0, r5
/* 800D1154 000CE094 48 00 00 08 */ b .L_800D115C
.L_800D1158:
/* 800D1158 000CE098 38 00 00 00 */ li r0, 0
.L_800D115C:
/* 800D115C 000CE09C 7C 00 5B D6 */ divw r0, r0, r11
/* 800D1160 000CE0A0 A0 7E 01 0C */ lhz r3, 0x10c(r30)
/* 800D1164 000CE0A4 7C 03 02 14 */ add r0, r3, r0
/* 800D1168 000CE0A8 7C A6 5B D6 */ divw r5, r6, r11
/* 800D116C 000CE0AC 7C 05 00 50 */ subf r0, r5, r0
/* 800D1170 000CE0B0 B0 1E 01 00 */ sth r0, 0x100(r30)
/* 800D1174 000CE0B4 39 20 02 80 */ li r9, 0x280
/* 800D1178 000CE0B8 3B 80 00 00 */ li r28, 0
/* 800D117C 000CE0BC B1 3E 01 02 */ sth r9, 0x102(r30)
/* 800D1180 000CE0C0 38 A0 00 28 */ li r5, 0x28
/* 800D1184 000CE0C4 38 00 00 01 */ li r0, 1
/* 800D1188 000CE0C8 A0 C4 00 00 */ lhz r6, 0(r4)
/* 800D118C 000CE0CC 38 6D 8D 04 */ addi r3, r13, retraceQueue@sda21
/* 800D1190 000CE0D0 54 C6 0C 3C */ rlwinm r6, r6, 1, 0x10, 0x1e
/* 800D1194 000CE0D4 B0 DE 01 04 */ sth r6, 0x104(r30)
/* 800D1198 000CE0D8 B3 9E 01 06 */ sth r28, 0x106(r30)
/* 800D119C 000CE0DC B3 87 00 00 */ sth r28, 0(r7)
/* 800D11A0 000CE0E0 B1 3E 01 0A */ sth r9, 0x10a(r30)
/* 800D11A4 000CE0E4 A0 84 00 00 */ lhz r4, 0(r4)
/* 800D11A8 000CE0E8 54 84 0C 3C */ rlwinm r4, r4, 1, 0x10, 0x1e
/* 800D11AC 000CE0EC B0 9E 01 0C */ sth r4, 0x10c(r30)
/* 800D11B0 000CE0F0 93 88 00 00 */ stw r28, 0(r8)
/* 800D11B4 000CE0F4 98 BE 01 1C */ stb r5, 0x11c(r30)
/* 800D11B8 000CE0F8 98 BE 01 1D */ stb r5, 0x11d(r30)
/* 800D11BC 000CE0FC 98 BE 01 1E */ stb r5, 0x11e(r30)
/* 800D11C0 000CE100 9B 9E 01 2C */ stb r28, 0x12c(r30)
/* 800D11C4 000CE104 90 1E 01 30 */ stw r0, 0x130(r30)
/* 800D11C8 000CE108 93 9E 01 34 */ stw r28, 0x134(r30)
/* 800D11CC 000CE10C 48 02 07 E9 */ bl OSInitThreadQueue
/* 800D11D0 000CE110 3C 60 CC 00 */ lis r3, 0xCC002030@ha
/* 800D11D4 000CE114 A0 03 20 30 */ lhz r0, 0xCC002030@l(r3)
/* 800D11D8 000CE118 38 83 20 00 */ addi r4, r3, 0x2000
/* 800D11DC 000CE11C 38 A3 20 00 */ addi r5, r3, 0x2000
/* 800D11E0 000CE120 54 00 04 7E */ clrlwi r0, r0, 0x11
/* 800D11E4 000CE124 B0 04 00 30 */ sth r0, 0x30(r4)
/* 800D11E8 000CE128 3C 60 80 0D */ lis r3, __VIRetraceHandler@ha
/* 800D11EC 000CE12C 38 83 07 E8 */ addi r4, r3, __VIRetraceHandler@l
/* 800D11F0 000CE130 A0 05 00 34 */ lhz r0, 0x34(r5)
/* 800D11F4 000CE134 38 60 00 18 */ li r3, 0x18
/* 800D11F8 000CE138 54 00 04 7E */ clrlwi r0, r0, 0x11
/* 800D11FC 000CE13C B0 05 00 34 */ sth r0, 0x34(r5)
/* 800D1200 000CE140 93 8D 8D 0C */ stw r28, PreCB@sda21(r13)
/* 800D1204 000CE144 93 8D 8D 10 */ stw r28, PostCB@sda21(r13)
/* 800D1208 000CE148 48 01 DA 7D */ bl __OSSetInterruptHandler
/* 800D120C 000CE14C 38 60 00 80 */ li r3, 0x80
/* 800D1210 000CE150 48 01 DE 79 */ bl __OSUnmaskInterrupts
.L_800D1214:
/* 800D1214 000CE154 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 800D1218 000CE158 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 800D121C 000CE15C 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 800D1220 000CE160 83 A1 00 0C */ lwz r29, 0xc(r1)
/* 800D1224 000CE164 83 81 00 08 */ lwz r28, 8(r1)
/* 800D1228 000CE168 38 21 00 18 */ addi r1, r1, 0x18
/* 800D122C 000CE16C 7C 08 03 A6 */ mtlr r0
/* 800D1230 000CE170 4E 80 00 20 */ blr
.global VIWaitForRetrace
VIWaitForRetrace:
/* 800D1234 000CE174 7C 08 02 A6 */ mflr r0
/* 800D1238 000CE178 90 01 00 04 */ stw r0, 4(r1)
/* 800D123C 000CE17C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800D1240 000CE180 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800D1244 000CE184 93 C1 00 08 */ stw r30, 8(r1)
/* 800D1248 000CE188 48 01 D9 F1 */ bl OSDisableInterrupts
/* 800D124C 000CE18C 83 CD 8C FC */ lwz r30, retraceCount@sda21(r13)
/* 800D1250 000CE190 7C 7F 1B 78 */ mr r31, r3
.L_800D1254:
/* 800D1254 000CE194 38 6D 8D 04 */ addi r3, r13, retraceQueue@sda21
/* 800D1258 000CE198 48 02 16 95 */ bl OSSleepThread
/* 800D125C 000CE19C 80 0D 8C FC */ lwz r0, retraceCount@sda21(r13)
/* 800D1260 000CE1A0 7C 1E 00 40 */ cmplw r30, r0
/* 800D1264 000CE1A4 41 82 FF F0 */ beq .L_800D1254
/* 800D1268 000CE1A8 7F E3 FB 78 */ mr r3, r31
/* 800D126C 000CE1AC 48 01 D9 F5 */ bl OSRestoreInterrupts
/* 800D1270 000CE1B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800D1274 000CE1B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800D1278 000CE1B8 83 C1 00 08 */ lwz r30, 8(r1)
/* 800D127C 000CE1BC 38 21 00 10 */ addi r1, r1, 0x10
/* 800D1280 000CE1C0 7C 08 03 A6 */ mtlr r0
/* 800D1284 000CE1C4 4E 80 00 20 */ blr
.global setFbbRegs
setFbbRegs:
/* 800D1288 000CE1C8 94 21 FF B8 */ stwu r1, -0x48(r1)
/* 800D128C 000CE1CC 3D 20 80 4F */ lis r9, regs@ha
/* 800D1290 000CE1D0 39 29 59 A8 */ addi r9, r9, regs@l
/* 800D1294 000CE1D4 93 E1 00 44 */ stw r31, 0x44(r1)
/* 800D1298 000CE1D8 89 03 00 2C */ lbz r8, 0x2c(r3)
/* 800D129C 000CE1DC A0 03 00 0E */ lhz r0, 0xe(r3)
/* 800D12A0 000CE1E0 55 1F 28 34 */ slwi r31, r8, 5
/* 800D12A4 000CE1E4 A1 03 00 16 */ lhz r8, 0x16(r3)
/* 800D12A8 000CE1E8 7C 1F 01 D6 */ mullw r0, r31, r0
/* 800D12AC 000CE1EC 81 63 00 20 */ lwz r11, 0x20(r3)
/* 800D12B0 000CE1F0 81 43 00 30 */ lwz r10, 0x30(r3)
/* 800D12B4 000CE1F4 A1 83 00 0A */ lhz r12, 0xa(r3)
/* 800D12B8 000CE1F8 55 08 08 34 */ rlwinm r8, r8, 1, 0, 0x1a
/* 800D12BC 000CE1FC 7C 08 02 14 */ add r0, r8, r0
/* 800D12C0 000CE200 7C 0A 02 14 */ add r0, r10, r0
/* 800D12C4 000CE204 2C 0B 00 00 */ cmpwi r11, 0
/* 800D12C8 000CE208 90 04 00 00 */ stw r0, 0(r4)
/* 800D12CC 000CE20C 40 82 00 0C */ bne .L_800D12D8
/* 800D12D0 000CE210 81 04 00 00 */ lwz r8, 0(r4)
/* 800D12D4 000CE214 48 00 00 0C */ b .L_800D12E0
.L_800D12D8:
/* 800D12D8 000CE218 80 04 00 00 */ lwz r0, 0(r4)
/* 800D12DC 000CE21C 7D 00 FA 14 */ add r8, r0, r31
.L_800D12E0:
/* 800D12E0 000CE220 7D 80 0E 70 */ srawi r0, r12, 1
/* 800D12E4 000CE224 91 05 00 00 */ stw r8, 0(r5)
/* 800D12E8 000CE228 7C 00 01 94 */ addze r0, r0
/* 800D12EC 000CE22C 54 00 08 3C */ slwi r0, r0, 1
/* 800D12F0 000CE230 7C 00 60 10 */ subfc r0, r0, r12
/* 800D12F4 000CE234 2C 00 00 01 */ cmpwi r0, 1
/* 800D12F8 000CE238 40 82 00 14 */ bne .L_800D130C
/* 800D12FC 000CE23C 81 04 00 00 */ lwz r8, 0(r4)
/* 800D1300 000CE240 80 05 00 00 */ lwz r0, 0(r5)
/* 800D1304 000CE244 90 04 00 00 */ stw r0, 0(r4)
/* 800D1308 000CE248 91 05 00 00 */ stw r8, 0(r5)
.L_800D130C:
/* 800D130C 000CE24C 80 04 00 00 */ lwz r0, 0(r4)
/* 800D1310 000CE250 54 00 00 BE */ clrlwi r0, r0, 2
/* 800D1314 000CE254 90 04 00 00 */ stw r0, 0(r4)
/* 800D1318 000CE258 80 05 00 00 */ lwz r0, 0(r5)
/* 800D131C 000CE25C 54 00 00 BE */ clrlwi r0, r0, 2
/* 800D1320 000CE260 90 05 00 00 */ stw r0, 0(r5)
/* 800D1324 000CE264 80 03 00 44 */ lwz r0, 0x44(r3)
/* 800D1328 000CE268 2C 00 00 00 */ cmpwi r0, 0
/* 800D132C 000CE26C 41 82 00 90 */ beq .L_800D13BC
/* 800D1330 000CE270 89 03 00 2C */ lbz r8, 0x2c(r3)
/* 800D1334 000CE274 A0 03 00 0E */ lhz r0, 0xe(r3)
/* 800D1338 000CE278 55 1F 28 34 */ slwi r31, r8, 5
/* 800D133C 000CE27C A1 03 00 16 */ lhz r8, 0x16(r3)
/* 800D1340 000CE280 7C 1F 01 D6 */ mullw r0, r31, r0
/* 800D1344 000CE284 81 63 00 20 */ lwz r11, 0x20(r3)
/* 800D1348 000CE288 81 43 00 48 */ lwz r10, 0x48(r3)
/* 800D134C 000CE28C A1 83 00 0A */ lhz r12, 0xa(r3)
/* 800D1350 000CE290 55 08 08 34 */ rlwinm r8, r8, 1, 0, 0x1a
/* 800D1354 000CE294 7C 08 02 14 */ add r0, r8, r0
/* 800D1358 000CE298 7C 0A 02 14 */ add r0, r10, r0
/* 800D135C 000CE29C 2C 0B 00 00 */ cmpwi r11, 0
/* 800D1360 000CE2A0 90 06 00 00 */ stw r0, 0(r6)
/* 800D1364 000CE2A4 40 82 00 0C */ bne .L_800D1370
/* 800D1368 000CE2A8 81 06 00 00 */ lwz r8, 0(r6)
/* 800D136C 000CE2AC 48 00 00 0C */ b .L_800D1378
.L_800D1370:
/* 800D1370 000CE2B0 80 06 00 00 */ lwz r0, 0(r6)
/* 800D1374 000CE2B4 7D 00 FA 14 */ add r8, r0, r31
.L_800D1378:
/* 800D1378 000CE2B8 7D 80 0E 70 */ srawi r0, r12, 1
/* 800D137C 000CE2BC 91 07 00 00 */ stw r8, 0(r7)
/* 800D1380 000CE2C0 7C 00 01 94 */ addze r0, r0
/* 800D1384 000CE2C4 54 00 08 3C */ slwi r0, r0, 1
/* 800D1388 000CE2C8 7C 00 60 10 */ subfc r0, r0, r12
/* 800D138C 000CE2CC 2C 00 00 01 */ cmpwi r0, 1
/* 800D1390 000CE2D0 40 82 00 14 */ bne .L_800D13A4
/* 800D1394 000CE2D4 81 06 00 00 */ lwz r8, 0(r6)
/* 800D1398 000CE2D8 80 07 00 00 */ lwz r0, 0(r7)
/* 800D139C 000CE2DC 90 06 00 00 */ stw r0, 0(r6)
/* 800D13A0 000CE2E0 91 07 00 00 */ stw r8, 0(r7)
.L_800D13A4:
/* 800D13A4 000CE2E4 80 06 00 00 */ lwz r0, 0(r6)
/* 800D13A8 000CE2E8 54 00 00 BE */ clrlwi r0, r0, 2
/* 800D13AC 000CE2EC 90 06 00 00 */ stw r0, 0(r6)
/* 800D13B0 000CE2F0 80 07 00 00 */ lwz r0, 0(r7)
/* 800D13B4 000CE2F4 54 00 00 BE */ clrlwi r0, r0, 2
/* 800D13B8 000CE2F8 90 07 00 00 */ stw r0, 0(r7)
.L_800D13BC:
/* 800D13BC 000CE2FC 80 04 00 00 */ lwz r0, 0(r4)
/* 800D13C0 000CE300 3D 00 01 00 */ lis r8, 0x100
/* 800D13C4 000CE304 7C 00 40 40 */ cmplw r0, r8
/* 800D13C8 000CE308 40 80 00 30 */ bge .L_800D13F8
/* 800D13CC 000CE30C 80 05 00 00 */ lwz r0, 0(r5)
/* 800D13D0 000CE310 7C 00 40 40 */ cmplw r0, r8
/* 800D13D4 000CE314 40 80 00 24 */ bge .L_800D13F8
/* 800D13D8 000CE318 80 06 00 00 */ lwz r0, 0(r6)
/* 800D13DC 000CE31C 7C 00 40 40 */ cmplw r0, r8
/* 800D13E0 000CE320 40 80 00 18 */ bge .L_800D13F8
/* 800D13E4 000CE324 80 07 00 00 */ lwz r0, 0(r7)
/* 800D13E8 000CE328 7C 00 40 40 */ cmplw r0, r8
/* 800D13EC 000CE32C 40 80 00 0C */ bge .L_800D13F8
/* 800D13F0 000CE330 39 40 00 00 */ li r10, 0
/* 800D13F4 000CE334 48 00 00 08 */ b .L_800D13FC
.L_800D13F8:
/* 800D13F8 000CE338 39 40 00 01 */ li r10, 1
.L_800D13FC:
/* 800D13FC 000CE33C 28 0A 00 00 */ cmplwi r10, 0
/* 800D1400 000CE340 41 82 00 34 */ beq .L_800D1434
/* 800D1404 000CE344 80 04 00 00 */ lwz r0, 0(r4)
/* 800D1408 000CE348 54 00 D9 7E */ srwi r0, r0, 5
/* 800D140C 000CE34C 90 04 00 00 */ stw r0, 0(r4)
/* 800D1410 000CE350 80 05 00 00 */ lwz r0, 0(r5)
/* 800D1414 000CE354 54 00 D9 7E */ srwi r0, r0, 5
/* 800D1418 000CE358 90 05 00 00 */ stw r0, 0(r5)
/* 800D141C 000CE35C 80 06 00 00 */ lwz r0, 0(r6)
/* 800D1420 000CE360 54 00 D9 7E */ srwi r0, r0, 5
/* 800D1424 000CE364 90 06 00 00 */ stw r0, 0(r6)
/* 800D1428 000CE368 80 07 00 00 */ lwz r0, 0(r7)
/* 800D142C 000CE36C 54 00 D9 7E */ srwi r0, r0, 5
/* 800D1430 000CE370 90 07 00 00 */ stw r0, 0(r7)
.L_800D1434:
/* 800D1434 000CE374 80 04 00 00 */ lwz r0, 0(r4)
/* 800D1438 000CE378 55 4B 60 26 */ slwi r11, r10, 0xc
/* 800D143C 000CE37C 3D 00 00 01 */ lis r8, 1
/* 800D1440 000CE380 B0 09 00 1E */ sth r0, 0x1e(r9)
/* 800D1444 000CE384 3C 00 00 02 */ lis r0, 2
/* 800D1448 000CE388 81 4D 8D 28 */ lwz r10, changed@sda21(r13)
/* 800D144C 000CE38C 81 8D 8D 2C */ lwz r12, lbl_805153AC@sda21(r13)
/* 800D1450 000CE390 7D 4A 43 78 */ or r10, r10, r8
/* 800D1454 000CE394 91 8D 8D 2C */ stw r12, lbl_805153AC@sda21(r13)
/* 800D1458 000CE398 91 4D 8D 28 */ stw r10, changed@sda21(r13)
/* 800D145C 000CE39C 81 44 00 00 */ lwz r10, 0(r4)
/* 800D1460 000CE3A0 88 83 00 3C */ lbz r4, 0x3c(r3)
/* 800D1464 000CE3A4 55 4A 84 3E */ srwi r10, r10, 0x10
/* 800D1468 000CE3A8 54 84 40 2E */ slwi r4, r4, 8
/* 800D146C 000CE3AC 7D 44 23 78 */ or r4, r10, r4
/* 800D1470 000CE3B0 7D 64 23 78 */ or r4, r11, r4
/* 800D1474 000CE3B4 B0 89 00 1C */ sth r4, 0x1c(r9)
/* 800D1478 000CE3B8 80 8D 8D 28 */ lwz r4, changed@sda21(r13)
/* 800D147C 000CE3BC 81 4D 8D 2C */ lwz r10, lbl_805153AC@sda21(r13)
/* 800D1480 000CE3C0 7C 80 03 78 */ or r0, r4, r0
/* 800D1484 000CE3C4 91 4D 8D 2C */ stw r10, lbl_805153AC@sda21(r13)
/* 800D1488 000CE3C8 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D148C 000CE3CC 80 05 00 00 */ lwz r0, 0(r5)
/* 800D1490 000CE3D0 B0 09 00 26 */ sth r0, 0x26(r9)
/* 800D1494 000CE3D4 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D1498 000CE3D8 80 8D 8D 2C */ lwz r4, lbl_805153AC@sda21(r13)
/* 800D149C 000CE3DC 60 00 10 00 */ ori r0, r0, 0x1000
/* 800D14A0 000CE3E0 90 8D 8D 2C */ stw r4, lbl_805153AC@sda21(r13)
/* 800D14A4 000CE3E4 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D14A8 000CE3E8 80 05 00 00 */ lwz r0, 0(r5)
/* 800D14AC 000CE3EC 54 00 84 3E */ srwi r0, r0, 0x10
/* 800D14B0 000CE3F0 B0 09 00 24 */ sth r0, 0x24(r9)
/* 800D14B4 000CE3F4 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D14B8 000CE3F8 80 8D 8D 2C */ lwz r4, lbl_805153AC@sda21(r13)
/* 800D14BC 000CE3FC 60 00 20 00 */ ori r0, r0, 0x2000
/* 800D14C0 000CE400 90 8D 8D 2C */ stw r4, lbl_805153AC@sda21(r13)
/* 800D14C4 000CE404 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D14C8 000CE408 80 03 00 44 */ lwz r0, 0x44(r3)
/* 800D14CC 000CE40C 2C 00 00 00 */ cmpwi r0, 0
/* 800D14D0 000CE410 41 82 00 80 */ beq .L_800D1550
/* 800D14D4 000CE414 80 66 00 00 */ lwz r3, 0(r6)
/* 800D14D8 000CE418 38 08 80 00 */ addi r0, r8, -32768
/* 800D14DC 000CE41C B0 69 00 22 */ sth r3, 0x22(r9)
/* 800D14E0 000CE420 80 6D 8D 28 */ lwz r3, changed@sda21(r13)
/* 800D14E4 000CE424 80 8D 8D 2C */ lwz r4, lbl_805153AC@sda21(r13)
/* 800D14E8 000CE428 60 63 40 00 */ ori r3, r3, 0x4000
/* 800D14EC 000CE42C 90 8D 8D 2C */ stw r4, lbl_805153AC@sda21(r13)
/* 800D14F0 000CE430 90 6D 8D 28 */ stw r3, changed@sda21(r13)
/* 800D14F4 000CE434 80 66 00 00 */ lwz r3, 0(r6)
/* 800D14F8 000CE438 54 63 84 3E */ srwi r3, r3, 0x10
/* 800D14FC 000CE43C B0 69 00 20 */ sth r3, 0x20(r9)
/* 800D1500 000CE440 80 6D 8D 28 */ lwz r3, changed@sda21(r13)
/* 800D1504 000CE444 80 8D 8D 2C */ lwz r4, lbl_805153AC@sda21(r13)
/* 800D1508 000CE448 7C 60 03 78 */ or r0, r3, r0
/* 800D150C 000CE44C 90 8D 8D 2C */ stw r4, lbl_805153AC@sda21(r13)
/* 800D1510 000CE450 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D1514 000CE454 80 07 00 00 */ lwz r0, 0(r7)
/* 800D1518 000CE458 B0 09 00 2A */ sth r0, 0x2a(r9)
/* 800D151C 000CE45C 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D1520 000CE460 80 6D 8D 2C */ lwz r3, lbl_805153AC@sda21(r13)
/* 800D1524 000CE464 60 00 04 00 */ ori r0, r0, 0x400
/* 800D1528 000CE468 90 6D 8D 2C */ stw r3, lbl_805153AC@sda21(r13)
/* 800D152C 000CE46C 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D1530 000CE470 80 07 00 00 */ lwz r0, 0(r7)
/* 800D1534 000CE474 54 00 84 3E */ srwi r0, r0, 0x10
/* 800D1538 000CE478 B0 09 00 28 */ sth r0, 0x28(r9)
/* 800D153C 000CE47C 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D1540 000CE480 80 6D 8D 2C */ lwz r3, lbl_805153AC@sda21(r13)
/* 800D1544 000CE484 60 00 08 00 */ ori r0, r0, 0x800
/* 800D1548 000CE488 90 6D 8D 2C */ stw r3, lbl_805153AC@sda21(r13)
/* 800D154C 000CE48C 90 0D 8D 28 */ stw r0, changed@sda21(r13)
.L_800D1550:
/* 800D1550 000CE490 83 E1 00 44 */ lwz r31, 0x44(r1)
/* 800D1554 000CE494 38 21 00 48 */ addi r1, r1, 0x48
/* 800D1558 000CE498 4E 80 00 20 */ blr
.global setVerticalRegs
setVerticalRegs:
/* 800D155C 000CE49C 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 800D1560 000CE4A0 3D 60 80 4F */ lis r11, regs@ha
/* 800D1564 000CE4A4 39 6B 59 A8 */ addi r11, r11, regs@l
/* 800D1568 000CE4A8 93 E1 00 24 */ stw r31, 0x24(r1)
/* 800D156C 000CE4AC 83 E1 00 30 */ lwz r31, 0x30(r1)
/* 800D1570 000CE4B0 93 C1 00 20 */ stw r30, 0x20(r1)
/* 800D1574 000CE4B4 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 800D1578 000CE4B8 A0 0B 00 6C */ lhz r0, 0x6c(r11)
/* 800D157C 000CE4BC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 800D1580 000CE4C0 41 82 00 10 */ beq .L_800D1590
/* 800D1584 000CE4C4 39 80 00 01 */ li r12, 1
/* 800D1588 000CE4C8 3B A0 00 02 */ li r29, 2
/* 800D158C 000CE4CC 48 00 00 0C */ b .L_800D1598
.L_800D1590:
/* 800D1590 000CE4D0 39 80 00 02 */ li r12, 2
/* 800D1594 000CE4D4 3B A0 00 01 */ li r29, 1
.L_800D1598:
/* 800D1598 000CE4D8 54 7E 04 3E */ clrlwi r30, r3, 0x10
/* 800D159C 000CE4DC 7F C0 0E 70 */ srawi r0, r30, 1
/* 800D15A0 000CE4E0 7C 00 01 94 */ addze r0, r0
/* 800D15A4 000CE4E4 54 00 08 3C */ slwi r0, r0, 1
/* 800D15A8 000CE4E8 7C 00 F0 11 */ subfc. r0, r0, r30
/* 800D15AC 000CE4EC 40 82 00 3C */ bne .L_800D15E8
/* 800D15B0 000CE4F0 55 83 04 3E */ clrlwi r3, r12, 0x10
/* 800D15B4 000CE4F4 54 C0 04 3E */ clrlwi r0, r6, 0x10
/* 800D15B8 000CE4F8 7C 03 01 D6 */ mullw r0, r3, r0
/* 800D15BC 000CE4FC 54 83 04 3E */ clrlwi r3, r4, 0x10
/* 800D15C0 000CE500 7C 03 00 50 */ subf r0, r3, r0
/* 800D15C4 000CE504 57 A3 04 3E */ clrlwi r3, r29, 0x10
/* 800D15C8 000CE508 7F A3 F1 D6 */ mullw r29, r3, r30
/* 800D15CC 000CE50C 7C 1E 00 50 */ subf r0, r30, r0
/* 800D15D0 000CE510 7F C3 01 D6 */ mullw r30, r3, r0
/* 800D15D4 000CE514 7C 07 EA 14 */ add r0, r7, r29
/* 800D15D8 000CE518 7C C9 F2 14 */ add r6, r9, r30
/* 800D15DC 000CE51C 7C 68 EA 14 */ add r3, r8, r29
/* 800D15E0 000CE520 7C EA F2 14 */ add r7, r10, r30
/* 800D15E4 000CE524 48 00 00 38 */ b .L_800D161C
.L_800D15E8:
/* 800D15E8 000CE528 55 83 04 3E */ clrlwi r3, r12, 0x10
/* 800D15EC 000CE52C 54 C0 04 3E */ clrlwi r0, r6, 0x10
/* 800D15F0 000CE530 7C 03 01 D6 */ mullw r0, r3, r0
/* 800D15F4 000CE534 54 83 04 3E */ clrlwi r3, r4, 0x10
/* 800D15F8 000CE538 7C 03 00 50 */ subf r0, r3, r0
/* 800D15FC 000CE53C 57 A3 04 3E */ clrlwi r3, r29, 0x10
/* 800D1600 000CE540 7F A3 F1 D6 */ mullw r29, r3, r30
/* 800D1604 000CE544 7C 1E 00 50 */ subf r0, r30, r0
/* 800D1608 000CE548 7F C3 01 D6 */ mullw r30, r3, r0
/* 800D160C 000CE54C 7C 08 EA 14 */ add r0, r8, r29
/* 800D1610 000CE550 7C CA F2 14 */ add r6, r10, r30
/* 800D1614 000CE554 7C 67 EA 14 */ add r3, r7, r29
/* 800D1618 000CE558 7C E9 F2 14 */ add r7, r9, r30
.L_800D161C:
/* 800D161C 000CE55C 54 88 04 3E */ clrlwi r8, r4, 0x10
/* 800D1620 000CE560 55 84 04 3E */ clrlwi r4, r12, 0x10
/* 800D1624 000CE564 7C 88 23 D6 */ divw r4, r8, r4
/* 800D1628 000CE568 2C 1F 00 00 */ cmpwi r31, 0
/* 800D162C 000CE56C 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 800D1630 000CE570 41 82 00 20 */ beq .L_800D1650
/* 800D1634 000CE574 54 84 08 3C */ slwi r4, r4, 1
/* 800D1638 000CE578 38 84 FF FE */ addi r4, r4, -2
/* 800D163C 000CE57C 7C 00 22 14 */ add r0, r0, r4
/* 800D1640 000CE580 7C 63 22 14 */ add r3, r3, r4
/* 800D1644 000CE584 38 80 00 00 */ li r4, 0
/* 800D1648 000CE588 38 C6 00 02 */ addi r6, r6, 2
/* 800D164C 000CE58C 38 E7 00 02 */ addi r7, r7, 2
.L_800D1650:
/* 800D1650 000CE590 54 A5 06 3E */ clrlwi r5, r5, 0x18
/* 800D1654 000CE594 54 84 23 36 */ rlwinm r4, r4, 4, 0xc, 0x1b
/* 800D1658 000CE598 7C A4 23 78 */ or r4, r5, r4
/* 800D165C 000CE59C B0 8B 00 00 */ sth r4, 0(r11)
/* 800D1660 000CE5A0 3C 80 80 00 */ lis r4, 0x8000
/* 800D1664 000CE5A4 3D 20 01 00 */ lis r9, 0x100
/* 800D1668 000CE5A8 80 AD 8D 28 */ lwz r5, changed@sda21(r13)
/* 800D166C 000CE5AC 3D 00 02 00 */ lis r8, 0x200
/* 800D1670 000CE5B0 81 4D 8D 2C */ lwz r10, lbl_805153AC@sda21(r13)
/* 800D1674 000CE5B4 7C A4 23 78 */ or r4, r5, r4
/* 800D1678 000CE5B8 3C A0 00 40 */ lis r5, 0x40
/* 800D167C 000CE5BC 91 4D 8D 2C */ stw r10, lbl_805153AC@sda21(r13)
/* 800D1680 000CE5C0 90 8D 8D 28 */ stw r4, changed@sda21(r13)
/* 800D1684 000CE5C4 3C 80 00 80 */ lis r4, 0x80
/* 800D1688 000CE5C8 B0 0B 00 0E */ sth r0, 0xe(r11)
/* 800D168C 000CE5CC 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D1690 000CE5D0 81 4D 8D 2C */ lwz r10, lbl_805153AC@sda21(r13)
/* 800D1694 000CE5D4 7C 00 4B 78 */ or r0, r0, r9
/* 800D1698 000CE5D8 91 4D 8D 2C */ stw r10, lbl_805153AC@sda21(r13)
/* 800D169C 000CE5DC 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D16A0 000CE5E0 B0 CB 00 0C */ sth r6, 0xc(r11)
/* 800D16A4 000CE5E4 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D16A8 000CE5E8 80 CD 8D 2C */ lwz r6, lbl_805153AC@sda21(r13)
/* 800D16AC 000CE5EC 7C 00 43 78 */ or r0, r0, r8
/* 800D16B0 000CE5F0 90 CD 8D 2C */ stw r6, lbl_805153AC@sda21(r13)
/* 800D16B4 000CE5F4 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D16B8 000CE5F8 B0 6B 00 12 */ sth r3, 0x12(r11)
/* 800D16BC 000CE5FC 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D16C0 000CE600 80 6D 8D 2C */ lwz r3, lbl_805153AC@sda21(r13)
/* 800D16C4 000CE604 7C 00 2B 78 */ or r0, r0, r5
/* 800D16C8 000CE608 90 6D 8D 2C */ stw r3, lbl_805153AC@sda21(r13)
/* 800D16CC 000CE60C 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D16D0 000CE610 B0 EB 00 10 */ sth r7, 0x10(r11)
/* 800D16D4 000CE614 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D16D8 000CE618 80 6D 8D 2C */ lwz r3, lbl_805153AC@sda21(r13)
/* 800D16DC 000CE61C 7C 00 23 78 */ or r0, r0, r4
/* 800D16E0 000CE620 90 6D 8D 2C */ stw r3, lbl_805153AC@sda21(r13)
/* 800D16E4 000CE624 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D16E8 000CE628 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 800D16EC 000CE62C 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 800D16F0 000CE630 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 800D16F4 000CE634 38 21 00 28 */ addi r1, r1, 0x28
/* 800D16F8 000CE638 4E 80 00 20 */ blr
.global VIConfigure
VIConfigure:
/* 800D16FC 000CE63C 7C 08 02 A6 */ mflr r0
/* 800D1700 000CE640 3C A0 80 4A */ lis r5, lbl_804A72B0@ha
/* 800D1704 000CE644 90 01 00 04 */ stw r0, 4(r1)
/* 800D1708 000CE648 3C 80 80 4F */ lis r4, regs@ha
/* 800D170C 000CE64C 94 21 FF 88 */ stwu r1, -0x78(r1)
/* 800D1710 000CE650 BD C1 00 30 */ stmw r14, 0x30(r1)
/* 800D1714 000CE654 3B E3 00 00 */ addi r31, r3, 0
/* 800D1718 000CE658 39 E5 72 B0 */ addi r15, r5, lbl_804A72B0@l
/* 800D171C 000CE65C 3B A4 59 A8 */ addi r29, r4, regs@l
/* 800D1720 000CE660 48 01 D5 19 */ bl OSDisableInterrupts
/* 800D1724 000CE664 80 9F 00 00 */ lwz r4, 0(r31)
/* 800D1728 000CE668 3B 9D 01 14 */ addi r28, r29, 0x114
/* 800D172C 000CE66C 80 1D 01 14 */ lwz r0, 0x114(r29)
/* 800D1730 000CE670 39 C3 00 00 */ addi r14, r3, 0
/* 800D1734 000CE674 54 84 07 BE */ clrlwi r4, r4, 0x1e
/* 800D1738 000CE678 7C 00 20 40 */ cmplw r0, r4
/* 800D173C 000CE67C 41 82 00 10 */ beq .L_800D174C
/* 800D1740 000CE680 38 00 00 01 */ li r0, 1
/* 800D1744 000CE684 90 0D 8D 20 */ stw r0, changeMode@sda21(r13)
/* 800D1748 000CE688 90 9C 00 00 */ stw r4, 0(r28)
.L_800D174C:
/* 800D174C 000CE68C 80 1F 00 00 */ lwz r0, 0(r31)
/* 800D1750 000CE690 3C 60 80 00 */ lis r3, 0x800000CC@ha
/* 800D1754 000CE694 82 03 00 CC */ lwz r16, 0x800000CC@l(r3)
/* 800D1758 000CE698 54 00 F0 BE */ srwi r0, r0, 2
/* 800D175C 000CE69C 28 00 00 04 */ cmplwi r0, 4
/* 800D1760 000CE6A0 7C 11 03 78 */ mr r17, r0
/* 800D1764 000CE6A4 40 82 00 6C */ bne .L_800D17D0
/* 800D1768 000CE6A8 80 0D 8D 54 */ lwz r0, message$343@sda21(r13)
/* 800D176C 000CE6AC 28 00 00 00 */ cmplwi r0, 0
/* 800D1770 000CE6B0 40 82 00 60 */ bne .L_800D17D0
/* 800D1774 000CE6B4 38 00 00 01 */ li r0, 1
/* 800D1778 000CE6B8 4C C6 31 82 */ crclr 6
/* 800D177C 000CE6BC 90 0D 8D 54 */ stw r0, message$343@sda21(r13)
/* 800D1780 000CE6C0 38 6F 02 60 */ addi r3, r15, 0x260
/* 800D1784 000CE6C4 48 01 BF 69 */ bl OSReport
/* 800D1788 000CE6C8 38 6F 02 8C */ addi r3, r15, 0x28c
/* 800D178C 000CE6CC 4C C6 31 82 */ crclr 6
/* 800D1790 000CE6D0 48 01 BF 5D */ bl OSReport
/* 800D1794 000CE6D4 38 6F 02 B8 */ addi r3, r15, 0x2b8
/* 800D1798 000CE6D8 4C C6 31 82 */ crclr 6
/* 800D179C 000CE6DC 48 01 BF 51 */ bl OSReport
/* 800D17A0 000CE6E0 38 6F 02 E4 */ addi r3, r15, 0x2e4
/* 800D17A4 000CE6E4 4C C6 31 82 */ crclr 6
/* 800D17A8 000CE6E8 48 01 BF 45 */ bl OSReport
/* 800D17AC 000CE6EC 38 6F 03 10 */ addi r3, r15, 0x310
/* 800D17B0 000CE6F0 4C C6 31 82 */ crclr 6
/* 800D17B4 000CE6F4 48 01 BF 39 */ bl OSReport
/* 800D17B8 000CE6F8 38 6F 03 3C */ addi r3, r15, 0x33c
/* 800D17BC 000CE6FC 4C C6 31 82 */ crclr 6
/* 800D17C0 000CE700 48 01 BF 2D */ bl OSReport
/* 800D17C4 000CE704 38 6F 02 60 */ addi r3, r15, 0x260
/* 800D17C8 000CE708 4C C6 31 82 */ crclr 6
/* 800D17CC 000CE70C 48 01 BF 21 */ bl OSReport
.L_800D17D0:
/* 800D17D0 000CE710 2C 10 00 02 */ cmpwi r16, 2
/* 800D17D4 000CE714 41 82 00 30 */ beq .L_800D1804
/* 800D17D8 000CE718 40 80 00 14 */ bge .L_800D17EC
/* 800D17DC 000CE71C 2C 10 00 00 */ cmpwi r16, 0
/* 800D17E0 000CE720 41 82 00 24 */ beq .L_800D1804
/* 800D17E4 000CE724 40 80 00 3C */ bge .L_800D1820
/* 800D17E8 000CE728 48 00 00 48 */ b .L_800D1830
.L_800D17EC:
/* 800D17EC 000CE72C 2C 10 00 06 */ cmpwi r16, 6
/* 800D17F0 000CE730 41 82 00 14 */ beq .L_800D1804
/* 800D17F4 000CE734 40 80 00 3C */ bge .L_800D1830
/* 800D17F8 000CE738 2C 10 00 05 */ cmpwi r16, 5
/* 800D17FC 000CE73C 40 80 00 24 */ bge .L_800D1820
/* 800D1800 000CE740 48 00 00 30 */ b .L_800D1830
.L_800D1804:
/* 800D1804 000CE744 28 11 00 00 */ cmplwi r17, 0
/* 800D1808 000CE748 41 82 00 44 */ beq .L_800D184C
/* 800D180C 000CE74C 28 11 00 02 */ cmplwi r17, 2
/* 800D1810 000CE750 41 82 00 3C */ beq .L_800D184C
/* 800D1814 000CE754 28 11 00 06 */ cmplwi r17, 6
/* 800D1818 000CE758 40 82 00 18 */ bne .L_800D1830
/* 800D181C 000CE75C 48 00 00 30 */ b .L_800D184C
.L_800D1820:
/* 800D1820 000CE760 28 11 00 01 */ cmplwi r17, 1
/* 800D1824 000CE764 41 82 00 28 */ beq .L_800D184C
/* 800D1828 000CE768 28 11 00 05 */ cmplwi r17, 5
/* 800D182C 000CE76C 41 82 00 20 */ beq .L_800D184C
.L_800D1830:
/* 800D1830 000CE770 38 D0 00 00 */ addi r6, r16, 0
/* 800D1834 000CE774 4C C6 31 82 */ crclr 6
/* 800D1838 000CE778 38 F1 00 00 */ addi r7, r17, 0
/* 800D183C 000CE77C 38 AF 03 68 */ addi r5, r15, 0x368
/* 800D1840 000CE780 38 6D 82 6C */ addi r3, r13, lbl_805148EC@sda21
/* 800D1844 000CE784 38 80 07 74 */ li r4, 0x774
/* 800D1848 000CE788 48 01 BF 25 */ bl OSPanic
.L_800D184C:
/* 800D184C 000CE78C 28 11 00 00 */ cmplwi r17, 0
/* 800D1850 000CE790 41 82 00 0C */ beq .L_800D185C
/* 800D1854 000CE794 28 11 00 02 */ cmplwi r17, 2
/* 800D1858 000CE798 40 82 00 0C */ bne .L_800D1864
.L_800D185C:
/* 800D185C 000CE79C 92 1D 01 18 */ stw r16, 0x118(r29)
/* 800D1860 000CE7A0 48 00 00 08 */ b .L_800D1868
.L_800D1864:
/* 800D1864 000CE7A4 92 3D 01 18 */ stw r17, 0x118(r29)
.L_800D1868:
/* 800D1868 000CE7A8 A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 800D186C 000CE7AC B0 1D 00 F0 */ sth r0, 0xf0(r29)
/* 800D1870 000CE7B0 80 1C 00 00 */ lwz r0, 0(r28)
/* 800D1874 000CE7B4 28 00 00 01 */ cmplwi r0, 1
/* 800D1878 000CE7B8 40 82 00 10 */ bne .L_800D1888
/* 800D187C 000CE7BC A0 1F 00 0C */ lhz r0, 0xc(r31)
/* 800D1880 000CE7C0 54 00 0C 3C */ rlwinm r0, r0, 1, 0x10, 0x1e
/* 800D1884 000CE7C4 48 00 00 08 */ b .L_800D188C
.L_800D1888:
/* 800D1888 000CE7C8 A0 1F 00 0C */ lhz r0, 0xc(r31)
.L_800D188C:
/* 800D188C 000CE7CC B0 1D 00 F2 */ sth r0, 0xf2(r29)
/* 800D1890 000CE7D0 3A FD 00 F2 */ addi r23, r29, 0xf2
/* 800D1894 000CE7D4 3B 1D 00 F4 */ addi r24, r29, 0xf4
/* 800D1898 000CE7D8 A0 1F 00 0E */ lhz r0, 0xe(r31)
/* 800D189C 000CE7DC 3B 7D 01 02 */ addi r27, r29, 0x102
/* 800D18A0 000CE7E0 3B 3D 01 10 */ addi r25, r29, 0x110
/* 800D18A4 000CE7E4 B0 1D 00 F4 */ sth r0, 0xf4(r29)
/* 800D18A8 000CE7E8 38 00 00 00 */ li r0, 0
/* 800D18AC 000CE7EC 3A 1D 01 0A */ addi r16, r29, 0x10a
/* 800D18B0 000CE7F0 A0 7F 00 04 */ lhz r3, 4(r31)
/* 800D18B4 000CE7F4 3B 5D 01 0C */ addi r26, r29, 0x10c
/* 800D18B8 000CE7F8 39 FD 01 06 */ addi r15, r29, 0x106
/* 800D18BC 000CE7FC B0 7D 01 02 */ sth r3, 0x102(r29)
/* 800D18C0 000CE800 3A 3D 01 08 */ addi r17, r29, 0x108
/* 800D18C4 000CE804 A0 7F 00 08 */ lhz r3, 8(r31)
/* 800D18C8 000CE808 B0 7D 01 04 */ sth r3, 0x104(r29)
/* 800D18CC 000CE80C 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 800D18D0 000CE810 90 7D 01 10 */ stw r3, 0x110(r29)
/* 800D18D4 000CE814 A0 7D 01 02 */ lhz r3, 0x102(r29)
/* 800D18D8 000CE818 B0 7D 01 0A */ sth r3, 0x10a(r29)
/* 800D18DC 000CE81C A0 7D 01 04 */ lhz r3, 0x104(r29)
/* 800D18E0 000CE820 B0 7D 01 0C */ sth r3, 0x10c(r29)
/* 800D18E4 000CE824 B0 1D 01 06 */ sth r0, 0x106(r29)
/* 800D18E8 000CE828 B0 1D 01 08 */ sth r0, 0x108(r29)
/* 800D18EC 000CE82C 80 1C 00 00 */ lwz r0, 0(r28)
/* 800D18F0 000CE830 28 00 00 02 */ cmplwi r0, 2
/* 800D18F4 000CE834 40 82 00 0C */ bne .L_800D1900
/* 800D18F8 000CE838 A0 1A 00 00 */ lhz r0, 0(r26)
/* 800D18FC 000CE83C 48 00 00 30 */ b .L_800D192C
.L_800D1900:
/* 800D1900 000CE840 28 00 00 03 */ cmplwi r0, 3
/* 800D1904 000CE844 40 82 00 0C */ bne .L_800D1910
/* 800D1908 000CE848 A0 1A 00 00 */ lhz r0, 0(r26)
/* 800D190C 000CE84C 48 00 00 20 */ b .L_800D192C
.L_800D1910:
/* 800D1910 000CE850 80 19 00 00 */ lwz r0, 0(r25)
/* 800D1914 000CE854 2C 00 00 00 */ cmpwi r0, 0
/* 800D1918 000CE858 40 82 00 10 */ bne .L_800D1928
/* 800D191C 000CE85C A0 1A 00 00 */ lhz r0, 0(r26)
/* 800D1920 000CE860 54 00 0C 3C */ rlwinm r0, r0, 1, 0x10, 0x1e
/* 800D1924 000CE864 48 00 00 08 */ b .L_800D192C
.L_800D1928:
/* 800D1928 000CE868 A0 1A 00 00 */ lhz r0, 0(r26)
.L_800D192C:
/* 800D192C 000CE86C 3A DD 00 F6 */ addi r22, r29, 0xf6
/* 800D1930 000CE870 B0 1D 00 F6 */ sth r0, 0xf6(r29)
/* 800D1934 000CE874 80 1C 00 00 */ lwz r0, 0(r28)
/* 800D1938 000CE878 28 00 00 03 */ cmplwi r0, 3
/* 800D193C 000CE87C 40 82 00 0C */ bne .L_800D1948
/* 800D1940 000CE880 38 00 00 01 */ li r0, 1
/* 800D1944 000CE884 48 00 00 08 */ b .L_800D194C
.L_800D1948:
/* 800D1948 000CE888 38 00 00 00 */ li r0, 0
.L_800D194C:
/* 800D194C 000CE88C 3A 5D 01 34 */ addi r18, r29, 0x134
/* 800D1950 000CE890 90 1D 01 34 */ stw r0, 0x134(r29)
/* 800D1954 000CE894 3A BD 01 18 */ addi r21, r29, 0x118
/* 800D1958 000CE898 80 7D 01 18 */ lwz r3, 0x118(r29)
/* 800D195C 000CE89C 80 1C 00 00 */ lwz r0, 0(r28)
/* 800D1960 000CE8A0 54 63 10 3A */ slwi r3, r3, 2
/* 800D1964 000CE8A4 7C 63 02 14 */ add r3, r3, r0
/* 800D1968 000CE8A8 4B FF F1 7D */ bl getTiming
/* 800D196C 000CE8AC 7C 7E 1B 78 */ mr r30, r3
/* 800D1970 000CE8B0 93 DD 01 44 */ stw r30, 0x144(r29)
/* 800D1974 000CE8B4 A0 18 00 00 */ lhz r0, 0(r24)
/* 800D1978 000CE8B8 A8 9D 00 F0 */ lha r4, 0xf0(r29)
/* 800D197C 000CE8BC A8 6D 8D 1C */ lha r3, displayOffsetH@sda21(r13)
/* 800D1980 000CE8C0 20 A0 02 D0 */ subfic r5, r0, 0x2d0
/* 800D1984 000CE8C4 A0 1E 00 02 */ lhz r0, 2(r30)
/* 800D1988 000CE8C8 7C 64 1A 14 */ add r3, r4, r3
/* 800D198C 000CE8CC 7C 03 28 00 */ cmpw r3, r5
/* 800D1990 000CE8D0 40 81 00 08 */ ble .L_800D1998
/* 800D1994 000CE8D4 48 00 00 14 */ b .L_800D19A8
.L_800D1998:
/* 800D1998 000CE8D8 2C 03 00 00 */ cmpwi r3, 0
/* 800D199C 000CE8DC 40 80 00 08 */ bge .L_800D19A4
/* 800D19A0 000CE8E0 38 60 00 00 */ li r3, 0
.L_800D19A4:
/* 800D19A4 000CE8E4 7C 65 1B 78 */ mr r5, r3
.L_800D19A8:
/* 800D19A8 000CE8E8 B0 BD 00 F8 */ sth r5, 0xf8(r29)
/* 800D19AC 000CE8EC 38 7D 00 F8 */ addi r3, r29, 0xf8
/* 800D19B0 000CE8F0 80 99 00 00 */ lwz r4, 0(r25)
/* 800D19B4 000CE8F4 2C 04 00 00 */ cmpwi r4, 0
/* 800D19B8 000CE8F8 40 82 00 0C */ bne .L_800D19C4
/* 800D19BC 000CE8FC 38 80 00 02 */ li r4, 2
/* 800D19C0 000CE900 48 00 00 08 */ b .L_800D19C8
.L_800D19C4:
/* 800D19C4 000CE904 38 80 00 01 */ li r4, 1
.L_800D19C8:
/* 800D19C8 000CE908 A0 B7 00 00 */ lhz r5, 0(r23)
/* 800D19CC 000CE90C A8 CD 8D 1E */ lha r6, displayOffsetV@sda21(r13)
/* 800D19D0 000CE910 7C A7 07 34 */ extsh r7, r5
/* 800D19D4 000CE914 54 A5 07 FE */ clrlwi r5, r5, 0x1f
/* 800D19D8 000CE918 7C E7 32 14 */ add r7, r7, r6
/* 800D19DC 000CE91C 7C 07 28 00 */ cmpw r7, r5
/* 800D19E0 000CE920 40 81 00 08 */ ble .L_800D19E8
/* 800D19E4 000CE924 48 00 00 08 */ b .L_800D19EC
.L_800D19E8:
/* 800D19E8 000CE928 7C A7 2B 78 */ mr r7, r5
.L_800D19EC:
/* 800D19EC 000CE92C B0 FD 00 FA */ sth r7, 0xfa(r29)
/* 800D19F0 000CE930 7C 00 07 34 */ extsh r0, r0
/* 800D19F4 000CE934 54 00 08 3C */ slwi r0, r0, 1
/* 800D19F8 000CE938 A1 16 00 00 */ lhz r8, 0(r22)
/* 800D19FC 000CE93C 7C 05 00 50 */ subf r0, r5, r0
/* 800D1A00 000CE940 A8 F7 00 00 */ lha r7, 0(r23)
/* 800D1A04 000CE944 3A 7D 00 FA */ addi r19, r29, 0xfa
/* 800D1A08 000CE948 7D 09 07 34 */ extsh r9, r8
/* 800D1A0C 000CE94C 7D 49 32 14 */ add r10, r9, r6
/* 800D1A10 000CE950 7D 47 52 14 */ add r10, r7, r10
/* 800D1A14 000CE954 7D 20 50 51 */ subf. r9, r0, r10
/* 800D1A18 000CE958 40 81 00 0C */ ble .L_800D1A24
/* 800D1A1C 000CE95C 7D 20 50 50 */ subf r9, r0, r10
/* 800D1A20 000CE960 48 00 00 08 */ b .L_800D1A28
.L_800D1A24:
/* 800D1A24 000CE964 39 20 00 00 */ li r9, 0
.L_800D1A28:
/* 800D1A28 000CE968 7D 47 32 14 */ add r10, r7, r6
/* 800D1A2C 000CE96C 7C E5 50 51 */ subf. r7, r5, r10
/* 800D1A30 000CE970 40 80 00 0C */ bge .L_800D1A3C
/* 800D1A34 000CE974 7C E5 50 50 */ subf r7, r5, r10
/* 800D1A38 000CE978 48 00 00 08 */ b .L_800D1A40
.L_800D1A3C:
/* 800D1A3C 000CE97C 38 E0 00 00 */ li r7, 0
.L_800D1A40:
/* 800D1A40 000CE980 7C E8 3A 14 */ add r7, r8, r7
/* 800D1A44 000CE984 7C E9 38 50 */ subf r7, r9, r7
/* 800D1A48 000CE988 3A 9D 00 FC */ addi r20, r29, 0xfc
/* 800D1A4C 000CE98C B0 FD 00 FC */ sth r7, 0xfc(r29)
/* 800D1A50 000CE990 A8 F7 00 00 */ lha r7, 0(r23)
/* 800D1A54 000CE994 7D 07 32 14 */ add r8, r7, r6
/* 800D1A58 000CE998 7C E5 40 51 */ subf. r7, r5, r8
/* 800D1A5C 000CE99C 40 80 00 0C */ bge .L_800D1A68
/* 800D1A60 000CE9A0 7C E5 40 50 */ subf r7, r5, r8
/* 800D1A64 000CE9A4 48 00 00 08 */ b .L_800D1A6C
.L_800D1A68:
/* 800D1A68 000CE9A8 38 E0 00 00 */ li r7, 0
.L_800D1A6C:
/* 800D1A6C 000CE9AC 7D 07 23 D6 */ divw r8, r7, r4
/* 800D1A70 000CE9B0 A0 F1 00 00 */ lhz r7, 0(r17)
/* 800D1A74 000CE9B4 7C E8 38 50 */ subf r7, r8, r7
/* 800D1A78 000CE9B8 B0 FD 00 FE */ sth r7, 0xfe(r29)
/* 800D1A7C 000CE9BC A8 F6 00 00 */ lha r7, 0(r22)
/* 800D1A80 000CE9C0 A9 37 00 00 */ lha r9, 0(r23)
/* 800D1A84 000CE9C4 7D 07 32 14 */ add r8, r7, r6
/* 800D1A88 000CE9C8 7D 09 42 14 */ add r8, r9, r8
/* 800D1A8C 000CE9CC 7C E0 40 51 */ subf. r7, r0, r8
/* 800D1A90 000CE9D0 40 81 00 0C */ ble .L_800D1A9C
/* 800D1A94 000CE9D4 7C E0 40 50 */ subf r7, r0, r8
/* 800D1A98 000CE9D8 48 00 00 08 */ b .L_800D1AA0
.L_800D1A9C:
/* 800D1A9C 000CE9DC 38 E0 00 00 */ li r7, 0
.L_800D1AA0:
/* 800D1AA0 000CE9E0 7C C9 32 14 */ add r6, r9, r6
/* 800D1AA4 000CE9E4 7C 05 30 51 */ subf. r0, r5, r6
/* 800D1AA8 000CE9E8 40 80 00 0C */ bge .L_800D1AB4
/* 800D1AAC 000CE9EC 7C 05 30 50 */ subf r0, r5, r6
/* 800D1AB0 000CE9F0 48 00 00 08 */ b .L_800D1AB8
.L_800D1AB4:
/* 800D1AB4 000CE9F4 38 00 00 00 */ li r0, 0
.L_800D1AB8:
/* 800D1AB8 000CE9F8 7C 00 23 D6 */ divw r0, r0, r4
/* 800D1ABC 000CE9FC A0 BA 00 00 */ lhz r5, 0(r26)
/* 800D1AC0 000CEA00 7C 87 23 D6 */ divw r4, r7, r4
/* 800D1AC4 000CEA04 7C 05 02 14 */ add r0, r5, r0
/* 800D1AC8 000CEA08 7C 04 00 50 */ subf r0, r4, r0
/* 800D1ACC 000CEA0C B0 1D 01 00 */ sth r0, 0x100(r29)
/* 800D1AD0 000CEA10 80 0D 8D 18 */ lwz r0, encoderType@sda21(r13)
/* 800D1AD4 000CEA14 28 00 00 00 */ cmplwi r0, 0
/* 800D1AD8 000CEA18 40 82 00 0C */ bne .L_800D1AE4
/* 800D1ADC 000CEA1C 38 00 00 03 */ li r0, 3
/* 800D1AE0 000CEA20 90 15 00 00 */ stw r0, 0(r21)
.L_800D1AE4:
/* 800D1AE4 000CEA24 A0 BE 00 18 */ lhz r5, 0x18(r30)
/* 800D1AE8 000CEA28 7C A4 0E 70 */ srawi r4, r5, 1
/* 800D1AEC 000CEA2C 7C 84 01 94 */ addze r4, r4
/* 800D1AF0 000CEA30 7C A0 0E 70 */ srawi r0, r5, 1
/* 800D1AF4 000CEA34 7C 00 01 94 */ addze r0, r0
/* 800D1AF8 000CEA38 54 00 08 3C */ slwi r0, r0, 1
/* 800D1AFC 000CEA3C 7C 00 28 10 */ subfc r0, r0, r5
/* 800D1B00 000CEA40 54 00 04 3F */ clrlwi. r0, r0, 0x10
/* 800D1B04 000CEA44 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 800D1B08 000CEA48 41 82 00 0C */ beq .L_800D1B14
/* 800D1B0C 000CEA4C A0 BE 00 1A */ lhz r5, 0x1a(r30)
/* 800D1B10 000CEA50 48 00 00 08 */ b .L_800D1B18
.L_800D1B14:
/* 800D1B14 000CEA54 38 A0 00 00 */ li r5, 0
.L_800D1B18:
/* 800D1B18 000CEA58 38 05 00 01 */ addi r0, r5, 1
/* 800D1B1C 000CEA5C B0 1D 00 32 */ sth r0, 0x32(r29)
/* 800D1B20 000CEA60 38 04 00 01 */ addi r0, r4, 1
/* 800D1B24 000CEA64 60 00 10 00 */ ori r0, r0, 0x1000
/* 800D1B28 000CEA68 80 AD 8D 28 */ lwz r5, changed@sda21(r13)
/* 800D1B2C 000CEA6C 38 9D 00 02 */ addi r4, r29, 2
/* 800D1B30 000CEA70 80 CD 8D 2C */ lwz r6, lbl_805153AC@sda21(r13)
/* 800D1B34 000CEA74 60 A5 00 40 */ ori r5, r5, 0x40
/* 800D1B38 000CEA78 90 CD 8D 2C */ stw r6, lbl_805153AC@sda21(r13)
/* 800D1B3C 000CEA7C 90 AD 8D 28 */ stw r5, changed@sda21(r13)
/* 800D1B40 000CEA80 B0 1D 00 30 */ sth r0, 0x30(r29)
/* 800D1B44 000CEA84 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D1B48 000CEA88 80 AD 8D 2C */ lwz r5, lbl_805153AC@sda21(r13)
/* 800D1B4C 000CEA8C 60 00 00 80 */ ori r0, r0, 0x80
/* 800D1B50 000CEA90 90 AD 8D 2C */ stw r5, lbl_805153AC@sda21(r13)
/* 800D1B54 000CEA94 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D1B58 000CEA98 80 1C 00 00 */ lwz r0, 0(r28)
/* 800D1B5C 000CEA9C A0 BD 00 02 */ lhz r5, 2(r29)
/* 800D1B60 000CEAA0 28 00 00 02 */ cmplwi r0, 2
/* 800D1B64 000CEAA4 41 82 00 0C */ beq .L_800D1B70
/* 800D1B68 000CEAA8 28 00 00 03 */ cmplwi r0, 3
/* 800D1B6C 000CEAAC 40 82 00 10 */ bne .L_800D1B7C
.L_800D1B70:
/* 800D1B70 000CEAB0 54 A0 07 B8 */ rlwinm r0, r5, 0, 0x1e, 0x1c
/* 800D1B74 000CEAB4 60 05 00 04 */ ori r5, r0, 4
/* 800D1B78 000CEAB8 48 00 00 0C */ b .L_800D1B84
.L_800D1B7C:
/* 800D1B7C 000CEABC 54 A5 07 B8 */ rlwinm r5, r5, 0, 0x1e, 0x1c
/* 800D1B80 000CEAC0 50 05 17 7A */ rlwimi r5, r0, 2, 0x1d, 0x1d
.L_800D1B84:
/* 800D1B84 000CEAC4 80 D5 00 00 */ lwz r6, 0(r21)
/* 800D1B88 000CEAC8 54 A5 07 76 */ rlwinm r5, r5, 0, 0x1d, 0x1b
/* 800D1B8C 000CEACC 80 F2 00 00 */ lwz r7, 0(r18)
/* 800D1B90 000CEAD0 28 06 00 04 */ cmplwi r6, 4
/* 800D1B94 000CEAD4 54 E0 18 38 */ slwi r0, r7, 3
/* 800D1B98 000CEAD8 7C A5 03 78 */ or r5, r5, r0
/* 800D1B9C 000CEADC 41 82 00 10 */ beq .L_800D1BAC
/* 800D1BA0 000CEAE0 38 06 FF FB */ addi r0, r6, -5
/* 800D1BA4 000CEAE4 28 00 00 01 */ cmplwi r0, 1
/* 800D1BA8 000CEAE8 41 81 00 0C */ bgt .L_800D1BB4
.L_800D1BAC:
/* 800D1BAC 000CEAEC 54 A0 06 2A */ rlwinm r0, r5, 0, 0x18, 0x15
/* 800D1BB0 000CEAF0 48 00 00 10 */ b .L_800D1BC0
.L_800D1BB4:
/* 800D1BB4 000CEAF4 54 A5 06 2A */ rlwinm r5, r5, 0, 0x18, 0x15
/* 800D1BB8 000CEAF8 54 C0 40 2E */ slwi r0, r6, 8
/* 800D1BBC 000CEAFC 7C A0 03 78 */ or r0, r5, r0
.L_800D1BC0:
/* 800D1BC0 000CEB00 B0 04 00 00 */ sth r0, 0(r4)
/* 800D1BC4 000CEB04 3C 00 40 00 */ lis r0, 0x4000
/* 800D1BC8 000CEB08 38 DD 00 6C */ addi r6, r29, 0x6c
/* 800D1BCC 000CEB0C 80 8D 8D 28 */ lwz r4, changed@sda21(r13)
/* 800D1BD0 000CEB10 80 AD 8D 2C */ lwz r5, lbl_805153AC@sda21(r13)
/* 800D1BD4 000CEB14 7C 80 03 78 */ or r0, r4, r0
/* 800D1BD8 000CEB18 90 AD 8D 2C */ stw r5, lbl_805153AC@sda21(r13)
/* 800D1BDC 000CEB1C 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D1BE0 000CEB20 80 1F 00 00 */ lwz r0, 0(r31)
/* 800D1BE4 000CEB24 A0 9D 00 6C */ lhz r4, 0x6c(r29)
/* 800D1BE8 000CEB28 2C 00 00 02 */ cmpwi r0, 2
/* 800D1BEC 000CEB2C 41 82 00 14 */ beq .L_800D1C00
/* 800D1BF0 000CEB30 2C 00 00 03 */ cmpwi r0, 3
/* 800D1BF4 000CEB34 41 82 00 0C */ beq .L_800D1C00
/* 800D1BF8 000CEB38 2C 00 00 1A */ cmpwi r0, 0x1a
/* 800D1BFC 000CEB3C 40 82 00 10 */ bne .L_800D1C0C
.L_800D1C00:
/* 800D1C00 000CEB40 54 80 00 3C */ rlwinm r0, r4, 0, 0, 0x1e
/* 800D1C04 000CEB44 60 00 00 01 */ ori r0, r0, 1
/* 800D1C08 000CEB48 48 00 00 08 */ b .L_800D1C10
.L_800D1C0C:
/* 800D1C0C 000CEB4C 54 80 00 3C */ rlwinm r0, r4, 0, 0, 0x1e
.L_800D1C10:
/* 800D1C10 000CEB50 B0 06 00 00 */ sth r0, 0(r6)
/* 800D1C14 000CEB54 2C 07 00 00 */ cmpwi r7, 0
/* 800D1C18 000CEB58 80 8D 8D 28 */ lwz r4, changed@sda21(r13)
/* 800D1C1C 000CEB5C 80 0D 8D 2C */ lwz r0, lbl_805153AC@sda21(r13)
/* 800D1C20 000CEB60 60 00 02 00 */ ori r0, r0, 0x200
/* 800D1C24 000CEB64 90 0D 8D 2C */ stw r0, lbl_805153AC@sda21(r13)
/* 800D1C28 000CEB68 90 8D 8D 28 */ stw r4, changed@sda21(r13)
/* 800D1C2C 000CEB6C A0 98 00 00 */ lhz r4, 0(r24)
/* 800D1C30 000CEB70 A0 B0 00 00 */ lhz r5, 0(r16)
/* 800D1C34 000CEB74 41 82 00 0C */ beq .L_800D1C40
/* 800D1C38 000CEB78 54 A0 08 3C */ slwi r0, r5, 1
/* 800D1C3C 000CEB7C 48 00 00 08 */ b .L_800D1C44
.L_800D1C40:
/* 800D1C40 000CEB80 7C A0 2B 78 */ mr r0, r5
.L_800D1C44:
/* 800D1C44 000CEB84 54 08 04 3E */ clrlwi r8, r0, 0x10
/* 800D1C48 000CEB88 7C 08 20 40 */ cmplw r8, r4
/* 800D1C4C 000CEB8C 40 80 00 50 */ bge .L_800D1C9C
/* 800D1C50 000CEB90 55 06 40 2E */ slwi r6, r8, 8
/* 800D1C54 000CEB94 38 06 FF FF */ addi r0, r6, -1
/* 800D1C58 000CEB98 7C 04 02 14 */ add r0, r4, r0
/* 800D1C5C 000CEB9C 7C 00 23 96 */ divwu r0, r0, r4
/* 800D1C60 000CEBA0 60 00 10 00 */ ori r0, r0, 0x1000
/* 800D1C64 000CEBA4 B0 1D 00 4A */ sth r0, 0x4a(r29)
/* 800D1C68 000CEBA8 3C 00 04 00 */ lis r0, 0x400
/* 800D1C6C 000CEBAC 80 CD 8D 28 */ lwz r6, changed@sda21(r13)
/* 800D1C70 000CEBB0 80 ED 8D 2C */ lwz r7, lbl_805153AC@sda21(r13)
/* 800D1C74 000CEBB4 7C E0 03 78 */ or r0, r7, r0
/* 800D1C78 000CEBB8 90 0D 8D 2C */ stw r0, lbl_805153AC@sda21(r13)
/* 800D1C7C 000CEBBC 90 CD 8D 28 */ stw r6, changed@sda21(r13)
/* 800D1C80 000CEBC0 B1 1D 00 70 */ sth r8, 0x70(r29)
/* 800D1C84 000CEBC4 80 CD 8D 28 */ lwz r6, changed@sda21(r13)
/* 800D1C88 000CEBC8 80 0D 8D 2C */ lwz r0, lbl_805153AC@sda21(r13)
/* 800D1C8C 000CEBCC 60 00 00 80 */ ori r0, r0, 0x80
/* 800D1C90 000CEBD0 90 0D 8D 2C */ stw r0, lbl_805153AC@sda21(r13)
/* 800D1C94 000CEBD4 90 CD 8D 28 */ stw r6, changed@sda21(r13)
/* 800D1C98 000CEBD8 48 00 00 24 */ b .L_800D1CBC
.L_800D1C9C:
/* 800D1C9C 000CEBDC 38 00 01 00 */ li r0, 0x100
/* 800D1CA0 000CEBE0 B0 1D 00 4A */ sth r0, 0x4a(r29)
/* 800D1CA4 000CEBE4 3C 00 04 00 */ lis r0, 0x400
/* 800D1CA8 000CEBE8 80 CD 8D 28 */ lwz r6, changed@sda21(r13)
/* 800D1CAC 000CEBEC 80 ED 8D 2C */ lwz r7, lbl_805153AC@sda21(r13)
/* 800D1CB0 000CEBF0 7C E0 03 78 */ or r0, r7, r0
/* 800D1CB4 000CEBF4 90 0D 8D 2C */ stw r0, lbl_805153AC@sda21(r13)
/* 800D1CB8 000CEBF8 90 CD 8D 28 */ stw r6, changed@sda21(r13)
.L_800D1CBC:
/* 800D1CBC 000CEBFC A0 03 00 00 */ lhz r0, 0(r3)
/* 800D1CC0 000CEC00 21 84 02 D0 */ subfic r12, r4, 0x2d0
/* 800D1CC4 000CEC04 A0 DE 00 1A */ lhz r6, 0x1a(r30)
/* 800D1CC8 000CEC08 3C 60 10 00 */ lis r3, 0x1000
/* 800D1CCC 000CEC0C 3D 00 20 00 */ lis r8, 0x2000
/* 800D1CD0 000CEC10 B0 DD 00 06 */ sth r6, 6(r29)
/* 800D1CD4 000CEC14 3D 20 04 00 */ lis r9, 0x400
/* 800D1CD8 000CEC18 3C E0 08 00 */ lis r7, 0x800
/* 800D1CDC 000CEC1C 81 4D 8D 28 */ lwz r10, changed@sda21(r13)
/* 800D1CE0 000CEC20 3C C0 00 10 */ lis r6, 0x10
/* 800D1CE4 000CEC24 3C 80 00 20 */ lis r4, 0x20
/* 800D1CE8 000CEC28 81 6D 8D 2C */ lwz r11, lbl_805153AC@sda21(r13)
/* 800D1CEC 000CEC2C 7D 4A 1B 78 */ or r10, r10, r3
/* 800D1CF0 000CEC30 3C 60 00 04 */ lis r3, 4
/* 800D1CF4 000CEC34 91 6D 8D 2C */ stw r11, lbl_805153AC@sda21(r13)
/* 800D1CF8 000CEC38 91 4D 8D 28 */ stw r10, changed@sda21(r13)
/* 800D1CFC 000CEC3C 89 5E 00 1D */ lbz r10, 0x1d(r30)
/* 800D1D00 000CEC40 89 7E 00 1E */ lbz r11, 0x1e(r30)
/* 800D1D04 000CEC44 51 4B 44 2E */ rlwimi r11, r10, 8, 0x10, 0x17
/* 800D1D08 000CEC48 B1 7D 00 04 */ sth r11, 4(r29)
/* 800D1D0C 000CEC4C 81 4D 8D 28 */ lwz r10, changed@sda21(r13)
/* 800D1D10 000CEC50 81 6D 8D 2C */ lwz r11, lbl_805153AC@sda21(r13)
/* 800D1D14 000CEC54 7D 48 43 78 */ or r8, r10, r8
/* 800D1D18 000CEC58 91 6D 8D 2C */ stw r11, lbl_805153AC@sda21(r13)
/* 800D1D1C 000CEC5C 91 0D 8D 28 */ stw r8, changed@sda21(r13)
/* 800D1D20 000CEC60 89 1E 00 1F */ lbz r8, 0x1f(r30)
/* 800D1D24 000CEC64 89 5E 00 1C */ lbz r10, 0x1c(r30)
/* 800D1D28 000CEC68 7E 08 02 14 */ add r16, r8, r0
/* 800D1D2C 000CEC6C A1 7E 00 20 */ lhz r11, 0x20(r30)
/* 800D1D30 000CEC70 3A 10 FF D8 */ addi r16, r16, -40
/* 800D1D34 000CEC74 56 08 3C 30 */ rlwinm r8, r16, 7, 0x10, 0x18
/* 800D1D38 000CEC78 7D 48 43 78 */ or r8, r10, r8
/* 800D1D3C 000CEC7C B1 1D 00 0A */ sth r8, 0xa(r29)
/* 800D1D40 000CEC80 7D 0B 02 14 */ add r8, r11, r0
/* 800D1D44 000CEC84 38 08 00 28 */ addi r0, r8, 0x28
/* 800D1D48 000CEC88 81 4D 8D 28 */ lwz r10, changed@sda21(r13)
/* 800D1D4C 000CEC8C 7C 0C 00 50 */ subf r0, r12, r0
/* 800D1D50 000CEC90 56 08 BA 7E */ srwi r8, r16, 9
/* 800D1D54 000CEC94 81 6D 8D 2C */ lwz r11, lbl_805153AC@sda21(r13)
/* 800D1D58 000CEC98 54 00 08 3C */ slwi r0, r0, 1
/* 800D1D5C 000CEC9C 7D 49 4B 78 */ or r9, r10, r9
/* 800D1D60 000CECA0 91 6D 8D 2C */ stw r11, lbl_805153AC@sda21(r13)
/* 800D1D64 000CECA4 7D 00 03 78 */ or r0, r8, r0
/* 800D1D68 000CECA8 91 2D 8D 28 */ stw r9, changed@sda21(r13)
/* 800D1D6C 000CECAC B0 1D 00 08 */ sth r0, 8(r29)
/* 800D1D70 000CECB0 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D1D74 000CECB4 81 0D 8D 2C */ lwz r8, lbl_805153AC@sda21(r13)
/* 800D1D78 000CECB8 7C 00 3B 78 */ or r0, r0, r7
/* 800D1D7C 000CECBC 91 0D 8D 2C */ stw r8, lbl_805153AC@sda21(r13)
/* 800D1D80 000CECC0 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D1D84 000CECC4 A0 1E 00 10 */ lhz r0, 0x10(r30)
/* 800D1D88 000CECC8 88 FE 00 0C */ lbz r7, 0xc(r30)
/* 800D1D8C 000CECCC 54 00 28 34 */ slwi r0, r0, 5
/* 800D1D90 000CECD0 7C E0 03 78 */ or r0, r7, r0
/* 800D1D94 000CECD4 B0 1D 00 16 */ sth r0, 0x16(r29)
/* 800D1D98 000CECD8 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D1D9C 000CECDC 80 ED 8D 2C */ lwz r7, lbl_805153AC@sda21(r13)
/* 800D1DA0 000CECE0 7C 00 33 78 */ or r0, r0, r6
/* 800D1DA4 000CECE4 90 ED 8D 2C */ stw r7, lbl_805153AC@sda21(r13)
/* 800D1DA8 000CECE8 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D1DAC 000CECEC A0 1E 00 14 */ lhz r0, 0x14(r30)
/* 800D1DB0 000CECF0 88 DE 00 0E */ lbz r6, 0xe(r30)
/* 800D1DB4 000CECF4 54 00 28 34 */ slwi r0, r0, 5
/* 800D1DB8 000CECF8 7C C0 03 78 */ or r0, r6, r0
/* 800D1DBC 000CECFC B0 1D 00 14 */ sth r0, 0x14(r29)
/* 800D1DC0 000CED00 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D1DC4 000CED04 80 CD 8D 2C */ lwz r6, lbl_805153AC@sda21(r13)
/* 800D1DC8 000CED08 7C 00 23 78 */ or r0, r0, r4
/* 800D1DCC 000CED0C 90 CD 8D 2C */ stw r6, lbl_805153AC@sda21(r13)
/* 800D1DD0 000CED10 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D1DD4 000CED14 A0 1E 00 12 */ lhz r0, 0x12(r30)
/* 800D1DD8 000CED18 88 9E 00 0D */ lbz r4, 0xd(r30)
/* 800D1DDC 000CED1C 54 00 28 34 */ slwi r0, r0, 5
/* 800D1DE0 000CED20 7C 80 03 78 */ or r0, r4, r0
/* 800D1DE4 000CED24 B0 1D 00 1A */ sth r0, 0x1a(r29)
/* 800D1DE8 000CED28 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D1DEC 000CED2C 80 8D 8D 2C */ lwz r4, lbl_805153AC@sda21(r13)
/* 800D1DF0 000CED30 7C 00 1B 78 */ or r0, r0, r3
/* 800D1DF4 000CED34 90 8D 8D 2C */ stw r4, lbl_805153AC@sda21(r13)
/* 800D1DF8 000CED38 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D1DFC 000CED3C A0 1E 00 16 */ lhz r0, 0x16(r30)
/* 800D1E00 000CED40 88 7E 00 0F */ lbz r3, 0xf(r30)
/* 800D1E04 000CED44 54 00 28 34 */ slwi r0, r0, 5
/* 800D1E08 000CED48 7C 60 03 78 */ or r0, r3, r0
/* 800D1E0C 000CED4C B0 1D 00 18 */ sth r0, 0x18(r29)
/* 800D1E10 000CED50 80 6D 8D 28 */ lwz r3, changed@sda21(r13)
/* 800D1E14 000CED54 3C 00 00 08 */ lis r0, 8
/* 800D1E18 000CED58 38 DD 01 1C */ addi r6, r29, 0x11c
/* 800D1E1C 000CED5C 80 8D 8D 2C */ lwz r4, lbl_805153AC@sda21(r13)
/* 800D1E20 000CED60 7C 60 03 78 */ or r0, r3, r0
/* 800D1E24 000CED64 90 8D 8D 2C */ stw r4, lbl_805153AC@sda21(r13)
/* 800D1E28 000CED68 90 0D 8D 28 */ stw r0, changed@sda21(r13)
/* 800D1E2C 000CED6C A0 7B 00 00 */ lhz r3, 0(r27)
/* 800D1E30 000CED70 80 99 00 00 */ lwz r4, 0(r25)
/* 800D1E34 000CED74 38 03 00 0F */ addi r0, r3, 0xf
/* 800D1E38 000CED78 A0 6F 00 00 */ lhz r3, 0(r15)
/* 800D1E3C 000CED7C 7C 00 26 70 */ srawi r0, r0, 4
/* 800D1E40 000CED80 7C 00 01 94 */ addze r0, r0
/* 800D1E44 000CED84 2C 04 00 00 */ cmpwi r4, 0
/* 800D1E48 000CED88 98 1D 01 1C */ stb r0, 0x11c(r29)
/* 800D1E4C 000CED8C 40 82 00 0C */ bne .L_800D1E58
/* 800D1E50 000CED90 88 86 00 00 */ lbz r4, 0(r6)
/* 800D1E54 000CED94 48 00 00 0C */ b .L_800D1E60
.L_800D1E58:
/* 800D1E58 000CED98 88 06 00 00 */ lbz r0, 0(r6)
/* 800D1E5C 000CED9C 54 04 0E 3C */ rlwinm r4, r0, 1, 0x18, 0x1e
.L_800D1E60:
/* 800D1E60 000CEDA0 7C 60 26 70 */ srawi r0, r3, 4
/* 800D1E64 000CEDA4 98 9D 01 1D */ stb r4, 0x11d(r29)
/* 800D1E68 000CEDA8 7C 00 01 94 */ addze r0, r0
/* 800D1E6C 000CEDAC 54 00 20 36 */ slwi r0, r0, 4
/* 800D1E70 000CEDB0 7C 00 18 10 */ subfc r0, r0, r3
/* 800D1E74 000CEDB4 98 1D 01 2C */ stb r0, 0x12c(r29)
/* 800D1E78 000CEDB8 38 05 00 0F */ addi r0, r5, 0xf
/* 800D1E7C 000CEDBC 3C 60 08 00 */ lis r3, 0x800
/* 800D1E80 000CEDC0 88 9D 01 2C */ lbz r4, 0x12c(r29)
/* 800D1E84 000CEDC4 7C 04 02 14 */ add r0, r4, r0
/* 800D1E88 000CEDC8 7C 00 26 70 */ srawi r0, r0, 4
/* 800D1E8C 000CEDCC 7C 00 01 94 */ addze r0, r0
/* 800D1E90 000CEDD0 98 1D 01 1E */ stb r0, 0x11e(r29)
/* 800D1E94 000CEDD4 88 1D 01 1E */ lbz r0, 0x11e(r29)
/* 800D1E98 000CEDD8 88 9D 01 1D */ lbz r4, 0x11d(r29)
/* 800D1E9C 000CEDDC 50 04 44 2E */ rlwimi r4, r0, 8, 0x10, 0x17
/* 800D1EA0 000CEDE0 B0 9D 00 48 */ sth r4, 0x48(r29)
/* 800D1EA4 000CEDE4 80 8D 8D 28 */ lwz r4, changed@sda21(r13)
/* 800D1EA8 000CEDE8 80 0D 8D 50 */ lwz r0, FBSet@sda21(r13)
/* 800D1EAC 000CEDEC 80 AD 8D 2C */ lwz r5, lbl_805153AC@sda21(r13)
/* 800D1EB0 000CEDF0 28 00 00 00 */ cmplwi r0, 0
/* 800D1EB4 000CEDF4 7C A0 1B 78 */ or r0, r5, r3
/* 800D1EB8 000CEDF8 90 0D 8D 2C */ stw r0, lbl_805153AC@sda21(r13)
/* 800D1EBC 000CEDFC 90 8D 8D 28 */ stw r4, changed@sda21(r13)
/* 800D1EC0 000CEE00 41 82 00 1C */ beq .L_800D1EDC
/* 800D1EC4 000CEE04 38 7D 00 F0 */ addi r3, r29, 0xf0
/* 800D1EC8 000CEE08 38 9D 01 24 */ addi r4, r29, 0x124
/* 800D1ECC 000CEE0C 38 BD 01 28 */ addi r5, r29, 0x128
/* 800D1ED0 000CEE10 38 DD 01 3C */ addi r6, r29, 0x13c
/* 800D1ED4 000CEE14 38 FD 01 40 */ addi r7, r29, 0x140
/* 800D1ED8 000CEE18 4B FF F3 B1 */ bl setFbbRegs
.L_800D1EDC:
/* 800D1EDC 000CEE1C 80 1D 01 30 */ lwz r0, 0x130(r29)
/* 800D1EE0 000CEE20 90 01 00 08 */ stw r0, 8(r1)
/* 800D1EE4 000CEE24 A0 73 00 00 */ lhz r3, 0(r19)
/* 800D1EE8 000CEE28 A0 94 00 00 */ lhz r4, 0(r20)
/* 800D1EEC 000CEE2C 88 BE 00 00 */ lbz r5, 0(r30)
/* 800D1EF0 000CEE30 A0 DE 00 02 */ lhz r6, 2(r30)
/* 800D1EF4 000CEE34 A0 FE 00 04 */ lhz r7, 4(r30)
/* 800D1EF8 000CEE38 A1 1E 00 06 */ lhz r8, 6(r30)
/* 800D1EFC 000CEE3C A1 3E 00 08 */ lhz r9, 8(r30)
/* 800D1F00 000CEE40 A1 5E 00 0A */ lhz r10, 0xa(r30)
/* 800D1F04 000CEE44 4B FF F6 59 */ bl setVerticalRegs
/* 800D1F08 000CEE48 7D C3 73 78 */ mr r3, r14
/* 800D1F0C 000CEE4C 48 01 CD 55 */ bl OSRestoreInterrupts
/* 800D1F10 000CEE50 B9 C1 00 30 */ lmw r14, 0x30(r1)
/* 800D1F14 000CEE54 80 01 00 7C */ lwz r0, 0x7c(r1)
/* 800D1F18 000CEE58 38 21 00 78 */ addi r1, r1, 0x78
/* 800D1F1C 000CEE5C 7C 08 03 A6 */ mtlr r0
/* 800D1F20 000CEE60 4E 80 00 20 */ blr
.global VIFlush
VIFlush:
/* 800D1F24 000CEE64 7C 08 02 A6 */ mflr r0
/* 800D1F28 000CEE68 3C 60 80 4F */ lis r3, regs@ha
/* 800D1F2C 000CEE6C 90 01 00 04 */ stw r0, 4(r1)
/* 800D1F30 000CEE70 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800D1F34 000CEE74 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800D1F38 000CEE78 3B E3 59 A8 */ addi r31, r3, regs@l
/* 800D1F3C 000CEE7C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800D1F40 000CEE80 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800D1F44 000CEE84 93 81 00 10 */ stw r28, 0x10(r1)
/* 800D1F48 000CEE88 48 01 CC F1 */ bl OSDisableInterrupts
/* 800D1F4C 000CEE8C 80 AD 8D 30 */ lwz r5, shdwChangeMode@sda21(r13)
/* 800D1F50 000CEE90 3B C3 00 00 */ addi r30, r3, 0
/* 800D1F54 000CEE94 38 00 00 00 */ li r0, 0
/* 800D1F58 000CEE98 80 8D 8D 20 */ lwz r4, changeMode@sda21(r13)
/* 800D1F5C 000CEE9C 7C A3 23 78 */ or r3, r5, r4
/* 800D1F60 000CEEA0 90 6D 8D 30 */ stw r3, shdwChangeMode@sda21(r13)
/* 800D1F64 000CEEA4 90 0D 8D 20 */ stw r0, changeMode@sda21(r13)
/* 800D1F68 000CEEA8 80 8D 8D 38 */ lwz r4, shdwChanged@sda21(r13)
/* 800D1F6C 000CEEAC 80 AD 8D 3C */ lwz r5, lbl_805153BC@sda21(r13)
/* 800D1F70 000CEEB0 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D1F74 000CEEB4 80 6D 8D 2C */ lwz r3, lbl_805153AC@sda21(r13)
/* 800D1F78 000CEEB8 7C 80 03 78 */ or r0, r4, r0
/* 800D1F7C 000CEEBC 7C A3 1B 78 */ or r3, r5, r3
/* 800D1F80 000CEEC0 90 6D 8D 3C */ stw r3, lbl_805153BC@sda21(r13)
/* 800D1F84 000CEEC4 90 0D 8D 38 */ stw r0, shdwChanged@sda21(r13)
/* 800D1F88 000CEEC8 48 00 00 78 */ b .L_800D2000
.L_800D1F8C:
/* 800D1F8C 000CEECC 80 6D 8D 28 */ lwz r3, changed@sda21(r13)
/* 800D1F90 000CEED0 38 A0 00 20 */ li r5, 0x20
/* 800D1F94 000CEED4 83 8D 8D 2C */ lwz r28, lbl_805153AC@sda21(r13)
/* 800D1F98 000CEED8 38 9C 00 00 */ addi r4, r28, 0
/* 800D1F9C 000CEEDC 4B FF 01 75 */ bl __shr2u
/* 800D1FA0 000CEEE0 7C 84 00 34 */ cntlzw r4, r4
/* 800D1FA4 000CEEE4 2C 04 00 20 */ cmpwi r4, 0x20
/* 800D1FA8 000CEEE8 38 00 FF FF */ li r0, -1
/* 800D1FAC 000CEEEC 7F 80 00 38 */ and r0, r28, r0
/* 800D1FB0 000CEEF0 40 80 00 08 */ bge .L_800D1FB8
/* 800D1FB4 000CEEF4 48 00 00 0C */ b .L_800D1FC0
.L_800D1FB8:
/* 800D1FB8 000CEEF8 7C 03 00 34 */ cntlzw r3, r0
/* 800D1FBC 000CEEFC 38 83 00 20 */ addi r4, r3, 0x20
.L_800D1FC0:
/* 800D1FC0 000CEF00 54 83 08 3C */ slwi r3, r4, 1
/* 800D1FC4 000CEF04 7C 1F 1A 2E */ lhzx r0, r31, r3
/* 800D1FC8 000CEF08 7C 7F 1A 14 */ add r3, r31, r3
/* 800D1FCC 000CEF0C 20 A4 00 3F */ subfic r5, r4, 0x3f
/* 800D1FD0 000CEF10 B0 03 00 78 */ sth r0, 0x78(r3)
/* 800D1FD4 000CEF14 38 60 00 00 */ li r3, 0
/* 800D1FD8 000CEF18 38 80 00 01 */ li r4, 1
/* 800D1FDC 000CEF1C 4B FF 01 11 */ bl __shl2i
/* 800D1FE0 000CEF20 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D1FE4 000CEF24 7C 65 18 F8 */ nor r5, r3, r3
/* 800D1FE8 000CEF28 7C 84 20 F8 */ nor r4, r4, r4
/* 800D1FEC 000CEF2C 80 6D 8D 2C */ lwz r3, lbl_805153AC@sda21(r13)
/* 800D1FF0 000CEF30 7C 00 28 38 */ and r0, r0, r5
/* 800D1FF4 000CEF34 7C 63 20 38 */ and r3, r3, r4
/* 800D1FF8 000CEF38 90 6D 8D 2C */ stw r3, lbl_805153AC@sda21(r13)
/* 800D1FFC 000CEF3C 90 0D 8D 28 */ stw r0, changed@sda21(r13)
.L_800D2000:
/* 800D2000 000CEF40 80 0D 8D 28 */ lwz r0, changed@sda21(r13)
/* 800D2004 000CEF44 38 60 00 00 */ li r3, 0
/* 800D2008 000CEF48 80 8D 8D 2C */ lwz r4, lbl_805153AC@sda21(r13)
/* 800D200C 000CEF4C 7C 00 1A 78 */ xor r0, r0, r3
/* 800D2010 000CEF50 7C 83 1A 78 */ xor r3, r4, r3
/* 800D2014 000CEF54 7C 60 03 79 */ or. r0, r3, r0
/* 800D2018 000CEF58 40 82 FF 74 */ bne .L_800D1F8C
/* 800D201C 000CEF5C 38 00 00 01 */ li r0, 1
/* 800D2020 000CEF60 90 0D 8D 00 */ stw r0, flushFlag@sda21(r13)
/* 800D2024 000CEF64 7F C3 F3 78 */ mr r3, r30
/* 800D2028 000CEF68 80 1F 01 20 */ lwz r0, 0x120(r31)
/* 800D202C 000CEF6C 90 0D 8D 48 */ stw r0, NextBufAddr@sda21(r13)
/* 800D2030 000CEF70 48 01 CC 31 */ bl OSRestoreInterrupts
/* 800D2034 000CEF74 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800D2038 000CEF78 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800D203C 000CEF7C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800D2040 000CEF80 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800D2044 000CEF84 83 81 00 10 */ lwz r28, 0x10(r1)
/* 800D2048 000CEF88 38 21 00 20 */ addi r1, r1, 0x20
/* 800D204C 000CEF8C 7C 08 03 A6 */ mtlr r0
/* 800D2050 000CEF90 4E 80 00 20 */ blr
.global VISetNextFrameBuffer
VISetNextFrameBuffer:
/* 800D2054 000CEF94 7C 08 02 A6 */ mflr r0
/* 800D2058 000CEF98 3C 80 80 4F */ lis r4, regs@ha
/* 800D205C 000CEF9C 90 01 00 04 */ stw r0, 4(r1)
/* 800D2060 000CEFA0 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 800D2064 000CEFA4 93 E1 00 14 */ stw r31, 0x14(r1)
/* 800D2068 000CEFA8 3B E4 59 A8 */ addi r31, r4, regs@l
/* 800D206C 000CEFAC 93 C1 00 10 */ stw r30, 0x10(r1)
/* 800D2070 000CEFB0 3B C3 00 00 */ addi r30, r3, 0
/* 800D2074 000CEFB4 48 01 CB C5 */ bl OSDisableInterrupts
/* 800D2078 000CEFB8 93 DF 01 20 */ stw r30, 0x120(r31)
/* 800D207C 000CEFBC 38 00 00 01 */ li r0, 1
/* 800D2080 000CEFC0 3B C3 00 00 */ addi r30, r3, 0
/* 800D2084 000CEFC4 90 0D 8D 50 */ stw r0, FBSet@sda21(r13)
/* 800D2088 000CEFC8 38 7F 00 F0 */ addi r3, r31, 0xf0
/* 800D208C 000CEFCC 38 9F 01 24 */ addi r4, r31, 0x124
/* 800D2090 000CEFD0 38 BF 01 28 */ addi r5, r31, 0x128
/* 800D2094 000CEFD4 38 DF 01 3C */ addi r6, r31, 0x13c
/* 800D2098 000CEFD8 38 FF 01 40 */ addi r7, r31, 0x140
/* 800D209C 000CEFDC 4B FF F1 ED */ bl setFbbRegs
/* 800D20A0 000CEFE0 7F C3 F3 78 */ mr r3, r30
/* 800D20A4 000CEFE4 48 01 CB BD */ bl OSRestoreInterrupts
/* 800D20A8 000CEFE8 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 800D20AC 000CEFEC 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 800D20B0 000CEFF0 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 800D20B4 000CEFF4 38 21 00 18 */ addi r1, r1, 0x18
/* 800D20B8 000CEFF8 7C 08 03 A6 */ mtlr r0
/* 800D20BC 000CEFFC 4E 80 00 20 */ blr
.global VIGetCurrentFrameBuffer
VIGetCurrentFrameBuffer:
/* 800D20C0 000CF000 80 6D 8D 4C */ lwz r3, CurrBufAddr@sda21(r13)
/* 800D20C4 000CF004 4E 80 00 20 */ blr
.global VISetBlack
VISetBlack:
/* 800D20C8 000CF008 7C 08 02 A6 */ mflr r0
/* 800D20CC 000CF00C 3C 80 80 4F */ lis r4, regs@ha
/* 800D20D0 000CF010 90 01 00 04 */ stw r0, 4(r1)
/* 800D20D4 000CF014 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800D20D8 000CF018 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800D20DC 000CF01C 3B E4 59 A8 */ addi r31, r4, regs@l
/* 800D20E0 000CF020 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800D20E4 000CF024 3B C3 00 00 */ addi r30, r3, 0
/* 800D20E8 000CF028 48 01 CB 51 */ bl OSDisableInterrupts
/* 800D20EC 000CF02C 93 DF 01 30 */ stw r30, 0x130(r31)
/* 800D20F0 000CF030 7C 7E 1B 78 */ mr r30, r3
/* 800D20F4 000CF034 81 5F 01 44 */ lwz r10, 0x144(r31)
/* 800D20F8 000CF038 80 1F 01 30 */ lwz r0, 0x130(r31)
/* 800D20FC 000CF03C 90 01 00 08 */ stw r0, 8(r1)
/* 800D2100 000CF040 A0 7F 00 FA */ lhz r3, 0xfa(r31)
/* 800D2104 000CF044 A0 9F 00 F6 */ lhz r4, 0xf6(r31)
/* 800D2108 000CF048 88 AA 00 00 */ lbz r5, 0(r10)
/* 800D210C 000CF04C A0 CA 00 02 */ lhz r6, 2(r10)
/* 800D2110 000CF050 A0 EA 00 04 */ lhz r7, 4(r10)
/* 800D2114 000CF054 A1 0A 00 06 */ lhz r8, 6(r10)
/* 800D2118 000CF058 A1 2A 00 08 */ lhz r9, 8(r10)
/* 800D211C 000CF05C A1 4A 00 0A */ lhz r10, 0xa(r10)
/* 800D2120 000CF060 4B FF F4 3D */ bl setVerticalRegs
/* 800D2124 000CF064 7F C3 F3 78 */ mr r3, r30
/* 800D2128 000CF068 48 01 CB 39 */ bl OSRestoreInterrupts
/* 800D212C 000CF06C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800D2130 000CF070 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800D2134 000CF074 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800D2138 000CF078 38 21 00 20 */ addi r1, r1, 0x20
/* 800D213C 000CF07C 7C 08 03 A6 */ mtlr r0
/* 800D2140 000CF080 4E 80 00 20 */ blr
.global VIGetRetraceCount
VIGetRetraceCount:
/* 800D2144 000CF084 80 6D 8C FC */ lwz r3, retraceCount@sda21(r13)
/* 800D2148 000CF088 4E 80 00 20 */ blr
.global GetCurrentDisplayPosition
GetCurrentDisplayPosition:
/* 800D214C 000CF08C 3C A0 CC 00 */ lis r5, 0xCC002000@ha
/* 800D2150 000CF090 38 E5 20 00 */ addi r7, r5, 0xCC002000@l
/* 800D2154 000CF094 A4 07 00 2C */ lhzu r0, 0x2c(r7)
/* 800D2158 000CF098 38 C5 20 00 */ addi r6, r5, 0x2000
/* 800D215C 000CF09C 54 09 05 7E */ clrlwi r9, r0, 0x15
.L_800D2160:
/* 800D2160 000CF0A0 A0 07 00 00 */ lhz r0, 0(r7)
/* 800D2164 000CF0A4 7D 28 4B 78 */ mr r8, r9
/* 800D2168 000CF0A8 A0 A6 00 2E */ lhz r5, 0x2e(r6)
/* 800D216C 000CF0AC 54 09 05 7E */ clrlwi r9, r0, 0x15
/* 800D2170 000CF0B0 7C 08 48 40 */ cmplw r8, r9
/* 800D2174 000CF0B4 54 A0 05 7E */ clrlwi r0, r5, 0x15
/* 800D2178 000CF0B8 40 82 FF E8 */ bne .L_800D2160
/* 800D217C 000CF0BC 90 03 00 00 */ stw r0, 0(r3)
/* 800D2180 000CF0C0 91 24 00 00 */ stw r9, 0(r4)
/* 800D2184 000CF0C4 4E 80 00 20 */ blr
.global getCurrentFieldEvenOdd
getCurrentFieldEvenOdd:
/* 800D2188 000CF0C8 3C 60 CC 00 */ lis r3, 0xCC002000@ha
/* 800D218C 000CF0CC 38 E3 20 00 */ addi r7, r3, 0xCC002000@l
/* 800D2190 000CF0D0 A4 07 00 2C */ lhzu r0, 0x2c(r7)
/* 800D2194 000CF0D4 38 83 20 00 */ addi r4, r3, 0x2000
/* 800D2198 000CF0D8 54 05 05 7E */ clrlwi r5, r0, 0x15
.L_800D219C:
/* 800D219C 000CF0DC A0 07 00 00 */ lhz r0, 0(r7)
/* 800D21A0 000CF0E0 7C A6 2B 78 */ mr r6, r5
/* 800D21A4 000CF0E4 A0 64 00 2E */ lhz r3, 0x2e(r4)
/* 800D21A8 000CF0E8 54 05 05 7E */ clrlwi r5, r0, 0x15
/* 800D21AC 000CF0EC 7C 06 28 40 */ cmplw r6, r5
/* 800D21B0 000CF0F0 54 63 05 7E */ clrlwi r3, r3, 0x15
/* 800D21B4 000CF0F4 40 82 FF E8 */ bne .L_800D219C
/* 800D21B8 000CF0F8 80 CD 8D 40 */ lwz r6, CurrTiming@sda21(r13)
/* 800D21BC 000CF0FC 38 05 FF FF */ addi r0, r5, -1
/* 800D21C0 000CF100 38 83 FF FF */ addi r4, r3, -1
/* 800D21C4 000CF104 A0 66 00 1A */ lhz r3, 0x1a(r6)
/* 800D21C8 000CF108 54 05 08 3C */ slwi r5, r0, 1
/* 800D21CC 000CF10C A0 06 00 18 */ lhz r0, 0x18(r6)
/* 800D21D0 000CF110 7C 64 1B 96 */ divwu r3, r4, r3
/* 800D21D4 000CF114 7C 65 1A 14 */ add r3, r5, r3
/* 800D21D8 000CF118 7C 03 00 40 */ cmplw r3, r0
/* 800D21DC 000CF11C 40 80 00 0C */ bge .L_800D21E8
/* 800D21E0 000CF120 38 60 00 01 */ li r3, 1
/* 800D21E4 000CF124 4E 80 00 20 */ blr
.L_800D21E8:
/* 800D21E8 000CF128 38 60 00 00 */ li r3, 0
/* 800D21EC 000CF12C 4E 80 00 20 */ blr
.global VIGetNextField
VIGetNextField:
/* 800D21F0 000CF130 7C 08 02 A6 */ mflr r0
/* 800D21F4 000CF134 90 01 00 04 */ stw r0, 4(r1)
/* 800D21F8 000CF138 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 800D21FC 000CF13C 93 E1 00 24 */ stw r31, 0x24(r1)
/* 800D2200 000CF140 93 C1 00 20 */ stw r30, 0x20(r1)
/* 800D2204 000CF144 48 01 CA 35 */ bl OSDisableInterrupts
/* 800D2208 000CF148 3B C3 00 00 */ addi r30, r3, 0
/* 800D220C 000CF14C 38 61 00 10 */ addi r3, r1, 0x10
/* 800D2210 000CF150 38 81 00 14 */ addi r4, r1, 0x14
/* 800D2214 000CF154 4B FF FF 39 */ bl GetCurrentDisplayPosition
/* 800D2218 000CF158 80 AD 8D 40 */ lwz r5, CurrTiming@sda21(r13)
/* 800D221C 000CF15C 80 61 00 10 */ lwz r3, 0x10(r1)
/* 800D2220 000CF160 A0 05 00 1A */ lhz r0, 0x1a(r5)
/* 800D2224 000CF164 38 63 FF FF */ addi r3, r3, -1
/* 800D2228 000CF168 80 81 00 14 */ lwz r4, 0x14(r1)
/* 800D222C 000CF16C 7C 63 03 96 */ divwu r3, r3, r0
/* 800D2230 000CF170 A0 05 00 18 */ lhz r0, 0x18(r5)
/* 800D2234 000CF174 38 84 FF FF */ addi r4, r4, -1
/* 800D2238 000CF178 54 84 08 3C */ slwi r4, r4, 1
/* 800D223C 000CF17C 7C 64 1A 14 */ add r3, r4, r3
/* 800D2240 000CF180 7C 03 00 40 */ cmplw r3, r0
/* 800D2244 000CF184 40 80 00 0C */ bge .L_800D2250
/* 800D2248 000CF188 3B E0 00 01 */ li r31, 1
/* 800D224C 000CF18C 48 00 00 08 */ b .L_800D2254
.L_800D2250:
/* 800D2250 000CF190 3B E0 00 00 */ li r31, 0
.L_800D2254:
/* 800D2254 000CF194 7F C3 F3 78 */ mr r3, r30
/* 800D2258 000CF198 48 01 CA 09 */ bl OSRestoreInterrupts
/* 800D225C 000CF19C 3C 60 80 4F */ lis r3, HorVer@ha
/* 800D2260 000CF1A0 38 63 5A 98 */ addi r3, r3, HorVer@l
/* 800D2264 000CF1A4 A0 03 00 0A */ lhz r0, 0xa(r3)
/* 800D2268 000CF1A8 6B E3 00 01 */ xori r3, r31, 1
/* 800D226C 000CF1AC 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 800D2270 000CF1B0 7C 63 02 78 */ xor r3, r3, r0
/* 800D2274 000CF1B4 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 800D2278 000CF1B8 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 800D227C 000CF1BC 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 800D2280 000CF1C0 38 21 00 28 */ addi r1, r1, 0x28
/* 800D2284 000CF1C4 7C 08 03 A6 */ mtlr r0
/* 800D2288 000CF1C8 4E 80 00 20 */ blr
.global VIGetCurrentLine
VIGetCurrentLine:
/* 800D228C 000CF1CC 7C 08 02 A6 */ mflr r0
/* 800D2290 000CF1D0 90 01 00 04 */ stw r0, 4(r1)
/* 800D2294 000CF1D4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800D2298 000CF1D8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800D229C 000CF1DC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800D22A0 000CF1E0 83 ED 8D 40 */ lwz r31, CurrTiming@sda21(r13)
/* 800D22A4 000CF1E4 48 01 C9 95 */ bl OSDisableInterrupts
/* 800D22A8 000CF1E8 3C 80 CC 00 */ lis r4, 0xCC002000@ha
/* 800D22AC 000CF1EC 39 04 20 00 */ addi r8, r4, 0xCC002000@l
/* 800D22B0 000CF1F0 A4 08 00 2C */ lhzu r0, 0x2c(r8)
/* 800D22B4 000CF1F4 38 A4 20 00 */ addi r5, r4, 0x2000
/* 800D22B8 000CF1F8 54 06 05 7E */ clrlwi r6, r0, 0x15
.L_800D22BC:
/* 800D22BC 000CF1FC A0 08 00 00 */ lhz r0, 0(r8)
/* 800D22C0 000CF200 7C C7 33 78 */ mr r7, r6
/* 800D22C4 000CF204 A0 85 00 2E */ lhz r4, 0x2e(r5)
/* 800D22C8 000CF208 54 06 05 7E */ clrlwi r6, r0, 0x15
/* 800D22CC 000CF20C 7C 07 30 40 */ cmplw r7, r6
/* 800D22D0 000CF210 54 87 05 7E */ clrlwi r7, r4, 0x15
/* 800D22D4 000CF214 40 82 FF E8 */ bne .L_800D22BC
/* 800D22D8 000CF218 80 8D 8D 40 */ lwz r4, CurrTiming@sda21(r13)
/* 800D22DC 000CF21C 38 A7 FF FF */ addi r5, r7, -1
/* 800D22E0 000CF220 38 C6 FF FF */ addi r6, r6, -1
/* 800D22E4 000CF224 A0 04 00 1A */ lhz r0, 0x1a(r4)
/* 800D22E8 000CF228 54 C4 08 3C */ slwi r4, r6, 1
/* 800D22EC 000CF22C 7C 05 03 96 */ divwu r0, r5, r0
/* 800D22F0 000CF230 7F C4 02 14 */ add r30, r4, r0
/* 800D22F4 000CF234 48 01 C9 6D */ bl OSRestoreInterrupts
/* 800D22F8 000CF238 A0 1F 00 18 */ lhz r0, 0x18(r31)
/* 800D22FC 000CF23C 7C 1E 00 40 */ cmplw r30, r0
/* 800D2300 000CF240 41 80 00 08 */ blt .L_800D2308
/* 800D2304 000CF244 7F C0 F0 50 */ subf r30, r0, r30
.L_800D2308:
/* 800D2308 000CF248 57 C3 F8 7E */ srwi r3, r30, 1
/* 800D230C 000CF24C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800D2310 000CF250 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800D2314 000CF254 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800D2318 000CF258 38 21 00 20 */ addi r1, r1, 0x20
/* 800D231C 000CF25C 7C 08 03 A6 */ mtlr r0
/* 800D2320 000CF260 4E 80 00 20 */ blr
.global VIGetTvFormat
VIGetTvFormat:
/* 800D2324 000CF264 7C 08 02 A6 */ mflr r0
/* 800D2328 000CF268 90 01 00 04 */ stw r0, 4(r1)
/* 800D232C 000CF26C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800D2330 000CF270 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800D2334 000CF274 48 01 C9 05 */ bl OSDisableInterrupts
/* 800D2338 000CF278 80 AD 8D 44 */ lwz r5, CurrTvMode@sda21(r13)
/* 800D233C 000CF27C 28 05 00 06 */ cmplwi r5, 6
/* 800D2340 000CF280 41 81 00 30 */ bgt .L_800D2370
/* 800D2344 000CF284 3C 80 80 4A */ lis r4, lbl_804A7664@ha
/* 800D2348 000CF288 38 84 76 64 */ addi r4, r4, lbl_804A7664@l
/* 800D234C 000CF28C 54 A0 10 3A */ slwi r0, r5, 2
/* 800D2350 000CF290 7C 04 00 2E */ lwzx r0, r4, r0
/* 800D2354 000CF294 7C 09 03 A6 */ mtctr r0
/* 800D2358 000CF298 4E 80 04 20 */ bctr
.L_800D235C:
/* 800D235C 000CF29C 3B E0 00 00 */ li r31, 0
/* 800D2360 000CF2A0 48 00 00 10 */ b .L_800D2370
.L_800D2364:
/* 800D2364 000CF2A4 3B E0 00 01 */ li r31, 1
/* 800D2368 000CF2A8 48 00 00 08 */ b .L_800D2370
.L_800D236C:
/* 800D236C 000CF2AC 7C BF 2B 78 */ mr r31, r5
.L_800D2370:
/* 800D2370 000CF2B0 48 01 C8 F1 */ bl OSRestoreInterrupts
/* 800D2374 000CF2B4 7F E3 FB 78 */ mr r3, r31
/* 800D2378 000CF2B8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800D237C 000CF2BC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800D2380 000CF2C0 38 21 00 10 */ addi r1, r1, 0x10
/* 800D2384 000CF2C4 7C 08 03 A6 */ mtlr r0
/* 800D2388 000CF2C8 4E 80 00 20 */ blr
.global VIGetDTVStatus
VIGetDTVStatus:
/* 800D238C 000CF2CC 7C 08 02 A6 */ mflr r0
/* 800D2390 000CF2D0 90 01 00 04 */ stw r0, 4(r1)
/* 800D2394 000CF2D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800D2398 000CF2D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800D239C 000CF2DC 48 01 C8 9D */ bl OSDisableInterrupts
/* 800D23A0 000CF2E0 3C 80 CC 00 */ lis r4, 0xCC00206E@ha
/* 800D23A4 000CF2E4 A0 04 20 6E */ lhz r0, 0xCC00206E@l(r4)
/* 800D23A8 000CF2E8 54 1F 07 BE */ clrlwi r31, r0, 0x1e
/* 800D23AC 000CF2EC 48 01 C8 B5 */ bl OSRestoreInterrupts
/* 800D23B0 000CF2F0 57 E3 07 FE */ clrlwi r3, r31, 0x1f
/* 800D23B4 000CF2F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800D23B8 000CF2F8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800D23BC 000CF2FC 38 21 00 10 */ addi r1, r1, 0x10
/* 800D23C0 000CF300 7C 08 03 A6 */ mtlr r0
/* 800D23C4 000CF304 4E 80 00 20 */ blr
.global __VIDisplayPositionToXY
__VIDisplayPositionToXY:
/* 800D23C8 000CF308 81 2D 8D 40 */ lwz r9, CurrTiming@sda21(r13)
/* 800D23CC 000CF30C 3C E0 80 4F */ lis r7, HorVer@ha
/* 800D23D0 000CF310 38 E7 5A 98 */ addi r7, r7, HorVer@l
/* 800D23D4 000CF314 A0 09 00 1A */ lhz r0, 0x1a(r9)
/* 800D23D8 000CF318 39 03 FF FF */ addi r8, r3, -1
/* 800D23DC 000CF31C 80 E7 00 24 */ lwz r7, 0x24(r7)
/* 800D23E0 000CF320 38 84 FF FF */ addi r4, r4, -1
/* 800D23E4 000CF324 7C 08 03 96 */ divwu r0, r8, r0
/* 800D23E8 000CF328 54 84 08 3C */ slwi r4, r4, 1
/* 800D23EC 000CF32C 28 07 00 00 */ cmplwi r7, 0
/* 800D23F0 000CF330 7C 04 02 14 */ add r0, r4, r0
/* 800D23F4 000CF334 40 82 00 C0 */ bne .L_800D24B4
/* 800D23F8 000CF338 A1 49 00 18 */ lhz r10, 0x18(r9)
/* 800D23FC 000CF33C 7C 00 50 40 */ cmplw r0, r10
/* 800D2400 000CF340 40 80 00 58 */ bge .L_800D2458
/* 800D2404 000CF344 88 89 00 00 */ lbz r4, 0(r9)
/* 800D2408 000CF348 A1 09 00 04 */ lhz r8, 4(r9)
/* 800D240C 000CF34C 1C E4 00 03 */ mulli r7, r4, 3
/* 800D2410 000CF350 7C 88 3A 14 */ add r4, r8, r7
/* 800D2414 000CF354 7C 00 20 40 */ cmplw r0, r4
/* 800D2418 000CF358 40 80 00 10 */ bge .L_800D2428
/* 800D241C 000CF35C 38 00 FF FF */ li r0, -1
/* 800D2420 000CF360 B0 06 00 00 */ sth r0, 0(r6)
/* 800D2424 000CF364 48 00 01 B4 */ b .L_800D25D8
.L_800D2428:
/* 800D2428 000CF368 A0 89 00 08 */ lhz r4, 8(r9)
/* 800D242C 000CF36C 7C 84 50 50 */ subf r4, r4, r10
/* 800D2430 000CF370 7C 00 20 40 */ cmplw r0, r4
/* 800D2434 000CF374 41 80 00 10 */ blt .L_800D2444
/* 800D2438 000CF378 38 00 FF FF */ li r0, -1
/* 800D243C 000CF37C B0 06 00 00 */ sth r0, 0(r6)
/* 800D2440 000CF380 48 00 01 98 */ b .L_800D25D8
.L_800D2444:
/* 800D2444 000CF384 7C 07 00 50 */ subf r0, r7, r0
/* 800D2448 000CF388 7C 08 00 50 */ subf r0, r8, r0
/* 800D244C 000CF38C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 800D2450 000CF390 B0 06 00 00 */ sth r0, 0(r6)
/* 800D2454 000CF394 48 00 01 84 */ b .L_800D25D8
.L_800D2458:
/* 800D2458 000CF398 88 89 00 00 */ lbz r4, 0(r9)
/* 800D245C 000CF39C 7C 0A 00 50 */ subf r0, r10, r0
/* 800D2460 000CF3A0 A1 09 00 06 */ lhz r8, 6(r9)
/* 800D2464 000CF3A4 1C E4 00 03 */ mulli r7, r4, 3
/* 800D2468 000CF3A8 7C 88 3A 14 */ add r4, r8, r7
/* 800D246C 000CF3AC 7C 00 20 40 */ cmplw r0, r4
/* 800D2470 000CF3B0 40 80 00 10 */ bge .L_800D2480
/* 800D2474 000CF3B4 38 00 FF FF */ li r0, -1
/* 800D2478 000CF3B8 B0 06 00 00 */ sth r0, 0(r6)
/* 800D247C 000CF3BC 48 00 01 5C */ b .L_800D25D8
.L_800D2480:
/* 800D2480 000CF3C0 A0 89 00 0A */ lhz r4, 0xa(r9)
/* 800D2484 000CF3C4 7C 84 50 50 */ subf r4, r4, r10
/* 800D2488 000CF3C8 7C 00 20 40 */ cmplw r0, r4
/* 800D248C 000CF3CC 41 80 00 10 */ blt .L_800D249C
/* 800D2490 000CF3D0 38 00 FF FF */ li r0, -1
/* 800D2494 000CF3D4 B0 06 00 00 */ sth r0, 0(r6)
/* 800D2498 000CF3D8 48 00 01 40 */ b .L_800D25D8
.L_800D249C:
/* 800D249C 000CF3DC 7C 07 00 50 */ subf r0, r7, r0
/* 800D24A0 000CF3E0 7C 08 00 50 */ subf r0, r8, r0
/* 800D24A4 000CF3E4 54 04 00 3C */ rlwinm r4, r0, 0, 0, 0x1e
/* 800D24A8 000CF3E8 38 04 00 01 */ addi r0, r4, 1
/* 800D24AC 000CF3EC B0 06 00 00 */ sth r0, 0(r6)
/* 800D24B0 000CF3F0 48 00 01 28 */ b .L_800D25D8
.L_800D24B4:
/* 800D24B4 000CF3F4 28 07 00 01 */ cmplwi r7, 1
/* 800D24B8 000CF3F8 40 82 00 68 */ bne .L_800D2520
/* 800D24BC 000CF3FC A0 E9 00 18 */ lhz r7, 0x18(r9)
/* 800D24C0 000CF400 7C 00 38 40 */ cmplw r0, r7
/* 800D24C4 000CF404 41 80 00 08 */ blt .L_800D24CC
/* 800D24C8 000CF408 7C 07 00 50 */ subf r0, r7, r0
.L_800D24CC:
/* 800D24CC 000CF40C 88 89 00 00 */ lbz r4, 0(r9)
/* 800D24D0 000CF410 A1 49 00 04 */ lhz r10, 4(r9)
/* 800D24D4 000CF414 1D 04 00 03 */ mulli r8, r4, 3
/* 800D24D8 000CF418 7C 8A 42 14 */ add r4, r10, r8
/* 800D24DC 000CF41C 7C 00 20 40 */ cmplw r0, r4
/* 800D24E0 000CF420 40 80 00 10 */ bge .L_800D24F0
/* 800D24E4 000CF424 38 00 FF FF */ li r0, -1
/* 800D24E8 000CF428 B0 06 00 00 */ sth r0, 0(r6)
/* 800D24EC 000CF42C 48 00 00 EC */ b .L_800D25D8
.L_800D24F0:
/* 800D24F0 000CF430 A0 89 00 08 */ lhz r4, 8(r9)
/* 800D24F4 000CF434 7C 84 38 50 */ subf r4, r4, r7
/* 800D24F8 000CF438 7C 00 20 40 */ cmplw r0, r4
/* 800D24FC 000CF43C 41 80 00 10 */ blt .L_800D250C
/* 800D2500 000CF440 38 00 FF FF */ li r0, -1
/* 800D2504 000CF444 B0 06 00 00 */ sth r0, 0(r6)
/* 800D2508 000CF448 48 00 00 D0 */ b .L_800D25D8
.L_800D250C:
/* 800D250C 000CF44C 7C 08 00 50 */ subf r0, r8, r0
/* 800D2510 000CF450 7C 0A 00 50 */ subf r0, r10, r0
/* 800D2514 000CF454 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 800D2518 000CF458 B0 06 00 00 */ sth r0, 0(r6)
/* 800D251C 000CF45C 48 00 00 BC */ b .L_800D25D8
.L_800D2520:
/* 800D2520 000CF460 28 07 00 02 */ cmplwi r7, 2
/* 800D2524 000CF464 40 82 00 B4 */ bne .L_800D25D8
/* 800D2528 000CF468 A1 49 00 18 */ lhz r10, 0x18(r9)
/* 800D252C 000CF46C 7C 00 50 40 */ cmplw r0, r10
/* 800D2530 000CF470 40 80 00 54 */ bge .L_800D2584
/* 800D2534 000CF474 88 89 00 00 */ lbz r4, 0(r9)
/* 800D2538 000CF478 A1 09 00 04 */ lhz r8, 4(r9)
/* 800D253C 000CF47C 1C E4 00 03 */ mulli r7, r4, 3
/* 800D2540 000CF480 7C 88 3A 14 */ add r4, r8, r7
/* 800D2544 000CF484 7C 00 20 40 */ cmplw r0, r4
/* 800D2548 000CF488 40 80 00 10 */ bge .L_800D2558
/* 800D254C 000CF48C 38 00 FF FF */ li r0, -1
/* 800D2550 000CF490 B0 06 00 00 */ sth r0, 0(r6)
/* 800D2554 000CF494 48 00 00 84 */ b .L_800D25D8
.L_800D2558:
/* 800D2558 000CF498 A0 89 00 08 */ lhz r4, 8(r9)
/* 800D255C 000CF49C 7C 84 50 50 */ subf r4, r4, r10
/* 800D2560 000CF4A0 7C 00 20 40 */ cmplw r0, r4
/* 800D2564 000CF4A4 41 80 00 10 */ blt .L_800D2574
/* 800D2568 000CF4A8 38 00 FF FF */ li r0, -1
/* 800D256C 000CF4AC B0 06 00 00 */ sth r0, 0(r6)
/* 800D2570 000CF4B0 48 00 00 68 */ b .L_800D25D8
.L_800D2574:
/* 800D2574 000CF4B4 7C 07 00 50 */ subf r0, r7, r0
/* 800D2578 000CF4B8 7C 08 00 50 */ subf r0, r8, r0
/* 800D257C 000CF4BC B0 06 00 00 */ sth r0, 0(r6)
/* 800D2580 000CF4C0 48 00 00 58 */ b .L_800D25D8
.L_800D2584:
/* 800D2584 000CF4C4 88 89 00 00 */ lbz r4, 0(r9)
/* 800D2588 000CF4C8 7C 0A 00 50 */ subf r0, r10, r0
/* 800D258C 000CF4CC A1 09 00 06 */ lhz r8, 6(r9)
/* 800D2590 000CF4D0 1C E4 00 03 */ mulli r7, r4, 3
/* 800D2594 000CF4D4 7C 88 3A 14 */ add r4, r8, r7
/* 800D2598 000CF4D8 7C 00 20 40 */ cmplw r0, r4
/* 800D259C 000CF4DC 40 80 00 10 */ bge .L_800D25AC
/* 800D25A0 000CF4E0 38 00 FF FF */ li r0, -1
/* 800D25A4 000CF4E4 B0 06 00 00 */ sth r0, 0(r6)
/* 800D25A8 000CF4E8 48 00 00 30 */ b .L_800D25D8
.L_800D25AC:
/* 800D25AC 000CF4EC A0 89 00 0A */ lhz r4, 0xa(r9)
/* 800D25B0 000CF4F0 7C 84 50 50 */ subf r4, r4, r10
/* 800D25B4 000CF4F4 7C 00 20 40 */ cmplw r0, r4
/* 800D25B8 000CF4F8 41 80 00 10 */ blt .L_800D25C8
/* 800D25BC 000CF4FC 38 00 FF FF */ li r0, -1
/* 800D25C0 000CF500 B0 06 00 00 */ sth r0, 0(r6)
/* 800D25C4 000CF504 48 00 00 14 */ b .L_800D25D8
.L_800D25C8:
/* 800D25C8 000CF508 7C 07 00 50 */ subf r0, r7, r0
/* 800D25CC 000CF50C 7C 08 00 50 */ subf r0, r8, r0
/* 800D25D0 000CF510 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 800D25D4 000CF514 B0 06 00 00 */ sth r0, 0(r6)
.L_800D25D8:
/* 800D25D8 000CF518 38 03 FF FF */ addi r0, r3, -1
/* 800D25DC 000CF51C B0 05 00 00 */ sth r0, 0(r5)
/* 800D25E0 000CF520 4E 80 00 20 */ blr
.global __VIGetCurrentPosition
__VIGetCurrentPosition:
/* 800D25E4 000CF524 7C 08 02 A6 */ mflr r0
/* 800D25E8 000CF528 3C E0 CC 00 */ lis r7, 0xCC002000@ha
/* 800D25EC 000CF52C 90 01 00 04 */ stw r0, 4(r1)
/* 800D25F0 000CF530 38 C4 00 00 */ addi r6, r4, 0
/* 800D25F4 000CF534 39 27 20 00 */ addi r9, r7, 0xCC002000@l
/* 800D25F8 000CF538 94 21 FF F8 */ stwu r1, -8(r1)
/* 800D25FC 000CF53C 38 A3 00 00 */ addi r5, r3, 0
/* 800D2600 000CF540 38 87 20 00 */ addi r4, r7, 0x2000
/* 800D2604 000CF544 A4 09 00 2C */ lhzu r0, 0x2c(r9)
/* 800D2608 000CF548 54 08 05 7E */ clrlwi r8, r0, 0x15
.L_800D260C:
/* 800D260C 000CF54C A0 09 00 00 */ lhz r0, 0(r9)
/* 800D2610 000CF550 7D 07 43 78 */ mr r7, r8
/* 800D2614 000CF554 A0 64 00 2E */ lhz r3, 0x2e(r4)
/* 800D2618 000CF558 54 08 05 7E */ clrlwi r8, r0, 0x15
/* 800D261C 000CF55C 7C 07 40 40 */ cmplw r7, r8
/* 800D2620 000CF560 54 60 05 7E */ clrlwi r0, r3, 0x15
/* 800D2624 000CF564 40 82 FF E8 */ bne .L_800D260C
/* 800D2628 000CF568 7C 03 03 78 */ mr r3, r0
/* 800D262C 000CF56C 38 88 00 00 */ addi r4, r8, 0
/* 800D2630 000CF570 4B FF FD 99 */ bl __VIDisplayPositionToXY
/* 800D2634 000CF574 80 01 00 0C */ lwz r0, 0xc(r1)
/* 800D2638 000CF578 38 21 00 08 */ addi r1, r1, 8
/* 800D263C 000CF57C 7C 08 03 A6 */ mtlr r0
/* 800D2640 000CF580 4E 80 00 20 */ blr