Forced the exception check only for ARAM DMA transfers.

Removed the Eternal Darkness boot hack and replaced it with an exception check.
This commit is contained in:
skidau
2013-03-26 08:23:20 +11:00
parent dfa1845ae1
commit 0ccaaee38c
4 changed files with 9 additions and 18 deletions

View File

@ -642,14 +642,11 @@ void SetCpStatusRegister()
void SetCpControlRegister()
{
// If the new fifo is being attached We make sure there wont be SetFinish event pending.
// This protection fix eternal darkness booting, because the second SetFinish event when it is booting
// seems invalid or has a bug and hang the game.
// If the new fifo is being attached, force an exception check
// This fixes the hang while booting Eternal Darkness
if (!fifo.bFF_GPReadEnable && m_CPCtrlReg.GPReadEnable && !m_CPCtrlReg.BPEnable)
{
ProcessFifoEvents();
PixelEngine::ResetSetFinish();
CoreTiming::ForceExceptionCheck(0);
}
fifo.bFF_BPInt = m_CPCtrlReg.BPInt;