Interpreter: don't PanicAlert on write to SPR_HID2.
The alert apparently triggers on Midway Arcade Treasures 2; given that the game otherwise works fine, it's not a high priority to accurately emulate the bit in question. Fixes issue 7197.
This commit is contained in:
parent
68d0a32ef9
commit
002fb0b563
|
@ -293,28 +293,10 @@ void Interpreter::mtspr(UGeckoInstruction _inst)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SPR_HID2: // HID2
|
case SPR_HID2: // HID2
|
||||||
{
|
// TODO: generate illegal instruction for paired inst if PSE or LSQE
|
||||||
UReg_HID2 old_hid2;
|
// not set.
|
||||||
old_hid2.Hex = oldValue;
|
// TODO: disable write gather pipe if WPE not set
|
||||||
|
// TODO: emulate locked cache and DMA bits.
|
||||||
//if (HID2.LCE && !old_hid2.LCE)
|
|
||||||
// PanicAlert("Locked cache enabled!");
|
|
||||||
|
|
||||||
if (HID2.PSE == 0)
|
|
||||||
PanicAlert("WARNING: PSE (paired single enable) in HID2 was unset");
|
|
||||||
|
|
||||||
// bool WriteGatherPipeEnable = (bool)HID2.WPE; //TODO?
|
|
||||||
// bool LockedCacheEnable = (bool)HID2.LCE;
|
|
||||||
// int DMAQueueLength = HID2.DMAQL; // Ignore - our DMA:s are instantaneous
|
|
||||||
// bool PairedSingleEnable = HID2.PSE;
|
|
||||||
// bool QuantizeEnable = HID2.LSQE;
|
|
||||||
//TODO(ector): Protect LC memory if LCE is false.
|
|
||||||
//TODO(ector): Honor PSE.
|
|
||||||
|
|
||||||
//_assert_msg_(POWERPC, WriteGatherPipeEnable, "Write gather pipe not enabled!");
|
|
||||||
//if ((HID2.PSE == 0))
|
|
||||||
// MessageBox(nullptr, "PSE in HID2 is set", "Warning", MB_OK);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SPR_WPAR:
|
case SPR_WPAR:
|
||||||
|
|
Loading…
Reference in New Issue