prime/asm/Dolphin/gx/GXFrameBuf.s

770 lines
39 KiB
ArmAsm

.include "macros.inc"
.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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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, lbl_805AEB28@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