diff --git a/asm/JSystem/J3DGraphBase/J3DSys/loadNrmMtxIndx__6J3DSysCFiUs.s b/asm/JSystem/J3DGraphBase/J3DSys/loadNrmMtxIndx__6J3DSysCFiUs.s deleted file mode 100644 index dffe1369015..00000000000 --- a/asm/JSystem/J3DGraphBase/J3DSys/loadNrmMtxIndx__6J3DSysCFiUs.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8030FEE4: -/* 8030FEE4 38 00 00 28 */ li r0, 0x28 -/* 8030FEE8 3C C0 CC 01 */ lis r6, 0xCC01 /* 0xCC008000@ha */ -/* 8030FEEC 98 06 80 00 */ stb r0, 0x8000(r6) /* 0xCC008000@l */ -/* 8030FEF0 B0 A6 80 00 */ sth r5, -0x8000(r6) -/* 8030FEF4 1C 64 00 09 */ mulli r3, r4, 9 -/* 8030FEF8 38 03 04 00 */ addi r0, r3, 0x400 -/* 8030FEFC 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 8030FF00 60 00 80 00 */ ori r0, r0, 0x8000 -/* 8030FF04 B0 06 80 00 */ sth r0, -0x8000(r6) -/* 8030FF08 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DGraphBase/J3DSys/loadPosMtxIndx__6J3DSysCFiUs.s b/asm/JSystem/J3DGraphBase/J3DSys/loadPosMtxIndx__6J3DSysCFiUs.s deleted file mode 100644 index e04061114ff..00000000000 --- a/asm/JSystem/J3DGraphBase/J3DSys/loadPosMtxIndx__6J3DSysCFiUs.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8030FEC0: -/* 8030FEC0 38 00 00 20 */ li r0, 0x20 -/* 8030FEC4 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */ -/* 8030FEC8 98 03 80 00 */ stb r0, 0x8000(r3) /* 0xCC008000@l */ -/* 8030FECC B0 A3 80 00 */ sth r5, -0x8000(r3) -/* 8030FED0 1C 04 00 0C */ mulli r0, r4, 0xc -/* 8030FED4 54 00 04 3E */ clrlwi r0, r0, 0x10 -/* 8030FED8 60 00 B0 00 */ ori r0, r0, 0xb000 -/* 8030FEDC B0 03 80 00 */ sth r0, -0x8000(r3) -/* 8030FEE0 4E 80 00 20 */ blr diff --git a/libs/JSystem/J3DGraphBase/J3DSys.cpp b/libs/JSystem/J3DGraphBase/J3DSys.cpp index 11dc04e293f..17b43d88f28 100644 --- a/libs/JSystem/J3DGraphBase/J3DSys.cpp +++ b/libs/JSystem/J3DGraphBase/J3DSys.cpp @@ -85,25 +85,21 @@ asm J3DSys::J3DSys() { } #pragma pop -/* 8030FEC0-8030FEE4 30A800 0024+00 0/0 1/1 0/0 .text loadPosMtxIndx__6J3DSysCFiUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DSys::loadPosMtxIndx(int param_0, u16 param_1) const { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DSys/loadPosMtxIndx__6J3DSysCFiUs.s" +static inline void J3DFifoLoadIndx(u8 cmd, u16 indx, u16 addr) { + GFX_FIFO(u8) = cmd; + GFX_FIFO(u16) = indx; + GFX_FIFO(u16) = addr; +} + +/* 8030FEC0-8030FEE4 30A800 0024+00 0/0 1/1 0/0 .text loadPosMtxIndx__6J3DSysCFiUs */ +void J3DSys::loadPosMtxIndx(int addr, u16 indx) const { + J3DFifoLoadIndx(GX_CMD_LOAD_INDX_A, indx, 0xB000 | ((u16)(addr * 0x0C))); } -#pragma pop /* 8030FEE4-8030FF0C 30A824 0028+00 0/0 1/1 0/0 .text loadNrmMtxIndx__6J3DSysCFiUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DSys::loadNrmMtxIndx(int param_0, u16 param_1) const { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DSys/loadNrmMtxIndx__6J3DSysCFiUs.s" +void J3DSys::loadNrmMtxIndx(int addr, u16 indx) const { + J3DFifoLoadIndx(GX_CMD_LOAD_INDX_B, indx, 0x8000 | ((u16)((addr * 0x09) + 0x400))); } -#pragma pop /* ############################################################################################## */ /* 803A1DF8-803A1E08 02E458 0010+00 1/1 0/0 0/0 .rodata @695 */