diff --git a/Source/Project64-rsp/Interpreter CPU.cpp b/Source/Project64-rsp/Interpreter CPU.cpp index 58b620509..2c151c9d4 100644 --- a/Source/Project64-rsp/Interpreter CPU.cpp +++ b/Source/Project64-rsp/Interpreter CPU.cpp @@ -263,7 +263,7 @@ void BuildInterpreterCPU(void) RSP_Vector[15] = RSP_Vector_VMADH; RSP_Vector[16] = RSP_Vector_VADD; RSP_Vector[17] = RSP_Vector_VSUB; - RSP_Vector[18] = rsp_UnknownOpcode; + RSP_Vector[18] = RSP_Vector_VSUT; RSP_Vector[19] = RSP_Vector_VABS; RSP_Vector[20] = RSP_Vector_VADDC; RSP_Vector[21] = RSP_Vector_VSUBC; diff --git a/Source/Project64-rsp/Interpreter Ops.cpp b/Source/Project64-rsp/Interpreter Ops.cpp index 76b476c6c..2ea83f494 100644 --- a/Source/Project64-rsp/Interpreter Ops.cpp +++ b/Source/Project64-rsp/Interpreter Ops.cpp @@ -1266,6 +1266,10 @@ void RSP_Vector_VSUB(void) RSP_Vect[RSPOpC.vd] = Result; } +void RSP_Vector_VSUT(void) +{ +} + void RSP_Vector_VABS(void) { RSPVector Result; diff --git a/Source/Project64-rsp/Interpreter Ops.h b/Source/Project64-rsp/Interpreter Ops.h index dff58441e..a1ebddd81 100644 --- a/Source/Project64-rsp/Interpreter Ops.h +++ b/Source/Project64-rsp/Interpreter Ops.h @@ -89,6 +89,7 @@ void RSP_Vector_VMADN(void); void RSP_Vector_VMADH(void); void RSP_Vector_VADD(void); void RSP_Vector_VSUB(void); +void RSP_Vector_VSUT(void); void RSP_Vector_VABS(void); void RSP_Vector_VADDC(void); void RSP_Vector_VSUBC(void); diff --git a/Source/Project64-rsp/cpu/RSPOpcode.h b/Source/Project64-rsp/cpu/RSPOpcode.h index 1a3fc9d03..92a7c6ee6 100644 --- a/Source/Project64-rsp/cpu/RSPOpcode.h +++ b/Source/Project64-rsp/cpu/RSPOpcode.h @@ -167,6 +167,7 @@ enum RSPVectorOpCodes RSP_VECTOR_VMADH = 15, RSP_VECTOR_VADD = 16, RSP_VECTOR_VSUB = 17, + RSP_VECTOR_VSUT = 18, RSP_VECTOR_VABS = 19, RSP_VECTOR_VADDC = 20, RSP_VECTOR_VSUBC = 21, diff --git a/Source/Project64-rsp/cpu/RSPiInstruction.cpp b/Source/Project64-rsp/cpu/RSPiInstruction.cpp index 93cc239e2..58fe8f3f2 100644 --- a/Source/Project64-rsp/cpu/RSPiInstruction.cpp +++ b/Source/Project64-rsp/cpu/RSPiInstruction.cpp @@ -421,6 +421,10 @@ void RSPInstruction::DecodeCop2Name(void) strcpy(m_Name, "VABS"); sprintf(m_Param, "$v%d, $v%d, $v%d%s", m_Instruction.vd, m_Instruction.vs, m_Instruction.vt, ElementSpecifier(m_Instruction.e)); break; + case RSP_VECTOR_VSUT: + strcpy(m_Name, "VSUT"); + strcpy(m_Param, ""); + break; case RSP_VECTOR_VADDC: strcpy(m_Name, "VADDC"); sprintf(m_Param, "$v%d, $v%d, $v%d%s", m_Instruction.vd, m_Instruction.vs, m_Instruction.vt, ElementSpecifier(m_Instruction.e));