From b47c50ae5d26310e65b762451f052ede55dc17ee Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Thu, 1 Sep 2016 21:50:13 +0200 Subject: [PATCH] iop rec: add the missing LWC2/SWC2 (CP2 reg from/to mem) --- pcsx2/x86/iR3000Atables.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pcsx2/x86/iR3000Atables.cpp b/pcsx2/x86/iR3000Atables.cpp index 05a677960ab5b..4ea571b425e9e 100644 --- a/pcsx2/x86/iR3000Atables.cpp +++ b/pcsx2/x86/iR3000Atables.cpp @@ -1420,6 +1420,9 @@ REC_GTE_FUNC(CFC2); REC_GTE_FUNC(MTC2); REC_GTE_FUNC(CTC2); +REC_GTE_FUNC(LWC2); +REC_GTE_FUNC(SWC2); + // R3000A tables extern void (*rpsxBSC[64])(); @@ -1446,8 +1449,8 @@ void (*rpsxBSC[64])() = { rpsxNULL , rpsxNULL , rpsxNULL, rpsxNULL , rpsxNULL, rpsxNULL, rpsxNULL, rpsxNULL, rpsxLB , rpsxLH , rpsxLWL , rpsxLW , rpsxLBU , rpsxLHU , rpsxLWR , rpsxNULL, rpsxSB , rpsxSH , rpsxSWL , rpsxSW , rpsxNULL, rpsxNULL, rpsxSWR , rpsxNULL, - rpsxNULL , rpsxNULL , rpsxNULL, rpsxNULL , rpsxNULL, rpsxNULL, rpsxNULL, rpsxNULL, - rpsxNULL , rpsxNULL , rpsxNULL, rpsxNULL , rpsxNULL, rpsxNULL, rpsxNULL, rpsxNULL + rpsxNULL , rpsxNULL , rgteLWC2, rpsxNULL , rpsxNULL, rpsxNULL, rpsxNULL, rpsxNULL, + rpsxNULL , rpsxNULL , rgteSWC2, rpsxNULL , rpsxNULL, rpsxNULL, rpsxNULL, rpsxNULL }; void (*rpsxSPC[64])() = { @@ -1561,6 +1564,11 @@ void rpsxpropBSC(EEINST* prev, EEINST* pinst) rpsxpropSetRead(_Rs_); break; + case 50: // LWC2 + case 58: // SWC2 + // Operation on COP2 registers/memory. GPRs are left untouched + break; + default: rpsxpropSetWrite(_Rt_); rpsxpropSetRead(_Rs_);