Ignore exit flag on branch delay slot (#899)
This commit is contained in:
parent
d6b9babe1d
commit
532ccf929a
5 changed files with 42 additions and 1 deletions
|
@ -58,6 +58,8 @@ namespace Ryujinx.Graphics.Gpu
|
|||
|
||||
private int _pipeOp;
|
||||
|
||||
private bool _ignoreExitFlag;
|
||||
|
||||
private int _pc;
|
||||
|
||||
/// <summary>
|
||||
|
@ -232,12 +234,19 @@ namespace Ryujinx.Graphics.Gpu
|
|||
{
|
||||
FetchOpCode(mme);
|
||||
}
|
||||
else
|
||||
{
|
||||
// The delay slot instruction exit flag should be ignored.
|
||||
_ignoreExitFlag = true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
bool exit = (_opCode & 0x80) != 0;
|
||||
bool exit = (_opCode & 0x80) != 0 && !_ignoreExitFlag;
|
||||
|
||||
_ignoreExitFlag = false;
|
||||
|
||||
return !exit;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue