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