mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
relocated scanline timer start at the first active pixel instead of left border, this makes vdp interrupt timing accurate
This commit is contained in:
parent
900ddb7a9b
commit
b9e1ceeff4
@ -300,7 +300,7 @@ void tms9928a_device::device_timer(emu_timer &timer, device_timer_id id, int par
|
||||
for ( int i = 0; i < TMS9928A_TOTAL_HORZ; i++ )
|
||||
p[i] = BackColour;
|
||||
|
||||
/* vblank is set 1 line after end of active display */
|
||||
/* vblank is set at the last cycle of the first inactive line */
|
||||
if ( y == 193 )
|
||||
{
|
||||
m_StatusReg |= 0x80;
|
||||
@ -581,7 +581,7 @@ void tms9928a_device::device_timer(emu_timer &timer, device_timer_id id, int par
|
||||
}
|
||||
|
||||
/* Schedule next callback */
|
||||
m_line_timer->adjust( m_screen->time_until_pos( ( raw_vpos + 1 ) % m_screen->height() , 0 ) );
|
||||
m_line_timer->adjust( m_screen->time_until_pos( ( raw_vpos + 1 ) % m_screen->height() , TMS9928A_HORZ_DISPLAY_START ) );
|
||||
}
|
||||
|
||||
|
||||
@ -672,6 +672,6 @@ void tms9928a_device::device_reset()
|
||||
m_latch = 0;
|
||||
m_mode = 0;
|
||||
|
||||
m_line_timer->adjust( m_screen->time_until_pos( 0, 0 ) );
|
||||
m_line_timer->adjust( m_screen->time_until_pos( 0, TMS9928A_HORZ_DISPLAY_START ) );
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user