.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global GXSetDispCopySrc GXSetDispCopySrc: /* 8028146C 0027D0CC 38 E0 00 00 */ li r7, 0 /* 80281470 0027D0D0 38 05 FF FF */ addi r0, r5, -1 /* 80281474 0027D0D4 50 67 05 BE */ rlwimi r7, r3, 0, 0x16, 0x1f /* 80281478 0027D0D8 38 60 00 00 */ li r3, 0 /* 8028147C 0027D0DC 50 87 53 2A */ rlwimi r7, r4, 0xa, 0xc, 0x15 /* 80281480 0027D0E0 38 80 00 49 */ li r4, 0x49 /* 80281484 0027D0E4 50 03 05 BE */ rlwimi r3, r0, 0, 0x16, 0x1f /* 80281488 0027D0E8 38 06 FF FF */ addi r0, r6, -1 /* 8028148C 0027D0EC 50 03 53 2A */ rlwimi r3, r0, 0xa, 0xc, 0x15 /* 80281490 0027D0F0 80 A2 A0 D0 */ lwz r5, lbl_806426D0-_SDA2_BASE_(r2) /* 80281494 0027D0F4 50 87 C0 0E */ rlwimi r7, r4, 0x18, 0, 7 /* 80281498 0027D0F8 38 00 00 4A */ li r0, 0x4a /* 8028149C 0027D0FC 90 E5 02 30 */ stw r7, 0x230(r5) /* 802814A0 0027D100 50 03 C0 0E */ rlwimi r3, r0, 0x18, 0, 7 /* 802814A4 0027D104 90 65 02 34 */ stw r3, 0x234(r5) /* 802814A8 0027D108 4E 80 00 20 */ blr .global GXSetTexCopySrc GXSetTexCopySrc: /* 802814AC 0027D10C 38 E0 00 00 */ li r7, 0 /* 802814B0 0027D110 38 05 FF FF */ addi r0, r5, -1 /* 802814B4 0027D114 50 67 05 BE */ rlwimi r7, r3, 0, 0x16, 0x1f /* 802814B8 0027D118 38 60 00 00 */ li r3, 0 /* 802814BC 0027D11C 50 87 53 2A */ rlwimi r7, r4, 0xa, 0xc, 0x15 /* 802814C0 0027D120 38 80 00 49 */ li r4, 0x49 /* 802814C4 0027D124 50 03 05 BE */ rlwimi r3, r0, 0, 0x16, 0x1f /* 802814C8 0027D128 38 06 FF FF */ addi r0, r6, -1 /* 802814CC 0027D12C 50 03 53 2A */ rlwimi r3, r0, 0xa, 0xc, 0x15 /* 802814D0 0027D130 80 A2 A0 D0 */ lwz r5, lbl_806426D0-_SDA2_BASE_(r2) /* 802814D4 0027D134 50 87 C0 0E */ rlwimi r7, r4, 0x18, 0, 7 /* 802814D8 0027D138 38 00 00 4A */ li r0, 0x4a /* 802814DC 0027D13C 90 E5 02 40 */ stw r7, 0x240(r5) /* 802814E0 0027D140 50 03 C0 0E */ rlwimi r3, r0, 0x18, 0, 7 /* 802814E4 0027D144 90 65 02 44 */ stw r3, 0x244(r5) /* 802814E8 0027D148 4E 80 00 20 */ blr .global GXSetDispCopyDst GXSetDispCopyDst: /* 802814EC 0027D14C 54 60 0C 3C */ rlwinm r0, r3, 1, 0x10, 0x1e /* 802814F0 0027D150 80 82 A0 D0 */ lwz r4, lbl_806426D0-_SDA2_BASE_(r2) /* 802814F4 0027D154 7C 00 2E 70 */ srawi r0, r0, 5 /* 802814F8 0027D158 38 60 00 00 */ li r3, 0 /* 802814FC 0027D15C 50 03 05 BE */ rlwimi r3, r0, 0, 0x16, 0x1f /* 80281500 0027D160 38 00 00 4D */ li r0, 0x4d /* 80281504 0027D164 50 03 C0 0E */ rlwimi r3, r0, 0x18, 0, 7 /* 80281508 0027D168 90 64 02 38 */ stw r3, 0x238(r4) /* 8028150C 0027D16C 4E 80 00 20 */ blr .global GXSetTexCopyDst GXSetTexCopyDst: /* 80281510 0027D170 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80281514 0027D174 7C 08 02 A6 */ mflr r0 /* 80281518 0027D178 80 E2 A0 D0 */ lwz r7, lbl_806426D0-_SDA2_BASE_(r2) /* 8028151C 0027D17C 2C 05 00 13 */ cmpwi r5, 0x13 /* 80281520 0027D180 90 01 00 34 */ stw r0, 0x34(r1) /* 80281524 0027D184 38 00 00 00 */ li r0, 0 /* 80281528 0027D188 7C 69 1B 78 */ mr r9, r3 /* 8028152C 0027D18C 7C 88 23 78 */ mr r8, r4 /* 80281530 0027D190 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80281534 0027D194 54 BF 07 3E */ clrlwi r31, r5, 0x1c /* 80281538 0027D198 93 C1 00 28 */ stw r30, 0x28(r1) /* 8028153C 0027D19C 7C DE 33 78 */ mr r30, r6 /* 80281540 0027D1A0 93 A1 00 24 */ stw r29, 0x24(r1) /* 80281544 0027D1A4 93 81 00 20 */ stw r28, 0x20(r1) /* 80281548 0027D1A8 98 07 02 50 */ stb r0, 0x250(r7) /* 8028154C 0027D1AC 40 82 00 08 */ bne lbl_80281554 /* 80281550 0027D1B0 3B E0 00 0B */ li r31, 0xb lbl_80281554: /* 80281554 0027D1B4 2C 05 00 26 */ cmpwi r5, 0x26 /* 80281558 0027D1B8 41 82 00 1C */ beq lbl_80281574 /* 8028155C 0027D1BC 40 80 00 30 */ bge lbl_8028158C /* 80281560 0027D1C0 2C 05 00 04 */ cmpwi r5, 4 /* 80281564 0027D1C4 40 80 00 28 */ bge lbl_8028158C /* 80281568 0027D1C8 2C 05 00 00 */ cmpwi r5, 0 /* 8028156C 0027D1CC 40 80 00 08 */ bge lbl_80281574 /* 80281570 0027D1D0 48 00 00 1C */ b lbl_8028158C lbl_80281574: /* 80281574 0027D1D4 38 00 00 03 */ li r0, 3 /* 80281578 0027D1D8 80 67 02 4C */ lwz r3, 0x24c(r7) /* 8028157C 0027D1DC 50 03 7B E0 */ rlwimi r3, r0, 0xf, 0xf, 0x10 /* 80281580 0027D1E0 3B A7 02 4C */ addi r29, r7, 0x24c /* 80281584 0027D1E4 90 67 02 4C */ stw r3, 0x24c(r7) /* 80281588 0027D1E8 48 00 00 18 */ b lbl_802815A0 lbl_8028158C: /* 8028158C 0027D1EC 38 00 00 02 */ li r0, 2 /* 80281590 0027D1F0 80 67 02 4C */ lwz r3, 0x24c(r7) /* 80281594 0027D1F4 50 03 7B E0 */ rlwimi r3, r0, 0xf, 0xf, 0x10 /* 80281598 0027D1F8 3B A7 02 4C */ addi r29, r7, 0x24c /* 8028159C 0027D1FC 90 67 02 4C */ stw r3, 0x24c(r7) lbl_802815A0: /* 802815A0 0027D200 54 A0 E7 FE */ rlwinm r0, r5, 0x1c, 0x1f, 0x1f /* 802815A4 0027D204 7C A3 2B 78 */ mr r3, r5 /* 802815A8 0027D208 98 07 02 50 */ stb r0, 0x250(r7) /* 802815AC 0027D20C 7D 05 43 78 */ mr r5, r8 /* 802815B0 0027D210 83 82 A0 D0 */ lwz r28, lbl_806426D0-_SDA2_BASE_(r2) /* 802815B4 0027D214 7D 24 4B 78 */ mr r4, r9 /* 802815B8 0027D218 80 1D 00 00 */ lwz r0, 0(r29) /* 802815BC 0027D21C 53 E0 07 38 */ rlwimi r0, r31, 0, 0x1c, 0x1c /* 802815C0 0027D220 38 C1 00 10 */ addi r6, r1, 0x10 /* 802815C4 0027D224 38 E1 00 0C */ addi r7, r1, 0xc /* 802815C8 0027D228 90 1D 00 00 */ stw r0, 0(r29) /* 802815CC 0027D22C 39 01 00 08 */ addi r8, r1, 8 /* 802815D0 0027D230 48 00 10 41 */ bl __GetImageTileCount /* 802815D4 0027D234 38 00 00 00 */ li r0, 0 /* 802815D8 0027D238 38 60 00 00 */ li r3, 0 /* 802815DC 0027D23C 90 1C 02 48 */ stw r0, 0x248(r28) /* 802815E0 0027D240 38 00 00 4D */ li r0, 0x4d /* 802815E4 0027D244 80 A1 00 10 */ lwz r5, 0x10(r1) /* 802815E8 0027D248 80 81 00 08 */ lwz r4, 8(r1) /* 802815EC 0027D24C 7C 85 21 D6 */ mullw r4, r5, r4 /* 802815F0 0027D250 50 83 05 BE */ rlwimi r3, r4, 0, 0x16, 0x1f /* 802815F4 0027D254 50 03 C0 0E */ rlwimi r3, r0, 0x18, 0, 7 /* 802815F8 0027D258 90 7C 02 48 */ stw r3, 0x248(r28) /* 802815FC 0027D25C 80 1D 00 00 */ lwz r0, 0(r29) /* 80281600 0027D260 53 C0 4D AC */ rlwimi r0, r30, 9, 0x16, 0x16 /* 80281604 0027D264 53 E0 26 76 */ rlwimi r0, r31, 4, 0x19, 0x1b /* 80281608 0027D268 90 1D 00 00 */ stw r0, 0(r29) /* 8028160C 0027D26C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80281610 0027D270 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80281614 0027D274 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80281618 0027D278 83 81 00 20 */ lwz r28, 0x20(r1) /* 8028161C 0027D27C 80 01 00 34 */ lwz r0, 0x34(r1) /* 80281620 0027D280 7C 08 03 A6 */ mtlr r0 /* 80281624 0027D284 38 21 00 30 */ addi r1, r1, 0x30 /* 80281628 0027D288 4E 80 00 20 */ blr .global GXSetDispCopyFrame2Field GXSetDispCopyFrame2Field: /* 8028162C 0027D28C 80 82 A0 D0 */ lwz r4, lbl_806426D0-_SDA2_BASE_(r2) /* 80281630 0027D290 80 04 02 3C */ lwz r0, 0x23c(r4) /* 80281634 0027D294 50 60 64 A6 */ rlwimi r0, r3, 0xc, 0x12, 0x13 /* 80281638 0027D298 90 04 02 3C */ stw r0, 0x23c(r4) /* 8028163C 0027D29C 80 04 02 4C */ lwz r0, 0x24c(r4) /* 80281640 0027D2A0 54 00 05 22 */ rlwinm r0, r0, 0, 0x14, 0x11 /* 80281644 0027D2A4 90 04 02 4C */ stw r0, 0x24c(r4) /* 80281648 0027D2A8 4E 80 00 20 */ blr .global GXSetCopyClamp GXSetCopyClamp: /* 8028164C 0027D2AC 80 82 A0 D0 */ lwz r4, lbl_806426D0-_SDA2_BASE_(r2) /* 80281650 0027D2B0 80 04 02 3C */ lwz r0, 0x23c(r4) /* 80281654 0027D2B4 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 80281658 0027D2B8 50 60 07 BC */ rlwimi r0, r3, 0, 0x1e, 0x1e /* 8028165C 0027D2BC 90 04 02 3C */ stw r0, 0x23c(r4) /* 80281660 0027D2C0 80 04 02 4C */ lwz r0, 0x24c(r4) /* 80281664 0027D2C4 50 60 07 FE */ rlwimi r0, r3, 0, 0x1f, 0x1f /* 80281668 0027D2C8 50 60 07 BC */ rlwimi r0, r3, 0, 0x1e, 0x1e /* 8028166C 0027D2CC 90 04 02 4C */ stw r0, 0x24c(r4) /* 80281670 0027D2D0 4E 80 00 20 */ blr .global GXGetNumXfbLines GXGetNumXfbLines: /* 80281674 0027D2D4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80281678 0027D2D8 7C 08 02 A6 */ mflr r0 /* 8028167C 0027D2DC C0 02 A0 F8 */ lfs f0, lbl_806426F8-_SDA2_BASE_(r2) /* 80281680 0027D2E0 90 01 00 14 */ stw r0, 0x14(r1) /* 80281684 0027D2E4 EC 20 08 24 */ fdivs f1, f0, f1 /* 80281688 0027D2E8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8028168C 0027D2EC 7C 7F 1B 78 */ mr r31, r3 /* 80281690 0027D2F0 4B F4 59 71 */ bl __cvt_fp2unsigned /* 80281694 0027D2F4 38 1F FF FF */ addi r0, r31, -1 /* 80281698 0027D2F8 54 64 05 FE */ clrlwi r4, r3, 0x17 /* 8028169C 0027D2FC 54 00 40 2E */ slwi r0, r0, 8 /* 802816A0 0027D300 7C 60 23 96 */ divwu r3, r0, r4 /* 802816A4 0027D304 28 04 00 80 */ cmplwi r4, 0x80 /* 802816A8 0027D308 38 63 00 01 */ addi r3, r3, 1 /* 802816AC 0027D30C 40 81 00 30 */ ble lbl_802816DC /* 802816B0 0027D310 28 04 01 00 */ cmplwi r4, 0x100 /* 802816B4 0027D314 40 80 00 28 */ bge lbl_802816DC /* 802816B8 0027D318 48 00 00 08 */ b lbl_802816C0 lbl_802816BC: /* 802816BC 0027D31C 54 84 F8 7E */ srwi r4, r4, 1 lbl_802816C0: /* 802816C0 0027D320 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 802816C4 0027D324 41 82 FF F8 */ beq lbl_802816BC /* 802816C8 0027D328 7C 1F 23 96 */ divwu r0, r31, r4 /* 802816CC 0027D32C 7C 00 21 D6 */ mullw r0, r0, r4 /* 802816D0 0027D330 7C 00 F8 51 */ subf. r0, r0, r31 /* 802816D4 0027D334 40 82 00 08 */ bne lbl_802816DC /* 802816D8 0027D338 38 63 00 01 */ addi r3, r3, 1 lbl_802816DC: /* 802816DC 0027D33C 28 03 04 00 */ cmplwi r3, 0x400 /* 802816E0 0027D340 40 81 00 08 */ ble lbl_802816E8 /* 802816E4 0027D344 38 60 04 00 */ li r3, 0x400 lbl_802816E8: /* 802816E8 0027D348 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802816EC 0027D34C 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 802816F0 0027D350 80 01 00 14 */ lwz r0, 0x14(r1) /* 802816F4 0027D354 7C 08 03 A6 */ mtlr r0 /* 802816F8 0027D358 38 21 00 10 */ addi r1, r1, 0x10 /* 802816FC 0027D35C 4E 80 00 20 */ blr .global GXGetYScaleFactor GXGetYScaleFactor: /* 80281700 0027D360 94 21 FF 90 */ stwu r1, -0x70(r1) /* 80281704 0027D364 7C 08 02 A6 */ mflr r0 /* 80281708 0027D368 90 01 00 74 */ stw r0, 0x74(r1) /* 8028170C 0027D36C DB E1 00 60 */ stfd f31, 0x60(r1) /* 80281710 0027D370 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 80281714 0027D374 DB C1 00 50 */ stfd f30, 0x50(r1) /* 80281718 0027D378 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0 /* 8028171C 0027D37C DB A1 00 40 */ stfd f29, 0x40(r1) /* 80281720 0027D380 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0 /* 80281724 0027D384 DB 81 00 30 */ stfd f28, 0x30(r1) /* 80281728 0027D388 F3 81 00 38 */ psq_st f28, 56(r1), 0, qr0 /* 8028172C 0027D38C 3C 00 43 30 */ lis r0, 0x4330 /* 80281730 0027D390 C8 62 A1 00 */ lfd f3, lbl_80642700-_SDA2_BASE_(r2) /* 80281734 0027D394 90 01 00 08 */ stw r0, 8(r1) /* 80281738 0027D398 C0 02 A0 F8 */ lfs f0, lbl_806426F8-_SDA2_BASE_(r2) /* 8028173C 0027D39C 90 81 00 0C */ stw r4, 0xc(r1) /* 80281740 0027D3A0 C8 21 00 08 */ lfd f1, 8(r1) /* 80281744 0027D3A4 90 01 00 10 */ stw r0, 0x10(r1) /* 80281748 0027D3A8 EC 41 18 28 */ fsubs f2, f1, f3 /* 8028174C 0027D3AC 90 61 00 14 */ stw r3, 0x14(r1) /* 80281750 0027D3B0 C8 21 00 10 */ lfd f1, 0x10(r1) /* 80281754 0027D3B4 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80281758 0027D3B8 EC 21 18 28 */ fsubs f1, f1, f3 /* 8028175C 0027D3BC 93 C1 00 28 */ stw r30, 0x28(r1) /* 80281760 0027D3C0 EF 82 08 24 */ fdivs f28, f2, f1 /* 80281764 0027D3C4 93 A1 00 24 */ stw r29, 0x24(r1) /* 80281768 0027D3C8 7C 9D 23 78 */ mr r29, r4 /* 8028176C 0027D3CC 93 81 00 20 */ stw r28, 0x20(r1) /* 80281770 0027D3D0 7C 7C 1B 78 */ mr r28, r3 /* 80281774 0027D3D4 7F BE EB 78 */ mr r30, r29 /* 80281778 0027D3D8 EC 20 E0 24 */ fdivs f1, f0, f28 /* 8028177C 0027D3DC 4B F4 58 85 */ bl __cvt_fp2unsigned /* 80281780 0027D3E0 38 1C FF FF */ addi r0, r28, -1 /* 80281784 0027D3E4 54 64 05 FE */ clrlwi r4, r3, 0x17 /* 80281788 0027D3E8 54 1F 40 2E */ slwi r31, r0, 8 /* 8028178C 0027D3EC 7C 7F 23 96 */ divwu r3, r31, r4 /* 80281790 0027D3F0 28 04 00 80 */ cmplwi r4, 0x80 /* 80281794 0027D3F4 38 63 00 01 */ addi r3, r3, 1 /* 80281798 0027D3F8 40 81 00 30 */ ble lbl_802817C8 /* 8028179C 0027D3FC 28 04 01 00 */ cmplwi r4, 0x100 /* 802817A0 0027D400 40 80 00 28 */ bge lbl_802817C8 /* 802817A4 0027D404 48 00 00 08 */ b lbl_802817AC lbl_802817A8: /* 802817A8 0027D408 54 84 F8 7E */ srwi r4, r4, 1 lbl_802817AC: /* 802817AC 0027D40C 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 802817B0 0027D410 41 82 FF F8 */ beq lbl_802817A8 /* 802817B4 0027D414 7C 1C 23 96 */ divwu r0, r28, r4 /* 802817B8 0027D418 7C 00 21 D6 */ mullw r0, r0, r4 /* 802817BC 0027D41C 7C 00 E0 51 */ subf. r0, r0, r28 /* 802817C0 0027D420 40 82 00 08 */ bne lbl_802817C8 /* 802817C4 0027D424 38 63 00 01 */ addi r3, r3, 1 lbl_802817C8: /* 802817C8 0027D428 28 03 04 00 */ cmplwi r3, 0x400 /* 802817CC 0027D42C 40 81 00 08 */ ble lbl_802817D4 /* 802817D0 0027D430 38 60 04 00 */ li r3, 0x400 lbl_802817D4: /* 802817D4 0027D434 CB E2 A1 00 */ lfd f31, lbl_80642700-_SDA2_BASE_(r2) /* 802817D8 0027D438 C3 C2 A0 F8 */ lfs f30, lbl_806426F8-_SDA2_BASE_(r2) /* 802817DC 0027D43C 48 00 00 78 */ b lbl_80281854 lbl_802817E0: /* 802817E0 0027D440 3B DE FF FF */ addi r30, r30, -1 /* 802817E4 0027D444 93 81 00 14 */ stw r28, 0x14(r1) /* 802817E8 0027D448 93 C1 00 0C */ stw r30, 0xc(r1) /* 802817EC 0027D44C C8 01 00 10 */ lfd f0, 0x10(r1) /* 802817F0 0027D450 C8 21 00 08 */ lfd f1, 8(r1) /* 802817F4 0027D454 EC 00 F8 28 */ fsubs f0, f0, f31 /* 802817F8 0027D458 EC 21 F8 28 */ fsubs f1, f1, f31 /* 802817FC 0027D45C EF 81 00 24 */ fdivs f28, f1, f0 /* 80281800 0027D460 EC 3E E0 24 */ fdivs f1, f30, f28 /* 80281804 0027D464 4B F4 57 FD */ bl __cvt_fp2unsigned /* 80281808 0027D468 54 64 05 FE */ clrlwi r4, r3, 0x17 /* 8028180C 0027D46C 7C 7F 23 96 */ divwu r3, r31, r4 /* 80281810 0027D470 28 04 00 80 */ cmplwi r4, 0x80 /* 80281814 0027D474 38 63 00 01 */ addi r3, r3, 1 /* 80281818 0027D478 40 81 00 30 */ ble lbl_80281848 /* 8028181C 0027D47C 28 04 01 00 */ cmplwi r4, 0x100 /* 80281820 0027D480 40 80 00 28 */ bge lbl_80281848 /* 80281824 0027D484 48 00 00 08 */ b lbl_8028182C lbl_80281828: /* 80281828 0027D488 54 84 F8 7E */ srwi r4, r4, 1 lbl_8028182C: /* 8028182C 0027D48C 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 80281830 0027D490 41 82 FF F8 */ beq lbl_80281828 /* 80281834 0027D494 7C 1C 23 96 */ divwu r0, r28, r4 /* 80281838 0027D498 7C 00 21 D6 */ mullw r0, r0, r4 /* 8028183C 0027D49C 7C 00 E0 51 */ subf. r0, r0, r28 /* 80281840 0027D4A0 40 82 00 08 */ bne lbl_80281848 /* 80281844 0027D4A4 38 63 00 01 */ addi r3, r3, 1 lbl_80281848: /* 80281848 0027D4A8 28 03 04 00 */ cmplwi r3, 0x400 /* 8028184C 0027D4AC 40 81 00 08 */ ble lbl_80281854 /* 80281850 0027D4B0 38 60 04 00 */ li r3, 0x400 lbl_80281854: /* 80281854 0027D4B4 7C 03 E8 40 */ cmplw r3, r29 /* 80281858 0027D4B8 41 81 FF 88 */ bgt lbl_802817E0 /* 8028185C 0027D4BC FF A0 E0 90 */ fmr f29, f28 /* 80281860 0027D4C0 CB C2 A1 00 */ lfd f30, lbl_80642700-_SDA2_BASE_(r2) /* 80281864 0027D4C4 C3 E2 A0 F8 */ lfs f31, lbl_806426F8-_SDA2_BASE_(r2) /* 80281868 0027D4C8 48 00 00 7C */ b lbl_802818E4 lbl_8028186C: /* 8028186C 0027D4CC 3B DE 00 01 */ addi r30, r30, 1 /* 80281870 0027D4D0 93 81 00 14 */ stw r28, 0x14(r1) /* 80281874 0027D4D4 FF A0 E0 90 */ fmr f29, f28 /* 80281878 0027D4D8 93 C1 00 0C */ stw r30, 0xc(r1) /* 8028187C 0027D4DC C8 01 00 10 */ lfd f0, 0x10(r1) /* 80281880 0027D4E0 C8 21 00 08 */ lfd f1, 8(r1) /* 80281884 0027D4E4 EC 00 F0 28 */ fsubs f0, f0, f30 /* 80281888 0027D4E8 EC 21 F0 28 */ fsubs f1, f1, f30 /* 8028188C 0027D4EC EF 81 00 24 */ fdivs f28, f1, f0 /* 80281890 0027D4F0 EC 3F E0 24 */ fdivs f1, f31, f28 /* 80281894 0027D4F4 4B F4 57 6D */ bl __cvt_fp2unsigned /* 80281898 0027D4F8 54 64 05 FE */ clrlwi r4, r3, 0x17 /* 8028189C 0027D4FC 7C 7F 23 96 */ divwu r3, r31, r4 /* 802818A0 0027D500 28 04 00 80 */ cmplwi r4, 0x80 /* 802818A4 0027D504 38 63 00 01 */ addi r3, r3, 1 /* 802818A8 0027D508 40 81 00 30 */ ble lbl_802818D8 /* 802818AC 0027D50C 28 04 01 00 */ cmplwi r4, 0x100 /* 802818B0 0027D510 40 80 00 28 */ bge lbl_802818D8 /* 802818B4 0027D514 48 00 00 08 */ b lbl_802818BC lbl_802818B8: /* 802818B8 0027D518 54 84 F8 7E */ srwi r4, r4, 1 lbl_802818BC: /* 802818BC 0027D51C 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 802818C0 0027D520 41 82 FF F8 */ beq lbl_802818B8 /* 802818C4 0027D524 7C 1C 23 96 */ divwu r0, r28, r4 /* 802818C8 0027D528 7C 00 21 D6 */ mullw r0, r0, r4 /* 802818CC 0027D52C 7C 00 E0 51 */ subf. r0, r0, r28 /* 802818D0 0027D530 40 82 00 08 */ bne lbl_802818D8 /* 802818D4 0027D534 38 63 00 01 */ addi r3, r3, 1 lbl_802818D8: /* 802818D8 0027D538 28 03 04 00 */ cmplwi r3, 0x400 /* 802818DC 0027D53C 40 81 00 08 */ ble lbl_802818E4 /* 802818E0 0027D540 38 60 04 00 */ li r3, 0x400 lbl_802818E4: /* 802818E4 0027D544 7C 03 E8 40 */ cmplw r3, r29 /* 802818E8 0027D548 41 80 FF 84 */ blt lbl_8028186C /* 802818EC 0027D54C FC 20 E8 90 */ fmr f1, f29 /* 802818F0 0027D550 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 802818F4 0027D554 CB E1 00 60 */ lfd f31, 0x60(r1) /* 802818F8 0027D558 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0 /* 802818FC 0027D55C CB C1 00 50 */ lfd f30, 0x50(r1) /* 80281900 0027D560 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0 /* 80281904 0027D564 CB A1 00 40 */ lfd f29, 0x40(r1) /* 80281908 0027D568 E3 81 00 38 */ psq_l f28, 56(r1), 0, qr0 /* 8028190C 0027D56C CB 81 00 30 */ lfd f28, 0x30(r1) /* 80281910 0027D570 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80281914 0027D574 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80281918 0027D578 83 A1 00 24 */ lwz r29, 0x24(r1) /* 8028191C 0027D57C 83 81 00 20 */ lwz r28, 0x20(r1) /* 80281920 0027D580 80 01 00 74 */ lwz r0, 0x74(r1) /* 80281924 0027D584 7C 08 03 A6 */ mtlr r0 /* 80281928 0027D588 38 21 00 70 */ addi r1, r1, 0x70 /* 8028192C 0027D58C 4E 80 00 20 */ blr .global GXSetDispCopyYScale GXSetDispCopyYScale: /* 80281930 0027D590 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80281934 0027D594 7C 08 02 A6 */ mflr r0 /* 80281938 0027D598 C0 02 A0 F8 */ lfs f0, lbl_806426F8-_SDA2_BASE_(r2) /* 8028193C 0027D59C 90 01 00 14 */ stw r0, 0x14(r1) /* 80281940 0027D5A0 EC 20 08 24 */ fdivs f1, f0, f1 /* 80281944 0027D5A4 4B F4 56 BD */ bl __cvt_fp2unsigned /* 80281948 0027D5A8 3C 80 CC 01 */ lis r4, 0xCC008000@ha /* 8028194C 0027D5AC 38 00 00 61 */ li r0, 0x61 /* 80281950 0027D5B0 98 04 80 00 */ stb r0, 0xCC008000@l(r4) /* 80281954 0027D5B4 38 00 00 4E */ li r0, 0x4e /* 80281958 0027D5B8 38 A0 00 00 */ li r5, 0 /* 8028195C 0027D5BC 54 67 05 FE */ clrlwi r7, r3, 0x17 /* 80281960 0027D5C0 50 65 05 FE */ rlwimi r5, r3, 0, 0x17, 0x1f /* 80281964 0027D5C4 80 C2 A0 D0 */ lwz r6, lbl_806426D0-_SDA2_BASE_(r2) /* 80281968 0027D5C8 50 05 C0 0E */ rlwimi r5, r0, 0x18, 0, 7 /* 8028196C 0027D5CC 38 00 00 00 */ li r0, 0 /* 80281970 0027D5D0 90 A4 80 00 */ stw r5, -0x8000(r4) /* 80281974 0027D5D4 20 67 01 00 */ subfic r3, r7, 0x100 /* 80281978 0027D5D8 28 07 00 80 */ cmplwi r7, 0x80 /* 8028197C 0027D5DC B0 06 00 02 */ sth r0, 2(r6) /* 80281980 0027D5E0 38 07 FF 00 */ addi r0, r7, -256 /* 80281984 0027D5E4 7C 63 03 78 */ or r3, r3, r0 /* 80281988 0027D5E8 80 06 02 3C */ lwz r0, 0x23c(r6) /* 8028198C 0027D5EC 50 60 5D 6A */ rlwimi r0, r3, 0xb, 0x15, 0x15 /* 80281990 0027D5F0 90 06 02 3C */ stw r0, 0x23c(r6) /* 80281994 0027D5F4 80 06 02 34 */ lwz r0, 0x234(r6) /* 80281998 0027D5F8 54 03 B5 BE */ rlwinm r3, r0, 0x16, 0x16, 0x1f /* 8028199C 0027D5FC 38 83 00 01 */ addi r4, r3, 1 /* 802819A0 0027D600 38 04 FF FF */ addi r0, r4, -1 /* 802819A4 0027D604 54 00 40 2E */ slwi r0, r0, 8 /* 802819A8 0027D608 7C 60 3B 96 */ divwu r3, r0, r7 /* 802819AC 0027D60C 38 63 00 01 */ addi r3, r3, 1 /* 802819B0 0027D610 40 81 00 30 */ ble lbl_802819E0 /* 802819B4 0027D614 28 07 01 00 */ cmplwi r7, 0x100 /* 802819B8 0027D618 40 80 00 28 */ bge lbl_802819E0 /* 802819BC 0027D61C 48 00 00 08 */ b lbl_802819C4 lbl_802819C0: /* 802819C0 0027D620 54 E7 F8 7E */ srwi r7, r7, 1 lbl_802819C4: /* 802819C4 0027D624 54 E0 07 FF */ clrlwi. r0, r7, 0x1f /* 802819C8 0027D628 41 82 FF F8 */ beq lbl_802819C0 /* 802819CC 0027D62C 7C 04 3B 96 */ divwu r0, r4, r7 /* 802819D0 0027D630 7C 00 39 D6 */ mullw r0, r0, r7 /* 802819D4 0027D634 7C 00 20 51 */ subf. r0, r0, r4 /* 802819D8 0027D638 40 82 00 08 */ bne lbl_802819E0 /* 802819DC 0027D63C 38 63 00 01 */ addi r3, r3, 1 lbl_802819E0: /* 802819E0 0027D640 28 03 04 00 */ cmplwi r3, 0x400 /* 802819E4 0027D644 40 81 00 08 */ ble lbl_802819EC /* 802819E8 0027D648 38 60 04 00 */ li r3, 0x400 lbl_802819EC: /* 802819EC 0027D64C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802819F0 0027D650 7C 08 03 A6 */ mtlr r0 /* 802819F4 0027D654 38 21 00 10 */ addi r1, r1, 0x10 /* 802819F8 0027D658 4E 80 00 20 */ blr .global GXSetCopyClear GXSetCopyClear: /* 802819FC 0027D65C 88 C3 00 00 */ lbz r6, 0(r3) /* 80281A00 0027D660 3C E0 CC 01 */ lis r7, 0xCC008000@ha /* 80281A04 0027D664 39 00 00 61 */ li r8, 0x61 /* 80281A08 0027D668 88 03 00 03 */ lbz r0, 3(r3) /* 80281A0C 0027D66C 39 40 00 00 */ li r10, 0 /* 80281A10 0027D670 99 07 80 00 */ stb r8, 0xCC008000@l(r7) /* 80281A14 0027D674 50 CA 06 3E */ rlwimi r10, r6, 0, 0x18, 0x1f /* 80281A18 0027D678 39 20 00 4F */ li r9, 0x4f /* 80281A1C 0027D67C 50 0A 44 2E */ rlwimi r10, r0, 8, 0x10, 0x17 /* 80281A20 0027D680 88 03 00 02 */ lbz r0, 2(r3) /* 80281A24 0027D684 51 2A C0 0E */ rlwimi r10, r9, 0x18, 0, 7 /* 80281A28 0027D688 38 C0 00 00 */ li r6, 0 /* 80281A2C 0027D68C 91 47 80 00 */ stw r10, -0x8000(r7) /* 80281A30 0027D690 50 06 06 3E */ rlwimi r6, r0, 0, 0x18, 0x1f /* 80281A34 0027D694 88 63 00 01 */ lbz r3, 1(r3) /* 80281A38 0027D698 38 00 00 50 */ li r0, 0x50 /* 80281A3C 0027D69C 99 07 80 00 */ stb r8, -0x8000(r7) /* 80281A40 0027D6A0 38 A0 00 00 */ li r5, 0 /* 80281A44 0027D6A4 50 66 44 2E */ rlwimi r6, r3, 8, 0x10, 0x17 /* 80281A48 0027D6A8 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2) /* 80281A4C 0027D6AC 50 06 C0 0E */ rlwimi r6, r0, 0x18, 0, 7 /* 80281A50 0027D6B0 38 00 00 51 */ li r0, 0x51 /* 80281A54 0027D6B4 90 C7 80 00 */ stw r6, -0x8000(r7) /* 80281A58 0027D6B8 50 85 02 3E */ rlwimi r5, r4, 0, 8, 0x1f /* 80281A5C 0027D6BC 50 05 C0 0E */ rlwimi r5, r0, 0x18, 0, 7 /* 80281A60 0027D6C0 38 00 00 00 */ li r0, 0 /* 80281A64 0027D6C4 99 07 80 00 */ stb r8, -0x8000(r7) /* 80281A68 0027D6C8 90 A7 80 00 */ stw r5, -0x8000(r7) /* 80281A6C 0027D6CC B0 03 00 02 */ sth r0, 2(r3) /* 80281A70 0027D6D0 4E 80 00 20 */ blr .global GXSetCopyFilter GXSetCopyFilter: /* 80281A74 0027D6D4 2C 03 00 00 */ cmpwi r3, 0 /* 80281A78 0027D6D8 41 82 00 F8 */ beq lbl_80281B70 /* 80281A7C 0027D6DC 89 04 00 00 */ lbz r8, 0(r4) /* 80281A80 0027D6E0 38 00 00 00 */ li r0, 0 /* 80281A84 0027D6E4 89 44 00 01 */ lbz r10, 1(r4) /* 80281A88 0027D6E8 38 60 00 00 */ li r3, 0 /* 80281A8C 0027D6EC 51 00 07 3E */ rlwimi r0, r8, 0, 0x1c, 0x1f /* 80281A90 0027D6F0 88 E4 00 06 */ lbz r7, 6(r4) /* 80281A94 0027D6F4 51 40 26 36 */ rlwimi r0, r10, 4, 0x18, 0x1b /* 80281A98 0027D6F8 89 04 00 0C */ lbz r8, 0xc(r4) /* 80281A9C 0027D6FC 50 E3 07 3E */ rlwimi r3, r7, 0, 0x1c, 0x1f /* 80281AA0 0027D700 38 E0 00 00 */ li r7, 0 /* 80281AA4 0027D704 51 07 07 3E */ rlwimi r7, r8, 0, 0x1c, 0x1f /* 80281AA8 0027D708 89 44 00 0D */ lbz r10, 0xd(r4) /* 80281AAC 0027D70C 89 64 00 07 */ lbz r11, 7(r4) /* 80281AB0 0027D710 39 00 00 00 */ li r8, 0 /* 80281AB4 0027D714 51 47 26 36 */ rlwimi r7, r10, 4, 0x18, 0x1b /* 80281AB8 0027D718 89 44 00 02 */ lbz r10, 2(r4) /* 80281ABC 0027D71C 89 24 00 12 */ lbz r9, 0x12(r4) /* 80281AC0 0027D720 51 63 26 36 */ rlwimi r3, r11, 4, 0x18, 0x1b /* 80281AC4 0027D724 51 40 45 2E */ rlwimi r0, r10, 8, 0x14, 0x17 /* 80281AC8 0027D728 89 44 00 0E */ lbz r10, 0xe(r4) /* 80281ACC 0027D72C 51 28 07 3E */ rlwimi r8, r9, 0, 0x1c, 0x1f /* 80281AD0 0027D730 89 24 00 13 */ lbz r9, 0x13(r4) /* 80281AD4 0027D734 51 47 45 2E */ rlwimi r7, r10, 8, 0x14, 0x17 /* 80281AD8 0027D738 89 44 00 03 */ lbz r10, 3(r4) /* 80281ADC 0027D73C 51 28 26 36 */ rlwimi r8, r9, 4, 0x18, 0x1b /* 80281AE0 0027D740 89 24 00 14 */ lbz r9, 0x14(r4) /* 80281AE4 0027D744 51 40 64 26 */ rlwimi r0, r10, 0xc, 0x10, 0x13 /* 80281AE8 0027D748 89 44 00 0F */ lbz r10, 0xf(r4) /* 80281AEC 0027D74C 51 28 45 2E */ rlwimi r8, r9, 8, 0x14, 0x17 /* 80281AF0 0027D750 89 24 00 15 */ lbz r9, 0x15(r4) /* 80281AF4 0027D754 51 47 64 26 */ rlwimi r7, r10, 0xc, 0x10, 0x13 /* 80281AF8 0027D758 89 44 00 04 */ lbz r10, 4(r4) /* 80281AFC 0027D75C 89 64 00 08 */ lbz r11, 8(r4) /* 80281B00 0027D760 51 28 64 26 */ rlwimi r8, r9, 0xc, 0x10, 0x13 /* 80281B04 0027D764 51 40 83 1E */ rlwimi r0, r10, 0x10, 0xc, 0xf /* 80281B08 0027D768 89 44 00 10 */ lbz r10, 0x10(r4) /* 80281B0C 0027D76C 89 24 00 16 */ lbz r9, 0x16(r4) /* 80281B10 0027D770 51 63 45 2E */ rlwimi r3, r11, 8, 0x14, 0x17 /* 80281B14 0027D774 89 64 00 09 */ lbz r11, 9(r4) /* 80281B18 0027D778 51 47 83 1E */ rlwimi r7, r10, 0x10, 0xc, 0xf /* 80281B1C 0027D77C 89 44 00 05 */ lbz r10, 5(r4) /* 80281B20 0027D780 51 28 83 1E */ rlwimi r8, r9, 0x10, 0xc, 0xf /* 80281B24 0027D784 89 24 00 11 */ lbz r9, 0x11(r4) /* 80281B28 0027D788 51 63 64 26 */ rlwimi r3, r11, 0xc, 0x10, 0x13 /* 80281B2C 0027D78C 89 64 00 0A */ lbz r11, 0xa(r4) /* 80281B30 0027D790 51 40 A2 16 */ rlwimi r0, r10, 0x14, 8, 0xb /* 80281B34 0027D794 89 44 00 0B */ lbz r10, 0xb(r4) /* 80281B38 0027D798 51 27 A2 16 */ rlwimi r7, r9, 0x14, 8, 0xb /* 80281B3C 0027D79C 88 84 00 17 */ lbz r4, 0x17(r4) /* 80281B40 0027D7A0 39 20 00 01 */ li r9, 1 /* 80281B44 0027D7A4 51 63 83 1E */ rlwimi r3, r11, 0x10, 0xc, 0xf /* 80281B48 0027D7A8 51 43 A2 16 */ rlwimi r3, r10, 0x14, 8, 0xb /* 80281B4C 0027D7AC 50 88 A2 16 */ rlwimi r8, r4, 0x14, 8, 0xb /* 80281B50 0027D7B0 51 20 C0 0E */ rlwimi r0, r9, 0x18, 0, 7 /* 80281B54 0027D7B4 39 40 00 02 */ li r10, 2 /* 80281B58 0027D7B8 39 20 00 03 */ li r9, 3 /* 80281B5C 0027D7BC 38 80 00 04 */ li r4, 4 /* 80281B60 0027D7C0 51 43 C0 0E */ rlwimi r3, r10, 0x18, 0, 7 /* 80281B64 0027D7C4 51 27 C0 0E */ rlwimi r7, r9, 0x18, 0, 7 /* 80281B68 0027D7C8 50 88 C0 0E */ rlwimi r8, r4, 0x18, 0, 7 /* 80281B6C 0027D7CC 48 00 00 24 */ b lbl_80281B90 lbl_80281B70: /* 80281B70 0027D7D0 3D 00 01 66 */ lis r8, 0x01666666@ha /* 80281B74 0027D7D4 3C 60 02 66 */ lis r3, 0x02666666@ha /* 80281B78 0027D7D8 3C E0 03 66 */ lis r7, 0x03666666@ha /* 80281B7C 0027D7DC 3C 80 04 66 */ lis r4, 0x04666666@ha /* 80281B80 0027D7E0 38 08 66 66 */ addi r0, r8, 0x01666666@l /* 80281B84 0027D7E4 38 63 66 66 */ addi r3, r3, 0x02666666@l /* 80281B88 0027D7E8 38 E7 66 66 */ addi r7, r7, 0x03666666@l /* 80281B8C 0027D7EC 39 04 66 66 */ addi r8, r4, 0x04666666@l lbl_80281B90: /* 80281B90 0027D7F0 3D 20 CC 01 */ lis r9, 0xCC008000@ha /* 80281B94 0027D7F4 39 40 00 61 */ li r10, 0x61 /* 80281B98 0027D7F8 99 49 80 00 */ stb r10, 0xCC008000@l(r9) /* 80281B9C 0027D7FC 2C 05 00 00 */ cmpwi r5, 0 /* 80281BA0 0027D800 38 80 00 53 */ li r4, 0x53 /* 80281BA4 0027D804 39 60 00 00 */ li r11, 0 /* 80281BA8 0027D808 90 09 80 00 */ stw r0, -0x8000(r9) /* 80281BAC 0027D80C 38 00 00 54 */ li r0, 0x54 /* 80281BB0 0027D810 39 80 00 00 */ li r12, 0 /* 80281BB4 0027D814 50 8B C0 0E */ rlwimi r11, r4, 0x18, 0, 7 /* 80281BB8 0027D818 99 49 80 00 */ stb r10, -0x8000(r9) /* 80281BBC 0027D81C 50 0C C0 0E */ rlwimi r12, r0, 0x18, 0, 7 /* 80281BC0 0027D820 90 69 80 00 */ stw r3, -0x8000(r9) /* 80281BC4 0027D824 99 49 80 00 */ stb r10, -0x8000(r9) /* 80281BC8 0027D828 90 E9 80 00 */ stw r7, -0x8000(r9) /* 80281BCC 0027D82C 99 49 80 00 */ stb r10, -0x8000(r9) /* 80281BD0 0027D830 91 09 80 00 */ stw r8, -0x8000(r9) /* 80281BD4 0027D834 41 82 00 40 */ beq lbl_80281C14 /* 80281BD8 0027D838 88 86 00 00 */ lbz r4, 0(r6) /* 80281BDC 0027D83C 88 06 00 04 */ lbz r0, 4(r6) /* 80281BE0 0027D840 50 8B 06 BE */ rlwimi r11, r4, 0, 0x1a, 0x1f /* 80281BE4 0027D844 88 66 00 01 */ lbz r3, 1(r6) /* 80281BE8 0027D848 50 0C 06 BE */ rlwimi r12, r0, 0, 0x1a, 0x1f /* 80281BEC 0027D84C 88 A6 00 02 */ lbz r5, 2(r6) /* 80281BF0 0027D850 50 6B 35 32 */ rlwimi r11, r3, 6, 0x14, 0x19 /* 80281BF4 0027D854 88 66 00 05 */ lbz r3, 5(r6) /* 80281BF8 0027D858 88 86 00 03 */ lbz r4, 3(r6) /* 80281BFC 0027D85C 50 AB 63 A6 */ rlwimi r11, r5, 0xc, 0xe, 0x13 /* 80281C00 0027D860 88 06 00 06 */ lbz r0, 6(r6) /* 80281C04 0027D864 50 6C 35 32 */ rlwimi r12, r3, 6, 0x14, 0x19 /* 80281C08 0027D868 50 8B 92 1A */ rlwimi r11, r4, 0x12, 8, 0xd /* 80281C0C 0027D86C 50 0C 63 A6 */ rlwimi r12, r0, 0xc, 0xe, 0x13 /* 80281C10 0027D870 48 00 00 20 */ b lbl_80281C30 lbl_80281C14: /* 80281C14 0027D874 38 60 00 15 */ li r3, 0x15 /* 80281C18 0027D878 55 6B 00 26 */ rlwinm r11, r11, 0, 0, 0x13 /* 80281C1C 0027D87C 50 6C 06 BE */ rlwimi r12, r3, 0, 0x1a, 0x1f /* 80281C20 0027D880 38 00 00 16 */ li r0, 0x16 /* 80281C24 0027D884 50 6B 63 A6 */ rlwimi r11, r3, 0xc, 0xe, 0x13 /* 80281C28 0027D888 50 0B 92 1A */ rlwimi r11, r0, 0x12, 8, 0xd /* 80281C2C 0027D88C 55 8C 06 9A */ rlwinm r12, r12, 0, 0x1a, 0xd lbl_80281C30: /* 80281C30 0027D890 3C 80 CC 01 */ lis r4, 0xCC008000@ha /* 80281C34 0027D894 38 A0 00 61 */ li r5, 0x61 /* 80281C38 0027D898 98 A4 80 00 */ stb r5, 0xCC008000@l(r4) /* 80281C3C 0027D89C 38 00 00 00 */ li r0, 0 /* 80281C40 0027D8A0 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2) /* 80281C44 0027D8A4 91 64 80 00 */ stw r11, -0x8000(r4) /* 80281C48 0027D8A8 98 A4 80 00 */ stb r5, -0x8000(r4) /* 80281C4C 0027D8AC 91 84 80 00 */ stw r12, -0x8000(r4) /* 80281C50 0027D8B0 B0 03 00 02 */ sth r0, 2(r3) /* 80281C54 0027D8B4 4E 80 00 20 */ blr .global GXSetDispCopyGamma GXSetDispCopyGamma: /* 80281C58 0027D8B8 80 82 A0 D0 */ lwz r4, lbl_806426D0-_SDA2_BASE_(r2) /* 80281C5C 0027D8BC 80 04 02 3C */ lwz r0, 0x23c(r4) /* 80281C60 0027D8C0 50 60 3D F0 */ rlwimi r0, r3, 7, 0x17, 0x18 /* 80281C64 0027D8C4 90 04 02 3C */ stw r0, 0x23c(r4) /* 80281C68 0027D8C8 4E 80 00 20 */ blr .global GXCopyDisp GXCopyDisp: /* 80281C6C 0027D8CC 2C 04 00 00 */ cmpwi r4, 0 /* 80281C70 0027D8D0 41 82 00 30 */ beq lbl_80281CA0 /* 80281C74 0027D8D4 80 E2 A0 D0 */ lwz r7, lbl_806426D0-_SDA2_BASE_(r2) /* 80281C78 0027D8D8 3C A0 CC 01 */ lis r5, 0xCC008000@ha /* 80281C7C 0027D8DC 38 00 00 61 */ li r0, 0x61 /* 80281C80 0027D8E0 80 C7 02 28 */ lwz r6, 0x228(r7) /* 80281C84 0027D8E4 98 05 80 00 */ stb r0, 0xCC008000@l(r5) /* 80281C88 0027D8E8 60 C6 00 0F */ ori r6, r6, 0xf /* 80281C8C 0027D8EC 90 C5 80 00 */ stw r6, -0x8000(r5) /* 80281C90 0027D8F0 80 C7 02 20 */ lwz r6, 0x220(r7) /* 80281C94 0027D8F4 98 05 80 00 */ stb r0, -0x8000(r5) /* 80281C98 0027D8F8 54 C0 00 3A */ rlwinm r0, r6, 0, 0, 0x1d /* 80281C9C 0027D8FC 90 05 80 00 */ stw r0, -0x8000(r5) lbl_80281CA0: /* 80281CA0 0027D900 2C 04 00 00 */ cmpwi r4, 0 /* 80281CA4 0027D904 39 80 00 00 */ li r12, 0 /* 80281CA8 0027D908 40 82 00 1C */ bne lbl_80281CC4 /* 80281CAC 0027D90C 80 A2 A0 D0 */ lwz r5, lbl_806426D0-_SDA2_BASE_(r2) /* 80281CB0 0027D910 80 05 02 2C */ lwz r0, 0x22c(r5) /* 80281CB4 0027D914 39 45 02 2C */ addi r10, r5, 0x22c /* 80281CB8 0027D918 54 00 07 7E */ clrlwi r0, r0, 0x1d /* 80281CBC 0027D91C 28 00 00 03 */ cmplwi r0, 3 /* 80281CC0 0027D920 40 82 00 34 */ bne lbl_80281CF4 lbl_80281CC4: /* 80281CC4 0027D924 80 A2 A0 D0 */ lwz r5, lbl_806426D0-_SDA2_BASE_(r2) /* 80281CC8 0027D928 80 E5 02 2C */ lwz r7, 0x22c(r5) /* 80281CCC 0027D92C 39 45 02 2C */ addi r10, r5, 0x22c /* 80281CD0 0027D930 54 E0 D7 FE */ rlwinm r0, r7, 0x1a, 0x1f, 0x1f /* 80281CD4 0027D934 28 00 00 01 */ cmplwi r0, 1 /* 80281CD8 0027D938 40 82 00 1C */ bne lbl_80281CF4 /* 80281CDC 0027D93C 3C C0 CC 01 */ lis r6, 0xCC008000@ha /* 80281CE0 0027D940 38 00 00 61 */ li r0, 0x61 /* 80281CE4 0027D944 98 06 80 00 */ stb r0, 0xCC008000@l(r6) /* 80281CE8 0027D948 54 E0 06 B0 */ rlwinm r0, r7, 0, 0x1a, 0x18 /* 80281CEC 0027D94C 39 80 00 01 */ li r12, 1 /* 80281CF0 0027D950 90 06 80 00 */ stw r0, -0x8000(r6) lbl_80281CF4: /* 80281CF4 0027D954 3D 00 CC 01 */ lis r8, 0xCC008000@ha /* 80281CF8 0027D958 39 20 00 61 */ li r9, 0x61 /* 80281CFC 0027D95C 99 28 80 00 */ stb r9, 0xCC008000@l(r8) /* 80281D00 0027D960 38 C0 00 00 */ li r6, 0 /* 80281D04 0027D964 81 62 A0 D0 */ lwz r11, lbl_806426D0-_SDA2_BASE_(r2) /* 80281D08 0027D968 50 66 DA 3E */ rlwimi r6, r3, 0x1b, 8, 0x1f /* 80281D0C 0027D96C 38 60 00 4B */ li r3, 0x4b /* 80281D10 0027D970 38 00 00 52 */ li r0, 0x52 /* 80281D14 0027D974 80 EB 02 30 */ lwz r7, 0x230(r11) /* 80281D18 0027D978 50 66 C0 0E */ rlwimi r6, r3, 0x18, 0, 7 /* 80281D1C 0027D97C 2C 04 00 00 */ cmpwi r4, 0 /* 80281D20 0027D980 90 E8 80 00 */ stw r7, -0x8000(r8) /* 80281D24 0027D984 99 28 80 00 */ stb r9, -0x8000(r8) /* 80281D28 0027D988 80 6B 02 34 */ lwz r3, 0x234(r11) /* 80281D2C 0027D98C 90 68 80 00 */ stw r3, -0x8000(r8) /* 80281D30 0027D990 99 28 80 00 */ stb r9, -0x8000(r8) /* 80281D34 0027D994 80 6B 02 38 */ lwz r3, 0x238(r11) /* 80281D38 0027D998 90 68 80 00 */ stw r3, -0x8000(r8) /* 80281D3C 0027D99C 99 28 80 00 */ stb r9, -0x8000(r8) /* 80281D40 0027D9A0 90 C8 80 00 */ stw r6, -0x8000(r8) /* 80281D44 0027D9A4 80 6B 02 3C */ lwz r3, 0x23c(r11) /* 80281D48 0027D9A8 50 83 5D 28 */ rlwimi r3, r4, 0xb, 0x14, 0x14 /* 80281D4C 0027D9AC 60 63 40 00 */ ori r3, r3, 0x4000 /* 80281D50 0027D9B0 50 03 C0 0E */ rlwimi r3, r0, 0x18, 0, 7 /* 80281D54 0027D9B4 90 6B 02 3C */ stw r3, 0x23c(r11) /* 80281D58 0027D9B8 99 28 80 00 */ stb r9, -0x8000(r8) /* 80281D5C 0027D9BC 80 0B 02 3C */ lwz r0, 0x23c(r11) /* 80281D60 0027D9C0 90 08 80 00 */ stw r0, -0x8000(r8) /* 80281D64 0027D9C4 41 82 00 1C */ beq lbl_80281D80 /* 80281D68 0027D9C8 99 28 80 00 */ stb r9, -0x8000(r8) /* 80281D6C 0027D9CC 80 0B 02 28 */ lwz r0, 0x228(r11) /* 80281D70 0027D9D0 90 08 80 00 */ stw r0, -0x8000(r8) /* 80281D74 0027D9D4 99 28 80 00 */ stb r9, -0x8000(r8) /* 80281D78 0027D9D8 80 0B 02 20 */ lwz r0, 0x220(r11) /* 80281D7C 0027D9DC 90 08 80 00 */ stw r0, -0x8000(r8) lbl_80281D80: /* 80281D80 0027D9E0 2C 0C 00 00 */ cmpwi r12, 0 /* 80281D84 0027D9E4 41 82 00 18 */ beq lbl_80281D9C /* 80281D88 0027D9E8 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80281D8C 0027D9EC 38 00 00 61 */ li r0, 0x61 /* 80281D90 0027D9F0 98 03 80 00 */ stb r0, 0xCC008000@l(r3) /* 80281D94 0027D9F4 80 0A 00 00 */ lwz r0, 0(r10) /* 80281D98 0027D9F8 90 03 80 00 */ stw r0, -0x8000(r3) lbl_80281D9C: /* 80281D9C 0027D9FC 38 00 00 00 */ li r0, 0 /* 80281DA0 0027DA00 B0 05 00 02 */ sth r0, 2(r5) /* 80281DA4 0027DA04 4E 80 00 20 */ blr .global GXCopyTex GXCopyTex: /* 80281DA8 0027DA08 2C 04 00 00 */ cmpwi r4, 0 /* 80281DAC 0027DA0C 41 82 00 30 */ beq lbl_80281DDC /* 80281DB0 0027DA10 80 E2 A0 D0 */ lwz r7, lbl_806426D0-_SDA2_BASE_(r2) /* 80281DB4 0027DA14 3C A0 CC 01 */ lis r5, 0xCC008000@ha /* 80281DB8 0027DA18 38 00 00 61 */ li r0, 0x61 /* 80281DBC 0027DA1C 80 C7 02 28 */ lwz r6, 0x228(r7) /* 80281DC0 0027DA20 98 05 80 00 */ stb r0, 0xCC008000@l(r5) /* 80281DC4 0027DA24 60 C6 00 0F */ ori r6, r6, 0xf /* 80281DC8 0027DA28 90 C5 80 00 */ stw r6, -0x8000(r5) /* 80281DCC 0027DA2C 80 C7 02 20 */ lwz r6, 0x220(r7) /* 80281DD0 0027DA30 98 05 80 00 */ stb r0, -0x8000(r5) /* 80281DD4 0027DA34 54 C0 00 3A */ rlwinm r0, r6, 0, 0, 0x1d /* 80281DD8 0027DA38 90 05 80 00 */ stw r0, -0x8000(r5) lbl_80281DDC: /* 80281DDC 0027DA3C 81 22 A0 D0 */ lwz r9, lbl_806426D0-_SDA2_BASE_(r2) /* 80281DE0 0027DA40 39 60 00 00 */ li r11, 0 /* 80281DE4 0027DA44 88 09 02 50 */ lbz r0, 0x250(r9) /* 80281DE8 0027DA48 80 C9 02 2C */ lwz r6, 0x22c(r9) /* 80281DEC 0027DA4C 2C 00 00 00 */ cmpwi r0, 0 /* 80281DF0 0027DA50 41 82 00 1C */ beq lbl_80281E0C /* 80281DF4 0027DA54 54 C0 07 7E */ clrlwi r0, r6, 0x1d /* 80281DF8 0027DA58 28 00 00 03 */ cmplwi r0, 3 /* 80281DFC 0027DA5C 41 82 00 10 */ beq lbl_80281E0C /* 80281E00 0027DA60 38 00 00 03 */ li r0, 3 /* 80281E04 0027DA64 39 60 00 01 */ li r11, 1 /* 80281E08 0027DA68 50 06 07 7E */ rlwimi r6, r0, 0, 0x1d, 0x1f lbl_80281E0C: /* 80281E0C 0027DA6C 2C 04 00 00 */ cmpwi r4, 0 /* 80281E10 0027DA70 40 82 00 10 */ bne lbl_80281E20 /* 80281E14 0027DA74 54 C0 07 7E */ clrlwi r0, r6, 0x1d /* 80281E18 0027DA78 28 00 00 03 */ cmplwi r0, 3 /* 80281E1C 0027DA7C 40 82 00 18 */ bne lbl_80281E34 lbl_80281E20: /* 80281E20 0027DA80 54 C0 D7 FE */ rlwinm r0, r6, 0x1a, 0x1f, 0x1f /* 80281E24 0027DA84 28 00 00 01 */ cmplwi r0, 1 /* 80281E28 0027DA88 40 82 00 0C */ bne lbl_80281E34 /* 80281E2C 0027DA8C 39 60 00 01 */ li r11, 1 /* 80281E30 0027DA90 54 C6 06 B0 */ rlwinm r6, r6, 0, 0x1a, 0x18 lbl_80281E34: /* 80281E34 0027DA94 2C 0B 00 00 */ cmpwi r11, 0 /* 80281E38 0027DA98 41 82 00 14 */ beq lbl_80281E4C /* 80281E3C 0027DA9C 3C A0 CC 01 */ lis r5, 0xCC008000@ha /* 80281E40 0027DAA0 38 00 00 61 */ li r0, 0x61 /* 80281E44 0027DAA4 98 05 80 00 */ stb r0, 0xCC008000@l(r5) /* 80281E48 0027DAA8 90 C5 80 00 */ stw r6, -0x8000(r5) lbl_80281E4C: /* 80281E4C 0027DAAC 3C E0 CC 01 */ lis r7, 0xCC008000@ha /* 80281E50 0027DAB0 39 00 00 61 */ li r8, 0x61 /* 80281E54 0027DAB4 99 07 80 00 */ stb r8, 0xCC008000@l(r7) /* 80281E58 0027DAB8 38 A0 00 00 */ li r5, 0 /* 80281E5C 0027DABC 81 42 A0 D0 */ lwz r10, lbl_806426D0-_SDA2_BASE_(r2) /* 80281E60 0027DAC0 50 65 DA 3E */ rlwimi r5, r3, 0x1b, 8, 0x1f /* 80281E64 0027DAC4 38 60 00 4B */ li r3, 0x4b /* 80281E68 0027DAC8 38 00 00 52 */ li r0, 0x52 /* 80281E6C 0027DACC 80 CA 02 40 */ lwz r6, 0x240(r10) /* 80281E70 0027DAD0 50 65 C0 0E */ rlwimi r5, r3, 0x18, 0, 7 /* 80281E74 0027DAD4 2C 04 00 00 */ cmpwi r4, 0 /* 80281E78 0027DAD8 90 C7 80 00 */ stw r6, -0x8000(r7) /* 80281E7C 0027DADC 99 07 80 00 */ stb r8, -0x8000(r7) /* 80281E80 0027DAE0 80 6A 02 44 */ lwz r3, 0x244(r10) /* 80281E84 0027DAE4 90 67 80 00 */ stw r3, -0x8000(r7) /* 80281E88 0027DAE8 99 07 80 00 */ stb r8, -0x8000(r7) /* 80281E8C 0027DAEC 80 6A 02 48 */ lwz r3, 0x248(r10) /* 80281E90 0027DAF0 90 67 80 00 */ stw r3, -0x8000(r7) /* 80281E94 0027DAF4 99 07 80 00 */ stb r8, -0x8000(r7) /* 80281E98 0027DAF8 90 A7 80 00 */ stw r5, -0x8000(r7) /* 80281E9C 0027DAFC 80 6A 02 4C */ lwz r3, 0x24c(r10) /* 80281EA0 0027DB00 50 83 5D 28 */ rlwimi r3, r4, 0xb, 0x14, 0x14 /* 80281EA4 0027DB04 54 63 04 A0 */ rlwinm r3, r3, 0, 0x12, 0x10 /* 80281EA8 0027DB08 50 03 C0 0E */ rlwimi r3, r0, 0x18, 0, 7 /* 80281EAC 0027DB0C 90 6A 02 4C */ stw r3, 0x24c(r10) /* 80281EB0 0027DB10 99 07 80 00 */ stb r8, -0x8000(r7) /* 80281EB4 0027DB14 80 0A 02 4C */ lwz r0, 0x24c(r10) /* 80281EB8 0027DB18 90 07 80 00 */ stw r0, -0x8000(r7) /* 80281EBC 0027DB1C 41 82 00 1C */ beq lbl_80281ED8 /* 80281EC0 0027DB20 99 07 80 00 */ stb r8, -0x8000(r7) /* 80281EC4 0027DB24 80 0A 02 28 */ lwz r0, 0x228(r10) /* 80281EC8 0027DB28 90 07 80 00 */ stw r0, -0x8000(r7) /* 80281ECC 0027DB2C 99 07 80 00 */ stb r8, -0x8000(r7) /* 80281ED0 0027DB30 80 0A 02 20 */ lwz r0, 0x220(r10) /* 80281ED4 0027DB34 90 07 80 00 */ stw r0, -0x8000(r7) lbl_80281ED8: /* 80281ED8 0027DB38 2C 0B 00 00 */ cmpwi r11, 0 /* 80281EDC 0027DB3C 41 82 00 18 */ beq lbl_80281EF4 /* 80281EE0 0027DB40 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 80281EE4 0027DB44 38 00 00 61 */ li r0, 0x61 /* 80281EE8 0027DB48 98 03 80 00 */ stb r0, 0xCC008000@l(r3) /* 80281EEC 0027DB4C 80 09 02 2C */ lwz r0, 0x22c(r9) /* 80281EF0 0027DB50 90 03 80 00 */ stw r0, -0x8000(r3) lbl_80281EF4: /* 80281EF4 0027DB54 38 00 00 00 */ li r0, 0 /* 80281EF8 0027DB58 B0 09 00 02 */ sth r0, 2(r9) /* 80281EFC 0027DB5C 4E 80 00 20 */ blr .global GXClearBoundingBox GXClearBoundingBox: /* 80281F00 0027DB60 3C A0 CC 01 */ lis r5, 0xCC008000@ha /* 80281F04 0027DB64 38 C0 00 61 */ li r6, 0x61 /* 80281F08 0027DB68 3C 60 55 00 */ lis r3, 0x550003FF@ha /* 80281F0C 0027DB6C 98 C5 80 00 */ stb r6, 0xCC008000@l(r5) /* 80281F10 0027DB70 38 03 03 FF */ addi r0, r3, 0x550003FF@l /* 80281F14 0027DB74 90 05 80 00 */ stw r0, -0x8000(r5) /* 80281F18 0027DB78 3C 60 56 00 */ lis r3, 0x560003FF@ha /* 80281F1C 0027DB7C 38 83 03 FF */ addi r4, r3, 0x560003FF@l /* 80281F20 0027DB80 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2) /* 80281F24 0027DB84 98 C5 80 00 */ stb r6, -0x8000(r5) /* 80281F28 0027DB88 38 00 00 00 */ li r0, 0 /* 80281F2C 0027DB8C 90 85 80 00 */ stw r4, -0x8000(r5) /* 80281F30 0027DB90 B0 03 00 02 */ sth r0, 2(r3) /* 80281F34 0027DB94 4E 80 00 20 */ blr