donut-decomp/asm/vi/vi.s
2022-10-17 09:07:59 +01:00

3800 lines
165 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global OnShutdown_8002BAD0
OnShutdown_8002BAD0:
/* 8002BAD0 00027910 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8002BAD4 00027914 7C 08 02 A6 */ mflr r0
/* 8002BAD8 00027918 90 01 00 24 */ stw r0, 0x24(r1)
/* 8002BADC 0002791C 39 61 00 20 */ addi r11, r1, 0x20
/* 8002BAE0 00027920 4B FD B8 5D */ bl lbl_8000733C
/* 8002BAE4 00027924 2C 03 00 00 */ cmpwi r3, 0x0
/* 8002BAE8 00027928 3F E0 80 4A */ lis r31, shdwRegs@ha
/* 8002BAEC 0002792C 3B FF A5 70 */ addi r31, r31, shdwRegs@l
/* 8002BAF0 00027930 40 82 01 5C */ bne lbl_8002BC4C
/* 8002BAF4 00027934 38 04 FF FF */ addi r0, r4, -0x1
/* 8002BAF8 00027938 28 00 00 02 */ cmplwi r0, 0x2
/* 8002BAFC 0002793C 40 81 00 1C */ ble lbl_8002BB18
/* 8002BB00 00027940 38 04 FF FC */ addi r0, r4, -0x4
/* 8002BB04 00027944 28 00 00 02 */ cmplwi r0, 0x2
/* 8002BB08 00027948 40 81 01 38 */ ble lbl_8002BC40
/* 8002BB0C 0002794C 2C 04 00 00 */ cmpwi r4, 0x0
/* 8002BB10 00027950 41 82 01 30 */ beq lbl_8002BC40
/* 8002BB14 00027954 48 00 01 3C */ b lbl_8002BC50
.global lbl_8002BB18
lbl_8002BB18:
/* 8002BB18 00027958 80 0D 81 0C */ lwz r0, "@LOCAL@OnShutdown__FiUl@first"@sda21(r13)
/* 8002BB1C 0002795C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002BB20 00027960 41 82 01 00 */ beq lbl_8002BC20
/* 8002BB24 00027964 48 00 44 AD */ bl VISetRGBModeImm
/* 8002BB28 00027968 4B FF 5C F9 */ bl OSDisableInterrupts
/* 8002BB2C 0002796C 80 AD E5 20 */ lwz r5, shdwChangeMode@sda21(r13)
/* 8002BB30 00027970 38 00 00 00 */ li r0, 0x0
/* 8002BB34 00027974 80 8D E5 10 */ lwz r4, changeMode@sda21(r13)
/* 8002BB38 00027978 7C 7E 1B 78 */ mr r30, r3
/* 8002BB3C 0002797C 3B 9F 00 78 */ addi r28, r31, 0x78
/* 8002BB40 00027980 3B BF 00 00 */ addi r29, r31, 0x0
/* 8002BB44 00027984 7C A3 23 78 */ or r3, r5, r4
/* 8002BB48 00027988 90 6D E5 20 */ stw r3, shdwChangeMode@sda21(r13)
/* 8002BB4C 0002798C 3B 60 FF FF */ li r27, -0x1
/* 8002BB50 00027990 90 0D E5 10 */ stw r0, changeMode@sda21(r13)
/* 8002BB54 00027994 80 8D E5 28 */ lwz r4, shdwChanged@sda21(r13)
/* 8002BB58 00027998 80 AD E5 2C */ lwz r5, lbl_8055C94C@sda21(r13)
/* 8002BB5C 0002799C 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002BB60 000279A0 80 6D E5 1C */ lwz r3, lbl_8055C93C@sda21(r13)
/* 8002BB64 000279A4 7C 80 03 78 */ or r0, r4, r0
/* 8002BB68 000279A8 7C A3 1B 78 */ or r3, r5, r3
/* 8002BB6C 000279AC 90 6D E5 2C */ stw r3, lbl_8055C94C@sda21(r13)
/* 8002BB70 000279B0 90 0D E5 28 */ stw r0, shdwChanged@sda21(r13)
/* 8002BB74 000279B4 48 00 00 64 */ b lbl_8002BBD8
.global lbl_8002BB78
lbl_8002BB78:
/* 8002BB78 000279B8 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002BB7C 000279BC 80 6D E5 1C */ lwz r3, lbl_8055C93C@sda21(r13)
/* 8002BB80 000279C0 7C 04 00 34 */ cntlzw r4, r0
/* 8002BB84 000279C4 2C 04 00 20 */ cmpwi r4, 0x20
/* 8002BB88 000279C8 7C 60 D8 38 */ and r0, r3, r27
/* 8002BB8C 000279CC 40 80 00 08 */ bge lbl_8002BB94
/* 8002BB90 000279D0 48 00 00 0C */ b lbl_8002BB9C
.global lbl_8002BB94
lbl_8002BB94:
/* 8002BB94 000279D4 7C 03 00 34 */ cntlzw r3, r0
/* 8002BB98 000279D8 38 83 00 20 */ addi r4, r3, 0x20
.global lbl_8002BB9C
lbl_8002BB9C:
/* 8002BB9C 000279DC 54 83 08 3C */ slwi r3, r4, 1
/* 8002BBA0 000279E0 20 A4 00 3F */ subfic r5, r4, 0x3f
/* 8002BBA4 000279E4 7C 1C 1A 2E */ lhzx r0, r28, r3
/* 8002BBA8 000279E8 38 80 00 01 */ li r4, 0x1
/* 8002BBAC 000279EC 7C 1D 1B 2E */ sthx r0, r29, r3
/* 8002BBB0 000279F0 38 60 00 00 */ li r3, 0x0
/* 8002BBB4 000279F4 4B FD BC 01 */ bl __shl2i
/* 8002BBB8 000279F8 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002BBBC 000279FC 7C 65 18 F8 */ nor r5, r3, r3
/* 8002BBC0 00027A00 80 6D E5 1C */ lwz r3, lbl_8055C93C@sda21(r13)
/* 8002BBC4 00027A04 7C 84 20 F8 */ nor r4, r4, r4
/* 8002BBC8 00027A08 7C 00 28 38 */ and r0, r0, r5
/* 8002BBCC 00027A0C 7C 63 20 38 */ and r3, r3, r4
/* 8002BBD0 00027A10 90 6D E5 1C */ stw r3, lbl_8055C93C@sda21(r13)
/* 8002BBD4 00027A14 90 0D E5 18 */ stw r0, changed@sda21(r13)
.global lbl_8002BBD8
lbl_8002BBD8:
/* 8002BBD8 00027A18 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002BBDC 00027A1C 80 6D E5 1C */ lwz r3, lbl_8055C93C@sda21(r13)
/* 8002BBE0 00027A20 7C 60 03 79 */ or. r0, r3, r0
/* 8002BBE4 00027A24 40 82 FF 94 */ bne lbl_8002BB78
/* 8002BBE8 00027A28 38 7F 00 F0 */ addi r3, r31, 0xf0
/* 8002BBEC 00027A2C 38 80 00 01 */ li r4, 0x1
/* 8002BBF0 00027A30 80 03 00 30 */ lwz r0, 0x30(r3)
/* 8002BBF4 00027A34 7F C3 F3 78 */ mr r3, r30
/* 8002BBF8 00027A38 90 8D E5 88 */ stw r4, flushFlag@sda21(r13)
/* 8002BBFC 00027A3C 90 8D E5 84 */ stw r4, flushFlag3in1@sda21(r13)
/* 8002BC00 00027A40 90 0D E5 4C */ stw r0, NextBufAddr@sda21(r13)
/* 8002BC04 00027A44 4B FF 5C 5D */ bl OSRestoreInterrupts
/* 8002BC08 00027A48 80 6D E5 8C */ lwz r3, retraceCount@sda21(r13)
/* 8002BC0C 00027A4C 38 00 00 00 */ li r0, 0x0
/* 8002BC10 00027A50 90 6D E5 38 */ stw r3, "@LOCAL@OnShutdown__FiUl@count@0"@sda21(r13)
/* 8002BC14 00027A54 38 60 00 00 */ li r3, 0x0
/* 8002BC18 00027A58 90 0D 81 0C */ stw r0, "@LOCAL@OnShutdown__FiUl@first"@sda21(r13)
/* 8002BC1C 00027A5C 48 00 00 34 */ b lbl_8002BC50
.global lbl_8002BC20
lbl_8002BC20:
/* 8002BC20 00027A60 80 6D E5 38 */ lwz r3, "@LOCAL@OnShutdown__FiUl@count@0"@sda21(r13)
/* 8002BC24 00027A64 80 0D E5 8C */ lwz r0, retraceCount@sda21(r13)
/* 8002BC28 00027A68 7C 03 00 40 */ cmplw r3, r0
/* 8002BC2C 00027A6C 40 82 00 0C */ bne lbl_8002BC38
/* 8002BC30 00027A70 38 60 00 00 */ li r3, 0x0
/* 8002BC34 00027A74 48 00 00 1C */ b lbl_8002BC50
.global lbl_8002BC38
lbl_8002BC38:
/* 8002BC38 00027A78 38 60 00 01 */ li r3, 0x1
/* 8002BC3C 00027A7C 48 00 00 14 */ b lbl_8002BC50
.global lbl_8002BC40
lbl_8002BC40:
/* 8002BC40 00027A80 48 00 42 71 */ bl __VISetGamma1_0
/* 8002BC44 00027A84 38 60 00 01 */ li r3, 0x1
/* 8002BC48 00027A88 48 00 00 08 */ b lbl_8002BC50
.global lbl_8002BC4C
lbl_8002BC4C:
/* 8002BC4C 00027A8C 38 60 00 01 */ li r3, 0x1
.global lbl_8002BC50
lbl_8002BC50:
/* 8002BC50 00027A90 39 61 00 20 */ addi r11, r1, 0x20
/* 8002BC54 00027A94 4B FD B7 35 */ bl lbl_80007388
/* 8002BC58 00027A98 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8002BC5C 00027A9C 7C 08 03 A6 */ mtlr r0
/* 8002BC60 00027AA0 38 21 00 20 */ addi r1, r1, 0x20
/* 8002BC64 00027AA4 4E 80 00 20 */ blr
/* 8002BC68 00027AA8 00 00 00 00 */ .4byte 0x00000000
/* 8002BC6C 00027AAC 00 00 00 00 */ .4byte 0x00000000
.global __VIRetraceHandler
__VIRetraceHandler:
/* 8002BC70 00027AB0 94 21 FD 10 */ stwu r1, -0x2f0(r1)
/* 8002BC74 00027AB4 7C 08 02 A6 */ mflr r0
/* 8002BC78 00027AB8 90 01 02 F4 */ stw r0, 0x2f4(r1)
/* 8002BC7C 00027ABC 39 61 02 F0 */ addi r11, r1, 0x2f0
/* 8002BC80 00027AC0 4B FD B6 B9 */ bl lbl_80007338
/* 8002BC84 00027AC4 3C A0 CC 00 */ lis r5, 0xCC002030@ha
/* 8002BC88 00027AC8 3F C0 80 4A */ lis r30, shdwRegs@ha
/* 8002BC8C 00027ACC A0 65 20 30 */ lhz r3, 0xCC002030@l(r5)
/* 8002BC90 00027AD0 7C 9C 23 78 */ mr r28, r4
/* 8002BC94 00027AD4 3B DE A5 70 */ addi r30, r30, shdwRegs@l
/* 8002BC98 00027AD8 38 C0 00 00 */ li r6, 0x0
/* 8002BC9C 00027ADC 54 60 04 21 */ rlwinm. r0, r3, 0, 16, 16
/* 8002BCA0 00027AE0 41 82 00 10 */ beq lbl_8002BCB0
/* 8002BCA4 00027AE4 54 60 04 7E */ clrlwi r0, r3, 17
/* 8002BCA8 00027AE8 B0 05 20 30 */ sth r0, 0x2030(r5)
/* 8002BCAC 00027AEC 60 C6 00 01 */ ori r6, r6, 0x1
.global lbl_8002BCB0
lbl_8002BCB0:
/* 8002BCB0 00027AF0 3C 80 CC 00 */ lis r4, 0xCC002034@ha
/* 8002BCB4 00027AF4 A0 64 20 34 */ lhz r3, 0xCC002034@l(r4)
/* 8002BCB8 00027AF8 54 60 04 21 */ rlwinm. r0, r3, 0, 16, 16
/* 8002BCBC 00027AFC 41 82 00 10 */ beq lbl_8002BCCC
/* 8002BCC0 00027B00 54 60 04 7E */ clrlwi r0, r3, 17
/* 8002BCC4 00027B04 B0 04 20 34 */ sth r0, 0x2034(r4)
/* 8002BCC8 00027B08 60 C6 00 02 */ ori r6, r6, 0x2
.global lbl_8002BCCC
lbl_8002BCCC:
/* 8002BCCC 00027B0C 3C 80 CC 00 */ lis r4, 0xCC002038@ha
/* 8002BCD0 00027B10 A0 64 20 38 */ lhz r3, 0xCC002038@l(r4)
/* 8002BCD4 00027B14 54 60 04 21 */ rlwinm. r0, r3, 0, 16, 16
/* 8002BCD8 00027B18 41 82 00 10 */ beq lbl_8002BCE8
/* 8002BCDC 00027B1C 54 60 04 7E */ clrlwi r0, r3, 17
/* 8002BCE0 00027B20 B0 04 20 38 */ sth r0, 0x2038(r4)
/* 8002BCE4 00027B24 60 C6 00 04 */ ori r6, r6, 0x4
.global lbl_8002BCE8
lbl_8002BCE8:
/* 8002BCE8 00027B28 3C 80 CC 00 */ lis r4, 0xCC00203C@ha
/* 8002BCEC 00027B2C A0 64 20 3C */ lhz r3, 0xCC00203C@l(r4)
/* 8002BCF0 00027B30 54 60 04 21 */ rlwinm. r0, r3, 0, 16, 16
/* 8002BCF4 00027B34 41 82 00 10 */ beq lbl_8002BD04
/* 8002BCF8 00027B38 54 60 04 7E */ clrlwi r0, r3, 17
/* 8002BCFC 00027B3C B0 04 20 3C */ sth r0, 0x203c(r4)
/* 8002BD00 00027B40 60 C6 00 08 */ ori r6, r6, 0x8
.global lbl_8002BD04
lbl_8002BD04:
/* 8002BD04 00027B44 54 C0 07 7B */ rlwinm. r0, r6, 0, 29, 29
/* 8002BD08 00027B48 3C 60 CC 00 */ lis r3, 0xCC00203C@ha
/* 8002BD0C 00027B4C A0 03 20 3C */ lhz r0, 0xCC00203C@l(r3)
/* 8002BD10 00027B50 40 82 00 0C */ bne lbl_8002BD1C
/* 8002BD14 00027B54 54 C0 07 39 */ rlwinm. r0, r6, 0, 28, 28
/* 8002BD18 00027B58 41 82 00 80 */ beq lbl_8002BD98
.global lbl_8002BD1C
lbl_8002BD1C:
/* 8002BD1C 00027B5C 38 61 00 10 */ addi r3, r1, 0x10
/* 8002BD20 00027B60 4B FF 17 21 */ bl OSClearContext
/* 8002BD24 00027B64 38 61 00 10 */ addi r3, r1, 0x10
/* 8002BD28 00027B68 4B FF 14 D9 */ bl OSSetCurrentContext
/* 8002BD2C 00027B6C 80 0D E5 08 */ lwz r0, PositionCallback@sda21(r13)
/* 8002BD30 00027B70 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002BD34 00027B74 41 82 00 50 */ beq lbl_8002BD84
/* 8002BD38 00027B78 3C A0 CC 00 */ lis r5, 0xCC00202C@ha
/* 8002BD3C 00027B7C A0 05 20 2C */ lhz r0, 0xCC00202C@l(r5)
/* 8002BD40 00027B80 54 04 05 7E */ clrlwi r4, r0, 21
/* 8002BD44 00027B84 60 00 00 00 */ nop
.global lbl_8002BD48
lbl_8002BD48:
/* 8002BD48 00027B88 A0 65 20 2E */ lhz r3, 0x202e(r5)
/* 8002BD4C 00027B8C 7C 86 23 78 */ mr r6, r4
/* 8002BD50 00027B90 A0 05 20 2C */ lhz r0, 0x202c(r5)
/* 8002BD54 00027B94 54 63 05 7E */ clrlwi r3, r3, 21
/* 8002BD58 00027B98 54 04 05 7E */ clrlwi r4, r0, 21
/* 8002BD5C 00027B9C 7C 06 20 40 */ cmplw r6, r4
/* 8002BD60 00027BA0 40 82 FF E8 */ bne lbl_8002BD48
/* 8002BD64 00027BA4 38 A1 00 0A */ addi r5, r1, 0xa
/* 8002BD68 00027BA8 38 C1 00 08 */ addi r6, r1, 0x8
/* 8002BD6C 00027BAC 48 00 23 45 */ bl __VIDisplayPositionToXY
/* 8002BD70 00027BB0 81 8D E5 08 */ lwz r12, PositionCallback@sda21(r13)
/* 8002BD74 00027BB4 A8 61 00 0A */ lha r3, 0xa(r1)
/* 8002BD78 00027BB8 A8 81 00 08 */ lha r4, 0x8(r1)
/* 8002BD7C 00027BBC 7D 89 03 A6 */ mtctr r12
/* 8002BD80 00027BC0 4E 80 04 21 */ bctrl
.global lbl_8002BD84
lbl_8002BD84:
/* 8002BD84 00027BC4 38 61 00 10 */ addi r3, r1, 0x10
/* 8002BD88 00027BC8 4B FF 16 B9 */ bl OSClearContext
/* 8002BD8C 00027BCC 7F 83 E3 78 */ mr r3, r28
/* 8002BD90 00027BD0 4B FF 14 71 */ bl OSSetCurrentContext
/* 8002BD94 00027BD4 48 00 06 D0 */ b lbl_8002C464
.global lbl_8002BD98
lbl_8002BD98:
/* 8002BD98 00027BD8 80 8D E5 8C */ lwz r4, retraceCount@sda21(r13)
/* 8002BD9C 00027BDC 38 61 00 10 */ addi r3, r1, 0x10
/* 8002BDA0 00027BE0 38 04 00 01 */ addi r0, r4, 0x1
/* 8002BDA4 00027BE4 90 0D E5 8C */ stw r0, retraceCount@sda21(r13)
/* 8002BDA8 00027BE8 4B FF 16 99 */ bl OSClearContext
/* 8002BDAC 00027BEC 38 61 00 10 */ addi r3, r1, 0x10
/* 8002BDB0 00027BF0 4B FF 14 51 */ bl OSSetCurrentContext
/* 8002BDB4 00027BF4 81 8D E5 60 */ lwz r12, PreCB@sda21(r13)
/* 8002BDB8 00027BF8 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8002BDBC 00027BFC 41 82 00 10 */ beq lbl_8002BDCC
/* 8002BDC0 00027C00 80 6D E5 8C */ lwz r3, retraceCount@sda21(r13)
/* 8002BDC4 00027C04 7D 89 03 A6 */ mtctr r12
/* 8002BDC8 00027C08 4E 80 04 21 */ bctrl
.global lbl_8002BDCC
lbl_8002BDCC:
/* 8002BDCC 00027C0C 80 0D E4 E8 */ lwz r0, vsync_timing_test_flag@sda21(r13)
/* 8002BDD0 00027C10 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002BDD4 00027C14 41 82 00 58 */ beq lbl_8002BE2C
/* 8002BDD8 00027C18 3C 60 CC 00 */ lis r3, 0xCC00202C@ha
/* 8002BDDC 00027C1C A0 03 20 2C */ lhz r0, 0xCC00202C@l(r3)
/* 8002BDE0 00027C20 54 04 05 7E */ clrlwi r4, r0, 21
/* 8002BDE4 00027C24 60 00 00 00 */ nop
.global lbl_8002BDE8
lbl_8002BDE8:
/* 8002BDE8 00027C28 A0 03 20 2E */ lhz r0, 0x202e(r3)
/* 8002BDEC 00027C2C 7C 85 23 78 */ mr r5, r4
/* 8002BDF0 00027C30 A0 03 20 2C */ lhz r0, 0x202c(r3)
/* 8002BDF4 00027C34 54 04 05 7E */ clrlwi r4, r0, 21
/* 8002BDF8 00027C38 7C 05 20 40 */ cmplw r5, r4
/* 8002BDFC 00027C3C 40 82 FF EC */ bne lbl_8002BDE8
/* 8002BE00 00027C40 28 04 00 01 */ cmplwi r4, 0x1
/* 8002BE04 00027C44 41 82 00 28 */ beq lbl_8002BE2C
/* 8002BE08 00027C48 80 6D E5 54 */ lwz r3, CurrTiming@sda21(r13)
/* 8002BE0C 00027C4C A0 03 00 18 */ lhz r0, 0x18(r3)
/* 8002BE10 00027C50 54 03 F8 7E */ srwi r3, r0, 1
/* 8002BE14 00027C54 38 03 00 01 */ addi r0, r3, 0x1
/* 8002BE18 00027C58 7C 04 00 40 */ cmplw r4, r0
/* 8002BE1C 00027C5C 41 82 00 10 */ beq lbl_8002BE2C
/* 8002BE20 00027C60 80 6D E4 E4 */ lwz r3, vsync_timing_err_cnt@sda21(r13)
/* 8002BE24 00027C64 38 03 00 01 */ addi r0, r3, 0x1
/* 8002BE28 00027C68 90 0D E4 E4 */ stw r0, vsync_timing_err_cnt@sda21(r13)
.global lbl_8002BE2C
lbl_8002BE2C:
/* 8002BE2C 00027C6C 80 0D E5 88 */ lwz r0, flushFlag@sda21(r13)
/* 8002BE30 00027C70 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002BE34 00027C74 41 82 01 34 */ beq lbl_8002BF68
/* 8002BE38 00027C78 80 0D E5 20 */ lwz r0, shdwChangeMode@sda21(r13)
/* 8002BE3C 00027C7C 28 00 00 01 */ cmplwi r0, 0x1
/* 8002BE40 00027C80 40 82 00 60 */ bne lbl_8002BEA0
/* 8002BE44 00027C84 3C 80 CC 00 */ lis r4, 0xCC00202C@ha
/* 8002BE48 00027C88 A0 04 20 2C */ lhz r0, 0xCC00202C@l(r4)
/* 8002BE4C 00027C8C 54 07 05 7E */ clrlwi r7, r0, 21
.global lbl_8002BE50
lbl_8002BE50:
/* 8002BE50 00027C90 A0 64 20 2E */ lhz r3, 0x202e(r4)
/* 8002BE54 00027C94 7C E6 3B 78 */ mr r6, r7
/* 8002BE58 00027C98 A0 04 20 2C */ lhz r0, 0x202c(r4)
/* 8002BE5C 00027C9C 54 65 05 7E */ clrlwi r5, r3, 21
/* 8002BE60 00027CA0 54 07 05 7E */ clrlwi r7, r0, 21
/* 8002BE64 00027CA4 7C 06 38 40 */ cmplw r6, r7
/* 8002BE68 00027CA8 40 82 FF E8 */ bne lbl_8002BE50
/* 8002BE6C 00027CAC 80 CD E5 54 */ lwz r6, CurrTiming@sda21(r13)
/* 8002BE70 00027CB0 38 85 FF FF */ addi r4, r5, -0x1
/* 8002BE74 00027CB4 38 67 FF FF */ addi r3, r7, -0x1
/* 8002BE78 00027CB8 A0 06 00 1A */ lhz r0, 0x1a(r6)
/* 8002BE7C 00027CBC 54 65 08 3C */ slwi r5, r3, 1
/* 8002BE80 00027CC0 A0 66 00 18 */ lhz r3, 0x18(r6)
/* 8002BE84 00027CC4 7C 04 03 96 */ divwu r0, r4, r0
/* 8002BE88 00027CC8 7C 05 02 14 */ add r0, r5, r0
/* 8002BE8C 00027CCC 7C 60 02 78 */ xor r0, r3, r0
/* 8002BE90 00027CD0 7C 00 00 34 */ cntlzw r0, r0
/* 8002BE94 00027CD4 7C 60 00 30 */ slw r0, r3, r0
/* 8002BE98 00027CD8 54 00 0F FF */ srwi. r0, r0, 31
/* 8002BE9C 00027CDC 41 82 00 B4 */ beq lbl_8002BF50
.global lbl_8002BEA0
lbl_8002BEA0:
/* 8002BEA0 00027CE0 3B 5E 00 00 */ addi r26, r30, 0x0
/* 8002BEA4 00027CE4 3B E0 FF FF */ li r31, -0x1
/* 8002BEA8 00027CE8 3F 60 CC 00 */ lis r27, 0xcc00
/* 8002BEAC 00027CEC 48 00 00 68 */ b lbl_8002BF14
.global lbl_8002BEB0
lbl_8002BEB0:
/* 8002BEB0 00027CF0 80 0D E5 28 */ lwz r0, shdwChanged@sda21(r13)
/* 8002BEB4 00027CF4 80 6D E5 2C */ lwz r3, lbl_8055C94C@sda21(r13)
/* 8002BEB8 00027CF8 7C 04 00 34 */ cntlzw r4, r0
/* 8002BEBC 00027CFC 2C 04 00 20 */ cmpwi r4, 0x20
/* 8002BEC0 00027D00 7C 60 F8 38 */ and r0, r3, r31
/* 8002BEC4 00027D04 40 80 00 08 */ bge lbl_8002BECC
/* 8002BEC8 00027D08 48 00 00 0C */ b lbl_8002BED4
.global lbl_8002BECC
lbl_8002BECC:
/* 8002BECC 00027D0C 7C 03 00 34 */ cntlzw r3, r0
/* 8002BED0 00027D10 38 83 00 20 */ addi r4, r3, 0x20
.global lbl_8002BED4
lbl_8002BED4:
/* 8002BED4 00027D14 54 80 08 3C */ slwi r0, r4, 1
/* 8002BED8 00027D18 20 A4 00 3F */ subfic r5, r4, 0x3f
/* 8002BEDC 00027D1C 7C 7B 02 14 */ add r3, r27, r0
/* 8002BEE0 00027D20 7C 1A 02 2E */ lhzx r0, r26, r0
/* 8002BEE4 00027D24 B0 03 20 00 */ sth r0, 0x2000(r3)
/* 8002BEE8 00027D28 38 80 00 01 */ li r4, 0x1
/* 8002BEEC 00027D2C 38 60 00 00 */ li r3, 0x0
/* 8002BEF0 00027D30 4B FD B8 C5 */ bl __shl2i
/* 8002BEF4 00027D34 80 0D E5 28 */ lwz r0, shdwChanged@sda21(r13)
/* 8002BEF8 00027D38 7C 65 18 F8 */ nor r5, r3, r3
/* 8002BEFC 00027D3C 80 6D E5 2C */ lwz r3, lbl_8055C94C@sda21(r13)
/* 8002BF00 00027D40 7C 84 20 F8 */ nor r4, r4, r4
/* 8002BF04 00027D44 7C 00 28 38 */ and r0, r0, r5
/* 8002BF08 00027D48 7C 63 20 38 */ and r3, r3, r4
/* 8002BF0C 00027D4C 90 6D E5 2C */ stw r3, lbl_8055C94C@sda21(r13)
/* 8002BF10 00027D50 90 0D E5 28 */ stw r0, shdwChanged@sda21(r13)
.global lbl_8002BF14
lbl_8002BF14:
/* 8002BF14 00027D54 80 0D E5 28 */ lwz r0, shdwChanged@sda21(r13)
/* 8002BF18 00027D58 80 6D E5 2C */ lwz r3, lbl_8055C94C@sda21(r13)
/* 8002BF1C 00027D5C 7C 60 03 79 */ or. r0, r3, r0
/* 8002BF20 00027D60 40 82 FF 90 */ bne lbl_8002BEB0
/* 8002BF24 00027D64 38 7E 00 F0 */ addi r3, r30, 0xf0
/* 8002BF28 00027D68 80 0D E5 4C */ lwz r0, NextBufAddr@sda21(r13)
/* 8002BF2C 00027D6C 80 83 00 54 */ lwz r4, 0x54(r3)
/* 8002BF30 00027D70 38 A0 00 00 */ li r5, 0x0
/* 8002BF34 00027D74 80 63 00 28 */ lwz r3, 0x28(r3)
/* 8002BF38 00027D78 38 C0 00 01 */ li r6, 0x1
/* 8002BF3C 00027D7C 90 AD E5 20 */ stw r5, shdwChangeMode@sda21(r13)
/* 8002BF40 00027D80 90 8D E5 54 */ stw r4, CurrTiming@sda21(r13)
/* 8002BF44 00027D84 90 6D E5 50 */ stw r3, CurrTvMode@sda21(r13)
/* 8002BF48 00027D88 90 0D E5 48 */ stw r0, CurrBufAddr@sda21(r13)
/* 8002BF4C 00027D8C 48 00 00 08 */ b lbl_8002BF54
.global lbl_8002BF50
lbl_8002BF50:
/* 8002BF50 00027D90 38 C0 00 00 */ li r6, 0x0
.global lbl_8002BF54
lbl_8002BF54:
/* 8002BF54 00027D94 2C 06 00 00 */ cmpwi r6, 0x0
/* 8002BF58 00027D98 41 82 00 10 */ beq lbl_8002BF68
/* 8002BF5C 00027D9C 38 00 00 00 */ li r0, 0x0
/* 8002BF60 00027DA0 90 0D E5 88 */ stw r0, flushFlag@sda21(r13)
/* 8002BF64 00027DA4 4B FF FB 3D */ bl SIRefreshSamplingRate
.global lbl_8002BF68
lbl_8002BF68:
/* 8002BF68 00027DA8 4B FF 58 B9 */ bl OSDisableInterrupts
/* 8002BF6C 00027DAC 3C 80 CC 00 */ lis r4, 0xCC00206E@ha
/* 8002BF70 00027DB0 A0 04 20 6E */ lhz r0, 0xCC00206E@l(r4)
/* 8002BF74 00027DB4 54 1A 07 BE */ clrlwi r26, r0, 30
/* 8002BF78 00027DB8 4B FF 58 E9 */ bl OSRestoreInterrupts
/* 8002BF7C 00027DBC 80 0D 81 10 */ lwz r0, "@LOCAL@__VIRetraceHandler__FsP9OSContext@old_dtvStatus"@sda21(r13)
/* 8002BF80 00027DC0 57 5A 07 FE */ clrlwi r26, r26, 31
/* 8002BF84 00027DC4 7C 1A 00 40 */ cmplw r26, r0
/* 8002BF88 00027DC8 41 82 00 0C */ beq lbl_8002BF94
/* 8002BF8C 00027DCC 7F 43 D3 78 */ mr r3, r26
/* 8002BF90 00027DD0 48 00 2E 21 */ bl __VISetYUVSEL
.global lbl_8002BF94
lbl_8002BF94:
/* 8002BF94 00027DD4 93 4D 81 10 */ stw r26, "@LOCAL@__VIRetraceHandler__FsP9OSContext@old_dtvStatus"@sda21(r13)
/* 8002BF98 00027DD8 4B FF 58 89 */ bl OSDisableInterrupts
/* 8002BF9C 00027DDC 80 AD E5 50 */ lwz r5, CurrTvMode@sda21(r13)
/* 8002BFA0 00027DE0 28 05 00 08 */ cmplwi r5, 0x8
/* 8002BFA4 00027DE4 41 81 00 30 */ bgt lbl_8002BFD4
/* 8002BFA8 00027DE8 3C 80 80 43 */ lis r4, "@3436"@ha
/* 8002BFAC 00027DEC 54 A0 10 3A */ slwi r0, r5, 2
/* 8002BFB0 00027DF0 38 84 FF 78 */ addi r4, r4, "@3436"@l
/* 8002BFB4 00027DF4 7C 84 00 2E */ lwzx r4, r4, r0
/* 8002BFB8 00027DF8 7C 89 03 A6 */ mtctr r4
/* 8002BFBC 00027DFC 4E 80 04 20 */ bctr
.global lbl_8002BFC0
lbl_8002BFC0:
/* 8002BFC0 00027E00 3B A0 00 00 */ li r29, 0x0
/* 8002BFC4 00027E04 48 00 00 10 */ b lbl_8002BFD4
.global lbl_8002BFC8
lbl_8002BFC8:
/* 8002BFC8 00027E08 3B A0 00 01 */ li r29, 0x1
/* 8002BFCC 00027E0C 48 00 00 08 */ b lbl_8002BFD4
.global lbl_8002BFD0
lbl_8002BFD0:
/* 8002BFD0 00027E10 7C BD 2B 78 */ mr r29, r5
.global lbl_8002BFD4
lbl_8002BFD4:
/* 8002BFD4 00027E14 4B FF 58 8D */ bl OSRestoreInterrupts
/* 8002BFD8 00027E18 80 0D 81 14 */ lwz r0, "@LOCAL@__VIRetraceHandler__FsP9OSContext@old_tvtype@0"@sda21(r13)
/* 8002BFDC 00027E1C 7C 1D 00 40 */ cmplw r29, r0
/* 8002BFE0 00027E20 41 82 00 CC */ beq lbl_8002C0AC
/* 8002BFE4 00027E24 28 1D 00 05 */ cmplwi r29, 0x5
/* 8002BFE8 00027E28 40 82 00 10 */ bne lbl_8002BFF8
/* 8002BFEC 00027E2C 38 60 00 01 */ li r3, 0x1
/* 8002BFF0 00027E30 48 00 2E 61 */ bl __VISetFilter4EURGB60
/* 8002BFF4 00027E34 48 00 00 0C */ b lbl_8002C000
.global lbl_8002BFF8
lbl_8002BFF8:
/* 8002BFF8 00027E38 38 60 00 00 */ li r3, 0x0
/* 8002BFFC 00027E3C 48 00 2E 55 */ bl __VISetFilter4EURGB60
.global lbl_8002C000
lbl_8002C000:
/* 8002C000 00027E40 28 1D 00 01 */ cmplwi r29, 0x1
/* 8002C004 00027E44 40 82 00 50 */ bne lbl_8002C054
/* 8002C008 00027E48 80 0D E5 78 */ lwz r0, g_current_time_to_dim@sda21(r13)
/* 8002C00C 00027E4C 2C 00 00 01 */ cmpwi r0, 0x1
/* 8002C010 00027E50 41 82 00 10 */ beq lbl_8002C020
/* 8002C014 00027E54 2C 00 00 02 */ cmpwi r0, 0x2
/* 8002C018 00027E58 41 82 00 14 */ beq lbl_8002C02C
/* 8002C01C 00027E5C 48 00 00 20 */ b lbl_8002C03C
.global lbl_8002C020
lbl_8002C020:
/* 8002C020 00027E60 38 00 75 30 */ li r0, 0x7530
/* 8002C024 00027E64 90 0D E4 F4 */ stw r0, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002C028 00027E68 48 00 00 1C */ b lbl_8002C044
.global lbl_8002C02C
lbl_8002C02C:
/* 8002C02C 00027E6C 3C 60 00 01 */ lis r3, 0x1
/* 8002C030 00027E70 38 03 AF C8 */ addi r0, r3, -0x5038
/* 8002C034 00027E74 90 0D E4 F4 */ stw r0, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002C038 00027E78 48 00 00 0C */ b lbl_8002C044
.global lbl_8002C03C
lbl_8002C03C:
/* 8002C03C 00027E7C 38 00 3A 98 */ li r0, 0x3a98
/* 8002C040 00027E80 90 0D E4 F4 */ stw r0, NEW_TIME_TO_DIMMING@sda21(r13)
.global lbl_8002C044
lbl_8002C044:
/* 8002C044 00027E84 3C 60 00 01 */ lis r3, 0x1
/* 8002C048 00027E88 38 03 5F 90 */ addi r0, r3, 0x5f90
/* 8002C04C 00027E8C 90 0D E4 F8 */ stw r0, THD_TIME_TO_DVD_STOP@sda21(r13)
/* 8002C050 00027E90 48 00 00 50 */ b lbl_8002C0A0
.global lbl_8002C054
lbl_8002C054:
/* 8002C054 00027E94 80 0D E5 78 */ lwz r0, g_current_time_to_dim@sda21(r13)
/* 8002C058 00027E98 2C 00 00 01 */ cmpwi r0, 0x1
/* 8002C05C 00027E9C 41 82 00 10 */ beq lbl_8002C06C
/* 8002C060 00027EA0 2C 00 00 02 */ cmpwi r0, 0x2
/* 8002C064 00027EA4 41 82 00 18 */ beq lbl_8002C07C
/* 8002C068 00027EA8 48 00 00 24 */ b lbl_8002C08C
.global lbl_8002C06C
lbl_8002C06C:
/* 8002C06C 00027EAC 3C 60 00 01 */ lis r3, 0x1
/* 8002C070 00027EB0 38 03 8C A0 */ addi r0, r3, -0x7360
/* 8002C074 00027EB4 90 0D E4 F4 */ stw r0, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002C078 00027EB8 48 00 00 1C */ b lbl_8002C094
.global lbl_8002C07C
lbl_8002C07C:
/* 8002C07C 00027EBC 3C 60 00 01 */ lis r3, 0x1
/* 8002C080 00027EC0 38 03 D2 F0 */ addi r0, r3, -0x2d10
/* 8002C084 00027EC4 90 0D E4 F4 */ stw r0, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002C088 00027EC8 48 00 00 0C */ b lbl_8002C094
.global lbl_8002C08C
lbl_8002C08C:
/* 8002C08C 00027ECC 38 00 46 50 */ li r0, 0x4650
/* 8002C090 00027ED0 90 0D E4 F4 */ stw r0, NEW_TIME_TO_DIMMING@sda21(r13)
.global lbl_8002C094
lbl_8002C094:
/* 8002C094 00027ED4 3C 60 00 02 */ lis r3, 0x2
/* 8002C098 00027ED8 38 03 A5 E0 */ addi r0, r3, -0x5a20
/* 8002C09C 00027EDC 90 0D E4 F8 */ stw r0, THD_TIME_TO_DVD_STOP@sda21(r13)
.global lbl_8002C0A0
lbl_8002C0A0:
/* 8002C0A0 00027EE0 38 00 00 00 */ li r0, 0x0
/* 8002C0A4 00027EE4 90 0D E4 FC */ stw r0, _gIdleCount_dimming@sda21(r13)
/* 8002C0A8 00027EE8 90 0D E5 00 */ stw r0, _gIdleCount_dvd@sda21(r13)
.global lbl_8002C0AC
lbl_8002C0AC:
/* 8002C0AC 00027EEC 80 0D E5 84 */ lwz r0, flushFlag3in1@sda21(r13)
/* 8002C0B0 00027EF0 93 AD 81 14 */ stw r29, "@LOCAL@__VIRetraceHandler__FsP9OSContext@old_tvtype@0"@sda21(r13)
/* 8002C0B4 00027EF4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002C0B8 00027EF8 41 82 00 D8 */ beq lbl_8002C190
/* 8002C0BC 00027EFC 3B A0 00 01 */ li r29, 0x1
/* 8002C0C0 00027F00 48 00 00 BC */ b lbl_8002C17C
.global lbl_8002C0C4
lbl_8002C0C4:
/* 8002C0C4 00027F04 80 0D E5 98 */ lwz r0, Vdac_Flag_Changed@sda21(r13)
/* 8002C0C8 00027F08 7C 00 00 34 */ cntlzw r0, r0
/* 8002C0CC 00027F0C 20 00 00 1F */ subfic r0, r0, 0x1f
/* 8002C0D0 00027F10 7F BA 00 30 */ slw r26, r29, r0
/* 8002C0D4 00027F14 2C 1A 00 10 */ cmpwi r26, 0x10
/* 8002C0D8 00027F18 41 82 00 7C */ beq lbl_8002C154
/* 8002C0DC 00027F1C 40 80 00 34 */ bge lbl_8002C110
/* 8002C0E0 00027F20 2C 1A 00 04 */ cmpwi r26, 0x4
/* 8002C0E4 00027F24 41 82 00 60 */ beq lbl_8002C144
/* 8002C0E8 00027F28 40 80 00 1C */ bge lbl_8002C104
/* 8002C0EC 00027F2C 2C 1A 00 02 */ cmpwi r26, 0x2
/* 8002C0F0 00027F30 41 82 00 4C */ beq lbl_8002C13C
/* 8002C0F4 00027F34 40 80 00 7C */ bge lbl_8002C170
/* 8002C0F8 00027F38 2C 1A 00 01 */ cmpwi r26, 0x1
/* 8002C0FC 00027F3C 40 80 00 38 */ bge lbl_8002C134
/* 8002C100 00027F40 48 00 00 70 */ b lbl_8002C170
.global lbl_8002C104
lbl_8002C104:
/* 8002C104 00027F44 2C 1A 00 08 */ cmpwi r26, 0x8
/* 8002C108 00027F48 41 82 00 44 */ beq lbl_8002C14C
/* 8002C10C 00027F4C 48 00 00 64 */ b lbl_8002C170
.global lbl_8002C110
lbl_8002C110:
/* 8002C110 00027F50 2C 1A 00 40 */ cmpwi r26, 0x40
/* 8002C114 00027F54 41 82 00 50 */ beq lbl_8002C164
/* 8002C118 00027F58 40 80 00 10 */ bge lbl_8002C128
/* 8002C11C 00027F5C 2C 1A 00 20 */ cmpwi r26, 0x20
/* 8002C120 00027F60 41 82 00 3C */ beq lbl_8002C15C
/* 8002C124 00027F64 48 00 00 4C */ b lbl_8002C170
.global lbl_8002C128
lbl_8002C128:
/* 8002C128 00027F68 2C 1A 00 80 */ cmpwi r26, 0x80
/* 8002C12C 00027F6C 41 82 00 40 */ beq lbl_8002C16C
/* 8002C130 00027F70 48 00 00 40 */ b lbl_8002C170
.global lbl_8002C134
lbl_8002C134:
/* 8002C134 00027F74 48 00 2D 5D */ bl __VISetCGMS
/* 8002C138 00027F78 48 00 00 38 */ b lbl_8002C170
.global lbl_8002C13C
lbl_8002C13C:
/* 8002C13C 00027F7C 48 00 2D B5 */ bl __VISetWSS
/* 8002C140 00027F80 48 00 00 30 */ b lbl_8002C170
.global lbl_8002C144
lbl_8002C144:
/* 8002C144 00027F84 48 00 2E 1D */ bl __VISetClosedCaption
/* 8002C148 00027F88 48 00 00 28 */ b lbl_8002C170
.global lbl_8002C14C
lbl_8002C14C:
/* 8002C14C 00027F8C 48 00 2E 85 */ bl __VISetMacrovision
/* 8002C150 00027F90 48 00 00 20 */ b lbl_8002C170
.global lbl_8002C154
lbl_8002C154:
/* 8002C154 00027F94 48 00 3D 6D */ bl __VISetGamma
/* 8002C158 00027F98 48 00 00 18 */ b lbl_8002C170
.global lbl_8002C15C
lbl_8002C15C:
/* 8002C15C 00027F9C 48 00 3D 85 */ bl __VISetTrapFilter
/* 8002C160 00027FA0 48 00 00 10 */ b lbl_8002C170
.global lbl_8002C164
lbl_8002C164:
/* 8002C164 00027FA4 48 00 3D DD */ bl __VISetRGBOverDrive
/* 8002C168 00027FA8 48 00 00 08 */ b lbl_8002C170
.global lbl_8002C16C
lbl_8002C16C:
/* 8002C16C 00027FAC 48 00 3E 75 */ bl __VISetRGBModeImm
.global lbl_8002C170
lbl_8002C170:
/* 8002C170 00027FB0 80 0D E5 98 */ lwz r0, Vdac_Flag_Changed@sda21(r13)
/* 8002C174 00027FB4 7C 00 D0 78 */ andc r0, r0, r26
/* 8002C178 00027FB8 90 0D E5 98 */ stw r0, Vdac_Flag_Changed@sda21(r13)
.global lbl_8002C17C
lbl_8002C17C:
/* 8002C17C 00027FBC 80 0D E5 98 */ lwz r0, Vdac_Flag_Changed@sda21(r13)
/* 8002C180 00027FC0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002C184 00027FC4 40 82 FF 40 */ bne lbl_8002C0C4
/* 8002C188 00027FC8 38 00 00 00 */ li r0, 0x0
/* 8002C18C 00027FCC 90 0D E5 84 */ stw r0, flushFlag3in1@sda21(r13)
.global lbl_8002C190
lbl_8002C190:
/* 8002C190 00027FD0 80 0D E5 5C */ lwz r0, PostCB@sda21(r13)
/* 8002C194 00027FD4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002C198 00027FD8 41 82 00 1C */ beq lbl_8002C1B4
/* 8002C19C 00027FDC 38 61 00 10 */ addi r3, r1, 0x10
/* 8002C1A0 00027FE0 4B FF 12 A1 */ bl OSClearContext
/* 8002C1A4 00027FE4 81 8D E5 5C */ lwz r12, PostCB@sda21(r13)
/* 8002C1A8 00027FE8 80 6D E5 8C */ lwz r3, retraceCount@sda21(r13)
/* 8002C1AC 00027FEC 7D 89 03 A6 */ mtctr r12
/* 8002C1B0 00027FF0 4E 80 04 21 */ bctrl
.global lbl_8002C1B4
lbl_8002C1B4:
/* 8002C1B4 00027FF4 38 6D E5 68 */ addi r3, r13, retraceQueue@sda21
/* 8002C1B8 00027FF8 4B FF 97 49 */ bl OSWakeupThread
/* 8002C1BC 00027FFC 38 61 00 10 */ addi r3, r1, 0x10
/* 8002C1C0 00028000 4B FF 12 81 */ bl OSClearContext
/* 8002C1C4 00028004 7F 83 E3 78 */ mr r3, r28
/* 8002C1C8 00028008 4B FF 10 39 */ bl OSSetCurrentContext
/* 8002C1CC 0002800C 80 0D E4 EC */ lwz r0, __VIDimming_All_Clear@sda21(r13)
/* 8002C1D0 00028010 2C 00 00 01 */ cmpwi r0, 0x1
/* 8002C1D4 00028014 40 82 00 28 */ bne lbl_8002C1FC
/* 8002C1D8 00028018 38 60 00 00 */ li r3, 0x0
/* 8002C1DC 0002801C 38 80 00 00 */ li r4, 0x0
/* 8002C1E0 00028020 38 A0 00 00 */ li r5, 0x0
/* 8002C1E4 00028024 4B FF A4 1D */ bl __OSSetVIForceDimming
/* 8002C1E8 00028028 2C 03 00 01 */ cmpwi r3, 0x1
/* 8002C1EC 0002802C 40 82 00 10 */ bne lbl_8002C1FC
/* 8002C1F0 00028030 38 00 00 00 */ li r0, 0x0
/* 8002C1F4 00028034 90 0D E4 EC */ stw r0, __VIDimming_All_Clear@sda21(r13)
/* 8002C1F8 00028038 90 0D E4 FC */ stw r0, _gIdleCount_dimming@sda21(r13)
.global lbl_8002C1FC
lbl_8002C1FC:
/* 8002C1FC 0002803C 38 00 00 0A */ li r0, 0xa
/* 8002C200 00028040 38 7E 01 48 */ addi r3, r30, 0x148
/* 8002C204 00028044 7C 09 03 A6 */ mtctr r0
.global lbl_8002C208
lbl_8002C208:
/* 8002C208 00028048 80 03 00 00 */ lwz r0, 0x0(r3)
/* 8002C20C 0002804C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002C210 00028050 40 82 00 10 */ bne lbl_8002C220
/* 8002C214 00028054 38 00 00 00 */ li r0, 0x0
/* 8002C218 00028058 90 1E 01 48 */ stw r0, 0x148(r30)
/* 8002C21C 0002805C 48 00 00 0C */ b lbl_8002C228
.global lbl_8002C220
lbl_8002C220:
/* 8002C220 00028060 38 63 00 04 */ addi r3, r3, 0x4
/* 8002C224 00028064 42 00 FF E4 */ bdnz lbl_8002C208
.global lbl_8002C228
lbl_8002C228:
/* 8002C228 00028068 80 0D E5 74 */ lwz r0, __VIDimmingFlag_RF_IDLE@sda21(r13)
/* 8002C22C 0002806C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002C230 00028070 41 82 00 70 */ beq lbl_8002C2A0
/* 8002C234 00028074 80 0D E5 70 */ lwz r0, __VIDimmingFlag_SI_IDLE@sda21(r13)
/* 8002C238 00028078 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002C23C 0002807C 41 82 00 64 */ beq lbl_8002C2A0
/* 8002C240 00028080 80 1E 01 48 */ lwz r0, 0x148(r30)
/* 8002C244 00028084 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002C248 00028088 41 82 00 58 */ beq lbl_8002C2A0
/* 8002C24C 0002808C 80 0D E5 80 */ lwz r0, __VIDimmingFlag_Enable@sda21(r13)
/* 8002C250 00028090 2C 00 00 01 */ cmpwi r0, 0x1
/* 8002C254 00028094 40 82 00 20 */ bne lbl_8002C274
/* 8002C258 00028098 80 6D E4 FC */ lwz r3, _gIdleCount_dimming@sda21(r13)
/* 8002C25C 0002809C 38 00 FF FF */ li r0, -0x1
/* 8002C260 000280A0 7C 03 00 40 */ cmplw r3, r0
/* 8002C264 000280A4 40 80 00 10 */ bge lbl_8002C274
/* 8002C268 000280A8 80 6D E4 FC */ lwz r3, _gIdleCount_dimming@sda21(r13)
/* 8002C26C 000280AC 38 03 00 01 */ addi r0, r3, 0x1
/* 8002C270 000280B0 90 0D E4 FC */ stw r0, _gIdleCount_dimming@sda21(r13)
.global lbl_8002C274
lbl_8002C274:
/* 8002C274 000280B4 80 0D E5 7C */ lwz r0, __VIDVDStopFlag_Enable@sda21(r13)
/* 8002C278 000280B8 2C 00 00 01 */ cmpwi r0, 0x1
/* 8002C27C 000280BC 40 82 00 64 */ bne lbl_8002C2E0
/* 8002C280 000280C0 80 6D E5 00 */ lwz r3, _gIdleCount_dvd@sda21(r13)
/* 8002C284 000280C4 38 00 FF FF */ li r0, -0x1
/* 8002C288 000280C8 7C 03 00 40 */ cmplw r3, r0
/* 8002C28C 000280CC 40 80 00 54 */ bge lbl_8002C2E0
/* 8002C290 000280D0 80 6D E5 00 */ lwz r3, _gIdleCount_dvd@sda21(r13)
/* 8002C294 000280D4 38 03 00 01 */ addi r0, r3, 0x1
/* 8002C298 000280D8 90 0D E5 00 */ stw r0, _gIdleCount_dvd@sda21(r13)
/* 8002C29C 000280DC 48 00 00 44 */ b lbl_8002C2E0
.global lbl_8002C2A0
lbl_8002C2A0:
/* 8002C2A0 000280E0 80 6D E4 FC */ lwz r3, _gIdleCount_dimming@sda21(r13)
/* 8002C2A4 000280E4 80 0D E4 F0 */ lwz r0, THD_TIME_TO_DIMMING@sda21(r13)
/* 8002C2A8 000280E8 7C 03 00 40 */ cmplw r3, r0
/* 8002C2AC 000280EC 41 80 00 0C */ blt lbl_8002C2B8
/* 8002C2B0 000280F0 38 00 00 01 */ li r0, 0x1
/* 8002C2B4 000280F4 90 0D E5 40 */ stw r0, "@LOCAL@__VIRetraceHandler__FsP9OSContext@DimmingOFF_Pending@4"@sda21(r13)
.global lbl_8002C2B8
lbl_8002C2B8:
/* 8002C2B8 000280F8 80 6D E5 00 */ lwz r3, _gIdleCount_dvd@sda21(r13)
/* 8002C2BC 000280FC 80 0D E4 F8 */ lwz r0, THD_TIME_TO_DVD_STOP@sda21(r13)
/* 8002C2C0 00028100 7C 03 00 40 */ cmplw r3, r0
/* 8002C2C4 00028104 41 80 00 08 */ blt lbl_8002C2CC
/* 8002C2C8 00028108 4B FF 81 D9 */ bl DefaultSwitchThreadCallback
.global lbl_8002C2CC
lbl_8002C2CC:
/* 8002C2CC 0002810C 38 00 00 00 */ li r0, 0x0
/* 8002C2D0 00028110 90 0D E4 FC */ stw r0, _gIdleCount_dimming@sda21(r13)
/* 8002C2D4 00028114 90 0D E5 00 */ stw r0, _gIdleCount_dvd@sda21(r13)
/* 8002C2D8 00028118 80 0D E4 F4 */ lwz r0, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002C2DC 0002811C 90 0D E4 F0 */ stw r0, THD_TIME_TO_DIMMING@sda21(r13)
.global lbl_8002C2E0
lbl_8002C2E0:
/* 8002C2E0 00028120 80 6D 81 18 */ lwz r3, "@LOCAL@__VIRetraceHandler__FsP9OSContext@__VIDimmingFlag_Enable_old@1"@sda21(r13)
/* 8002C2E4 00028124 80 0D E5 80 */ lwz r0, __VIDimmingFlag_Enable@sda21(r13)
/* 8002C2E8 00028128 7C 03 00 00 */ cmpw r3, r0
/* 8002C2EC 0002812C 41 82 00 38 */ beq lbl_8002C324
/* 8002C2F0 00028130 80 0D E5 80 */ lwz r0, __VIDimmingFlag_Enable@sda21(r13)
/* 8002C2F4 00028134 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002C2F8 00028138 40 82 00 1C */ bne lbl_8002C314
/* 8002C2FC 0002813C 80 6D E4 FC */ lwz r3, _gIdleCount_dimming@sda21(r13)
/* 8002C300 00028140 80 0D E4 F0 */ lwz r0, THD_TIME_TO_DIMMING@sda21(r13)
/* 8002C304 00028144 7C 03 00 40 */ cmplw r3, r0
/* 8002C308 00028148 41 80 00 0C */ blt lbl_8002C314
/* 8002C30C 0002814C 38 00 00 01 */ li r0, 0x1
/* 8002C310 00028150 90 0D E5 40 */ stw r0, "@LOCAL@__VIRetraceHandler__FsP9OSContext@DimmingOFF_Pending@4"@sda21(r13)
.global lbl_8002C314
lbl_8002C314:
/* 8002C314 00028154 38 00 00 00 */ li r0, 0x0
/* 8002C318 00028158 90 0D E4 FC */ stw r0, _gIdleCount_dimming@sda21(r13)
/* 8002C31C 0002815C 80 0D E4 F4 */ lwz r0, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002C320 00028160 90 0D E4 F0 */ stw r0, THD_TIME_TO_DIMMING@sda21(r13)
.global lbl_8002C324
lbl_8002C324:
/* 8002C324 00028164 80 6D E4 FC */ lwz r3, _gIdleCount_dimming@sda21(r13)
/* 8002C328 00028168 80 0D E4 F0 */ lwz r0, THD_TIME_TO_DIMMING@sda21(r13)
/* 8002C32C 0002816C 7C 03 00 40 */ cmplw r3, r0
/* 8002C330 00028170 40 82 00 0C */ bne lbl_8002C33C
/* 8002C334 00028174 38 00 00 01 */ li r0, 0x1
/* 8002C338 00028178 90 0D E5 3C */ stw r0, "@LOCAL@__VIRetraceHandler__FsP9OSContext@DimmingON_Pending@3"@sda21(r13)
.global lbl_8002C33C
lbl_8002C33C:
/* 8002C33C 0002817C 80 0D E5 40 */ lwz r0, "@LOCAL@__VIRetraceHandler__FsP9OSContext@DimmingOFF_Pending@4"@sda21(r13)
/* 8002C340 00028180 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002C344 00028184 41 82 00 28 */ beq lbl_8002C36C
/* 8002C348 00028188 38 60 00 00 */ li r3, 0x0
/* 8002C34C 0002818C 38 80 00 02 */ li r4, 0x2
/* 8002C350 00028190 38 A0 00 02 */ li r5, 0x2
/* 8002C354 00028194 4B FF A2 AD */ bl __OSSetVIForceDimming
/* 8002C358 00028198 2C 03 00 01 */ cmpwi r3, 0x1
/* 8002C35C 0002819C 40 82 00 10 */ bne lbl_8002C36C
/* 8002C360 000281A0 38 00 00 00 */ li r0, 0x0
/* 8002C364 000281A4 90 0D E5 40 */ stw r0, "@LOCAL@__VIRetraceHandler__FsP9OSContext@DimmingOFF_Pending@4"@sda21(r13)
/* 8002C368 000281A8 90 0D E5 04 */ stw r0, __VIDimmingState@sda21(r13)
.global lbl_8002C36C
lbl_8002C36C:
/* 8002C36C 000281AC 80 0D E5 3C */ lwz r0, "@LOCAL@__VIRetraceHandler__FsP9OSContext@DimmingON_Pending@3"@sda21(r13)
/* 8002C370 000281B0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002C374 000281B4 41 82 00 2C */ beq lbl_8002C3A0
/* 8002C378 000281B8 38 60 00 01 */ li r3, 0x1
/* 8002C37C 000281BC 38 80 00 02 */ li r4, 0x2
/* 8002C380 000281C0 38 A0 00 02 */ li r5, 0x2
/* 8002C384 000281C4 4B FF A2 7D */ bl __OSSetVIForceDimming
/* 8002C388 000281C8 2C 03 00 01 */ cmpwi r3, 0x1
/* 8002C38C 000281CC 40 82 00 14 */ bne lbl_8002C3A0
/* 8002C390 000281D0 38 60 00 00 */ li r3, 0x0
/* 8002C394 000281D4 38 00 00 01 */ li r0, 0x1
/* 8002C398 000281D8 90 6D E5 3C */ stw r3, "@LOCAL@__VIRetraceHandler__FsP9OSContext@DimmingON_Pending@3"@sda21(r13)
/* 8002C39C 000281DC 90 0D E5 04 */ stw r0, __VIDimmingState@sda21(r13)
.global lbl_8002C3A0
lbl_8002C3A0:
/* 8002C3A0 000281E0 80 6D 81 1C */ lwz r3, "@LOCAL@__VIRetraceHandler__FsP9OSContext@__VIDVDStopFlag_Enable_old@2"@sda21(r13)
/* 8002C3A4 000281E4 80 0D E5 7C */ lwz r0, __VIDVDStopFlag_Enable@sda21(r13)
/* 8002C3A8 000281E8 7C 03 00 00 */ cmpw r3, r0
/* 8002C3AC 000281EC 41 82 00 2C */ beq lbl_8002C3D8
/* 8002C3B0 000281F0 80 0D E5 7C */ lwz r0, __VIDVDStopFlag_Enable@sda21(r13)
/* 8002C3B4 000281F4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002C3B8 000281F8 40 82 00 18 */ bne lbl_8002C3D0
/* 8002C3BC 000281FC 80 6D E5 00 */ lwz r3, _gIdleCount_dvd@sda21(r13)
/* 8002C3C0 00028200 80 0D E4 F8 */ lwz r0, THD_TIME_TO_DVD_STOP@sda21(r13)
/* 8002C3C4 00028204 7C 03 00 40 */ cmplw r3, r0
/* 8002C3C8 00028208 41 80 00 08 */ blt lbl_8002C3D0
/* 8002C3CC 0002820C 4B FF 80 D5 */ bl DefaultSwitchThreadCallback
.global lbl_8002C3D0
lbl_8002C3D0:
/* 8002C3D0 00028210 38 00 00 00 */ li r0, 0x0
/* 8002C3D4 00028214 90 0D E5 00 */ stw r0, _gIdleCount_dvd@sda21(r13)
.global lbl_8002C3D8
lbl_8002C3D8:
/* 8002C3D8 00028218 80 6D E5 00 */ lwz r3, _gIdleCount_dvd@sda21(r13)
/* 8002C3DC 0002821C 80 0D E4 F8 */ lwz r0, THD_TIME_TO_DVD_STOP@sda21(r13)
/* 8002C3E0 00028220 7C 03 00 40 */ cmplw r3, r0
/* 8002C3E4 00028224 40 82 00 14 */ bne lbl_8002C3F8
/* 8002C3E8 00028228 3C 60 80 4A */ lis r3, __DVDStopMotorCommandBlock@ha
/* 8002C3EC 0002822C 38 80 00 00 */ li r4, 0x0
/* 8002C3F0 00028230 38 63 FA 50 */ addi r3, r3, __DVDStopMotorCommandBlock@l
/* 8002C3F4 00028234 48 0D C6 0D */ bl CanCancel__Q34nw4r2ut13DvdFileStreamCFv
.global lbl_8002C3F8
lbl_8002C3F8:
/* 8002C3F8 00028238 38 00 00 01 */ li r0, 0x1
/* 8002C3FC 0002823C 90 0D E5 74 */ stw r0, __VIDimmingFlag_RF_IDLE@sda21(r13)
/* 8002C400 00028240 38 7E 01 48 */ addi r3, r30, 0x148
/* 8002C404 00028244 90 0D E5 70 */ stw r0, __VIDimmingFlag_SI_IDLE@sda21(r13)
/* 8002C408 00028248 90 03 00 00 */ stw r0, 0x0(r3)
/* 8002C40C 0002824C 90 03 00 04 */ stw r0, 0x4(r3)
/* 8002C410 00028250 90 03 00 08 */ stw r0, 0x8(r3)
/* 8002C414 00028254 90 03 00 0C */ stw r0, 0xc(r3)
/* 8002C418 00028258 90 03 00 10 */ stw r0, 0x10(r3)
/* 8002C41C 0002825C 90 03 00 14 */ stw r0, 0x14(r3)
/* 8002C420 00028260 90 03 00 18 */ stw r0, 0x18(r3)
/* 8002C424 00028264 90 03 00 1C */ stw r0, 0x1c(r3)
/* 8002C428 00028268 90 03 00 20 */ stw r0, 0x20(r3)
/* 8002C42C 0002826C 90 03 00 24 */ stw r0, 0x24(r3)
/* 8002C430 00028270 80 AD E5 80 */ lwz r5, __VIDimmingFlag_Enable@sda21(r13)
/* 8002C434 00028274 80 8D E5 7C */ lwz r4, __VIDVDStopFlag_Enable@sda21(r13)
/* 8002C438 00028278 80 6D E4 F4 */ lwz r3, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002C43C 0002827C 80 0D E4 FC */ lwz r0, _gIdleCount_dimming@sda21(r13)
/* 8002C440 00028280 90 AD 81 18 */ stw r5, "@LOCAL@__VIRetraceHandler__FsP9OSContext@__VIDimmingFlag_Enable_old@1"@sda21(r13)
/* 8002C444 00028284 7C 03 00 40 */ cmplw r3, r0
/* 8002C448 00028288 90 8D 81 1C */ stw r4, "@LOCAL@__VIRetraceHandler__FsP9OSContext@__VIDVDStopFlag_Enable_old@2"@sda21(r13)
/* 8002C44C 0002828C 40 81 00 18 */ ble lbl_8002C464
/* 8002C450 00028290 80 0D E5 04 */ lwz r0, __VIDimmingState@sda21(r13)
/* 8002C454 00028294 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002C458 00028298 40 82 00 0C */ bne lbl_8002C464
/* 8002C45C 0002829C 80 0D E4 F4 */ lwz r0, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002C460 000282A0 90 0D E4 F0 */ stw r0, THD_TIME_TO_DIMMING@sda21(r13)
.global lbl_8002C464
lbl_8002C464:
/* 8002C464 000282A4 39 61 02 F0 */ addi r11, r1, 0x2f0
/* 8002C468 000282A8 4B FD AF 1D */ bl lbl_80007384
/* 8002C46C 000282AC 80 01 02 F4 */ lwz r0, 0x2f4(r1)
/* 8002C470 000282B0 7C 08 03 A6 */ mtlr r0
/* 8002C474 000282B4 38 21 02 F0 */ addi r1, r1, 0x2f0
/* 8002C478 000282B8 4E 80 00 20 */ blr
/* 8002C47C 000282BC 00 00 00 00 */ .4byte 0x00000000
.global VISetPreRetraceCallback
VISetPreRetraceCallback:
/* 8002C480 000282C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002C484 000282C4 7C 08 02 A6 */ mflr r0
/* 8002C488 000282C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002C48C 000282CC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002C490 000282D0 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8002C494 000282D4 7C 7E 1B 78 */ mr r30, r3
/* 8002C498 000282D8 83 ED E5 60 */ lwz r31, PreCB@sda21(r13)
/* 8002C49C 000282DC 4B FF 53 85 */ bl OSDisableInterrupts
/* 8002C4A0 000282E0 93 CD E5 60 */ stw r30, PreCB@sda21(r13)
/* 8002C4A4 000282E4 4B FF 53 BD */ bl OSRestoreInterrupts
/* 8002C4A8 000282E8 7F E3 FB 78 */ mr r3, r31
/* 8002C4AC 000282EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002C4B0 000282F0 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8002C4B4 000282F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002C4B8 000282F8 7C 08 03 A6 */ mtlr r0
/* 8002C4BC 000282FC 38 21 00 10 */ addi r1, r1, 0x10
/* 8002C4C0 00028300 4E 80 00 20 */ blr
/* 8002C4C4 00028304 00 00 00 00 */ .4byte 0x00000000
/* 8002C4C8 00028308 00 00 00 00 */ .4byte 0x00000000
/* 8002C4CC 0002830C 00 00 00 00 */ .4byte 0x00000000
.global VISetPostRetraceCallback
VISetPostRetraceCallback:
/* 8002C4D0 00028310 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002C4D4 00028314 7C 08 02 A6 */ mflr r0
/* 8002C4D8 00028318 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002C4DC 0002831C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002C4E0 00028320 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8002C4E4 00028324 7C 7E 1B 78 */ mr r30, r3
/* 8002C4E8 00028328 83 ED E5 5C */ lwz r31, PostCB@sda21(r13)
/* 8002C4EC 0002832C 4B FF 53 35 */ bl OSDisableInterrupts
/* 8002C4F0 00028330 93 CD E5 5C */ stw r30, PostCB@sda21(r13)
/* 8002C4F4 00028334 4B FF 53 6D */ bl OSRestoreInterrupts
/* 8002C4F8 00028338 7F E3 FB 78 */ mr r3, r31
/* 8002C4FC 0002833C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002C500 00028340 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8002C504 00028344 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002C508 00028348 7C 08 03 A6 */ mtlr r0
/* 8002C50C 0002834C 38 21 00 10 */ addi r1, r1, 0x10
/* 8002C510 00028350 4E 80 00 20 */ blr
/* 8002C514 00028354 00 00 00 00 */ .4byte 0x00000000
/* 8002C518 00028358 00 00 00 00 */ .4byte 0x00000000
/* 8002C51C 0002835C 00 00 00 00 */ .4byte 0x00000000
.global getTiming
getTiming:
/* 8002C520 00028360 28 03 00 22 */ cmplwi r3, 0x22
/* 8002C524 00028364 41 81 01 0C */ bgt lbl_8002C630
/* 8002C528 00028368 3C 80 80 43 */ lis r4, "@3466"@ha
/* 8002C52C 0002836C 54 60 10 3A */ slwi r0, r3, 2
/* 8002C530 00028370 38 84 FF 9C */ addi r4, r4, "@3466"@l
/* 8002C534 00028374 7C 84 00 2E */ lwzx r4, r4, r0
/* 8002C538 00028378 7C 89 03 A6 */ mtctr r4
/* 8002C53C 0002837C 4E 80 04 20 */ bctr
.global lbl_8002C540
lbl_8002C540:
/* 8002C540 00028380 3C 60 80 43 */ lis r3, timing@ha
/* 8002C544 00028384 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C548 00028388 4E 80 00 20 */ blr
.global lbl_8002C54C
lbl_8002C54C:
/* 8002C54C 0002838C 3C 60 80 43 */ lis r3, timing@ha
/* 8002C550 00028390 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C554 00028394 38 63 00 26 */ addi r3, r3, 0x26
/* 8002C558 00028398 4E 80 00 20 */ blr
.global lbl_8002C55C
lbl_8002C55C:
/* 8002C55C 0002839C 3C 60 80 43 */ lis r3, timing@ha
/* 8002C560 000283A0 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C564 000283A4 38 63 00 4C */ addi r3, r3, 0x4c
/* 8002C568 000283A8 4E 80 00 20 */ blr
.global lbl_8002C56C
lbl_8002C56C:
/* 8002C56C 000283AC 3C 60 80 43 */ lis r3, timing@ha
/* 8002C570 000283B0 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C574 000283B4 38 63 00 72 */ addi r3, r3, 0x72
/* 8002C578 000283B8 4E 80 00 20 */ blr
.global lbl_8002C57C
lbl_8002C57C:
/* 8002C57C 000283BC 3C 60 80 43 */ lis r3, timing@ha
/* 8002C580 000283C0 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C584 000283C4 4E 80 00 20 */ blr
.global lbl_8002C588
lbl_8002C588:
/* 8002C588 000283C8 3C 60 80 43 */ lis r3, timing@ha
/* 8002C58C 000283CC 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C590 000283D0 38 63 00 26 */ addi r3, r3, 0x26
/* 8002C594 000283D4 4E 80 00 20 */ blr
.global lbl_8002C598
lbl_8002C598:
/* 8002C598 000283D8 3C 60 80 43 */ lis r3, timing@ha
/* 8002C59C 000283DC 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C5A0 000283E0 38 63 00 98 */ addi r3, r3, 0x98
/* 8002C5A4 000283E4 4E 80 00 20 */ blr
.global lbl_8002C5A8
lbl_8002C5A8:
/* 8002C5A8 000283E8 3C 60 80 43 */ lis r3, timing@ha
/* 8002C5AC 000283EC 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C5B0 000283F0 38 63 00 BE */ addi r3, r3, 0xbe
/* 8002C5B4 000283F4 4E 80 00 20 */ blr
.global lbl_8002C5B8
lbl_8002C5B8:
/* 8002C5B8 000283F8 3C 60 80 43 */ lis r3, timing@ha
/* 8002C5BC 000283FC 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C5C0 00028400 38 63 00 E4 */ addi r3, r3, 0xe4
/* 8002C5C4 00028404 4E 80 00 20 */ blr
.global lbl_8002C5C8
lbl_8002C5C8:
/* 8002C5C8 00028408 3C 60 80 43 */ lis r3, timing@ha
/* 8002C5CC 0002840C 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C5D0 00028410 38 63 01 0A */ addi r3, r3, 0x10a
/* 8002C5D4 00028414 4E 80 00 20 */ blr
.global lbl_8002C5D8
lbl_8002C5D8:
/* 8002C5D8 00028418 3C 60 80 43 */ lis r3, timing@ha
/* 8002C5DC 0002841C 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C5E0 00028420 38 63 00 4C */ addi r3, r3, 0x4c
/* 8002C5E4 00028424 4E 80 00 20 */ blr
.global lbl_8002C5E8
lbl_8002C5E8:
/* 8002C5E8 00028428 3C 60 80 43 */ lis r3, timing@ha
/* 8002C5EC 0002842C 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C5F0 00028430 38 63 00 72 */ addi r3, r3, 0x72
/* 8002C5F4 00028434 4E 80 00 20 */ blr
.global lbl_8002C5F8
lbl_8002C5F8:
/* 8002C5F8 00028438 3C 60 80 43 */ lis r3, timing@ha
/* 8002C5FC 0002843C 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C600 00028440 38 63 01 30 */ addi r3, r3, 0x130
/* 8002C604 00028444 4E 80 00 20 */ blr
.global lbl_8002C608
lbl_8002C608:
/* 8002C608 00028448 3C 60 80 43 */ lis r3, timing@ha
/* 8002C60C 0002844C 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C610 00028450 38 63 01 56 */ addi r3, r3, 0x156
/* 8002C614 00028454 4E 80 00 20 */ blr
.global lbl_8002C618
lbl_8002C618:
/* 8002C618 00028458 3C 60 80 43 */ lis r3, timing@ha
/* 8002C61C 0002845C 38 63 FC D8 */ addi r3, r3, timing@l
/* 8002C620 00028460 38 63 01 7C */ addi r3, r3, 0x17c
/* 8002C624 00028464 4E 80 00 20 */ blr
.global lbl_8002C628
lbl_8002C628:
/* 8002C628 00028468 80 6D E5 34 */ lwz r3, timingExtra@sda21(r13)
/* 8002C62C 0002846C 4E 80 00 20 */ blr
.global lbl_8002C630
lbl_8002C630:
/* 8002C630 00028470 38 60 00 00 */ li r3, 0x0
/* 8002C634 00028474 4E 80 00 20 */ blr
/* 8002C638 00028478 00 00 00 00 */ .4byte 0x00000000
/* 8002C63C 0002847C 00 00 00 00 */ .4byte 0x00000000
.global __VIInit
__VIInit:
/* 8002C640 00028480 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8002C644 00028484 7C 08 02 A6 */ mflr r0
/* 8002C648 00028488 3C 80 80 00 */ lis r4, 0x800000CC@ha
/* 8002C64C 0002848C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8002C650 00028490 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8002C654 00028494 54 7F 07 BE */ clrlwi r31, r3, 30
/* 8002C658 00028498 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8002C65C 0002849C 54 7E F0 BE */ srwi r30, r3, 2
/* 8002C660 000284A0 93 C4 00 CC */ stw r30, 0x800000CC@l(r4)
/* 8002C664 000284A4 4B FF FE BD */ bl getTiming
/* 8002C668 000284A8 3C 80 CC 00 */ lis r4, 0xCC002002@ha
/* 8002C66C 000284AC 38 00 00 02 */ li r0, 0x2
/* 8002C670 000284B0 B0 04 20 02 */ sth r0, 0xCC002002@l(r4)
/* 8002C674 000284B4 38 00 00 00 */ li r0, 0x0
/* 8002C678 000284B8 90 01 00 08 */ stw r0, 0x8(r1)
/* 8002C67C 000284BC 48 00 00 10 */ b lbl_8002C68C
.global lbl_8002C680
lbl_8002C680:
/* 8002C680 000284C0 80 81 00 08 */ lwz r4, 0x8(r1)
/* 8002C684 000284C4 38 04 00 01 */ addi r0, r4, 0x1
/* 8002C688 000284C8 90 01 00 08 */ stw r0, 0x8(r1)
.global lbl_8002C68C
lbl_8002C68C:
/* 8002C68C 000284CC 80 01 00 08 */ lwz r0, 0x8(r1)
/* 8002C690 000284D0 28 00 03 E8 */ cmplwi r0, 0x3e8
/* 8002C694 000284D4 41 80 FF EC */ blt lbl_8002C680
/* 8002C698 000284D8 3C A0 CC 00 */ lis r5, 0xCC002002@ha
/* 8002C69C 000284DC 38 00 00 00 */ li r0, 0x0
/* 8002C6A0 000284E0 B0 05 20 02 */ sth r0, 0xCC002002@l(r5)
/* 8002C6A4 000284E4 A0 03 00 1A */ lhz r0, 0x1a(r3)
/* 8002C6A8 000284E8 B0 05 20 06 */ sth r0, 0x2006(r5)
/* 8002C6AC 000284EC 88 83 00 1D */ lbz r4, 0x1d(r3)
/* 8002C6B0 000284F0 88 03 00 1E */ lbz r0, 0x1e(r3)
/* 8002C6B4 000284F4 50 80 44 2E */ rlwimi r0, r4, 8, 16, 23
/* 8002C6B8 000284F8 B0 05 20 04 */ sth r0, 0x2004(r5)
/* 8002C6BC 000284FC 88 03 00 1F */ lbz r0, 0x1f(r3)
/* 8002C6C0 00028500 88 83 00 1C */ lbz r4, 0x1c(r3)
/* 8002C6C4 00028504 54 00 38 30 */ slwi r0, r0, 7
/* 8002C6C8 00028508 7C 80 03 78 */ or r0, r4, r0
/* 8002C6CC 0002850C B0 05 20 0A */ sth r0, 0x200a(r5)
/* 8002C6D0 00028510 A0 03 00 20 */ lhz r0, 0x20(r3)
/* 8002C6D4 00028514 54 00 0C 3C */ rlwinm r0, r0, 1, 16, 30
/* 8002C6D8 00028518 B0 05 20 08 */ sth r0, 0x2008(r5)
/* 8002C6DC 0002851C 80 0D E5 58 */ lwz r0, encoderType@sda21(r13)
/* 8002C6E0 00028520 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002C6E4 00028524 40 82 00 18 */ bne lbl_8002C6FC
/* 8002C6E8 00028528 88 03 00 22 */ lbz r0, 0x22(r3)
/* 8002C6EC 0002852C 60 00 80 00 */ ori r0, r0, 0x8000
/* 8002C6F0 00028530 B0 05 20 72 */ sth r0, 0x2072(r5)
/* 8002C6F4 00028534 A0 03 00 24 */ lhz r0, 0x24(r3)
/* 8002C6F8 00028538 B0 05 20 74 */ sth r0, 0x2074(r5)
.global lbl_8002C6FC
lbl_8002C6FC:
/* 8002C6FC 0002853C 3C 80 CC 00 */ lis r4, 0xCC002000@ha
/* 8002C700 00028540 88 03 00 00 */ lbz r0, 0x0(r3)
/* 8002C704 00028544 B0 04 20 00 */ sth r0, 0xCC002000@l(r4)
/* 8002C708 00028548 38 BE FF FF */ addi r5, r30, -0x1
/* 8002C70C 0002854C 38 00 00 02 */ li r0, 0x2
/* 8002C710 00028550 39 00 28 28 */ li r8, 0x2828
/* 8002C714 00028554 A1 43 00 02 */ lhz r10, 0x2(r3)
/* 8002C718 00028558 7C 05 00 10 */ subfc r0, r5, r0
/* 8002C71C 0002855C A1 23 00 04 */ lhz r9, 0x4(r3)
/* 8002C720 00028560 38 E0 00 01 */ li r7, 0x1
/* 8002C724 00028564 55 4A 08 3C */ slwi r10, r10, 1
/* 8002C728 00028568 38 C0 10 01 */ li r6, 0x1001
/* 8002C72C 0002856C 7D 29 52 14 */ add r9, r9, r10
/* 8002C730 00028570 28 1F 00 01 */ cmplwi r31, 0x1
/* 8002C734 00028574 38 09 FF FE */ addi r0, r9, -0x2
/* 8002C738 00028578 B0 04 20 0E */ sth r0, 0x200e(r4)
/* 8002C73C 0002857C 7C 05 01 94 */ addze r0, r5
/* 8002C740 00028580 A1 23 00 08 */ lhz r9, 0x8(r3)
/* 8002C744 00028584 7C 00 28 50 */ subf r0, r0, r5
/* 8002C748 00028588 7F C0 00 38 */ and r0, r30, r0
/* 8002C74C 0002858C 38 A9 00 02 */ addi r5, r9, 0x2
/* 8002C750 00028590 B0 A4 20 0C */ sth r5, 0x200c(r4)
/* 8002C754 00028594 A1 23 00 02 */ lhz r9, 0x2(r3)
/* 8002C758 00028598 A0 A3 00 06 */ lhz r5, 0x6(r3)
/* 8002C75C 0002859C 55 29 08 3C */ slwi r9, r9, 1
/* 8002C760 000285A0 7C A5 4A 14 */ add r5, r5, r9
/* 8002C764 000285A4 38 A5 FF FE */ addi r5, r5, -0x2
/* 8002C768 000285A8 B0 A4 20 12 */ sth r5, 0x2012(r4)
/* 8002C76C 000285AC A0 A3 00 0A */ lhz r5, 0xa(r3)
/* 8002C770 000285B0 38 A5 00 02 */ addi r5, r5, 0x2
/* 8002C774 000285B4 B0 A4 20 10 */ sth r5, 0x2010(r4)
/* 8002C778 000285B8 A0 A3 00 10 */ lhz r5, 0x10(r3)
/* 8002C77C 000285BC 89 23 00 0C */ lbz r9, 0xc(r3)
/* 8002C780 000285C0 54 A5 28 34 */ slwi r5, r5, 5
/* 8002C784 000285C4 7D 25 2B 78 */ or r5, r9, r5
/* 8002C788 000285C8 B0 A4 20 16 */ sth r5, 0x2016(r4)
/* 8002C78C 000285CC A0 A3 00 14 */ lhz r5, 0x14(r3)
/* 8002C790 000285D0 89 23 00 0E */ lbz r9, 0xe(r3)
/* 8002C794 000285D4 54 A5 28 34 */ slwi r5, r5, 5
/* 8002C798 000285D8 7D 25 2B 78 */ or r5, r9, r5
/* 8002C79C 000285DC B0 A4 20 14 */ sth r5, 0x2014(r4)
/* 8002C7A0 000285E0 A0 A3 00 12 */ lhz r5, 0x12(r3)
/* 8002C7A4 000285E4 89 23 00 0D */ lbz r9, 0xd(r3)
/* 8002C7A8 000285E8 54 A5 28 34 */ slwi r5, r5, 5
/* 8002C7AC 000285EC 7D 25 2B 78 */ or r5, r9, r5
/* 8002C7B0 000285F0 B0 A4 20 1A */ sth r5, 0x201a(r4)
/* 8002C7B4 000285F4 A0 A3 00 16 */ lhz r5, 0x16(r3)
/* 8002C7B8 000285F8 89 23 00 0F */ lbz r9, 0xf(r3)
/* 8002C7BC 000285FC 54 A5 28 34 */ slwi r5, r5, 5
/* 8002C7C0 00028600 7D 25 2B 78 */ or r5, r9, r5
/* 8002C7C4 00028604 B0 A4 20 18 */ sth r5, 0x2018(r4)
/* 8002C7C8 00028608 B1 04 20 48 */ sth r8, 0x2048(r4)
/* 8002C7CC 0002860C B0 E4 20 36 */ sth r7, 0x2036(r4)
/* 8002C7D0 00028610 B0 C4 20 34 */ sth r6, 0x2034(r4)
/* 8002C7D4 00028614 A0 A3 00 18 */ lhz r5, 0x18(r3)
/* 8002C7D8 00028618 A0 63 00 1A */ lhz r3, 0x1a(r3)
/* 8002C7DC 0002861C 54 A5 F8 7E */ srwi r5, r5, 1
/* 8002C7E0 00028620 38 A5 00 01 */ addi r5, r5, 0x1
/* 8002C7E4 00028624 38 63 00 01 */ addi r3, r3, 0x1
/* 8002C7E8 00028628 54 A5 04 3E */ clrlwi r5, r5, 16
/* 8002C7EC 0002862C B0 64 20 32 */ sth r3, 0x2032(r4)
/* 8002C7F0 00028630 60 A3 10 00 */ ori r3, r5, 0x1000
/* 8002C7F4 00028634 B0 64 20 30 */ sth r3, 0x2030(r4)
/* 8002C7F8 00028638 41 81 00 20 */ bgt lbl_8002C818
/* 8002C7FC 0002863C 54 03 40 2E */ slwi r3, r0, 8
/* 8002C800 00028640 38 00 00 00 */ li r0, 0x0
/* 8002C804 00028644 60 63 00 01 */ ori r3, r3, 0x1
/* 8002C808 00028648 53 E3 17 7A */ rlwimi r3, r31, 2, 29, 29
/* 8002C80C 0002864C B0 64 20 02 */ sth r3, 0x2002(r4)
/* 8002C810 00028650 B0 04 20 6C */ sth r0, 0x206c(r4)
/* 8002C814 00028654 48 00 00 14 */ b lbl_8002C828
.global lbl_8002C818
lbl_8002C818:
/* 8002C818 00028658 54 00 40 2E */ slwi r0, r0, 8
/* 8002C81C 0002865C 60 00 00 05 */ ori r0, r0, 0x5
/* 8002C820 00028660 B0 04 20 02 */ sth r0, 0x2002(r4)
/* 8002C824 00028664 B0 E4 20 6C */ sth r7, 0x206c(r4)
.global lbl_8002C828
lbl_8002C828:
/* 8002C828 00028668 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8002C82C 0002866C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8002C830 00028670 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8002C834 00028674 7C 08 03 A6 */ mtlr r0
/* 8002C838 00028678 38 21 00 20 */ addi r1, r1, 0x20
/* 8002C83C 0002867C 4E 80 00 20 */ blr
.global VIInit
VIInit:
/* 8002C840 00028680 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8002C844 00028684 7C 08 02 A6 */ mflr r0
/* 8002C848 00028688 90 01 00 34 */ stw r0, 0x34(r1)
/* 8002C84C 0002868C 39 61 00 30 */ addi r11, r1, 0x30
/* 8002C850 00028690 4B FD AA E1 */ bl lbl_80007330
/* 8002C854 00028694 80 0D E4 E0 */ lwz r0, IsInitialized@sda21(r13)
/* 8002C858 00028698 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002C85C 0002869C 40 82 05 14 */ bne lbl_8002CD70
/* 8002C860 000286A0 80 6D 81 08 */ lwz r3, __VIVersion@sda21(r13)
/* 8002C864 000286A4 4B FE EE 7D */ bl OSRegisterVersion
/* 8002C868 000286A8 38 00 00 01 */ li r0, 0x1
/* 8002C86C 000286AC 90 0D E4 E0 */ stw r0, IsInitialized@sda21(r13)
/* 8002C870 000286B0 3C 60 CC 00 */ lis r3, 0xCC002002@ha
/* 8002C874 000286B4 A0 03 20 02 */ lhz r0, 0xCC002002@l(r3)
/* 8002C878 000286B8 54 00 07 FF */ clrlwi. r0, r0, 31
/* 8002C87C 000286BC 40 82 00 0C */ bne lbl_8002C888
/* 8002C880 000286C0 38 60 00 00 */ li r3, 0x0
/* 8002C884 000286C4 4B FF FD BD */ bl __VIInit
.global lbl_8002C888
lbl_8002C888:
/* 8002C888 000286C8 3C 80 80 43 */ lis r4, taps@ha
/* 8002C88C 000286CC 3B A0 00 00 */ li r29, 0x0
/* 8002C890 000286D0 38 64 FE 7C */ addi r3, r4, taps@l
/* 8002C894 000286D4 93 AD E5 8C */ stw r29, retraceCount@sda21(r13)
/* 8002C898 000286D8 A0 C3 00 02 */ lhz r6, 0x2(r3)
/* 8002C89C 000286DC 3F C0 CC 00 */ lis r30, 0xCC00204E@ha
/* 8002C8A0 000286E0 A0 A4 FE 7C */ lhz r5, -0x184(r4)
/* 8002C8A4 000286E4 93 AD E5 1C */ stw r29, lbl_8055C93C@sda21(r13)
/* 8002C8A8 000286E8 54 C0 54 2A */ rlwinm r0, r6, 10, 16, 21
/* 8002C8AC 000286EC 7C A0 03 78 */ or r0, r5, r0
/* 8002C8B0 000286F0 7C C4 36 70 */ srawi r4, r6, 6
/* 8002C8B4 000286F4 93 AD E5 18 */ stw r29, changed@sda21(r13)
/* 8002C8B8 000286F8 93 AD E5 2C */ stw r29, lbl_8055C94C@sda21(r13)
/* 8002C8BC 000286FC 93 AD E5 28 */ stw r29, shdwChanged@sda21(r13)
/* 8002C8C0 00028700 93 AD E5 10 */ stw r29, changeMode@sda21(r13)
/* 8002C8C4 00028704 93 AD E5 20 */ stw r29, shdwChangeMode@sda21(r13)
/* 8002C8C8 00028708 93 AD E5 88 */ stw r29, flushFlag@sda21(r13)
/* 8002C8CC 0002870C 93 AD E5 84 */ stw r29, flushFlag3in1@sda21(r13)
/* 8002C8D0 00028710 B0 1E 20 4E */ sth r0, 0xCC00204E@l(r30)
/* 8002C8D4 00028714 A0 03 00 04 */ lhz r0, 0x4(r3)
/* 8002C8D8 00028718 54 00 20 36 */ slwi r0, r0, 4
/* 8002C8DC 0002871C 7C 80 03 78 */ or r0, r4, r0
/* 8002C8E0 00028720 B0 1E 20 4C */ sth r0, 0x204c(r30)
/* 8002C8E4 00028724 A0 83 00 08 */ lhz r4, 0x8(r3)
/* 8002C8E8 00028728 A0 A3 00 06 */ lhz r5, 0x6(r3)
/* 8002C8EC 0002872C 54 80 54 2A */ rlwinm r0, r4, 10, 16, 21
/* 8002C8F0 00028730 7C 84 36 70 */ srawi r4, r4, 6
/* 8002C8F4 00028734 7C A0 03 78 */ or r0, r5, r0
/* 8002C8F8 00028738 B0 1E 20 52 */ sth r0, 0x2052(r30)
/* 8002C8FC 0002873C A0 03 00 0A */ lhz r0, 0xa(r3)
/* 8002C900 00028740 54 00 20 36 */ slwi r0, r0, 4
/* 8002C904 00028744 7C 80 03 78 */ or r0, r4, r0
/* 8002C908 00028748 B0 1E 20 50 */ sth r0, 0x2050(r30)
/* 8002C90C 0002874C A0 83 00 0E */ lhz r4, 0xe(r3)
/* 8002C910 00028750 A0 A3 00 0C */ lhz r5, 0xc(r3)
/* 8002C914 00028754 54 80 54 2A */ rlwinm r0, r4, 10, 16, 21
/* 8002C918 00028758 7C 84 36 70 */ srawi r4, r4, 6
/* 8002C91C 0002875C 7C A0 03 78 */ or r0, r5, r0
/* 8002C920 00028760 B0 1E 20 56 */ sth r0, 0x2056(r30)
/* 8002C924 00028764 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 8002C928 00028768 54 00 20 36 */ slwi r0, r0, 4
/* 8002C92C 0002876C 7C 80 03 78 */ or r0, r4, r0
/* 8002C930 00028770 B0 1E 20 54 */ sth r0, 0x2054(r30)
/* 8002C934 00028774 A0 03 00 14 */ lhz r0, 0x14(r3)
/* 8002C938 00028778 A0 83 00 12 */ lhz r4, 0x12(r3)
/* 8002C93C 0002877C 54 00 40 2E */ slwi r0, r0, 8
/* 8002C940 00028780 7C 80 03 78 */ or r0, r4, r0
/* 8002C944 00028784 B0 1E 20 5A */ sth r0, 0x205a(r30)
/* 8002C948 00028788 A0 03 00 18 */ lhz r0, 0x18(r3)
/* 8002C94C 0002878C A0 83 00 16 */ lhz r4, 0x16(r3)
/* 8002C950 00028790 54 00 40 2E */ slwi r0, r0, 8
/* 8002C954 00028794 7C 80 03 78 */ or r0, r4, r0
/* 8002C958 00028798 B0 1E 20 58 */ sth r0, 0x2058(r30)
/* 8002C95C 0002879C A0 83 00 1C */ lhz r4, 0x1c(r3)
/* 8002C960 000287A0 38 00 02 80 */ li r0, 0x280
/* 8002C964 000287A4 A0 A3 00 1A */ lhz r5, 0x1a(r3)
/* 8002C968 000287A8 54 84 40 2E */ slwi r4, r4, 8
/* 8002C96C 000287AC 7C A4 23 78 */ or r4, r5, r4
/* 8002C970 000287B0 B0 9E 20 5E */ sth r4, 0x205e(r30)
/* 8002C974 000287B4 A0 83 00 20 */ lhz r4, 0x20(r3)
/* 8002C978 000287B8 A0 A3 00 1E */ lhz r5, 0x1e(r3)
/* 8002C97C 000287BC 54 84 40 2E */ slwi r4, r4, 8
/* 8002C980 000287C0 7C A4 23 78 */ or r4, r5, r4
/* 8002C984 000287C4 B0 9E 20 5C */ sth r4, 0x205c(r30)
/* 8002C988 000287C8 A0 83 00 24 */ lhz r4, 0x24(r3)
/* 8002C98C 000287CC A0 A3 00 22 */ lhz r5, 0x22(r3)
/* 8002C990 000287D0 54 84 40 2E */ slwi r4, r4, 8
/* 8002C994 000287D4 7C A4 23 78 */ or r4, r5, r4
/* 8002C998 000287D8 B0 9E 20 62 */ sth r4, 0x2062(r30)
/* 8002C99C 000287DC A0 83 00 28 */ lhz r4, 0x28(r3)
/* 8002C9A0 000287E0 A0 A3 00 26 */ lhz r5, 0x26(r3)
/* 8002C9A4 000287E4 54 84 40 2E */ slwi r4, r4, 8
/* 8002C9A8 000287E8 7C A4 23 78 */ or r4, r5, r4
/* 8002C9AC 000287EC B0 9E 20 60 */ sth r4, 0x2060(r30)
/* 8002C9B0 000287F0 A0 83 00 2C */ lhz r4, 0x2c(r3)
/* 8002C9B4 000287F4 A0 A3 00 2A */ lhz r5, 0x2a(r3)
/* 8002C9B8 000287F8 54 84 40 2E */ slwi r4, r4, 8
/* 8002C9BC 000287FC 7C A4 23 78 */ or r4, r5, r4
/* 8002C9C0 00028800 B0 9E 20 66 */ sth r4, 0x2066(r30)
/* 8002C9C4 00028804 A0 83 00 30 */ lhz r4, 0x30(r3)
/* 8002C9C8 00028808 A0 A3 00 2E */ lhz r5, 0x2e(r3)
/* 8002C9CC 0002880C 54 83 40 2E */ slwi r3, r4, 8
/* 8002C9D0 00028810 7C A3 1B 78 */ or r3, r5, r3
/* 8002C9D4 00028814 B0 7E 20 64 */ sth r3, 0x2064(r30)
/* 8002C9D8 00028818 B0 1E 20 70 */ sth r0, 0x2070(r30)
/* 8002C9DC 0002881C 48 02 03 65 */ bl SCGetDisplayOffsetH
/* 8002C9E0 00028820 7C 60 07 74 */ extsb r0, r3
/* 8002C9E4 00028824 B0 0D E5 0C */ sth r0, displayOffsetH@sda21(r13)
/* 8002C9E8 00028828 3C 60 80 00 */ lis r3, 0x800000CC@ha
/* 8002C9EC 0002882C B3 AD E5 0E */ sth r29, displayOffsetV@sda21(r13)
/* 8002C9F0 00028830 83 03 00 CC */ lwz r24, 0x800000CC@l(r3)
/* 8002C9F4 00028834 A3 BE 20 02 */ lhz r29, 0x2002(r30)
/* 8002C9F8 00028838 4B FF 4E 29 */ bl OSDisableInterrupts
/* 8002C9FC 0002883C A0 1E 20 6C */ lhz r0, 0x206c(r30)
/* 8002CA00 00028840 54 00 07 FE */ clrlwi r0, r0, 31
/* 8002CA04 00028844 28 00 00 01 */ cmplwi r0, 0x1
/* 8002CA08 00028848 40 82 00 0C */ bne lbl_8002CA14
/* 8002CA0C 0002884C 3B 60 00 02 */ li r27, 0x2
/* 8002CA10 00028850 48 00 00 18 */ b lbl_8002CA28
.global lbl_8002CA14
lbl_8002CA14:
/* 8002CA14 00028854 A0 1E 20 02 */ lhz r0, 0x2002(r30)
/* 8002CA18 00028858 54 04 F7 FE */ extrwi r4, r0, 1, 29
/* 8002CA1C 0002885C 7C 04 00 D0 */ neg r0, r4
/* 8002CA20 00028860 7C 00 23 78 */ or r0, r0, r4
/* 8002CA24 00028864 54 1B 0F FE */ srwi r27, r0, 31
.global lbl_8002CA28
lbl_8002CA28:
/* 8002CA28 00028868 4B FF 4E 39 */ bl OSRestoreInterrupts
/* 8002CA2C 0002886C 3C 60 80 4A */ lis r3, HorVer@ha
/* 8002CA30 00028870 28 18 00 05 */ cmplwi r24, 0x5
/* 8002CA34 00028874 38 63 A6 60 */ addi r3, r3, HorVer@l
/* 8002CA38 00028878 57 A0 C7 BE */ extrwi r0, r29, 2, 22
/* 8002CA3C 0002887C 93 63 00 24 */ stw r27, 0x24(r3)
/* 8002CA40 00028880 90 03 00 28 */ stw r0, 0x28(r3)
/* 8002CA44 00028884 41 82 00 14 */ beq lbl_8002CA58
/* 8002CA48 00028888 28 18 00 01 */ cmplwi r24, 0x1
/* 8002CA4C 0002888C 40 82 00 1C */ bne lbl_8002CA68
/* 8002CA50 00028890 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002CA54 00028894 40 82 00 14 */ bne lbl_8002CA68
.global lbl_8002CA58
lbl_8002CA58:
/* 8002CA58 00028898 3C 60 80 4A */ lis r3, HorVer@ha
/* 8002CA5C 0002889C 38 00 00 05 */ li r0, 0x5
/* 8002CA60 000288A0 38 63 A6 60 */ addi r3, r3, HorVer@l
/* 8002CA64 000288A4 90 03 00 28 */ stw r0, 0x28(r3)
.global lbl_8002CA68
lbl_8002CA68:
/* 8002CA68 000288A8 3F C0 80 4A */ lis r30, HorVer@ha
/* 8002CA6C 000288AC 3B FE A6 60 */ addi r31, r30, HorVer@l
/* 8002CA70 000288B0 80 BF 00 28 */ lwz r5, 0x28(r31)
/* 8002CA74 000288B4 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 8002CA78 000288B8 38 85 FF FD */ addi r4, r5, -0x3
/* 8002CA7C 000288BC 20 65 00 03 */ subfic r3, r5, 0x3
/* 8002CA80 000288C0 7C 83 18 F8 */ nor r3, r4, r3
/* 8002CA84 000288C4 7C 63 FE 70 */ srawi r3, r3, 31
/* 8002CA88 000288C8 7C A3 18 78 */ andc r3, r5, r3
/* 8002CA8C 000288CC 54 63 10 3A */ slwi r3, r3, 2
/* 8002CA90 000288D0 7C 63 02 14 */ add r3, r3, r0
/* 8002CA94 000288D4 4B FF FA 8D */ bl getTiming
/* 8002CA98 000288D8 38 E0 02 80 */ li r7, 0x280
/* 8002CA9C 000288DC 3C C0 80 4A */ lis r6, regs@ha
/* 8002CAA0 000288E0 20 A7 02 D0 */ subfic r5, r7, 0x2d0
/* 8002CAA4 000288E4 81 1F 00 28 */ lwz r8, 0x28(r31)
/* 8002CAA8 000288E8 54 A4 0F FE */ srwi r4, r5, 31
/* 8002CAAC 000288EC 38 C6 A5 E8 */ addi r6, r6, regs@l
/* 8002CAB0 000288F0 7C 84 2A 14 */ add r4, r4, r5
/* 8002CAB4 000288F4 B3 A6 00 02 */ sth r29, 0x2(r6)
/* 8002CAB8 000288F8 7C 86 0E 70 */ srawi r6, r4, 1
/* 8002CABC 000288FC A8 0D E5 0C */ lha r0, displayOffsetH@sda21(r13)
/* 8002CAC0 00028900 7C C4 07 34 */ extsh r4, r6
/* 8002CAC4 00028904 90 7F 00 54 */ stw r3, 0x54(r31)
/* 8002CAC8 00028908 7C 84 02 14 */ add r4, r4, r0
/* 8002CACC 0002890C 21 27 02 D0 */ subfic r9, r7, 0x2d0
/* 8002CAD0 00028910 90 6D E5 54 */ stw r3, CurrTiming@sda21(r13)
/* 8002CAD4 00028914 38 A0 00 00 */ li r5, 0x0
/* 8002CAD8 00028918 7C 04 48 00 */ cmpw r4, r9
/* 8002CADC 0002891C 91 0D E5 50 */ stw r8, CurrTvMode@sda21(r13)
/* 8002CAE0 00028920 B0 FF 00 04 */ sth r7, 0x4(r31)
/* 8002CAE4 00028924 A0 03 00 02 */ lhz r0, 0x2(r3)
/* 8002CAE8 00028928 54 00 0C 3C */ rlwinm r0, r0, 1, 16, 30
/* 8002CAEC 0002892C B0 1F 00 06 */ sth r0, 0x6(r31)
/* 8002CAF0 00028930 B0 DE A6 60 */ sth r6, -0x59a0(r30)
/* 8002CAF4 00028934 B0 BF 00 02 */ sth r5, 0x2(r31)
/* 8002CAF8 00028938 A0 E3 00 02 */ lhz r7, 0x2(r3)
/* 8002CAFC 0002893C 40 81 00 08 */ ble lbl_8002CB04
/* 8002CB00 00028940 48 00 00 0C */ b lbl_8002CB0C
.global lbl_8002CB04
lbl_8002CB04:
/* 8002CB04 00028944 7C 80 FE 70 */ srawi r0, r4, 31
/* 8002CB08 00028948 7C 89 00 78 */ andc r9, r4, r0
.global lbl_8002CB0C
lbl_8002CB0C:
/* 8002CB0C 0002894C 3C A0 80 4A */ lis r5, HorVer@ha
/* 8002CB10 00028950 A9 0D E5 0E */ lha r8, displayOffsetV@sda21(r13)
/* 8002CB14 00028954 38 A5 A6 60 */ addi r5, r5, HorVer@l
/* 8002CB18 00028958 A0 C5 00 02 */ lhz r6, 0x2(r5)
/* 8002CB1C 0002895C 80 85 00 20 */ lwz r4, 0x20(r5)
/* 8002CB20 00028960 7C C0 07 34 */ extsh r0, r6
/* 8002CB24 00028964 54 C6 07 FE */ clrlwi r6, r6, 31
/* 8002CB28 00028968 7D 40 42 14 */ add r10, r0, r8
/* 8002CB2C 0002896C B1 25 00 08 */ sth r9, 0x8(r5)
/* 8002CB30 00028970 7C 80 00 34 */ cntlzw r0, r4
/* 8002CB34 00028974 54 04 D9 7E */ srwi r4, r0, 5
/* 8002CB38 00028978 7C 0A 30 00 */ cmpw r10, r6
/* 8002CB3C 0002897C 7C C0 33 78 */ mr r0, r6
/* 8002CB40 00028980 38 A4 00 01 */ addi r5, r4, 0x1
/* 8002CB44 00028984 40 81 00 08 */ ble lbl_8002CB4C
/* 8002CB48 00028988 7D 40 53 78 */ mr r0, r10
.global lbl_8002CB4C
lbl_8002CB4C:
/* 8002CB4C 0002898C 3C 80 80 4A */ lis r4, HorVer@ha
/* 8002CB50 00028990 7C E7 07 34 */ extsh r7, r7
/* 8002CB54 00028994 38 84 A6 60 */ addi r4, r4, HorVer@l
/* 8002CB58 00028998 39 20 02 80 */ li r9, 0x280
/* 8002CB5C 0002899C A1 44 00 02 */ lhz r10, 0x2(r4)
/* 8002CB60 000289A0 54 FE 08 3C */ slwi r30, r7, 1
/* 8002CB64 000289A4 A0 E4 00 06 */ lhz r7, 0x6(r4)
/* 8002CB68 000289A8 7F 46 F0 50 */ subf r26, r6, r30
/* 8002CB6C 000289AC 7D 4A 07 34 */ extsh r10, r10
/* 8002CB70 000289B0 A9 64 00 02 */ lha r11, 0x2(r4)
/* 8002CB74 000289B4 7F 68 52 14 */ add r27, r8, r10
/* 8002CB78 000289B8 7C EC 07 34 */ extsh r12, r7
/* 8002CB7C 000289BC 7D 8C DA 14 */ add r12, r12, r27
/* 8002CB80 000289C0 A9 44 00 06 */ lha r10, 0x6(r4)
/* 8002CB84 000289C4 7D 6B 42 14 */ add r11, r11, r8
/* 8002CB88 000289C8 7F 26 D8 50 */ subf r25, r6, r27
/* 8002CB8C 000289CC 7D 1A 60 50 */ subf r8, r26, r12
/* 8002CB90 000289D0 7D 4A DA 14 */ add r10, r10, r27
/* 8002CB94 000289D4 7D 88 00 D0 */ neg r12, r8
/* 8002CB98 000289D8 B0 04 00 0A */ sth r0, 0xa(r4)
/* 8002CB9C 000289DC 7D 8C 40 78 */ andc r12, r12, r8
/* 8002CBA0 000289E0 7F 1A 50 50 */ subf r24, r26, r10
/* 8002CBA4 000289E4 7D 9B FE 70 */ srawi r27, r12, 31
/* 8002CBA8 000289E8 7F 46 58 50 */ subf r26, r6, r11
/* 8002CBAC 000289EC 7F 2A FE 70 */ srawi r10, r25, 31
/* 8002CBB0 000289F0 7C D8 00 D0 */ neg r6, r24
/* 8002CBB4 000289F4 7F 4C FE 70 */ srawi r12, r26, 31
/* 8002CBB8 000289F8 7D 08 D8 38 */ and r8, r8, r27
/* 8002CBBC 000289FC 7F 3F 50 38 */ and r31, r25, r10
/* 8002CBC0 00028A00 7C C6 C0 78 */ andc r6, r6, r24
/* 8002CBC4 00028A04 7C CA FE 70 */ srawi r10, r6, 31
/* 8002CBC8 00028A08 7F 5E 60 38 */ and r30, r26, r12
/* 8002CBCC 00028A0C 7F 26 FE 70 */ srawi r6, r25, 31
/* 8002CBD0 00028A10 7C E7 FA 14 */ add r7, r7, r31
/* 8002CBD4 00028A14 7C 08 38 50 */ subf r0, r8, r7
/* 8002CBD8 00028A18 7F 1A 50 38 */ and r26, r24, r10
/* 8002CBDC 00028A1C 7F 26 30 38 */ and r6, r25, r6
/* 8002CBE0 00028A20 B0 04 00 0C */ sth r0, 0xc(r4)
/* 8002CBE4 00028A24 7D 46 2B D6 */ divw r10, r6, r5
/* 8002CBE8 00028A28 A1 64 00 1C */ lhz r11, 0x1c(r4)
/* 8002CBEC 00028A2C A1 84 00 18 */ lhz r12, 0x18(r4)
/* 8002CBF0 00028A30 3B A0 00 00 */ li r29, 0x0
/* 8002CBF4 00028A34 B1 24 00 12 */ sth r9, 0x12(r4)
/* 8002CBF8 00028A38 38 C0 00 28 */ li r6, 0x28
/* 8002CBFC 00028A3C 7D 1E 2B D6 */ divw r8, r30, r5
/* 8002CC00 00028A40 7C EB 52 14 */ add r7, r11, r10
/* 8002CC04 00028A44 38 00 00 01 */ li r0, 0x1
/* 8002CC08 00028A48 7C BA 2B D6 */ divw r5, r26, r5
/* 8002CC0C 00028A4C 7D 08 60 50 */ subf r8, r8, r12
/* 8002CC10 00028A50 B1 04 00 0E */ sth r8, 0xe(r4)
/* 8002CC14 00028A54 7C A5 38 50 */ subf r5, r5, r7
/* 8002CC18 00028A58 B0 A4 00 10 */ sth r5, 0x10(r4)
/* 8002CC1C 00028A5C A0 A3 00 02 */ lhz r5, 0x2(r3)
/* 8002CC20 00028A60 54 A5 0C 3C */ rlwinm r5, r5, 1, 16, 30
/* 8002CC24 00028A64 B0 A4 00 14 */ sth r5, 0x14(r4)
/* 8002CC28 00028A68 B3 A4 00 16 */ sth r29, 0x16(r4)
/* 8002CC2C 00028A6C B3 A4 00 18 */ sth r29, 0x18(r4)
/* 8002CC30 00028A70 B1 24 00 1A */ sth r9, 0x1a(r4)
/* 8002CC34 00028A74 A0 A3 00 02 */ lhz r5, 0x2(r3)
/* 8002CC38 00028A78 38 6D E5 68 */ addi r3, r13, retraceQueue@sda21
/* 8002CC3C 00028A7C 54 A5 0C 3C */ rlwinm r5, r5, 1, 16, 30
/* 8002CC40 00028A80 B0 A4 00 1C */ sth r5, 0x1c(r4)
/* 8002CC44 00028A84 93 A4 00 20 */ stw r29, 0x20(r4)
/* 8002CC48 00028A88 98 C4 00 2C */ stb r6, 0x2c(r4)
/* 8002CC4C 00028A8C 98 C4 00 2D */ stb r6, 0x2d(r4)
/* 8002CC50 00028A90 98 C4 00 2E */ stb r6, 0x2e(r4)
/* 8002CC54 00028A94 9B A4 00 3C */ stb r29, 0x3c(r4)
/* 8002CC58 00028A98 90 04 00 40 */ stw r0, 0x40(r4)
/* 8002CC5C 00028A9C 93 A4 00 44 */ stw r29, 0x44(r4)
/* 8002CC60 00028AA0 4B FF 7A E1 */ bl OSInitThreadQueue
/* 8002CC64 00028AA4 3C A0 CC 00 */ lis r5, 0xCC002030@ha
/* 8002CC68 00028AA8 3C 80 80 03 */ lis r4, __VIRetraceHandler@ha
/* 8002CC6C 00028AAC A0 05 20 30 */ lhz r0, 0xCC002030@l(r5)
/* 8002CC70 00028AB0 38 84 BC 70 */ addi r4, r4, __VIRetraceHandler@l
/* 8002CC74 00028AB4 38 60 00 18 */ li r3, 0x18
/* 8002CC78 00028AB8 54 00 04 7E */ clrlwi r0, r0, 17
/* 8002CC7C 00028ABC B0 05 20 30 */ sth r0, 0x2030(r5)
/* 8002CC80 00028AC0 A0 05 20 34 */ lhz r0, 0x2034(r5)
/* 8002CC84 00028AC4 54 00 04 7E */ clrlwi r0, r0, 17
/* 8002CC88 00028AC8 B0 05 20 34 */ sth r0, 0x2034(r5)
/* 8002CC8C 00028ACC 93 AD E5 60 */ stw r29, PreCB@sda21(r13)
/* 8002CC90 00028AD0 93 AD E5 5C */ stw r29, PostCB@sda21(r13)
/* 8002CC94 00028AD4 4B FF 4B FD */ bl __OSSetInterruptHandler
/* 8002CC98 00028AD8 38 60 00 80 */ li r3, 0x80
/* 8002CC9C 00028ADC 4B FF 4F D5 */ bl __OSUnmaskInterrupts
/* 8002CCA0 00028AE0 3C 60 80 43 */ lis r3, ShutdownFunctionInfo_8042FF68@ha
/* 8002CCA4 00028AE4 38 63 FF 68 */ addi r3, r3, ShutdownFunctionInfo_8042FF68@l
/* 8002CCA8 00028AE8 4B FF 62 69 */ bl OSRegisterShutdownFunction
/* 8002CCAC 00028AEC 4B FF 4B 75 */ bl OSDisableInterrupts
/* 8002CCB0 00028AF0 80 AD E5 50 */ lwz r5, CurrTvMode@sda21(r13)
/* 8002CCB4 00028AF4 28 05 00 08 */ cmplwi r5, 0x8
/* 8002CCB8 00028AF8 41 81 00 30 */ bgt lbl_8002CCE8
/* 8002CCBC 00028AFC 3C 80 80 43 */ lis r4, "@3633"@ha
/* 8002CCC0 00028B00 54 A0 10 3A */ slwi r0, r5, 2
/* 8002CCC4 00028B04 38 84 00 28 */ addi r4, r4, "@3633"@l
/* 8002CCC8 00028B08 7C 84 00 2E */ lwzx r4, r4, r0
/* 8002CCCC 00028B0C 7C 89 03 A6 */ mtctr r4
/* 8002CCD0 00028B10 4E 80 04 20 */ bctr
.global lbl_8002CCD4
lbl_8002CCD4:
/* 8002CCD4 00028B14 3B 80 00 00 */ li r28, 0x0
/* 8002CCD8 00028B18 48 00 00 10 */ b lbl_8002CCE8
.global lbl_8002CCDC
lbl_8002CCDC:
/* 8002CCDC 00028B1C 3B 80 00 01 */ li r28, 0x1
/* 8002CCE0 00028B20 48 00 00 08 */ b lbl_8002CCE8
.global lbl_8002CCE4
lbl_8002CCE4:
/* 8002CCE4 00028B24 7C BC 2B 78 */ mr r28, r5
.global lbl_8002CCE8
lbl_8002CCE8:
/* 8002CCE8 00028B28 4B FF 4B 79 */ bl OSRestoreInterrupts
/* 8002CCEC 00028B2C 28 1C 00 01 */ cmplwi r28, 0x1
/* 8002CCF0 00028B30 40 82 00 20 */ bne lbl_8002CD10
/* 8002CCF4 00028B34 3C 60 00 01 */ lis r3, 0x1
/* 8002CCF8 00028B38 38 80 3A 98 */ li r4, 0x3a98
/* 8002CCFC 00028B3C 90 8D E4 F0 */ stw r4, THD_TIME_TO_DIMMING@sda21(r13)
/* 8002CD00 00028B40 38 03 5F 90 */ addi r0, r3, 0x5f90
/* 8002CD04 00028B44 90 8D E4 F4 */ stw r4, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002CD08 00028B48 90 0D E4 F8 */ stw r0, THD_TIME_TO_DVD_STOP@sda21(r13)
/* 8002CD0C 00028B4C 48 00 00 1C */ b lbl_8002CD28
.global lbl_8002CD10
lbl_8002CD10:
/* 8002CD10 00028B50 3C 60 00 02 */ lis r3, 0x2
/* 8002CD14 00028B54 38 80 46 50 */ li r4, 0x4650
/* 8002CD18 00028B58 90 8D E4 F0 */ stw r4, THD_TIME_TO_DIMMING@sda21(r13)
/* 8002CD1C 00028B5C 38 03 A5 E0 */ addi r0, r3, -0x5a20
/* 8002CD20 00028B60 90 8D E4 F4 */ stw r4, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002CD24 00028B64 90 0D E4 F8 */ stw r0, THD_TIME_TO_DVD_STOP@sda21(r13)
.global lbl_8002CD28
lbl_8002CD28:
/* 8002CD28 00028B68 38 60 00 00 */ li r3, 0x0
/* 8002CD2C 00028B6C 90 6D E4 FC */ stw r3, _gIdleCount_dimming@sda21(r13)
/* 8002CD30 00028B70 38 00 00 01 */ li r0, 0x1
/* 8002CD34 00028B74 3B 60 00 01 */ li r27, 0x1
/* 8002CD38 00028B78 90 6D E5 00 */ stw r3, _gIdleCount_dvd@sda21(r13)
/* 8002CD3C 00028B7C 90 6D E5 78 */ stw r3, g_current_time_to_dim@sda21(r13)
/* 8002CD40 00028B80 90 0D E4 EC */ stw r0, __VIDimming_All_Clear@sda21(r13)
/* 8002CD44 00028B84 90 6D E5 04 */ stw r3, __VIDimmingState@sda21(r13)
/* 8002CD48 00028B88 80 0D E5 80 */ lwz r0, __VIDimmingFlag_Enable@sda21(r13)
/* 8002CD4C 00028B8C 48 02 01 B5 */ bl SCGetScreenSaverMode
/* 8002CD50 00028B90 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8002CD54 00028B94 40 82 00 08 */ bne lbl_8002CD5C
/* 8002CD58 00028B98 3B 60 00 00 */ li r27, 0x0
.global lbl_8002CD5C
lbl_8002CD5C:
/* 8002CD5C 00028B9C 93 6D E5 80 */ stw r27, __VIDimmingFlag_Enable@sda21(r13)
/* 8002CD60 00028BA0 38 00 00 00 */ li r0, 0x0
/* 8002CD64 00028BA4 80 6D E5 7C */ lwz r3, __VIDVDStopFlag_Enable@sda21(r13)
/* 8002CD68 00028BA8 90 0D E5 7C */ stw r0, __VIDVDStopFlag_Enable@sda21(r13)
/* 8002CD6C 00028BAC 48 00 32 C5 */ bl __VISetRevolutionModeSimple
.global lbl_8002CD70
lbl_8002CD70:
/* 8002CD70 00028BB0 39 61 00 30 */ addi r11, r1, 0x30
/* 8002CD74 00028BB4 4B FD A6 09 */ bl lbl_8000737C
/* 8002CD78 00028BB8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8002CD7C 00028BBC 7C 08 03 A6 */ mtlr r0
/* 8002CD80 00028BC0 38 21 00 30 */ addi r1, r1, 0x30
/* 8002CD84 00028BC4 4E 80 00 20 */ blr
/* 8002CD88 00028BC8 00 00 00 00 */ .4byte 0x00000000
/* 8002CD8C 00028BCC 00 00 00 00 */ .4byte 0x00000000
.global VIWaitForRetrace
VIWaitForRetrace:
/* 8002CD90 00028BD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002CD94 00028BD4 7C 08 02 A6 */ mflr r0
/* 8002CD98 00028BD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002CD9C 00028BDC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002CDA0 00028BE0 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8002CDA4 00028BE4 4B FF 4A 7D */ bl OSDisableInterrupts
/* 8002CDA8 00028BE8 7C 7F 1B 78 */ mr r31, r3
/* 8002CDAC 00028BEC 83 CD E5 8C */ lwz r30, retraceCount@sda21(r13)
.global lbl_8002CDB0
lbl_8002CDB0:
/* 8002CDB0 00028BF0 38 6D E5 68 */ addi r3, r13, retraceQueue@sda21
/* 8002CDB4 00028BF4 4B FF 8A 5D */ bl OSSleepThread
/* 8002CDB8 00028BF8 80 0D E5 8C */ lwz r0, retraceCount@sda21(r13)
/* 8002CDBC 00028BFC 7C 1E 00 40 */ cmplw r30, r0
/* 8002CDC0 00028C00 41 82 FF F0 */ beq lbl_8002CDB0
/* 8002CDC4 00028C04 7F E3 FB 78 */ mr r3, r31
/* 8002CDC8 00028C08 4B FF 4A 99 */ bl OSRestoreInterrupts
/* 8002CDCC 00028C0C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002CDD0 00028C10 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002CDD4 00028C14 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8002CDD8 00028C18 7C 08 03 A6 */ mtlr r0
/* 8002CDDC 00028C1C 38 21 00 10 */ addi r1, r1, 0x10
/* 8002CDE0 00028C20 4E 80 00 20 */ blr
/* 8002CDE4 00028C24 00 00 00 00 */ .4byte 0x00000000
/* 8002CDE8 00028C28 00 00 00 00 */ .4byte 0x00000000
/* 8002CDEC 00028C2C 00 00 00 00 */ .4byte 0x00000000
.global setFbbRegs
setFbbRegs:
/* 8002CDF0 00028C30 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002CDF4 00028C34 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002CDF8 00028C38 89 03 00 2C */ lbz r8, 0x2c(r3)
/* 8002CDFC 00028C3C A0 03 00 0E */ lhz r0, 0xe(r3)
/* 8002CE00 00028C40 55 1F 28 34 */ slwi r31, r8, 5
/* 8002CE04 00028C44 81 63 00 20 */ lwz r11, 0x20(r3)
/* 8002CE08 00028C48 7D 1F 01 D6 */ mullw r8, r31, r0
/* 8002CE0C 00028C4C A1 23 00 16 */ lhz r9, 0x16(r3)
/* 8002CE10 00028C50 81 43 00 30 */ lwz r10, 0x30(r3)
/* 8002CE14 00028C54 2C 0B 00 00 */ cmpwi r11, 0x0
/* 8002CE18 00028C58 55 20 08 34 */ extlwi r0, r9, 27, 1
/* 8002CE1C 00028C5C A1 83 00 0A */ lhz r12, 0xa(r3)
/* 8002CE20 00028C60 7C 0A 02 14 */ add r0, r10, r0
/* 8002CE24 00028C64 7D 28 02 14 */ add r9, r8, r0
/* 8002CE28 00028C68 91 24 00 00 */ stw r9, 0x0(r4)
/* 8002CE2C 00028C6C 40 82 00 08 */ bne lbl_8002CE34
/* 8002CE30 00028C70 48 00 00 08 */ b lbl_8002CE38
.global lbl_8002CE34
lbl_8002CE34:
/* 8002CE34 00028C74 7D 29 FA 14 */ add r9, r9, r31
.global lbl_8002CE38
lbl_8002CE38:
/* 8002CE38 00028C78 55 88 0F FE */ srwi r8, r12, 31
/* 8002CE3C 00028C7C 55 80 07 FE */ clrlwi r0, r12, 31
/* 8002CE40 00028C80 7C 00 42 78 */ xor r0, r0, r8
/* 8002CE44 00028C84 91 25 00 00 */ stw r9, 0x0(r5)
/* 8002CE48 00028C88 7C 08 00 50 */ subf r0, r8, r0
/* 8002CE4C 00028C8C 2C 00 00 01 */ cmpwi r0, 0x1
/* 8002CE50 00028C90 40 82 00 10 */ bne lbl_8002CE60
/* 8002CE54 00028C94 80 04 00 00 */ lwz r0, 0x0(r4)
/* 8002CE58 00028C98 91 24 00 00 */ stw r9, 0x0(r4)
/* 8002CE5C 00028C9C 90 05 00 00 */ stw r0, 0x0(r5)
.global lbl_8002CE60
lbl_8002CE60:
/* 8002CE60 00028CA0 80 04 00 00 */ lwz r0, 0x0(r4)
/* 8002CE64 00028CA4 54 00 00 BE */ clrlwi r0, r0, 2
/* 8002CE68 00028CA8 90 04 00 00 */ stw r0, 0x0(r4)
/* 8002CE6C 00028CAC 80 05 00 00 */ lwz r0, 0x0(r5)
/* 8002CE70 00028CB0 54 00 00 BE */ clrlwi r0, r0, 2
/* 8002CE74 00028CB4 90 05 00 00 */ stw r0, 0x0(r5)
/* 8002CE78 00028CB8 80 03 00 44 */ lwz r0, 0x44(r3)
/* 8002CE7C 00028CBC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002CE80 00028CC0 41 82 00 84 */ beq lbl_8002CF04
/* 8002CE84 00028CC4 89 03 00 2C */ lbz r8, 0x2c(r3)
/* 8002CE88 00028CC8 A0 03 00 0E */ lhz r0, 0xe(r3)
/* 8002CE8C 00028CCC 55 1F 28 34 */ slwi r31, r8, 5
/* 8002CE90 00028CD0 81 63 00 20 */ lwz r11, 0x20(r3)
/* 8002CE94 00028CD4 7D 1F 01 D6 */ mullw r8, r31, r0
/* 8002CE98 00028CD8 A1 23 00 16 */ lhz r9, 0x16(r3)
/* 8002CE9C 00028CDC 81 43 00 48 */ lwz r10, 0x48(r3)
/* 8002CEA0 00028CE0 2C 0B 00 00 */ cmpwi r11, 0x0
/* 8002CEA4 00028CE4 55 20 08 34 */ extlwi r0, r9, 27, 1
/* 8002CEA8 00028CE8 A1 83 00 0A */ lhz r12, 0xa(r3)
/* 8002CEAC 00028CEC 7C 0A 02 14 */ add r0, r10, r0
/* 8002CEB0 00028CF0 7D 28 02 14 */ add r9, r8, r0
/* 8002CEB4 00028CF4 91 26 00 00 */ stw r9, 0x0(r6)
/* 8002CEB8 00028CF8 40 82 00 08 */ bne lbl_8002CEC0
/* 8002CEBC 00028CFC 48 00 00 08 */ b lbl_8002CEC4
.global lbl_8002CEC0
lbl_8002CEC0:
/* 8002CEC0 00028D00 7D 29 FA 14 */ add r9, r9, r31
.global lbl_8002CEC4
lbl_8002CEC4:
/* 8002CEC4 00028D04 55 88 0F FE */ srwi r8, r12, 31
/* 8002CEC8 00028D08 55 80 07 FE */ clrlwi r0, r12, 31
/* 8002CECC 00028D0C 7C 00 42 78 */ xor r0, r0, r8
/* 8002CED0 00028D10 91 27 00 00 */ stw r9, 0x0(r7)
/* 8002CED4 00028D14 7C 08 00 50 */ subf r0, r8, r0
/* 8002CED8 00028D18 2C 00 00 01 */ cmpwi r0, 0x1
/* 8002CEDC 00028D1C 40 82 00 10 */ bne lbl_8002CEEC
/* 8002CEE0 00028D20 80 06 00 00 */ lwz r0, 0x0(r6)
/* 8002CEE4 00028D24 91 26 00 00 */ stw r9, 0x0(r6)
/* 8002CEE8 00028D28 90 07 00 00 */ stw r0, 0x0(r7)
.global lbl_8002CEEC
lbl_8002CEEC:
/* 8002CEEC 00028D2C 80 06 00 00 */ lwz r0, 0x0(r6)
/* 8002CEF0 00028D30 54 00 00 BE */ clrlwi r0, r0, 2
/* 8002CEF4 00028D34 90 06 00 00 */ stw r0, 0x0(r6)
/* 8002CEF8 00028D38 80 07 00 00 */ lwz r0, 0x0(r7)
/* 8002CEFC 00028D3C 54 00 00 BE */ clrlwi r0, r0, 2
/* 8002CF00 00028D40 90 07 00 00 */ stw r0, 0x0(r7)
.global lbl_8002CF04
lbl_8002CF04:
/* 8002CF04 00028D44 80 04 00 00 */ lwz r0, 0x0(r4)
/* 8002CF08 00028D48 3D 00 01 00 */ lis r8, 0x100
/* 8002CF0C 00028D4C 7C 00 40 40 */ cmplw r0, r8
/* 8002CF10 00028D50 40 80 00 30 */ bge lbl_8002CF40
/* 8002CF14 00028D54 80 05 00 00 */ lwz r0, 0x0(r5)
/* 8002CF18 00028D58 7C 00 40 40 */ cmplw r0, r8
/* 8002CF1C 00028D5C 40 80 00 24 */ bge lbl_8002CF40
/* 8002CF20 00028D60 80 06 00 00 */ lwz r0, 0x0(r6)
/* 8002CF24 00028D64 7C 00 40 40 */ cmplw r0, r8
/* 8002CF28 00028D68 40 80 00 18 */ bge lbl_8002CF40
/* 8002CF2C 00028D6C 80 07 00 00 */ lwz r0, 0x0(r7)
/* 8002CF30 00028D70 7C 00 40 40 */ cmplw r0, r8
/* 8002CF34 00028D74 40 80 00 0C */ bge lbl_8002CF40
/* 8002CF38 00028D78 39 40 00 00 */ li r10, 0x0
/* 8002CF3C 00028D7C 48 00 00 08 */ b lbl_8002CF44
.global lbl_8002CF40
lbl_8002CF40:
/* 8002CF40 00028D80 39 40 00 01 */ li r10, 0x1
.global lbl_8002CF44
lbl_8002CF44:
/* 8002CF44 00028D84 2C 0A 00 00 */ cmpwi r10, 0x0
/* 8002CF48 00028D88 41 82 00 34 */ beq lbl_8002CF7C
/* 8002CF4C 00028D8C 80 04 00 00 */ lwz r0, 0x0(r4)
/* 8002CF50 00028D90 54 00 D9 7E */ srwi r0, r0, 5
/* 8002CF54 00028D94 90 04 00 00 */ stw r0, 0x0(r4)
/* 8002CF58 00028D98 80 05 00 00 */ lwz r0, 0x0(r5)
/* 8002CF5C 00028D9C 54 00 D9 7E */ srwi r0, r0, 5
/* 8002CF60 00028DA0 90 05 00 00 */ stw r0, 0x0(r5)
/* 8002CF64 00028DA4 80 06 00 00 */ lwz r0, 0x0(r6)
/* 8002CF68 00028DA8 54 00 D9 7E */ srwi r0, r0, 5
/* 8002CF6C 00028DAC 90 06 00 00 */ stw r0, 0x0(r6)
/* 8002CF70 00028DB0 80 07 00 00 */ lwz r0, 0x0(r7)
/* 8002CF74 00028DB4 54 00 D9 7E */ srwi r0, r0, 5
/* 8002CF78 00028DB8 90 07 00 00 */ stw r0, 0x0(r7)
.global lbl_8002CF7C
lbl_8002CF7C:
/* 8002CF7C 00028DBC 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002CF80 00028DC0 3D 00 80 4A */ lis r8, regs@ha
/* 8002CF84 00028DC4 81 64 00 00 */ lwz r11, 0x0(r4)
/* 8002CF88 00028DC8 39 08 A5 E8 */ addi r8, r8, regs@l
/* 8002CF8C 00028DCC 80 8D E5 1C */ lwz r4, lbl_8055C93C@sda21(r13)
/* 8002CF90 00028DD0 64 09 00 01 */ oris r9, r0, 0x1
/* 8002CF94 00028DD4 90 8D E5 1C */ stw r4, lbl_8055C93C@sda21(r13)
/* 8002CF98 00028DD8 55 44 60 26 */ slwi r4, r10, 12
/* 8002CF9C 00028DDC 55 60 84 3E */ srwi r0, r11, 16
/* 8002CFA0 00028DE0 91 2D E5 18 */ stw r9, changed@sda21(r13)
/* 8002CFA4 00028DE4 7C 8A 03 78 */ or r10, r4, r0
/* 8002CFA8 00028DE8 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002CFAC 00028DEC B1 68 00 1E */ sth r11, 0x1e(r8)
/* 8002CFB0 00028DF0 80 8D E5 1C */ lwz r4, lbl_8055C93C@sda21(r13)
/* 8002CFB4 00028DF4 64 00 00 02 */ oris r0, r0, 0x2
/* 8002CFB8 00028DF8 89 23 00 3C */ lbz r9, 0x3c(r3)
/* 8002CFBC 00028DFC 90 8D E5 1C */ stw r4, lbl_8055C93C@sda21(r13)
/* 8002CFC0 00028E00 55 29 40 2E */ slwi r9, r9, 8
/* 8002CFC4 00028E04 7D 44 4B 78 */ or r4, r10, r9
/* 8002CFC8 00028E08 90 0D E5 18 */ stw r0, changed@sda21(r13)
/* 8002CFCC 00028E0C B0 88 00 1C */ sth r4, 0x1c(r8)
/* 8002CFD0 00028E10 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002CFD4 00028E14 80 A5 00 00 */ lwz r5, 0x0(r5)
/* 8002CFD8 00028E18 80 8D E5 1C */ lwz r4, lbl_8055C93C@sda21(r13)
/* 8002CFDC 00028E1C 60 00 10 00 */ ori r0, r0, 0x1000
/* 8002CFE0 00028E20 90 8D E5 1C */ stw r4, lbl_8055C93C@sda21(r13)
/* 8002CFE4 00028E24 90 0D E5 18 */ stw r0, changed@sda21(r13)
/* 8002CFE8 00028E28 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002CFEC 00028E2C 80 8D E5 1C */ lwz r4, lbl_8055C93C@sda21(r13)
/* 8002CFF0 00028E30 B0 A8 00 26 */ sth r5, 0x26(r8)
/* 8002CFF4 00028E34 54 A5 84 3E */ srwi r5, r5, 16
/* 8002CFF8 00028E38 60 00 20 00 */ ori r0, r0, 0x2000
/* 8002CFFC 00028E3C 90 8D E5 1C */ stw r4, lbl_8055C93C@sda21(r13)
/* 8002D000 00028E40 B0 A8 00 24 */ sth r5, 0x24(r8)
/* 8002D004 00028E44 90 0D E5 18 */ stw r0, changed@sda21(r13)
/* 8002D008 00028E48 80 03 00 44 */ lwz r0, 0x44(r3)
/* 8002D00C 00028E4C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002D010 00028E50 41 82 00 7C */ beq lbl_8002D08C
/* 8002D014 00028E54 80 C6 00 00 */ lwz r6, 0x0(r6)
/* 8002D018 00028E58 3C 60 00 01 */ lis r3, 0x1
/* 8002D01C 00028E5C 80 8D E5 18 */ lwz r4, changed@sda21(r13)
/* 8002D020 00028E60 38 03 80 00 */ addi r0, r3, -0x8000
/* 8002D024 00028E64 80 6D E5 1C */ lwz r3, lbl_8055C93C@sda21(r13)
/* 8002D028 00028E68 54 C5 84 3E */ srwi r5, r6, 16
/* 8002D02C 00028E6C 90 6D E5 1C */ stw r3, lbl_8055C93C@sda21(r13)
/* 8002D030 00028E70 60 83 40 00 */ ori r3, r4, 0x4000
/* 8002D034 00028E74 90 6D E5 18 */ stw r3, changed@sda21(r13)
/* 8002D038 00028E78 80 6D E5 18 */ lwz r3, changed@sda21(r13)
/* 8002D03C 00028E7C 80 8D E5 1C */ lwz r4, lbl_8055C93C@sda21(r13)
/* 8002D040 00028E80 B0 C8 00 22 */ sth r6, 0x22(r8)
/* 8002D044 00028E84 7C 60 03 78 */ or r0, r3, r0
/* 8002D048 00028E88 90 8D E5 1C */ stw r4, lbl_8055C93C@sda21(r13)
/* 8002D04C 00028E8C 90 0D E5 18 */ stw r0, changed@sda21(r13)
/* 8002D050 00028E90 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002D054 00028E94 B0 A8 00 20 */ sth r5, 0x20(r8)
/* 8002D058 00028E98 80 6D E5 1C */ lwz r3, lbl_8055C93C@sda21(r13)
/* 8002D05C 00028E9C 60 00 04 00 */ ori r0, r0, 0x400
/* 8002D060 00028EA0 80 87 00 00 */ lwz r4, 0x0(r7)
/* 8002D064 00028EA4 B0 88 00 2A */ sth r4, 0x2a(r8)
/* 8002D068 00028EA8 54 84 84 3E */ srwi r4, r4, 16
/* 8002D06C 00028EAC 90 6D E5 1C */ stw r3, lbl_8055C93C@sda21(r13)
/* 8002D070 00028EB0 90 0D E5 18 */ stw r0, changed@sda21(r13)
/* 8002D074 00028EB4 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002D078 00028EB8 80 6D E5 1C */ lwz r3, lbl_8055C93C@sda21(r13)
/* 8002D07C 00028EBC B0 88 00 28 */ sth r4, 0x28(r8)
/* 8002D080 00028EC0 60 00 08 00 */ ori r0, r0, 0x800
/* 8002D084 00028EC4 90 6D E5 1C */ stw r3, lbl_8055C93C@sda21(r13)
/* 8002D088 00028EC8 90 0D E5 18 */ stw r0, changed@sda21(r13)
.global lbl_8002D08C
lbl_8002D08C:
/* 8002D08C 00028ECC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002D090 00028ED0 38 21 00 10 */ addi r1, r1, 0x10
/* 8002D094 00028ED4 4E 80 00 20 */ blr
/* 8002D098 00028ED8 00 00 00 00 */ .4byte 0x00000000
/* 8002D09C 00028EDC 00 00 00 00 */ .4byte 0x00000000
.global setHorizontalRegs
setHorizontalRegs:
/* 8002D0A0 00028EE0 80 ED E5 18 */ lwz r7, changed@sda21(r13)
/* 8002D0A4 00028EE4 3D 20 80 4A */ lis r9, regs@ha
/* 8002D0A8 00028EE8 3C C0 80 4A */ lis r6, HorVer@ha
/* 8002D0AC 00028EEC A0 03 00 1A */ lhz r0, 0x1a(r3)
/* 8002D0B0 00028EF0 39 29 A5 E8 */ addi r9, r9, regs@l
/* 8002D0B4 00028EF4 81 0D E5 1C */ lwz r8, lbl_8055C93C@sda21(r13)
/* 8002D0B8 00028EF8 38 C6 A6 60 */ addi r6, r6, HorVer@l
/* 8002D0BC 00028EFC B0 09 00 06 */ sth r0, 0x6(r9)
/* 8002D0C0 00028F00 80 06 00 28 */ lwz r0, 0x28(r6)
/* 8002D0C4 00028F04 64 E6 10 00 */ oris r6, r7, 0x1000
/* 8002D0C8 00028F08 91 0D E5 1C */ stw r8, lbl_8055C93C@sda21(r13)
/* 8002D0CC 00028F0C 28 00 00 08 */ cmplwi r0, 0x8
/* 8002D0D0 00028F10 90 CD E5 18 */ stw r6, changed@sda21(r13)
/* 8002D0D4 00028F14 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002D0D8 00028F18 88 E3 00 1E */ lbz r7, 0x1e(r3)
/* 8002D0DC 00028F1C 89 03 00 1D */ lbz r8, 0x1d(r3)
/* 8002D0E0 00028F20 64 00 20 00 */ oris r0, r0, 0x2000
/* 8002D0E4 00028F24 80 CD E5 1C */ lwz r6, lbl_8055C93C@sda21(r13)
/* 8002D0E8 00028F28 90 CD E5 1C */ stw r6, lbl_8055C93C@sda21(r13)
/* 8002D0EC 00028F2C 51 07 44 2E */ rlwimi r7, r8, 8, 16, 23
/* 8002D0F0 00028F30 B0 E9 00 04 */ sth r7, 0x4(r9)
/* 8002D0F4 00028F34 90 0D E5 18 */ stw r0, changed@sda21(r13)
/* 8002D0F8 00028F38 40 82 00 14 */ bne lbl_8002D10C
/* 8002D0FC 00028F3C 88 83 00 1F */ lbz r4, 0x1f(r3)
/* 8002D100 00028F40 A1 03 00 20 */ lhz r8, 0x20(r3)
/* 8002D104 00028F44 38 E4 00 AC */ addi r7, r4, 0xac
/* 8002D108 00028F48 48 00 00 24 */ b lbl_8002D12C
.global lbl_8002D10C
lbl_8002D10C:
/* 8002D10C 00028F4C A0 03 00 20 */ lhz r0, 0x20(r3)
/* 8002D110 00028F50 20 C5 02 D0 */ subfic r6, r5, 0x2d0
/* 8002D114 00028F54 88 E3 00 1F */ lbz r7, 0x1f(r3)
/* 8002D118 00028F58 7C A4 02 14 */ add r5, r4, r0
/* 8002D11C 00028F5C 7C 84 3A 14 */ add r4, r4, r7
/* 8002D120 00028F60 38 05 00 28 */ addi r0, r5, 0x28
/* 8002D124 00028F64 38 E4 FF D8 */ addi r7, r4, -0x28
/* 8002D128 00028F68 7D 06 00 50 */ subf r8, r6, r0
.global lbl_8002D12C
lbl_8002D12C:
/* 8002D12C 00028F6C 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002D130 00028F70 3C A0 80 4A */ lis r5, regs@ha
/* 8002D134 00028F74 88 C3 00 1C */ lbz r6, 0x1c(r3)
/* 8002D138 00028F78 54 E4 3C 30 */ rlwinm r4, r7, 7, 16, 24
/* 8002D13C 00028F7C 80 6D E5 1C */ lwz r3, lbl_8055C93C@sda21(r13)
/* 8002D140 00028F80 64 00 04 00 */ oris r0, r0, 0x400
/* 8002D144 00028F84 90 6D E5 1C */ stw r3, lbl_8055C93C@sda21(r13)
/* 8002D148 00028F88 54 E3 BA 7E */ srwi r3, r7, 9
/* 8002D14C 00028F8C 7C C6 23 78 */ or r6, r6, r4
/* 8002D150 00028F90 38 A5 A5 E8 */ addi r5, r5, regs@l
/* 8002D154 00028F94 90 0D E5 18 */ stw r0, changed@sda21(r13)
/* 8002D158 00028F98 55 00 08 3C */ slwi r0, r8, 1
/* 8002D15C 00028F9C 7C 64 03 78 */ or r4, r3, r0
/* 8002D160 00028FA0 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002D164 00028FA4 80 6D E5 1C */ lwz r3, lbl_8055C93C@sda21(r13)
/* 8002D168 00028FA8 B0 C5 00 0A */ sth r6, 0xa(r5)
/* 8002D16C 00028FAC 64 00 08 00 */ oris r0, r0, 0x800
/* 8002D170 00028FB0 90 6D E5 1C */ stw r3, lbl_8055C93C@sda21(r13)
/* 8002D174 00028FB4 B0 85 00 08 */ sth r4, 0x8(r5)
/* 8002D178 00028FB8 90 0D E5 18 */ stw r0, changed@sda21(r13)
/* 8002D17C 00028FBC 4E 80 00 20 */ blr
.global setVerticalRegs
setVerticalRegs:
/* 8002D180 00028FC0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002D184 00028FC4 3D 60 80 4A */ lis r11, HorVer@ha
/* 8002D188 00028FC8 39 6B A6 60 */ addi r11, r11, HorVer@l
/* 8002D18C 00028FCC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002D190 00028FD0 81 81 00 18 */ lwz r12, 0x18(r1)
/* 8002D194 00028FD4 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8002D198 00028FD8 81 6B 00 24 */ lwz r11, 0x24(r11)
/* 8002D19C 00028FDC 38 0B FF FE */ addi r0, r11, -0x2
/* 8002D1A0 00028FE0 28 00 00 01 */ cmplwi r0, 0x1
/* 8002D1A4 00028FE4 41 81 00 10 */ bgt lbl_8002D1B4
/* 8002D1A8 00028FE8 39 60 00 01 */ li r11, 0x1
/* 8002D1AC 00028FEC 3B C0 00 02 */ li r30, 0x2
/* 8002D1B0 00028FF0 48 00 00 0C */ b lbl_8002D1BC
.global lbl_8002D1B4
lbl_8002D1B4:
/* 8002D1B4 00028FF4 39 60 00 02 */ li r11, 0x2
/* 8002D1B8 00028FF8 3B C0 00 01 */ li r30, 0x1
.global lbl_8002D1BC
lbl_8002D1BC:
/* 8002D1BC 00028FFC 54 7F 0F FE */ srwi r31, r3, 31
/* 8002D1C0 00029000 54 60 07 FE */ clrlwi r0, r3, 31
/* 8002D1C4 00029004 7C 00 FA 78 */ xor r0, r0, r31
/* 8002D1C8 00029008 7C 1F 00 51 */ subf. r0, r31, r0
/* 8002D1CC 0002900C 40 82 00 3C */ bne lbl_8002D208
/* 8002D1D0 00029010 7C 0B 31 D6 */ mullw r0, r11, r6
/* 8002D1D4 00029014 7C 04 00 50 */ subf r0, r4, r0
/* 8002D1D8 00029018 7C 03 00 50 */ subf r0, r3, r0
/* 8002D1DC 0002901C 7F FE 01 D6 */ mullw r31, r30, r0
/* 8002D1E0 00029020 7C 7E 19 D6 */ mullw r3, r30, r3
/* 8002D1E4 00029024 7C C9 FA 14 */ add r6, r9, r31
/* 8002D1E8 00029028 54 C6 04 3E */ clrlwi r6, r6, 16
/* 8002D1EC 0002902C 7C 07 1A 14 */ add r0, r7, r3
/* 8002D1F0 00029030 7C EA FA 14 */ add r7, r10, r31
/* 8002D1F4 00029034 7C 68 1A 14 */ add r3, r8, r3
/* 8002D1F8 00029038 54 00 04 3E */ clrlwi r0, r0, 16
/* 8002D1FC 0002903C 54 E7 04 3E */ clrlwi r7, r7, 16
/* 8002D200 00029040 54 63 04 3E */ clrlwi r3, r3, 16
/* 8002D204 00029044 48 00 00 38 */ b lbl_8002D23C
.global lbl_8002D208
lbl_8002D208:
/* 8002D208 00029048 7C 0B 31 D6 */ mullw r0, r11, r6
/* 8002D20C 0002904C 7C 04 00 50 */ subf r0, r4, r0
/* 8002D210 00029050 7C 03 00 50 */ subf r0, r3, r0
/* 8002D214 00029054 7F FE 01 D6 */ mullw r31, r30, r0
/* 8002D218 00029058 7C 7E 19 D6 */ mullw r3, r30, r3
/* 8002D21C 0002905C 7C CA FA 14 */ add r6, r10, r31
/* 8002D220 00029060 54 C6 04 3E */ clrlwi r6, r6, 16
/* 8002D224 00029064 7C 08 1A 14 */ add r0, r8, r3
/* 8002D228 00029068 7C 67 1A 14 */ add r3, r7, r3
/* 8002D22C 0002906C 7C E9 FA 14 */ add r7, r9, r31
/* 8002D230 00029070 54 00 04 3E */ clrlwi r0, r0, 16
/* 8002D234 00029074 54 63 04 3E */ clrlwi r3, r3, 16
/* 8002D238 00029078 54 E7 04 3E */ clrlwi r7, r7, 16
.global lbl_8002D23C
lbl_8002D23C:
/* 8002D23C 0002907C 7C 84 5B D6 */ divw r4, r4, r11
/* 8002D240 00029080 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8002D244 00029084 54 8B 04 3E */ clrlwi r11, r4, 16
/* 8002D248 00029088 41 82 00 30 */ beq lbl_8002D278
/* 8002D24C 0002908C 55 64 0B FC */ rlwinm r4, r11, 1, 15, 30
/* 8002D250 00029090 38 C6 00 02 */ addi r6, r6, 0x2
/* 8002D254 00029094 39 04 FF FE */ addi r8, r4, -0x2
/* 8002D258 00029098 39 60 00 00 */ li r11, 0x0
/* 8002D25C 0002909C 38 87 00 02 */ addi r4, r7, 0x2
/* 8002D260 000290A0 54 C6 04 3E */ clrlwi r6, r6, 16
/* 8002D264 000290A4 7C 00 42 14 */ add r0, r0, r8
/* 8002D268 000290A8 7C 63 42 14 */ add r3, r3, r8
/* 8002D26C 000290AC 54 87 04 3E */ clrlwi r7, r4, 16
/* 8002D270 000290B0 54 00 04 3E */ clrlwi r0, r0, 16
/* 8002D274 000290B4 54 63 04 3E */ clrlwi r3, r3, 16
.global lbl_8002D278
lbl_8002D278:
/* 8002D278 000290B8 81 0D E5 18 */ lwz r8, changed@sda21(r13)
/* 8002D27C 000290BC 3C 80 80 00 */ lis r4, 0x8000
/* 8002D280 000290C0 81 2D E5 1C */ lwz r9, lbl_8055C93C@sda21(r13)
/* 8002D284 000290C4 3D 40 80 4A */ lis r10, regs@ha
/* 8002D288 000290C8 91 2D E5 1C */ stw r9, lbl_8055C93C@sda21(r13)
/* 8002D28C 000290CC 7D 04 23 78 */ or r4, r8, r4
/* 8002D290 000290D0 39 0A A5 E8 */ addi r8, r10, regs@l
/* 8002D294 000290D4 55 69 23 36 */ rlwinm r9, r11, 4, 12, 27
/* 8002D298 000290D8 90 8D E5 18 */ stw r4, changed@sda21(r13)
/* 8002D29C 000290DC 7C A9 4B 78 */ or r9, r5, r9
/* 8002D2A0 000290E0 80 8D E5 18 */ lwz r4, changed@sda21(r13)
/* 8002D2A4 000290E4 80 AD E5 1C */ lwz r5, lbl_8055C93C@sda21(r13)
/* 8002D2A8 000290E8 90 AD E5 1C */ stw r5, lbl_8055C93C@sda21(r13)
/* 8002D2AC 000290EC 64 84 01 00 */ oris r4, r4, 0x100
/* 8002D2B0 000290F0 90 8D E5 18 */ stw r4, changed@sda21(r13)
/* 8002D2B4 000290F4 80 8D E5 18 */ lwz r4, changed@sda21(r13)
/* 8002D2B8 000290F8 80 AD E5 1C */ lwz r5, lbl_8055C93C@sda21(r13)
/* 8002D2BC 000290FC 90 AD E5 1C */ stw r5, lbl_8055C93C@sda21(r13)
/* 8002D2C0 00029100 64 84 02 00 */ oris r4, r4, 0x200
/* 8002D2C4 00029104 90 8D E5 18 */ stw r4, changed@sda21(r13)
/* 8002D2C8 00029108 80 8D E5 18 */ lwz r4, changed@sda21(r13)
/* 8002D2CC 0002910C 80 AD E5 1C */ lwz r5, lbl_8055C93C@sda21(r13)
/* 8002D2D0 00029110 90 AD E5 1C */ stw r5, lbl_8055C93C@sda21(r13)
/* 8002D2D4 00029114 64 84 00 40 */ oris r4, r4, 0x40
/* 8002D2D8 00029118 90 8D E5 18 */ stw r4, changed@sda21(r13)
/* 8002D2DC 0002911C 80 8D E5 18 */ lwz r4, changed@sda21(r13)
/* 8002D2E0 00029120 80 AD E5 1C */ lwz r5, lbl_8055C93C@sda21(r13)
/* 8002D2E4 00029124 B1 2A A5 E8 */ sth r9, -0x5a18(r10)
/* 8002D2E8 00029128 64 84 00 80 */ oris r4, r4, 0x80
/* 8002D2EC 0002912C 90 AD E5 1C */ stw r5, lbl_8055C93C@sda21(r13)
/* 8002D2F0 00029130 B0 08 00 0E */ sth r0, 0xe(r8)
/* 8002D2F4 00029134 B0 C8 00 0C */ sth r6, 0xc(r8)
/* 8002D2F8 00029138 B0 68 00 12 */ sth r3, 0x12(r8)
/* 8002D2FC 0002913C B0 E8 00 10 */ sth r7, 0x10(r8)
/* 8002D300 00029140 90 8D E5 18 */ stw r4, changed@sda21(r13)
/* 8002D304 00029144 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002D308 00029148 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8002D30C 0002914C 38 21 00 10 */ addi r1, r1, 0x10
/* 8002D310 00029150 4E 80 00 20 */ blr
/* 8002D314 00029154 00 00 00 00 */ .4byte 0x00000000
/* 8002D318 00029158 00 00 00 00 */ .4byte 0x00000000
/* 8002D31C 0002915C 00 00 00 00 */ .4byte 0x00000000
.global VIConfigure
VIConfigure:
/* 8002D320 00029160 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8002D324 00029164 7C 08 02 A6 */ mflr r0
/* 8002D328 00029168 90 01 00 34 */ stw r0, 0x34(r1)
/* 8002D32C 0002916C 39 61 00 30 */ addi r11, r1, 0x30
/* 8002D330 00029170 4B FD A0 0D */ bl lbl_8000733C
/* 8002D334 00029174 3F E0 80 43 */ lis r31, "@1_8042FC90"@ha
/* 8002D338 00029178 7C 7E 1B 78 */ mr r30, r3
/* 8002D33C 0002917C 3B FF FC 90 */ addi r31, r31, "@1_8042FC90"@l
/* 8002D340 00029180 4B FF 44 E1 */ bl OSDisableInterrupts
/* 8002D344 00029184 3C 80 80 4A */ lis r4, HorVer@ha
/* 8002D348 00029188 80 BE 00 00 */ lwz r5, 0x0(r30)
/* 8002D34C 0002918C 38 84 A6 60 */ addi r4, r4, HorVer@l
/* 8002D350 00029190 7C 7D 1B 78 */ mr r29, r3
/* 8002D354 00029194 80 04 00 24 */ lwz r0, 0x24(r4)
/* 8002D358 00029198 54 A3 07 BE */ clrlwi r3, r5, 30
/* 8002D35C 0002919C 7C 00 18 40 */ cmplw r0, r3
/* 8002D360 000291A0 41 82 00 10 */ beq lbl_8002D370
/* 8002D364 000291A4 38 00 00 01 */ li r0, 0x1
/* 8002D368 000291A8 90 0D E5 10 */ stw r0, changeMode@sda21(r13)
/* 8002D36C 000291AC 90 64 00 24 */ stw r3, 0x24(r4)
.global lbl_8002D370
lbl_8002D370:
/* 8002D370 000291B0 80 1E 00 00 */ lwz r0, 0x0(r30)
/* 8002D374 000291B4 3C 60 80 00 */ lis r3, 0x800000CC@ha
/* 8002D378 000291B8 83 63 00 CC */ lwz r27, 0x800000CC@l(r3)
/* 8002D37C 000291BC 54 1C F0 BE */ srwi r28, r0, 2
/* 8002D380 000291C0 28 1C 00 04 */ cmplwi r28, 0x4
/* 8002D384 000291C4 40 82 00 6C */ bne lbl_8002D3F0
/* 8002D388 000291C8 80 0D E5 44 */ lwz r0, "@LOCAL@PrintDebugPalCaution__Fv@message"@sda21(r13)
/* 8002D38C 000291CC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002D390 000291D0 40 82 00 60 */ bne lbl_8002D3F0
/* 8002D394 000291D4 38 00 00 01 */ li r0, 0x1
/* 8002D398 000291D8 90 0D E5 44 */ stw r0, "@LOCAL@PrintDebugPalCaution__Fv@message"@sda21(r13)
/* 8002D39C 000291DC 38 7F 03 BC */ addi r3, r31, 0x3bc
/* 8002D3A0 000291E0 4C C6 31 82 */ crclr 4*cr1+eq
/* 8002D3A4 000291E4 4B FF 05 ED */ bl OSReport
/* 8002D3A8 000291E8 38 7F 03 E8 */ addi r3, r31, 0x3e8
/* 8002D3AC 000291EC 4C C6 31 82 */ crclr 4*cr1+eq
/* 8002D3B0 000291F0 4B FF 05 E1 */ bl OSReport
/* 8002D3B4 000291F4 38 7F 04 14 */ addi r3, r31, 0x414
/* 8002D3B8 000291F8 4C C6 31 82 */ crclr 4*cr1+eq
/* 8002D3BC 000291FC 4B FF 05 D5 */ bl OSReport
/* 8002D3C0 00029200 38 7F 04 40 */ addi r3, r31, 0x440
/* 8002D3C4 00029204 4C C6 31 82 */ crclr 4*cr1+eq
/* 8002D3C8 00029208 4B FF 05 C9 */ bl OSReport
/* 8002D3CC 0002920C 38 7F 04 6C */ addi r3, r31, 0x46c
/* 8002D3D0 00029210 4C C6 31 82 */ crclr 4*cr1+eq
/* 8002D3D4 00029214 4B FF 05 BD */ bl OSReport
/* 8002D3D8 00029218 38 7F 04 98 */ addi r3, r31, 0x498
/* 8002D3DC 0002921C 4C C6 31 82 */ crclr 4*cr1+eq
/* 8002D3E0 00029220 4B FF 05 B1 */ bl OSReport
/* 8002D3E4 00029224 38 7F 03 BC */ addi r3, r31, 0x3bc
/* 8002D3E8 00029228 4C C6 31 82 */ crclr 4*cr1+eq
/* 8002D3EC 0002922C 4B FF 05 A5 */ bl OSReport
.global lbl_8002D3F0
lbl_8002D3F0:
/* 8002D3F0 00029230 28 1B 00 01 */ cmplwi r27, 0x1
/* 8002D3F4 00029234 41 82 00 1C */ beq lbl_8002D410
/* 8002D3F8 00029238 28 1B 00 05 */ cmplwi r27, 0x5
/* 8002D3FC 0002923C 41 82 00 14 */ beq lbl_8002D410
/* 8002D400 00029240 28 1C 00 01 */ cmplwi r28, 0x1
/* 8002D404 00029244 41 82 00 2C */ beq lbl_8002D430
/* 8002D408 00029248 28 1C 00 05 */ cmplwi r28, 0x5
/* 8002D40C 0002924C 41 82 00 24 */ beq lbl_8002D430
.global lbl_8002D410
lbl_8002D410:
/* 8002D410 00029250 28 1B 00 01 */ cmplwi r27, 0x1
/* 8002D414 00029254 41 82 00 0C */ beq lbl_8002D420
/* 8002D418 00029258 28 1B 00 05 */ cmplwi r27, 0x5
/* 8002D41C 0002925C 40 82 00 30 */ bne lbl_8002D44C
.global lbl_8002D420
lbl_8002D420:
/* 8002D420 00029260 28 1C 00 01 */ cmplwi r28, 0x1
/* 8002D424 00029264 41 82 00 28 */ beq lbl_8002D44C
/* 8002D428 00029268 28 1C 00 05 */ cmplwi r28, 0x5
/* 8002D42C 0002926C 41 82 00 20 */ beq lbl_8002D44C
.global lbl_8002D430
lbl_8002D430:
/* 8002D430 00029270 7F 66 DB 78 */ mr r6, r27
/* 8002D434 00029274 7F 87 E3 78 */ mr r7, r28
/* 8002D438 00029278 38 BF 04 C4 */ addi r5, r31, 0x4c4
/* 8002D43C 0002927C 38 6D 81 20 */ addi r3, r13, "@3937"@sda21
/* 8002D440 00029280 38 80 0A 5B */ li r4, 0xa5b
/* 8002D444 00029284 4C C6 31 82 */ crclr 4*cr1+eq
/* 8002D448 00029288 48 15 D3 A9 */ bl OSPanic
.global lbl_8002D44C
lbl_8002D44C:
/* 8002D44C 0002928C 2C 1C 00 00 */ cmpwi r28, 0x0
/* 8002D450 00029290 41 82 00 0C */ beq lbl_8002D45C
/* 8002D454 00029294 28 1C 00 02 */ cmplwi r28, 0x2
/* 8002D458 00029298 40 82 00 14 */ bne lbl_8002D46C
.global lbl_8002D45C
lbl_8002D45C:
/* 8002D45C 0002929C 3C 60 80 4A */ lis r3, HorVer@ha
/* 8002D460 000292A0 38 63 A6 60 */ addi r3, r3, HorVer@l
/* 8002D464 000292A4 93 63 00 28 */ stw r27, 0x28(r3)
/* 8002D468 000292A8 48 00 00 10 */ b lbl_8002D478
.global lbl_8002D46C
lbl_8002D46C:
/* 8002D46C 000292AC 3C 60 80 4A */ lis r3, HorVer@ha
/* 8002D470 000292B0 38 63 A6 60 */ addi r3, r3, HorVer@l
/* 8002D474 000292B4 93 83 00 28 */ stw r28, 0x28(r3)
.global lbl_8002D478
lbl_8002D478:
/* 8002D478 000292B8 3C 80 80 4A */ lis r4, HorVer@ha
/* 8002D47C 000292BC A0 1E 00 0A */ lhz r0, 0xa(r30)
/* 8002D480 000292C0 38 64 A6 60 */ addi r3, r4, HorVer@l
/* 8002D484 000292C4 B0 04 A6 60 */ sth r0, -0x59a0(r4)
/* 8002D488 000292C8 80 03 00 24 */ lwz r0, 0x24(r3)
/* 8002D48C 000292CC 28 00 00 01 */ cmplwi r0, 0x1
/* 8002D490 000292D0 40 82 00 10 */ bne lbl_8002D4A0
/* 8002D494 000292D4 A0 1E 00 0C */ lhz r0, 0xc(r30)
/* 8002D498 000292D8 54 08 0C 3C */ rlwinm r8, r0, 1, 16, 30
/* 8002D49C 000292DC 48 00 00 08 */ b lbl_8002D4A4
.global lbl_8002D4A0
lbl_8002D4A0:
/* 8002D4A0 000292E0 A1 1E 00 0C */ lhz r8, 0xc(r30)
.global lbl_8002D4A4
lbl_8002D4A4:
/* 8002D4A4 000292E4 3C E0 80 4A */ lis r7, HorVer@ha
/* 8002D4A8 000292E8 A0 DE 00 0E */ lhz r6, 0xe(r30)
/* 8002D4AC 000292EC 38 E7 A6 60 */ addi r7, r7, HorVer@l
/* 8002D4B0 000292F0 A0 9E 00 04 */ lhz r4, 0x4(r30)
/* 8002D4B4 000292F4 81 27 00 24 */ lwz r9, 0x24(r7)
/* 8002D4B8 000292F8 38 00 00 00 */ li r0, 0x0
/* 8002D4BC 000292FC A0 BE 00 08 */ lhz r5, 0x8(r30)
/* 8002D4C0 00029300 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 8002D4C4 00029304 28 09 00 02 */ cmplwi r9, 0x2
/* 8002D4C8 00029308 B1 07 00 02 */ sth r8, 0x2(r7)
/* 8002D4CC 0002930C B0 C7 00 04 */ sth r6, 0x4(r7)
/* 8002D4D0 00029310 B0 87 00 12 */ sth r4, 0x12(r7)
/* 8002D4D4 00029314 B0 A7 00 14 */ sth r5, 0x14(r7)
/* 8002D4D8 00029318 90 67 00 20 */ stw r3, 0x20(r7)
/* 8002D4DC 0002931C B0 87 00 1A */ sth r4, 0x1a(r7)
/* 8002D4E0 00029320 B0 A7 00 1C */ sth r5, 0x1c(r7)
/* 8002D4E4 00029324 B0 07 00 16 */ sth r0, 0x16(r7)
/* 8002D4E8 00029328 B0 07 00 18 */ sth r0, 0x18(r7)
/* 8002D4EC 0002932C 40 82 00 08 */ bne lbl_8002D4F4
/* 8002D4F0 00029330 48 00 00 1C */ b lbl_8002D50C
.global lbl_8002D4F4
lbl_8002D4F4:
/* 8002D4F4 00029334 28 09 00 03 */ cmplwi r9, 0x3
/* 8002D4F8 00029338 40 82 00 08 */ bne lbl_8002D500
/* 8002D4FC 0002933C 48 00 00 10 */ b lbl_8002D50C
.global lbl_8002D500
lbl_8002D500:
/* 8002D500 00029340 2C 03 00 00 */ cmpwi r3, 0x0
/* 8002D504 00029344 40 82 00 08 */ bne lbl_8002D50C
/* 8002D508 00029348 54 A5 0C 3C */ rlwinm r5, r5, 1, 16, 30
.global lbl_8002D50C
lbl_8002D50C:
/* 8002D50C 0002934C 3F C0 80 4A */ lis r30, HorVer@ha
/* 8002D510 00029350 3B FE A6 60 */ addi r31, r30, HorVer@l
/* 8002D514 00029354 80 9F 00 24 */ lwz r4, 0x24(r31)
/* 8002D518 00029358 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 8002D51C 0002935C 38 64 FF FD */ addi r3, r4, -0x3
/* 8002D520 00029360 B0 BF 00 06 */ sth r5, 0x6(r31)
/* 8002D524 00029364 7C 63 00 34 */ cntlzw r3, r3
/* 8002D528 00029368 54 00 10 3A */ slwi r0, r0, 2
/* 8002D52C 0002936C 54 63 D9 7E */ srwi r3, r3, 5
/* 8002D530 00029370 90 7F 00 44 */ stw r3, 0x44(r31)
/* 8002D534 00029374 7C 60 22 14 */ add r3, r0, r4
/* 8002D538 00029378 4B FF EF E9 */ bl getTiming
/* 8002D53C 0002937C A0 9E A6 60 */ lhz r4, -0x59a0(r30)
/* 8002D540 00029380 7C 7E 1B 78 */ mr r30, r3
/* 8002D544 00029384 A0 BF 00 04 */ lhz r5, 0x4(r31)
/* 8002D548 00029388 A8 0D E5 0C */ lha r0, displayOffsetH@sda21(r13)
/* 8002D54C 0002938C 7C 84 07 34 */ extsh r4, r4
/* 8002D550 00029390 90 7F 00 54 */ stw r3, 0x54(r31)
/* 8002D554 00029394 21 05 02 D0 */ subfic r8, r5, 0x2d0
/* 8002D558 00029398 7C 84 02 14 */ add r4, r4, r0
/* 8002D55C 0002939C 7C 04 40 00 */ cmpw r4, r8
/* 8002D560 000293A0 A0 C3 00 02 */ lhz r6, 0x2(r3)
/* 8002D564 000293A4 40 81 00 08 */ ble lbl_8002D56C
/* 8002D568 000293A8 48 00 00 0C */ b lbl_8002D574
.global lbl_8002D56C
lbl_8002D56C:
/* 8002D56C 000293AC 7C 80 FE 70 */ srawi r0, r4, 31
/* 8002D570 000293B0 7C 88 00 78 */ andc r8, r4, r0
.global lbl_8002D574
lbl_8002D574:
/* 8002D574 000293B4 3C A0 80 4A */ lis r5, HorVer@ha
/* 8002D578 000293B8 A9 4D E5 0E */ lha r10, displayOffsetV@sda21(r13)
/* 8002D57C 000293BC 38 A5 A6 60 */ addi r5, r5, HorVer@l
/* 8002D580 000293C0 A0 E5 00 02 */ lhz r7, 0x2(r5)
/* 8002D584 000293C4 80 85 00 20 */ lwz r4, 0x20(r5)
/* 8002D588 000293C8 7C E0 07 34 */ extsh r0, r7
/* 8002D58C 000293CC 54 EC 07 FE */ clrlwi r12, r7, 31
/* 8002D590 000293D0 7C E0 52 14 */ add r7, r0, r10
/* 8002D594 000293D4 B1 05 00 08 */ sth r8, 0x8(r5)
/* 8002D598 000293D8 7C 80 00 34 */ cntlzw r0, r4
/* 8002D59C 000293DC 7D 89 63 78 */ mr r9, r12
/* 8002D5A0 000293E0 54 04 D9 7E */ srwi r4, r0, 5
/* 8002D5A4 000293E4 7C 07 60 00 */ cmpw r7, r12
/* 8002D5A8 000293E8 39 64 00 01 */ addi r11, r4, 0x1
/* 8002D5AC 000293EC 40 81 00 08 */ ble lbl_8002D5B4
/* 8002D5B0 000293F0 7C E9 3B 78 */ mr r9, r7
.global lbl_8002D5B4
lbl_8002D5B4:
/* 8002D5B4 000293F4 3C 80 80 4A */ lis r4, HorVer@ha
/* 8002D5B8 000293F8 7C C5 07 34 */ extsh r5, r6
/* 8002D5BC 000293FC 38 84 A6 60 */ addi r4, r4, HorVer@l
/* 8002D5C0 00029400 A0 E4 00 02 */ lhz r7, 0x2(r4)
/* 8002D5C4 00029404 54 A5 08 3C */ slwi r5, r5, 1
/* 8002D5C8 00029408 A0 04 00 06 */ lhz r0, 0x6(r4)
/* 8002D5CC 0002940C 7F 8C 28 50 */ subf r28, r12, r5
/* 8002D5D0 00029410 7C E7 07 34 */ extsh r7, r7
/* 8002D5D4 00029414 B1 24 00 0A */ sth r9, 0xa(r4)
/* 8002D5D8 00029418 7C 05 07 34 */ extsh r5, r0
/* 8002D5DC 0002941C A0 C4 00 1C */ lhz r6, 0x1c(r4)
/* 8002D5E0 00029420 7C A7 2A 14 */ add r5, r7, r5
/* 8002D5E4 00029424 7C E7 52 14 */ add r7, r7, r10
/* 8002D5E8 00029428 7C AA 2A 14 */ add r5, r10, r5
/* 8002D5EC 0002942C A1 04 00 18 */ lhz r8, 0x18(r4)
/* 8002D5F0 00029430 7F 9C 28 50 */ subf r28, r28, r5
/* 8002D5F4 00029434 7F EC 38 50 */ subf r31, r12, r7
/* 8002D5F8 00029438 7C BC 00 D0 */ neg r5, r28
/* 8002D5FC 0002943C 7C A7 E0 78 */ andc r7, r5, r28
/* 8002D600 00029440 7C EA FE 70 */ srawi r10, r7, 31
/* 8002D604 00029444 7F E5 FE 70 */ srawi r5, r31, 31
/* 8002D608 00029448 7F E9 FE 70 */ srawi r9, r31, 31
/* 8002D60C 0002944C 7F 8C 50 38 */ and r12, r28, r10
/* 8002D610 00029450 7F EA 28 38 */ and r10, r31, r5
/* 8002D614 00029454 7C E7 FE 70 */ srawi r7, r7, 31
/* 8002D618 00029458 7F E5 FE 70 */ srawi r5, r31, 31
/* 8002D61C 0002945C 7F E9 48 38 */ and r9, r31, r9
/* 8002D620 00029460 7F E5 28 38 */ and r5, r31, r5
/* 8002D624 00029464 7F 9F 38 38 */ and r31, r28, r7
/* 8002D628 00029468 7C A5 5B D6 */ divw r5, r5, r11
/* 8002D62C 0002946C 7C 00 52 14 */ add r0, r0, r10
/* 8002D630 00029470 7C 0C 00 50 */ subf r0, r12, r0
/* 8002D634 00029474 B0 04 00 0C */ sth r0, 0xc(r4)
/* 8002D638 00029478 7C 06 2A 14 */ add r0, r6, r5
/* 8002D63C 0002947C 7C E9 5B D6 */ divw r7, r9, r11
/* 8002D640 00029480 7C BF 5B D6 */ divw r5, r31, r11
/* 8002D644 00029484 7C C7 40 50 */ subf r6, r7, r8
/* 8002D648 00029488 B0 C4 00 0E */ sth r6, 0xe(r4)
/* 8002D64C 0002948C 7C 05 00 50 */ subf r0, r5, r0
/* 8002D650 00029490 B0 04 00 10 */ sth r0, 0x10(r4)
/* 8002D654 00029494 A0 A3 00 18 */ lhz r5, 0x18(r3)
/* 8002D658 00029498 54 A4 0F FE */ srwi r4, r5, 31
/* 8002D65C 0002949C 54 A0 07 FE */ clrlwi r0, r5, 31
/* 8002D660 000294A0 7C 00 22 78 */ xor r0, r0, r4
/* 8002D664 000294A4 54 A7 FC 3E */ extrwi r7, r5, 16, 15
/* 8002D668 000294A8 7C 04 00 50 */ subf r0, r4, r0
/* 8002D66C 000294AC 54 00 04 3F */ clrlwi. r0, r0, 16
/* 8002D670 000294B0 41 82 00 0C */ beq lbl_8002D67C
/* 8002D674 000294B4 A0 C3 00 1A */ lhz r6, 0x1a(r3)
/* 8002D678 000294B8 48 00 00 08 */ b lbl_8002D680
.global lbl_8002D67C
lbl_8002D67C:
/* 8002D67C 000294BC 38 C0 00 00 */ li r6, 0x0
.global lbl_8002D680
lbl_8002D680:
/* 8002D680 000294C0 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002D684 000294C4 3C 60 80 4A */ lis r3, HorVer@ha
/* 8002D688 000294C8 38 63 A6 60 */ addi r3, r3, HorVer@l
/* 8002D68C 000294CC 80 8D E5 1C */ lwz r4, lbl_8055C93C@sda21(r13)
/* 8002D690 000294D0 90 8D E5 1C */ stw r4, lbl_8055C93C@sda21(r13)
/* 8002D694 000294D4 60 05 00 40 */ ori r5, r0, 0x40
/* 8002D698 000294D8 81 23 00 24 */ lwz r9, 0x24(r3)
/* 8002D69C 000294DC 38 87 00 01 */ addi r4, r7, 0x1
/* 8002D6A0 000294E0 90 AD E5 18 */ stw r5, changed@sda21(r13)
/* 8002D6A4 000294E4 3C E0 80 4A */ lis r7, regs@ha
/* 8002D6A8 000294E8 38 09 FF FE */ addi r0, r9, -0x2
/* 8002D6AC 000294EC 54 85 04 3E */ clrlwi r5, r4, 16
/* 8002D6B0 000294F0 39 06 00 01 */ addi r8, r6, 0x1
/* 8002D6B4 000294F4 38 E7 A5 E8 */ addi r7, r7, regs@l
/* 8002D6B8 000294F8 60 A6 10 00 */ ori r6, r5, 0x1000
/* 8002D6BC 000294FC 80 8D E5 18 */ lwz r4, changed@sda21(r13)
/* 8002D6C0 00029500 80 AD E5 1C */ lwz r5, lbl_8055C93C@sda21(r13)
/* 8002D6C4 00029504 28 00 00 01 */ cmplwi r0, 0x1
/* 8002D6C8 00029508 60 80 00 80 */ ori r0, r4, 0x80
/* 8002D6CC 0002950C 90 AD E5 1C */ stw r5, lbl_8055C93C@sda21(r13)
/* 8002D6D0 00029510 A0 87 00 02 */ lhz r4, 0x2(r7)
/* 8002D6D4 00029514 B1 07 00 32 */ sth r8, 0x32(r7)
/* 8002D6D8 00029518 A0 A7 00 6C */ lhz r5, 0x6c(r7)
/* 8002D6DC 0002951C B0 C7 00 30 */ sth r6, 0x30(r7)
/* 8002D6E0 00029520 90 0D E5 18 */ stw r0, changed@sda21(r13)
/* 8002D6E4 00029524 41 81 00 2C */ bgt lbl_8002D710
/* 8002D6E8 00029528 80 03 00 28 */ lwz r0, 0x28(r3)
/* 8002D6EC 0002952C 54 83 07 B8 */ rlwinm r3, r4, 0, 30, 28
/* 8002D6F0 00029530 60 64 00 04 */ ori r4, r3, 0x4
/* 8002D6F4 00029534 28 00 00 08 */ cmplwi r0, 0x8
/* 8002D6F8 00029538 40 82 00 0C */ bne lbl_8002D704
/* 8002D6FC 0002953C 54 AA 00 3C */ clrrwi r10, r5, 1
/* 8002D700 00029540 48 00 00 1C */ b lbl_8002D71C
.global lbl_8002D704
lbl_8002D704:
/* 8002D704 00029544 54 A0 00 3C */ clrrwi r0, r5, 1
/* 8002D708 00029548 60 0A 00 01 */ ori r10, r0, 0x1
/* 8002D70C 0002954C 48 00 00 10 */ b lbl_8002D71C
.global lbl_8002D710
lbl_8002D710:
/* 8002D710 00029550 54 84 07 B8 */ rlwinm r4, r4, 0, 30, 28
/* 8002D714 00029554 54 AA 00 3C */ clrrwi r10, r5, 1
/* 8002D718 00029558 51 24 17 7A */ rlwimi r4, r9, 2, 29, 29
.global lbl_8002D71C
lbl_8002D71C:
/* 8002D71C 0002955C 3C 60 80 4A */ lis r3, HorVer@ha
/* 8002D720 00029560 54 84 07 76 */ rlwinm r4, r4, 0, 29, 27
/* 8002D724 00029564 38 63 A6 60 */ addi r3, r3, HorVer@l
/* 8002D728 00029568 80 A3 00 28 */ lwz r5, 0x28(r3)
/* 8002D72C 0002956C 81 03 00 44 */ lwz r8, 0x44(r3)
/* 8002D730 00029570 38 05 FF FF */ addi r0, r5, -0x1
/* 8002D734 00029574 55 03 18 38 */ slwi r3, r8, 3
/* 8002D738 00029578 7C 83 1B 78 */ or r3, r4, r3
/* 8002D73C 0002957C 28 00 00 02 */ cmplwi r0, 0x2
/* 8002D740 00029580 54 66 06 2A */ rlwinm r6, r3, 0, 24, 21
/* 8002D744 00029584 41 81 00 0C */ bgt lbl_8002D750
/* 8002D748 00029588 54 A0 40 2E */ slwi r0, r5, 8
/* 8002D74C 0002958C 7C C6 03 78 */ or r6, r6, r0
.global lbl_8002D750
lbl_8002D750:
/* 8002D750 00029590 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002D754 00029594 3C 60 80 4A */ lis r3, HorVer@ha
/* 8002D758 00029598 80 8D E5 1C */ lwz r4, lbl_8055C93C@sda21(r13)
/* 8002D75C 0002959C 38 63 A6 60 */ addi r3, r3, HorVer@l
/* 8002D760 000295A0 90 8D E5 1C */ stw r4, lbl_8055C93C@sda21(r13)
/* 8002D764 000295A4 64 00 40 00 */ oris r0, r0, 0x4000
/* 8002D768 000295A8 3C 80 80 4A */ lis r4, regs@ha
/* 8002D76C 000295AC A0 E3 00 1A */ lhz r7, 0x1a(r3)
/* 8002D770 000295B0 90 0D E5 18 */ stw r0, changed@sda21(r13)
/* 8002D774 000295B4 38 84 A5 E8 */ addi r4, r4, regs@l
/* 8002D778 000295B8 A0 A3 00 04 */ lhz r5, 0x4(r3)
/* 8002D77C 000295BC 2C 08 00 00 */ cmpwi r8, 0x0
/* 8002D780 000295C0 80 6D E5 18 */ lwz r3, changed@sda21(r13)
/* 8002D784 000295C4 80 0D E5 1C */ lwz r0, lbl_8055C93C@sda21(r13)
/* 8002D788 000295C8 B0 C4 00 02 */ sth r6, 0x2(r4)
/* 8002D78C 000295CC 60 00 02 00 */ ori r0, r0, 0x200
/* 8002D790 000295D0 90 0D E5 1C */ stw r0, lbl_8055C93C@sda21(r13)
/* 8002D794 000295D4 B1 44 00 6C */ sth r10, 0x6c(r4)
/* 8002D798 000295D8 90 6D E5 18 */ stw r3, changed@sda21(r13)
/* 8002D79C 000295DC 41 82 00 08 */ beq lbl_8002D7A4
/* 8002D7A0 000295E0 54 E7 0B FC */ rlwinm r7, r7, 1, 15, 30
.global lbl_8002D7A4
lbl_8002D7A4:
/* 8002D7A4 000295E4 54 E7 04 3E */ clrlwi r7, r7, 16
/* 8002D7A8 000295E8 7C 07 28 40 */ cmplw r7, r5
/* 8002D7AC 000295EC 40 80 00 54 */ bge lbl_8002D800
/* 8002D7B0 000295F0 54 E0 42 2E */ rlwinm r0, r7, 8, 8, 23
/* 8002D7B4 000295F4 80 6D E5 18 */ lwz r3, changed@sda21(r13)
/* 8002D7B8 000295F8 7C 85 02 14 */ add r4, r5, r0
/* 8002D7BC 000295FC 80 0D E5 1C */ lwz r0, lbl_8055C93C@sda21(r13)
/* 8002D7C0 00029600 38 C4 FF FF */ addi r6, r4, -0x1
/* 8002D7C4 00029604 7C C6 2B 96 */ divwu r6, r6, r5
/* 8002D7C8 00029608 64 00 04 00 */ oris r0, r0, 0x400
/* 8002D7CC 0002960C 90 0D E5 1C */ stw r0, lbl_8055C93C@sda21(r13)
/* 8002D7D0 00029610 3C 80 80 4A */ lis r4, regs@ha
/* 8002D7D4 00029614 90 6D E5 18 */ stw r3, changed@sda21(r13)
/* 8002D7D8 00029618 38 84 A5 E8 */ addi r4, r4, regs@l
/* 8002D7DC 0002961C 80 6D E5 18 */ lwz r3, changed@sda21(r13)
/* 8002D7E0 00029620 60 C6 10 00 */ ori r6, r6, 0x1000
/* 8002D7E4 00029624 80 0D E5 1C */ lwz r0, lbl_8055C93C@sda21(r13)
/* 8002D7E8 00029628 B0 C4 00 4A */ sth r6, 0x4a(r4)
/* 8002D7EC 0002962C 60 00 00 80 */ ori r0, r0, 0x80
/* 8002D7F0 00029630 90 0D E5 1C */ stw r0, lbl_8055C93C@sda21(r13)
/* 8002D7F4 00029634 B0 E4 00 70 */ sth r7, 0x70(r4)
/* 8002D7F8 00029638 90 6D E5 18 */ stw r3, changed@sda21(r13)
/* 8002D7FC 0002963C 48 00 00 28 */ b lbl_8002D824
.global lbl_8002D800
lbl_8002D800:
/* 8002D800 00029640 80 6D E5 18 */ lwz r3, changed@sda21(r13)
/* 8002D804 00029644 3C 80 80 4A */ lis r4, regs@ha
/* 8002D808 00029648 80 0D E5 1C */ lwz r0, lbl_8055C93C@sda21(r13)
/* 8002D80C 0002964C 38 84 A5 E8 */ addi r4, r4, regs@l
/* 8002D810 00029650 38 C0 01 00 */ li r6, 0x100
/* 8002D814 00029654 B0 C4 00 4A */ sth r6, 0x4a(r4)
/* 8002D818 00029658 64 00 04 00 */ oris r0, r0, 0x400
/* 8002D81C 0002965C 90 0D E5 1C */ stw r0, lbl_8055C93C@sda21(r13)
/* 8002D820 00029660 90 6D E5 18 */ stw r3, changed@sda21(r13)
.global lbl_8002D824
lbl_8002D824:
/* 8002D824 00029664 3F E0 80 4A */ lis r31, HorVer@ha
/* 8002D828 00029668 7F C3 F3 78 */ mr r3, r30
/* 8002D82C 0002966C 3B FF A6 60 */ addi r31, r31, HorVer@l
/* 8002D830 00029670 A0 9F 00 08 */ lhz r4, 0x8(r31)
/* 8002D834 00029674 4B FF F8 6D */ bl setHorizontalRegs
/* 8002D838 00029678 A0 9E 00 10 */ lhz r4, 0x10(r30)
/* 8002D83C 0002967C 3C 60 80 4A */ lis r3, regs@ha
/* 8002D840 00029680 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002D844 00029684 38 63 A5 E8 */ addi r3, r3, regs@l
/* 8002D848 00029688 54 85 28 34 */ slwi r5, r4, 5
/* 8002D84C 0002968C 88 DE 00 0C */ lbz r6, 0xc(r30)
/* 8002D850 00029690 80 8D E5 1C */ lwz r4, lbl_8055C93C@sda21(r13)
/* 8002D854 00029694 64 00 00 10 */ oris r0, r0, 0x10
/* 8002D858 00029698 90 8D E5 1C */ stw r4, lbl_8055C93C@sda21(r13)
/* 8002D85C 0002969C 7C C5 2B 78 */ or r5, r6, r5
/* 8002D860 000296A0 80 DF 00 20 */ lwz r6, 0x20(r31)
/* 8002D864 000296A4 A0 9F 00 12 */ lhz r4, 0x12(r31)
/* 8002D868 000296A8 90 0D E5 18 */ stw r0, changed@sda21(r13)
/* 8002D86C 000296AC 2C 06 00 00 */ cmpwi r6, 0x0
/* 8002D870 000296B0 38 04 00 0F */ addi r0, r4, 0xf
/* 8002D874 000296B4 A1 3F 00 16 */ lhz r9, 0x16(r31)
/* 8002D878 000296B8 B0 A3 00 16 */ sth r5, 0x16(r3)
/* 8002D87C 000296BC 7C 00 26 70 */ srawi r0, r0, 4
/* 8002D880 000296C0 80 AD E5 18 */ lwz r5, changed@sda21(r13)
/* 8002D884 000296C4 7C 80 01 94 */ addze r4, r0
/* 8002D888 000296C8 A0 DE 00 14 */ lhz r6, 0x14(r30)
/* 8002D88C 000296CC 88 FE 00 0E */ lbz r7, 0xe(r30)
/* 8002D890 000296D0 64 A5 00 20 */ oris r5, r5, 0x20
/* 8002D894 000296D4 54 C6 28 34 */ slwi r6, r6, 5
/* 8002D898 000296D8 80 0D E5 1C */ lwz r0, lbl_8055C93C@sda21(r13)
/* 8002D89C 000296DC 90 0D E5 1C */ stw r0, lbl_8055C93C@sda21(r13)
/* 8002D8A0 000296E0 7C E6 33 78 */ or r6, r7, r6
/* 8002D8A4 000296E4 A0 1F 00 1A */ lhz r0, 0x1a(r31)
/* 8002D8A8 000296E8 90 AD E5 18 */ stw r5, changed@sda21(r13)
/* 8002D8AC 000296EC B0 C3 00 14 */ sth r6, 0x14(r3)
/* 8002D8B0 000296F0 80 AD E5 18 */ lwz r5, changed@sda21(r13)
/* 8002D8B4 000296F4 A0 DE 00 12 */ lhz r6, 0x12(r30)
/* 8002D8B8 000296F8 89 1E 00 0D */ lbz r8, 0xd(r30)
/* 8002D8BC 000296FC 64 A5 00 04 */ oris r5, r5, 0x4
/* 8002D8C0 00029700 54 C7 28 34 */ slwi r7, r6, 5
/* 8002D8C4 00029704 80 CD E5 1C */ lwz r6, lbl_8055C93C@sda21(r13)
/* 8002D8C8 00029708 90 CD E5 1C */ stw r6, lbl_8055C93C@sda21(r13)
/* 8002D8CC 0002970C 7D 06 3B 78 */ or r6, r8, r7
/* 8002D8D0 00029710 90 AD E5 18 */ stw r5, changed@sda21(r13)
/* 8002D8D4 00029714 B0 C3 00 1A */ sth r6, 0x1a(r3)
/* 8002D8D8 00029718 80 AD E5 18 */ lwz r5, changed@sda21(r13)
/* 8002D8DC 0002971C A0 DE 00 16 */ lhz r6, 0x16(r30)
/* 8002D8E0 00029720 89 1E 00 0F */ lbz r8, 0xf(r30)
/* 8002D8E4 00029724 64 A5 00 08 */ oris r5, r5, 0x8
/* 8002D8E8 00029728 54 C7 28 34 */ slwi r7, r6, 5
/* 8002D8EC 0002972C 80 CD E5 1C */ lwz r6, lbl_8055C93C@sda21(r13)
/* 8002D8F0 00029730 90 CD E5 1C */ stw r6, lbl_8055C93C@sda21(r13)
/* 8002D8F4 00029734 7D 06 3B 78 */ or r6, r8, r7
/* 8002D8F8 00029738 B0 C3 00 18 */ sth r6, 0x18(r3)
/* 8002D8FC 0002973C 90 AD E5 18 */ stw r5, changed@sda21(r13)
/* 8002D900 00029740 98 9F 00 2C */ stb r4, 0x2c(r31)
/* 8002D904 00029744 40 82 00 0C */ bne lbl_8002D910
/* 8002D908 00029748 54 8A 06 3E */ clrlwi r10, r4, 24
/* 8002D90C 0002974C 48 00 00 08 */ b lbl_8002D914
.global lbl_8002D910
lbl_8002D910:
/* 8002D910 00029750 54 8A 0E 3C */ rlwinm r10, r4, 1, 24, 30
.global lbl_8002D914
lbl_8002D914:
/* 8002D914 00029754 55 23 E0 06 */ slwi r3, r9, 28
/* 8002D918 00029758 55 26 0F FE */ srwi r6, r9, 31
/* 8002D91C 0002975C 7C 66 18 50 */ subf r3, r6, r3
/* 8002D920 00029760 80 8D E5 30 */ lwz r4, FBSet@sda21(r13)
/* 8002D924 00029764 54 63 20 3E */ rotlwi r3, r3, 4
/* 8002D928 00029768 80 AD E5 18 */ lwz r5, changed@sda21(r13)
/* 8002D92C 0002976C 7D 23 32 14 */ add r9, r3, r6
/* 8002D930 00029770 80 CD E5 1C */ lwz r6, lbl_8055C93C@sda21(r13)
/* 8002D934 00029774 55 27 06 3E */ clrlwi r7, r9, 24
/* 8002D938 00029778 3C 60 80 4A */ lis r3, HorVer@ha
/* 8002D93C 0002977C 7D 00 3A 14 */ add r8, r0, r7
/* 8002D940 00029780 2C 04 00 00 */ cmpwi r4, 0x0
/* 8002D944 00029784 38 08 00 0F */ addi r0, r8, 0xf
/* 8002D948 00029788 38 63 A6 60 */ addi r3, r3, HorVer@l
/* 8002D94C 0002978C 3C E0 80 4A */ lis r7, regs@ha
/* 8002D950 00029790 99 43 00 2D */ stb r10, 0x2d(r3)
/* 8002D954 00029794 7C 08 26 70 */ srawi r8, r0, 4
/* 8002D958 00029798 64 C0 08 00 */ oris r0, r6, 0x800
/* 8002D95C 0002979C 90 0D E5 1C */ stw r0, lbl_8055C93C@sda21(r13)
/* 8002D960 000297A0 7C C8 01 94 */ addze r6, r8
/* 8002D964 000297A4 7D 40 53 78 */ mr r0, r10
/* 8002D968 000297A8 38 E7 A5 E8 */ addi r7, r7, regs@l
/* 8002D96C 000297AC 50 C0 44 2E */ rlwimi r0, r6, 8, 16, 23
/* 8002D970 000297B0 99 23 00 3C */ stb r9, 0x3c(r3)
/* 8002D974 000297B4 98 C3 00 2E */ stb r6, 0x2e(r3)
/* 8002D978 000297B8 B0 07 00 48 */ sth r0, 0x48(r7)
/* 8002D97C 000297BC 90 AD E5 18 */ stw r5, changed@sda21(r13)
/* 8002D980 000297C0 41 82 00 18 */ beq lbl_8002D998
/* 8002D984 000297C4 38 83 00 34 */ addi r4, r3, 0x34
/* 8002D988 000297C8 38 A3 00 38 */ addi r5, r3, 0x38
/* 8002D98C 000297CC 38 C3 00 4C */ addi r6, r3, 0x4c
/* 8002D990 000297D0 38 E3 00 50 */ addi r7, r3, 0x50
/* 8002D994 000297D4 4B FF F4 5D */ bl setFbbRegs
.global lbl_8002D998
lbl_8002D998:
/* 8002D998 000297D8 3C 80 80 4A */ lis r4, HorVer@ha
/* 8002D99C 000297DC 38 84 A6 60 */ addi r4, r4, HorVer@l
/* 8002D9A0 000297E0 80 04 00 40 */ lwz r0, 0x40(r4)
/* 8002D9A4 000297E4 90 01 00 08 */ stw r0, 0x8(r1)
/* 8002D9A8 000297E8 A0 64 00 0A */ lhz r3, 0xa(r4)
/* 8002D9AC 000297EC A0 84 00 0C */ lhz r4, 0xc(r4)
/* 8002D9B0 000297F0 88 BE 00 00 */ lbz r5, 0x0(r30)
/* 8002D9B4 000297F4 A0 DE 00 02 */ lhz r6, 0x2(r30)
/* 8002D9B8 000297F8 A0 FE 00 04 */ lhz r7, 0x4(r30)
/* 8002D9BC 000297FC A1 1E 00 06 */ lhz r8, 0x6(r30)
/* 8002D9C0 00029800 A1 3E 00 08 */ lhz r9, 0x8(r30)
/* 8002D9C4 00029804 A1 5E 00 0A */ lhz r10, 0xa(r30)
/* 8002D9C8 00029808 4B FF F7 B9 */ bl setVerticalRegs
/* 8002D9CC 0002980C 7F A3 EB 78 */ mr r3, r29
/* 8002D9D0 00029810 4B FF 3E 91 */ bl OSRestoreInterrupts
/* 8002D9D4 00029814 39 61 00 30 */ addi r11, r1, 0x30
/* 8002D9D8 00029818 4B FD 99 B1 */ bl lbl_80007388
/* 8002D9DC 0002981C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8002D9E0 00029820 7C 08 03 A6 */ mtlr r0
/* 8002D9E4 00029824 38 21 00 30 */ addi r1, r1, 0x30
/* 8002D9E8 00029828 4E 80 00 20 */ blr
/* 8002D9EC 0002982C 00 00 00 00 */ .4byte 0x00000000
.global VIConfigurePan
VIConfigurePan:
/* 8002D9F0 00029830 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8002D9F4 00029834 7C 08 02 A6 */ mflr r0
/* 8002D9F8 00029838 90 01 00 34 */ stw r0, 0x34(r1)
/* 8002D9FC 0002983C 39 61 00 30 */ addi r11, r1, 0x30
/* 8002DA00 00029840 4B FD 99 39 */ bl lbl_80007338
/* 8002DA04 00029844 7C 7D 1B 78 */ mr r29, r3
/* 8002DA08 00029848 7C 9C 23 78 */ mr r28, r4
/* 8002DA0C 0002984C 7C BB 2B 78 */ mr r27, r5
/* 8002DA10 00029850 7C DA 33 78 */ mr r26, r6
/* 8002DA14 00029854 4B FF 3E 0D */ bl OSDisableInterrupts
/* 8002DA18 00029858 3C 80 80 4A */ lis r4, HorVer@ha
/* 8002DA1C 0002985C 7C 7F 1B 78 */ mr r31, r3
/* 8002DA20 00029860 38 84 A6 60 */ addi r4, r4, HorVer@l
/* 8002DA24 00029864 80 04 00 24 */ lwz r0, 0x24(r4)
/* 8002DA28 00029868 B3 A4 00 16 */ sth r29, 0x16(r4)
/* 8002DA2C 0002986C 28 00 00 02 */ cmplwi r0, 0x2
/* 8002DA30 00029870 B3 84 00 18 */ sth r28, 0x18(r4)
/* 8002DA34 00029874 B3 64 00 1A */ sth r27, 0x1a(r4)
/* 8002DA38 00029878 B3 44 00 1C */ sth r26, 0x1c(r4)
/* 8002DA3C 0002987C 40 82 00 08 */ bne lbl_8002DA44
/* 8002DA40 00029880 48 00 00 20 */ b lbl_8002DA60
.global lbl_8002DA44
lbl_8002DA44:
/* 8002DA44 00029884 28 00 00 03 */ cmplwi r0, 0x3
/* 8002DA48 00029888 40 82 00 08 */ bne lbl_8002DA50
/* 8002DA4C 0002988C 48 00 00 14 */ b lbl_8002DA60
.global lbl_8002DA50
lbl_8002DA50:
/* 8002DA50 00029890 80 04 00 20 */ lwz r0, 0x20(r4)
/* 8002DA54 00029894 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002DA58 00029898 40 82 00 08 */ bne lbl_8002DA60
/* 8002DA5C 0002989C 57 5A 0C 3C */ rlwinm r26, r26, 1, 16, 30
.global lbl_8002DA60
lbl_8002DA60:
/* 8002DA60 000298A0 3C 80 80 4A */ lis r4, HorVer@ha
/* 8002DA64 000298A4 A8 6D E5 0C */ lha r3, displayOffsetH@sda21(r13)
/* 8002DA68 000298A8 38 A4 A6 60 */ addi r5, r4, HorVer@l
/* 8002DA6C 000298AC A8 84 A6 60 */ lha r4, -0x59a0(r4)
/* 8002DA70 000298B0 A0 05 00 04 */ lhz r0, 0x4(r5)
/* 8002DA74 000298B4 B3 45 00 06 */ sth r26, 0x6(r5)
/* 8002DA78 000298B8 7C 64 1A 14 */ add r3, r4, r3
/* 8002DA7C 000298BC 20 C0 02 D0 */ subfic r6, r0, 0x2d0
/* 8002DA80 000298C0 83 C5 00 54 */ lwz r30, 0x54(r5)
/* 8002DA84 000298C4 7C 03 30 00 */ cmpw r3, r6
/* 8002DA88 000298C8 A0 BE 00 02 */ lhz r5, 0x2(r30)
/* 8002DA8C 000298CC 40 81 00 08 */ ble lbl_8002DA94
/* 8002DA90 000298D0 48 00 00 0C */ b lbl_8002DA9C
.global lbl_8002DA94
lbl_8002DA94:
/* 8002DA94 000298D4 7C 60 FE 70 */ srawi r0, r3, 31
/* 8002DA98 000298D8 7C 66 00 78 */ andc r6, r3, r0
.global lbl_8002DA9C
lbl_8002DA9C:
/* 8002DA9C 000298DC 3C 80 80 4A */ lis r4, HorVer@ha
/* 8002DAA0 000298E0 A9 2D E5 0E */ lha r9, displayOffsetV@sda21(r13)
/* 8002DAA4 000298E4 38 84 A6 60 */ addi r4, r4, HorVer@l
/* 8002DAA8 000298E8 A0 E4 00 02 */ lhz r7, 0x2(r4)
/* 8002DAAC 000298EC 80 64 00 20 */ lwz r3, 0x20(r4)
/* 8002DAB0 000298F0 7C E0 07 34 */ extsh r0, r7
/* 8002DAB4 000298F4 54 EC 07 FE */ clrlwi r12, r7, 31
/* 8002DAB8 000298F8 7C E0 4A 14 */ add r7, r0, r9
/* 8002DABC 000298FC B0 C4 00 08 */ sth r6, 0x8(r4)
/* 8002DAC0 00029900 7C 60 00 34 */ cntlzw r0, r3
/* 8002DAC4 00029904 54 03 D9 7E */ srwi r3, r0, 5
/* 8002DAC8 00029908 7C 07 60 00 */ cmpw r7, r12
/* 8002DACC 0002990C 7D 80 63 78 */ mr r0, r12
/* 8002DAD0 00029910 38 83 00 01 */ addi r4, r3, 0x1
/* 8002DAD4 00029914 40 81 00 08 */ ble lbl_8002DADC
/* 8002DAD8 00029918 7C E0 3B 78 */ mr r0, r7
.global lbl_8002DADC
lbl_8002DADC:
/* 8002DADC 0002991C 3C 60 80 4A */ lis r3, HorVer@ha
/* 8002DAE0 00029920 7C A5 07 34 */ extsh r5, r5
/* 8002DAE4 00029924 38 63 A6 60 */ addi r3, r3, HorVer@l
/* 8002DAE8 00029928 A0 E3 00 02 */ lhz r7, 0x2(r3)
/* 8002DAEC 0002992C 54 A6 08 3C */ slwi r6, r5, 1
/* 8002DAF0 00029930 A0 A3 00 06 */ lhz r5, 0x6(r3)
/* 8002DAF4 00029934 7F 6C 30 50 */ subf r27, r12, r6
/* 8002DAF8 00029938 7C E6 07 34 */ extsh r6, r7
/* 8002DAFC 0002993C A9 03 00 02 */ lha r8, 0x2(r3)
/* 8002DB00 00029940 7D 69 32 14 */ add r11, r9, r6
/* 8002DB04 00029944 A8 E3 00 06 */ lha r7, 0x6(r3)
/* 8002DB08 00029948 7C A6 07 34 */ extsh r6, r5
/* 8002DB0C 0002994C 7D 28 4A 14 */ add r9, r8, r9
/* 8002DB10 00029950 7C C6 5A 14 */ add r6, r6, r11
/* 8002DB14 00029954 7F 4C 58 50 */ subf r26, r12, r11
/* 8002DB18 00029958 7C DB 30 50 */ subf r6, r27, r6
/* 8002DB1C 0002995C 7C E7 5A 14 */ add r7, r7, r11
/* 8002DB20 00029960 7D 06 00 D0 */ neg r8, r6
/* 8002DB24 00029964 7D 8C 48 50 */ subf r12, r12, r9
/* 8002DB28 00029968 7D 0A 30 78 */ andc r10, r8, r6
/* 8002DB2C 0002996C 7F 7B 38 50 */ subf r27, r27, r7
/* 8002DB30 00029970 7D 5C FE 70 */ srawi r28, r10, 31
/* 8002DB34 00029974 81 03 00 44 */ lwz r8, 0x44(r3)
/* 8002DB38 00029978 7F 4B FE 70 */ srawi r11, r26, 31
/* 8002DB3C 0002997C 7D 3B 00 D0 */ neg r9, r27
/* 8002DB40 00029980 7D 8A FE 70 */ srawi r10, r12, 31
/* 8002DB44 00029984 2C 08 00 00 */ cmpwi r8, 0x0
/* 8002DB48 00029988 7D 29 D8 78 */ andc r9, r9, r27
/* 8002DB4C 0002998C 7F 5D 58 38 */ and r29, r26, r11
/* 8002DB50 00029990 7D 2B FE 70 */ srawi r11, r9, 31
/* 8002DB54 00029994 7D 8C 50 38 */ and r12, r12, r10
/* 8002DB58 00029998 7F 49 FE 70 */ srawi r9, r26, 31
/* 8002DB5C 0002999C 7C DC E0 38 */ and r28, r6, r28
/* 8002DB60 000299A0 7F 49 48 38 */ and r9, r26, r9
/* 8002DB64 000299A4 7F 7B 58 38 */ and r27, r27, r11
/* 8002DB68 000299A8 7D 29 23 D6 */ divw r9, r9, r4
/* 8002DB6C 000299AC B0 03 00 0A */ sth r0, 0xa(r3)
/* 8002DB70 000299B0 7C 05 EA 14 */ add r0, r5, r29
/* 8002DB74 000299B4 A1 43 00 1C */ lhz r10, 0x1c(r3)
/* 8002DB78 000299B8 A1 63 00 18 */ lhz r11, 0x18(r3)
/* 8002DB7C 000299BC 7C 1C 00 50 */ subf r0, r28, r0
/* 8002DB80 000299C0 7C CC 23 D6 */ divw r6, r12, r4
/* 8002DB84 000299C4 A0 E3 00 1A */ lhz r7, 0x1a(r3)
/* 8002DB88 000299C8 B0 03 00 0C */ sth r0, 0xc(r3)
/* 8002DB8C 000299CC 7C AA 4A 14 */ add r5, r10, r9
/* 8002DB90 000299D0 A1 03 00 04 */ lhz r8, 0x4(r3)
/* 8002DB94 000299D4 7C E0 3B 78 */ mr r0, r7
/* 8002DB98 000299D8 7C 9B 23 D6 */ divw r4, r27, r4
/* 8002DB9C 000299DC 7C C6 58 50 */ subf r6, r6, r11
/* 8002DBA0 000299E0 B0 C3 00 0E */ sth r6, 0xe(r3)
/* 8002DBA4 000299E4 7C 84 28 50 */ subf r4, r4, r5
/* 8002DBA8 000299E8 B0 83 00 10 */ sth r4, 0x10(r3)
/* 8002DBAC 000299EC 41 82 00 08 */ beq lbl_8002DBB4
/* 8002DBB0 000299F0 54 E0 0B FC */ rlwinm r0, r7, 1, 15, 30
.global lbl_8002DBB4
lbl_8002DBB4:
/* 8002DBB4 000299F4 54 06 04 3E */ clrlwi r6, r0, 16
/* 8002DBB8 000299F8 7C 06 40 40 */ cmplw r6, r8
/* 8002DBBC 000299FC 40 80 00 54 */ bge lbl_8002DC10
/* 8002DBC0 00029A00 54 C0 42 2E */ rlwinm r0, r6, 8, 8, 23
/* 8002DBC4 00029A04 80 6D E5 18 */ lwz r3, changed@sda21(r13)
/* 8002DBC8 00029A08 7C 88 02 14 */ add r4, r8, r0
/* 8002DBCC 00029A0C 80 0D E5 1C */ lwz r0, lbl_8055C93C@sda21(r13)
/* 8002DBD0 00029A10 38 A4 FF FF */ addi r5, r4, -0x1
/* 8002DBD4 00029A14 7C A5 43 96 */ divwu r5, r5, r8
/* 8002DBD8 00029A18 64 00 04 00 */ oris r0, r0, 0x400
/* 8002DBDC 00029A1C 90 0D E5 1C */ stw r0, lbl_8055C93C@sda21(r13)
/* 8002DBE0 00029A20 3C 80 80 4A */ lis r4, regs@ha
/* 8002DBE4 00029A24 90 6D E5 18 */ stw r3, changed@sda21(r13)
/* 8002DBE8 00029A28 38 84 A5 E8 */ addi r4, r4, regs@l
/* 8002DBEC 00029A2C 80 6D E5 18 */ lwz r3, changed@sda21(r13)
/* 8002DBF0 00029A30 60 A5 10 00 */ ori r5, r5, 0x1000
/* 8002DBF4 00029A34 80 0D E5 1C */ lwz r0, lbl_8055C93C@sda21(r13)
/* 8002DBF8 00029A38 B0 A4 00 4A */ sth r5, 0x4a(r4)
/* 8002DBFC 00029A3C 60 00 00 80 */ ori r0, r0, 0x80
/* 8002DC00 00029A40 90 0D E5 1C */ stw r0, lbl_8055C93C@sda21(r13)
/* 8002DC04 00029A44 B0 C4 00 70 */ sth r6, 0x70(r4)
/* 8002DC08 00029A48 90 6D E5 18 */ stw r3, changed@sda21(r13)
/* 8002DC0C 00029A4C 48 00 00 28 */ b lbl_8002DC34
.global lbl_8002DC10
lbl_8002DC10:
/* 8002DC10 00029A50 80 6D E5 18 */ lwz r3, changed@sda21(r13)
/* 8002DC14 00029A54 3C 80 80 4A */ lis r4, regs@ha
/* 8002DC18 00029A58 80 0D E5 1C */ lwz r0, lbl_8055C93C@sda21(r13)
/* 8002DC1C 00029A5C 38 84 A5 E8 */ addi r4, r4, regs@l
/* 8002DC20 00029A60 38 A0 01 00 */ li r5, 0x100
/* 8002DC24 00029A64 B0 A4 00 4A */ sth r5, 0x4a(r4)
/* 8002DC28 00029A68 64 00 04 00 */ oris r0, r0, 0x400
/* 8002DC2C 00029A6C 90 0D E5 1C */ stw r0, lbl_8055C93C@sda21(r13)
/* 8002DC30 00029A70 90 6D E5 18 */ stw r3, changed@sda21(r13)
.global lbl_8002DC34
lbl_8002DC34:
/* 8002DC34 00029A74 3C 80 80 4A */ lis r4, HorVer@ha
/* 8002DC38 00029A78 38 84 A6 60 */ addi r4, r4, HorVer@l
/* 8002DC3C 00029A7C A0 64 00 12 */ lhz r3, 0x12(r4)
/* 8002DC40 00029A80 80 A4 00 20 */ lwz r5, 0x20(r4)
/* 8002DC44 00029A84 38 03 00 0F */ addi r0, r3, 0xf
/* 8002DC48 00029A88 A0 64 00 16 */ lhz r3, 0x16(r4)
/* 8002DC4C 00029A8C 7C 00 26 70 */ srawi r0, r0, 4
/* 8002DC50 00029A90 2C 05 00 00 */ cmpwi r5, 0x0
/* 8002DC54 00029A94 7C 00 01 94 */ addze r0, r0
/* 8002DC58 00029A98 98 04 00 2C */ stb r0, 0x2c(r4)
/* 8002DC5C 00029A9C 40 82 00 0C */ bne lbl_8002DC68
/* 8002DC60 00029AA0 54 09 06 3E */ clrlwi r9, r0, 24
/* 8002DC64 00029AA4 48 00 00 08 */ b lbl_8002DC6C
.global lbl_8002DC68
lbl_8002DC68:
/* 8002DC68 00029AA8 54 09 0E 3C */ rlwinm r9, r0, 1, 24, 30
.global lbl_8002DC6C
lbl_8002DC6C:
/* 8002DC6C 00029AAC 54 60 E0 06 */ slwi r0, r3, 28
/* 8002DC70 00029AB0 54 64 0F FE */ srwi r4, r3, 31
/* 8002DC74 00029AB4 7C 64 00 50 */ subf r3, r4, r0
/* 8002DC78 00029AB8 80 0D E5 30 */ lwz r0, FBSet@sda21(r13)
/* 8002DC7C 00029ABC 54 63 20 3E */ rotlwi r3, r3, 4
/* 8002DC80 00029AC0 80 AD E5 18 */ lwz r5, changed@sda21(r13)
/* 8002DC84 00029AC4 7D 03 22 14 */ add r8, r3, r4
/* 8002DC88 00029AC8 80 8D E5 1C */ lwz r4, lbl_8055C93C@sda21(r13)
/* 8002DC8C 00029ACC 55 06 06 3E */ clrlwi r6, r8, 24
/* 8002DC90 00029AD0 3C 60 80 4A */ lis r3, HorVer@ha
/* 8002DC94 00029AD4 7C E7 32 14 */ add r7, r7, r6
/* 8002DC98 00029AD8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8002DC9C 00029ADC 38 E7 00 0F */ addi r7, r7, 0xf
/* 8002DCA0 00029AE0 38 63 A6 60 */ addi r3, r3, HorVer@l
/* 8002DCA4 00029AE4 3C C0 80 4A */ lis r6, regs@ha
/* 8002DCA8 00029AE8 64 84 08 00 */ oris r4, r4, 0x800
/* 8002DCAC 00029AEC 7C E7 26 70 */ srawi r7, r7, 4
/* 8002DCB0 00029AF0 90 8D E5 1C */ stw r4, lbl_8055C93C@sda21(r13)
/* 8002DCB4 00029AF4 7C E7 01 94 */ addze r7, r7
/* 8002DCB8 00029AF8 7D 20 4B 78 */ mr r0, r9
/* 8002DCBC 00029AFC 38 C6 A5 E8 */ addi r6, r6, regs@l
/* 8002DCC0 00029B00 99 23 00 2D */ stb r9, 0x2d(r3)
/* 8002DCC4 00029B04 50 E0 44 2E */ rlwimi r0, r7, 8, 16, 23
/* 8002DCC8 00029B08 99 03 00 3C */ stb r8, 0x3c(r3)
/* 8002DCCC 00029B0C 98 E3 00 2E */ stb r7, 0x2e(r3)
/* 8002DCD0 00029B10 B0 06 00 48 */ sth r0, 0x48(r6)
/* 8002DCD4 00029B14 90 AD E5 18 */ stw r5, changed@sda21(r13)
/* 8002DCD8 00029B18 41 82 00 18 */ beq lbl_8002DCF0
/* 8002DCDC 00029B1C 38 83 00 34 */ addi r4, r3, 0x34
/* 8002DCE0 00029B20 38 A3 00 38 */ addi r5, r3, 0x38
/* 8002DCE4 00029B24 38 C3 00 4C */ addi r6, r3, 0x4c
/* 8002DCE8 00029B28 38 E3 00 50 */ addi r7, r3, 0x50
/* 8002DCEC 00029B2C 4B FF F1 05 */ bl setFbbRegs
.global lbl_8002DCF0
lbl_8002DCF0:
/* 8002DCF0 00029B30 3C 80 80 4A */ lis r4, HorVer@ha
/* 8002DCF4 00029B34 38 84 A6 60 */ addi r4, r4, HorVer@l
/* 8002DCF8 00029B38 80 04 00 40 */ lwz r0, 0x40(r4)
/* 8002DCFC 00029B3C 90 01 00 08 */ stw r0, 0x8(r1)
/* 8002DD00 00029B40 A0 64 00 0A */ lhz r3, 0xa(r4)
/* 8002DD04 00029B44 A0 84 00 06 */ lhz r4, 0x6(r4)
/* 8002DD08 00029B48 88 BE 00 00 */ lbz r5, 0x0(r30)
/* 8002DD0C 00029B4C A0 DE 00 02 */ lhz r6, 0x2(r30)
/* 8002DD10 00029B50 A0 FE 00 04 */ lhz r7, 0x4(r30)
/* 8002DD14 00029B54 A1 1E 00 06 */ lhz r8, 0x6(r30)
/* 8002DD18 00029B58 A1 3E 00 08 */ lhz r9, 0x8(r30)
/* 8002DD1C 00029B5C A1 5E 00 0A */ lhz r10, 0xa(r30)
/* 8002DD20 00029B60 4B FF F4 61 */ bl setVerticalRegs
/* 8002DD24 00029B64 7F E3 FB 78 */ mr r3, r31
/* 8002DD28 00029B68 4B FF 3B 39 */ bl OSRestoreInterrupts
/* 8002DD2C 00029B6C 39 61 00 30 */ addi r11, r1, 0x30
/* 8002DD30 00029B70 4B FD 96 55 */ bl lbl_80007384
/* 8002DD34 00029B74 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8002DD38 00029B78 7C 08 03 A6 */ mtlr r0
/* 8002DD3C 00029B7C 38 21 00 30 */ addi r1, r1, 0x30
/* 8002DD40 00029B80 4E 80 00 20 */ blr
/* 8002DD44 00029B84 00 00 00 00 */ .4byte 0x00000000
/* 8002DD48 00029B88 00 00 00 00 */ .4byte 0x00000000
/* 8002DD4C 00029B8C 00 00 00 00 */ .4byte 0x00000000
.global VIFlush
VIFlush:
/* 8002DD50 00029B90 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8002DD54 00029B94 7C 08 02 A6 */ mflr r0
/* 8002DD58 00029B98 90 01 00 24 */ stw r0, 0x24(r1)
/* 8002DD5C 00029B9C 39 61 00 20 */ addi r11, r1, 0x20
/* 8002DD60 00029BA0 4B FD 95 DD */ bl lbl_8000733C
/* 8002DD64 00029BA4 3F E0 80 4A */ lis r31, shdwRegs@ha
/* 8002DD68 00029BA8 3B FF A5 70 */ addi r31, r31, shdwRegs@l
/* 8002DD6C 00029BAC 4B FF 3A B5 */ bl OSDisableInterrupts
/* 8002DD70 00029BB0 80 AD E5 20 */ lwz r5, shdwChangeMode@sda21(r13)
/* 8002DD74 00029BB4 38 00 00 00 */ li r0, 0x0
/* 8002DD78 00029BB8 80 8D E5 10 */ lwz r4, changeMode@sda21(r13)
/* 8002DD7C 00029BBC 7C 7E 1B 78 */ mr r30, r3
/* 8002DD80 00029BC0 3B 9F 00 78 */ addi r28, r31, 0x78
/* 8002DD84 00029BC4 3B BF 00 00 */ addi r29, r31, 0x0
/* 8002DD88 00029BC8 7C A3 23 78 */ or r3, r5, r4
/* 8002DD8C 00029BCC 90 6D E5 20 */ stw r3, shdwChangeMode@sda21(r13)
/* 8002DD90 00029BD0 3B 60 FF FF */ li r27, -0x1
/* 8002DD94 00029BD4 90 0D E5 10 */ stw r0, changeMode@sda21(r13)
/* 8002DD98 00029BD8 80 8D E5 28 */ lwz r4, shdwChanged@sda21(r13)
/* 8002DD9C 00029BDC 80 AD E5 2C */ lwz r5, lbl_8055C94C@sda21(r13)
/* 8002DDA0 00029BE0 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002DDA4 00029BE4 80 6D E5 1C */ lwz r3, lbl_8055C93C@sda21(r13)
/* 8002DDA8 00029BE8 7C 80 03 78 */ or r0, r4, r0
/* 8002DDAC 00029BEC 7C A3 1B 78 */ or r3, r5, r3
/* 8002DDB0 00029BF0 90 6D E5 2C */ stw r3, lbl_8055C94C@sda21(r13)
/* 8002DDB4 00029BF4 90 0D E5 28 */ stw r0, shdwChanged@sda21(r13)
/* 8002DDB8 00029BF8 48 00 00 64 */ b lbl_8002DE1C
.global lbl_8002DDBC
lbl_8002DDBC:
/* 8002DDBC 00029BFC 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002DDC0 00029C00 80 6D E5 1C */ lwz r3, lbl_8055C93C@sda21(r13)
/* 8002DDC4 00029C04 7C 00 00 34 */ cntlzw r0, r0
/* 8002DDC8 00029C08 2C 00 00 20 */ cmpwi r0, 0x20
/* 8002DDCC 00029C0C 7C 63 D8 38 */ and r3, r3, r27
/* 8002DDD0 00029C10 40 80 00 08 */ bge lbl_8002DDD8
/* 8002DDD4 00029C14 48 00 00 0C */ b lbl_8002DDE0
.global lbl_8002DDD8
lbl_8002DDD8:
/* 8002DDD8 00029C18 7C 63 00 34 */ cntlzw r3, r3
/* 8002DDDC 00029C1C 38 03 00 20 */ addi r0, r3, 0x20
.global lbl_8002DDE0
lbl_8002DDE0:
/* 8002DDE0 00029C20 54 03 08 3C */ slwi r3, r0, 1
/* 8002DDE4 00029C24 20 A0 00 3F */ subfic r5, r0, 0x3f
/* 8002DDE8 00029C28 7C 1C 1A 2E */ lhzx r0, r28, r3
/* 8002DDEC 00029C2C 38 80 00 01 */ li r4, 0x1
/* 8002DDF0 00029C30 7C 1D 1B 2E */ sthx r0, r29, r3
/* 8002DDF4 00029C34 38 60 00 00 */ li r3, 0x0
/* 8002DDF8 00029C38 4B FD 99 BD */ bl __shl2i
/* 8002DDFC 00029C3C 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002DE00 00029C40 7C 65 18 F8 */ nor r5, r3, r3
/* 8002DE04 00029C44 80 6D E5 1C */ lwz r3, lbl_8055C93C@sda21(r13)
/* 8002DE08 00029C48 7C 84 20 F8 */ nor r4, r4, r4
/* 8002DE0C 00029C4C 7C 00 28 38 */ and r0, r0, r5
/* 8002DE10 00029C50 7C 63 20 38 */ and r3, r3, r4
/* 8002DE14 00029C54 90 6D E5 1C */ stw r3, lbl_8055C93C@sda21(r13)
/* 8002DE18 00029C58 90 0D E5 18 */ stw r0, changed@sda21(r13)
.global lbl_8002DE1C
lbl_8002DE1C:
/* 8002DE1C 00029C5C 80 0D E5 18 */ lwz r0, changed@sda21(r13)
/* 8002DE20 00029C60 80 6D E5 1C */ lwz r3, lbl_8055C93C@sda21(r13)
/* 8002DE24 00029C64 7C 60 03 79 */ or. r0, r3, r0
/* 8002DE28 00029C68 40 82 FF 94 */ bne lbl_8002DDBC
/* 8002DE2C 00029C6C 38 7F 00 F0 */ addi r3, r31, 0xf0
/* 8002DE30 00029C70 38 80 00 01 */ li r4, 0x1
/* 8002DE34 00029C74 80 03 00 30 */ lwz r0, 0x30(r3)
/* 8002DE38 00029C78 7F C3 F3 78 */ mr r3, r30
/* 8002DE3C 00029C7C 90 8D E5 88 */ stw r4, flushFlag@sda21(r13)
/* 8002DE40 00029C80 90 8D E5 84 */ stw r4, flushFlag3in1@sda21(r13)
/* 8002DE44 00029C84 90 0D E5 4C */ stw r0, NextBufAddr@sda21(r13)
/* 8002DE48 00029C88 4B FF 3A 19 */ bl OSRestoreInterrupts
/* 8002DE4C 00029C8C 39 61 00 20 */ addi r11, r1, 0x20
/* 8002DE50 00029C90 4B FD 95 39 */ bl lbl_80007388
/* 8002DE54 00029C94 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8002DE58 00029C98 7C 08 03 A6 */ mtlr r0
/* 8002DE5C 00029C9C 38 21 00 20 */ addi r1, r1, 0x20
/* 8002DE60 00029CA0 4E 80 00 20 */ blr
/* 8002DE64 00029CA4 00 00 00 00 */ .4byte 0x00000000
/* 8002DE68 00029CA8 00 00 00 00 */ .4byte 0x00000000
/* 8002DE6C 00029CAC 00 00 00 00 */ .4byte 0x00000000
.global VISetNextFrameBuffer
VISetNextFrameBuffer:
/* 8002DE70 00029CB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002DE74 00029CB4 7C 08 02 A6 */ mflr r0
/* 8002DE78 00029CB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002DE7C 00029CBC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002DE80 00029CC0 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8002DE84 00029CC4 7C 7E 1B 78 */ mr r30, r3
/* 8002DE88 00029CC8 4B FF 39 99 */ bl OSDisableInterrupts
/* 8002DE8C 00029CCC 3C E0 80 4A */ lis r7, HorVer@ha
/* 8002DE90 00029CD0 38 00 00 01 */ li r0, 0x1
/* 8002DE94 00029CD4 38 E7 A6 60 */ addi r7, r7, HorVer@l
/* 8002DE98 00029CD8 7C 7F 1B 78 */ mr r31, r3
/* 8002DE9C 00029CDC 93 C7 00 30 */ stw r30, 0x30(r7)
/* 8002DEA0 00029CE0 7C E3 3B 78 */ mr r3, r7
/* 8002DEA4 00029CE4 38 87 00 34 */ addi r4, r7, 0x34
/* 8002DEA8 00029CE8 38 A7 00 38 */ addi r5, r7, 0x38
/* 8002DEAC 00029CEC 38 C7 00 4C */ addi r6, r7, 0x4c
/* 8002DEB0 00029CF0 90 0D E5 30 */ stw r0, FBSet@sda21(r13)
/* 8002DEB4 00029CF4 38 E7 00 50 */ addi r7, r7, 0x50
/* 8002DEB8 00029CF8 4B FF EF 39 */ bl setFbbRegs
/* 8002DEBC 00029CFC 7F E3 FB 78 */ mr r3, r31
/* 8002DEC0 00029D00 4B FF 39 A1 */ bl OSRestoreInterrupts
/* 8002DEC4 00029D04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002DEC8 00029D08 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002DECC 00029D0C 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8002DED0 00029D10 7C 08 03 A6 */ mtlr r0
/* 8002DED4 00029D14 38 21 00 10 */ addi r1, r1, 0x10
/* 8002DED8 00029D18 4E 80 00 20 */ blr
/* 8002DEDC 00029D1C 00 00 00 00 */ .4byte 0x00000000
.global VIGetCurrentFrameBuffer
VIGetCurrentFrameBuffer:
/* 8002DEE0 00029D20 80 6D E5 48 */ lwz r3, CurrBufAddr@sda21(r13)
/* 8002DEE4 00029D24 4E 80 00 20 */ blr
/* 8002DEE8 00029D28 00 00 00 00 */ .4byte 0x00000000
/* 8002DEEC 00029D2C 00 00 00 00 */ .4byte 0x00000000
.global VISetBlack
VISetBlack:
/* 8002DEF0 00029D30 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8002DEF4 00029D34 7C 08 02 A6 */ mflr r0
/* 8002DEF8 00029D38 90 01 00 24 */ stw r0, 0x24(r1)
/* 8002DEFC 00029D3C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8002DF00 00029D40 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8002DF04 00029D44 7C 7E 1B 78 */ mr r30, r3
/* 8002DF08 00029D48 4B FF 39 19 */ bl OSDisableInterrupts
/* 8002DF0C 00029D4C 3C 80 80 4A */ lis r4, HorVer@ha
/* 8002DF10 00029D50 7C 7F 1B 78 */ mr r31, r3
/* 8002DF14 00029D54 38 84 A6 60 */ addi r4, r4, HorVer@l
/* 8002DF18 00029D58 81 44 00 54 */ lwz r10, 0x54(r4)
/* 8002DF1C 00029D5C 93 C4 00 40 */ stw r30, 0x40(r4)
/* 8002DF20 00029D60 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8002DF24 00029D64 A0 64 00 0A */ lhz r3, 0xa(r4)
/* 8002DF28 00029D68 A0 84 00 06 */ lhz r4, 0x6(r4)
/* 8002DF2C 00029D6C 88 AA 00 00 */ lbz r5, 0x0(r10)
/* 8002DF30 00029D70 A0 CA 00 02 */ lhz r6, 0x2(r10)
/* 8002DF34 00029D74 A0 EA 00 04 */ lhz r7, 0x4(r10)
/* 8002DF38 00029D78 A1 0A 00 06 */ lhz r8, 0x6(r10)
/* 8002DF3C 00029D7C A1 2A 00 08 */ lhz r9, 0x8(r10)
/* 8002DF40 00029D80 A1 4A 00 0A */ lhz r10, 0xa(r10)
/* 8002DF44 00029D84 4B FF F2 3D */ bl setVerticalRegs
/* 8002DF48 00029D88 7F E3 FB 78 */ mr r3, r31
/* 8002DF4C 00029D8C 4B FF 39 15 */ bl OSRestoreInterrupts
/* 8002DF50 00029D90 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8002DF54 00029D94 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8002DF58 00029D98 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8002DF5C 00029D9C 7C 08 03 A6 */ mtlr r0
/* 8002DF60 00029DA0 38 21 00 20 */ addi r1, r1, 0x20
/* 8002DF64 00029DA4 4E 80 00 20 */ blr
/* 8002DF68 00029DA8 00 00 00 00 */ .4byte 0x00000000
/* 8002DF6C 00029DAC 00 00 00 00 */ .4byte 0x00000000
.global VIGetRetraceCount
VIGetRetraceCount:
/* 8002DF70 00029DB0 80 6D E5 8C */ lwz r3, retraceCount@sda21(r13)
/* 8002DF74 00029DB4 4E 80 00 20 */ blr
/* 8002DF78 00029DB8 00 00 00 00 */ .4byte 0x00000000
/* 8002DF7C 00029DBC 00 00 00 00 */ .4byte 0x00000000
.global VIGetCurrentLine
VIGetCurrentLine:
/* 8002DF80 00029DC0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002DF84 00029DC4 7C 08 02 A6 */ mflr r0
/* 8002DF88 00029DC8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002DF8C 00029DCC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002DF90 00029DD0 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8002DF94 00029DD4 83 CD E5 54 */ lwz r30, CurrTiming@sda21(r13)
/* 8002DF98 00029DD8 4B FF 38 89 */ bl OSDisableInterrupts
/* 8002DF9C 00029DDC 3C A0 CC 00 */ lis r5, 0xCC00202C@ha
/* 8002DFA0 00029DE0 A0 05 20 2C */ lhz r0, 0xCC00202C@l(r5)
/* 8002DFA4 00029DE4 54 08 05 7E */ clrlwi r8, r0, 21
.global lbl_8002DFA8
lbl_8002DFA8:
/* 8002DFA8 00029DE8 A0 85 20 2E */ lhz r4, 0x202e(r5)
/* 8002DFAC 00029DEC 7D 06 43 78 */ mr r6, r8
/* 8002DFB0 00029DF0 A0 05 20 2C */ lhz r0, 0x202c(r5)
/* 8002DFB4 00029DF4 54 87 05 7E */ clrlwi r7, r4, 21
/* 8002DFB8 00029DF8 54 08 05 7E */ clrlwi r8, r0, 21
/* 8002DFBC 00029DFC 7C 06 40 40 */ cmplw r6, r8
/* 8002DFC0 00029E00 40 82 FF E8 */ bne lbl_8002DFA8
/* 8002DFC4 00029E04 80 8D E5 54 */ lwz r4, CurrTiming@sda21(r13)
/* 8002DFC8 00029E08 38 A7 FF FF */ addi r5, r7, -0x1
/* 8002DFCC 00029E0C 38 C8 FF FF */ addi r6, r8, -0x1
/* 8002DFD0 00029E10 A0 04 00 1A */ lhz r0, 0x1a(r4)
/* 8002DFD4 00029E14 54 C4 08 3C */ slwi r4, r6, 1
/* 8002DFD8 00029E18 7C 05 03 96 */ divwu r0, r5, r0
/* 8002DFDC 00029E1C 7F E4 02 14 */ add r31, r4, r0
/* 8002DFE0 00029E20 4B FF 38 81 */ bl OSRestoreInterrupts
/* 8002DFE4 00029E24 A0 1E 00 18 */ lhz r0, 0x18(r30)
/* 8002DFE8 00029E28 7C 1F 00 40 */ cmplw r31, r0
/* 8002DFEC 00029E2C 41 80 00 08 */ blt lbl_8002DFF4
/* 8002DFF0 00029E30 7F E0 F8 50 */ subf r31, r0, r31
.global lbl_8002DFF4
lbl_8002DFF4:
/* 8002DFF4 00029E34 57 E3 F8 7E */ srwi r3, r31, 1
/* 8002DFF8 00029E38 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002DFFC 00029E3C 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8002E000 00029E40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002E004 00029E44 7C 08 03 A6 */ mtlr r0
/* 8002E008 00029E48 38 21 00 10 */ addi r1, r1, 0x10
/* 8002E00C 00029E4C 4E 80 00 20 */ blr
.global VIGetTvFormat
VIGetTvFormat:
/* 8002E010 00029E50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002E014 00029E54 7C 08 02 A6 */ mflr r0
/* 8002E018 00029E58 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002E01C 00029E5C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002E020 00029E60 4B FF 38 01 */ bl OSDisableInterrupts
/* 8002E024 00029E64 83 ED E5 50 */ lwz r31, CurrTvMode@sda21(r13)
/* 8002E028 00029E68 28 1F 00 08 */ cmplwi r31, 0x8
/* 8002E02C 00029E6C 41 81 00 28 */ bgt lbl_8002E054
/* 8002E030 00029E70 3C 80 80 43 */ lis r4, "@4121"@ha
/* 8002E034 00029E74 57 E0 10 3A */ slwi r0, r31, 2
/* 8002E038 00029E78 38 84 01 A0 */ addi r4, r4, "@4121"@l
/* 8002E03C 00029E7C 7C 84 00 2E */ lwzx r4, r4, r0
/* 8002E040 00029E80 7C 89 03 A6 */ mtctr r4
/* 8002E044 00029E84 4E 80 04 20 */ bctr
.global lbl_8002E048
lbl_8002E048:
/* 8002E048 00029E88 3B E0 00 00 */ li r31, 0x0
/* 8002E04C 00029E8C 48 00 00 08 */ b lbl_8002E054
.global lbl_8002E050
lbl_8002E050:
/* 8002E050 00029E90 3B E0 00 01 */ li r31, 0x1
.global lbl_8002E054
lbl_8002E054:
/* 8002E054 00029E94 4B FF 38 0D */ bl OSRestoreInterrupts
/* 8002E058 00029E98 7F E3 FB 78 */ mr r3, r31
/* 8002E05C 00029E9C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002E060 00029EA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002E064 00029EA4 7C 08 03 A6 */ mtlr r0
/* 8002E068 00029EA8 38 21 00 10 */ addi r1, r1, 0x10
/* 8002E06C 00029EAC 4E 80 00 20 */ blr
.global VIGetDTVStatus
VIGetDTVStatus:
/* 8002E070 00029EB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002E074 00029EB4 7C 08 02 A6 */ mflr r0
/* 8002E078 00029EB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002E07C 00029EBC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002E080 00029EC0 4B FF 37 A1 */ bl OSDisableInterrupts
/* 8002E084 00029EC4 3C 80 CC 00 */ lis r4, 0xCC00206E@ha
/* 8002E088 00029EC8 A0 04 20 6E */ lhz r0, 0xCC00206E@l(r4)
/* 8002E08C 00029ECC 54 1F 07 BE */ clrlwi r31, r0, 30
/* 8002E090 00029ED0 4B FF 37 D1 */ bl OSRestoreInterrupts
/* 8002E094 00029ED4 57 E3 07 FE */ clrlwi r3, r31, 31
/* 8002E098 00029ED8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002E09C 00029EDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002E0A0 00029EE0 7C 08 03 A6 */ mtlr r0
/* 8002E0A4 00029EE4 38 21 00 10 */ addi r1, r1, 0x10
/* 8002E0A8 00029EE8 4E 80 00 20 */ blr
/* 8002E0AC 00029EEC 00 00 00 00 */ .4byte 0x00000000
.global __VIDisplayPositionToXY
__VIDisplayPositionToXY:
/* 8002E0B0 00029EF0 80 ED E5 54 */ lwz r7, CurrTiming@sda21(r13)
/* 8002E0B4 00029EF4 39 24 FF FF */ addi r9, r4, -0x1
/* 8002E0B8 00029EF8 3D 00 80 4A */ lis r8, HorVer@ha
/* 8002E0BC 00029EFC 38 83 FF FF */ addi r4, r3, -0x1
/* 8002E0C0 00029F00 A0 07 00 1A */ lhz r0, 0x1a(r7)
/* 8002E0C4 00029F04 39 08 A6 60 */ addi r8, r8, HorVer@l
/* 8002E0C8 00029F08 81 48 00 24 */ lwz r10, 0x24(r8)
/* 8002E0CC 00029F0C 55 28 08 3C */ slwi r8, r9, 1
/* 8002E0D0 00029F10 7C 04 03 96 */ divwu r0, r4, r0
/* 8002E0D4 00029F14 2C 0A 00 00 */ cmpwi r10, 0x0
/* 8002E0D8 00029F18 7C 08 02 14 */ add r0, r8, r0
/* 8002E0DC 00029F1C 40 82 00 C8 */ bne lbl_8002E1A4
/* 8002E0E0 00029F20 A1 27 00 18 */ lhz r9, 0x18(r7)
/* 8002E0E4 00029F24 7C 00 48 40 */ cmplw r0, r9
/* 8002E0E8 00029F28 40 80 00 5C */ bge lbl_8002E144
/* 8002E0EC 00029F2C 89 07 00 00 */ lbz r8, 0x0(r7)
/* 8002E0F0 00029F30 A1 47 00 04 */ lhz r10, 0x4(r7)
/* 8002E0F4 00029F34 55 04 10 3A */ slwi r4, r8, 2
/* 8002E0F8 00029F38 7D 08 20 50 */ subf r8, r8, r4
/* 8002E0FC 00029F3C 7C 8A 42 14 */ add r4, r10, r8
/* 8002E100 00029F40 7C 00 20 40 */ cmplw r0, r4
/* 8002E104 00029F44 40 80 00 10 */ bge lbl_8002E114
/* 8002E108 00029F48 38 00 FF FF */ li r0, -0x1
/* 8002E10C 00029F4C B0 06 00 00 */ sth r0, 0x0(r6)
/* 8002E110 00029F50 48 00 01 C8 */ b lbl_8002E2D8
.global lbl_8002E114
lbl_8002E114:
/* 8002E114 00029F54 A0 87 00 08 */ lhz r4, 0x8(r7)
/* 8002E118 00029F58 7C 84 48 50 */ subf r4, r4, r9
/* 8002E11C 00029F5C 7C 00 20 40 */ cmplw r0, r4
/* 8002E120 00029F60 41 80 00 10 */ blt lbl_8002E130
/* 8002E124 00029F64 38 00 FF FF */ li r0, -0x1
/* 8002E128 00029F68 B0 06 00 00 */ sth r0, 0x0(r6)
/* 8002E12C 00029F6C 48 00 01 AC */ b lbl_8002E2D8
.global lbl_8002E130
lbl_8002E130:
/* 8002E130 00029F70 7C 08 00 50 */ subf r0, r8, r0
/* 8002E134 00029F74 7C 0A 00 50 */ subf r0, r10, r0
/* 8002E138 00029F78 54 00 00 3C */ clrrwi r0, r0, 1
/* 8002E13C 00029F7C B0 06 00 00 */ sth r0, 0x0(r6)
/* 8002E140 00029F80 48 00 01 98 */ b lbl_8002E2D8
.global lbl_8002E144
lbl_8002E144:
/* 8002E144 00029F84 89 07 00 00 */ lbz r8, 0x0(r7)
/* 8002E148 00029F88 7C 09 00 50 */ subf r0, r9, r0
/* 8002E14C 00029F8C A1 47 00 06 */ lhz r10, 0x6(r7)
/* 8002E150 00029F90 55 04 10 3A */ slwi r4, r8, 2
/* 8002E154 00029F94 7D 08 20 50 */ subf r8, r8, r4
/* 8002E158 00029F98 7C 8A 42 14 */ add r4, r10, r8
/* 8002E15C 00029F9C 7C 00 20 40 */ cmplw r0, r4
/* 8002E160 00029FA0 40 80 00 10 */ bge lbl_8002E170
/* 8002E164 00029FA4 38 00 FF FF */ li r0, -0x1
/* 8002E168 00029FA8 B0 06 00 00 */ sth r0, 0x0(r6)
/* 8002E16C 00029FAC 48 00 01 6C */ b lbl_8002E2D8
.global lbl_8002E170
lbl_8002E170:
/* 8002E170 00029FB0 A0 87 00 0A */ lhz r4, 0xa(r7)
/* 8002E174 00029FB4 7C 84 48 50 */ subf r4, r4, r9
/* 8002E178 00029FB8 7C 00 20 40 */ cmplw r0, r4
/* 8002E17C 00029FBC 41 80 00 10 */ blt lbl_8002E18C
/* 8002E180 00029FC0 38 00 FF FF */ li r0, -0x1
/* 8002E184 00029FC4 B0 06 00 00 */ sth r0, 0x0(r6)
/* 8002E188 00029FC8 48 00 01 50 */ b lbl_8002E2D8
.global lbl_8002E18C
lbl_8002E18C:
/* 8002E18C 00029FCC 7C 08 00 50 */ subf r0, r8, r0
/* 8002E190 00029FD0 7C 0A 00 50 */ subf r0, r10, r0
/* 8002E194 00029FD4 54 04 00 3C */ clrrwi r4, r0, 1
/* 8002E198 00029FD8 38 04 00 01 */ addi r0, r4, 0x1
/* 8002E19C 00029FDC B0 06 00 00 */ sth r0, 0x0(r6)
/* 8002E1A0 00029FE0 48 00 01 38 */ b lbl_8002E2D8
.global lbl_8002E1A4
lbl_8002E1A4:
/* 8002E1A4 00029FE4 28 0A 00 01 */ cmplwi r10, 0x1
/* 8002E1A8 00029FE8 40 82 00 70 */ bne lbl_8002E218
/* 8002E1AC 00029FEC A1 27 00 18 */ lhz r9, 0x18(r7)
/* 8002E1B0 00029FF0 7C 00 48 40 */ cmplw r0, r9
/* 8002E1B4 00029FF4 41 80 00 08 */ blt lbl_8002E1BC
/* 8002E1B8 00029FF8 7C 09 00 50 */ subf r0, r9, r0
.global lbl_8002E1BC
lbl_8002E1BC:
/* 8002E1BC 00029FFC 80 8D E5 54 */ lwz r4, CurrTiming@sda21(r13)
/* 8002E1C0 0002A000 89 04 00 00 */ lbz r8, 0x0(r4)
/* 8002E1C4 0002A004 A1 44 00 04 */ lhz r10, 0x4(r4)
/* 8002E1C8 0002A008 55 04 10 3A */ slwi r4, r8, 2
/* 8002E1CC 0002A00C 7D 08 20 50 */ subf r8, r8, r4
/* 8002E1D0 0002A010 7C 8A 42 14 */ add r4, r10, r8
/* 8002E1D4 0002A014 7C 00 20 40 */ cmplw r0, r4
/* 8002E1D8 0002A018 40 80 00 10 */ bge lbl_8002E1E8
/* 8002E1DC 0002A01C 38 00 FF FF */ li r0, -0x1
/* 8002E1E0 0002A020 B0 06 00 00 */ sth r0, 0x0(r6)
/* 8002E1E4 0002A024 48 00 00 F4 */ b lbl_8002E2D8
.global lbl_8002E1E8
lbl_8002E1E8:
/* 8002E1E8 0002A028 A0 87 00 08 */ lhz r4, 0x8(r7)
/* 8002E1EC 0002A02C 7C 84 48 50 */ subf r4, r4, r9
/* 8002E1F0 0002A030 7C 00 20 40 */ cmplw r0, r4
/* 8002E1F4 0002A034 41 80 00 10 */ blt lbl_8002E204
/* 8002E1F8 0002A038 38 00 FF FF */ li r0, -0x1
/* 8002E1FC 0002A03C B0 06 00 00 */ sth r0, 0x0(r6)
/* 8002E200 0002A040 48 00 00 D8 */ b lbl_8002E2D8
.global lbl_8002E204
lbl_8002E204:
/* 8002E204 0002A044 7C 08 00 50 */ subf r0, r8, r0
/* 8002E208 0002A048 7C 0A 00 50 */ subf r0, r10, r0
/* 8002E20C 0002A04C 54 00 00 3C */ clrrwi r0, r0, 1
/* 8002E210 0002A050 B0 06 00 00 */ sth r0, 0x0(r6)
/* 8002E214 0002A054 48 00 00 C4 */ b lbl_8002E2D8
.global lbl_8002E218
lbl_8002E218:
/* 8002E218 0002A058 28 0A 00 02 */ cmplwi r10, 0x2
/* 8002E21C 0002A05C 40 82 00 BC */ bne lbl_8002E2D8
/* 8002E220 0002A060 A1 27 00 18 */ lhz r9, 0x18(r7)
/* 8002E224 0002A064 7C 00 48 40 */ cmplw r0, r9
/* 8002E228 0002A068 40 80 00 58 */ bge lbl_8002E280
/* 8002E22C 0002A06C 89 07 00 00 */ lbz r8, 0x0(r7)
/* 8002E230 0002A070 A1 47 00 04 */ lhz r10, 0x4(r7)
/* 8002E234 0002A074 55 04 10 3A */ slwi r4, r8, 2
/* 8002E238 0002A078 7D 08 20 50 */ subf r8, r8, r4
/* 8002E23C 0002A07C 7C 8A 42 14 */ add r4, r10, r8
/* 8002E240 0002A080 7C 00 20 40 */ cmplw r0, r4
/* 8002E244 0002A084 40 80 00 10 */ bge lbl_8002E254
/* 8002E248 0002A088 38 00 FF FF */ li r0, -0x1
/* 8002E24C 0002A08C B0 06 00 00 */ sth r0, 0x0(r6)
/* 8002E250 0002A090 48 00 00 88 */ b lbl_8002E2D8
.global lbl_8002E254
lbl_8002E254:
/* 8002E254 0002A094 A0 87 00 08 */ lhz r4, 0x8(r7)
/* 8002E258 0002A098 7C 84 48 50 */ subf r4, r4, r9
/* 8002E25C 0002A09C 7C 00 20 40 */ cmplw r0, r4
/* 8002E260 0002A0A0 41 80 00 10 */ blt lbl_8002E270
/* 8002E264 0002A0A4 38 00 FF FF */ li r0, -0x1
/* 8002E268 0002A0A8 B0 06 00 00 */ sth r0, 0x0(r6)
/* 8002E26C 0002A0AC 48 00 00 6C */ b lbl_8002E2D8
.global lbl_8002E270
lbl_8002E270:
/* 8002E270 0002A0B0 7C 08 00 50 */ subf r0, r8, r0
/* 8002E274 0002A0B4 7C 0A 00 50 */ subf r0, r10, r0
/* 8002E278 0002A0B8 B0 06 00 00 */ sth r0, 0x0(r6)
/* 8002E27C 0002A0BC 48 00 00 5C */ b lbl_8002E2D8
.global lbl_8002E280
lbl_8002E280:
/* 8002E280 0002A0C0 89 07 00 00 */ lbz r8, 0x0(r7)
/* 8002E284 0002A0C4 7C 09 00 50 */ subf r0, r9, r0
/* 8002E288 0002A0C8 A1 47 00 06 */ lhz r10, 0x6(r7)
/* 8002E28C 0002A0CC 55 04 10 3A */ slwi r4, r8, 2
/* 8002E290 0002A0D0 7D 08 20 50 */ subf r8, r8, r4
/* 8002E294 0002A0D4 7C 8A 42 14 */ add r4, r10, r8
/* 8002E298 0002A0D8 7C 00 20 40 */ cmplw r0, r4
/* 8002E29C 0002A0DC 40 80 00 10 */ bge lbl_8002E2AC
/* 8002E2A0 0002A0E0 38 00 FF FF */ li r0, -0x1
/* 8002E2A4 0002A0E4 B0 06 00 00 */ sth r0, 0x0(r6)
/* 8002E2A8 0002A0E8 48 00 00 30 */ b lbl_8002E2D8
.global lbl_8002E2AC
lbl_8002E2AC:
/* 8002E2AC 0002A0EC A0 87 00 0A */ lhz r4, 0xa(r7)
/* 8002E2B0 0002A0F0 7C 84 48 50 */ subf r4, r4, r9
/* 8002E2B4 0002A0F4 7C 00 20 40 */ cmplw r0, r4
/* 8002E2B8 0002A0F8 41 80 00 10 */ blt lbl_8002E2C8
/* 8002E2BC 0002A0FC 38 00 FF FF */ li r0, -0x1
/* 8002E2C0 0002A100 B0 06 00 00 */ sth r0, 0x0(r6)
/* 8002E2C4 0002A104 48 00 00 14 */ b lbl_8002E2D8
.global lbl_8002E2C8
lbl_8002E2C8:
/* 8002E2C8 0002A108 7C 08 00 50 */ subf r0, r8, r0
/* 8002E2CC 0002A10C 7C 0A 00 50 */ subf r0, r10, r0
/* 8002E2D0 0002A110 54 00 00 3C */ clrrwi r0, r0, 1
/* 8002E2D4 0002A114 B0 06 00 00 */ sth r0, 0x0(r6)
.global lbl_8002E2D8
lbl_8002E2D8:
/* 8002E2D8 0002A118 38 03 FF FF */ addi r0, r3, -0x1
/* 8002E2DC 0002A11C B0 05 00 00 */ sth r0, 0x0(r5)
/* 8002E2E0 0002A120 4E 80 00 20 */ blr
/* 8002E2E4 0002A124 00 00 00 00 */ .4byte 0x00000000
/* 8002E2E8 0002A128 00 00 00 00 */ .4byte 0x00000000
/* 8002E2EC 0002A12C 00 00 00 00 */ .4byte 0x00000000
.global VIEnableDimming
VIEnableDimming:
/* 8002E2F0 0002A130 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002E2F4 0002A134 7C 08 02 A6 */ mflr r0
/* 8002E2F8 0002A138 2C 03 00 01 */ cmpwi r3, 0x1
/* 8002E2FC 0002A13C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002E300 0002A140 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002E304 0002A144 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8002E308 0002A148 7C 7E 1B 78 */ mr r30, r3
/* 8002E30C 0002A14C 83 ED E5 80 */ lwz r31, __VIDimmingFlag_Enable@sda21(r13)
/* 8002E310 0002A150 40 82 00 14 */ bne lbl_8002E324
/* 8002E314 0002A154 48 01 EB ED */ bl SCGetScreenSaverMode
/* 8002E318 0002A158 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8002E31C 0002A15C 40 82 00 08 */ bne lbl_8002E324
/* 8002E320 0002A160 3B C0 00 00 */ li r30, 0x0
.global lbl_8002E324
lbl_8002E324:
/* 8002E324 0002A164 93 CD E5 80 */ stw r30, __VIDimmingFlag_Enable@sda21(r13)
/* 8002E328 0002A168 7F E3 FB 78 */ mr r3, r31
/* 8002E32C 0002A16C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002E330 0002A170 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8002E334 0002A174 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002E338 0002A178 7C 08 03 A6 */ mtlr r0
/* 8002E33C 0002A17C 38 21 00 10 */ addi r1, r1, 0x10
/* 8002E340 0002A180 4E 80 00 20 */ blr
/* 8002E344 0002A184 00 00 00 00 */ .4byte 0x00000000
/* 8002E348 0002A188 00 00 00 00 */ .4byte 0x00000000
/* 8002E34C 0002A18C 00 00 00 00 */ .4byte 0x00000000
/* 8002E350 0002A190 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002E354 0002A194 7C 08 02 A6 */ mflr r0
/* 8002E358 0002A198 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002E35C 0002A19C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002E360 0002A1A0 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8002E364 0002A1A4 83 CD E5 78 */ lwz r30, g_current_time_to_dim@sda21(r13)
/* 8002E368 0002A1A8 90 6D E5 78 */ stw r3, g_current_time_to_dim@sda21(r13)
/* 8002E36C 0002A1AC 4B FF 34 B5 */ bl OSDisableInterrupts
/* 8002E370 0002A1B0 83 ED E5 50 */ lwz r31, CurrTvMode@sda21(r13)
/* 8002E374 0002A1B4 28 1F 00 08 */ cmplwi r31, 0x8
/* 8002E378 0002A1B8 41 81 00 28 */ bgt lbl_8002E3A0
/* 8002E37C 0002A1BC 3C 80 80 43 */ lis r4, "@4441"@ha
/* 8002E380 0002A1C0 57 E0 10 3A */ slwi r0, r31, 2
/* 8002E384 0002A1C4 38 84 01 C4 */ addi r4, r4, "@4441"@l
/* 8002E388 0002A1C8 7C 84 00 2E */ lwzx r4, r4, r0
/* 8002E38C 0002A1CC 7C 89 03 A6 */ mtctr r4
/* 8002E390 0002A1D0 4E 80 04 20 */ bctr
.global lbl_8002E394
lbl_8002E394:
/* 8002E394 0002A1D4 3B E0 00 00 */ li r31, 0x0
/* 8002E398 0002A1D8 48 00 00 08 */ b lbl_8002E3A0
.global lbl_8002E39C
lbl_8002E39C:
/* 8002E39C 0002A1DC 3B E0 00 01 */ li r31, 0x1
.global lbl_8002E3A0
lbl_8002E3A0:
/* 8002E3A0 0002A1E0 4B FF 34 C1 */ bl OSRestoreInterrupts
/* 8002E3A4 0002A1E4 28 1F 00 01 */ cmplwi r31, 0x1
/* 8002E3A8 0002A1E8 40 82 00 44 */ bne lbl_8002E3EC
/* 8002E3AC 0002A1EC 80 0D E5 78 */ lwz r0, g_current_time_to_dim@sda21(r13)
/* 8002E3B0 0002A1F0 2C 00 00 01 */ cmpwi r0, 0x1
/* 8002E3B4 0002A1F4 41 82 00 10 */ beq lbl_8002E3C4
/* 8002E3B8 0002A1F8 2C 00 00 02 */ cmpwi r0, 0x2
/* 8002E3BC 0002A1FC 41 82 00 14 */ beq lbl_8002E3D0
/* 8002E3C0 0002A200 48 00 00 20 */ b lbl_8002E3E0
.global lbl_8002E3C4
lbl_8002E3C4:
/* 8002E3C4 0002A204 38 00 75 30 */ li r0, 0x7530
/* 8002E3C8 0002A208 90 0D E4 F4 */ stw r0, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002E3CC 0002A20C 48 00 00 60 */ b lbl_8002E42C
.global lbl_8002E3D0
lbl_8002E3D0:
/* 8002E3D0 0002A210 3C 60 00 01 */ lis r3, 0x1
/* 8002E3D4 0002A214 38 03 AF C8 */ addi r0, r3, -0x5038
/* 8002E3D8 0002A218 90 0D E4 F4 */ stw r0, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002E3DC 0002A21C 48 00 00 50 */ b lbl_8002E42C
.global lbl_8002E3E0
lbl_8002E3E0:
/* 8002E3E0 0002A220 38 00 3A 98 */ li r0, 0x3a98
/* 8002E3E4 0002A224 90 0D E4 F4 */ stw r0, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002E3E8 0002A228 48 00 00 44 */ b lbl_8002E42C
.global lbl_8002E3EC
lbl_8002E3EC:
/* 8002E3EC 0002A22C 80 0D E5 78 */ lwz r0, g_current_time_to_dim@sda21(r13)
/* 8002E3F0 0002A230 2C 00 00 01 */ cmpwi r0, 0x1
/* 8002E3F4 0002A234 41 82 00 10 */ beq lbl_8002E404
/* 8002E3F8 0002A238 2C 00 00 02 */ cmpwi r0, 0x2
/* 8002E3FC 0002A23C 41 82 00 18 */ beq lbl_8002E414
/* 8002E400 0002A240 48 00 00 24 */ b lbl_8002E424
.global lbl_8002E404
lbl_8002E404:
/* 8002E404 0002A244 3C 60 00 01 */ lis r3, 0x1
/* 8002E408 0002A248 38 03 8C A0 */ addi r0, r3, -0x7360
/* 8002E40C 0002A24C 90 0D E4 F4 */ stw r0, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002E410 0002A250 48 00 00 1C */ b lbl_8002E42C
.global lbl_8002E414
lbl_8002E414:
/* 8002E414 0002A254 3C 60 00 01 */ lis r3, 0x1
/* 8002E418 0002A258 38 03 D2 F0 */ addi r0, r3, -0x2d10
/* 8002E41C 0002A25C 90 0D E4 F4 */ stw r0, NEW_TIME_TO_DIMMING@sda21(r13)
/* 8002E420 0002A260 48 00 00 0C */ b lbl_8002E42C
.global lbl_8002E424
lbl_8002E424:
/* 8002E424 0002A264 38 00 46 50 */ li r0, 0x4650
/* 8002E428 0002A268 90 0D E4 F4 */ stw r0, NEW_TIME_TO_DIMMING@sda21(r13)
.global lbl_8002E42C
lbl_8002E42C:
/* 8002E42C 0002A26C 7F C3 F3 78 */ mr r3, r30
/* 8002E430 0002A270 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002E434 0002A274 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8002E438 0002A278 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002E43C 0002A27C 7C 08 03 A6 */ mtlr r0
/* 8002E440 0002A280 38 21 00 10 */ addi r1, r1, 0x10
/* 8002E444 0002A284 4E 80 00 20 */ blr
/* 8002E448 0002A288 00 00 00 00 */ .4byte 0x00000000
/* 8002E44C 0002A28C 00 00 00 00 */ .4byte 0x00000000
.global VIResetDimmingCount
VIResetDimmingCount:
/* 8002E450 0002A290 3C 60 80 4A */ lis r3, __VIDimmingFlag_DEV_IDLE@ha
/* 8002E454 0002A294 38 00 00 00 */ li r0, 0x0
/* 8002E458 0002A298 90 03 A6 B8 */ stw r0, __VIDimmingFlag_DEV_IDLE@l(r3)
/* 8002E45C 0002A29C 38 60 00 01 */ li r3, 0x1
/* 8002E460 0002A2A0 4E 80 00 20 */ blr
/* 8002E464 0002A2A4 00 00 00 00 */ .4byte 0x00000000
/* 8002E468 0002A2A8 00 00 00 00 */ .4byte 0x00000000
/* 8002E46C 0002A2AC 00 00 00 00 */ .4byte 0x00000000
.global __VIResetRFIdle
__VIResetRFIdle:
/* 8002E470 0002A2B0 38 00 00 00 */ li r0, 0x0
/* 8002E474 0002A2B4 90 0D E5 74 */ stw r0, __VIDimmingFlag_RF_IDLE@sda21(r13)
/* 8002E478 0002A2B8 38 60 00 01 */ li r3, 0x1
/* 8002E47C 0002A2BC 4E 80 00 20 */ blr
.global __VIResetSIIdle
__VIResetSIIdle:
/* 8002E480 0002A2C0 38 00 00 00 */ li r0, 0x0
/* 8002E484 0002A2C4 90 0D E5 70 */ stw r0, __VIDimmingFlag_SI_IDLE@sda21(r13)
/* 8002E488 0002A2C8 38 60 00 01 */ li r3, 0x1
/* 8002E48C 0002A2CC 4E 80 00 20 */ blr
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global "@1_8042FC90"
"@1_8042FC90":
.4byte 0x3C3C2052
.4byte 0x564C5F53
.4byte 0x444B202D
.4byte 0x20564920
.4byte 0x0972656C
.4byte 0x65617365
.4byte 0x20627569
.4byte 0x6C643A20
.4byte 0x41756720
.4byte 0x32332032
.4byte 0x30313020
.4byte 0x31373A33
.4byte 0x333A3139
.4byte 0x20283078
.4byte 0x34333032
.4byte 0x5F313435
.4byte 0x29203E3E
.4byte 0
.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
.4byte 0x0A000240
.4byte 0x003E003E
.4byte 0x00060006
.4byte 0x14141414
.4byte 0x04D804D8
.4byte 0x04D804D8
.4byte 0x04E201B0
.4byte 0x404B6AAC
.4byte 0x017C7A00
.4byte 0x019C0000
.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
.4byte 0x00000006
.4byte 0x02800210
.4byte 0x02100028
.4byte 0x00170280
.4byte 0x02100000
.4byte 0
.4byte 0x00000606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060000
.4byte 0x15161500
.4byte 0
.4byte 0x00000006
.4byte 0x02800210
.4byte 0x02100028
.4byte 0x00170280
.4byte 0x02100000
.4byte 0
.4byte 0x00000606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060808
.4byte 0x0A0C0A08
.4byte 0x08000000
.4byte 0x00000006
.4byte 0x02800108
.4byte 0x020C0028
.4byte 0x00170280
.4byte 0x020C0000
.4byte 0
.4byte 0x00010302
.4byte 0x0906030A
.4byte 0x03020906
.4byte 0x030A0902
.4byte 0x0306090A
.4byte 0x09020306
.4byte 0x090A0408
.4byte 0x0C100C08
.4byte 0x04000000
.4byte 0
.global ShutdownFunctionInfo_8042FF68
ShutdownFunctionInfo_8042FF68:
.4byte OnShutdown_8002BAD0
.4byte 0x0000007F
.4byte 0
.4byte 0
.global "@3436"
"@3436":
.4byte lbl_8002BFC0
.4byte lbl_8002BFC8
.4byte lbl_8002BFD0
.4byte lbl_8002BFC0
.4byte lbl_8002BFC8
.4byte lbl_8002BFD0
.4byte lbl_8002BFC0
.4byte lbl_8002BFC0
.4byte lbl_8002BFC0
.global "@3466"
"@3466":
.4byte lbl_8002C540
.4byte lbl_8002C54C
.4byte lbl_8002C5B8
.4byte lbl_8002C5C8
.4byte lbl_8002C55C
.4byte lbl_8002C56C
.4byte lbl_8002C618
.4byte lbl_8002C630
.4byte lbl_8002C598
.4byte lbl_8002C5A8
.4byte lbl_8002C5B8
.4byte lbl_8002C630
.4byte lbl_8002C630
.4byte lbl_8002C630
.4byte lbl_8002C630
.4byte lbl_8002C630
.4byte lbl_8002C5D8
.4byte lbl_8002C5E8
.4byte lbl_8002C630
.4byte lbl_8002C630
.4byte lbl_8002C57C
.4byte lbl_8002C588
.4byte lbl_8002C5B8
.4byte lbl_8002C630
.4byte lbl_8002C5F8
.4byte lbl_8002C630
.global lbl_80430004
lbl_80430004:
.4byte lbl_8002C608
.global lbl_80430008
lbl_80430008:
.4byte lbl_8002C630
.4byte lbl_8002C628
.4byte lbl_8002C628
.4byte lbl_8002C628
.4byte lbl_8002C630
.4byte lbl_8002C630
.4byte lbl_8002C630
.4byte lbl_8002C628
.global "@3633"
"@3633":
.4byte lbl_8002CCD4
.4byte lbl_8002CCDC
.4byte lbl_8002CCE4
.4byte lbl_8002CCD4
.4byte lbl_8002CCDC
.4byte lbl_8002CCE4
.4byte lbl_8002CCD4
.4byte lbl_8002CCD4
.4byte lbl_8002CCD4
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A2A
.4byte 0x2A2A2A0A
.4byte 0
.4byte 0x20212021
.4byte 0x20212043
.4byte 0x20412055
.4byte 0x20542049
.4byte 0x204F204E
.4byte 0x20212021
.4byte 0x20212020
.4byte 0x20202020
.4byte 0x20202020
.4byte 0x2020200A
.4byte 0
.4byte 0x54686973
.4byte 0x20545620
.4byte 0x666F726D
.4byte 0x61742022
.4byte 0x44454255
.4byte 0x475F5041
.4byte 0x4C222069
.4byte 0x73206F6E
.4byte 0x6C792066
.4byte 0x6F72200A
.4byte 0
.4byte 0x74656D70
.4byte 0x6F726172
.4byte 0x7920736F
.4byte 0x6C757469
.4byte 0x6F6E2075
.4byte 0x6E74696C
.4byte 0x2050414C
.4byte 0x20444143
.4byte 0x20626F61
.4byte 0x7264200A
.4byte 0
.4byte 0x69732061
.4byte 0x7661696C
.4byte 0x61626C65
.4byte 0x2E20506C
.4byte 0x65617365
.4byte 0x20646F20
.4byte 0x4E4F5420
.4byte 0x75736520
.4byte 0x74686973
.4byte 0x2020200A
.4byte 0
.4byte 0x6D6F6465
.4byte 0x20696E20
.4byte 0x7265616C
.4byte 0x2067616D
.4byte 0x65732121
.4byte 0x21202020
.4byte 0x20202020
.4byte 0x20202020
.4byte 0x20202020
.4byte 0x2020200A
.4byte 0
.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 "@4121"
"@4121":
.4byte lbl_8002E048
.4byte lbl_8002E050
.4byte lbl_8002E054
.4byte lbl_8002E048
.4byte lbl_8002E050
.4byte lbl_8002E054
.4byte lbl_8002E048
.4byte lbl_8002E048
.4byte lbl_8002E048
.global "@4441"
"@4441":
.4byte lbl_8002E394
.4byte lbl_8002E39C
.4byte lbl_8002E3A0
.4byte lbl_8002E394
.4byte lbl_8002E39C
.4byte lbl_8002E3A0
.4byte lbl_8002E394
.4byte lbl_8002E394
.4byte lbl_8002E394
.include "macros.inc"
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
.global shdwRegs
shdwRegs:
.skip 0x78
.global regs
regs:
.skip 0x78
.global HorVer
HorVer:
.skip 0x58
.global __VIDimmingFlag_DEV_IDLE
__VIDimmingFlag_DEV_IDLE:
.skip 0x28
.include "macros.inc"
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0
.global __VIVersion
__VIVersion:
.4byte "@1_8042FC90"
.global "@LOCAL@OnShutdown__FiUl@first"
"@LOCAL@OnShutdown__FiUl@first":
.4byte 0x00000001
.global "@LOCAL@__VIRetraceHandler__FsP9OSContext@old_dtvStatus"
"@LOCAL@__VIRetraceHandler__FsP9OSContext@old_dtvStatus":
.4byte 0x000003E7
.global "@LOCAL@__VIRetraceHandler__FsP9OSContext@old_tvtype@0"
"@LOCAL@__VIRetraceHandler__FsP9OSContext@old_tvtype@0":
.4byte 0x000003E7
.global "@LOCAL@__VIRetraceHandler__FsP9OSContext@__VIDimmingFlag_Enable_old@1"
"@LOCAL@__VIRetraceHandler__FsP9OSContext@__VIDimmingFlag_Enable_old@1":
.4byte 0x00000001
.global "@LOCAL@__VIRetraceHandler__FsP9OSContext@__VIDVDStopFlag_Enable_old@2"
"@LOCAL@__VIRetraceHandler__FsP9OSContext@__VIDVDStopFlag_Enable_old@2":
.4byte 0x00000001
.global "@3937"
"@3937":
.4byte 0x76692E63
.4byte 0
.include "macros.inc"
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
.global IsInitialized
IsInitialized:
.skip 0x4
.global vsync_timing_err_cnt
vsync_timing_err_cnt:
.skip 0x4
.global vsync_timing_test_flag
vsync_timing_test_flag:
.skip 0x4
.global __VIDimming_All_Clear
__VIDimming_All_Clear:
.skip 0x4
.global THD_TIME_TO_DIMMING
THD_TIME_TO_DIMMING:
.skip 0x4
.global NEW_TIME_TO_DIMMING
NEW_TIME_TO_DIMMING:
.skip 0x4
.global THD_TIME_TO_DVD_STOP
THD_TIME_TO_DVD_STOP:
.skip 0x4
.global _gIdleCount_dimming
_gIdleCount_dimming:
.skip 0x4
.global _gIdleCount_dvd
_gIdleCount_dvd:
.skip 0x4
.global __VIDimmingState
__VIDimmingState:
.skip 0x4
.global PositionCallback
PositionCallback:
.skip 0x4
.global displayOffsetH
displayOffsetH:
.skip 0x2
.global displayOffsetV
displayOffsetV:
.skip 0x2
.global changeMode
changeMode:
.skip 0x8
.global changed
changed:
.skip 0x4
.global lbl_8055C93C
lbl_8055C93C:
.skip 0x4
.global shdwChangeMode
shdwChangeMode:
.skip 0x8
.global shdwChanged
shdwChanged:
.skip 0x4
.global lbl_8055C94C
lbl_8055C94C:
.skip 0x4
.global FBSet
FBSet:
.skip 0x4
.global timingExtra
timingExtra:
.skip 0x4
.global "@LOCAL@OnShutdown__FiUl@count@0"
"@LOCAL@OnShutdown__FiUl@count@0":
.skip 0x4
.global "@LOCAL@__VIRetraceHandler__FsP9OSContext@DimmingON_Pending@3"
"@LOCAL@__VIRetraceHandler__FsP9OSContext@DimmingON_Pending@3":
.skip 0x4
.global "@LOCAL@__VIRetraceHandler__FsP9OSContext@DimmingOFF_Pending@4"
"@LOCAL@__VIRetraceHandler__FsP9OSContext@DimmingOFF_Pending@4":
.skip 0x4
.global "@LOCAL@PrintDebugPalCaution__Fv@message"
"@LOCAL@PrintDebugPalCaution__Fv@message":
.skip 0x4
.global CurrBufAddr
CurrBufAddr:
.skip 0x4
.global NextBufAddr
NextBufAddr:
.skip 0x4
.global CurrTvMode
CurrTvMode:
.skip 0x4
.global CurrTiming
CurrTiming:
.skip 0x4
.global encoderType
encoderType:
.skip 0x4
.global PostCB
PostCB:
.skip 0x4
.global PreCB
PreCB:
.skip 0x8
.global retraceQueue
retraceQueue:
.skip 0x8
.global __VIDimmingFlag_SI_IDLE
__VIDimmingFlag_SI_IDLE:
.skip 0x4
.global __VIDimmingFlag_RF_IDLE
__VIDimmingFlag_RF_IDLE:
.skip 0x4
.global g_current_time_to_dim
g_current_time_to_dim:
.skip 0x4
.global __VIDVDStopFlag_Enable
__VIDVDStopFlag_Enable:
.skip 0x4
.global __VIDimmingFlag_Enable
__VIDimmingFlag_Enable:
.skip 0x4
.global flushFlag3in1
flushFlag3in1:
.skip 0x4
.global flushFlag
flushFlag:
.skip 0x4
.global retraceCount
retraceCount:
.skip 0x4