Tweaked the VBeam logic enough to fix Endless Ocean 2. This might also fix a few other games that have been black screening on boot recently.
Fixes issue 3472. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6423 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
db35fe4100
commit
0c5ccf7156
|
@ -798,7 +798,8 @@ void Update()
|
|||
{
|
||||
// Progressive
|
||||
NewVBeamPos = s_lineCount + 1;
|
||||
BeginField(FIELD_PROGRESSIVE);
|
||||
if (m_VBeamPos == 1)
|
||||
BeginField(FIELD_PROGRESSIVE);
|
||||
}
|
||||
else if (m_VBeamPos == s_upperFieldBegin)
|
||||
{
|
||||
|
@ -830,17 +831,15 @@ void Update()
|
|||
EndField();
|
||||
}
|
||||
|
||||
if (++m_VBeamPos > s_lineCount)
|
||||
m_VBeamPos = (NewVBeamPos > s_lineCount) ? 1 : NewVBeamPos;
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
if (m_VBeamPos <= m_InterruptRegister[i].VCT && m_InterruptRegister[i].VCT < NewVBeamPos)
|
||||
if (m_VBeamPos == m_InterruptRegister[i].VCT)
|
||||
m_InterruptRegister[i].IR_INT = 1;
|
||||
}
|
||||
UpdateInterrupts();
|
||||
|
||||
if (++m_VBeamPos > s_lineCount)
|
||||
{
|
||||
m_VBeamPos = (NewVBeamPos > s_lineCount) ? 1 : NewVBeamPos;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
|
Loading…
Reference in New Issue