Merge pull request #269 from cxd4/i_dont_always_change_STATUS_FR_but_when_i_do_I_also_change_Status

updating FPU locations just if STATUS_FR was changed, not entire reg
This commit is contained in:
zilmar 2015-03-13 11:19:12 +11:00
commit 4ff155666b
2 changed files with 2 additions and 2 deletions

View File

@ -1229,7 +1229,7 @@ void R4300iOp32::COP0_MT (void) {
g_SystemTimer->UpdateCompareTimer(); g_SystemTimer->UpdateCompareTimer();
break; break;
case 12: //Status case 12: //Status
if ((_CP0[m_Opcode.rd] ^ _GPR[m_Opcode.rt].UW[0]) != 0) { if ((_CP0[m_Opcode.rd] & STATUS_FR) != (_GPR[m_Opcode.rt].UW[0] & STATUS_FR)) {
_CP0[m_Opcode.rd] = _GPR[m_Opcode.rt].UW[0]; _CP0[m_Opcode.rd] = _GPR[m_Opcode.rt].UW[0];
g_Reg->FixFpuLocations(); g_Reg->FixFpuLocations();
} else { } else {

View File

@ -1996,7 +1996,7 @@ void R4300iOp::COP0_MT (void)
g_SystemTimer->UpdateCompareTimer(); g_SystemTimer->UpdateCompareTimer();
break; break;
case 12: //Status case 12: //Status
if ((_CP0[m_Opcode.rd] ^ _GPR[m_Opcode.rt].UW[0]) != 0) { if ((_CP0[m_Opcode.rd] & STATUS_FR) != (_GPR[m_Opcode.rt].UW[0] & STATUS_FR)) {
_CP0[m_Opcode.rd] = _GPR[m_Opcode.rt].UW[0]; _CP0[m_Opcode.rd] = _GPR[m_Opcode.rt].UW[0];
g_Reg->FixFpuLocations(); g_Reg->FixFpuLocations();
} else { } else {