mirror of
https://github.com/holub/mame
synced 2025-10-05 16:50:57 +03:00
created debugger_manager, now this one owns debug_view_manager (nw)
This commit is contained in:
parent
7dec0b4143
commit
f9a9eafba0
@ -10,6 +10,7 @@
|
||||
|
||||
#include "emu.h"
|
||||
#include "emuopts.h"
|
||||
#include "debugger.h"
|
||||
#include "debugcmd.h"
|
||||
#include "debugcon.h"
|
||||
#include "debugcpu.h"
|
||||
@ -1157,7 +1158,7 @@ static void execute_comment(running_machine &machine, int ref, int params, const
|
||||
|
||||
/* Now try adding the comment */
|
||||
cpu->debug()->comment_add(address, param[1], 0x00ff0000);
|
||||
cpu->machine().debug_view().update_all(DVT_DISASSEMBLY);
|
||||
cpu->machine().debugger().view().update_all(DVT_DISASSEMBLY);
|
||||
}
|
||||
|
||||
|
||||
@ -1181,7 +1182,7 @@ static void execute_comment_del(running_machine &machine, int ref, int params, c
|
||||
/* If it's a number, it must be an address */
|
||||
/* The bankoff and cbn will be pulled from what's currently active */
|
||||
cpu->debug()->comment_remove(address);
|
||||
cpu->machine().debug_view().update_all(DVT_DISASSEMBLY);
|
||||
cpu->machine().debugger().view().update_all(DVT_DISASSEMBLY);
|
||||
}
|
||||
|
||||
|
||||
|
@ -384,8 +384,8 @@ CMDERR debug_console_execute_command(running_machine &machine, const char *comma
|
||||
/* update all views */
|
||||
if (echo)
|
||||
{
|
||||
machine.debug_view().update_all();
|
||||
debugger_refresh_display(machine);
|
||||
machine.debugger().view().update_all();
|
||||
machine.debugger().refresh_display();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@ -483,7 +483,7 @@ void CLIB_DECL debug_console_printf(running_machine &machine, const char *format
|
||||
text_buffer_print(console_textbuf, buffer.c_str());
|
||||
|
||||
/* force an update of any console views */
|
||||
machine.debug_view().update_all(DVT_CONSOLE);
|
||||
machine.debugger().view().update_all(DVT_CONSOLE);
|
||||
}
|
||||
|
||||
|
||||
@ -501,7 +501,7 @@ void CLIB_DECL debug_console_vprintf(running_machine &machine, const char *forma
|
||||
text_buffer_print(console_textbuf, buffer.c_str());
|
||||
|
||||
/* force an update of any console views */
|
||||
machine.debug_view().update_all(DVT_CONSOLE);
|
||||
machine.debugger().view().update_all(DVT_CONSOLE);
|
||||
}
|
||||
|
||||
|
||||
@ -523,7 +523,7 @@ void CLIB_DECL debug_console_printf_wrap(running_machine &machine, int wrapcol,
|
||||
text_buffer_print_wrap(console_textbuf, buffer.c_str(), wrapcol);
|
||||
|
||||
/* force an update of any console views */
|
||||
machine.debug_view().update_all(DVT_CONSOLE);
|
||||
machine.debugger().view().update_all(DVT_CONSOLE);
|
||||
}
|
||||
|
||||
|
||||
@ -549,7 +549,7 @@ void debug_errorlog_write_line(const running_machine &machine, const char *line)
|
||||
text_buffer_print(errorlog_textbuf, line);
|
||||
|
||||
/* force an update of any log views */
|
||||
machine.debug_view().update_all(DVT_LOG);
|
||||
machine.debugger().view().update_all(DVT_LOG);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1729,8 +1729,8 @@ 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().flush_osd_updates();
|
||||
m_device.machine().debugger().view().update_all();
|
||||
m_device.machine().debugger().view().flush_osd_updates();
|
||||
global->last_periodic_update_time = osd_ticks();
|
||||
}
|
||||
|
||||
@ -1869,9 +1869,9 @@ void device_debug::instruction_hook(offs_t curpc)
|
||||
// update every 100 steps until we are within 200 of the end
|
||||
else if ((m_flags & DEBUG_FLAG_STEPPING_OUT) == 0 && (m_stepsleft < 200 || m_stepsleft % 100 == 0))
|
||||
{
|
||||
machine.debug_view().update_all();
|
||||
machine.debug_view().flush_osd_updates();
|
||||
debugger_refresh_display(machine);
|
||||
machine.debugger().view().update_all();
|
||||
machine.debugger().view().flush_osd_updates();
|
||||
machine.debugger().refresh_display();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1918,15 +1918,15 @@ void device_debug::instruction_hook(offs_t curpc)
|
||||
global->visiblecpu = &m_device;
|
||||
|
||||
// update all views
|
||||
machine.debug_view().update_all();
|
||||
debugger_refresh_display(m_device.machine());
|
||||
machine.debugger().view().update_all();
|
||||
machine.debugger().refresh_display();
|
||||
|
||||
// wait for the debugger; during this time, disable sound output
|
||||
m_device.machine().sound().debugger_mute(true);
|
||||
while (global->execution_state == EXECUTION_STATE_STOPPED)
|
||||
{
|
||||
// flush any pending updates before waiting again
|
||||
machine.debug_view().flush_osd_updates();
|
||||
machine.debugger().view().flush_osd_updates();
|
||||
|
||||
// clear the memory modified flag and wait
|
||||
global->memory_modified = false;
|
||||
@ -1937,8 +1937,8 @@ void device_debug::instruction_hook(offs_t curpc)
|
||||
// if something modified memory, update the screen
|
||||
if (global->memory_modified)
|
||||
{
|
||||
machine.debug_view().update_all(DVT_DISASSEMBLY);
|
||||
debugger_refresh_display(m_device.machine());
|
||||
machine.debugger().view().update_all(DVT_DISASSEMBLY);
|
||||
machine.debugger().refresh_display();
|
||||
}
|
||||
|
||||
// check for commands in the source file
|
||||
|
@ -9,6 +9,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "debugger.h"
|
||||
#include "dvbpoints.h"
|
||||
|
||||
|
||||
@ -178,7 +179,7 @@ void debug_view_breakpoints::view_click(const int button, const debug_view_xy& p
|
||||
// Enable / disable
|
||||
m_buffer[bpIndex]->setEnabled(!m_buffer[bpIndex]->enabled());
|
||||
|
||||
machine().debug_view().update_all(DVT_DISASSEMBLY);
|
||||
machine().debugger().view().update_all(DVT_DISASSEMBLY);
|
||||
}
|
||||
|
||||
begin_update();
|
||||
|
@ -33,27 +33,25 @@ static void debugger_exit(running_machine &machine);
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
CENTRAL INITIALIZATION POINT
|
||||
***************************************************************************/
|
||||
//**************************************************************************
|
||||
// DEBUGGER MANAGER
|
||||
//**************************************************************************
|
||||
|
||||
/*-------------------------------------------------
|
||||
debugger_init - start up all subsections
|
||||
-------------------------------------------------*/
|
||||
//-------------------------------------------------
|
||||
// debugger_manager - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
void debugger_init(running_machine &machine)
|
||||
debugger_manager::debugger_manager(running_machine &machine)
|
||||
: m_machine(machine)
|
||||
{
|
||||
/* only if debugging is enabled */
|
||||
if (machine.debug_flags & DEBUG_FLAG_ENABLED)
|
||||
{
|
||||
/* initialize the submodules */
|
||||
machine.m_debug_view = std::make_unique<debug_view_manager>(machine);
|
||||
m_debug_view = std::make_unique<debug_view_manager>(machine);
|
||||
debug_cpu_init(machine);
|
||||
debug_command_init(machine);
|
||||
debug_console_init(machine);
|
||||
|
||||
/* allocate a new entry for our global list */
|
||||
machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(debugger_exit), &machine));
|
||||
g_machine = &machine;
|
||||
|
||||
/* register an atexit handler if we haven't yet */
|
||||
@ -69,26 +67,32 @@ void debugger_init(running_machine &machine)
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
// debugger_manager - destructor
|
||||
-------------------------------------------------*/
|
||||
|
||||
debugger_manager::~debugger_manager()
|
||||
{
|
||||
g_machine = nullptr;
|
||||
}
|
||||
|
||||
void debugger_manager::initialize()
|
||||
{
|
||||
/* only if debugging is enabled */
|
||||
if (machine().debug_flags & DEBUG_FLAG_ENABLED)
|
||||
{
|
||||
debug_console_init(machine());
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
debugger_refresh_display - redraw the current
|
||||
refresh_display - redraw the current
|
||||
video display
|
||||
-------------------------------------------------*/
|
||||
|
||||
void debugger_refresh_display(running_machine &machine)
|
||||
void debugger_manager::refresh_display()
|
||||
{
|
||||
machine.video().frame_update(true);
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
debugger_exit - remove ourself from the
|
||||
global list of active machines for cleanup
|
||||
-------------------------------------------------*/
|
||||
|
||||
static void debugger_exit(running_machine &machine)
|
||||
{
|
||||
g_machine = nullptr;
|
||||
machine().video().frame_update(true);
|
||||
}
|
||||
|
||||
|
||||
|
@ -14,19 +14,36 @@
|
||||
|
||||
#include "debug/debugcpu.h"
|
||||
|
||||
class debug_view_manager;
|
||||
|
||||
// ======================> debugger_manager
|
||||
|
||||
class debugger_manager
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
debugger_manager(running_machine &machine);
|
||||
~debugger_manager();
|
||||
|
||||
void initialize();
|
||||
|
||||
/* redraw the current video display */
|
||||
void refresh_display();
|
||||
|
||||
// getters
|
||||
running_machine &machine() const { return m_machine; }
|
||||
debug_view_manager &view() const { assert(m_debug_view != nullptr); return *m_debug_view; }
|
||||
private:
|
||||
// internal state
|
||||
running_machine & m_machine; // reference to our machine
|
||||
std::unique_ptr<debug_view_manager> m_debug_view; // internal data from debugvw.cpp
|
||||
};
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
FUNCTION PROTOTYPES
|
||||
***************************************************************************/
|
||||
|
||||
/* ----- core debugger functions ----- */
|
||||
|
||||
/* initialize the debugger */
|
||||
void debugger_init(running_machine &machine);
|
||||
|
||||
/* redraw the current video display */
|
||||
void debugger_refresh_display(running_machine &machine);
|
||||
|
||||
/* OSD can call this to safely flush all traces in the event of a crash */
|
||||
void debugger_flush_all_traces_on_abnormal_exit(void);
|
||||
|
||||
|
@ -269,8 +269,8 @@ void running_machine::start()
|
||||
m_network = std::make_unique<network_manager>(*this);
|
||||
|
||||
// initialize the debugger
|
||||
if ((debug_flags & DEBUG_FLAG_ENABLED) != 0)
|
||||
debugger_init(*this);
|
||||
m_debugger = std::make_unique<debugger_manager>(*this);
|
||||
m_debugger->initialize();
|
||||
|
||||
m_render->resolve_tags();
|
||||
|
||||
|
@ -84,7 +84,6 @@ class sound_manager;
|
||||
class video_manager;
|
||||
class ui_manager;
|
||||
class tilemap_manager;
|
||||
class debug_view_manager;
|
||||
class network_manager;
|
||||
class bookkeeping_manager;
|
||||
class configuration_manager;
|
||||
@ -93,6 +92,7 @@ class ui_input_manager;
|
||||
class crosshair_manager;
|
||||
class image_manager;
|
||||
class rom_load_manager;
|
||||
class debugger_manager;
|
||||
class osd_interface;
|
||||
enum class config_type;
|
||||
|
||||
@ -139,7 +139,6 @@ class running_machine
|
||||
{
|
||||
DISABLE_COPYING(running_machine);
|
||||
|
||||
friend void debugger_init(running_machine &machine);
|
||||
friend class sound_manager;
|
||||
|
||||
typedef void (*logerror_callback)(const running_machine &machine, const char *string);
|
||||
@ -179,7 +178,7 @@ public:
|
||||
image_manager &image() const { assert(m_image != nullptr); return *m_image; }
|
||||
rom_load_manager &rom_load() const { assert(m_rom_load != nullptr); return *m_rom_load; }
|
||||
tilemap_manager &tilemap() const { assert(m_tilemap != nullptr); return *m_tilemap; }
|
||||
debug_view_manager &debug_view() const { assert(m_debug_view != nullptr); return *m_debug_view; }
|
||||
debugger_manager &debugger() const { assert(m_debugger != nullptr); return *m_debugger; }
|
||||
driver_device *driver_data() const { return &downcast<driver_device &>(root_device()); }
|
||||
template<class _DriverClass> _DriverClass *driver_data() const { return &downcast<_DriverClass &>(root_device()); }
|
||||
machine_phase phase() const { return m_current_phase; }
|
||||
@ -289,7 +288,6 @@ private:
|
||||
std::unique_ptr<ui_manager> m_ui; // internal data from ui.cpp
|
||||
std::unique_ptr<ui_input_manager> m_ui_input; // internal data from uiinput.cpp
|
||||
std::unique_ptr<tilemap_manager> m_tilemap; // internal data from tilemap.cpp
|
||||
std::unique_ptr<debug_view_manager> m_debug_view; // internal data from debugvw.cpp
|
||||
std::unique_ptr<network_manager> m_network; // internal data from network.cpp
|
||||
std::unique_ptr<bookkeeping_manager> m_bookkeeping;// internal data from bookkeeping.cpp
|
||||
std::unique_ptr<configuration_manager> m_configuration; // internal data from config.cpp
|
||||
@ -297,6 +295,7 @@ private:
|
||||
std::unique_ptr<crosshair_manager> m_crosshair; // internal data from crsshair.cpp
|
||||
std::unique_ptr<image_manager> m_image; // internal data from image.cpp
|
||||
std::unique_ptr<rom_load_manager> m_rom_load; // internal data from romload.cpp
|
||||
std::unique_ptr<debugger_manager> m_debugger; // internal data from debugger.cpp
|
||||
|
||||
// system state
|
||||
machine_phase m_current_phase; // current execution phase
|
||||
|
@ -674,8 +674,8 @@ void fd1094_regenerate_key(running_machine &machine)
|
||||
(*key_changed)(machine);
|
||||
|
||||
/* force all memory and disassembly views to update */
|
||||
machine.debug_view().update_all(DVT_MEMORY);
|
||||
machine.debug_view().update_all(DVT_DISASSEMBLY);
|
||||
machine.debugger().view().update_all(DVT_MEMORY);
|
||||
machine.debugger().view().update_all(DVT_DISASSEMBLY);
|
||||
|
||||
/* reset keydirty */
|
||||
keydirty = FALSE;
|
||||
@ -1008,8 +1008,8 @@ static void execute_fdstate(running_machine &machine, int ref, int params, const
|
||||
return;
|
||||
fd1094_set_state(keyregion, newstate);
|
||||
fd1094_regenerate_key(machine);
|
||||
machine.debug_view().update_all(DVT_MEMORY);
|
||||
machine.debug_view().update_all(DVT_DISASSEMBLY);
|
||||
machine.debugger().view().update_all(DVT_MEMORY);
|
||||
machine.debugger().view().update_all(DVT_DISASSEMBLY);
|
||||
}
|
||||
|
||||
/* 0 parameters displays the current state */
|
||||
|
@ -189,7 +189,7 @@ public:
|
||||
this->target = target;
|
||||
//dv->container = render_target_get_component_container(target, name, &pos);
|
||||
this->container = target->debug_alloc();
|
||||
this->view = machine.debug_view().alloc_view(type, dview_update, this);
|
||||
this->view = machine.debugger().view().alloc_view(type, dview_update, this);
|
||||
this->type = type;
|
||||
this->m_machine = &machine;
|
||||
this->state = flags | VIEW_STATE_NEEDS_UPDATE | VIEW_STATE_VISIBLE;
|
||||
@ -211,7 +211,7 @@ public:
|
||||
~DView()
|
||||
{
|
||||
//this->target->debug_free(*this->container);
|
||||
machine().debug_view().free_view(*this->view);
|
||||
machine().debugger().view().free_view(*this->view);
|
||||
}
|
||||
|
||||
running_machine &machine() const { assert(m_machine != nullptr); return *m_machine; }
|
||||
|
@ -228,7 +228,7 @@ static void debugwin_view_update(debug_view &view, void *osdprivate)
|
||||
return nil;
|
||||
type = t;
|
||||
machine = &m;
|
||||
view = machine->debug_view().alloc_view((debug_view_type)type, debugwin_view_update, self);
|
||||
view = machine->debugger().view().alloc_view((debug_view_type)type, debugwin_view_update, self);
|
||||
if (view == nil) {
|
||||
[self release];
|
||||
return nil;
|
||||
@ -260,7 +260,7 @@ static void debugwin_view_update(debug_view &view, void *osdprivate)
|
||||
|
||||
- (void)dealloc {
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
if (view != NULL) machine->debug_view().free_view(*view);
|
||||
if (view != NULL) machine->debugger().view().free_view(*view);
|
||||
if (font != nil) [font release];
|
||||
if (text != nil) [text release];
|
||||
[super dealloc];
|
||||
|
@ -188,8 +188,8 @@
|
||||
}
|
||||
|
||||
// fail to do this and the display doesn't update
|
||||
machine->debug_view().update_all();
|
||||
debugger_refresh_display(*machine);
|
||||
machine->debugger().view().update_all();
|
||||
machine->debugger().refresh_display();
|
||||
}
|
||||
}
|
||||
|
||||
@ -207,8 +207,8 @@
|
||||
"Breakpoint %X %s\n",
|
||||
(UINT32)bp->index(),
|
||||
bp->enabled() ? "enabled" : "disabled");
|
||||
machine->debug_view().update_all();
|
||||
debugger_refresh_display(*machine);
|
||||
machine->debugger().view().update_all();
|
||||
machine->debugger().refresh_display();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -165,8 +165,8 @@ void DasmWindow::toggleBreakpointAtCursor(bool changedTo)
|
||||
cpuinfo->breakpoint_clear(bpindex);
|
||||
debug_console_printf(*m_machine, "Breakpoint %X cleared\n", bpindex);
|
||||
}
|
||||
m_machine->debug_view().update_all();
|
||||
debugger_refresh_display(*m_machine);
|
||||
m_machine->debugger().view().update_all();
|
||||
m_machine->debugger()refresh_display();
|
||||
}
|
||||
|
||||
refreshAll();
|
||||
@ -190,8 +190,8 @@ void DasmWindow::enableBreakpointAtCursor(bool changedTo)
|
||||
{
|
||||
cpuinfo->breakpoint_enable(bp->index(), !bp->enabled());
|
||||
debug_console_printf(*m_machine, "Breakpoint %X %s\n", (UINT32)bp->index(), bp->enabled() ? "enabled" : "disabled");
|
||||
m_machine->debug_view().update_all();
|
||||
debugger_refresh_display(*m_machine);
|
||||
m_machine->debugger().view().update_all();
|
||||
m_machine->debugger().refresh_display();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,7 @@ DebuggerView::DebuggerView(const debug_view_type& type,
|
||||
viewFontRequest.setPointSize((selectedFontSize <= 0) ? 11 : selectedFontSize);
|
||||
setFont(viewFontRequest);
|
||||
|
||||
m_view = m_machine->debug_view().alloc_view(type,
|
||||
m_view = m_machine->debugger().view().alloc_view(type,
|
||||
DebuggerView::debuggerViewUpdate,
|
||||
this);
|
||||
|
||||
@ -41,7 +41,7 @@ DebuggerView::DebuggerView(const debug_view_type& type,
|
||||
DebuggerView::~DebuggerView()
|
||||
{
|
||||
if (m_machine && m_view)
|
||||
m_machine->debug_view().free_view(*m_view);
|
||||
m_machine->debugger().view().free_view(*m_view);
|
||||
}
|
||||
|
||||
void DebuggerView::paintEvent(QPaintEvent* event)
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
#include "debugwininfo.h"
|
||||
#include "uimetrics.h"
|
||||
|
||||
#include "debugger.h"
|
||||
#include "debug/debugcpu.h"
|
||||
|
||||
#include "strconv.h"
|
||||
@ -63,7 +63,7 @@ debugview_info::debugview_info(debugger_windows_interface &debugger, debugwin_in
|
||||
goto cleanup;
|
||||
|
||||
// create the debug view
|
||||
m_view = machine().debug_view().alloc_view(type, &debugview_info::static_update, this);
|
||||
m_view = machine().debugger().view().alloc_view(type, &debugview_info::static_update, this);
|
||||
if (m_view == NULL)
|
||||
goto cleanup;
|
||||
|
||||
@ -80,7 +80,7 @@ cleanup:
|
||||
DestroyWindow(m_wnd);
|
||||
m_wnd = NULL;
|
||||
if (m_view != NULL)
|
||||
machine().debug_view().free_view(*m_view);
|
||||
machine().debugger().view().free_view(*m_view);
|
||||
m_view = NULL;
|
||||
}
|
||||
|
||||
@ -90,7 +90,7 @@ debugview_info::~debugview_info()
|
||||
if (m_wnd != NULL)
|
||||
DestroyWindow(m_wnd);
|
||||
if (m_view)
|
||||
machine().debug_view().free_view(*m_view);
|
||||
machine().debugger().view().free_view(*m_view);
|
||||
}
|
||||
|
||||
|
||||
@ -733,7 +733,7 @@ LRESULT debugview_info::view_proc(UINT message, WPARAM wparam, LPARAM lparam)
|
||||
debug_view_xy topleft = m_view->visible_position();
|
||||
topleft.x = process_scroll(LOWORD(wparam), (HWND)lparam);
|
||||
m_view->set_visible_position(topleft);
|
||||
machine().debug_view().flush_osd_updates();
|
||||
machine().debugger().view().flush_osd_updates();
|
||||
break;
|
||||
}
|
||||
|
||||
@ -743,7 +743,7 @@ LRESULT debugview_info::view_proc(UINT message, WPARAM wparam, LPARAM lparam)
|
||||
debug_view_xy topleft = m_view->visible_position();
|
||||
topleft.y = process_scroll(LOWORD(wparam), (HWND)lparam);
|
||||
m_view->set_visible_position(topleft);
|
||||
machine().debug_view().flush_osd_updates();
|
||||
machine().debugger().view().flush_osd_updates();
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -190,8 +190,8 @@ bool disasmbasewin_info::handle_command(WPARAM wparam, LPARAM lparam)
|
||||
debug->breakpoint_clear(bpindex);
|
||||
debug_console_printf(machine(), "Breakpoint %X cleared\n", bpindex);
|
||||
}
|
||||
machine().debug_view().update_all();
|
||||
debugger_refresh_display(machine());
|
||||
machine().debugger().view().update_all();
|
||||
machine().debugger().refresh_display();
|
||||
}
|
||||
else if (dasmview->source_is_visible_cpu())
|
||||
{
|
||||
@ -223,8 +223,8 @@ bool disasmbasewin_info::handle_command(WPARAM wparam, LPARAM lparam)
|
||||
{
|
||||
debug->breakpoint_enable(bp->index(), !bp->enabled());
|
||||
debug_console_printf(machine(), "Breakpoint %X %s\n", (UINT32)bp->index(), bp->enabled() ? "enabled" : "disabled");
|
||||
machine().debug_view().update_all();
|
||||
debugger_refresh_display(machine());
|
||||
machine().debugger().view().update_all();
|
||||
machine().debugger().refresh_display();
|
||||
}
|
||||
else if (dasmview->source_is_visible_cpu())
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user