debug: dont update asm view in the start_hook()

The curpc can be in the middle of an instruction being decoded, so
it is not pertinent to recompute the disassembly starting from
this address.
This commit is contained in:
Fabrice Bellet 2014-12-03 17:29:13 +01:00 committed by Olivier Galibert
parent 146393cf11
commit 195e3de0f2
3 changed files with 16 additions and 1 deletions

View File

@ -1731,7 +1731,7 @@ void device_debug::start_hook(const attotime &endtime)
// check for periodic updates
if (&m_device == global->visiblecpu && osd_ticks() > global->last_periodic_update_time + osd_ticks_per_second()/4)
{
m_device.machine().debug_view().update_all();
m_device.machine().debug_view().update_all_except(DVT_DISASSEMBLY);
m_device.machine().debug_view().flush_osd_updates();
global->last_periodic_update_time = osd_ticks();
}

View File

@ -397,6 +397,20 @@ void debug_view_manager::free_view(debug_view &view)
}
//-------------------------------------------------
// update_all_except - force all views to refresh
// except one
//-------------------------------------------------
void debug_view_manager::update_all_except(debug_view_type type)
{
// loop over each view and force an update
for (debug_view *view = m_viewlist; view != NULL; view = view->next())
if (type == DVT_NONE || type != view->type())
view->force_update();
}
//-------------------------------------------------
// update_all - force all views to refresh
//-------------------------------------------------

View File

@ -240,6 +240,7 @@ public:
// update helpers
void update_all(debug_view_type type = DVT_NONE);
void update_all_except(debug_view_type type = DVT_NONE);
void flush_osd_updates();
private: