prime/asm/Dolphin/gx/GXFrameBuf.s

858 lines
41 KiB
ArmAsm

.include "macros.inc"
.section .data
.balign 8
.global GXNtsc480IntDf
GXNtsc480IntDf:
# ROM: 0x3ED8E0
.4byte 0
.4byte 0x028001E0
.4byte 0x01E00028
.4byte 0x00000280
.4byte 0x01E00000
.4byte 0x00000001
.4byte 0x00000606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060808
.4byte 0x0A0C0A08
.4byte 0x08000000
.global GXMpal480IntDf
GXMpal480IntDf:
# ROM: 0x3ED91C
.4byte 0x00000008
.4byte 0x028001E0
.4byte 0x01E00028
.4byte 0x00000280
.4byte 0x01E00000
.4byte 0x00000001
.4byte 0x00000606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060808
.4byte 0x0A0C0A08
.4byte 0x08000000
.global GXPal528IntDf
GXPal528IntDf:
# ROM: 0x3ED958
.4byte 0x00000004
.4byte 0x02800210
.4byte 0x02100028
.4byte 0x00170280
.4byte 0x02100000
.4byte 0x00000001
.4byte 0x00000606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060808
.4byte 0x0A0C0A08
.4byte 0x08000000
.global GXEurgb60Hz480IntDf
GXEurgb60Hz480IntDf:
# ROM: 0x3ED994
.4byte 0x00000014
.4byte 0x028001E0
.4byte 0x01E00028
.4byte 0x00000280
.4byte 0x01E00000
.4byte 0x00000001
.4byte 0x00000606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060606
.4byte 0x06060808
.4byte 0x0A0C0A08
.4byte 0x08000000
.section .sdata2
.balign 8
.global lbl_805AEB50
lbl_805AEB50:
# ROM: 0x3FB3F0
.4byte 0x43800000
.4byte 0
.section .text, "ax"
.global GXAdjustForOverscan
GXAdjustForOverscan:
/* 80378C04 00375B64 7C 03 20 40 */ cmplw r3, r4
/* 80378C08 00375B68 54 A7 04 3E */ clrlwi r7, r5, 0x10
/* 80378C0C 00375B6C 54 C0 04 3E */ clrlwi r0, r6, 0x10
/* 80378C10 00375B70 54 A5 0C 3C */ rlwinm r5, r5, 1, 0x10, 0x1e
/* 80378C14 00375B74 54 C6 0C 3C */ rlwinm r6, r6, 1, 0x10, 0x1e
/* 80378C18 00375B78 41 82 00 7C */ beq lbl_80378C94
/* 80378C1C 00375B7C 81 23 00 00 */ lwz r9, 0(r3)
/* 80378C20 00375B80 81 03 00 04 */ lwz r8, 4(r3)
/* 80378C24 00375B84 91 24 00 00 */ stw r9, 0(r4)
/* 80378C28 00375B88 91 04 00 04 */ stw r8, 4(r4)
/* 80378C2C 00375B8C 81 23 00 08 */ lwz r9, 8(r3)
/* 80378C30 00375B90 81 03 00 0C */ lwz r8, 0xc(r3)
/* 80378C34 00375B94 91 24 00 08 */ stw r9, 8(r4)
/* 80378C38 00375B98 91 04 00 0C */ stw r8, 0xc(r4)
/* 80378C3C 00375B9C 81 23 00 10 */ lwz r9, 0x10(r3)
/* 80378C40 00375BA0 81 03 00 14 */ lwz r8, 0x14(r3)
/* 80378C44 00375BA4 91 24 00 10 */ stw r9, 0x10(r4)
/* 80378C48 00375BA8 91 04 00 14 */ stw r8, 0x14(r4)
/* 80378C4C 00375BAC 81 23 00 18 */ lwz r9, 0x18(r3)
/* 80378C50 00375BB0 81 03 00 1C */ lwz r8, 0x1c(r3)
/* 80378C54 00375BB4 91 24 00 18 */ stw r9, 0x18(r4)
/* 80378C58 00375BB8 91 04 00 1C */ stw r8, 0x1c(r4)
/* 80378C5C 00375BBC 81 23 00 20 */ lwz r9, 0x20(r3)
/* 80378C60 00375BC0 81 03 00 24 */ lwz r8, 0x24(r3)
/* 80378C64 00375BC4 91 24 00 20 */ stw r9, 0x20(r4)
/* 80378C68 00375BC8 91 04 00 24 */ stw r8, 0x24(r4)
/* 80378C6C 00375BCC 81 23 00 28 */ lwz r9, 0x28(r3)
/* 80378C70 00375BD0 81 03 00 2C */ lwz r8, 0x2c(r3)
/* 80378C74 00375BD4 91 24 00 28 */ stw r9, 0x28(r4)
/* 80378C78 00375BD8 91 04 00 2C */ stw r8, 0x2c(r4)
/* 80378C7C 00375BDC 81 23 00 30 */ lwz r9, 0x30(r3)
/* 80378C80 00375BE0 81 03 00 34 */ lwz r8, 0x34(r3)
/* 80378C84 00375BE4 91 24 00 30 */ stw r9, 0x30(r4)
/* 80378C88 00375BE8 91 04 00 34 */ stw r8, 0x34(r4)
/* 80378C8C 00375BEC 81 03 00 38 */ lwz r8, 0x38(r3)
/* 80378C90 00375BF0 91 04 00 38 */ stw r8, 0x38(r4)
lbl_80378C94:
/* 80378C94 00375BF4 A1 03 00 04 */ lhz r8, 4(r3)
/* 80378C98 00375BF8 7D 05 40 50 */ subf r8, r5, r8
/* 80378C9C 00375BFC B1 04 00 04 */ sth r8, 4(r4)
/* 80378CA0 00375C00 A1 43 00 06 */ lhz r10, 6(r3)
/* 80378CA4 00375C04 A1 03 00 08 */ lhz r8, 8(r3)
/* 80378CA8 00375C08 7D 26 51 D6 */ mullw r9, r6, r10
/* 80378CAC 00375C0C 7D 09 43 96 */ divwu r8, r9, r8
/* 80378CB0 00375C10 7D 08 50 50 */ subf r8, r8, r10
/* 80378CB4 00375C14 B1 04 00 06 */ sth r8, 6(r4)
/* 80378CB8 00375C18 81 03 00 14 */ lwz r8, 0x14(r3)
/* 80378CBC 00375C1C 2C 08 00 00 */ cmpwi r8, 0
/* 80378CC0 00375C20 40 82 00 24 */ bne lbl_80378CE4
/* 80378CC4 00375C24 81 03 00 00 */ lwz r8, 0(r3)
/* 80378CC8 00375C28 55 08 07 BC */ rlwinm r8, r8, 0, 0x1e, 0x1e
/* 80378CCC 00375C2C 2C 08 00 02 */ cmpwi r8, 2
/* 80378CD0 00375C30 41 82 00 14 */ beq lbl_80378CE4
/* 80378CD4 00375C34 A1 03 00 08 */ lhz r8, 8(r3)
/* 80378CD8 00375C38 7D 00 40 50 */ subf r8, r0, r8
/* 80378CDC 00375C3C B1 04 00 08 */ sth r8, 8(r4)
/* 80378CE0 00375C40 48 00 00 10 */ b lbl_80378CF0
lbl_80378CE4:
/* 80378CE4 00375C44 A1 03 00 08 */ lhz r8, 8(r3)
/* 80378CE8 00375C48 7D 06 40 50 */ subf r8, r6, r8
/* 80378CEC 00375C4C B1 04 00 08 */ sth r8, 8(r4)
lbl_80378CF0:
/* 80378CF0 00375C50 A1 03 00 0E */ lhz r8, 0xe(r3)
/* 80378CF4 00375C54 7C A5 40 50 */ subf r5, r5, r8
/* 80378CF8 00375C58 B0 A4 00 0E */ sth r5, 0xe(r4)
/* 80378CFC 00375C5C A0 A3 00 10 */ lhz r5, 0x10(r3)
/* 80378D00 00375C60 7C A6 28 50 */ subf r5, r6, r5
/* 80378D04 00375C64 B0 A4 00 10 */ sth r5, 0x10(r4)
/* 80378D08 00375C68 A0 A3 00 0A */ lhz r5, 0xa(r3)
/* 80378D0C 00375C6C 7C A5 3A 14 */ add r5, r5, r7
/* 80378D10 00375C70 B0 A4 00 0A */ sth r5, 0xa(r4)
/* 80378D14 00375C74 A0 63 00 0C */ lhz r3, 0xc(r3)
/* 80378D18 00375C78 7C 03 02 14 */ add r0, r3, r0
/* 80378D1C 00375C7C B0 04 00 0C */ sth r0, 0xc(r4)
/* 80378D20 00375C80 4E 80 00 20 */ blr
.global GXSetDispCopySrc
GXSetDispCopySrc:
/* 80378D24 00375C84 81 22 CE 08 */ lwz r9, __GXData@sda21(r2)
/* 80378D28 00375C88 39 40 00 00 */ li r10, 0
/* 80378D2C 00375C8C 54 A7 04 3E */ clrlwi r7, r5, 0x10
/* 80378D30 00375C90 91 49 01 E0 */ stw r10, 0x1e0(r9)
/* 80378D34 00375C94 54 C5 04 3E */ clrlwi r5, r6, 0x10
/* 80378D38 00375C98 38 05 FF FF */ addi r0, r5, -1
/* 80378D3C 00375C9C 81 09 01 E0 */ lwz r8, 0x1e0(r9)
/* 80378D40 00375CA0 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 80378D44 00375CA4 54 84 51 AA */ rlwinm r4, r4, 0xa, 6, 0x15
/* 80378D48 00375CA8 55 05 00 2A */ rlwinm r5, r8, 0, 0, 0x15
/* 80378D4C 00375CAC 7C A3 1B 78 */ or r3, r5, r3
/* 80378D50 00375CB0 90 69 01 E0 */ stw r3, 0x1e0(r9)
/* 80378D54 00375CB4 38 67 FF FF */ addi r3, r7, -1
/* 80378D58 00375CB8 54 00 50 2A */ slwi r0, r0, 0xa
/* 80378D5C 00375CBC 80 A9 01 E0 */ lwz r5, 0x1e0(r9)
/* 80378D60 00375CC0 54 A5 05 96 */ rlwinm r5, r5, 0, 0x16, 0xb
/* 80378D64 00375CC4 7C A4 23 78 */ or r4, r5, r4
/* 80378D68 00375CC8 90 89 01 E0 */ stw r4, 0x1e0(r9)
/* 80378D6C 00375CCC 80 89 01 E0 */ lwz r4, 0x1e0(r9)
/* 80378D70 00375CD0 54 84 02 3E */ clrlwi r4, r4, 8
/* 80378D74 00375CD4 64 84 49 00 */ oris r4, r4, 0x4900
/* 80378D78 00375CD8 90 89 01 E0 */ stw r4, 0x1e0(r9)
/* 80378D7C 00375CDC 91 49 01 E4 */ stw r10, 0x1e4(r9)
/* 80378D80 00375CE0 80 89 01 E4 */ lwz r4, 0x1e4(r9)
/* 80378D84 00375CE4 54 84 00 2A */ rlwinm r4, r4, 0, 0, 0x15
/* 80378D88 00375CE8 7C 83 1B 78 */ or r3, r4, r3
/* 80378D8C 00375CEC 90 69 01 E4 */ stw r3, 0x1e4(r9)
/* 80378D90 00375CF0 80 69 01 E4 */ lwz r3, 0x1e4(r9)
/* 80378D94 00375CF4 54 63 05 96 */ rlwinm r3, r3, 0, 0x16, 0xb
/* 80378D98 00375CF8 7C 60 03 78 */ or r0, r3, r0
/* 80378D9C 00375CFC 90 09 01 E4 */ stw r0, 0x1e4(r9)
/* 80378DA0 00375D00 80 09 01 E4 */ lwz r0, 0x1e4(r9)
/* 80378DA4 00375D04 54 00 02 3E */ clrlwi r0, r0, 8
/* 80378DA8 00375D08 64 00 4A 00 */ oris r0, r0, 0x4a00
/* 80378DAC 00375D0C 90 09 01 E4 */ stw r0, 0x1e4(r9)
/* 80378DB0 00375D10 4E 80 00 20 */ blr
.global GXSetTexCopySrc
GXSetTexCopySrc:
/* 80378DB4 00375D14 81 22 CE 08 */ lwz r9, __GXData@sda21(r2)
/* 80378DB8 00375D18 39 40 00 00 */ li r10, 0
/* 80378DBC 00375D1C 54 A7 04 3E */ clrlwi r7, r5, 0x10
/* 80378DC0 00375D20 91 49 01 F0 */ stw r10, 0x1f0(r9)
/* 80378DC4 00375D24 54 C5 04 3E */ clrlwi r5, r6, 0x10
/* 80378DC8 00375D28 38 05 FF FF */ addi r0, r5, -1
/* 80378DCC 00375D2C 81 09 01 F0 */ lwz r8, 0x1f0(r9)
/* 80378DD0 00375D30 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 80378DD4 00375D34 54 84 51 AA */ rlwinm r4, r4, 0xa, 6, 0x15
/* 80378DD8 00375D38 55 05 00 2A */ rlwinm r5, r8, 0, 0, 0x15
/* 80378DDC 00375D3C 7C A3 1B 78 */ or r3, r5, r3
/* 80378DE0 00375D40 90 69 01 F0 */ stw r3, 0x1f0(r9)
/* 80378DE4 00375D44 38 67 FF FF */ addi r3, r7, -1
/* 80378DE8 00375D48 54 00 50 2A */ slwi r0, r0, 0xa
/* 80378DEC 00375D4C 80 A9 01 F0 */ lwz r5, 0x1f0(r9)
/* 80378DF0 00375D50 54 A5 05 96 */ rlwinm r5, r5, 0, 0x16, 0xb
/* 80378DF4 00375D54 7C A4 23 78 */ or r4, r5, r4
/* 80378DF8 00375D58 90 89 01 F0 */ stw r4, 0x1f0(r9)
/* 80378DFC 00375D5C 80 89 01 F0 */ lwz r4, 0x1f0(r9)
/* 80378E00 00375D60 54 84 02 3E */ clrlwi r4, r4, 8
/* 80378E04 00375D64 64 84 49 00 */ oris r4, r4, 0x4900
/* 80378E08 00375D68 90 89 01 F0 */ stw r4, 0x1f0(r9)
/* 80378E0C 00375D6C 91 49 01 F4 */ stw r10, 0x1f4(r9)
/* 80378E10 00375D70 80 89 01 F4 */ lwz r4, 0x1f4(r9)
/* 80378E14 00375D74 54 84 00 2A */ rlwinm r4, r4, 0, 0, 0x15
/* 80378E18 00375D78 7C 83 1B 78 */ or r3, r4, r3
/* 80378E1C 00375D7C 90 69 01 F4 */ stw r3, 0x1f4(r9)
/* 80378E20 00375D80 80 69 01 F4 */ lwz r3, 0x1f4(r9)
/* 80378E24 00375D84 54 63 05 96 */ rlwinm r3, r3, 0, 0x16, 0xb
/* 80378E28 00375D88 7C 60 03 78 */ or r0, r3, r0
/* 80378E2C 00375D8C 90 09 01 F4 */ stw r0, 0x1f4(r9)
/* 80378E30 00375D90 80 09 01 F4 */ lwz r0, 0x1f4(r9)
/* 80378E34 00375D94 54 00 02 3E */ clrlwi r0, r0, 8
/* 80378E38 00375D98 64 00 4A 00 */ oris r0, r0, 0x4a00
/* 80378E3C 00375D9C 90 09 01 F4 */ stw r0, 0x1f4(r9)
/* 80378E40 00375DA0 4E 80 00 20 */ blr
.global GXSetDispCopyDst
GXSetDispCopyDst:
/* 80378E44 00375DA4 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80378E48 00375DA8 38 00 00 00 */ li r0, 0
/* 80378E4C 00375DAC 90 04 01 E8 */ stw r0, 0x1e8(r4)
/* 80378E50 00375DB0 38 A4 01 E8 */ addi r5, r4, 0x1e8
/* 80378E54 00375DB4 54 60 0C 3C */ rlwinm r0, r3, 1, 0x10, 0x1e
/* 80378E58 00375DB8 80 84 01 E8 */ lwz r4, 0x1e8(r4)
/* 80378E5C 00375DBC 7C 00 2E 70 */ srawi r0, r0, 5
/* 80378E60 00375DC0 54 83 00 2A */ rlwinm r3, r4, 0, 0, 0x15
/* 80378E64 00375DC4 7C 60 03 78 */ or r0, r3, r0
/* 80378E68 00375DC8 90 05 00 00 */ stw r0, 0(r5)
/* 80378E6C 00375DCC 80 05 00 00 */ lwz r0, 0(r5)
/* 80378E70 00375DD0 54 00 02 3E */ clrlwi r0, r0, 8
/* 80378E74 00375DD4 64 00 4D 00 */ oris r0, r0, 0x4d00
/* 80378E78 00375DD8 90 05 00 00 */ stw r0, 0(r5)
/* 80378E7C 00375DDC 4E 80 00 20 */ blr
.global GXSetTexCopyDst
GXSetTexCopyDst:
/* 80378E80 00375DE0 7C 08 02 A6 */ mflr r0
/* 80378E84 00375DE4 2C 05 00 13 */ cmpwi r5, 0x13
/* 80378E88 00375DE8 90 01 00 04 */ stw r0, 4(r1)
/* 80378E8C 00375DEC 38 00 00 00 */ li r0, 0
/* 80378E90 00375DF0 39 03 00 00 */ addi r8, r3, 0
/* 80378E94 00375DF4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80378E98 00375DF8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80378E9C 00375DFC 54 BF 07 3E */ clrlwi r31, r5, 0x1c
/* 80378EA0 00375E00 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80378EA4 00375E04 3B C6 00 00 */ addi r30, r6, 0
/* 80378EA8 00375E08 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 80378EAC 00375E0C 98 07 02 00 */ stb r0, 0x200(r7)
/* 80378EB0 00375E10 38 E4 00 00 */ addi r7, r4, 0
/* 80378EB4 00375E14 40 82 00 08 */ bne lbl_80378EBC
/* 80378EB8 00375E18 3B E0 00 0B */ li r31, 0xb
lbl_80378EBC:
/* 80378EBC 00375E1C 2C 05 00 26 */ cmpwi r5, 0x26
/* 80378EC0 00375E20 41 82 00 1C */ beq lbl_80378EDC
/* 80378EC4 00375E24 40 80 00 34 */ bge lbl_80378EF8
/* 80378EC8 00375E28 2C 05 00 04 */ cmpwi r5, 4
/* 80378ECC 00375E2C 40 80 00 2C */ bge lbl_80378EF8
/* 80378ED0 00375E30 2C 05 00 00 */ cmpwi r5, 0
/* 80378ED4 00375E34 40 80 00 08 */ bge lbl_80378EDC
/* 80378ED8 00375E38 48 00 00 20 */ b lbl_80378EF8
lbl_80378EDC:
/* 80378EDC 00375E3C 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378EE0 00375E40 84 03 01 FC */ lwzu r0, 0x1fc(r3)
/* 80378EE4 00375E44 54 00 04 5C */ rlwinm r0, r0, 0, 0x11, 0xe
/* 80378EE8 00375E48 64 00 00 01 */ oris r0, r0, 1
/* 80378EEC 00375E4C 60 00 80 00 */ ori r0, r0, 0x8000
/* 80378EF0 00375E50 90 03 00 00 */ stw r0, 0(r3)
/* 80378EF4 00375E54 48 00 00 18 */ b lbl_80378F0C
lbl_80378EF8:
/* 80378EF8 00375E58 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378EFC 00375E5C 84 03 01 FC */ lwzu r0, 0x1fc(r3)
/* 80378F00 00375E60 54 00 04 5C */ rlwinm r0, r0, 0, 0x11, 0xe
/* 80378F04 00375E64 64 00 00 01 */ oris r0, r0, 1
/* 80378F08 00375E68 90 03 00 00 */ stw r0, 0(r3)
lbl_80378F0C:
/* 80378F0C 00375E6C 54 A4 06 F6 */ rlwinm r4, r5, 0, 0x1b, 0x1b
/* 80378F10 00375E70 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378F14 00375E74 38 04 FF F0 */ addi r0, r4, -16
/* 80378F18 00375E78 7C 00 00 34 */ cntlzw r0, r0
/* 80378F1C 00375E7C 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f
/* 80378F20 00375E80 98 03 02 00 */ stb r0, 0x200(r3)
/* 80378F24 00375E84 38 88 00 00 */ addi r4, r8, 0
/* 80378F28 00375E88 38 C1 00 20 */ addi r6, r1, 0x20
/* 80378F2C 00375E8C 84 03 01 FC */ lwzu r0, 0x1fc(r3)
/* 80378F30 00375E90 39 01 00 18 */ addi r8, r1, 0x18
/* 80378F34 00375E94 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80378F38 00375E98 53 E0 07 38 */ rlwimi r0, r31, 0, 0x1c, 0x1c
/* 80378F3C 00375E9C 90 03 00 00 */ stw r0, 0(r3)
/* 80378F40 00375EA0 38 65 00 00 */ addi r3, r5, 0
/* 80378F44 00375EA4 38 A7 00 00 */ addi r5, r7, 0
/* 80378F48 00375EA8 57 FF 07 7E */ clrlwi r31, r31, 0x1d
/* 80378F4C 00375EAC 38 E1 00 1C */ addi r7, r1, 0x1c
/* 80378F50 00375EB0 48 00 0E 4D */ bl __GetImageTileCount
/* 80378F54 00375EB4 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80378F58 00375EB8 38 00 00 00 */ li r0, 0
/* 80378F5C 00375EBC 90 03 01 F8 */ stw r0, 0x1f8(r3)
/* 80378F60 00375EC0 38 E3 01 F8 */ addi r7, r3, 0x1f8
/* 80378F64 00375EC4 39 03 01 FC */ addi r8, r3, 0x1fc
/* 80378F68 00375EC8 80 A1 00 20 */ lwz r5, 0x20(r1)
/* 80378F6C 00375ECC 57 C3 4B EC */ rlwinm r3, r30, 9, 0xf, 0x16
/* 80378F70 00375ED0 80 81 00 18 */ lwz r4, 0x18(r1)
/* 80378F74 00375ED4 57 E0 20 36 */ slwi r0, r31, 4
/* 80378F78 00375ED8 80 C7 00 00 */ lwz r6, 0(r7)
/* 80378F7C 00375EDC 7C 85 21 D6 */ mullw r4, r5, r4
/* 80378F80 00375EE0 54 C5 00 2A */ rlwinm r5, r6, 0, 0, 0x15
/* 80378F84 00375EE4 7C A4 23 78 */ or r4, r5, r4
/* 80378F88 00375EE8 90 87 00 00 */ stw r4, 0(r7)
/* 80378F8C 00375EEC 80 87 00 00 */ lwz r4, 0(r7)
/* 80378F90 00375EF0 54 84 02 3E */ clrlwi r4, r4, 8
/* 80378F94 00375EF4 64 84 4D 00 */ oris r4, r4, 0x4d00
/* 80378F98 00375EF8 90 87 00 00 */ stw r4, 0(r7)
/* 80378F9C 00375EFC 80 88 00 00 */ lwz r4, 0(r8)
/* 80378FA0 00375F00 54 84 05 EA */ rlwinm r4, r4, 0, 0x17, 0x15
/* 80378FA4 00375F04 7C 83 1B 78 */ or r3, r4, r3
/* 80378FA8 00375F08 90 68 00 00 */ stw r3, 0(r8)
/* 80378FAC 00375F0C 80 68 00 00 */ lwz r3, 0(r8)
/* 80378FB0 00375F10 54 63 07 30 */ rlwinm r3, r3, 0, 0x1c, 0x18
/* 80378FB4 00375F14 7C 60 03 78 */ or r0, r3, r0
/* 80378FB8 00375F18 90 08 00 00 */ stw r0, 0(r8)
/* 80378FBC 00375F1C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80378FC0 00375F20 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80378FC4 00375F24 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80378FC8 00375F28 38 21 00 30 */ addi r1, r1, 0x30
/* 80378FCC 00375F2C 7C 08 03 A6 */ mtlr r0
/* 80378FD0 00375F30 4E 80 00 20 */ blr
.global GXSetDispCopyFrame2Field
GXSetDispCopyFrame2Field:
/* 80378FD4 00375F34 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80378FD8 00375F38 54 60 60 26 */ slwi r0, r3, 0xc
/* 80378FDC 00375F3C 80 64 01 EC */ lwz r3, 0x1ec(r4)
/* 80378FE0 00375F40 54 63 05 22 */ rlwinm r3, r3, 0, 0x14, 0x11
/* 80378FE4 00375F44 7C 60 03 78 */ or r0, r3, r0
/* 80378FE8 00375F48 90 04 01 EC */ stw r0, 0x1ec(r4)
/* 80378FEC 00375F4C 84 04 01 FC */ lwzu r0, 0x1fc(r4)
/* 80378FF0 00375F50 54 00 05 22 */ rlwinm r0, r0, 0, 0x14, 0x11
/* 80378FF4 00375F54 90 04 00 00 */ stw r0, 0(r4)
/* 80378FF8 00375F58 4E 80 00 20 */ blr
.global GXSetCopyClamp
GXSetCopyClamp:
/* 80378FFC 00375F5C 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 80379000 00375F60 54 64 07 FE */ clrlwi r4, r3, 0x1f
/* 80379004 00375F64 38 04 FF FF */ addi r0, r4, -1
/* 80379008 00375F68 80 86 01 EC */ lwz r4, 0x1ec(r6)
/* 8037900C 00375F6C 7C 00 00 34 */ cntlzw r0, r0
/* 80379010 00375F70 54 63 07 BC */ rlwinm r3, r3, 0, 0x1e, 0x1e
/* 80379014 00375F74 54 85 00 3C */ rlwinm r5, r4, 0, 0, 0x1e
/* 80379018 00375F78 54 04 DE 3E */ rlwinm r4, r0, 0x1b, 0x18, 0x1f
/* 8037901C 00375F7C 7C A0 23 78 */ or r0, r5, r4
/* 80379020 00375F80 90 06 01 EC */ stw r0, 0x1ec(r6)
/* 80379024 00375F84 38 03 FF FE */ addi r0, r3, -2
/* 80379028 00375F88 7C 00 00 34 */ cntlzw r0, r0
/* 8037902C 00375F8C 80 66 01 EC */ lwz r3, 0x1ec(r6)
/* 80379030 00375F90 54 05 E5 FC */ rlwinm r5, r0, 0x1c, 0x17, 0x1e
/* 80379034 00375F94 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d
/* 80379038 00375F98 7C 60 2B 78 */ or r0, r3, r5
/* 8037903C 00375F9C 90 06 01 EC */ stw r0, 0x1ec(r6)
/* 80379040 00375FA0 80 06 01 FC */ lwz r0, 0x1fc(r6)
/* 80379044 00375FA4 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80379048 00375FA8 7C 00 23 78 */ or r0, r0, r4
/* 8037904C 00375FAC 90 06 01 FC */ stw r0, 0x1fc(r6)
/* 80379050 00375FB0 80 06 01 FC */ lwz r0, 0x1fc(r6)
/* 80379054 00375FB4 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80379058 00375FB8 7C 00 2B 78 */ or r0, r0, r5
/* 8037905C 00375FBC 90 06 01 FC */ stw r0, 0x1fc(r6)
/* 80379060 00375FC0 4E 80 00 20 */ blr
.global GXSetDispCopyYScale
GXSetDispCopyYScale:
/* 80379064 00375FC4 7C 08 02 A6 */ mflr r0
/* 80379068 00375FC8 90 01 00 04 */ stw r0, 4(r1)
/* 8037906C 00375FCC 94 21 FF F8 */ stwu r1, -8(r1)
/* 80379070 00375FD0 C0 02 CE 30 */ lfs f0, lbl_805AEB50@sda21(r2)
/* 80379074 00375FD4 EC 20 08 24 */ fdivs f1, f0, f1
/* 80379078 00375FD8 48 01 08 DD */ bl __cvt_fp2unsigned
/* 8037907C 00375FDC 54 66 05 FE */ clrlwi r6, r3, 0x17
/* 80379080 00375FE0 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80379084 00375FE4 38 00 00 61 */ li r0, 0x61
/* 80379088 00375FE8 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037908C 00375FEC 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 80379090 00375FF0 64 C0 4E 00 */ oris r0, r6, 0x4e00
/* 80379094 00375FF4 38 A0 00 00 */ li r5, 0
/* 80379098 00375FF8 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 8037909C 00375FFC 20 66 01 00 */ subfic r3, r6, 0x100
/* 803790A0 00376000 30 03 FF FF */ addic r0, r3, -1
/* 803790A4 00376004 B0 A4 00 02 */ sth r5, 2(r4)
/* 803790A8 00376008 7C 00 19 10 */ subfe r0, r0, r3
/* 803790AC 0037600C 54 00 53 AA */ rlwinm r0, r0, 0xa, 0xe, 0x15
/* 803790B0 00376010 80 64 01 EC */ lwz r3, 0x1ec(r4)
/* 803790B4 00376014 28 06 00 80 */ cmplwi r6, 0x80
/* 803790B8 00376018 38 A6 00 00 */ addi r5, r6, 0
/* 803790BC 0037601C 54 63 05 A8 */ rlwinm r3, r3, 0, 0x16, 0x14
/* 803790C0 00376020 7C 60 03 78 */ or r0, r3, r0
/* 803790C4 00376024 90 04 01 EC */ stw r0, 0x1ec(r4)
/* 803790C8 00376028 80 04 01 E4 */ lwz r0, 0x1e4(r4)
/* 803790CC 0037602C 54 04 B5 BE */ rlwinm r4, r0, 0x16, 0x16, 0x1f
/* 803790D0 00376030 54 00 F3 AE */ rlwinm r0, r0, 0x1e, 0xe, 0x17
/* 803790D4 00376034 7C 60 33 96 */ divwu r3, r0, r6
/* 803790D8 00376038 38 84 00 01 */ addi r4, r4, 1
/* 803790DC 0037603C 38 63 00 01 */ addi r3, r3, 1
/* 803790E0 00376040 40 81 00 30 */ ble lbl_80379110
/* 803790E4 00376044 28 06 01 00 */ cmplwi r6, 0x100
/* 803790E8 00376048 40 80 00 28 */ bge lbl_80379110
/* 803790EC 0037604C 48 00 00 08 */ b lbl_803790F4
lbl_803790F0:
/* 803790F0 00376050 54 A5 F8 7E */ srwi r5, r5, 1
lbl_803790F4:
/* 803790F4 00376054 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
/* 803790F8 00376058 41 82 FF F8 */ beq lbl_803790F0
/* 803790FC 0037605C 7C 04 2B 96 */ divwu r0, r4, r5
/* 80379100 00376060 7C 00 29 D6 */ mullw r0, r0, r5
/* 80379104 00376064 7C 00 20 51 */ subf. r0, r0, r4
/* 80379108 00376068 40 82 00 08 */ bne lbl_80379110
/* 8037910C 0037606C 38 63 00 01 */ addi r3, r3, 1
lbl_80379110:
/* 80379110 00376070 28 03 04 00 */ cmplwi r3, 0x400
/* 80379114 00376074 40 81 00 08 */ ble lbl_8037911C
/* 80379118 00376078 38 60 04 00 */ li r3, 0x400
lbl_8037911C:
/* 8037911C 0037607C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80379120 00376080 38 21 00 08 */ addi r1, r1, 8
/* 80379124 00376084 7C 08 03 A6 */ mtlr r0
/* 80379128 00376088 4E 80 00 20 */ blr
.global GXSetCopyClear
GXSetCopyClear:
/* 8037912C 0037608C 54 80 02 3E */ clrlwi r0, r4, 8
/* 80379130 00376090 88 83 00 03 */ lbz r4, 3(r3)
/* 80379134 00376094 88 A3 00 00 */ lbz r5, 0(r3)
/* 80379138 00376098 38 C0 00 61 */ li r6, 0x61
/* 8037913C 0037609C 54 87 40 2E */ slwi r7, r4, 8
/* 80379140 003760A0 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 80379144 003760A4 50 A7 06 3E */ rlwimi r7, r5, 0, 0x18, 0x1f
/* 80379148 003760A8 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037914C 003760AC 54 E7 02 3E */ clrlwi r7, r7, 8
/* 80379150 003760B0 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 80379154 003760B4 64 E7 4F 00 */ oris r7, r7, 0x4f00
/* 80379158 003760B8 90 E5 80 00 */ stw r7, 0xCC008000@l(r5)
/* 8037915C 003760BC 64 07 51 00 */ oris r7, r0, 0x5100
/* 80379160 003760C0 38 00 00 00 */ li r0, 0
/* 80379164 003760C4 89 03 00 02 */ lbz r8, 2(r3)
/* 80379168 003760C8 88 63 00 01 */ lbz r3, 1(r3)
/* 8037916C 003760CC 54 63 40 2E */ slwi r3, r3, 8
/* 80379170 003760D0 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 80379174 003760D4 51 03 06 3E */ rlwimi r3, r8, 0, 0x18, 0x1f
/* 80379178 003760D8 54 63 02 3E */ clrlwi r3, r3, 8
/* 8037917C 003760DC 64 63 50 00 */ oris r3, r3, 0x5000
/* 80379180 003760E0 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 80379184 003760E4 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 80379188 003760E8 90 E5 80 00 */ stw r7, 0xCC008000@l(r5)
/* 8037918C 003760EC B0 04 00 02 */ sth r0, 2(r4)
/* 80379190 003760F0 4E 80 00 20 */ blr
.global GXSetCopyFilter
GXSetCopyFilter:
/* 80379194 003760F4 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80379198 003760F8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8037919C 003760FC BE E1 00 2C */ stmw r23, 0x2c(r1)
/* 803791A0 00376100 41 82 01 28 */ beq lbl_803792C8
/* 803791A4 00376104 88 04 00 01 */ lbz r0, 1(r4)
/* 803791A8 00376108 88 64 00 07 */ lbz r3, 7(r4)
/* 803791AC 0037610C 54 1E 20 36 */ slwi r30, r0, 4
/* 803791B0 00376110 89 04 00 00 */ lbz r8, 0(r4)
/* 803791B4 00376114 88 04 00 13 */ lbz r0, 0x13(r4)
/* 803791B8 00376118 54 79 20 36 */ slwi r25, r3, 4
/* 803791BC 0037611C 89 44 00 06 */ lbz r10, 6(r4)
/* 803791C0 00376120 51 1E 07 3E */ rlwimi r30, r8, 0, 0x1c, 0x1f
/* 803791C4 00376124 89 64 00 02 */ lbz r11, 2(r4)
/* 803791C8 00376128 88 E4 00 0D */ lbz r7, 0xd(r4)
/* 803791CC 0037612C 51 59 07 3E */ rlwimi r25, r10, 0, 0x1c, 0x1f
/* 803791D0 00376130 55 7B 40 2E */ slwi r27, r11, 8
/* 803791D4 00376134 89 24 00 08 */ lbz r9, 8(r4)
/* 803791D8 00376138 88 64 00 0E */ lbz r3, 0xe(r4)
/* 803791DC 0037613C 55 3A 40 2E */ slwi r26, r9, 8
/* 803791E0 00376140 8B 84 00 03 */ lbz r28, 3(r4)
/* 803791E4 00376144 53 DB 06 3E */ rlwimi r27, r30, 0, 0x18, 0x1f
/* 803791E8 00376148 89 24 00 10 */ lbz r9, 0x10(r4)
/* 803791EC 0037614C 54 F7 20 36 */ slwi r23, r7, 4
/* 803791F0 00376150 89 84 00 0C */ lbz r12, 0xc(r4)
/* 803791F4 00376154 88 E4 00 15 */ lbz r7, 0x15(r4)
/* 803791F8 00376158 54 78 40 2E */ slwi r24, r3, 8
/* 803791FC 0037615C 51 97 07 3E */ rlwimi r23, r12, 0, 0x1c, 0x1f
/* 80379200 00376160 8B A4 00 12 */ lbz r29, 0x12(r4)
/* 80379204 00376164 54 00 20 36 */ slwi r0, r0, 4
/* 80379208 00376168 53 A0 07 3E */ rlwimi r0, r29, 0, 0x1c, 0x1f
/* 8037920C 0037616C 89 04 00 14 */ lbz r8, 0x14(r4)
/* 80379210 00376170 57 9C 60 26 */ slwi r28, r28, 0xc
/* 80379214 00376174 8B E4 00 09 */ lbz r31, 9(r4)
/* 80379218 00376178 53 7C 05 3E */ rlwimi r28, r27, 0, 0x14, 0x1f
/* 8037921C 0037617C 8B A4 00 04 */ lbz r29, 4(r4)
/* 80379220 00376180 52 F8 06 3E */ rlwimi r24, r23, 0, 0x18, 0x1f
/* 80379224 00376184 89 44 00 0F */ lbz r10, 0xf(r4)
/* 80379228 00376188 55 17 40 2E */ slwi r23, r8, 8
/* 8037922C 0037618C 89 84 00 0A */ lbz r12, 0xa(r4)
/* 80379230 00376190 53 3A 06 3E */ rlwimi r26, r25, 0, 0x18, 0x1f
/* 80379234 00376194 88 64 00 16 */ lbz r3, 0x16(r4)
/* 80379238 00376198 55 59 60 26 */ slwi r25, r10, 0xc
/* 8037923C 0037619C 8B C4 00 05 */ lbz r30, 5(r4)
/* 80379240 003761A0 50 17 06 3E */ rlwimi r23, r0, 0, 0x18, 0x1f
/* 80379244 003761A4 88 04 00 17 */ lbz r0, 0x17(r4)
/* 80379248 003761A8 57 FB 60 26 */ slwi r27, r31, 0xc
/* 8037924C 003761AC 89 64 00 0B */ lbz r11, 0xb(r4)
/* 80379250 003761B0 89 04 00 11 */ lbz r8, 0x11(r4)
/* 80379254 003761B4 57 A4 80 1E */ slwi r4, r29, 0x10
/* 80379258 003761B8 54 E7 60 26 */ slwi r7, r7, 0xc
/* 8037925C 003761BC 55 8A 80 1E */ slwi r10, r12, 0x10
/* 80379260 003761C0 53 5B 05 3E */ rlwimi r27, r26, 0, 0x14, 0x1f
/* 80379264 003761C4 54 6C 80 1E */ slwi r12, r3, 0x10
/* 80379268 003761C8 52 E7 05 3E */ rlwimi r7, r23, 0, 0x14, 0x1f
/* 8037926C 003761CC 53 84 04 3E */ rlwimi r4, r28, 0, 0x10, 0x1f
/* 80379270 003761D0 57 C3 A0 16 */ slwi r3, r30, 0x14
/* 80379274 003761D4 53 19 05 3E */ rlwimi r25, r24, 0, 0x14, 0x1f
/* 80379278 003761D8 55 29 80 1E */ slwi r9, r9, 0x10
/* 8037927C 003761DC 53 6A 04 3E */ rlwimi r10, r27, 0, 0x10, 0x1f
/* 80379280 003761E0 50 83 03 3E */ rlwimi r3, r4, 0, 0xc, 0x1f
/* 80379284 003761E4 50 EC 04 3E */ rlwimi r12, r7, 0, 0x10, 0x1f
/* 80379288 003761E8 54 67 02 3E */ clrlwi r7, r3, 8
/* 8037928C 003761EC 55 63 A0 16 */ slwi r3, r11, 0x14
/* 80379290 003761F0 51 43 03 3E */ rlwimi r3, r10, 0, 0xc, 0x1f
/* 80379294 003761F4 54 64 02 3E */ clrlwi r4, r3, 8
/* 80379298 003761F8 55 03 A0 16 */ slwi r3, r8, 0x14
/* 8037929C 003761FC 53 29 04 3E */ rlwimi r9, r25, 0, 0x10, 0x1f
/* 803792A0 00376200 51 23 03 3E */ rlwimi r3, r9, 0, 0xc, 0x1f
/* 803792A4 00376204 54 00 A0 16 */ slwi r0, r0, 0x14
/* 803792A8 00376208 51 80 03 3E */ rlwimi r0, r12, 0, 0xc, 0x1f
/* 803792AC 0037620C 54 63 02 3E */ clrlwi r3, r3, 8
/* 803792B0 00376210 54 00 02 3E */ clrlwi r0, r0, 8
/* 803792B4 00376214 64 E8 01 00 */ oris r8, r7, 0x100
/* 803792B8 00376218 64 87 02 00 */ oris r7, r4, 0x200
/* 803792BC 0037621C 64 69 03 00 */ oris r9, r3, 0x300
/* 803792C0 00376220 64 0A 04 00 */ oris r10, r0, 0x400
/* 803792C4 00376224 48 00 00 24 */ b lbl_803792E8
lbl_803792C8:
/* 803792C8 00376228 3D 00 01 66 */ lis r8, 0x01666666@ha
/* 803792CC 0037622C 3C E0 02 66 */ lis r7, 0x02666666@ha
/* 803792D0 00376230 3C 80 03 66 */ lis r4, 0x03666666@ha
/* 803792D4 00376234 3C 60 04 66 */ lis r3, 0x04666666@ha
/* 803792D8 00376238 39 08 66 66 */ addi r8, r8, 0x01666666@l
/* 803792DC 0037623C 38 E7 66 66 */ addi r7, r7, 0x02666666@l
/* 803792E0 00376240 39 24 66 66 */ addi r9, r4, 0x03666666@l
/* 803792E4 00376244 39 43 66 66 */ addi r10, r3, 0x04666666@l
lbl_803792E8:
/* 803792E8 00376248 38 80 00 61 */ li r4, 0x61
/* 803792EC 0037624C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 803792F0 00376250 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 803792F4 00376254 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 803792F8 00376258 91 03 80 00 */ stw r8, 0xCC008000@l(r3)
/* 803792FC 0037625C 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 80379300 00376260 90 E3 80 00 */ stw r7, 0xCC008000@l(r3)
/* 80379304 00376264 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 80379308 00376268 91 23 80 00 */ stw r9, 0xCC008000@l(r3)
/* 8037930C 0037626C 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 80379310 00376270 91 43 80 00 */ stw r10, 0xCC008000@l(r3)
/* 80379314 00376274 41 82 00 68 */ beq lbl_8037937C
/* 80379318 00376278 88 06 00 00 */ lbz r0, 0(r6)
/* 8037931C 0037627C 88 66 00 01 */ lbz r3, 1(r6)
/* 80379320 00376280 64 05 53 00 */ oris r5, r0, 0x5300
/* 80379324 00376284 88 06 00 04 */ lbz r0, 4(r6)
/* 80379328 00376288 88 86 00 02 */ lbz r4, 2(r6)
/* 8037932C 0037628C 54 A7 06 A6 */ rlwinm r7, r5, 0, 0x1a, 0x13
/* 80379330 00376290 54 65 30 32 */ slwi r5, r3, 6
/* 80379334 00376294 88 66 00 05 */ lbz r3, 5(r6)
/* 80379338 00376298 7C E7 2B 78 */ or r7, r7, r5
/* 8037933C 0037629C 64 08 54 00 */ oris r8, r0, 0x5400
/* 80379340 003762A0 88 A6 00 03 */ lbz r5, 3(r6)
/* 80379344 003762A4 88 06 00 06 */ lbz r0, 6(r6)
/* 80379348 003762A8 54 E6 05 1A */ rlwinm r6, r7, 0, 0x14, 0xd
/* 8037934C 003762AC 54 84 60 26 */ slwi r4, r4, 0xc
/* 80379350 003762B0 7C C6 23 78 */ or r6, r6, r4
/* 80379354 003762B4 55 04 06 A6 */ rlwinm r4, r8, 0, 0x1a, 0x13
/* 80379358 003762B8 54 63 30 32 */ slwi r3, r3, 6
/* 8037935C 003762BC 7C 83 1B 78 */ or r3, r4, r3
/* 80379360 003762C0 54 C6 03 8E */ rlwinm r6, r6, 0, 0xe, 7
/* 80379364 003762C4 54 A4 90 1A */ slwi r4, r5, 0x12
/* 80379368 003762C8 54 63 05 1A */ rlwinm r3, r3, 0, 0x14, 0xd
/* 8037936C 003762CC 54 00 60 26 */ slwi r0, r0, 0xc
/* 80379370 003762D0 7C C6 23 78 */ or r6, r6, r4
/* 80379374 003762D4 7C 67 03 78 */ or r7, r3, r0
/* 80379378 003762D8 48 00 00 14 */ b lbl_8037938C
lbl_8037937C:
/* 8037937C 003762DC 3C 80 53 59 */ lis r4, 0x53595000@ha
/* 80379380 003762E0 3C 60 54 00 */ lis r3, 0x54000015@ha
/* 80379384 003762E4 38 C4 50 00 */ addi r6, r4, 0x53595000@l
/* 80379388 003762E8 38 E3 00 15 */ addi r7, r3, 0x54000015@l
lbl_8037938C:
/* 8037938C 003762EC 38 A0 00 61 */ li r5, 0x61
/* 80379390 003762F0 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80379394 003762F4 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80379398 003762F8 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 8037939C 003762FC 38 00 00 00 */ li r0, 0
/* 803793A0 00376300 90 C4 80 00 */ stw r6, 0xCC008000@l(r4)
/* 803793A4 00376304 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 803793A8 00376308 90 E4 80 00 */ stw r7, 0xCC008000@l(r4)
/* 803793AC 0037630C B0 03 00 02 */ sth r0, 2(r3)
/* 803793B0 00376310 BA E1 00 2C */ lmw r23, 0x2c(r1)
/* 803793B4 00376314 38 21 00 50 */ addi r1, r1, 0x50
/* 803793B8 00376318 4E 80 00 20 */ blr
.global GXSetDispCopyGamma
GXSetDispCopyGamma:
/* 803793BC 0037631C 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 803793C0 00376320 54 60 38 30 */ slwi r0, r3, 7
/* 803793C4 00376324 84 64 01 EC */ lwzu r3, 0x1ec(r4)
/* 803793C8 00376328 54 63 06 6C */ rlwinm r3, r3, 0, 0x19, 0x16
/* 803793CC 0037632C 7C 60 03 78 */ or r0, r3, r0
/* 803793D0 00376330 90 04 00 00 */ stw r0, 0(r4)
/* 803793D4 00376334 4E 80 00 20 */ blr
.global GXCopyDisp
GXCopyDisp:
/* 803793D8 00376338 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 803793DC 0037633C 41 82 00 3C */ beq lbl_80379418
/* 803793E0 00376340 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 803793E4 00376344 38 00 00 61 */ li r0, 0x61
/* 803793E8 00376348 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 803793EC 0037634C 80 C7 01 D8 */ lwz r6, 0x1d8(r7)
/* 803793F0 00376350 54 C6 00 3C */ rlwinm r6, r6, 0, 0, 0x1e
/* 803793F4 00376354 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 803793F8 00376358 60 C6 00 01 */ ori r6, r6, 1
/* 803793FC 0037635C 54 C6 07 F6 */ rlwinm r6, r6, 0, 0x1f, 0x1b
/* 80379400 00376360 60 C6 00 0E */ ori r6, r6, 0xe
/* 80379404 00376364 90 C5 80 00 */ stw r6, 0xCC008000@l(r5)
/* 80379408 00376368 80 C7 01 D0 */ lwz r6, 0x1d0(r7)
/* 8037940C 0037636C 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 80379410 00376370 54 C0 00 3A */ rlwinm r0, r6, 0, 0, 0x1d
/* 80379414 00376374 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
lbl_80379418:
/* 80379418 00376378 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8037941C 0037637C 38 00 00 00 */ li r0, 0
/* 80379420 00376380 40 82 00 18 */ bne lbl_80379438
/* 80379424 00376384 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 80379428 00376388 80 A5 01 DC */ lwz r5, 0x1dc(r5)
/* 8037942C 0037638C 54 A5 07 7E */ clrlwi r5, r5, 0x1d
/* 80379430 00376390 28 05 00 03 */ cmplwi r5, 3
/* 80379434 00376394 40 82 00 30 */ bne lbl_80379464
lbl_80379438:
/* 80379438 00376398 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037943C 0037639C 80 E5 01 DC */ lwz r7, 0x1dc(r5)
/* 80379440 003763A0 54 E5 D7 FE */ rlwinm r5, r7, 0x1a, 0x1f, 0x1f
/* 80379444 003763A4 28 05 00 01 */ cmplwi r5, 1
/* 80379448 003763A8 40 82 00 1C */ bne lbl_80379464
/* 8037944C 003763AC 38 00 00 61 */ li r0, 0x61
/* 80379450 003763B0 3C C0 CC 01 */ lis r6, 0xCC008000@ha
/* 80379454 003763B4 98 06 80 00 */ stb r0, 0xCC008000@l(r6)
/* 80379458 003763B8 54 E5 06 B0 */ rlwinm r5, r7, 0, 0x1a, 0x18
/* 8037945C 003763BC 38 00 00 01 */ li r0, 1
/* 80379460 003763C0 90 A6 80 00 */ stw r5, 0xCC008000@l(r6)
lbl_80379464:
/* 80379464 003763C4 39 20 00 61 */ li r9, 0x61
/* 80379468 003763C8 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 8037946C 003763CC 3D 00 CC 01 */ lis r8, 0xCC008000@ha
/* 80379470 003763D0 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 80379474 003763D4 54 63 DA 3E */ rlwinm r3, r3, 0x1b, 8, 0x1f
/* 80379478 003763D8 64 6A 4B 00 */ oris r10, r3, 0x4b00
/* 8037947C 003763DC 80 C7 01 E0 */ lwz r6, 0x1e0(r7)
/* 80379480 003763E0 54 85 06 3F */ clrlwi. r5, r4, 0x18
/* 80379484 003763E4 54 83 5B 68 */ rlwinm r3, r4, 0xb, 0xd, 0x14
/* 80379488 003763E8 90 C8 80 00 */ stw r6, 0xCC008000@l(r8)
/* 8037948C 003763EC 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 80379490 003763F0 80 87 01 E4 */ lwz r4, 0x1e4(r7)
/* 80379494 003763F4 90 88 80 00 */ stw r4, 0xCC008000@l(r8)
/* 80379498 003763F8 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 8037949C 003763FC 80 87 01 E8 */ lwz r4, 0x1e8(r7)
/* 803794A0 00376400 90 88 80 00 */ stw r4, 0xCC008000@l(r8)
/* 803794A4 00376404 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 803794A8 00376408 91 48 80 00 */ stw r10, 0xCC008000@l(r8)
/* 803794AC 0037640C 80 87 01 EC */ lwz r4, 0x1ec(r7)
/* 803794B0 00376410 54 84 05 66 */ rlwinm r4, r4, 0, 0x15, 0x13
/* 803794B4 00376414 7C 83 1B 78 */ or r3, r4, r3
/* 803794B8 00376418 90 67 01 EC */ stw r3, 0x1ec(r7)
/* 803794BC 0037641C 80 67 01 EC */ lwz r3, 0x1ec(r7)
/* 803794C0 00376420 54 63 04 A0 */ rlwinm r3, r3, 0, 0x12, 0x10
/* 803794C4 00376424 60 63 40 00 */ ori r3, r3, 0x4000
/* 803794C8 00376428 90 67 01 EC */ stw r3, 0x1ec(r7)
/* 803794CC 0037642C 80 67 01 EC */ lwz r3, 0x1ec(r7)
/* 803794D0 00376430 54 63 02 3E */ clrlwi r3, r3, 8
/* 803794D4 00376434 64 63 52 00 */ oris r3, r3, 0x5200
/* 803794D8 00376438 90 67 01 EC */ stw r3, 0x1ec(r7)
/* 803794DC 0037643C 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 803794E0 00376440 80 67 01 EC */ lwz r3, 0x1ec(r7)
/* 803794E4 00376444 90 68 80 00 */ stw r3, 0xCC008000@l(r8)
/* 803794E8 00376448 41 82 00 1C */ beq lbl_80379504
/* 803794EC 0037644C 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 803794F0 00376450 80 67 01 D8 */ lwz r3, 0x1d8(r7)
/* 803794F4 00376454 90 68 80 00 */ stw r3, 0xCC008000@l(r8)
/* 803794F8 00376458 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 803794FC 0037645C 80 67 01 D0 */ lwz r3, 0x1d0(r7)
/* 80379500 00376460 90 68 80 00 */ stw r3, 0xCC008000@l(r8)
lbl_80379504:
/* 80379504 00376464 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80379508 00376468 41 82 00 1C */ beq lbl_80379524
/* 8037950C 0037646C 38 00 00 61 */ li r0, 0x61
/* 80379510 00376470 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80379514 00376474 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80379518 00376478 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 8037951C 0037647C 80 03 01 DC */ lwz r0, 0x1dc(r3)
/* 80379520 00376480 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
lbl_80379524:
/* 80379524 00376484 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80379528 00376488 38 00 00 00 */ li r0, 0
/* 8037952C 0037648C B0 03 00 02 */ sth r0, 2(r3)
/* 80379530 00376490 4E 80 00 20 */ blr
.global GXCopyTex
GXCopyTex:
/* 80379534 00376494 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 80379538 00376498 41 82 00 3C */ beq lbl_80379574
/* 8037953C 0037649C 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 80379540 003764A0 38 00 00 61 */ li r0, 0x61
/* 80379544 003764A4 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 80379548 003764A8 80 C7 01 D8 */ lwz r6, 0x1d8(r7)
/* 8037954C 003764AC 54 C6 00 3C */ rlwinm r6, r6, 0, 0, 0x1e
/* 80379550 003764B0 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 80379554 003764B4 60 C6 00 01 */ ori r6, r6, 1
/* 80379558 003764B8 54 C6 07 F6 */ rlwinm r6, r6, 0, 0x1f, 0x1b
/* 8037955C 003764BC 60 C6 00 0E */ ori r6, r6, 0xe
/* 80379560 003764C0 90 C5 80 00 */ stw r6, 0xCC008000@l(r5)
/* 80379564 003764C4 80 C7 01 D0 */ lwz r6, 0x1d0(r7)
/* 80379568 003764C8 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 8037956C 003764CC 54 C0 00 3A */ rlwinm r0, r6, 0, 0, 0x1d
/* 80379570 003764D0 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
lbl_80379574:
/* 80379574 003764D4 80 C2 CE 08 */ lwz r6, __GXData@sda21(r2)
/* 80379578 003764D8 38 00 00 00 */ li r0, 0
/* 8037957C 003764DC 88 A6 02 00 */ lbz r5, 0x200(r6)
/* 80379580 003764E0 80 E6 01 DC */ lwz r7, 0x1dc(r6)
/* 80379584 003764E4 28 05 00 00 */ cmplwi r5, 0
/* 80379588 003764E8 41 82 00 1C */ beq lbl_803795A4
/* 8037958C 003764EC 54 E5 07 7E */ clrlwi r5, r7, 0x1d
/* 80379590 003764F0 28 05 00 03 */ cmplwi r5, 3
/* 80379594 003764F4 41 82 00 10 */ beq lbl_803795A4
/* 80379598 003764F8 54 E0 00 38 */ rlwinm r0, r7, 0, 0, 0x1c
/* 8037959C 003764FC 60 07 00 03 */ ori r7, r0, 3
/* 803795A0 00376500 38 00 00 01 */ li r0, 1
lbl_803795A4:
/* 803795A4 00376504 54 85 06 3F */ clrlwi. r5, r4, 0x18
/* 803795A8 00376508 40 82 00 10 */ bne lbl_803795B8
/* 803795AC 0037650C 54 E5 07 7E */ clrlwi r5, r7, 0x1d
/* 803795B0 00376510 28 05 00 03 */ cmplwi r5, 3
/* 803795B4 00376514 40 82 00 18 */ bne lbl_803795CC
lbl_803795B8:
/* 803795B8 00376518 54 E5 D7 FE */ rlwinm r5, r7, 0x1a, 0x1f, 0x1f
/* 803795BC 0037651C 28 05 00 01 */ cmplwi r5, 1
/* 803795C0 00376520 40 82 00 0C */ bne lbl_803795CC
/* 803795C4 00376524 38 00 00 01 */ li r0, 1
/* 803795C8 00376528 54 E7 06 B0 */ rlwinm r7, r7, 0, 0x1a, 0x18
lbl_803795CC:
/* 803795CC 0037652C 54 05 06 3F */ clrlwi. r5, r0, 0x18
/* 803795D0 00376530 41 82 00 14 */ beq lbl_803795E4
/* 803795D4 00376534 38 C0 00 61 */ li r6, 0x61
/* 803795D8 00376538 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 803795DC 0037653C 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 803795E0 00376540 90 E5 80 00 */ stw r7, 0xCC008000@l(r5)
lbl_803795E4:
/* 803795E4 00376544 39 20 00 61 */ li r9, 0x61
/* 803795E8 00376548 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 803795EC 0037654C 3D 00 CC 01 */ lis r8, 0xCC008000@ha
/* 803795F0 00376550 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 803795F4 00376554 54 63 DA 3E */ rlwinm r3, r3, 0x1b, 8, 0x1f
/* 803795F8 00376558 64 6A 4B 00 */ oris r10, r3, 0x4b00
/* 803795FC 0037655C 80 C7 01 F0 */ lwz r6, 0x1f0(r7)
/* 80379600 00376560 54 85 06 3F */ clrlwi. r5, r4, 0x18
/* 80379604 00376564 54 83 5B 68 */ rlwinm r3, r4, 0xb, 0xd, 0x14
/* 80379608 00376568 90 C8 80 00 */ stw r6, 0xCC008000@l(r8)
/* 8037960C 0037656C 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 80379610 00376570 80 87 01 F4 */ lwz r4, 0x1f4(r7)
/* 80379614 00376574 90 88 80 00 */ stw r4, 0xCC008000@l(r8)
/* 80379618 00376578 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 8037961C 0037657C 80 87 01 F8 */ lwz r4, 0x1f8(r7)
/* 80379620 00376580 90 88 80 00 */ stw r4, 0xCC008000@l(r8)
/* 80379624 00376584 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 80379628 00376588 91 48 80 00 */ stw r10, 0xCC008000@l(r8)
/* 8037962C 0037658C 80 87 01 FC */ lwz r4, 0x1fc(r7)
/* 80379630 00376590 54 84 05 66 */ rlwinm r4, r4, 0, 0x15, 0x13
/* 80379634 00376594 7C 83 1B 78 */ or r3, r4, r3
/* 80379638 00376598 90 67 01 FC */ stw r3, 0x1fc(r7)
/* 8037963C 0037659C 80 67 01 FC */ lwz r3, 0x1fc(r7)
/* 80379640 003765A0 54 63 04 A0 */ rlwinm r3, r3, 0, 0x12, 0x10
/* 80379644 003765A4 90 67 01 FC */ stw r3, 0x1fc(r7)
/* 80379648 003765A8 80 67 01 FC */ lwz r3, 0x1fc(r7)
/* 8037964C 003765AC 54 63 02 3E */ clrlwi r3, r3, 8
/* 80379650 003765B0 64 63 52 00 */ oris r3, r3, 0x5200
/* 80379654 003765B4 90 67 01 FC */ stw r3, 0x1fc(r7)
/* 80379658 003765B8 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 8037965C 003765BC 80 67 01 FC */ lwz r3, 0x1fc(r7)
/* 80379660 003765C0 90 68 80 00 */ stw r3, 0xCC008000@l(r8)
/* 80379664 003765C4 41 82 00 1C */ beq lbl_80379680
/* 80379668 003765C8 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 8037966C 003765CC 80 67 01 D8 */ lwz r3, 0x1d8(r7)
/* 80379670 003765D0 90 68 80 00 */ stw r3, 0xCC008000@l(r8)
/* 80379674 003765D4 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 80379678 003765D8 80 67 01 D0 */ lwz r3, 0x1d0(r7)
/* 8037967C 003765DC 90 68 80 00 */ stw r3, 0xCC008000@l(r8)
lbl_80379680:
/* 80379680 003765E0 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80379684 003765E4 41 82 00 1C */ beq lbl_803796A0
/* 80379688 003765E8 38 00 00 61 */ li r0, 0x61
/* 8037968C 003765EC 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 80379690 003765F0 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80379694 003765F4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80379698 003765F8 80 03 01 DC */ lwz r0, 0x1dc(r3)
/* 8037969C 003765FC 90 04 80 00 */ stw r0, 0xCC008000@l(r4)
lbl_803796A0:
/* 803796A0 00376600 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803796A4 00376604 38 00 00 00 */ li r0, 0
/* 803796A8 00376608 B0 03 00 02 */ sth r0, 2(r3)
/* 803796AC 0037660C 4E 80 00 20 */ blr
.global GXClearBoundingBox
GXClearBoundingBox:
/* 803796B0 00376610 38 C0 00 61 */ li r6, 0x61
/* 803796B4 00376614 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 803796B8 00376618 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 803796BC 0037661C 3C 80 55 00 */ lis r4, 0x550003FF@ha
/* 803796C0 00376620 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 803796C4 00376624 38 04 03 FF */ addi r0, r4, 0x550003FF@l
/* 803796C8 00376628 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 803796CC 0037662C 3C 80 56 00 */ lis r4, 0x560003FF@ha
/* 803796D0 00376630 38 84 03 FF */ addi r4, r4, 0x560003FF@l
/* 803796D4 00376634 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 803796D8 00376638 38 00 00 00 */ li r0, 0
/* 803796DC 0037663C 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 803796E0 00376640 B0 03 00 02 */ sth r0, 2(r3)
/* 803796E4 00376644 4E 80 00 20 */ blr