summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2022-04-23 15:08:33 -0700
committerJasper St. Pierre <jstpierre@mecheye.net>2022-04-23 15:08:33 -0700
commit2d3a2fb8153b6f3424c32ef2dfb9d19ca80f109a (patch)
treea963ec2542ba80b890b79af86217ed798d57b565
parentfd3c6ed326d7cd06ba7d3f9cd5d7f2155bbb2fef (diff)
J3DSys: loadMtxIndx
-rw-r--r--asm/JSystem/J3DGraphBase/J3DSys/loadNrmMtxIndx__6J3DSysCFiUs.s11
-rw-r--r--asm/JSystem/J3DGraphBase/J3DSys/loadPosMtxIndx__6J3DSysCFiUs.s10
-rw-r--r--libs/JSystem/J3DGraphBase/J3DSys.cpp24
3 files changed, 10 insertions, 35 deletions
diff --git a/asm/JSystem/J3DGraphBase/J3DSys/loadNrmMtxIndx__6J3DSysCFiUs.s b/asm/JSystem/J3DGraphBase/J3DSys/loadNrmMtxIndx__6J3DSysCFiUs.s
deleted file mode 100644
index dffe136901..0000000000
--- 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 e04061114f..0000000000
--- 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 11dc04e293..17b43d88f2 100644
--- a/libs/JSystem/J3DGraphBase/J3DSys.cpp
+++ b/libs/JSystem/J3DGraphBase/J3DSys.cpp
@@ -85,25 +85,21 @@ asm J3DSys::J3DSys() {
}
#pragma pop
+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 */
-#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"
+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 */