Move screen update to happen prior to calling the vblank callbacks.

Solves MT04639 and probably a lot more issues. In fact, most of hap's
recent changes to handling things on the falling edge are unnecessary 
now.
This commit is contained in:
Aaron Giles 2012-01-25 05:54:23 +00:00
parent 9a976893cd
commit 651e9aa99b

View File

@ -785,16 +785,16 @@ void screen_device::vblank_begin()
m_vblank_start_time = machine().time();
m_vblank_end_time = m_vblank_start_time + attotime(0, m_vblank_period);
// if this is the primary screen and we need to update now
if (this == machine().primary_screen && !(machine().config().m_video_attributes & VIDEO_UPDATE_AFTER_VBLANK))
machine().video().frame_update();
// call the screen specific callbacks
for (callback_item *item = m_callback_list.first(); item != NULL; item = item->next())
item->m_callback(*this, true);
if (!m_screen_vblank.isnull())
m_screen_vblank(*this, true);
// if this is the primary screen and we need to update now
if (this == machine().primary_screen && !(machine().config().m_video_attributes & VIDEO_UPDATE_AFTER_VBLANK))
machine().video().frame_update();
// reset the VBLANK start timer for the next frame
m_vblank_begin_timer->adjust(time_until_vblank_start());