summaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
authorSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-04-12 17:15:21 +0000
committerSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-04-12 17:15:21 +0000
commit5480199bf9adc54d08913923b6a74a0720d0dced (patch)
treeb8f1c8df63d3e832317259de2e25084e34f2d918 /libpcsxcore
parentcab096cda7111b3349a2dce4fec7c37818e2fd6d (diff)
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@44911 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore')
-rw-r--r--libpcsxcore/gte.c153
-rw-r--r--libpcsxcore/gte.h143
-rw-r--r--libpcsxcore/ix86/iGte.h6
-rw-r--r--libpcsxcore/ix86_64/iGte.h6
-rw-r--r--libpcsxcore/ppc/pGte.h6
5 files changed, 162 insertions, 152 deletions
diff --git a/libpcsxcore/gte.c b/libpcsxcore/gte.c
index 9b8ce07c..1c653ef1 100644
--- a/libpcsxcore/gte.c
+++ b/libpcsxcore/gte.c
@@ -27,6 +27,159 @@
#pragma warning(disable : 4761)
#endif
+#if defined(__BIGENDIAN__)
+#define SEL16(n) ((n) ^ 1)
+#define SEL8(n) ((n) ^ 3)
+#else
+#define SEL16(n) (n)
+#define SEL8(n) (n)
+#endif
+
+#define VX(n) (n < 3 ? psxRegs.CP2D.p[n << 1].sw.l : psxRegs.CP2D.p[9].sw.l)
+#define VY(n) (n < 3 ? psxRegs.CP2D.p[n << 1].sw.h : psxRegs.CP2D.p[10].sw.l)
+#define VZ(n) (n < 3 ? psxRegs.CP2D.p[(n << 1) + 1].sw.l : psxRegs.CP2D.p[11].sw.l)
+#define MX11(n) (n < 3 ? psxRegs.CP2C.p[(n << 3)].sw.l : 0)
+#define MX12(n) (n < 3 ? psxRegs.CP2C.p[(n << 3)].sw.h : 0)
+#define MX13(n) (n < 3 ? psxRegs.CP2C.p[(n << 3) + 1].sw.l : 0)
+#define MX21(n) (n < 3 ? psxRegs.CP2C.p[(n << 3) + 1].sw.h : 0)
+#define MX22(n) (n < 3 ? psxRegs.CP2C.p[(n << 3) + 2].sw.l : 0)
+#define MX23(n) (n < 3 ? psxRegs.CP2C.p[(n << 3) + 2].sw.h : 0)
+#define MX31(n) (n < 3 ? psxRegs.CP2C.p[(n << 3) + 3].sw.l : 0)
+#define MX32(n) (n < 3 ? psxRegs.CP2C.p[(n << 3) + 3].sw.h : 0)
+#define MX33(n) (n < 3 ? psxRegs.CP2C.p[(n << 3) + 4].sw.l : 0)
+#define CV1(n) (n < 3 ? (s32)psxRegs.CP2C.r[(n << 3) + 5] : 0)
+#define CV2(n) (n < 3 ? (s32)psxRegs.CP2C.r[(n << 3) + 6] : 0)
+#define CV3(n) (n < 3 ? (s32)psxRegs.CP2C.r[(n << 3) + 7] : 0)
+
+#define fSX(n) ((psxRegs.CP2D.p)[((n) + 12)].sw.l)
+#define fSY(n) ((psxRegs.CP2D.p)[((n) + 12)].sw.h)
+#define fSZ(n) ((psxRegs.CP2D.p)[((n) + 17)].w.l) /* (n == 0) => SZ1; */
+
+#define gteVX0 ((s16*)psxRegs.CP2D.r)[SEL16(0)]
+#define gteVY0 ((s16*)psxRegs.CP2D.r)[SEL16(1)]
+#define gteVZ0 ((s16*)psxRegs.CP2D.r)[SEL16(2)]
+#define gteVX1 ((s16*)psxRegs.CP2D.r)[SEL16(4)]
+#define gteVY1 ((s16*)psxRegs.CP2D.r)[SEL16(5)]
+#define gteVZ1 ((s16*)psxRegs.CP2D.r)[SEL16(6)]
+#define gteVX2 ((s16*)psxRegs.CP2D.r)[SEL16(8)]
+#define gteVY2 ((s16*)psxRegs.CP2D.r)[SEL16(9)]
+#define gteVZ2 ((s16*)psxRegs.CP2D.r)[SEL16(10)]
+#define gteRGB psxRegs.CP2D.r[6]
+#define gteOTZ ((s16*)psxRegs.CP2D.r)[SEL16(7*2)]
+#define gteIR0 ((s32*)psxRegs.CP2D.r)[8]
+#define gteIR1 ((s32*)psxRegs.CP2D.r)[9]
+#define gteIR2 ((s32*)psxRegs.CP2D.r)[10]
+#define gteIR3 ((s32*)psxRegs.CP2D.r)[11]
+#define gteSXY0 ((s32*)psxRegs.CP2D.r)[12]
+#define gteSXY1 ((s32*)psxRegs.CP2D.r)[13]
+#define gteSXY2 ((s32*)psxRegs.CP2D.r)[14]
+#define gteSXYP ((s32*)psxRegs.CP2D.r)[15]
+#define gteSX0 ((s16*)psxRegs.CP2D.r)[SEL16(12*2)]
+#define gteSY0 ((s16*)psxRegs.CP2D.r)[SEL16(12*2+1)]
+#define gteSX1 ((s16*)psxRegs.CP2D.r)[SEL16(13*2)]
+#define gteSY1 ((s16*)psxRegs.CP2D.r)[SEL16(13*2+1)]
+#define gteSX2 ((s16*)psxRegs.CP2D.r)[SEL16(14*2)]
+#define gteSY2 ((s16*)psxRegs.CP2D.r)[SEL16(14*2+1)]
+#define gteSXP ((s16*)psxRegs.CP2D.r)[SEL16(15*2)]
+#define gteSYP ((s16*)psxRegs.CP2D.r)[SEL16(15*2+1)]
+#define gteSZ0 ((u16*)psxRegs.CP2D.r)[SEL16(16*2)]
+#define gteSZ1 ((u16*)psxRegs.CP2D.r)[SEL16(17*2)]
+#define gteSZ2 ((u16*)psxRegs.CP2D.r)[SEL16(18*2)]
+#define gteSZ3 ((u16*)psxRegs.CP2D.r)[SEL16(19*2)]
+#define gteRGB0 psxRegs.CP2D.r[20]
+#define gteRGB1 psxRegs.CP2D.r[21]
+#define gteRGB2 psxRegs.CP2D.r[22]
+#define gteMAC0 psxRegs.CP2D.r[24]
+#define gteMAC1 ((s32*)psxRegs.CP2D.r)[25]
+#define gteMAC2 ((s32*)psxRegs.CP2D.r)[26]
+#define gteMAC3 ((s32*)psxRegs.CP2D.r)[27]
+#define gteIRGB psxRegs.CP2D.r[28]
+#define gteORGB psxRegs.CP2D.r[29]
+#define gteLZCS psxRegs.CP2D.r[30]
+#define gteLZCR psxRegs.CP2D.r[31]
+
+#define gteR ((u8 *)psxRegs.CP2D.r)[SEL8(6*4)]
+#define gteG ((u8 *)psxRegs.CP2D.r)[SEL8(6*4+1)]
+#define gteB ((u8 *)psxRegs.CP2D.r)[SEL8(6*4+2)]
+#define gteCODE ((u8 *)psxRegs.CP2D.r)[SEL8(6*4+3)]
+#define gteC gteCODE
+
+#define gteR0 ((u8 *)psxRegs.CP2D.r)[SEL8(20*4)]
+#define gteG0 ((u8 *)psxRegs.CP2D.r)[SEL8(20*4+1)]
+#define gteB0 ((u8 *)psxRegs.CP2D.r)[SEL8(20*4+2)]
+#define gteCODE0 ((u8 *)psxRegs.CP2D.r)[SEL8(20*4+3)]
+#define gteC0 gteCODE0
+
+#define gteR1 ((u8 *)psxRegs.CP2D.r)[SEL8(21*4)]
+#define gteG1 ((u8 *)psxRegs.CP2D.r)[SEL8(21*4+1)]
+#define gteB1 ((u8 *)psxRegs.CP2D.r)[SEL8(21*4+2)]
+#define gteCODE1 ((u8 *)psxRegs.CP2D.r)[SEL8(21*4+3)]
+#define gteC1 gteCODE1
+
+#define gteR2 ((u8 *)psxRegs.CP2D.r)[SEL8(22*4)]
+#define gteG2 ((u8 *)psxRegs.CP2D.r)[SEL8(22*4+1)]
+#define gteB2 ((u8 *)psxRegs.CP2D.r)[SEL8(22*4+2)]
+#define gteCODE2 ((u8 *)psxRegs.CP2D.r)[SEL8(22*4+3)]
+#define gteC2 gteCODE2
+
+#define gteR11 ((s16*)psxRegs.CP2C.r)[SEL16(0)]
+#define gteR12 ((s16*)psxRegs.CP2C.r)[SEL16(1)]
+#define gteR13 ((s16*)psxRegs.CP2C.r)[SEL16(2)]
+#define gteR21 ((s16*)psxRegs.CP2C.r)[SEL16(3)]
+#define gteR22 ((s16*)psxRegs.CP2C.r)[SEL16(4)]
+#define gteR23 ((s16*)psxRegs.CP2C.r)[SEL16(5)]
+#define gteR31 ((s16*)psxRegs.CP2C.r)[SEL16(6)]
+#define gteR32 ((s16*)psxRegs.CP2C.r)[SEL16(7)]
+#define gteR33 ((s16*)psxRegs.CP2C.r)[SEL16(8)]
+#define gteTRX ((s32*)psxRegs.CP2C.r)[5]
+#define gteTRY ((s32*)psxRegs.CP2C.r)[6]
+#define gteTRZ ((s32*)psxRegs.CP2C.r)[7]
+#define gteL11 ((s16*)psxRegs.CP2C.r)[SEL16(16)]
+#define gteL12 ((s16*)psxRegs.CP2C.r)[SEL16(17)]
+#define gteL13 ((s16*)psxRegs.CP2C.r)[SEL16(18)]
+#define gteL21 ((s16*)psxRegs.CP2C.r)[SEL16(19)]
+#define gteL22 ((s16*)psxRegs.CP2C.r)[SEL16(20)]
+#define gteL23 ((s16*)psxRegs.CP2C.r)[SEL16(21)]
+#define gteL31 ((s16*)psxRegs.CP2C.r)[SEL16(22)]
+#define gteL32 ((s16*)psxRegs.CP2C.r)[SEL16(23)]
+#define gteL33 ((s16*)psxRegs.CP2C.r)[SEL16(24)]
+#define gteRBK ((s32*)psxRegs.CP2C.r)[13]
+#define gteGBK ((s32*)psxRegs.CP2C.r)[14]
+#define gteBBK ((s32*)psxRegs.CP2C.r)[15]
+#define gteLR1 ((s16*)psxRegs.CP2C.r)[SEL16(32)]
+#define gteLR2 ((s16*)psxRegs.CP2C.r)[SEL16(33)]
+#define gteLR3 ((s16*)psxRegs.CP2C.r)[SEL16(34)]
+#define gteLG1 ((s16*)psxRegs.CP2C.r)[SEL16(35)]
+#define gteLG2 ((s16*)psxRegs.CP2C.r)[SEL16(36)]
+#define gteLG3 ((s16*)psxRegs.CP2C.r)[SEL16(37)]
+#define gteLB1 ((s16*)psxRegs.CP2C.r)[SEL16(38)]
+#define gteLB2 ((s16*)psxRegs.CP2C.r)[SEL16(39)]
+#define gteLB3 ((s16*)psxRegs.CP2C.r)[SEL16(40)]
+#define gteRFC ((s32*)psxRegs.CP2C.r)[21]
+#define gteGFC ((s32*)psxRegs.CP2C.r)[22]
+#define gteBFC ((s32*)psxRegs.CP2C.r)[23]
+#define gteOFX ((s32*)psxRegs.CP2C.r)[24]
+#define gteOFY ((s32*)psxRegs.CP2C.r)[25]
+#define gteH ((u16*)psxRegs.CP2C.r)[SEL16(52)]
+#define gteDQA ((s16*)psxRegs.CP2C.r)[SEL16(54)]
+#define gteDQB ((s32*)psxRegs.CP2C.r)[28]
+#define gteZSF3 ((s16*)psxRegs.CP2C.r)[SEL16(58)]
+#define gteZSF4 ((s16*)psxRegs.CP2C.r)[SEL16(60)]
+#define gteFLAG psxRegs.CP2C.r[31]
+
+#define GTE_OP(op) ((op >> 20) & 31)
+#define GTE_SF(op) ((op >> 19) & 1)
+#define GTE_MX(op) ((op >> 17) & 3)
+#define GTE_V(op) ((op >> 15) & 3)
+#define GTE_CV(op) ((op >> 13) & 3)
+#define GTE_CD(op) ((op >> 11 ) & 3) /* not used */
+#define GTE_LM(op) ((op >> 10 ) & 1)
+#define GTE_CT(op) ((op >> 6) & 15) /* not used */
+#define GTE_FUNCT(op) (op & 63)
+#define INS_COFUN(op) (op & 0x1ffffff)
+
+#define gteop (INS_COFUN(psxRegs.code))
+
static inline s64 BOUNDS(s64 n_value, s64 n_max, int n_maxflag, s64 n_min, int n_minflag) {
if (n_value > n_max) {
gteFLAG |= n_maxflag;
diff --git a/libpcsxcore/gte.h b/libpcsxcore/gte.h
index cfc63101..a1bae57e 100644
--- a/libpcsxcore/gte.h
+++ b/libpcsxcore/gte.h
@@ -21,149 +21,6 @@
#include "psxcommon.h"
#include "r3000a.h"
-#define VX(n) (n < 3 ? psxRegs.CP2D.p[n << 1].sw.l : psxRegs.CP2D.p[9].sw.l)
-#define VY(n) (n < 3 ? psxRegs.CP2D.p[n << 1].sw.h : psxRegs.CP2D.p[10].sw.l)
-#define VZ(n) (n < 3 ? psxRegs.CP2D.p[(n << 1) + 1].sw.l : psxRegs.CP2D.p[11].sw.l)
-#define MX11(n) (n < 3 ? psxRegs.CP2C.p[(n << 3)].sw.l : 0)
-#define MX12(n) (n < 3 ? psxRegs.CP2C.p[(n << 3)].sw.h : 0)
-#define MX13(n) (n < 3 ? psxRegs.CP2C.p[(n << 3) + 1].sw.l : 0)
-#define MX21(n) (n < 3 ? psxRegs.CP2C.p[(n << 3) + 1].sw.h : 0)
-#define MX22(n) (n < 3 ? psxRegs.CP2C.p[(n << 3) + 2].sw.l : 0)
-#define MX23(n) (n < 3 ? psxRegs.CP2C.p[(n << 3) + 2].sw.h : 0)
-#define MX31(n) (n < 3 ? psxRegs.CP2C.p[(n << 3) + 3].sw.l : 0)
-#define MX32(n) (n < 3 ? psxRegs.CP2C.p[(n << 3) + 3].sw.h : 0)
-#define MX33(n) (n < 3 ? psxRegs.CP2C.p[(n << 3) + 4].sw.l : 0)
-#define CV1(n) (n < 3 ? (s32)psxRegs.CP2C.r[(n << 3) + 5] : 0)
-#define CV2(n) (n < 3 ? (s32)psxRegs.CP2C.r[(n << 3) + 6] : 0)
-#define CV3(n) (n < 3 ? (s32)psxRegs.CP2C.r[(n << 3) + 7] : 0)
-
-#define fSX(n) ((psxRegs.CP2D.p)[((n) + 12)].sw.l)
-#define fSY(n) ((psxRegs.CP2D.p)[((n) + 12)].sw.h)
-#define fSZ(n) ((psxRegs.CP2D.p)[((n) + 17)].w.l) /* (n == 0) => SZ1; */
-
-#define gteVXY0 (psxRegs.CP2D.r[0])
-#define gteVX0 (psxRegs.CP2D.p[0].sw.l)
-#define gteVY0 (psxRegs.CP2D.p[0].sw.h)
-#define gteVZ0 (psxRegs.CP2D.p[1].sw.l)
-#define gteVXY1 (psxRegs.CP2D.r[2])
-#define gteVX1 (psxRegs.CP2D.p[2].sw.l)
-#define gteVY1 (psxRegs.CP2D.p[2].sw.h)
-#define gteVZ1 (psxRegs.CP2D.p[3].sw.l)
-#define gteVXY2 (psxRegs.CP2D.r[4])
-#define gteVX2 (psxRegs.CP2D.p[4].sw.l)
-#define gteVY2 (psxRegs.CP2D.p[4].sw.h)
-#define gteVZ2 (psxRegs.CP2D.p[5].sw.l)
-#define gteRGB (psxRegs.CP2D.r[6])
-#define gteR (psxRegs.CP2D.p[6].b.l)
-#define gteG (psxRegs.CP2D.p[6].b.h)
-#define gteB (psxRegs.CP2D.p[6].b.h2)
-#define gteCODE (psxRegs.CP2D.p[6].b.h3)
-#define gteOTZ (psxRegs.CP2D.p[7].w.l)
-#define gteIR0 (psxRegs.CP2D.p[8].sw.l)
-#define gteIR1 (psxRegs.CP2D.p[9].sw.l)
-#define gteIR2 (psxRegs.CP2D.p[10].sw.l)
-#define gteIR3 (psxRegs.CP2D.p[11].sw.l)
-#define gteSXY0 (psxRegs.CP2D.r[12])
-#define gteSX0 (psxRegs.CP2D.p[12].sw.l)
-#define gteSY0 (psxRegs.CP2D.p[12].sw.h)
-#define gteSXY1 (psxRegs.CP2D.r[13])
-#define gteSX1 (psxRegs.CP2D.p[13].sw.l)
-#define gteSY1 (psxRegs.CP2D.p[13].sw.h)
-#define gteSXY2 (psxRegs.CP2D.r[14])
-#define gteSX2 (psxRegs.CP2D.p[14].sw.l)
-#define gteSY2 (psxRegs.CP2D.p[14].sw.h)
-#define gteSXYP (psxRegs.CP2D.r[15])
-#define gteSXP (psxRegs.CP2D.p[15].sw.l)
-#define gteSYP (psxRegs.CP2D.p[15].sw.h)
-#define gteSZ0 (psxRegs.CP2D.p[16].w.l)
-#define gteSZ1 (psxRegs.CP2D.p[17].w.l)
-#define gteSZ2 (psxRegs.CP2D.p[18].w.l)
-#define gteSZ3 (psxRegs.CP2D.p[19].w.l)
-#define gteRGB0 (psxRegs.CP2D.r[20])
-#define gteR0 (psxRegs.CP2D.p[20].b.l)
-#define gteG0 (psxRegs.CP2D.p[20].b.h)
-#define gteB0 (psxRegs.CP2D.p[20].b.h2)
-#define gteCODE0 (psxRegs.CP2D.p[20].b.h3)
-#define gteRGB1 (psxRegs.CP2D.r[21])
-#define gteR1 (psxRegs.CP2D.p[21].b.l)
-#define gteG1 (psxRegs.CP2D.p[21].b.h)
-#define gteB1 (psxRegs.CP2D.p[21].b.h2)
-#define gteCODE1 (psxRegs.CP2D.p[21].b.h3)
-#define gteRGB2 (psxRegs.CP2D.r[22])
-#define gteR2 (psxRegs.CP2D.p[22].b.l)
-#define gteG2 (psxRegs.CP2D.p[22].b.h)
-#define gteB2 (psxRegs.CP2D.p[22].b.h2)
-#define gteCODE2 (psxRegs.CP2D.p[22].b.h3)
-#define gteRES1 (psxRegs.CP2D.r[23])
-#define gteMAC0 (((s32 *)psxRegs.CP2D.r)[24])
-#define gteMAC1 (((s32 *)psxRegs.CP2D.r)[25])
-#define gteMAC2 (((s32 *)psxRegs.CP2D.r)[26])
-#define gteMAC3 (((s32 *)psxRegs.CP2D.r)[27])
-#define gteIRGB (psxRegs.CP2D.r[28])
-#define gteORGB (psxRegs.CP2D.r[29])
-#define gteLZCS (psxRegs.CP2D.r[30])
-#define gteLZCR (psxRegs.CP2D.r[31])
-
-#define gteR11R12 (((s32 *)psxRegs.CP2C.r)[0])
-#define gteR22R23 (((s32 *)psxRegs.CP2C.r)[2])
-#define gteR11 (psxRegs.CP2C.p[0].sw.l)
-#define gteR12 (psxRegs.CP2C.p[0].sw.h)
-#define gteR13 (psxRegs.CP2C.p[1].sw.l)
-#define gteR21 (psxRegs.CP2C.p[1].sw.h)
-#define gteR22 (psxRegs.CP2C.p[2].sw.l)
-#define gteR23 (psxRegs.CP2C.p[2].sw.h)
-#define gteR31 (psxRegs.CP2C.p[3].sw.l)
-#define gteR32 (psxRegs.CP2C.p[3].sw.h)
-#define gteR33 (psxRegs.CP2C.p[4].sw.l)
-#define gteTRX (((s32 *)psxRegs.CP2C.r)[5])
-#define gteTRY (((s32 *)psxRegs.CP2C.r)[6])
-#define gteTRZ (((s32 *)psxRegs.CP2C.r)[7])
-#define gteL11 (psxRegs.CP2C.p[8].sw.l)
-#define gteL12 (psxRegs.CP2C.p[8].sw.h)
-#define gteL13 (psxRegs.CP2C.p[9].sw.l)
-#define gteL21 (psxRegs.CP2C.p[9].sw.h)
-#define gteL22 (psxRegs.CP2C.p[10].sw.l)
-#define gteL23 (psxRegs.CP2C.p[10].sw.h)
-#define gteL31 (psxRegs.CP2C.p[11].sw.l)
-#define gteL32 (psxRegs.CP2C.p[11].sw.h)
-#define gteL33 (psxRegs.CP2C.p[12].sw.l)
-#define gteRBK (((s32 *)psxRegs.CP2C.r)[13])
-#define gteGBK (((s32 *)psxRegs.CP2C.r)[14])
-#define gteBBK (((s32 *)psxRegs.CP2C.r)[15])
-#define gteLR1 (psxRegs.CP2C.p[16].sw.l)
-#define gteLR2 (psxRegs.CP2C.p[16].sw.h)
-#define gteLR3 (psxRegs.CP2C.p[17].sw.l)
-#define gteLG1 (psxRegs.CP2C.p[17].sw.h)
-#define gteLG2 (psxRegs.CP2C.p[18].sw.l)
-#define gteLG3 (psxRegs.CP2C.p[18].sw.h)
-#define gteLB1 (psxRegs.CP2C.p[19].sw.l)
-#define gteLB2 (psxRegs.CP2C.p[19].sw.h)
-#define gteLB3 (psxRegs.CP2C.p[20].sw.l)
-#define gteRFC (((s32 *)psxRegs.CP2C.r)[21])
-#define gteGFC (((s32 *)psxRegs.CP2C.r)[22])
-#define gteBFC (((s32 *)psxRegs.CP2C.r)[23])
-#define gteOFX (((s32 *)psxRegs.CP2C.r)[24])
-#define gteOFY (((s32 *)psxRegs.CP2C.r)[25])
-#define gteH (psxRegs.CP2C.p[26].sw.l)
-#define gteDQA (psxRegs.CP2C.p[27].sw.l)
-#define gteDQB (((s32 *)psxRegs.CP2C.r)[28])
-#define gteZSF3 (psxRegs.CP2C.p[29].sw.l)
-#define gteZSF4 (psxRegs.CP2C.p[30].sw.l)
-#define gteFLAG (psxRegs.CP2C.r[31])
-
-#define GTE_OP(op) ((op >> 20) & 31)
-#define GTE_SF(op) ((op >> 19) & 1)
-#define GTE_MX(op) ((op >> 17) & 3)
-#define GTE_V(op) ((op >> 15) & 3)
-#define GTE_CV(op) ((op >> 13) & 3)
-#define GTE_CD(op) ((op >> 11 ) & 3) /* not used */
-#define GTE_LM(op) ((op >> 10 ) & 1)
-#define GTE_CT(op) ((op >> 6) & 15) /* not used */
-#define GTE_FUNCT(op) (op & 63)
-#define INS_COFUN(op) (op & 0x1ffffff)
-
-#define gteop (INS_COFUN(psxRegs.code))
-
void gteMFC2();
void gteCFC2();
void gteMTC2();
diff --git a/libpcsxcore/ix86/iGte.h b/libpcsxcore/ix86/iGte.h
index 46265814..17b3b3bc 100644
--- a/libpcsxcore/ix86/iGte.h
+++ b/libpcsxcore/ix86/iGte.h
@@ -50,8 +50,8 @@ CP2_FUNC(SWC2);
CP2_FUNCNC(RTPS);
CP2_FUNC(OP);
CP2_FUNCNC(NCLIP);
-CP2_FUNCNC(DPCS);
-CP2_FUNCNC(INTPL);
+CP2_FUNC(DPCS);
+CP2_FUNC(INTPL);
CP2_FUNC(MVMVA);
CP2_FUNCNC(NCDS);
CP2_FUNCNC(NCDT);
@@ -61,7 +61,7 @@ CP2_FUNCNC(CC);
CP2_FUNCNC(NCS);
CP2_FUNCNC(NCT);
CP2_FUNC(SQR);
-CP2_FUNCNC(DCPL);
+CP2_FUNC(DCPL);
CP2_FUNCNC(DPCT);
CP2_FUNCNC(AVSZ3);
CP2_FUNCNC(AVSZ4);
diff --git a/libpcsxcore/ix86_64/iGte.h b/libpcsxcore/ix86_64/iGte.h
index e4c04c83..c0022e79 100644
--- a/libpcsxcore/ix86_64/iGte.h
+++ b/libpcsxcore/ix86_64/iGte.h
@@ -50,8 +50,8 @@ CP2_FUNC(SWC2);
CP2_FUNCNC(RTPS);
CP2_FUNC(OP);
CP2_FUNCNC(NCLIP);
-CP2_FUNCNC(DPCS);
-CP2_FUNCNC(INTPL);
+CP2_FUNC(DPCS);
+CP2_FUNC(INTPL);
CP2_FUNC(MVMVA);
CP2_FUNCNC(NCDS);
CP2_FUNCNC(NCDT);
@@ -61,7 +61,7 @@ CP2_FUNCNC(CC);
CP2_FUNCNC(NCS);
CP2_FUNCNC(NCT);
CP2_FUNC(SQR);
-CP2_FUNCNC(DCPL);
+CP2_FUNC(DCPL);
CP2_FUNCNC(DPCT);
CP2_FUNCNC(AVSZ3);
CP2_FUNCNC(AVSZ4);
diff --git a/libpcsxcore/ppc/pGte.h b/libpcsxcore/ppc/pGte.h
index 4294c066..b0edd4c3 100644
--- a/libpcsxcore/ppc/pGte.h
+++ b/libpcsxcore/ppc/pGte.h
@@ -58,8 +58,8 @@ CP2_FUNC(SWC2);
CP2_FUNCNC(RTPS);
CP2_FUNC(OP);
CP2_FUNCNC(NCLIP);
-CP2_FUNCNC(DPCS);
-CP2_FUNCNC(INTPL);
+CP2_FUNC(DPCS);
+CP2_FUNC(INTPL);
CP2_FUNC(MVMVA);
CP2_FUNCNC(NCDS);
CP2_FUNCNC(NCDT);
@@ -69,7 +69,7 @@ CP2_FUNCNC(CC);
CP2_FUNCNC(NCS);
CP2_FUNCNC(NCT);
CP2_FUNC(SQR);
-CP2_FUNCNC(DCPL);
+CP2_FUNC(DCPL);
CP2_FUNCNC(DPCT);
CP2_FUNCNC(AVSZ3);
CP2_FUNCNC(AVSZ4);