From fcdee973cf2b2aef1103780dc892c43804eac49d Mon Sep 17 00:00:00 2001 From: EpochFlame <82550703+EpochFlame@users.noreply.github.com> Date: Fri, 8 Oct 2021 14:42:35 -0400 Subject: [PATCH] THPDraw 33% done we got the feather \o/ --- asm/sysGCU/THPDraw.s | 72 ---- include/types.h | 5 + obj_files.mk | 1 + src/sysGCU/THPDraw.c | 994 ++++++++++++++++++++----------------------- 4 files changed, 479 insertions(+), 593 deletions(-) diff --git a/asm/sysGCU/THPDraw.s b/asm/sysGCU/THPDraw.s index 9141dbd9d..2213212da 100644 --- a/asm/sysGCU/THPDraw.s +++ b/asm/sysGCU/THPDraw.s @@ -1,78 +1,6 @@ .include "macros.inc" .section .text, "ax" # 0x800056C0 - 0x80472F00 -.global THPGXRestore -THPGXRestore: -/* 8044D684 0044A5C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8044D688 0044A5C8 7C 08 02 A6 */ mflr r0 -/* 8044D68C 0044A5CC 38 60 00 01 */ li r3, 1 -/* 8044D690 0044A5D0 38 80 00 07 */ li r4, 7 -/* 8044D694 0044A5D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8044D698 0044A5D8 38 A0 00 00 */ li r5, 0 -/* 8044D69C 0044A5DC 4B C9 BA E9 */ bl GXSetZMode -/* 8044D6A0 0044A5E0 38 60 00 00 */ li r3, 0 -/* 8044D6A4 0044A5E4 38 80 00 01 */ li r4, 1 -/* 8044D6A8 0044A5E8 38 A0 00 00 */ li r5, 0 -/* 8044D6AC 0044A5EC 38 C0 00 0F */ li r6, 0xf -/* 8044D6B0 0044A5F0 4B C9 BA 29 */ bl GXSetBlendMode -/* 8044D6B4 0044A5F4 38 60 00 01 */ li r3, 1 -/* 8044D6B8 0044A5F8 4B C9 78 E5 */ bl GXSetNumTexGens -/* 8044D6BC 0044A5FC 38 60 00 00 */ li r3, 0 -/* 8044D6C0 0044A600 4B C9 97 A5 */ bl GXSetNumChans -/* 8044D6C4 0044A604 38 60 00 01 */ li r3, 1 -/* 8044D6C8 0044A608 4B C9 B4 F1 */ bl GXSetNumTevStages -/* 8044D6CC 0044A60C 38 60 00 00 */ li r3, 0 -/* 8044D6D0 0044A610 38 80 00 00 */ li r4, 0 -/* 8044D6D4 0044A614 38 A0 00 00 */ li r5, 0 -/* 8044D6D8 0044A618 38 C0 00 FF */ li r6, 0xff -/* 8044D6DC 0044A61C 4B C9 B3 41 */ bl GXSetTevOrder -/* 8044D6E0 0044A620 38 60 00 00 */ li r3, 0 -/* 8044D6E4 0044A624 38 80 00 03 */ li r4, 3 -/* 8044D6E8 0044A628 4B C9 AD 95 */ bl GXSetTevOp -/* 8044D6EC 0044A62C 38 60 00 00 */ li r3, 0 -/* 8044D6F0 0044A630 38 80 00 00 */ li r4, 0 -/* 8044D6F4 0044A634 38 A0 00 00 */ li r5, 0 -/* 8044D6F8 0044A638 4B C9 B1 8D */ bl GXSetTevSwapMode -/* 8044D6FC 0044A63C 38 60 00 01 */ li r3, 1 -/* 8044D700 0044A640 38 80 00 00 */ li r4, 0 -/* 8044D704 0044A644 38 A0 00 00 */ li r5, 0 -/* 8044D708 0044A648 4B C9 B1 7D */ bl GXSetTevSwapMode -/* 8044D70C 0044A64C 38 60 00 02 */ li r3, 2 -/* 8044D710 0044A650 38 80 00 00 */ li r4, 0 -/* 8044D714 0044A654 38 A0 00 00 */ li r5, 0 -/* 8044D718 0044A658 4B C9 B1 6D */ bl GXSetTevSwapMode -/* 8044D71C 0044A65C 38 60 00 03 */ li r3, 3 -/* 8044D720 0044A660 38 80 00 00 */ li r4, 0 -/* 8044D724 0044A664 38 A0 00 00 */ li r5, 0 -/* 8044D728 0044A668 4B C9 B1 5D */ bl GXSetTevSwapMode -/* 8044D72C 0044A66C 38 60 00 00 */ li r3, 0 -/* 8044D730 0044A670 38 80 00 00 */ li r4, 0 -/* 8044D734 0044A674 38 A0 00 01 */ li r5, 1 -/* 8044D738 0044A678 38 C0 00 02 */ li r6, 2 -/* 8044D73C 0044A67C 38 E0 00 03 */ li r7, 3 -/* 8044D740 0044A680 4B C9 B1 8D */ bl GXSetTevSwapModeTable -/* 8044D744 0044A684 38 60 00 01 */ li r3, 1 -/* 8044D748 0044A688 38 80 00 00 */ li r4, 0 -/* 8044D74C 0044A68C 38 A0 00 00 */ li r5, 0 -/* 8044D750 0044A690 38 C0 00 00 */ li r6, 0 -/* 8044D754 0044A694 38 E0 00 03 */ li r7, 3 -/* 8044D758 0044A698 4B C9 B1 75 */ bl GXSetTevSwapModeTable -/* 8044D75C 0044A69C 38 60 00 02 */ li r3, 2 -/* 8044D760 0044A6A0 38 80 00 01 */ li r4, 1 -/* 8044D764 0044A6A4 38 A0 00 01 */ li r5, 1 -/* 8044D768 0044A6A8 38 C0 00 01 */ li r6, 1 -/* 8044D76C 0044A6AC 38 E0 00 03 */ li r7, 3 -/* 8044D770 0044A6B0 4B C9 B1 5D */ bl GXSetTevSwapModeTable -/* 8044D774 0044A6B4 38 60 00 03 */ li r3, 3 -/* 8044D778 0044A6B8 38 80 00 02 */ li r4, 2 -/* 8044D77C 0044A6BC 38 A0 00 02 */ li r5, 2 -/* 8044D780 0044A6C0 38 C0 00 02 */ li r6, 2 -/* 8044D784 0044A6C4 38 E0 00 03 */ li r7, 3 -/* 8044D788 0044A6C8 4B C9 B1 45 */ bl GXSetTevSwapModeTable -/* 8044D78C 0044A6CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8044D790 0044A6D0 7C 08 03 A6 */ mtlr r0 -/* 8044D794 0044A6D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8044D798 0044A6D8 4E 80 00 20 */ blr .global THPGXYuv2RgbSetup THPGXYuv2RgbSetup: diff --git a/include/types.h b/include/types.h index a27ff81f5..5bcddf303 100644 --- a/include/types.h +++ b/include/types.h @@ -3,6 +3,11 @@ // r2 is 8051E360 // r13 is 8051C680 +typedef unsigned char uchar; +typedef unsigned short ushort; +typedef unsigned int uint; +typedef unsigned long ulong; +typedef unsigned long long ulonglong; typedef signed char s8; typedef signed short s16; diff --git a/obj_files.mk b/obj_files.mk index 62f4c69a0..ad91e8fcb 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -1140,6 +1140,7 @@ TEXT_PART_TWO:=\ $(BUILD_DIR)/asm/sysGCU/rootMenuSection.o\ $(BUILD_DIR)/asm/sysGCU/demoSection.o\ $(BUILD_DIR)/asm/sysGCU/THPAudioDecode.o\ + $(BUILD_DIR)/src/sysGCU/THPDraw.o\ $(BUILD_DIR)/asm/sysGCU/THPDraw.o\ $(BUILD_DIR)/asm/sysGCU/THPPlayer.o\ $(BUILD_DIR)/asm/sysGCU/THPRead.o\ diff --git a/src/sysGCU/THPDraw.c b/src/sysGCU/THPDraw.c index f513b8eeb..29fc4b4fb 100644 --- a/src/sysGCU/THPDraw.c +++ b/src/sysGCU/THPDraw.c @@ -1,4 +1,13 @@ - +#include "types.h" +extern void GXSetZMode(uint,uint,uint); +extern void GXSetBlendMode(uint,uint,uint,uint); +extern void GXSetNumTexGens(uint); +extern void GXSetNumChans(uint); +extern void GXSetNumTevStages(uint); +extern void GXSetTevOrder(uint,uint,uint,int); +extern void GXSetTevOp(int,int); +extern void GXSetTevSwapMode(int,uint,uint); +extern void GXSetTevSwapModeTable(int,uint,uint,uint,uint); /* * --INFO-- @@ -7,524 +16,467 @@ */ void THPGXRestore(void) { -/* -.loc_0x0: - stwu r1, -0x10(r1) - mflr r0 - li r3, 0x1 - li r4, 0x7 - stw r0, 0x14(r1) - li r5, 0 - bl -0x364518 - li r3, 0 - li r4, 0x1 - li r5, 0 - li r6, 0xF - bl -0x3645D8 - li r3, 0x1 - bl -0x36871C - li r3, 0 - bl -0x36685C - li r3, 0x1 - bl -0x364B10 - li r3, 0 - li r4, 0 - li r5, 0 - li r6, 0xFF - bl -0x364CC0 - li r3, 0 - li r4, 0x3 - bl -0x36526C - li r3, 0 - li r4, 0 - li r5, 0 - bl -0x364E74 - li r3, 0x1 - li r4, 0 - li r5, 0 - bl -0x364E84 - li r3, 0x2 - li r4, 0 - li r5, 0 - bl -0x364E94 - li r3, 0x3 - li r4, 0 - li r5, 0 - bl -0x364EA4 - li r3, 0 - li r4, 0 - li r5, 0x1 - li r6, 0x2 - li r7, 0x3 - bl -0x364E74 - li r3, 0x1 - li r4, 0 - li r5, 0 - li r6, 0 - li r7, 0x3 - bl -0x364E8C - li r3, 0x2 - li r4, 0x1 - li r5, 0x1 - li r6, 0x1 - li r7, 0x3 - bl -0x364EA4 - li r3, 0x3 - li r4, 0x2 - li r5, 0x2 - li r6, 0x2 - li r7, 0x3 - bl -0x364EBC - lwz r0, 0x14(r1) - mtlr r0 - addi r1, r1, 0x10 - blr -*/ + GXSetZMode(1, 7, 0); + GXSetBlendMode(0, 1, 0, 0xf); + GXSetNumTexGens(1); + GXSetNumChans(0); + GXSetNumTevStages(1); + GXSetTevOrder(0, 0, 0, 0xff); + GXSetTevOp(0, 3); + GXSetTevSwapMode(0, 0, 0); + GXSetTevSwapMode(1, 0, 0); + GXSetTevSwapMode(2, 0, 0); + GXSetTevSwapMode(3, 0, 0); + GXSetTevSwapModeTable(0, 0, 1, 2, 3); + GXSetTevSwapModeTable(1, 0, 0, 0, 3); + GXSetTevSwapModeTable(2, 1, 1, 1, 3); + GXSetTevSwapModeTable(3, 2, 2, 2, 3); + return; } - -/* - * --INFO-- - * Address: 8044D79C - * Size: 0004C0 - */ -void THPGXYuv2RgbSetup(void) -{ -/* -.loc_0x0: - stwu r1, -0xC0(r1) - mflr r0 - li r4, 0 - stw r0, 0xC4(r1) - stw r31, 0xBC(r1) - stw r30, 0xB8(r1) - lhz r31, 0x4(r3) - lhz r30, 0x6(r3) - li r3, 0 - bl -0x3645D4 - lis r4, 0x4330 - xoris r3, r30, 0x8000 - xoris r0, r31, 0x8000 - stw r3, 0x94(r1) - lfs f1, 0x2784(r2) - addi r3, r1, 0x4C - stw r4, 0x90(r1) - lfd f4, 0x2790(r2) - fmr f3, f1 - lfd f0, 0x90(r1) - fmr f5, f1 - stw r0, 0x9C(r1) - fsubs f2, f0, f4 - lfs f6, 0x2788(r2) - stw r4, 0x98(r1) - lfd f0, 0x98(r1) - fsubs f4, f0, f4 - bl -0x362A30 - addi r3, r1, 0x4C - li r4, 0x1 - bl -0x3643CC - lis r3, 0x4330 - xoris r4, r31, 0x8000 - xoris r0, r30, 0x8000 - stw r4, 0xA4(r1) - lfs f1, 0x2784(r2) - stw r3, 0xA0(r1) - lfd f4, 0x2790(r2) - fmr f2, f1 - lfd f0, 0xA0(r1) - fmr f5, f1 - stw r0, 0xAC(r1) - fsubs f3, f0, f4 - lfs f6, 0x278C(r2) - stw r3, 0xA8(r1) - lfd f0, 0xA8(r1) - fsubs f4, f0, f4 - bl -0x3640C8 - mr r5, r31 - mr r6, r30 - li r3, 0 - li r4, 0 - bl -0x364094 - addi r3, r1, 0x1C - bl -0x3635D4 - addi r3, r1, 0x1C - li r4, 0 - bl -0x364308 - li r3, 0 - bl -0x364270 - li r3, 0x1 - li r4, 0x7 - li r5, 0 - bl -0x364714 - li r3, 0 - li r4, 0x1 - li r5, 0 - li r6, 0 - bl -0x3647D4 - li r3, 0x1 - bl -0x364788 - li r3, 0 - bl -0x364764 - li r3, 0 - bl -0x367394 - li r3, 0 - bl -0x366A68 - li r3, 0x2 - bl -0x368938 - li r3, 0 - li r4, 0x1 - li r5, 0x4 - li r6, 0x3C - li r7, 0 - li r8, 0x7D - bl -0x368BD4 - li r3, 0x1 - li r4, 0x1 - li r5, 0x4 - li r6, 0x3C - li r7, 0 - li r8, 0x7D - bl -0x368BF0 - bl -0x365FB0 - bl -0x369244 - li r3, 0x9 - li r4, 0x1 - bl -0x36969C - li r3, 0xD - li r4, 0x1 - bl -0x3696A8 - li r3, 0x7 - li r4, 0x9 - li r5, 0x1 - li r6, 0x3 - li r7, 0 - bl -0x36923C - li r3, 0x7 - li r4, 0xD - li r5, 0x1 - li r6, 0x2 - li r7, 0 - bl -0x369254 - li r3, 0x4 - bl -0x364DAC - li r3, 0 - li r4, 0x1 - li r5, 0x1 - li r6, 0xFF - bl -0x364F5C - li r3, 0 - li r4, 0xF - li r5, 0x8 - li r6, 0xE - li r7, 0x2 - bl -0x365488 - li r3, 0 - li r4, 0 - li r5, 0 - li r6, 0 - li r7, 0 - li r8, 0 - bl -0x36541C - li r3, 0 - li r4, 0x7 - li r5, 0x4 - li r6, 0x6 - li r7, 0x1 - bl -0x365478 - li r3, 0 - li r4, 0x1 - li r5, 0 - li r6, 0 - li r7, 0 - li r8, 0 - bl -0x3653E8 - li r3, 0 - li r4, 0xC - bl -0x365220 - li r3, 0 - li r4, 0x1C - bl -0x3651D0 - li r3, 0 - li r4, 0 - li r5, 0 - bl -0x365184 - li r3, 0x1 - li r4, 0x1 - li r5, 0x2 - li r6, 0xFF - bl -0x365000 - li r3, 0x1 - li r4, 0xF - li r5, 0x8 - li r6, 0xE - li r7, 0 - bl -0x36552C - li r3, 0x1 - li r4, 0 - li r5, 0 - li r6, 0x1 - li r7, 0 - li r8, 0 - bl -0x3654C0 - li r3, 0x1 - li r4, 0x7 - li r5, 0x4 - li r6, 0x6 - li r7, 0 - bl -0x36551C - li r3, 0x1 - li r4, 0x1 - li r5, 0 - li r6, 0 - li r7, 0 - li r8, 0 - bl -0x36548C - li r3, 0x1 - li r4, 0xD - bl -0x3652C4 - li r3, 0x1 - li r4, 0x1D - bl -0x365274 - li r3, 0x1 - li r4, 0 - li r5, 0 - bl -0x365228 - li r3, 0x2 - li r4, 0 - li r5, 0 - li r6, 0xFF - bl -0x3650A4 - li r3, 0x2 - li r4, 0xF - li r5, 0x8 - li r6, 0xC - li r7, 0 - bl -0x3655D0 - li r3, 0x2 - li r4, 0 - li r5, 0 - li r6, 0 - li r7, 0x1 - li r8, 0 - bl -0x365564 - li r3, 0x2 - li r4, 0x4 - li r5, 0x7 - li r6, 0x7 - li r7, 0 - bl -0x3655C0 - li r3, 0x2 - li r4, 0 - li r5, 0 - li r6, 0 - li r7, 0x1 - li r8, 0 - bl -0x365530 - li r3, 0x2 - li r4, 0 - li r5, 0 - bl -0x3652B4 - li r3, 0x3 - li r4, 0xFF - li r5, 0xFF - li r6, 0xFF - bl -0x365130 - li r3, 0x3 - li r4, 0x1 - li r5, 0 - li r6, 0xE - li r7, 0xF - bl -0x36565C - li r3, 0x3 - li r4, 0 - li r5, 0 - li r6, 0 - li r7, 0x1 - li r8, 0 - bl -0x3655F0 - li r3, 0x3 - li r4, 0x7 - li r5, 0x7 - li r6, 0x7 - li r7, 0x6 - bl -0x36564C - li r3, 0x3 - li r4, 0 - li r5, 0 - li r6, 0 - li r7, 0x1 - li r8, 0 - bl -0x3655BC - li r3, 0x3 - li r4, 0 - li r5, 0 - bl -0x365340 - li r3, 0x3 - li r4, 0xE - bl -0x365404 - lwz r5, 0x2770(r2) - addi r4, r1, 0x14 - lwz r0, 0x2774(r2) - li r3, 0x1 - stw r5, 0x14(r1) - stw r0, 0x18(r1) - bl -0x365510 - lwz r0, 0x2778(r2) - addi r4, r1, 0x10 - li r3, 0 - stw r0, 0x10(r1) - bl -0x3654A8 - lwz r0, 0x277C(r2) - addi r4, r1, 0xC - li r3, 0x1 - stw r0, 0xC(r1) - bl -0x3654BC - lwz r0, 0x2780(r2) - addi r4, r1, 0x8 - li r3, 0x2 - stw r0, 0x8(r1) - bl -0x3654D0 - li r3, 0 - li r4, 0 - li r5, 0x1 - li r6, 0x2 - li r7, 0x3 - bl -0x365374 - lwz r0, 0xC4(r1) - lwz r31, 0xBC(r1) - lwz r30, 0xB8(r1) - mtlr r0 - addi r1, r1, 0xC0 - blr -*/ -} - -/* - * --INFO-- - * Address: 8044DC5C - * Size: 0001DC - */ -void THPGXYuv2RgbDraw(void) -{ -/* -.loc_0x0: - stwu r1, -0x90(r1) - mflr r0 - stw r0, 0x94(r1) - stmw r24, 0x70(r1) - mr r24, r4 - mr r25, r5 - mr r30, r6 - mr r31, r7 - mr r26, r10 - mr r4, r3 - lha r27, 0x9A(r1) - mr r29, r8 - rlwinm r5,r8,0,16,31 - mr r28, r9 - rlwinm r6,r9,0,16,31 - addi r3, r1, 0x48 - li r7, 0x1 - li r8, 0 - li r9, 0 - li r10, 0 - bl -0x366B30 - lfs f1, 0x2784(r2) - addi r3, r1, 0x48 - li r4, 0 - li r5, 0 - fmr f2, f1 - li r6, 0 - fmr f3, f1 - li r7, 0 - li r8, 0 - bl -0x3668C4 - addi r3, r1, 0x48 - li r4, 0 - bl -0x3665D0 - extsh r3, r29 - extsh r0, r28 - srawi r28, r3, 0x1 - mr r4, r24 - srawi r29, r0, 0x1 - addi r3, r1, 0x28 - rlwinm r5,r28,0,16,31 - li r7, 0x1 - rlwinm r6,r29,0,16,31 - li r8, 0 - li r9, 0 - li r10, 0 - bl -0x366B98 - lfs f1, 0x2784(r2) - addi r3, r1, 0x28 - li r4, 0 - li r5, 0 - fmr f2, f1 - li r6, 0 - fmr f3, f1 - li r7, 0 - li r8, 0 - bl -0x36692C - addi r3, r1, 0x28 - li r4, 0x1 - bl -0x366638 - mr r4, r25 - addi r3, r1, 0x8 - rlwinm r5,r28,0,16,31 - rlwinm r6,r29,0,16,31 - li r7, 0x1 - li r8, 0 - li r9, 0 - li r10, 0 - bl -0x366BF0 - lfs f1, 0x2784(r2) - addi r3, r1, 0x8 - li r4, 0 - li r5, 0 - fmr f2, f1 - li r6, 0 - fmr f3, f1 - li r7, 0 - li r8, 0 - bl -0x366984 - addi r3, r1, 0x8 - li r4, 0x2 - bl -0x366690 - li r3, 0x80 - li r4, 0x7 - li r5, 0x4 - bl -0x368428 - lis r4, 0xCC01 - extsh r0, r31 - sth r30, -0x8000(r4) - add r6, r0, r27 - li r3, 0 - extsh r5, r30 - sth r31, -0x8000(r4) - extsh r0, r26 - add r5, r5, r0 - sth r3, -0x8000(r4) - li r0, 0x1 - sth r3, -0x8000(r4) - sth r3, -0x8000(r4) - sth r5, -0x8000(r4) - sth r31, -0x8000(r4) - sth r3, -0x8000(r4) - sth r0, -0x8000(r4) - sth r3, -0x8000(r4) - sth r5, -0x8000(r4) - sth r6, -0x8000(r4) - sth r3, -0x8000(r4) - sth r0, -0x8000(r4) - sth r0, -0x8000(r4) - sth r30, -0x8000(r4) - sth r6, -0x8000(r4) - sth r3, -0x8000(r4) - sth r3, -0x8000(r4) - sth r0, -0x8000(r4) - lmw r24, 0x70(r1) - lwz r0, 0x94(r1) - mtlr r0 - addi r1, r1, 0x90 - blr -*/ -} \ No newline at end of file +// +///* +// * --INFO-- +// * Address: 8044D79C +// * Size: 0004C0 +// */ +//void THPGXYuv2RgbSetup(void) +//{ +///* +//.loc_0x0: +// stwu r1, -0xC0(r1) +// mflr r0 +// li r4, 0 +// stw r0, 0xC4(r1) +// stw r31, 0xBC(r1) +// stw r30, 0xB8(r1) +// lhz r31, 0x4(r3) +// lhz r30, 0x6(r3) +// li r3, 0 +// bl -0x3645D4 +// lis r4, 0x4330 +// xoris r3, r30, 0x8000 +// xoris r0, r31, 0x8000 +// stw r3, 0x94(r1) +// lfs f1, 0x2784(r2) +// addi r3, r1, 0x4C +// stw r4, 0x90(r1) +// lfd f4, 0x2790(r2) +// fmr f3, f1 +// lfd f0, 0x90(r1) +// fmr f5, f1 +// stw r0, 0x9C(r1) +// fsubs f2, f0, f4 +// lfs f6, 0x2788(r2) +// stw r4, 0x98(r1) +// lfd f0, 0x98(r1) +// fsubs f4, f0, f4 +// bl -0x362A30 +// addi r3, r1, 0x4C +// li r4, 0x1 +// bl -0x3643CC +// lis r3, 0x4330 +// xoris r4, r31, 0x8000 +// xoris r0, r30, 0x8000 +// stw r4, 0xA4(r1) +// lfs f1, 0x2784(r2) +// stw r3, 0xA0(r1) +// lfd f4, 0x2790(r2) +// fmr f2, f1 +// lfd f0, 0xA0(r1) +// fmr f5, f1 +// stw r0, 0xAC(r1) +// fsubs f3, f0, f4 +// lfs f6, 0x278C(r2) +// stw r3, 0xA8(r1) +// lfd f0, 0xA8(r1) +// fsubs f4, f0, f4 +// bl -0x3640C8 +// mr r5, r31 +// mr r6, r30 +// li r3, 0 +// li r4, 0 +// bl -0x364094 +// addi r3, r1, 0x1C +// bl -0x3635D4 +// addi r3, r1, 0x1C +// li r4, 0 +// bl -0x364308 +// li r3, 0 +// bl -0x364270 +// li r3, 0x1 +// li r4, 0x7 +// li r5, 0 +// bl -0x364714 +// li r3, 0 +// li r4, 0x1 +// li r5, 0 +// li r6, 0 +// bl -0x3647D4 +// li r3, 0x1 +// bl -0x364788 +// li r3, 0 +// bl -0x364764 +// li r3, 0 +// bl -0x367394 +// li r3, 0 +// bl -0x366A68 +// li r3, 0x2 +// bl -0x368938 +// li r3, 0 +// li r4, 0x1 +// li r5, 0x4 +// li r6, 0x3C +// li r7, 0 +// li r8, 0x7D +// bl -0x368BD4 +// li r3, 0x1 +// li r4, 0x1 +// li r5, 0x4 +// li r6, 0x3C +// li r7, 0 +// li r8, 0x7D +// bl -0x368BF0 +// bl -0x365FB0 +// bl -0x369244 +// li r3, 0x9 +// li r4, 0x1 +// bl -0x36969C +// li r3, 0xD +// li r4, 0x1 +// bl -0x3696A8 +// li r3, 0x7 +// li r4, 0x9 +// li r5, 0x1 +// li r6, 0x3 +// li r7, 0 +// bl -0x36923C +// li r3, 0x7 +// li r4, 0xD +// li r5, 0x1 +// li r6, 0x2 +// li r7, 0 +// bl -0x369254 +// li r3, 0x4 +// bl -0x364DAC +// li r3, 0 +// li r4, 0x1 +// li r5, 0x1 +// li r6, 0xFF +// bl -0x364F5C +// li r3, 0 +// li r4, 0xF +// li r5, 0x8 +// li r6, 0xE +// li r7, 0x2 +// bl -0x365488 +// li r3, 0 +// li r4, 0 +// li r5, 0 +// li r6, 0 +// li r7, 0 +// li r8, 0 +// bl -0x36541C +// li r3, 0 +// li r4, 0x7 +// li r5, 0x4 +// li r6, 0x6 +// li r7, 0x1 +// bl -0x365478 +// li r3, 0 +// li r4, 0x1 +// li r5, 0 +// li r6, 0 +// li r7, 0 +// li r8, 0 +// bl -0x3653E8 +// li r3, 0 +// li r4, 0xC +// bl -0x365220 +// li r3, 0 +// li r4, 0x1C +// bl -0x3651D0 +// li r3, 0 +// li r4, 0 +// li r5, 0 +// bl -0x365184 +// li r3, 0x1 +// li r4, 0x1 +// li r5, 0x2 +// li r6, 0xFF +// bl -0x365000 +// li r3, 0x1 +// li r4, 0xF +// li r5, 0x8 +// li r6, 0xE +// li r7, 0 +// bl -0x36552C +// li r3, 0x1 +// li r4, 0 +// li r5, 0 +// li r6, 0x1 +// li r7, 0 +// li r8, 0 +// bl -0x3654C0 +// li r3, 0x1 +// li r4, 0x7 +// li r5, 0x4 +// li r6, 0x6 +// li r7, 0 +// bl -0x36551C +// li r3, 0x1 +// li r4, 0x1 +// li r5, 0 +// li r6, 0 +// li r7, 0 +// li r8, 0 +// bl -0x36548C +// li r3, 0x1 +// li r4, 0xD +// bl -0x3652C4 +// li r3, 0x1 +// li r4, 0x1D +// bl -0x365274 +// li r3, 0x1 +// li r4, 0 +// li r5, 0 +// bl -0x365228 +// li r3, 0x2 +// li r4, 0 +// li r5, 0 +// li r6, 0xFF +// bl -0x3650A4 +// li r3, 0x2 +// li r4, 0xF +// li r5, 0x8 +// li r6, 0xC +// li r7, 0 +// bl -0x3655D0 +// li r3, 0x2 +// li r4, 0 +// li r5, 0 +// li r6, 0 +// li r7, 0x1 +// li r8, 0 +// bl -0x365564 +// li r3, 0x2 +// li r4, 0x4 +// li r5, 0x7 +// li r6, 0x7 +// li r7, 0 +// bl -0x3655C0 +// li r3, 0x2 +// li r4, 0 +// li r5, 0 +// li r6, 0 +// li r7, 0x1 +// li r8, 0 +// bl -0x365530 +// li r3, 0x2 +// li r4, 0 +// li r5, 0 +// bl -0x3652B4 +// li r3, 0x3 +// li r4, 0xFF +// li r5, 0xFF +// li r6, 0xFF +// bl -0x365130 +// li r3, 0x3 +// li r4, 0x1 +// li r5, 0 +// li r6, 0xE +// li r7, 0xF +// bl -0x36565C +// li r3, 0x3 +// li r4, 0 +// li r5, 0 +// li r6, 0 +// li r7, 0x1 +// li r8, 0 +// bl -0x3655F0 +// li r3, 0x3 +// li r4, 0x7 +// li r5, 0x7 +// li r6, 0x7 +// li r7, 0x6 +// bl -0x36564C +// li r3, 0x3 +// li r4, 0 +// li r5, 0 +// li r6, 0 +// li r7, 0x1 +// li r8, 0 +// bl -0x3655BC +// li r3, 0x3 +// li r4, 0 +// li r5, 0 +// bl -0x365340 +// li r3, 0x3 +// li r4, 0xE +// bl -0x365404 +// lwz r5, 0x2770(r2) +// addi r4, r1, 0x14 +// lwz r0, 0x2774(r2) +// li r3, 0x1 +// stw r5, 0x14(r1) +// stw r0, 0x18(r1) +// bl -0x365510 +// lwz r0, 0x2778(r2) +// addi r4, r1, 0x10 +// li r3, 0 +// stw r0, 0x10(r1) +// bl -0x3654A8 +// lwz r0, 0x277C(r2) +// addi r4, r1, 0xC +// li r3, 0x1 +// stw r0, 0xC(r1) +// bl -0x3654BC +// lwz r0, 0x2780(r2) +// addi r4, r1, 0x8 +// li r3, 0x2 +// stw r0, 0x8(r1) +// bl -0x3654D0 +// li r3, 0 +// li r4, 0 +// li r5, 0x1 +// li r6, 0x2 +// li r7, 0x3 +// bl -0x365374 +// lwz r0, 0xC4(r1) +// lwz r31, 0xBC(r1) +// lwz r30, 0xB8(r1) +// mtlr r0 +// addi r1, r1, 0xC0 +// blr +//*/ +//} +// +///* +// * --INFO-- +// * Address: 8044DC5C +// * Size: 0001DC +// */ +//void THPGXYuv2RgbDraw(void) +//{ +///* +//.loc_0x0: +// stwu r1, -0x90(r1) +// mflr r0 +// stw r0, 0x94(r1) +// stmw r24, 0x70(r1) +// mr r24, r4 +// mr r25, r5 +// mr r30, r6 +// mr r31, r7 +// mr r26, r10 +// mr r4, r3 +// lha r27, 0x9A(r1) +// mr r29, r8 +// rlwinm r5,r8,0,16,31 +// mr r28, r9 +// rlwinm r6,r9,0,16,31 +// addi r3, r1, 0x48 +// li r7, 0x1 +// li r8, 0 +// li r9, 0 +// li r10, 0 +// bl -0x366B30 +// lfs f1, 0x2784(r2) +// addi r3, r1, 0x48 +// li r4, 0 +// li r5, 0 +// fmr f2, f1 +// li r6, 0 +// fmr f3, f1 +// li r7, 0 +// li r8, 0 +// bl -0x3668C4 +// addi r3, r1, 0x48 +// li r4, 0 +// bl -0x3665D0 +// extsh r3, r29 +// extsh r0, r28 +// srawi r28, r3, 0x1 +// mr r4, r24 +// srawi r29, r0, 0x1 +// addi r3, r1, 0x28 +// rlwinm r5,r28,0,16,31 +// li r7, 0x1 +// rlwinm r6,r29,0,16,31 +// li r8, 0 +// li r9, 0 +// li r10, 0 +// bl -0x366B98 +// lfs f1, 0x2784(r2) +// addi r3, r1, 0x28 +// li r4, 0 +// li r5, 0 +// fmr f2, f1 +// li r6, 0 +// fmr f3, f1 +// li r7, 0 +// li r8, 0 +// bl -0x36692C +// addi r3, r1, 0x28 +// li r4, 0x1 +// bl -0x366638 +// mr r4, r25 +// addi r3, r1, 0x8 +// rlwinm r5,r28,0,16,31 +// rlwinm r6,r29,0,16,31 +// li r7, 0x1 +// li r8, 0 +// li r9, 0 +// li r10, 0 +// bl -0x366BF0 +// lfs f1, 0x2784(r2) +// addi r3, r1, 0x8 +// li r4, 0 +// li r5, 0 +// fmr f2, f1 +// li r6, 0 +// fmr f3, f1 +// li r7, 0 +// li r8, 0 +// bl -0x366984 +// addi r3, r1, 0x8 +// li r4, 0x2 +// bl -0x366690 +// li r3, 0x80 +// li r4, 0x7 +// li r5, 0x4 +// bl -0x368428 +// lis r4, 0xCC01 +// extsh r0, r31 +// sth r30, -0x8000(r4) +// add r6, r0, r27 +// li r3, 0 +// extsh r5, r30 +// sth r31, -0x8000(r4) +// extsh r0, r26 +// add r5, r5, r0 +// sth r3, -0x8000(r4) +// li r0, 0x1 +// sth r3, -0x8000(r4) +// sth r3, -0x8000(r4) +// sth r5, -0x8000(r4) +// sth r31, -0x8000(r4) +// sth r3, -0x8000(r4) +// sth r0, -0x8000(r4) +// sth r3, -0x8000(r4) +// sth r5, -0x8000(r4) +// sth r6, -0x8000(r4) +// sth r3, -0x8000(r4) +// sth r0, -0x8000(r4) +// sth r0, -0x8000(r4) +// sth r30, -0x8000(r4) +// sth r6, -0x8000(r4) +// sth r3, -0x8000(r4) +// sth r3, -0x8000(r4) +// sth r0, -0x8000(r4) +// lmw r24, 0x70(r1) +// lwz r0, 0x94(r1) +// mtlr r0 +// addi r1, r1, 0x90 +// blr +//*/ +//} \ No newline at end of file