diff --git a/src/emu/video/tms9928a.c b/src/emu/video/tms9928a.c index a98836b80f6..4702e6f028a 100644 --- a/src/emu/video/tms9928a.c +++ b/src/emu/video/tms9928a.c @@ -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 ) ); }