Fixed VDP1 timing, fix for MT #04446 and #04447

This commit is contained in:
Angelo Salese 2011-08-09 15:35:48 +00:00
parent db9b929226
commit 6a54f9a56e

View File

@ -1798,9 +1798,6 @@ static TIMER_DEVICE_CALLBACK( saturn_scanline )
state->m_scu.ist |= (IRQ_HBLANK_IN);
}
if(scanline == (vblank_line+1)*y_step && STV_VDP1_VBE)
state->m_vdp1.framebuffer_clear_on_next_frame = 1;
if(scanline == (state->m_scu_regs[36] & 0x3ff)*y_step)
{
if(!(state->m_scu.ism & IRQ_TIMER_0))
@ -1828,10 +1825,13 @@ static TIMER_DEVICE_CALLBACK( saturn_scanline )
}
}
if(scanline == (vblank_line)*y_step)
if(scanline == (0)*y_step)
{
video_update_vdp1(timer.machine());
if(STV_VDP1_VBE)
state->m_vdp1.framebuffer_clear_on_next_frame = 1;
if(!(state->m_scu.ism & IRQ_VDP1_END))
{
device_set_input_line_and_vector(state->m_maincpu, 0x2, HOLD_LINE, 0x4d);