Core: Add R4300iOp::COP1_W_CVT_W
This commit is contained in:
parent
2e14185f5a
commit
71ef28fd55
|
@ -626,7 +626,7 @@ R4300iOp::Func * R4300iOp::BuildInterpreter()
|
||||||
Jump_CoP1_W[33] = COP1_W_CVT_D;
|
Jump_CoP1_W[33] = COP1_W_CVT_D;
|
||||||
Jump_CoP1_W[34] = UnknownOpcode;
|
Jump_CoP1_W[34] = UnknownOpcode;
|
||||||
Jump_CoP1_W[35] = UnknownOpcode;
|
Jump_CoP1_W[35] = UnknownOpcode;
|
||||||
Jump_CoP1_W[36] = UnknownOpcode;
|
Jump_CoP1_W[36] = COP1_W_CVT_W;
|
||||||
Jump_CoP1_W[37] = UnknownOpcode;
|
Jump_CoP1_W[37] = UnknownOpcode;
|
||||||
Jump_CoP1_W[38] = UnknownOpcode;
|
Jump_CoP1_W[38] = UnknownOpcode;
|
||||||
Jump_CoP1_W[39] = UnknownOpcode;
|
Jump_CoP1_W[39] = UnknownOpcode;
|
||||||
|
@ -2939,6 +2939,19 @@ void R4300iOp::COP1_W_CVT_D()
|
||||||
*(uint64_t *)_FPR_D[m_Opcode.fd] = *(uint64_t *)&Result;
|
*(uint64_t *)_FPR_D[m_Opcode.fd] = *(uint64_t *)&Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void R4300iOp::COP1_W_CVT_W()
|
||||||
|
{
|
||||||
|
if (TestCop1UsableException())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
FPStatusReg & StatusReg = (FPStatusReg &)_FPCR[31];
|
||||||
|
StatusReg.Cause.UnimplementedOperation = 1;
|
||||||
|
g_Reg->DoFloatingPointException(g_System->m_PipelineStage == PIPELINE_STAGE_JUMP);
|
||||||
|
g_System->m_PipelineStage = PIPELINE_STAGE_JUMP;
|
||||||
|
g_System->m_JumpToLocation = (*_PROGRAM_COUNTER);
|
||||||
|
}
|
||||||
|
|
||||||
// COP1: L functions
|
// COP1: L functions
|
||||||
|
|
||||||
void R4300iOp::COP1_L_CVT_S()
|
void R4300iOp::COP1_L_CVT_S()
|
||||||
|
|
|
@ -209,6 +209,7 @@ public:
|
||||||
// COP1: W functions
|
// COP1: W functions
|
||||||
static void COP1_W_CVT_S();
|
static void COP1_W_CVT_S();
|
||||||
static void COP1_W_CVT_D();
|
static void COP1_W_CVT_D();
|
||||||
|
static void COP1_W_CVT_W();
|
||||||
|
|
||||||
// COP1: L functions
|
// COP1: L functions
|
||||||
static void COP1_L_CVT_S();
|
static void COP1_L_CVT_S();
|
||||||
|
|
Loading…
Reference in New Issue