prime/asm/Dolphin/gx/GXTexture.s

1557 lines
68 KiB
ArmAsm

.include "macros.inc"
.section .sdata
.balign 8
.global lbl_805A8AE0
lbl_805A8AE0:
# ROM: 0x3F6480
.4byte 0x80818283
.4byte 0xA0A1A2A3
.global lbl_805A8AE8
lbl_805A8AE8:
# ROM: 0x3F6488
.4byte 0x84858687
.4byte 0xA4A5A6A7
.global lbl_805A8AF0
lbl_805A8AF0:
# ROM: 0x3F6490
.4byte 0x88898A8B
.4byte 0xA8A9AAAB
.global lbl_805A8AF8
lbl_805A8AF8:
# ROM: 0x3F6498
.4byte 0x8C8D8E8F
.4byte 0xACADAEAF
.global lbl_805A8B00
lbl_805A8B00:
# ROM: 0x3F64A0
.4byte 0x90919293
.4byte 0xB0B1B2B3
.global lbl_805A8B08
lbl_805A8B08:
# ROM: 0x3F64A8
.4byte 0x94959697
.4byte 0xB4B5B6B7
.global lbl_805A8B10
lbl_805A8B10:
# ROM: 0x3F64B0
.4byte 0x98999A9B
.4byte 0xB8B9BABB
.global lbl_805A8B18
lbl_805A8B18:
# ROM: 0x3F64B8
.4byte 0x00040105
.4byte 0x02060000
.section .sdata2
.balign 8
.global lbl_805AEB88
lbl_805AEB88:
# ROM: 0x3FB428
.4byte 0x41800000
.4byte 0
.global lbl_805AEB90
lbl_805AEB90:
# ROM: 0x3FB430
.4byte 0x43300000
.4byte 0
.global lbl_805AEB98
lbl_805AEB98:
# ROM: 0x3FB438
.4byte 0xC0800000
.global lbl_805AEB9C
lbl_805AEB9C:
# ROM: 0x3FB43C
.float 4.0
.global lbl_805AEBA0
lbl_805AEBA0:
# ROM: 0x3FB440
.4byte 0x407F5C29
.global lbl_805AEBA4
lbl_805AEBA4:
# ROM: 0x3FB444
.4byte 0x42000000
.global lbl_805AEBA8
lbl_805AEBA8:
# ROM: 0x3FB448
.4byte 0
.global lbl_805AEBAC
lbl_805AEBAC:
# ROM: 0x3FB44C
.4byte 0x41200000
.section .data
.balign 8
.global lbl_803F09F0
lbl_803F09F0:
# ROM: 0x3ED9F0
.4byte lbl_80379C68
.4byte lbl_80379C74
.4byte lbl_80379C74
.4byte lbl_80379C80
.4byte lbl_80379C80
.4byte lbl_80379C80
.4byte lbl_80379C80
.4byte lbl_80379C8C
.4byte lbl_80379C68
.4byte lbl_80379C74
.4byte lbl_80379C80
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C68
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C74
.4byte lbl_80379C8C
.4byte lbl_80379C80
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C80
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C68
.4byte lbl_80379C8C
.4byte lbl_80379C74
.4byte lbl_80379C80
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C74
.4byte lbl_80379C74
.4byte lbl_80379C74
.4byte lbl_80379C74
.4byte lbl_80379C80
.4byte lbl_80379C80
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C68
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C8C
.4byte lbl_80379C74
.4byte lbl_80379C74
.4byte lbl_80379C8C
.4byte lbl_80379C80
.global lbl_803F0AE4
lbl_803F0AE4:
# ROM: 0x3EDAE4
.4byte lbl_80379DBC
.4byte lbl_80379DC8
.4byte lbl_80379DC8
.4byte lbl_80379DD4
.4byte lbl_80379DD4
.4byte lbl_80379DD4
.4byte lbl_80379DD4
.4byte lbl_80379DE0
.4byte lbl_80379DBC
.4byte lbl_80379DC8
.4byte lbl_80379DD4
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DBC
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DC8
.4byte lbl_80379DE0
.4byte lbl_80379DD4
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DD4
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DBC
.4byte lbl_80379DE0
.4byte lbl_80379DC8
.4byte lbl_80379DD4
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DC8
.4byte lbl_80379DC8
.4byte lbl_80379DC8
.4byte lbl_80379DC8
.4byte lbl_80379DD4
.4byte lbl_80379DD4
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DBC
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DE0
.4byte lbl_80379DC8
.4byte lbl_80379DC8
.4byte lbl_80379DE0
.4byte lbl_80379DD4
.global lbl_803F0BD8
lbl_803F0BD8:
# ROM: 0x3EDBD8
.4byte lbl_8037A00C
.4byte lbl_8037A020
.4byte lbl_8037A020
.4byte lbl_8037A034
.4byte lbl_8037A034
.4byte lbl_8037A034
.4byte lbl_8037A048
.4byte lbl_8037A070
.4byte lbl_8037A00C
.4byte lbl_8037A020
.4byte lbl_8037A034
.4byte lbl_8037A070
.4byte lbl_8037A070
.4byte lbl_8037A070
.4byte lbl_8037A05C
.4byte 0
.section .text, "ax"
.global GXGetTexBufferSize
GXGetTexBufferSize:
/* 80379C40 00376BA0 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 80379C44 00376BA4 28 05 00 3C */ cmplwi r5, 0x3c
/* 80379C48 00376BA8 93 E1 00 24 */ stw r31, 0x24(r1)
/* 80379C4C 00376BAC 41 81 00 40 */ bgt lbl_80379C8C
/* 80379C50 00376BB0 3D 00 80 3F */ lis r8, lbl_803F09F0@ha
/* 80379C54 00376BB4 39 08 09 F0 */ addi r8, r8, lbl_803F09F0@l
/* 80379C58 00376BB8 54 A0 10 3A */ slwi r0, r5, 2
/* 80379C5C 00376BBC 7C 08 00 2E */ lwzx r0, r8, r0
/* 80379C60 00376BC0 7C 09 03 A6 */ mtctr r0
/* 80379C64 00376BC4 4E 80 04 20 */ bctr
lbl_80379C68:
/* 80379C68 00376BC8 38 00 00 03 */ li r0, 3
/* 80379C6C 00376BCC 39 00 00 03 */ li r8, 3
/* 80379C70 00376BD0 48 00 00 24 */ b lbl_80379C94
lbl_80379C74:
/* 80379C74 00376BD4 38 00 00 03 */ li r0, 3
/* 80379C78 00376BD8 39 00 00 02 */ li r8, 2
/* 80379C7C 00376BDC 48 00 00 18 */ b lbl_80379C94
lbl_80379C80:
/* 80379C80 00376BE0 38 00 00 02 */ li r0, 2
/* 80379C84 00376BE4 39 00 00 02 */ li r8, 2
/* 80379C88 00376BE8 48 00 00 0C */ b lbl_80379C94
lbl_80379C8C:
/* 80379C8C 00376BEC 39 00 00 00 */ li r8, 0
/* 80379C90 00376BF0 38 00 00 00 */ li r0, 0
lbl_80379C94:
/* 80379C94 00376BF4 28 05 00 06 */ cmplwi r5, 6
/* 80379C98 00376BF8 41 82 00 0C */ beq lbl_80379CA4
/* 80379C9C 00376BFC 28 05 00 16 */ cmplwi r5, 0x16
/* 80379CA0 00376C00 40 82 00 0C */ bne lbl_80379CAC
lbl_80379CA4:
/* 80379CA4 00376C04 38 A0 00 40 */ li r5, 0x40
/* 80379CA8 00376C08 48 00 00 08 */ b lbl_80379CB0
lbl_80379CAC:
/* 80379CAC 00376C0C 38 A0 00 20 */ li r5, 0x20
lbl_80379CB0:
/* 80379CB0 00376C10 54 C6 06 3E */ clrlwi r6, r6, 0x18
/* 80379CB4 00376C14 28 06 00 01 */ cmplwi r6, 1
/* 80379CB8 00376C18 40 82 00 A0 */ bne lbl_80379D58
/* 80379CBC 00376C1C 54 E9 06 3E */ clrlwi r9, r7, 0x18
/* 80379CC0 00376C20 38 C0 00 01 */ li r6, 1
/* 80379CC4 00376C24 7D 29 03 A6 */ mtctr r9
/* 80379CC8 00376C28 7C C7 40 30 */ slw r7, r6, r8
/* 80379CCC 00376C2C 7C C6 00 30 */ slw r6, r6, r0
/* 80379CD0 00376C30 28 09 00 00 */ cmplwi r9, 0
/* 80379CD4 00376C34 39 46 FF FF */ addi r10, r6, -1
/* 80379CD8 00376C38 38 E7 FF FF */ addi r7, r7, -1
/* 80379CDC 00376C3C 3B E0 00 00 */ li r31, 0
/* 80379CE0 00376C40 40 81 00 AC */ ble lbl_80379D8C
lbl_80379CE4:
/* 80379CE4 00376C44 54 6B 04 3E */ clrlwi r11, r3, 0x10
/* 80379CE8 00376C48 7C CB 52 14 */ add r6, r11, r10
/* 80379CEC 00376C4C 54 8C 04 3E */ clrlwi r12, r4, 0x10
/* 80379CF0 00376C50 7C C9 06 30 */ sraw r9, r6, r0
/* 80379CF4 00376C54 7C CC 3A 14 */ add r6, r12, r7
/* 80379CF8 00376C58 7C C6 46 30 */ sraw r6, r6, r8
/* 80379CFC 00376C5C 7C C9 31 D6 */ mullw r6, r9, r6
/* 80379D00 00376C60 7C C5 31 D6 */ mullw r6, r5, r6
/* 80379D04 00376C64 28 0B 00 01 */ cmplwi r11, 1
/* 80379D08 00376C68 7F FF 32 14 */ add r31, r31, r6
/* 80379D0C 00376C6C 40 82 00 0C */ bne lbl_80379D18
/* 80379D10 00376C70 28 0C 00 01 */ cmplwi r12, 1
/* 80379D14 00376C74 41 82 00 78 */ beq lbl_80379D8C
lbl_80379D18:
/* 80379D18 00376C78 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 80379D1C 00376C7C 28 03 00 01 */ cmplwi r3, 1
/* 80379D20 00376C80 40 81 00 0C */ ble lbl_80379D2C
/* 80379D24 00376C84 7D 66 0E 70 */ srawi r6, r11, 1
/* 80379D28 00376C88 48 00 00 08 */ b lbl_80379D30
lbl_80379D2C:
/* 80379D2C 00376C8C 38 C0 00 01 */ li r6, 1
lbl_80379D30:
/* 80379D30 00376C90 54 83 04 3E */ clrlwi r3, r4, 0x10
/* 80379D34 00376C94 28 03 00 01 */ cmplwi r3, 1
/* 80379D38 00376C98 54 C3 04 3E */ clrlwi r3, r6, 0x10
/* 80379D3C 00376C9C 40 81 00 0C */ ble lbl_80379D48
/* 80379D40 00376CA0 7D 84 0E 70 */ srawi r4, r12, 1
/* 80379D44 00376CA4 48 00 00 08 */ b lbl_80379D4C
lbl_80379D48:
/* 80379D48 00376CA8 38 80 00 01 */ li r4, 1
lbl_80379D4C:
/* 80379D4C 00376CAC 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 80379D50 00376CB0 42 00 FF 94 */ bdnz lbl_80379CE4
/* 80379D54 00376CB4 48 00 00 38 */ b lbl_80379D8C
lbl_80379D58:
/* 80379D58 00376CB8 38 C0 00 01 */ li r6, 1
/* 80379D5C 00376CBC 7C C7 00 30 */ slw r7, r6, r0
/* 80379D60 00376CC0 7C C6 40 30 */ slw r6, r6, r8
/* 80379D64 00376CC4 54 69 04 3E */ clrlwi r9, r3, 0x10
/* 80379D68 00376CC8 38 67 FF FF */ addi r3, r7, -1
/* 80379D6C 00376CCC 7C E9 1A 14 */ add r7, r9, r3
/* 80379D70 00376CD0 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 80379D74 00376CD4 38 66 FF FF */ addi r3, r6, -1
/* 80379D78 00376CD8 7C E6 06 30 */ sraw r6, r7, r0
/* 80379D7C 00376CDC 7C 04 1A 14 */ add r0, r4, r3
/* 80379D80 00376CE0 7C 00 46 30 */ sraw r0, r0, r8
/* 80379D84 00376CE4 7C 06 01 D6 */ mullw r0, r6, r0
/* 80379D88 00376CE8 7F E5 01 D6 */ mullw r31, r5, r0
lbl_80379D8C:
/* 80379D8C 00376CEC 7F E3 FB 78 */ mr r3, r31
/* 80379D90 00376CF0 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 80379D94 00376CF4 38 21 00 28 */ addi r1, r1, 0x28
/* 80379D98 00376CF8 4E 80 00 20 */ blr
.global __GetImageTileCount
__GetImageTileCount:
/* 80379D9C 00376CFC 28 03 00 3C */ cmplwi r3, 0x3c
/* 80379DA0 00376D00 41 81 00 40 */ bgt lbl_80379DE0
/* 80379DA4 00376D04 3D 20 80 3F */ lis r9, lbl_803F0AE4@ha
/* 80379DA8 00376D08 39 29 0A E4 */ addi r9, r9, lbl_803F0AE4@l
/* 80379DAC 00376D0C 54 60 10 3A */ slwi r0, r3, 2
/* 80379DB0 00376D10 7C 09 00 2E */ lwzx r0, r9, r0
/* 80379DB4 00376D14 7C 09 03 A6 */ mtctr r0
/* 80379DB8 00376D18 4E 80 04 20 */ bctr
lbl_80379DBC:
/* 80379DBC 00376D1C 39 60 00 03 */ li r11, 3
/* 80379DC0 00376D20 39 80 00 03 */ li r12, 3
/* 80379DC4 00376D24 48 00 00 24 */ b lbl_80379DE8
lbl_80379DC8:
/* 80379DC8 00376D28 39 60 00 03 */ li r11, 3
/* 80379DCC 00376D2C 39 80 00 02 */ li r12, 2
/* 80379DD0 00376D30 48 00 00 18 */ b lbl_80379DE8
lbl_80379DD4:
/* 80379DD4 00376D34 39 60 00 02 */ li r11, 2
/* 80379DD8 00376D38 39 80 00 02 */ li r12, 2
/* 80379DDC 00376D3C 48 00 00 0C */ b lbl_80379DE8
lbl_80379DE0:
/* 80379DE0 00376D40 39 80 00 00 */ li r12, 0
/* 80379DE4 00376D44 39 60 00 00 */ li r11, 0
lbl_80379DE8:
/* 80379DE8 00376D48 54 80 04 3F */ clrlwi. r0, r4, 0x10
/* 80379DEC 00376D4C 40 82 00 08 */ bne lbl_80379DF4
/* 80379DF0 00376D50 38 80 00 01 */ li r4, 1
lbl_80379DF4:
/* 80379DF4 00376D54 54 A0 04 3F */ clrlwi. r0, r5, 0x10
/* 80379DF8 00376D58 40 82 00 08 */ bne lbl_80379E00
/* 80379DFC 00376D5C 38 A0 00 01 */ li r5, 1
lbl_80379E00:
/* 80379E00 00376D60 39 40 00 01 */ li r10, 1
/* 80379E04 00376D64 7D 49 58 30 */ slw r9, r10, r11
/* 80379E08 00376D68 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 80379E0C 00376D6C 38 09 FF FF */ addi r0, r9, -1
/* 80379E10 00376D70 7C 04 02 14 */ add r0, r4, r0
/* 80379E14 00376D74 7C 00 5E 30 */ sraw r0, r0, r11
/* 80379E18 00376D78 7D 44 60 30 */ slw r4, r10, r12
/* 80379E1C 00376D7C 90 06 00 00 */ stw r0, 0(r6)
/* 80379E20 00376D80 54 A5 04 3E */ clrlwi r5, r5, 0x10
/* 80379E24 00376D84 38 04 FF FF */ addi r0, r4, -1
/* 80379E28 00376D88 7C 05 02 14 */ add r0, r5, r0
/* 80379E2C 00376D8C 7C 00 66 30 */ sraw r0, r0, r12
/* 80379E30 00376D90 2C 03 00 06 */ cmpwi r3, 6
/* 80379E34 00376D94 90 07 00 00 */ stw r0, 0(r7)
/* 80379E38 00376D98 41 82 00 10 */ beq lbl_80379E48
/* 80379E3C 00376D9C 2C 03 00 16 */ cmpwi r3, 0x16
/* 80379E40 00376DA0 41 82 00 08 */ beq lbl_80379E48
/* 80379E44 00376DA4 39 40 00 00 */ li r10, 0
lbl_80379E48:
/* 80379E48 00376DA8 2C 0A 00 00 */ cmpwi r10, 0
/* 80379E4C 00376DAC 41 82 00 0C */ beq lbl_80379E58
/* 80379E50 00376DB0 38 00 00 02 */ li r0, 2
/* 80379E54 00376DB4 48 00 00 08 */ b lbl_80379E5C
lbl_80379E58:
/* 80379E58 00376DB8 38 00 00 01 */ li r0, 1
lbl_80379E5C:
/* 80379E5C 00376DBC 90 08 00 00 */ stw r0, 0(r8)
/* 80379E60 00376DC0 4E 80 00 20 */ blr
.global GXInitTexObj
GXInitTexObj:
/* 80379E64 00376DC4 7C 08 02 A6 */ mflr r0
/* 80379E68 00376DC8 90 01 00 04 */ stw r0, 4(r1)
/* 80379E6C 00376DCC 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80379E70 00376DD0 BF 01 00 40 */ stmw r24, 0x40(r1)
/* 80379E74 00376DD4 3B 64 00 00 */ addi r27, r4, 0
/* 80379E78 00376DD8 3B 85 00 00 */ addi r28, r5, 0
/* 80379E7C 00376DDC 3B E3 00 00 */ addi r31, r3, 0
/* 80379E80 00376DE0 3B A6 00 00 */ addi r29, r6, 0
/* 80379E84 00376DE4 3B C7 00 00 */ addi r30, r7, 0
/* 80379E88 00376DE8 3B 08 00 00 */ addi r24, r8, 0
/* 80379E8C 00376DEC 3B 29 00 00 */ addi r25, r9, 0
/* 80379E90 00376DF0 3B 4A 00 00 */ addi r26, r10, 0
/* 80379E94 00376DF4 38 80 00 00 */ li r4, 0
/* 80379E98 00376DF8 38 A0 00 20 */ li r5, 0x20
/* 80379E9C 00376DFC 4B C8 95 0D */ bl memset
/* 80379EA0 00376E00 80 9F 00 00 */ lwz r4, 0(r31)
/* 80379EA4 00376E04 57 40 06 3F */ clrlwi. r0, r26, 0x18
/* 80379EA8 00376E08 57 23 10 3A */ slwi r3, r25, 2
/* 80379EAC 00376E0C 54 84 00 3A */ rlwinm r4, r4, 0, 0, 0x1d
/* 80379EB0 00376E10 7C 84 C3 78 */ or r4, r4, r24
/* 80379EB4 00376E14 90 9F 00 00 */ stw r4, 0(r31)
/* 80379EB8 00376E18 80 1F 00 00 */ lwz r0, 0(r31)
/* 80379EBC 00376E1C 54 00 07 B6 */ rlwinm r0, r0, 0, 0x1e, 0x1b
/* 80379EC0 00376E20 7C 00 1B 78 */ or r0, r0, r3
/* 80379EC4 00376E24 90 1F 00 00 */ stw r0, 0(r31)
/* 80379EC8 00376E28 80 1F 00 00 */ lwz r0, 0(r31)
/* 80379ECC 00376E2C 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 80379ED0 00376E30 60 00 00 10 */ ori r0, r0, 0x10
/* 80379ED4 00376E34 90 1F 00 00 */ stw r0, 0(r31)
/* 80379ED8 00376E38 41 82 00 A4 */ beq lbl_80379F7C
/* 80379EDC 00376E3C 88 7F 00 1F */ lbz r3, 0x1f(r31)
/* 80379EE0 00376E40 38 1E FF F8 */ addi r0, r30, -8
/* 80379EE4 00376E44 28 00 00 02 */ cmplwi r0, 2
/* 80379EE8 00376E48 60 60 00 01 */ ori r0, r3, 1
/* 80379EEC 00376E4C 98 1F 00 1F */ stb r0, 0x1f(r31)
/* 80379EF0 00376E50 41 81 00 18 */ bgt lbl_80379F08
/* 80379EF4 00376E54 80 1F 00 00 */ lwz r0, 0(r31)
/* 80379EF8 00376E58 54 00 06 EE */ rlwinm r0, r0, 0, 0x1b, 0x17
/* 80379EFC 00376E5C 60 00 00 A0 */ ori r0, r0, 0xa0
/* 80379F00 00376E60 90 1F 00 00 */ stw r0, 0(r31)
/* 80379F04 00376E64 48 00 00 14 */ b lbl_80379F18
lbl_80379F08:
/* 80379F08 00376E68 80 1F 00 00 */ lwz r0, 0(r31)
/* 80379F0C 00376E6C 54 00 06 EE */ rlwinm r0, r0, 0, 0x1b, 0x17
/* 80379F10 00376E70 60 00 00 C0 */ ori r0, r0, 0xc0
/* 80379F14 00376E74 90 1F 00 00 */ stw r0, 0(r31)
lbl_80379F18:
/* 80379F18 00376E78 57 83 04 3E */ clrlwi r3, r28, 0x10
/* 80379F1C 00376E7C 57 A0 04 3E */ clrlwi r0, r29, 0x10
/* 80379F20 00376E80 7C 03 00 40 */ cmplw r3, r0
/* 80379F24 00376E84 40 81 00 10 */ ble lbl_80379F34
/* 80379F28 00376E88 7C 60 00 34 */ cntlzw r0, r3
/* 80379F2C 00376E8C 20 00 00 1F */ subfic r0, r0, 0x1f
/* 80379F30 00376E90 48 00 00 0C */ b lbl_80379F3C
lbl_80379F34:
/* 80379F34 00376E94 7C 00 00 34 */ cntlzw r0, r0
/* 80379F38 00376E98 20 00 00 1F */ subfic r0, r0, 0x1f
lbl_80379F3C:
/* 80379F3C 00376E9C 90 01 00 3C */ stw r0, 0x3c(r1)
/* 80379F40 00376EA0 3C 00 43 30 */ lis r0, 0x4330
/* 80379F44 00376EA4 80 7F 00 04 */ lwz r3, 4(r31)
/* 80379F48 00376EA8 90 01 00 38 */ stw r0, 0x38(r1)
/* 80379F4C 00376EAC C8 22 CE 70 */ lfd f1, lbl_805AEB90@sda21(r2)
/* 80379F50 00376EB0 54 63 06 1E */ rlwinm r3, r3, 0, 0x18, 0xf
/* 80379F54 00376EB4 C8 01 00 38 */ lfd f0, 0x38(r1)
/* 80379F58 00376EB8 C0 42 CE 68 */ lfs f2, lbl_805AEB88@sda21(r2)
/* 80379F5C 00376EBC EC 00 08 28 */ fsubs f0, f0, f1
/* 80379F60 00376EC0 EC 02 00 32 */ fmuls f0, f2, f0
/* 80379F64 00376EC4 FC 00 00 1E */ fctiwz f0, f0
/* 80379F68 00376EC8 D8 01 00 30 */ stfd f0, 0x30(r1)
/* 80379F6C 00376ECC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80379F70 00376ED0 50 03 44 2E */ rlwimi r3, r0, 8, 0x10, 0x17
/* 80379F74 00376ED4 90 7F 00 04 */ stw r3, 4(r31)
/* 80379F78 00376ED8 48 00 00 14 */ b lbl_80379F8C
lbl_80379F7C:
/* 80379F7C 00376EDC 80 1F 00 00 */ lwz r0, 0(r31)
/* 80379F80 00376EE0 54 00 06 EE */ rlwinm r0, r0, 0, 0x1b, 0x17
/* 80379F84 00376EE4 60 00 00 80 */ ori r0, r0, 0x80
/* 80379F88 00376EE8 90 1F 00 00 */ stw r0, 0(r31)
lbl_80379F8C:
/* 80379F8C 00376EEC 93 DF 00 14 */ stw r30, 0x14(r31)
/* 80379F90 00376EF0 57 A3 04 3E */ clrlwi r3, r29, 0x10
/* 80379F94 00376EF4 57 C7 07 3E */ clrlwi r7, r30, 0x1c
/* 80379F98 00376EF8 80 BF 00 08 */ lwz r5, 8(r31)
/* 80379F9C 00376EFC 57 84 04 3E */ clrlwi r4, r28, 0x10
/* 80379FA0 00376F00 38 03 FF FF */ addi r0, r3, -1
/* 80379FA4 00376F04 54 A6 00 2A */ rlwinm r6, r5, 0, 0, 0x15
/* 80379FA8 00376F08 38 A4 FF FF */ addi r5, r4, -1
/* 80379FAC 00376F0C 7C C5 2B 78 */ or r5, r6, r5
/* 80379FB0 00376F10 90 BF 00 08 */ stw r5, 8(r31)
/* 80379FB4 00376F14 54 05 50 2A */ slwi r5, r0, 0xa
/* 80379FB8 00376F18 57 60 D9 FE */ rlwinm r0, r27, 0x1b, 7, 0x1f
/* 80379FBC 00376F1C 80 DF 00 08 */ lwz r6, 8(r31)
/* 80379FC0 00376F20 28 07 00 0E */ cmplwi r7, 0xe
/* 80379FC4 00376F24 54 C6 05 96 */ rlwinm r6, r6, 0, 0x16, 0xb
/* 80379FC8 00376F28 7C C5 2B 78 */ or r5, r6, r5
/* 80379FCC 00376F2C 90 BF 00 08 */ stw r5, 8(r31)
/* 80379FD0 00376F30 80 BF 00 08 */ lwz r5, 8(r31)
/* 80379FD4 00376F34 54 A5 03 0E */ rlwinm r5, r5, 0, 0xc, 7
/* 80379FD8 00376F38 53 C5 A2 16 */ rlwimi r5, r30, 0x14, 8, 0xb
/* 80379FDC 00376F3C 90 BF 00 08 */ stw r5, 8(r31)
/* 80379FE0 00376F40 80 BF 00 0C */ lwz r5, 0xc(r31)
/* 80379FE4 00376F44 54 A5 00 14 */ rlwinm r5, r5, 0, 0, 0xa
/* 80379FE8 00376F48 7C A0 03 78 */ or r0, r5, r0
/* 80379FEC 00376F4C 90 1F 00 0C */ stw r0, 0xc(r31)
/* 80379FF0 00376F50 41 81 00 80 */ bgt lbl_8037A070
/* 80379FF4 00376F54 3C A0 80 3F */ lis r5, lbl_803F0BD8@ha
/* 80379FF8 00376F58 38 A5 0B D8 */ addi r5, r5, lbl_803F0BD8@l
/* 80379FFC 00376F5C 54 E0 10 3A */ slwi r0, r7, 2
/* 8037A000 00376F60 7C 05 00 2E */ lwzx r0, r5, r0
/* 8037A004 00376F64 7C 09 03 A6 */ mtctr r0
/* 8037A008 00376F68 4E 80 04 20 */ bctr
lbl_8037A00C:
/* 8037A00C 00376F6C 38 00 00 01 */ li r0, 1
/* 8037A010 00376F70 98 1F 00 1E */ stb r0, 0x1e(r31)
/* 8037A014 00376F74 38 00 00 03 */ li r0, 3
/* 8037A018 00376F78 38 E0 00 03 */ li r7, 3
/* 8037A01C 00376F7C 48 00 00 64 */ b lbl_8037A080
lbl_8037A020:
/* 8037A020 00376F80 38 00 00 02 */ li r0, 2
/* 8037A024 00376F84 98 1F 00 1E */ stb r0, 0x1e(r31)
/* 8037A028 00376F88 38 00 00 03 */ li r0, 3
/* 8037A02C 00376F8C 38 E0 00 02 */ li r7, 2
/* 8037A030 00376F90 48 00 00 50 */ b lbl_8037A080
lbl_8037A034:
/* 8037A034 00376F94 38 00 00 02 */ li r0, 2
/* 8037A038 00376F98 98 1F 00 1E */ stb r0, 0x1e(r31)
/* 8037A03C 00376F9C 38 00 00 02 */ li r0, 2
/* 8037A040 00376FA0 38 E0 00 02 */ li r7, 2
/* 8037A044 00376FA4 48 00 00 3C */ b lbl_8037A080
lbl_8037A048:
/* 8037A048 00376FA8 38 00 00 03 */ li r0, 3
/* 8037A04C 00376FAC 98 1F 00 1E */ stb r0, 0x1e(r31)
/* 8037A050 00376FB0 38 00 00 02 */ li r0, 2
/* 8037A054 00376FB4 38 E0 00 02 */ li r7, 2
/* 8037A058 00376FB8 48 00 00 28 */ b lbl_8037A080
lbl_8037A05C:
/* 8037A05C 00376FBC 38 00 00 00 */ li r0, 0
/* 8037A060 00376FC0 98 1F 00 1E */ stb r0, 0x1e(r31)
/* 8037A064 00376FC4 38 00 00 03 */ li r0, 3
/* 8037A068 00376FC8 38 E0 00 03 */ li r7, 3
/* 8037A06C 00376FCC 48 00 00 14 */ b lbl_8037A080
lbl_8037A070:
/* 8037A070 00376FD0 38 00 00 02 */ li r0, 2
/* 8037A074 00376FD4 98 1F 00 1E */ stb r0, 0x1e(r31)
/* 8037A078 00376FD8 38 00 00 02 */ li r0, 2
/* 8037A07C 00376FDC 38 E0 00 02 */ li r7, 2
lbl_8037A080:
/* 8037A080 00376FE0 54 08 04 3E */ clrlwi r8, r0, 0x10
/* 8037A084 00376FE4 38 C0 00 01 */ li r6, 1
/* 8037A088 00376FE8 7C C5 40 30 */ slw r5, r6, r8
/* 8037A08C 00376FEC 54 E7 04 3E */ clrlwi r7, r7, 0x10
/* 8037A090 00376FF0 38 05 FF FF */ addi r0, r5, -1
/* 8037A094 00376FF4 7C C5 38 30 */ slw r5, r6, r7
/* 8037A098 00376FF8 7C 84 02 14 */ add r4, r4, r0
/* 8037A09C 00376FFC 38 05 FF FF */ addi r0, r5, -1
/* 8037A0A0 00377000 7C 84 46 30 */ sraw r4, r4, r8
/* 8037A0A4 00377004 7C 03 02 14 */ add r0, r3, r0
/* 8037A0A8 00377008 7C 00 3E 30 */ sraw r0, r0, r7
/* 8037A0AC 0037700C 7C 04 01 D6 */ mullw r0, r4, r0
/* 8037A0B0 00377010 54 00 04 7E */ clrlwi r0, r0, 0x11
/* 8037A0B4 00377014 B0 1F 00 1C */ sth r0, 0x1c(r31)
/* 8037A0B8 00377018 88 1F 00 1F */ lbz r0, 0x1f(r31)
/* 8037A0BC 0037701C 60 00 00 02 */ ori r0, r0, 2
/* 8037A0C0 00377020 98 1F 00 1F */ stb r0, 0x1f(r31)
/* 8037A0C4 00377024 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8037A0C8 00377028 BB 01 00 40 */ lmw r24, 0x40(r1)
/* 8037A0CC 0037702C 38 21 00 60 */ addi r1, r1, 0x60
/* 8037A0D0 00377030 7C 08 03 A6 */ mtlr r0
/* 8037A0D4 00377034 4E 80 00 20 */ blr
.global GXInitTexObjCI
GXInitTexObjCI:
/* 8037A0D8 00377038 7C 08 02 A6 */ mflr r0
/* 8037A0DC 0037703C 90 01 00 04 */ stw r0, 4(r1)
/* 8037A0E0 00377040 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8037A0E4 00377044 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8037A0E8 00377048 83 E1 00 38 */ lwz r31, 0x38(r1)
/* 8037A0EC 0037704C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8037A0F0 00377050 7C 7E 1B 78 */ mr r30, r3
/* 8037A0F4 00377054 4B FF FD 71 */ bl GXInitTexObj
/* 8037A0F8 00377058 88 1E 00 1F */ lbz r0, 0x1f(r30)
/* 8037A0FC 0037705C 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 8037A100 00377060 98 1E 00 1F */ stb r0, 0x1f(r30)
/* 8037A104 00377064 93 FE 00 18 */ stw r31, 0x18(r30)
/* 8037A108 00377068 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8037A10C 0037706C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8037A110 00377070 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8037A114 00377074 38 21 00 30 */ addi r1, r1, 0x30
/* 8037A118 00377078 7C 08 03 A6 */ mtlr r0
/* 8037A11C 0037707C 4E 80 00 20 */ blr
.global GXInitTexObjLOD
GXInitTexObjLOD:
/* 8037A120 00377080 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 8037A124 00377084 C0 02 CE 78 */ lfs f0, lbl_805AEB98@sda21(r2)
/* 8037A128 00377088 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 8037A12C 0037708C 40 80 00 0C */ bge lbl_8037A138
/* 8037A130 00377090 FC 60 00 90 */ fmr f3, f0
/* 8037A134 00377094 48 00 00 18 */ b lbl_8037A14C
lbl_8037A138:
/* 8037A138 00377098 C0 02 CE 7C */ lfs f0, lbl_805AEB9C@sda21(r2)
/* 8037A13C 0037709C FC 03 00 40 */ fcmpo cr0, f3, f0
/* 8037A140 003770A0 4C 41 13 82 */ cror 2, 1, 2
/* 8037A144 003770A4 40 82 00 08 */ bne lbl_8037A14C
/* 8037A148 003770A8 C0 62 CE 80 */ lfs f3, lbl_805AEBA0@sda21(r2)
lbl_8037A14C:
/* 8037A14C 003770AC C0 02 CE 84 */ lfs f0, lbl_805AEBA4@sda21(r2)
/* 8037A150 003770B0 2C 05 00 01 */ cmpwi r5, 1
/* 8037A154 003770B4 80 03 00 00 */ lwz r0, 0(r3)
/* 8037A158 003770B8 EC 00 00 F2 */ fmuls f0, f0, f3
/* 8037A15C 003770BC 54 05 05 DC */ rlwinm r5, r0, 0, 0x17, 0xe
/* 8037A160 003770C0 FC 00 00 1E */ fctiwz f0, f0
/* 8037A164 003770C4 D8 01 00 30 */ stfd f0, 0x30(r1)
/* 8037A168 003770C8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8037A16C 003770CC 50 05 4B EC */ rlwimi r5, r0, 9, 0xf, 0x16
/* 8037A170 003770D0 90 A3 00 00 */ stw r5, 0(r3)
/* 8037A174 003770D4 40 82 00 0C */ bne lbl_8037A180
/* 8037A178 003770D8 38 A0 00 01 */ li r5, 1
/* 8037A17C 003770DC 48 00 00 08 */ b lbl_8037A184
lbl_8037A180:
/* 8037A180 003770E0 38 A0 00 00 */ li r5, 0
lbl_8037A184:
/* 8037A184 003770E4 81 23 00 00 */ lwz r9, 0(r3)
/* 8037A188 003770E8 54 E0 06 3F */ clrlwi. r0, r7, 0x18
/* 8037A18C 003770EC 54 A5 20 36 */ slwi r5, r5, 4
/* 8037A190 003770F0 55 27 07 34 */ rlwinm r7, r9, 0, 0x1c, 0x1a
/* 8037A194 003770F4 7C E5 2B 78 */ or r5, r7, r5
/* 8037A198 003770F8 90 A3 00 00 */ stw r5, 0(r3)
/* 8037A19C 003770FC 38 AD 9F 58 */ addi r5, r13, lbl_805A8B18@sda21
/* 8037A1A0 00377100 7C 05 20 AE */ lbzx r0, r5, r4
/* 8037A1A4 00377104 80 E3 00 00 */ lwz r7, 0(r3)
/* 8037A1A8 00377108 54 00 28 34 */ slwi r0, r0, 5
/* 8037A1AC 0037710C 54 E4 06 EE */ rlwinm r4, r7, 0, 0x1b, 0x17
/* 8037A1B0 00377110 7C 80 03 78 */ or r0, r4, r0
/* 8037A1B4 00377114 90 03 00 00 */ stw r0, 0(r3)
/* 8037A1B8 00377118 41 82 00 0C */ beq lbl_8037A1C4
/* 8037A1BC 0037711C 38 00 00 00 */ li r0, 0
/* 8037A1C0 00377120 48 00 00 08 */ b lbl_8037A1C8
lbl_8037A1C4:
/* 8037A1C4 00377124 38 00 00 01 */ li r0, 1
lbl_8037A1C8:
/* 8037A1C8 00377128 80 83 00 00 */ lwz r4, 0(r3)
/* 8037A1CC 0037712C 54 00 40 2E */ slwi r0, r0, 8
/* 8037A1D0 00377130 54 84 06 2C */ rlwinm r4, r4, 0, 0x18, 0x16
/* 8037A1D4 00377134 7C 80 03 78 */ or r0, r4, r0
/* 8037A1D8 00377138 90 03 00 00 */ stw r0, 0(r3)
/* 8037A1DC 0037713C 55 04 98 18 */ slwi r4, r8, 0x13
/* 8037A1E0 00377140 54 C0 A8 D4 */ rlwinm r0, r6, 0x15, 3, 0xa
/* 8037A1E4 00377144 80 A3 00 00 */ lwz r5, 0(r3)
/* 8037A1E8 00377148 54 A5 03 DA */ rlwinm r5, r5, 0, 0xf, 0xd
/* 8037A1EC 0037714C 90 A3 00 00 */ stw r5, 0(r3)
/* 8037A1F0 00377150 80 A3 00 00 */ lwz r5, 0(r3)
/* 8037A1F4 00377154 54 A5 03 98 */ rlwinm r5, r5, 0, 0xe, 0xc
/* 8037A1F8 00377158 90 A3 00 00 */ stw r5, 0(r3)
/* 8037A1FC 0037715C 80 A3 00 00 */ lwz r5, 0(r3)
/* 8037A200 00377160 54 A5 03 54 */ rlwinm r5, r5, 0, 0xd, 0xa
/* 8037A204 00377164 7C A4 23 78 */ or r4, r5, r4
/* 8037A208 00377168 90 83 00 00 */ stw r4, 0(r3)
/* 8037A20C 0037716C 80 83 00 00 */ lwz r4, 0(r3)
/* 8037A210 00377170 54 84 02 D2 */ rlwinm r4, r4, 0, 0xb, 9
/* 8037A214 00377174 7C 80 03 78 */ or r0, r4, r0
/* 8037A218 00377178 90 03 00 00 */ stw r0, 0(r3)
/* 8037A21C 0037717C C0 02 CE 88 */ lfs f0, lbl_805AEBA8@sda21(r2)
/* 8037A220 00377180 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8037A224 00377184 40 80 00 0C */ bge lbl_8037A230
/* 8037A228 00377188 FC 20 00 90 */ fmr f1, f0
/* 8037A22C 0037718C 48 00 00 14 */ b lbl_8037A240
lbl_8037A230:
/* 8037A230 00377190 C0 02 CE 8C */ lfs f0, lbl_805AEBAC@sda21(r2)
/* 8037A234 00377194 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8037A238 00377198 40 81 00 08 */ ble lbl_8037A240
/* 8037A23C 0037719C FC 20 00 90 */ fmr f1, f0
lbl_8037A240:
/* 8037A240 003771A0 C0 62 CE 68 */ lfs f3, lbl_805AEB88@sda21(r2)
/* 8037A244 003771A4 C0 02 CE 88 */ lfs f0, lbl_805AEBA8@sda21(r2)
/* 8037A248 003771A8 EC 23 00 72 */ fmuls f1, f3, f1
/* 8037A24C 003771AC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8037A250 003771B0 FC 20 08 1E */ fctiwz f1, f1
/* 8037A254 003771B4 D8 21 00 30 */ stfd f1, 0x30(r1)
/* 8037A258 003771B8 80 81 00 34 */ lwz r4, 0x34(r1)
/* 8037A25C 003771BC 40 80 00 0C */ bge lbl_8037A268
/* 8037A260 003771C0 FC 40 00 90 */ fmr f2, f0
/* 8037A264 003771C4 48 00 00 14 */ b lbl_8037A278
lbl_8037A268:
/* 8037A268 003771C8 C0 02 CE 8C */ lfs f0, lbl_805AEBAC@sda21(r2)
/* 8037A26C 003771CC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8037A270 003771D0 40 81 00 08 */ ble lbl_8037A278
/* 8037A274 003771D4 FC 40 00 90 */ fmr f2, f0
lbl_8037A278:
/* 8037A278 003771D8 80 03 00 04 */ lwz r0, 4(r3)
/* 8037A27C 003771DC 54 00 00 2E */ rlwinm r0, r0, 0, 0, 0x17
/* 8037A280 003771E0 50 80 06 3E */ rlwimi r0, r4, 0, 0x18, 0x1f
/* 8037A284 003771E4 90 03 00 04 */ stw r0, 4(r3)
/* 8037A288 003771E8 C0 02 CE 68 */ lfs f0, lbl_805AEB88@sda21(r2)
/* 8037A28C 003771EC 80 03 00 04 */ lwz r0, 4(r3)
/* 8037A290 003771F0 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8037A294 003771F4 54 04 06 1E */ rlwinm r4, r0, 0, 0x18, 0xf
/* 8037A298 003771F8 FC 00 00 1E */ fctiwz f0, f0
/* 8037A29C 003771FC D8 01 00 30 */ stfd f0, 0x30(r1)
/* 8037A2A0 00377200 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8037A2A4 00377204 50 04 44 2E */ rlwimi r4, r0, 8, 0x10, 0x17
/* 8037A2A8 00377208 90 83 00 04 */ stw r4, 4(r3)
/* 8037A2AC 0037720C 38 21 00 38 */ addi r1, r1, 0x38
/* 8037A2B0 00377210 4E 80 00 20 */ blr
.global GXInitTexObjData
GXInitTexObjData:
/* 8037A2B4 00377214 80 A3 00 0C */ lwz r5, 0xc(r3)
/* 8037A2B8 00377218 54 80 D9 FE */ rlwinm r0, r4, 0x1b, 7, 0x1f
/* 8037A2BC 0037721C 54 A4 00 14 */ rlwinm r4, r5, 0, 0, 0xa
/* 8037A2C0 00377220 7C 80 03 78 */ or r0, r4, r0
/* 8037A2C4 00377224 90 03 00 0C */ stw r0, 0xc(r3)
/* 8037A2C8 00377228 4E 80 00 20 */ blr
.global GXInitTexObjWrapMode
GXInitTexObjWrapMode:
/* 8037A2CC 0037722C 80 C3 00 00 */ lwz r6, 0(r3)
/* 8037A2D0 00377230 54 A0 10 3A */ slwi r0, r5, 2
/* 8037A2D4 00377234 54 C5 00 3A */ rlwinm r5, r6, 0, 0, 0x1d
/* 8037A2D8 00377238 7C A4 23 78 */ or r4, r5, r4
/* 8037A2DC 0037723C 90 83 00 00 */ stw r4, 0(r3)
/* 8037A2E0 00377240 80 83 00 00 */ lwz r4, 0(r3)
/* 8037A2E4 00377244 54 84 07 B6 */ rlwinm r4, r4, 0, 0x1e, 0x1b
/* 8037A2E8 00377248 7C 80 03 78 */ or r0, r4, r0
/* 8037A2EC 0037724C 90 03 00 00 */ stw r0, 0(r3)
/* 8037A2F0 00377250 4E 80 00 20 */ blr
.global GXGetTexObjFmt
GXGetTexObjFmt:
/* 8037A2F4 00377254 80 63 00 14 */ lwz r3, 0x14(r3)
/* 8037A2F8 00377258 4E 80 00 20 */ blr
.global GXLoadTexObjPreLoaded
GXLoadTexObjPreLoaded:
/* 8037A2FC 0037725C 7C 08 02 A6 */ mflr r0
/* 8037A300 00377260 38 ED 9F 30 */ addi r7, r13, lbl_805A8AF0@sda21
/* 8037A304 00377264 90 01 00 04 */ stw r0, 4(r1)
/* 8037A308 00377268 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8037A30C 0037726C 93 E1 00 24 */ stw r31, 0x24(r1)
/* 8037A310 00377270 3F E0 CC 01 */ lis r31, 0xCC008000@ha
/* 8037A314 00377274 93 C1 00 20 */ stw r30, 0x20(r1)
/* 8037A318 00377278 3B C0 00 61 */ li r30, 0x61
/* 8037A31C 0037727C 93 A1 00 1C */ stw r29, 0x1c(r1)
/* 8037A320 00377280 3B A5 00 00 */ addi r29, r5, 0
/* 8037A324 00377284 38 AD 9F 40 */ addi r5, r13, lbl_805A8B00@sda21
/* 8037A328 00377288 93 81 00 18 */ stw r28, 0x18(r1)
/* 8037A32C 0037728C 7C 7C 1B 78 */ mr r28, r3
/* 8037A330 00377290 80 C3 00 00 */ lwz r6, 0(r3)
/* 8037A334 00377294 38 6D 9F 20 */ addi r3, r13, lbl_805A8AE0@sda21
/* 8037A338 00377298 7C 03 E8 AE */ lbzx r0, r3, r29
/* 8037A33C 0037729C 38 6D 9F 28 */ addi r3, r13, lbl_805A8AE8@sda21
/* 8037A340 003772A0 54 00 C0 0E */ slwi r0, r0, 0x18
/* 8037A344 003772A4 50 C0 02 3E */ rlwimi r0, r6, 0, 8, 0x1f
/* 8037A348 003772A8 90 1C 00 00 */ stw r0, 0(r28)
/* 8037A34C 003772AC 38 CD 9F 38 */ addi r6, r13, lbl_805A8AF8@sda21
/* 8037A350 003772B0 7C 03 E8 AE */ lbzx r0, r3, r29
/* 8037A354 003772B4 38 6D 9F 48 */ addi r3, r13, lbl_805A8B08@sda21
/* 8037A358 003772B8 81 1C 00 04 */ lwz r8, 4(r28)
/* 8037A35C 003772BC 54 00 C0 0E */ slwi r0, r0, 0x18
/* 8037A360 003772C0 51 00 02 3E */ rlwimi r0, r8, 0, 8, 0x1f
/* 8037A364 003772C4 90 1C 00 04 */ stw r0, 4(r28)
/* 8037A368 003772C8 7C 07 E8 AE */ lbzx r0, r7, r29
/* 8037A36C 003772CC 81 1C 00 08 */ lwz r8, 8(r28)
/* 8037A370 003772D0 54 00 C0 0E */ slwi r0, r0, 0x18
/* 8037A374 003772D4 51 00 02 3E */ rlwimi r0, r8, 0, 8, 0x1f
/* 8037A378 003772D8 90 1C 00 08 */ stw r0, 8(r28)
/* 8037A37C 003772DC 7C 06 E8 AE */ lbzx r0, r6, r29
/* 8037A380 003772E0 80 E4 00 00 */ lwz r7, 0(r4)
/* 8037A384 003772E4 54 00 C0 0E */ slwi r0, r0, 0x18
/* 8037A388 003772E8 50 E0 02 3E */ rlwimi r0, r7, 0, 8, 0x1f
/* 8037A38C 003772EC 90 04 00 00 */ stw r0, 0(r4)
/* 8037A390 003772F0 7C 05 E8 AE */ lbzx r0, r5, r29
/* 8037A394 003772F4 80 C4 00 04 */ lwz r6, 4(r4)
/* 8037A398 003772F8 54 00 C0 0E */ slwi r0, r0, 0x18
/* 8037A39C 003772FC 50 C0 02 3E */ rlwimi r0, r6, 0, 8, 0x1f
/* 8037A3A0 00377300 90 04 00 04 */ stw r0, 4(r4)
/* 8037A3A4 00377304 7C 03 E8 AE */ lbzx r0, r3, r29
/* 8037A3A8 00377308 80 BC 00 0C */ lwz r5, 0xc(r28)
/* 8037A3AC 0037730C 54 00 C0 0E */ slwi r0, r0, 0x18
/* 8037A3B0 00377310 50 A0 02 3E */ rlwimi r0, r5, 0, 8, 0x1f
/* 8037A3B4 00377314 90 1C 00 0C */ stw r0, 0xc(r28)
/* 8037A3B8 00377318 9B DF 80 00 */ stb r30, 0xCC008000@l(r31)
/* 8037A3BC 0037731C 80 1C 00 00 */ lwz r0, 0(r28)
/* 8037A3C0 00377320 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
/* 8037A3C4 00377324 9B DF 80 00 */ stb r30, 0xCC008000@l(r31)
/* 8037A3C8 00377328 80 1C 00 04 */ lwz r0, 4(r28)
/* 8037A3CC 0037732C 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
/* 8037A3D0 00377330 9B DF 80 00 */ stb r30, 0xCC008000@l(r31)
/* 8037A3D4 00377334 80 1C 00 08 */ lwz r0, 8(r28)
/* 8037A3D8 00377338 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
/* 8037A3DC 0037733C 9B DF 80 00 */ stb r30, 0xCC008000@l(r31)
/* 8037A3E0 00377340 80 04 00 00 */ lwz r0, 0(r4)
/* 8037A3E4 00377344 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
/* 8037A3E8 00377348 9B DF 80 00 */ stb r30, 0xCC008000@l(r31)
/* 8037A3EC 0037734C 80 04 00 04 */ lwz r0, 4(r4)
/* 8037A3F0 00377350 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
/* 8037A3F4 00377354 9B DF 80 00 */ stb r30, 0xCC008000@l(r31)
/* 8037A3F8 00377358 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 8037A3FC 0037735C 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
/* 8037A400 00377360 88 1C 00 1F */ lbz r0, 0x1f(r28)
/* 8037A404 00377364 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 8037A408 00377368 40 82 00 3C */ bne lbl_8037A444
/* 8037A40C 0037736C 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037A410 00377370 80 7C 00 18 */ lwz r3, 0x18(r28)
/* 8037A414 00377374 81 84 04 14 */ lwz r12, 0x414(r4)
/* 8037A418 00377378 7D 88 03 A6 */ mtlr r12
/* 8037A41C 0037737C 4E 80 00 21 */ blrl
/* 8037A420 00377380 38 8D 9F 50 */ addi r4, r13, lbl_805A8B10@sda21
/* 8037A424 00377384 80 A3 00 04 */ lwz r5, 4(r3)
/* 8037A428 00377388 7C 04 E8 AE */ lbzx r0, r4, r29
/* 8037A42C 0037738C 54 00 C0 0E */ slwi r0, r0, 0x18
/* 8037A430 00377390 50 A0 02 3E */ rlwimi r0, r5, 0, 8, 0x1f
/* 8037A434 00377394 90 03 00 04 */ stw r0, 4(r3)
/* 8037A438 00377398 9B DF 80 00 */ stb r30, 0xCC008000@l(r31)
/* 8037A43C 0037739C 80 03 00 04 */ lwz r0, 4(r3)
/* 8037A440 003773A0 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
lbl_8037A444:
/* 8037A444 003773A4 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037A448 003773A8 57 A4 10 3A */ slwi r4, r29, 2
/* 8037A44C 003773AC 80 7C 00 08 */ lwz r3, 8(r28)
/* 8037A450 003773B0 38 00 00 00 */ li r0, 0
/* 8037A454 003773B4 7C 85 22 14 */ add r4, r5, r4
/* 8037A458 003773B8 90 64 04 5C */ stw r3, 0x45c(r4)
/* 8037A45C 003773BC 80 7C 00 00 */ lwz r3, 0(r28)
/* 8037A460 003773C0 90 64 04 7C */ stw r3, 0x47c(r4)
/* 8037A464 003773C4 80 65 04 F4 */ lwz r3, 0x4f4(r5)
/* 8037A468 003773C8 60 63 00 01 */ ori r3, r3, 1
/* 8037A46C 003773CC 90 65 04 F4 */ stw r3, 0x4f4(r5)
/* 8037A470 003773D0 B0 05 00 02 */ sth r0, 2(r5)
/* 8037A474 003773D4 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8037A478 003773D8 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 8037A47C 003773DC 83 C1 00 20 */ lwz r30, 0x20(r1)
/* 8037A480 003773E0 83 A1 00 1C */ lwz r29, 0x1c(r1)
/* 8037A484 003773E4 83 81 00 18 */ lwz r28, 0x18(r1)
/* 8037A488 003773E8 38 21 00 28 */ addi r1, r1, 0x28
/* 8037A48C 003773EC 7C 08 03 A6 */ mtlr r0
/* 8037A490 003773F0 4E 80 00 20 */ blr
.global GXLoadTexObj
GXLoadTexObj:
/* 8037A494 003773F4 7C 08 02 A6 */ mflr r0
/* 8037A498 003773F8 90 01 00 04 */ stw r0, 4(r1)
/* 8037A49C 003773FC 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8037A4A0 00377400 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8037A4A4 00377404 3B E4 00 00 */ addi r31, r4, 0
/* 8037A4A8 00377408 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8037A4AC 0037740C 3B C3 00 00 */ addi r30, r3, 0
/* 8037A4B0 00377410 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037A4B4 00377414 81 85 04 10 */ lwz r12, 0x410(r5)
/* 8037A4B8 00377418 7D 88 03 A6 */ mtlr r12
/* 8037A4BC 0037741C 4E 80 00 21 */ blrl
/* 8037A4C0 00377420 38 83 00 00 */ addi r4, r3, 0
/* 8037A4C4 00377424 38 7E 00 00 */ addi r3, r30, 0
/* 8037A4C8 00377428 38 BF 00 00 */ addi r5, r31, 0
/* 8037A4CC 0037742C 4B FF FE 31 */ bl GXLoadTexObjPreLoaded
/* 8037A4D0 00377430 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8037A4D4 00377434 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8037A4D8 00377438 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8037A4DC 0037743C 38 21 00 18 */ addi r1, r1, 0x18
/* 8037A4E0 00377440 7C 08 03 A6 */ mtlr r0
/* 8037A4E4 00377444 4E 80 00 20 */ blr
.global GXInitTlutObj
GXInitTlutObj:
/* 8037A4E8 00377448 38 00 00 00 */ li r0, 0
/* 8037A4EC 0037744C 90 03 00 00 */ stw r0, 0(r3)
/* 8037A4F0 00377450 54 A5 50 2A */ slwi r5, r5, 0xa
/* 8037A4F4 00377454 54 80 D9 FE */ rlwinm r0, r4, 0x1b, 7, 0x1f
/* 8037A4F8 00377458 80 E3 00 00 */ lwz r7, 0(r3)
/* 8037A4FC 0037745C 54 E4 05 A6 */ rlwinm r4, r7, 0, 0x16, 0x13
/* 8037A500 00377460 7C 84 2B 78 */ or r4, r4, r5
/* 8037A504 00377464 90 83 00 00 */ stw r4, 0(r3)
/* 8037A508 00377468 80 83 00 04 */ lwz r4, 4(r3)
/* 8037A50C 0037746C 54 84 00 14 */ rlwinm r4, r4, 0, 0, 0xa
/* 8037A510 00377470 7C 80 03 78 */ or r0, r4, r0
/* 8037A514 00377474 90 03 00 04 */ stw r0, 4(r3)
/* 8037A518 00377478 80 03 00 04 */ lwz r0, 4(r3)
/* 8037A51C 0037747C 54 00 02 3E */ clrlwi r0, r0, 8
/* 8037A520 00377480 64 00 64 00 */ oris r0, r0, 0x6400
/* 8037A524 00377484 90 03 00 04 */ stw r0, 4(r3)
/* 8037A528 00377488 B0 C3 00 08 */ sth r6, 8(r3)
/* 8037A52C 0037748C 4E 80 00 20 */ blr
.global GXLoadTlut
GXLoadTlut:
/* 8037A530 00377490 7C 08 02 A6 */ mflr r0
/* 8037A534 00377494 90 01 00 04 */ stw r0, 4(r1)
/* 8037A538 00377498 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8037A53C 0037749C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8037A540 003774A0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8037A544 003774A4 7C 7E 1B 78 */ mr r30, r3
/* 8037A548 003774A8 38 64 00 00 */ addi r3, r4, 0
/* 8037A54C 003774AC 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037A550 003774B0 81 85 04 14 */ lwz r12, 0x414(r5)
/* 8037A554 003774B4 7D 88 03 A6 */ mtlr r12
/* 8037A558 003774B8 4E 80 00 21 */ blrl
/* 8037A55C 003774BC 7C 7F 1B 78 */ mr r31, r3
/* 8037A560 003774C0 48 00 0E 95 */ bl __GXFlushTextureState
/* 8037A564 003774C4 38 80 00 61 */ li r4, 0x61
/* 8037A568 003774C8 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037A56C 003774CC 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 8037A570 003774D0 80 1E 00 04 */ lwz r0, 4(r30)
/* 8037A574 003774D4 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 8037A578 003774D8 98 83 80 00 */ stb r4, 0xCC008000@l(r3)
/* 8037A57C 003774DC 80 1F 00 00 */ lwz r0, 0(r31)
/* 8037A580 003774E0 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 8037A584 003774E4 48 00 0E 71 */ bl __GXFlushTextureState
/* 8037A588 003774E8 80 1F 00 00 */ lwz r0, 0(r31)
/* 8037A58C 003774EC 80 7E 00 00 */ lwz r3, 0(r30)
/* 8037A590 003774F0 54 00 05 BE */ clrlwi r0, r0, 0x16
/* 8037A594 003774F4 50 60 00 2A */ rlwimi r0, r3, 0, 0, 0x15
/* 8037A598 003774F8 90 1E 00 00 */ stw r0, 0(r30)
/* 8037A59C 003774FC 80 7E 00 00 */ lwz r3, 0(r30)
/* 8037A5A0 00377500 80 1E 00 04 */ lwz r0, 4(r30)
/* 8037A5A4 00377504 90 7F 00 04 */ stw r3, 4(r31)
/* 8037A5A8 00377508 90 1F 00 08 */ stw r0, 8(r31)
/* 8037A5AC 0037750C 80 1E 00 08 */ lwz r0, 8(r30)
/* 8037A5B0 00377510 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8037A5B4 00377514 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8037A5B8 00377518 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8037A5BC 0037751C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8037A5C0 00377520 38 21 00 20 */ addi r1, r1, 0x20
/* 8037A5C4 00377524 7C 08 03 A6 */ mtlr r0
/* 8037A5C8 00377528 4E 80 00 20 */ blr
.global GXInitTexCacheRegion
GXInitTexCacheRegion:
/* 8037A5CC 0037752C 2C 06 00 01 */ cmpwi r6, 1
/* 8037A5D0 00377530 41 82 00 28 */ beq lbl_8037A5F8
/* 8037A5D4 00377534 40 80 00 10 */ bge lbl_8037A5E4
/* 8037A5D8 00377538 2C 06 00 00 */ cmpwi r6, 0
/* 8037A5DC 0037753C 40 80 00 14 */ bge lbl_8037A5F0
/* 8037A5E0 00377540 48 00 00 24 */ b lbl_8037A604
lbl_8037A5E4:
/* 8037A5E4 00377544 2C 06 00 03 */ cmpwi r6, 3
/* 8037A5E8 00377548 40 80 00 1C */ bge lbl_8037A604
/* 8037A5EC 0037754C 48 00 00 14 */ b lbl_8037A600
lbl_8037A5F0:
/* 8037A5F0 00377550 39 40 00 03 */ li r10, 3
/* 8037A5F4 00377554 48 00 00 10 */ b lbl_8037A604
lbl_8037A5F8:
/* 8037A5F8 00377558 39 40 00 04 */ li r10, 4
/* 8037A5FC 0037755C 48 00 00 08 */ b lbl_8037A604
lbl_8037A600:
/* 8037A600 00377560 39 40 00 05 */ li r10, 5
lbl_8037A604:
/* 8037A604 00377564 38 00 00 00 */ li r0, 0
/* 8037A608 00377568 90 03 00 00 */ stw r0, 0(r3)
/* 8037A60C 0037756C 54 A6 D9 7E */ srwi r6, r5, 5
/* 8037A610 00377570 55 45 78 20 */ slwi r5, r10, 0xf
/* 8037A614 00377574 81 23 00 00 */ lwz r9, 0(r3)
/* 8037A618 00377578 55 40 90 1A */ slwi r0, r10, 0x12
/* 8037A61C 0037757C 2C 08 00 02 */ cmpwi r8, 2
/* 8037A620 00377580 55 29 00 20 */ rlwinm r9, r9, 0, 0, 0x10
/* 8037A624 00377584 7D 26 33 78 */ or r6, r9, r6
/* 8037A628 00377588 90 C3 00 00 */ stw r6, 0(r3)
/* 8037A62C 0037758C 80 C3 00 00 */ lwz r6, 0(r3)
/* 8037A630 00377590 54 C6 04 5A */ rlwinm r6, r6, 0, 0x11, 0xd
/* 8037A634 00377594 7C C5 2B 78 */ or r5, r6, r5
/* 8037A638 00377598 90 A3 00 00 */ stw r5, 0(r3)
/* 8037A63C 0037759C 80 A3 00 00 */ lwz r5, 0(r3)
/* 8037A640 003775A0 54 A5 03 94 */ rlwinm r5, r5, 0, 0xe, 0xa
/* 8037A644 003775A4 7C A0 03 78 */ or r0, r5, r0
/* 8037A648 003775A8 90 03 00 00 */ stw r0, 0(r3)
/* 8037A64C 003775AC 80 03 00 00 */ lwz r0, 0(r3)
/* 8037A650 003775B0 54 00 02 D2 */ rlwinm r0, r0, 0, 0xb, 9
/* 8037A654 003775B4 90 03 00 00 */ stw r0, 0(r3)
/* 8037A658 003775B8 41 82 00 34 */ beq lbl_8037A68C
/* 8037A65C 003775BC 40 80 00 14 */ bge lbl_8037A670
/* 8037A660 003775C0 2C 08 00 00 */ cmpwi r8, 0
/* 8037A664 003775C4 41 82 00 18 */ beq lbl_8037A67C
/* 8037A668 003775C8 40 80 00 1C */ bge lbl_8037A684
/* 8037A66C 003775CC 48 00 00 2C */ b lbl_8037A698
lbl_8037A670:
/* 8037A670 003775D0 2C 08 00 04 */ cmpwi r8, 4
/* 8037A674 003775D4 40 80 00 24 */ bge lbl_8037A698
/* 8037A678 003775D8 48 00 00 1C */ b lbl_8037A694
lbl_8037A67C:
/* 8037A67C 003775DC 39 40 00 03 */ li r10, 3
/* 8037A680 003775E0 48 00 00 18 */ b lbl_8037A698
lbl_8037A684:
/* 8037A684 003775E4 39 40 00 04 */ li r10, 4
/* 8037A688 003775E8 48 00 00 10 */ b lbl_8037A698
lbl_8037A68C:
/* 8037A68C 003775EC 39 40 00 05 */ li r10, 5
/* 8037A690 003775F0 48 00 00 08 */ b lbl_8037A698
lbl_8037A694:
/* 8037A694 003775F4 39 40 00 00 */ li r10, 0
lbl_8037A698:
/* 8037A698 003775F8 38 00 00 00 */ li r0, 0
/* 8037A69C 003775FC 90 03 00 04 */ stw r0, 4(r3)
/* 8037A6A0 00377600 54 E7 D9 7E */ srwi r7, r7, 5
/* 8037A6A4 00377604 55 46 78 20 */ slwi r6, r10, 0xf
/* 8037A6A8 00377608 81 03 00 04 */ lwz r8, 4(r3)
/* 8037A6AC 0037760C 55 45 90 1A */ slwi r5, r10, 0x12
/* 8037A6B0 00377610 38 00 00 01 */ li r0, 1
/* 8037A6B4 00377614 55 08 00 20 */ rlwinm r8, r8, 0, 0, 0x10
/* 8037A6B8 00377618 7D 07 3B 78 */ or r7, r8, r7
/* 8037A6BC 0037761C 90 E3 00 04 */ stw r7, 4(r3)
/* 8037A6C0 00377620 80 E3 00 04 */ lwz r7, 4(r3)
/* 8037A6C4 00377624 54 E7 04 5A */ rlwinm r7, r7, 0, 0x11, 0xd
/* 8037A6C8 00377628 7C E6 33 78 */ or r6, r7, r6
/* 8037A6CC 0037762C 90 C3 00 04 */ stw r6, 4(r3)
/* 8037A6D0 00377630 80 C3 00 04 */ lwz r6, 4(r3)
/* 8037A6D4 00377634 54 C6 03 94 */ rlwinm r6, r6, 0, 0xe, 0xa
/* 8037A6D8 00377638 7C C5 2B 78 */ or r5, r6, r5
/* 8037A6DC 0037763C 90 A3 00 04 */ stw r5, 4(r3)
/* 8037A6E0 00377640 98 83 00 0C */ stb r4, 0xc(r3)
/* 8037A6E4 00377644 98 03 00 0D */ stb r0, 0xd(r3)
/* 8037A6E8 00377648 4E 80 00 20 */ blr
.global GXInitTlutRegion
GXInitTlutRegion:
/* 8037A6EC 0037764C 38 00 00 00 */ li r0, 0
/* 8037A6F0 00377650 90 03 00 00 */ stw r0, 0(r3)
/* 8037A6F4 00377654 3C 04 FF F8 */ addis r0, r4, 0xfff8
/* 8037A6F8 00377658 54 04 BA 7E */ srwi r4, r0, 9
/* 8037A6FC 0037765C 80 C3 00 00 */ lwz r6, 0(r3)
/* 8037A700 00377660 54 A0 50 2A */ slwi r0, r5, 0xa
/* 8037A704 00377664 54 C5 00 2A */ rlwinm r5, r6, 0, 0, 0x15
/* 8037A708 00377668 7C A4 23 78 */ or r4, r5, r4
/* 8037A70C 0037766C 90 83 00 00 */ stw r4, 0(r3)
/* 8037A710 00377670 80 83 00 00 */ lwz r4, 0(r3)
/* 8037A714 00377674 54 84 05 94 */ rlwinm r4, r4, 0, 0x16, 0xa
/* 8037A718 00377678 7C 80 03 78 */ or r0, r4, r0
/* 8037A71C 0037767C 90 03 00 00 */ stw r0, 0(r3)
/* 8037A720 00377680 80 03 00 00 */ lwz r0, 0(r3)
/* 8037A724 00377684 54 00 02 3E */ clrlwi r0, r0, 8
/* 8037A728 00377688 64 00 65 00 */ oris r0, r0, 0x6500
/* 8037A72C 0037768C 90 03 00 00 */ stw r0, 0(r3)
/* 8037A730 00377690 4E 80 00 20 */ blr
.global GXInvalidateTexRegion
GXInvalidateTexRegion:
/* 8037A734 00377694 7C 08 02 A6 */ mflr r0
/* 8037A738 00377698 90 01 00 04 */ stw r0, 4(r1)
/* 8037A73C 0037769C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8037A740 003776A0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8037A744 003776A4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8037A748 003776A8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8037A74C 003776AC 80 E3 00 00 */ lwz r7, 0(r3)
/* 8037A750 003776B0 81 03 00 04 */ lwz r8, 4(r3)
/* 8037A754 003776B4 54 E4 8F 7E */ rlwinm r4, r7, 0x11, 0x1d, 0x1f
/* 8037A758 003776B8 34 04 FF FF */ addic. r0, r4, -1
/* 8037A75C 003776BC 54 E6 77 7E */ rlwinm r6, r7, 0xe, 0x1d, 0x1f
/* 8037A760 003776C0 55 05 8F 7E */ rlwinm r5, r8, 0x11, 0x1d, 0x1f
/* 8037A764 003776C4 55 04 77 7E */ rlwinm r4, r8, 0xe, 0x1d, 0x1f
/* 8037A768 003776C8 3B E5 FF FF */ addi r31, r5, -1
/* 8037A76C 003776CC 38 C6 FF FF */ addi r6, r6, -1
/* 8037A770 003776D0 38 A4 FF FF */ addi r5, r4, -1
/* 8037A774 003776D4 40 80 00 08 */ bge lbl_8037A77C
/* 8037A778 003776D8 38 00 00 00 */ li r0, 0
lbl_8037A77C:
/* 8037A77C 003776DC 2C 06 00 00 */ cmpwi r6, 0
/* 8037A780 003776E0 40 80 00 08 */ bge lbl_8037A788
/* 8037A784 003776E4 38 C0 00 00 */ li r6, 0
lbl_8037A788:
/* 8037A788 003776E8 2C 1F 00 00 */ cmpwi r31, 0
/* 8037A78C 003776EC 40 80 00 08 */ bge lbl_8037A794
/* 8037A790 003776F0 3B E0 00 00 */ li r31, 0
lbl_8037A794:
/* 8037A794 003776F4 2C 05 00 00 */ cmpwi r5, 0
/* 8037A798 003776F8 40 80 00 08 */ bge lbl_8037A7A0
/* 8037A79C 003776FC 38 A0 00 00 */ li r5, 0
lbl_8037A7A0:
/* 8037A7A0 00377700 88 63 00 0C */ lbz r3, 0xc(r3)
/* 8037A7A4 00377704 7C 80 32 14 */ add r4, r0, r6
/* 8037A7A8 00377708 38 C4 00 00 */ addi r6, r4, 0
/* 8037A7AC 0037770C 28 03 00 00 */ cmplwi r3, 0
/* 8037A7B0 00377710 41 82 00 10 */ beq lbl_8037A7C0
/* 8037A7B4 00377714 38 05 FF FE */ addi r0, r5, -2
/* 8037A7B8 00377718 7C C0 32 14 */ add r6, r0, r6
/* 8037A7BC 0037771C 7C DF 32 14 */ add r6, r31, r6
lbl_8037A7C0:
/* 8037A7C0 00377720 54 C0 48 2C */ slwi r0, r6, 9
/* 8037A7C4 00377724 50 E0 D5 FE */ rlwimi r0, r7, 0x1a, 0x17, 0x1f
/* 8037A7C8 00377728 54 00 02 3E */ clrlwi r0, r0, 8
/* 8037A7CC 0037772C 2C 1F 00 00 */ cmpwi r31, 0
/* 8037A7D0 00377730 64 1D 66 00 */ oris r29, r0, 0x6600
/* 8037A7D4 00377734 41 82 00 28 */ beq lbl_8037A7FC
/* 8037A7D8 00377738 28 03 00 00 */ cmplwi r3, 0
/* 8037A7DC 0037773C 7C 7F 2A 14 */ add r3, r31, r5
/* 8037A7E0 00377740 41 82 00 0C */ beq lbl_8037A7EC
/* 8037A7E4 00377744 7C 64 1A 14 */ add r3, r4, r3
/* 8037A7E8 00377748 38 63 FF FE */ addi r3, r3, -2
lbl_8037A7EC:
/* 8037A7EC 0037774C 54 60 48 2C */ slwi r0, r3, 9
/* 8037A7F0 00377750 51 00 D5 FE */ rlwimi r0, r8, 0x1a, 0x17, 0x1f
/* 8037A7F4 00377754 54 00 02 3E */ clrlwi r0, r0, 8
/* 8037A7F8 00377758 64 1E 66 00 */ oris r30, r0, 0x6600
lbl_8037A7FC:
/* 8037A7FC 0037775C 48 00 0B F9 */ bl __GXFlushTextureState
/* 8037A800 00377760 38 00 00 61 */ li r0, 0x61
/* 8037A804 00377764 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037A808 00377768 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037A80C 0037776C 2C 1F 00 00 */ cmpwi r31, 0
/* 8037A810 00377770 93 A3 80 00 */ stw r29, 0xCC008000@l(r3)
/* 8037A814 00377774 41 82 00 0C */ beq lbl_8037A820
/* 8037A818 00377778 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037A81C 0037777C 93 C3 80 00 */ stw r30, 0xCC008000@l(r3)
lbl_8037A820:
/* 8037A820 00377780 48 00 0B D5 */ bl __GXFlushTextureState
/* 8037A824 00377784 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8037A828 00377788 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8037A82C 0037778C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8037A830 00377790 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8037A834 00377794 38 21 00 20 */ addi r1, r1, 0x20
/* 8037A838 00377798 7C 08 03 A6 */ mtlr r0
/* 8037A83C 0037779C 4E 80 00 20 */ blr
.global GXInvalidateTexAll
GXInvalidateTexAll:
/* 8037A840 003777A0 7C 08 02 A6 */ mflr r0
/* 8037A844 003777A4 90 01 00 04 */ stw r0, 4(r1)
/* 8037A848 003777A8 94 21 FF F8 */ stwu r1, -8(r1)
/* 8037A84C 003777AC 48 00 0B A9 */ bl __GXFlushTextureState
/* 8037A850 003777B0 38 C0 00 61 */ li r6, 0x61
/* 8037A854 003777B4 3C 60 66 00 */ lis r3, 0x66001000@ha
/* 8037A858 003777B8 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037A85C 003777BC 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 8037A860 003777C0 38 83 10 00 */ addi r4, r3, 0x66001000@l
/* 8037A864 003777C4 38 03 11 00 */ addi r0, r3, 0x1100
/* 8037A868 003777C8 90 85 80 00 */ stw r4, 0xCC008000@l(r5)
/* 8037A86C 003777CC 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 8037A870 003777D0 90 05 80 00 */ stw r0, 0xCC008000@l(r5)
/* 8037A874 003777D4 48 00 0B 81 */ bl __GXFlushTextureState
/* 8037A878 003777D8 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8037A87C 003777DC 38 21 00 08 */ addi r1, r1, 8
/* 8037A880 003777E0 7C 08 03 A6 */ mtlr r0
/* 8037A884 003777E4 4E 80 00 20 */ blr
.global GXSetTexRegionCallback
GXSetTexRegionCallback:
/* 8037A888 003777E8 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037A88C 003777EC 84 04 04 10 */ lwzu r0, 0x410(r4)
/* 8037A890 003777F0 90 64 00 00 */ stw r3, 0(r4)
/* 8037A894 003777F4 7C 03 03 78 */ mr r3, r0
/* 8037A898 003777F8 4E 80 00 20 */ blr
.global GXSetTlutRegionCallback
GXSetTlutRegionCallback:
/* 8037A89C 003777FC 80 82 CE 08 */ lwz r4, __GXData@sda21(r2)
/* 8037A8A0 00377800 84 04 04 14 */ lwzu r0, 0x414(r4)
/* 8037A8A4 00377804 90 64 00 00 */ stw r3, 0(r4)
/* 8037A8A8 00377808 7C 03 03 78 */ mr r3, r0
/* 8037A8AC 0037780C 4E 80 00 20 */ blr
.global GXSetTexCoordScaleManually
GXSetTexCoordScaleManually:
/* 8037A8B0 00377810 81 02 CE 08 */ lwz r8, __GXData@sda21(r2)
/* 8037A8B4 00377814 38 00 00 01 */ li r0, 1
/* 8037A8B8 00377818 54 84 06 3F */ clrlwi. r4, r4, 0x18
/* 8037A8BC 0037781C 80 E8 04 DC */ lwz r7, 0x4dc(r8)
/* 8037A8C0 00377820 7C 00 18 30 */ slw r0, r0, r3
/* 8037A8C4 00377824 7C E7 00 78 */ andc r7, r7, r0
/* 8037A8C8 00377828 7C 80 18 30 */ slw r0, r4, r3
/* 8037A8CC 0037782C 7C E0 03 78 */ or r0, r7, r0
/* 8037A8D0 00377830 90 08 04 DC */ stw r0, 0x4dc(r8)
/* 8037A8D4 00377834 4D 82 00 20 */ beqlr
/* 8037A8D8 00377838 54 67 10 3A */ slwi r7, r3, 2
/* 8037A8DC 0037783C 7C 88 3A 14 */ add r4, r8, r7
/* 8037A8E0 00377840 80 64 00 B8 */ lwz r3, 0xb8(r4)
/* 8037A8E4 00377844 38 05 FF FF */ addi r0, r5, -1
/* 8037A8E8 00377848 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 8037A8EC 0037784C 50 60 00 1E */ rlwimi r0, r3, 0, 0, 0xf
/* 8037A8F0 00377850 90 04 00 B8 */ stw r0, 0xb8(r4)
/* 8037A8F4 00377854 7C A8 3A 14 */ add r5, r8, r7
/* 8037A8F8 00377858 38 06 FF FF */ addi r0, r6, -1
/* 8037A8FC 0037785C 80 65 00 D8 */ lwz r3, 0xd8(r5)
/* 8037A900 00377860 38 C0 00 61 */ li r6, 0x61
/* 8037A904 00377864 7C 88 3A 14 */ add r4, r8, r7
/* 8037A908 00377868 54 63 00 1E */ rlwinm r3, r3, 0, 0, 0xf
/* 8037A90C 0037786C 50 03 04 3E */ rlwimi r3, r0, 0, 0x10, 0x1f
/* 8037A910 00377870 90 65 00 D8 */ stw r3, 0xd8(r5)
/* 8037A914 00377874 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037A918 00377878 38 00 00 00 */ li r0, 0
/* 8037A91C 0037787C 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 8037A920 00377880 80 64 00 B8 */ lwz r3, 0xb8(r4)
/* 8037A924 00377884 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037A928 00377888 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 8037A92C 0037788C 80 64 00 D8 */ lwz r3, 0xd8(r4)
/* 8037A930 00377890 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037A934 00377894 B0 08 00 02 */ sth r0, 2(r8)
/* 8037A938 00377898 4E 80 00 20 */ blr
.global GXSetTexCoordBias
GXSetTexCoordBias:
/* 8037A93C 0037789C 80 E2 CE 08 */ lwz r7, __GXData@sda21(r2)
/* 8037A940 003778A0 54 69 10 3A */ slwi r9, r3, 2
/* 8037A944 003778A4 7D 07 4A 14 */ add r8, r7, r9
/* 8037A948 003778A8 80 08 00 B8 */ lwz r0, 0xb8(r8)
/* 8037A94C 003778AC 7D 47 4A 14 */ add r10, r7, r9
/* 8037A950 003778B0 54 06 04 1C */ rlwinm r6, r0, 0, 0x10, 0xe
/* 8037A954 003778B4 54 80 82 1E */ rlwinm r0, r4, 0x10, 8, 0xf
/* 8037A958 003778B8 7C C0 03 78 */ or r0, r6, r0
/* 8037A95C 003778BC 90 08 00 B8 */ stw r0, 0xb8(r8)
/* 8037A960 003778C0 38 00 00 01 */ li r0, 1
/* 8037A964 003778C4 54 A4 82 1E */ rlwinm r4, r5, 0x10, 8, 0xf
/* 8037A968 003778C8 80 CA 00 D8 */ lwz r6, 0xd8(r10)
/* 8037A96C 003778CC 7C 00 18 30 */ slw r0, r0, r3
/* 8037A970 003778D0 54 C3 04 1C */ rlwinm r3, r6, 0, 0x10, 0xe
/* 8037A974 003778D4 7C 63 23 78 */ or r3, r3, r4
/* 8037A978 003778D8 90 6A 00 D8 */ stw r3, 0xd8(r10)
/* 8037A97C 003778DC 80 67 04 DC */ lwz r3, 0x4dc(r7)
/* 8037A980 003778E0 7C 60 00 39 */ and. r0, r3, r0
/* 8037A984 003778E4 4D 82 00 20 */ beqlr
/* 8037A988 003778E8 38 C0 00 61 */ li r6, 0x61
/* 8037A98C 003778EC 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 8037A990 003778F0 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 8037A994 003778F4 7C 87 4A 14 */ add r4, r7, r9
/* 8037A998 003778F8 38 00 00 00 */ li r0, 0
/* 8037A99C 003778FC 80 64 00 B8 */ lwz r3, 0xb8(r4)
/* 8037A9A0 00377900 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037A9A4 00377904 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 8037A9A8 00377908 80 64 00 D8 */ lwz r3, 0xd8(r4)
/* 8037A9AC 0037790C 90 65 80 00 */ stw r3, 0xCC008000@l(r5)
/* 8037A9B0 00377910 B0 07 00 02 */ sth r0, 2(r7)
/* 8037A9B4 00377914 4E 80 00 20 */ blr
.global __SetSURegs
__SetSURegs:
/* 8037A9B8 00377918 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037A9BC 0037791C 54 88 10 3A */ slwi r8, r4, 2
/* 8037A9C0 00377920 54 60 10 3A */ slwi r0, r3, 2
/* 8037A9C4 00377924 7C 65 02 14 */ add r3, r5, r0
/* 8037A9C8 00377928 7C C5 42 14 */ add r6, r5, r8
/* 8037A9CC 0037792C 80 83 04 5C */ lwz r4, 0x45c(r3)
/* 8037A9D0 00377930 80 06 00 B8 */ lwz r0, 0xb8(r6)
/* 8037A9D4 00377934 7C E5 42 14 */ add r7, r5, r8
/* 8037A9D8 00377938 7D 25 42 14 */ add r9, r5, r8
/* 8037A9DC 0037793C 54 00 00 1E */ rlwinm r0, r0, 0, 0, 0xf
/* 8037A9E0 00377940 50 80 05 BE */ rlwimi r0, r4, 0, 0x16, 0x1f
/* 8037A9E4 00377944 90 06 00 B8 */ stw r0, 0xb8(r6)
/* 8037A9E8 00377948 7D 45 42 14 */ add r10, r5, r8
/* 8037A9EC 0037794C 80 07 00 D8 */ lwz r0, 0xd8(r7)
/* 8037A9F0 00377950 54 00 00 1E */ rlwinm r0, r0, 0, 0, 0xf
/* 8037A9F4 00377954 50 80 B5 BE */ rlwimi r0, r4, 0x16, 0x16, 0x1f
/* 8037A9F8 00377958 90 07 00 D8 */ stw r0, 0xd8(r7)
/* 8037A9FC 0037795C 38 E0 00 61 */ li r7, 0x61
/* 8037AA00 00377960 80 C3 04 7C */ lwz r6, 0x47c(r3)
/* 8037AA04 00377964 80 69 00 B8 */ lwz r3, 0xb8(r9)
/* 8037AA08 00377968 54 C0 F7 BE */ rlwinm r0, r6, 0x1e, 0x1e, 0x1f
/* 8037AA0C 0037796C 20 80 00 01 */ subfic r4, r0, 1
/* 8037AA10 00377970 54 C0 07 BE */ clrlwi r0, r6, 0x1e
/* 8037AA14 00377974 20 00 00 01 */ subfic r0, r0, 1
/* 8037AA18 00377978 7C 00 00 34 */ cntlzw r0, r0
/* 8037AA1C 0037797C 54 63 04 1C */ rlwinm r3, r3, 0, 0x10, 0xe
/* 8037AA20 00377980 54 00 5A 1E */ rlwinm r0, r0, 0xb, 8, 0xf
/* 8037AA24 00377984 7C 60 03 78 */ or r0, r3, r0
/* 8037AA28 00377988 90 09 00 B8 */ stw r0, 0xb8(r9)
/* 8037AA2C 0037798C 7C 80 00 34 */ cntlzw r0, r4
/* 8037AA30 00377990 54 00 5A 1E */ rlwinm r0, r0, 0xb, 8, 0xf
/* 8037AA34 00377994 80 6A 00 D8 */ lwz r3, 0xd8(r10)
/* 8037AA38 00377998 3C C0 CC 01 */ lis r6, 0xCC008000@ha
/* 8037AA3C 0037799C 7C 85 42 14 */ add r4, r5, r8
/* 8037AA40 003779A0 54 63 04 1C */ rlwinm r3, r3, 0, 0x10, 0xe
/* 8037AA44 003779A4 7C 60 03 78 */ or r0, r3, r0
/* 8037AA48 003779A8 90 0A 00 D8 */ stw r0, 0xd8(r10)
/* 8037AA4C 003779AC 38 00 00 00 */ li r0, 0
/* 8037AA50 003779B0 98 E6 80 00 */ stb r7, 0xCC008000@l(r6)
/* 8037AA54 003779B4 80 64 00 B8 */ lwz r3, 0xb8(r4)
/* 8037AA58 003779B8 90 66 80 00 */ stw r3, 0xCC008000@l(r6)
/* 8037AA5C 003779BC 98 E6 80 00 */ stb r7, 0xCC008000@l(r6)
/* 8037AA60 003779C0 80 64 00 D8 */ lwz r3, 0xd8(r4)
/* 8037AA64 003779C4 90 66 80 00 */ stw r3, 0xCC008000@l(r6)
/* 8037AA68 003779C8 B0 05 00 02 */ sth r0, 2(r5)
/* 8037AA6C 003779CC 4E 80 00 20 */ blr
.global __GXSetSUTexRegs
__GXSetSUTexRegs:
/* 8037AA70 003779D0 7C 08 02 A6 */ mflr r0
/* 8037AA74 003779D4 90 01 00 04 */ stw r0, 4(r1)
/* 8037AA78 003779D8 94 21 FF D8 */ stwu r1, -0x28(r1)
/* 8037AA7C 003779DC BF 61 00 14 */ stmw r27, 0x14(r1)
/* 8037AA80 003779E0 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037AA84 003779E4 80 03 04 DC */ lwz r0, 0x4dc(r3)
/* 8037AA88 003779E8 28 00 00 FF */ cmplwi r0, 0xff
/* 8037AA8C 003779EC 41 82 01 4C */ beq lbl_8037ABD8
/* 8037AA90 003779F0 80 03 02 04 */ lwz r0, 0x204(r3)
/* 8037AA94 003779F4 3B E0 00 00 */ li r31, 0
/* 8037AA98 003779F8 54 03 B7 3E */ rlwinm r3, r0, 0x16, 0x1c, 0x1f
/* 8037AA9C 003779FC 3B C3 00 01 */ addi r30, r3, 1
/* 8037AAA0 00377A00 54 1B 87 7E */ rlwinm r27, r0, 0x10, 0x1d, 0x1f
/* 8037AAA4 00377A04 48 00 00 A0 */ b lbl_8037AB44
lbl_8037AAA8:
/* 8037AAA8 00377A08 2C 1F 00 02 */ cmpwi r31, 2
/* 8037AAAC 00377A0C 41 82 00 4C */ beq lbl_8037AAF8
/* 8037AAB0 00377A10 40 80 00 14 */ bge lbl_8037AAC4
/* 8037AAB4 00377A14 2C 1F 00 00 */ cmpwi r31, 0
/* 8037AAB8 00377A18 41 82 00 18 */ beq lbl_8037AAD0
/* 8037AABC 00377A1C 40 80 00 28 */ bge lbl_8037AAE4
/* 8037AAC0 00377A20 48 00 00 5C */ b lbl_8037AB1C
lbl_8037AAC4:
/* 8037AAC4 00377A24 2C 1F 00 04 */ cmpwi r31, 4
/* 8037AAC8 00377A28 40 80 00 54 */ bge lbl_8037AB1C
/* 8037AACC 00377A2C 48 00 00 40 */ b lbl_8037AB0C
lbl_8037AAD0:
/* 8037AAD0 00377A30 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037AAD4 00377A34 80 03 01 20 */ lwz r0, 0x120(r3)
/* 8037AAD8 00377A38 54 1D 07 7E */ clrlwi r29, r0, 0x1d
/* 8037AADC 00377A3C 54 1C EF 7E */ rlwinm r28, r0, 0x1d, 0x1d, 0x1f
/* 8037AAE0 00377A40 48 00 00 3C */ b lbl_8037AB1C
lbl_8037AAE4:
/* 8037AAE4 00377A44 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037AAE8 00377A48 80 03 01 20 */ lwz r0, 0x120(r3)
/* 8037AAEC 00377A4C 54 1D D7 7E */ rlwinm r29, r0, 0x1a, 0x1d, 0x1f
/* 8037AAF0 00377A50 54 1C BF 7E */ rlwinm r28, r0, 0x17, 0x1d, 0x1f
/* 8037AAF4 00377A54 48 00 00 28 */ b lbl_8037AB1C
lbl_8037AAF8:
/* 8037AAF8 00377A58 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037AAFC 00377A5C 80 03 01 20 */ lwz r0, 0x120(r3)
/* 8037AB00 00377A60 54 1D A7 7E */ rlwinm r29, r0, 0x14, 0x1d, 0x1f
/* 8037AB04 00377A64 54 1C 8F 7E */ rlwinm r28, r0, 0x11, 0x1d, 0x1f
/* 8037AB08 00377A68 48 00 00 14 */ b lbl_8037AB1C
lbl_8037AB0C:
/* 8037AB0C 00377A6C 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037AB10 00377A70 80 03 01 20 */ lwz r0, 0x120(r3)
/* 8037AB14 00377A74 54 1D 77 7E */ rlwinm r29, r0, 0xe, 0x1d, 0x1f
/* 8037AB18 00377A78 54 1C 5F 7E */ rlwinm r28, r0, 0xb, 0x1d, 0x1f
lbl_8037AB1C:
/* 8037AB1C 00377A7C 80 62 CE 08 */ lwz r3, __GXData@sda21(r2)
/* 8037AB20 00377A80 38 00 00 01 */ li r0, 1
/* 8037AB24 00377A84 7C 00 E0 30 */ slw r0, r0, r28
/* 8037AB28 00377A88 80 63 04 DC */ lwz r3, 0x4dc(r3)
/* 8037AB2C 00377A8C 7C 60 00 39 */ and. r0, r3, r0
/* 8037AB30 00377A90 40 82 00 10 */ bne lbl_8037AB40
/* 8037AB34 00377A94 38 7D 00 00 */ addi r3, r29, 0
/* 8037AB38 00377A98 38 9C 00 00 */ addi r4, r28, 0
/* 8037AB3C 00377A9C 4B FF FE 7D */ bl __SetSURegs
lbl_8037AB40:
/* 8037AB40 00377AA0 3B FF 00 01 */ addi r31, r31, 1
lbl_8037AB44:
/* 8037AB44 00377AA4 7C 1F D8 40 */ cmplw r31, r27
/* 8037AB48 00377AA8 41 80 FF 60 */ blt lbl_8037AAA8
/* 8037AB4C 00377AAC 3B E0 00 00 */ li r31, 0
/* 8037AB50 00377AB0 3B 7F 00 00 */ addi r27, r31, 0
/* 8037AB54 00377AB4 48 00 00 7C */ b lbl_8037ABD0
lbl_8037AB58:
/* 8037AB58 00377AB8 80 A2 CE 08 */ lwz r5, __GXData@sda21(r2)
/* 8037AB5C 00377ABC 38 7B 04 9C */ addi r3, r27, 0x49c
/* 8037AB60 00377AC0 57 E4 08 3A */ rlwinm r4, r31, 1, 0, 0x1d
/* 8037AB64 00377AC4 7C 65 18 2E */ lwzx r3, r5, r3
/* 8037AB68 00377AC8 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
/* 8037AB6C 00377ACC 38 84 01 00 */ addi r4, r4, 0x100
/* 8037AB70 00377AD0 7C 85 22 14 */ add r4, r5, r4
/* 8037AB74 00377AD4 54 7D 06 2C */ rlwinm r29, r3, 0, 0x18, 0x16
/* 8037AB78 00377AD8 41 82 00 10 */ beq lbl_8037AB88
/* 8037AB7C 00377ADC 80 04 00 00 */ lwz r0, 0(r4)
/* 8037AB80 00377AE0 54 1C 8F 7E */ rlwinm r28, r0, 0x11, 0x1d, 0x1f
/* 8037AB84 00377AE4 48 00 00 0C */ b lbl_8037AB90
lbl_8037AB88:
/* 8037AB88 00377AE8 80 04 00 00 */ lwz r0, 0(r4)
/* 8037AB8C 00377AEC 54 1C EF 7E */ rlwinm r28, r0, 0x1d, 0x1d, 0x1f
lbl_8037AB90:
/* 8037AB90 00377AF0 28 1D 00 FF */ cmplwi r29, 0xff
/* 8037AB94 00377AF4 41 82 00 34 */ beq lbl_8037ABC8
/* 8037AB98 00377AF8 38 80 00 01 */ li r4, 1
/* 8037AB9C 00377AFC 80 65 04 DC */ lwz r3, 0x4dc(r5)
/* 8037ABA0 00377B00 7C 80 E0 30 */ slw r0, r4, r28
/* 8037ABA4 00377B04 7C 60 00 39 */ and. r0, r3, r0
/* 8037ABA8 00377B08 40 82 00 20 */ bne lbl_8037ABC8
/* 8037ABAC 00377B0C 80 65 04 E0 */ lwz r3, 0x4e0(r5)
/* 8037ABB0 00377B10 7C 80 F8 30 */ slw r0, r4, r31
/* 8037ABB4 00377B14 7C 60 00 39 */ and. r0, r3, r0
/* 8037ABB8 00377B18 41 82 00 10 */ beq lbl_8037ABC8
/* 8037ABBC 00377B1C 38 7D 00 00 */ addi r3, r29, 0
/* 8037ABC0 00377B20 38 9C 00 00 */ addi r4, r28, 0
/* 8037ABC4 00377B24 4B FF FD F5 */ bl __SetSURegs
lbl_8037ABC8:
/* 8037ABC8 00377B28 3B 7B 00 04 */ addi r27, r27, 4
/* 8037ABCC 00377B2C 3B FF 00 01 */ addi r31, r31, 1
lbl_8037ABD0:
/* 8037ABD0 00377B30 7C 1F F0 40 */ cmplw r31, r30
/* 8037ABD4 00377B34 41 80 FF 84 */ blt lbl_8037AB58
lbl_8037ABD8:
/* 8037ABD8 00377B38 BB 61 00 14 */ lmw r27, 0x14(r1)
/* 8037ABDC 00377B3C 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8037ABE0 00377B40 38 21 00 28 */ addi r1, r1, 0x28
/* 8037ABE4 00377B44 7C 08 03 A6 */ mtlr r0
/* 8037ABE8 00377B48 4E 80 00 20 */ blr
.global __GXSetTmemConfig
__GXSetTmemConfig:
/* 8037ABEC 00377B4C 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 8037ABF0 00377B50 2C 03 00 01 */ cmpwi r3, 1
/* 8037ABF4 00377B54 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8037ABF8 00377B58 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8037ABFC 00377B5C 41 82 00 0C */ beq lbl_8037AC08
/* 8037AC00 00377B60 40 80 01 14 */ bge lbl_8037AD14
/* 8037AC04 00377B64 48 00 01 10 */ b lbl_8037AD14
lbl_8037AC08:
/* 8037AC08 00377B68 38 00 00 61 */ li r0, 0x61
/* 8037AC0C 00377B6C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037AC10 00377B70 3C 80 8C 0E */ lis r4, 0x8C0D8000@ha
/* 8037AC14 00377B74 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AC18 00377B78 38 84 80 00 */ addi r4, r4, 0x8C0D8000@l
/* 8037AC1C 00377B7C 90 83 80 00 */ stw r4, 0xCC008000@l(r3)
/* 8037AC20 00377B80 3C 80 90 0E */ lis r4, 0x900DC000@ha
/* 8037AC24 00377B84 3C E0 8D 0E */ lis r7, 0x8D0D8800@ha
/* 8037AC28 00377B88 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AC2C 00377B8C 38 84 C0 00 */ addi r4, r4, 0x900DC000@l
/* 8037AC30 00377B90 3C C0 91 0E */ lis r6, 0x910DC800@ha
/* 8037AC34 00377B94 90 83 80 00 */ stw r4, 0xCC008000@l(r3)
/* 8037AC38 00377B98 3C A0 8E 0E */ lis r5, 0x8E0D9000@ha
/* 8037AC3C 00377B9C 3C 80 92 0E */ lis r4, 0x920DD000@ha
/* 8037AC40 00377BA0 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AC44 00377BA4 38 E7 88 00 */ addi r7, r7, 0x8D0D8800@l
/* 8037AC48 00377BA8 3F C0 8F 0E */ lis r30, 0x8F0D9800@ha
/* 8037AC4C 00377BAC 90 E3 80 00 */ stw r7, 0xCC008000@l(r3)
/* 8037AC50 00377BB0 3D 80 93 0E */ lis r12, 0x930DD800@ha
/* 8037AC54 00377BB4 3D 60 AC 0E */ lis r11, 0xAC0DA000@ha
/* 8037AC58 00377BB8 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AC5C 00377BBC 38 C6 C8 00 */ addi r6, r6, 0x910DC800@l
/* 8037AC60 00377BC0 3D 40 B0 0E */ lis r10, 0xB00DE000@ha
/* 8037AC64 00377BC4 90 C3 80 00 */ stw r6, 0xCC008000@l(r3)
/* 8037AC68 00377BC8 3D 20 AD 0E */ lis r9, 0xAD0DA800@ha
/* 8037AC6C 00377BCC 3D 00 B1 0E */ lis r8, 0xB10DE800@ha
/* 8037AC70 00377BD0 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AC74 00377BD4 38 A5 90 00 */ addi r5, r5, 0x8E0D9000@l
/* 8037AC78 00377BD8 3C E0 AE 0E */ lis r7, 0xAE0DB000@ha
/* 8037AC7C 00377BDC 90 A3 80 00 */ stw r5, 0xCC008000@l(r3)
/* 8037AC80 00377BE0 3C C0 B2 0E */ lis r6, 0xB20DF000@ha
/* 8037AC84 00377BE4 3C A0 AF 0E */ lis r5, 0xAF0DB800@ha
/* 8037AC88 00377BE8 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AC8C 00377BEC 3B E4 D0 00 */ addi r31, r4, 0x920DD000@l
/* 8037AC90 00377BF0 3C 80 B3 0E */ lis r4, 0xB30DF800@ha
/* 8037AC94 00377BF4 93 E3 80 00 */ stw r31, 0xCC008000@l(r3)
/* 8037AC98 00377BF8 3B DE 98 00 */ addi r30, r30, 0x8F0D9800@l
/* 8037AC9C 00377BFC 39 8C D8 00 */ addi r12, r12, 0x930DD800@l
/* 8037ACA0 00377C00 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037ACA4 00377C04 39 6B A0 00 */ addi r11, r11, 0xAC0DA000@l
/* 8037ACA8 00377C08 39 4A E0 00 */ addi r10, r10, 0xB00DE000@l
/* 8037ACAC 00377C0C 93 C3 80 00 */ stw r30, 0xCC008000@l(r3)
/* 8037ACB0 00377C10 39 29 A8 00 */ addi r9, r9, 0xAD0DA800@l
/* 8037ACB4 00377C14 39 08 E8 00 */ addi r8, r8, 0xB10DE800@l
/* 8037ACB8 00377C18 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037ACBC 00377C1C 38 E7 B0 00 */ addi r7, r7, 0xAE0DB000@l
/* 8037ACC0 00377C20 38 C6 F0 00 */ addi r6, r6, 0xB20DF000@l
/* 8037ACC4 00377C24 91 83 80 00 */ stw r12, 0xCC008000@l(r3)
/* 8037ACC8 00377C28 38 A5 B8 00 */ addi r5, r5, 0xAF0DB800@l
/* 8037ACCC 00377C2C 38 84 F8 00 */ addi r4, r4, 0xB30DF800@l
/* 8037ACD0 00377C30 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037ACD4 00377C34 91 63 80 00 */ stw r11, 0xCC008000@l(r3)
/* 8037ACD8 00377C38 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037ACDC 00377C3C 91 43 80 00 */ stw r10, 0xCC008000@l(r3)
/* 8037ACE0 00377C40 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037ACE4 00377C44 91 23 80 00 */ stw r9, 0xCC008000@l(r3)
/* 8037ACE8 00377C48 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037ACEC 00377C4C 91 03 80 00 */ stw r8, 0xCC008000@l(r3)
/* 8037ACF0 00377C50 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037ACF4 00377C54 90 E3 80 00 */ stw r7, 0xCC008000@l(r3)
/* 8037ACF8 00377C58 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037ACFC 00377C5C 90 C3 80 00 */ stw r6, 0xCC008000@l(r3)
/* 8037AD00 00377C60 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AD04 00377C64 90 A3 80 00 */ stw r5, 0xCC008000@l(r3)
/* 8037AD08 00377C68 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AD0C 00377C6C 90 83 80 00 */ stw r4, 0xCC008000@l(r3)
/* 8037AD10 00377C70 48 00 01 0C */ b lbl_8037AE1C
lbl_8037AD14:
/* 8037AD14 00377C74 38 00 00 61 */ li r0, 0x61
/* 8037AD18 00377C78 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 8037AD1C 00377C7C 3C 80 8C 0E */ lis r4, 0x8C0D8000@ha
/* 8037AD20 00377C80 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AD24 00377C84 38 84 80 00 */ addi r4, r4, 0x8C0D8000@l
/* 8037AD28 00377C88 90 83 80 00 */ stw r4, 0xCC008000@l(r3)
/* 8037AD2C 00377C8C 3C 80 90 0E */ lis r4, 0x900DC000@ha
/* 8037AD30 00377C90 3C E0 8D 0E */ lis r7, 0x8D0D8400@ha
/* 8037AD34 00377C94 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AD38 00377C98 38 84 C0 00 */ addi r4, r4, 0x900DC000@l
/* 8037AD3C 00377C9C 3C C0 91 0E */ lis r6, 0x910DC400@ha
/* 8037AD40 00377CA0 90 83 80 00 */ stw r4, 0xCC008000@l(r3)
/* 8037AD44 00377CA4 3C A0 8E 0E */ lis r5, 0x8E0D8800@ha
/* 8037AD48 00377CA8 3C 80 92 0E */ lis r4, 0x920DC800@ha
/* 8037AD4C 00377CAC 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AD50 00377CB0 38 E7 84 00 */ addi r7, r7, 0x8D0D8400@l
/* 8037AD54 00377CB4 3F E0 8F 0E */ lis r31, 0x8F0D8C00@ha
/* 8037AD58 00377CB8 90 E3 80 00 */ stw r7, 0xCC008000@l(r3)
/* 8037AD5C 00377CBC 3D 80 93 0E */ lis r12, 0x930DCC00@ha
/* 8037AD60 00377CC0 3D 60 AC 0E */ lis r11, 0xAC0D9000@ha
/* 8037AD64 00377CC4 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AD68 00377CC8 38 C6 C4 00 */ addi r6, r6, 0x910DC400@l
/* 8037AD6C 00377CCC 3D 40 B0 0E */ lis r10, 0xB00DD000@ha
/* 8037AD70 00377CD0 90 C3 80 00 */ stw r6, 0xCC008000@l(r3)
/* 8037AD74 00377CD4 3D 20 AD 0E */ lis r9, 0xAD0D9400@ha
/* 8037AD78 00377CD8 3D 00 B1 0E */ lis r8, 0xB10DD400@ha
/* 8037AD7C 00377CDC 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AD80 00377CE0 38 A5 88 00 */ addi r5, r5, 0x8E0D8800@l
/* 8037AD84 00377CE4 3C E0 AE 0E */ lis r7, 0xAE0D9800@ha
/* 8037AD88 00377CE8 90 A3 80 00 */ stw r5, 0xCC008000@l(r3)
/* 8037AD8C 00377CEC 3C C0 B2 0E */ lis r6, 0xB20DD800@ha
/* 8037AD90 00377CF0 3C A0 AF 0E */ lis r5, 0xAF0D9C00@ha
/* 8037AD94 00377CF4 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AD98 00377CF8 3B C4 C8 00 */ addi r30, r4, 0x920DC800@l
/* 8037AD9C 00377CFC 3C 80 B3 0E */ lis r4, 0xB30DDC00@ha
/* 8037ADA0 00377D00 93 C3 80 00 */ stw r30, 0xCC008000@l(r3)
/* 8037ADA4 00377D04 3B FF 8C 00 */ addi r31, r31, 0x8F0D8C00@l
/* 8037ADA8 00377D08 39 8C CC 00 */ addi r12, r12, 0x930DCC00@l
/* 8037ADAC 00377D0C 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037ADB0 00377D10 39 6B 90 00 */ addi r11, r11, 0xAC0D9000@l
/* 8037ADB4 00377D14 39 4A D0 00 */ addi r10, r10, 0xB00DD000@l
/* 8037ADB8 00377D18 93 E3 80 00 */ stw r31, 0xCC008000@l(r3)
/* 8037ADBC 00377D1C 39 29 94 00 */ addi r9, r9, 0xAD0D9400@l
/* 8037ADC0 00377D20 39 08 D4 00 */ addi r8, r8, 0xB10DD400@l
/* 8037ADC4 00377D24 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037ADC8 00377D28 38 E7 98 00 */ addi r7, r7, 0xAE0D9800@l
/* 8037ADCC 00377D2C 38 C6 D8 00 */ addi r6, r6, 0xB20DD800@l
/* 8037ADD0 00377D30 91 83 80 00 */ stw r12, 0xCC008000@l(r3)
/* 8037ADD4 00377D34 38 A5 9C 00 */ addi r5, r5, 0xAF0D9C00@l
/* 8037ADD8 00377D38 38 84 DC 00 */ addi r4, r4, 0xB30DDC00@l
/* 8037ADDC 00377D3C 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037ADE0 00377D40 91 63 80 00 */ stw r11, 0xCC008000@l(r3)
/* 8037ADE4 00377D44 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037ADE8 00377D48 91 43 80 00 */ stw r10, 0xCC008000@l(r3)
/* 8037ADEC 00377D4C 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037ADF0 00377D50 91 23 80 00 */ stw r9, 0xCC008000@l(r3)
/* 8037ADF4 00377D54 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037ADF8 00377D58 91 03 80 00 */ stw r8, 0xCC008000@l(r3)
/* 8037ADFC 00377D5C 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AE00 00377D60 90 E3 80 00 */ stw r7, 0xCC008000@l(r3)
/* 8037AE04 00377D64 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AE08 00377D68 90 C3 80 00 */ stw r6, 0xCC008000@l(r3)
/* 8037AE0C 00377D6C 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AE10 00377D70 90 A3 80 00 */ stw r5, 0xCC008000@l(r3)
/* 8037AE14 00377D74 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 8037AE18 00377D78 90 83 80 00 */ stw r4, 0xCC008000@l(r3)
lbl_8037AE1C:
/* 8037AE1C 00377D7C 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8037AE20 00377D80 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8037AE24 00377D84 38 21 00 18 */ addi r1, r1, 0x18
/* 8037AE28 00377D88 4E 80 00 20 */ blr