From 9d231a83ad8c2d76145ad3bfadd2eb5fa949d769 Mon Sep 17 00:00:00 2001 From: Olivier Galibert Date: Sun, 27 Dec 2015 12:58:00 +0100 Subject: qt5 debugger port [O. Galibert] --- src/osd/modules/debugger/qt/debuggerview.cpp | 131 ++------------------------- 1 file changed, 10 insertions(+), 121 deletions(-) (limited to 'src/osd/modules/debugger/qt/debuggerview.cpp') diff --git a/src/osd/modules/debugger/qt/debuggerview.cpp b/src/osd/modules/debugger/qt/debuggerview.cpp index d1be4815288..c0cefdda759 100644 --- a/src/osd/modules/debugger/qt/debuggerview.cpp +++ b/src/osd/modules/debugger/qt/debuggerview.cpp @@ -2,6 +2,11 @@ // copyright-holders:Andrew Gardner #define NO_MEM_TRACKING +#include +#include +#include +#include + #include "debuggerview.h" #include "modules/lib/osdobj_common.h" @@ -28,10 +33,10 @@ DebuggerView::DebuggerView(const debug_view_type& type, DebuggerView::debuggerViewUpdate, this); - connect(verticalScrollBar(), SIGNAL(valueChanged(int)), - this, SLOT(verticalScrollSlot(int))); - connect(horizontalScrollBar(), SIGNAL(valueChanged(int)), - this, SLOT(horizontalScrollSlot(int))); + connect(verticalScrollBar(), &QScrollBar::valueChanged, + this, &DebuggerView::verticalScrollSlot); + connect(horizontalScrollBar(), &QScrollBar::valueChanged, + this, &DebuggerView::horizontalScrollSlot); } @@ -41,127 +46,12 @@ DebuggerView::~DebuggerView() m_machine->debug_view().free_view(*m_view); } -// TODO: remove this version no later than January 1, 2015 -#if QT_VERSION < QT_VERSION_CHECK(4, 7, 0) -void DebuggerView::paintEvent(QPaintEvent* event) -{ - // Tell the MAME debug view how much real estate is available - QFontMetrics actualFont = fontMetrics(); - const int fontWidth = MAX(1, actualFont.width('_')); - const int fontHeight = MAX(1, actualFont.height()); - m_view->set_visible_size(debug_view_xy(width()/fontWidth, height()/fontHeight)); - - - // Handle the scroll bars - const int horizontalScrollCharDiff = m_view->total_size().x - m_view->visible_size().x; - const int horizontalScrollSize = horizontalScrollCharDiff < 0 ? 0 : horizontalScrollCharDiff; - horizontalScrollBar()->setRange(0, horizontalScrollSize); - - // If the horizontal scroll bar appears, make sure to adjust the vertical scrollbar accordingly - const int verticalScrollAdjust = horizontalScrollSize > 0 ? 1 : 0; - - const int verticalScrollCharDiff = m_view->total_size().y - m_view->visible_size().y; - const int verticalScrollSize = verticalScrollCharDiff < 0 ? 0 : verticalScrollCharDiff+verticalScrollAdjust; - bool atEnd = false; - if (verticalScrollBar()->value() == verticalScrollBar()->maximum()) - { - atEnd = true; - } - verticalScrollBar()->setRange(0, verticalScrollSize); - if (m_preferBottom && atEnd) - { - verticalScrollBar()->setValue(verticalScrollSize); - } - - - // Draw the viewport widget - QPainter painter(viewport()); - painter.fillRect(0, 0, width(), height(), QBrush(Qt::white)); - painter.setBackgroundMode(Qt::OpaqueMode); - painter.setBackground(QColor(255,255,255)); - - // Background control - QBrush bgBrush; - bgBrush.setStyle(Qt::SolidPattern); - painter.setPen(QPen(QColor(0,0,0))); - - size_t viewDataOffset = 0; - const debug_view_xy& visibleCharDims = m_view->visible_size(); - for (int y = 0; y < visibleCharDims.y; y++) - { - for (int x = 0; x < visibleCharDims.x; x++) - { - const unsigned char textAttr = m_view->viewdata()[viewDataOffset].attrib; - - if (x == 0 || textAttr != m_view->viewdata()[viewDataOffset-1].attrib) - { - // Text color handling - QColor fgColor(0,0,0); - QColor bgColor(255,255,255); - - if(textAttr & DCA_VISITED) - { - bgColor.setRgb(0xc6, 0xe2, 0xff); - } - if(textAttr & DCA_ANCILLARY) - { - bgColor.setRgb(0xe0, 0xe0, 0xe0); - } - if(textAttr & DCA_SELECTED) - { - bgColor.setRgb(0xff, 0x80, 0x80); - } - if(textAttr & DCA_CURRENT) - { - bgColor.setRgb(0xff, 0xff, 0x00); - } - if ((textAttr & DCA_SELECTED) && (textAttr & DCA_CURRENT)) - { - bgColor.setRgb(0xff,0xc0,0x80); - } - if(textAttr & DCA_CHANGED) - { - fgColor.setRgb(0xff, 0x00, 0x00); - } - if(textAttr & DCA_INVALID) - { - fgColor.setRgb(0x00, 0x00, 0xff); - } - if(textAttr & DCA_DISABLED) - { - fgColor.setRgb((fgColor.red() + bgColor.red()) >> 1, - (fgColor.green() + bgColor.green()) >> 1, - (fgColor.blue() + bgColor.blue()) >> 1); - } - if(textAttr & DCA_COMMENT) - { - fgColor.setRgb(0x00, 0x80, 0x00); - } - - bgBrush.setColor(bgColor); - painter.setBackground(bgBrush); - painter.setPen(QPen(fgColor)); - } - - // Your character is not guaranteed to take up the entire fontWidth x fontHeight, so fill before. - painter.fillRect(x*fontWidth, y*fontHeight, fontWidth, fontHeight, bgBrush); - - // There is a touchy interplay between font height, drawing difference, visible position, etc - // Fonts don't get drawn "down and to the left" like boxes, so some wiggling is needed. - painter.drawText(x*fontWidth, - (y*fontHeight + (fontHeight*0.80)), - QString(m_view->viewdata()[viewDataOffset].byte)); - viewDataOffset++; - } - } -} -#else void DebuggerView::paintEvent(QPaintEvent* event) { // Tell the MAME debug view how much real estate is available QFontMetrics actualFont = fontMetrics(); const double fontWidth = actualFont.width(QString(100, '_')) / 100.; - const int fontHeight = MAX(1, actualFont.height()); + const int fontHeight = MAX(1, actualFont.lineSpacing()); m_view->set_visible_size(debug_view_xy(width()/fontWidth, height()/fontHeight)); @@ -272,7 +162,6 @@ void DebuggerView::paintEvent(QPaintEvent* event) } } } -#endif void DebuggerView::keyPressEvent(QKeyEvent* event) { -- cgit v1.2.3-70-g09d2 From 08c8c26b629290d4776002ca14ccc2c1907b58fd Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 8 Jan 2016 13:42:19 +0100 Subject: remove usage of NO_MEM_TRACKING macro (nw) --- src/osd/modules/debugger/debugqt.cpp | 2 -- src/osd/modules/debugger/qt/breakpointswindow.cpp | 2 -- src/osd/modules/debugger/qt/dasmwindow.cpp | 2 -- src/osd/modules/debugger/qt/debuggerview.cpp | 2 -- src/osd/modules/debugger/qt/deviceinformationwindow.cpp | 2 -- src/osd/modules/debugger/qt/deviceswindow.cpp | 2 -- src/osd/modules/debugger/qt/logwindow.cpp | 2 -- src/osd/modules/debugger/qt/mainwindow.cpp | 2 -- src/osd/modules/debugger/qt/memorywindow.cpp | 2 -- src/osd/modules/debugger/qt/windowqt.cpp | 2 -- src/osd/sdl/sdlsocket.cpp | 1 - 11 files changed, 21 deletions(-) (limited to 'src/osd/modules/debugger/qt/debuggerview.cpp') diff --git a/src/osd/modules/debugger/debugqt.cpp b/src/osd/modules/debugger/debugqt.cpp index 75d925f1f24..195cf38ae89 100644 --- a/src/osd/modules/debugger/debugqt.cpp +++ b/src/osd/modules/debugger/debugqt.cpp @@ -8,8 +8,6 @@ // //============================================================ -#define NO_MEM_TRACKING - #include "debug_module.h" #include "modules/osdmodule.h" diff --git a/src/osd/modules/debugger/qt/breakpointswindow.cpp b/src/osd/modules/debugger/qt/breakpointswindow.cpp index e1d90146b18..7b30459c8e9 100644 --- a/src/osd/modules/debugger/qt/breakpointswindow.cpp +++ b/src/osd/modules/debugger/qt/breakpointswindow.cpp @@ -1,7 +1,5 @@ // license:BSD-3-Clause // copyright-holders:Andrew Gardner -#define NO_MEM_TRACKING - #include #include #include diff --git a/src/osd/modules/debugger/qt/dasmwindow.cpp b/src/osd/modules/debugger/qt/dasmwindow.cpp index 71b92c59ce4..c5f9347ec25 100644 --- a/src/osd/modules/debugger/qt/dasmwindow.cpp +++ b/src/osd/modules/debugger/qt/dasmwindow.cpp @@ -1,7 +1,5 @@ // license:BSD-3-Clause // copyright-holders:Andrew Gardner -#define NO_MEM_TRACKING - #include #include #include diff --git a/src/osd/modules/debugger/qt/debuggerview.cpp b/src/osd/modules/debugger/qt/debuggerview.cpp index c0cefdda759..319ee370392 100644 --- a/src/osd/modules/debugger/qt/debuggerview.cpp +++ b/src/osd/modules/debugger/qt/debuggerview.cpp @@ -1,7 +1,5 @@ // license:BSD-3-Clause // copyright-holders:Andrew Gardner -#define NO_MEM_TRACKING - #include #include #include diff --git a/src/osd/modules/debugger/qt/deviceinformationwindow.cpp b/src/osd/modules/debugger/qt/deviceinformationwindow.cpp index ca6913f0b06..54cc4406d23 100644 --- a/src/osd/modules/debugger/qt/deviceinformationwindow.cpp +++ b/src/osd/modules/debugger/qt/deviceinformationwindow.cpp @@ -1,7 +1,5 @@ // license:BSD-3-Clause // copyright-holders:Andrew Gardner -#define NO_MEM_TRACKING - #include #include #include diff --git a/src/osd/modules/debugger/qt/deviceswindow.cpp b/src/osd/modules/debugger/qt/deviceswindow.cpp index 75d84f4bc7e..b9c8f276f69 100644 --- a/src/osd/modules/debugger/qt/deviceswindow.cpp +++ b/src/osd/modules/debugger/qt/deviceswindow.cpp @@ -1,7 +1,5 @@ // license:BSD-3-Clause // copyright-holders:Andrew Gardner -#define NO_MEM_TRACKING - #include "deviceswindow.h" #include "deviceinformationwindow.h" diff --git a/src/osd/modules/debugger/qt/logwindow.cpp b/src/osd/modules/debugger/qt/logwindow.cpp index 38cb33d0f0b..b6e704cd5c6 100644 --- a/src/osd/modules/debugger/qt/logwindow.cpp +++ b/src/osd/modules/debugger/qt/logwindow.cpp @@ -1,7 +1,5 @@ // license:BSD-3-Clause // copyright-holders:Andrew Gardner -#define NO_MEM_TRACKING - #include #include "logwindow.h" diff --git a/src/osd/modules/debugger/qt/mainwindow.cpp b/src/osd/modules/debugger/qt/mainwindow.cpp index 12b6a09dd77..ef4a3ea809c 100644 --- a/src/osd/modules/debugger/qt/mainwindow.cpp +++ b/src/osd/modules/debugger/qt/mainwindow.cpp @@ -1,7 +1,5 @@ // license:BSD-3-Clause // copyright-holders:Andrew Gardner -#define NO_MEM_TRACKING - #include #include #include diff --git a/src/osd/modules/debugger/qt/memorywindow.cpp b/src/osd/modules/debugger/qt/memorywindow.cpp index 925c8b86bd1..3992dc0fd85 100644 --- a/src/osd/modules/debugger/qt/memorywindow.cpp +++ b/src/osd/modules/debugger/qt/memorywindow.cpp @@ -1,7 +1,5 @@ // license:BSD-3-Clause // copyright-holders:Andrew Gardner -#define NO_MEM_TRACKING - #include #include #include diff --git a/src/osd/modules/debugger/qt/windowqt.cpp b/src/osd/modules/debugger/qt/windowqt.cpp index 01b4983ec06..adaf96ab2e1 100644 --- a/src/osd/modules/debugger/qt/windowqt.cpp +++ b/src/osd/modules/debugger/qt/windowqt.cpp @@ -1,7 +1,5 @@ // license:BSD-3-Clause // copyright-holders:Andrew Gardner -#define NO_MEM_TRACKING - #include #include diff --git a/src/osd/sdl/sdlsocket.cpp b/src/osd/sdl/sdlsocket.cpp index 549729bf3e2..5d3e7030deb 100644 --- a/src/osd/sdl/sdlsocket.cpp +++ b/src/osd/sdl/sdlsocket.cpp @@ -24,7 +24,6 @@ #include #include -#define NO_MEM_TRACKING #include "emu.h" #include "sdlfile.h" -- cgit v1.2.3-70-g09d2 From f9a9eafba08d2caf032f8a0e1c318dd46b8448a8 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Tue, 12 Jan 2016 09:50:59 +0100 Subject: created debugger_manager, now this one owns debug_view_manager (nw) --- src/emu/debug/debugcmd.cpp | 5 ++- src/emu/debug/debugcon.cpp | 12 +++--- src/emu/debug/debugcpu.cpp | 20 +++++----- src/emu/debug/dvbpoints.cpp | 3 +- src/emu/debugger.cpp | 44 ++++++++++++---------- src/emu/debugger.h | 33 ++++++++++++---- src/emu/machine.cpp | 4 +- src/emu/machine.h | 7 ++-- src/mame/machine/fddebug.cpp | 8 ++-- src/osd/modules/debugger/debugint.cpp | 4 +- src/osd/modules/debugger/osx/debugview.mm | 4 +- src/osd/modules/debugger/osx/disassemblyviewer.mm | 8 ++-- src/osd/modules/debugger/qt/dasmwindow.cpp | 8 ++-- src/osd/modules/debugger/qt/debuggerview.cpp | 4 +- src/osd/modules/debugger/win/debugviewinfo.cpp | 12 +++--- src/osd/modules/debugger/win/disasmbasewininfo.cpp | 8 ++-- 16 files changed, 103 insertions(+), 81 deletions(-) (limited to 'src/osd/modules/debugger/qt/debuggerview.cpp') diff --git a/src/emu/debug/debugcmd.cpp b/src/emu/debug/debugcmd.cpp index 328079095c9..507b8b34860 100644 --- a/src/emu/debug/debugcmd.cpp +++ b/src/emu/debug/debugcmd.cpp @@ -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); } diff --git a/src/emu/debug/debugcon.cpp b/src/emu/debug/debugcon.cpp index 9b5bd969c83..51fa30f0489 100644 --- a/src/emu/debug/debugcon.cpp +++ b/src/emu/debug/debugcon.cpp @@ -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); } diff --git a/src/emu/debug/debugcpu.cpp b/src/emu/debug/debugcpu.cpp index d0a942b4a21..157446aac76 100644 --- a/src/emu/debug/debugcpu.cpp +++ b/src/emu/debug/debugcpu.cpp @@ -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 diff --git a/src/emu/debug/dvbpoints.cpp b/src/emu/debug/dvbpoints.cpp index 919f352842f..ec8d0727f7f 100644 --- a/src/emu/debug/dvbpoints.cpp +++ b/src/emu/debug/dvbpoints.cpp @@ -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(); diff --git a/src/emu/debugger.cpp b/src/emu/debugger.cpp index f246407cd92..790e3d6ed63 100644 --- a/src/emu/debugger.cpp +++ b/src/emu/debugger.cpp @@ -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(machine); + m_debug_view = std::make_unique(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_refresh_display - redraw the current - video display +// debugger_manager - destructor -------------------------------------------------*/ -void debugger_refresh_display(running_machine &machine) +debugger_manager::~debugger_manager() { - machine.video().frame_update(true); + g_machine = nullptr; } +void debugger_manager::initialize() +{ + /* only if debugging is enabled */ + if (machine().debug_flags & DEBUG_FLAG_ENABLED) + { + debug_console_init(machine()); + } +} /*------------------------------------------------- - debugger_exit - remove ourself from the - global list of active machines for cleanup + refresh_display - redraw the current + video display -------------------------------------------------*/ -static void debugger_exit(running_machine &machine) +void debugger_manager::refresh_display() { - g_machine = nullptr; + machine().video().frame_update(true); } diff --git a/src/emu/debugger.h b/src/emu/debugger.h index bde3ad7572b..c75fc7ba341 100644 --- a/src/emu/debugger.h +++ b/src/emu/debugger.h @@ -14,18 +14,35 @@ #include "debug/debugcpu.h" +class debug_view_manager; -/*************************************************************************** - FUNCTION PROTOTYPES -***************************************************************************/ +// ======================> debugger_manager + +class debugger_manager +{ +public: + // construction/destruction + debugger_manager(running_machine &machine); + ~debugger_manager(); -/* ----- core debugger functions ----- */ + void initialize(); -/* initialize the debugger */ -void debugger_init(running_machine &machine); + /* redraw the current video display */ + void refresh_display(); -/* redraw the current video display */ -void debugger_refresh_display(running_machine &machine); + // 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 m_debug_view; // internal data from debugvw.cpp +}; + + +/*************************************************************************** + FUNCTION PROTOTYPES +***************************************************************************/ /* OSD can call this to safely flush all traces in the event of a crash */ void debugger_flush_all_traces_on_abnormal_exit(void); diff --git a/src/emu/machine.cpp b/src/emu/machine.cpp index 6b1ba218dfd..e309509e0ea 100644 --- a/src/emu/machine.cpp +++ b/src/emu/machine.cpp @@ -269,8 +269,8 @@ void running_machine::start() m_network = std::make_unique(*this); // initialize the debugger - if ((debug_flags & DEBUG_FLAG_ENABLED) != 0) - debugger_init(*this); + m_debugger = std::make_unique(*this); + m_debugger->initialize(); m_render->resolve_tags(); diff --git a/src/emu/machine.h b/src/emu/machine.h index 8f5d1f05d39..3350c3d50a5 100644 --- a/src/emu/machine.h +++ b/src/emu/machine.h @@ -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(root_device()); } template _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 m_ui; // internal data from ui.cpp std::unique_ptr m_ui_input; // internal data from uiinput.cpp std::unique_ptr m_tilemap; // internal data from tilemap.cpp - std::unique_ptr m_debug_view; // internal data from debugvw.cpp std::unique_ptr m_network; // internal data from network.cpp std::unique_ptr m_bookkeeping;// internal data from bookkeeping.cpp std::unique_ptr m_configuration; // internal data from config.cpp @@ -297,6 +295,7 @@ private: std::unique_ptr m_crosshair; // internal data from crsshair.cpp std::unique_ptr m_image; // internal data from image.cpp std::unique_ptr m_rom_load; // internal data from romload.cpp + std::unique_ptr m_debugger; // internal data from debugger.cpp // system state machine_phase m_current_phase; // current execution phase diff --git a/src/mame/machine/fddebug.cpp b/src/mame/machine/fddebug.cpp index fcb4a46bff8..1dd6dc355bb 100644 --- a/src/mame/machine/fddebug.cpp +++ b/src/mame/machine/fddebug.cpp @@ -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 */ diff --git a/src/osd/modules/debugger/debugint.cpp b/src/osd/modules/debugger/debugint.cpp index 0f77f08f802..a43f3a7ede7 100644 --- a/src/osd/modules/debugger/debugint.cpp +++ b/src/osd/modules/debugger/debugint.cpp @@ -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; } diff --git a/src/osd/modules/debugger/osx/debugview.mm b/src/osd/modules/debugger/osx/debugview.mm index e793c649d9e..2fa1d14c4f1 100644 --- a/src/osd/modules/debugger/osx/debugview.mm +++ b/src/osd/modules/debugger/osx/debugview.mm @@ -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]; diff --git a/src/osd/modules/debugger/osx/disassemblyviewer.mm b/src/osd/modules/debugger/osx/disassemblyviewer.mm index d50bb34262e..234c9784ae5 100644 --- a/src/osd/modules/debugger/osx/disassemblyviewer.mm +++ b/src/osd/modules/debugger/osx/disassemblyviewer.mm @@ -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(); } } } diff --git a/src/osd/modules/debugger/qt/dasmwindow.cpp b/src/osd/modules/debugger/qt/dasmwindow.cpp index c5f9347ec25..517e522607f 100644 --- a/src/osd/modules/debugger/qt/dasmwindow.cpp +++ b/src/osd/modules/debugger/qt/dasmwindow.cpp @@ -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(); } } diff --git a/src/osd/modules/debugger/qt/debuggerview.cpp b/src/osd/modules/debugger/qt/debuggerview.cpp index 319ee370392..8d6dacd7c49 100644 --- a/src/osd/modules/debugger/qt/debuggerview.cpp +++ b/src/osd/modules/debugger/qt/debuggerview.cpp @@ -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) diff --git a/src/osd/modules/debugger/win/debugviewinfo.cpp b/src/osd/modules/debugger/win/debugviewinfo.cpp index 1e36655d65d..4c18fbf129b 100644 --- a/src/osd/modules/debugger/win/debugviewinfo.cpp +++ b/src/osd/modules/debugger/win/debugviewinfo.cpp @@ -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; } diff --git a/src/osd/modules/debugger/win/disasmbasewininfo.cpp b/src/osd/modules/debugger/win/disasmbasewininfo.cpp index f7f516ca24c..bc10ba62c8b 100644 --- a/src/osd/modules/debugger/win/disasmbasewininfo.cpp +++ b/src/osd/modules/debugger/win/disasmbasewininfo.cpp @@ -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()) { -- cgit v1.2.3-70-g09d2 From 79fd7e15d14b681bdeaa49237b7ad7b33c8c4b94 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Tue, 12 Jan 2016 10:02:55 +0100 Subject: Fix linux compile --- src/emu/debugger.cpp | 10 ---------- src/osd/modules/debugger/qt/dasmwindow.cpp | 2 +- src/osd/modules/debugger/qt/debuggerview.cpp | 1 + 3 files changed, 2 insertions(+), 11 deletions(-) (limited to 'src/osd/modules/debugger/qt/debuggerview.cpp') diff --git a/src/emu/debugger.cpp b/src/emu/debugger.cpp index 790e3d6ed63..9acdb369398 100644 --- a/src/emu/debugger.cpp +++ b/src/emu/debugger.cpp @@ -23,16 +23,6 @@ static running_machine *g_machine = nullptr; static int g_atexit_registered = FALSE; - - -/*************************************************************************** - FUNCTION PROTOTYPES -***************************************************************************/ - -static void debugger_exit(running_machine &machine); - - - //************************************************************************** // DEBUGGER MANAGER //************************************************************************** diff --git a/src/osd/modules/debugger/qt/dasmwindow.cpp b/src/osd/modules/debugger/qt/dasmwindow.cpp index 517e522607f..524b49bc4fc 100644 --- a/src/osd/modules/debugger/qt/dasmwindow.cpp +++ b/src/osd/modules/debugger/qt/dasmwindow.cpp @@ -166,7 +166,7 @@ void DasmWindow::toggleBreakpointAtCursor(bool changedTo) debug_console_printf(*m_machine, "Breakpoint %X cleared\n", bpindex); } m_machine->debugger().view().update_all(); - m_machine->debugger()refresh_display(); + m_machine->debugger().refresh_display(); } refreshAll(); diff --git a/src/osd/modules/debugger/qt/debuggerview.cpp b/src/osd/modules/debugger/qt/debuggerview.cpp index 8d6dacd7c49..063a8d61c25 100644 --- a/src/osd/modules/debugger/qt/debuggerview.cpp +++ b/src/osd/modules/debugger/qt/debuggerview.cpp @@ -5,6 +5,7 @@ #include #include +#include "debugger.h" #include "debuggerview.h" #include "modules/lib/osdobj_common.h" -- cgit v1.2.3-70-g09d2 From 807265ed21396f4ae950d144513f02c828bc95d6 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Tue, 12 Jan 2016 12:00:56 +0100 Subject: put debug_view back in machine due to issues with QT (nw) --- src/emu/debug/debugcmd.cpp | 4 +-- src/emu/debug/debugcon.cpp | 10 ++++---- src/emu/debug/debugcpu.cpp | 14 +++++------ src/emu/debug/dvbpoints.cpp | 2 +- src/emu/debugger.cpp | 29 +++++++++------------- src/emu/debugger.h | 3 --- src/emu/machine.cpp | 8 ++++-- src/emu/machine.h | 3 +++ src/mame/machine/fddebug.cpp | 8 +++--- src/osd/modules/debugger/debugint.cpp | 4 +-- src/osd/modules/debugger/osx/debugview.mm | 5 ++-- src/osd/modules/debugger/osx/disassemblyviewer.mm | 4 +-- src/osd/modules/debugger/qt/dasmwindow.cpp | 4 +-- src/osd/modules/debugger/qt/debuggerview.cpp | 5 ++-- src/osd/modules/debugger/win/debugviewinfo.cpp | 10 ++++---- src/osd/modules/debugger/win/disasmbasewininfo.cpp | 4 +-- 16 files changed, 57 insertions(+), 60 deletions(-) (limited to 'src/osd/modules/debugger/qt/debuggerview.cpp') diff --git a/src/emu/debug/debugcmd.cpp b/src/emu/debug/debugcmd.cpp index 507b8b34860..4558413b2c3 100644 --- a/src/emu/debug/debugcmd.cpp +++ b/src/emu/debug/debugcmd.cpp @@ -1158,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().debugger().view().update_all(DVT_DISASSEMBLY); + cpu->machine().debug_view().update_all(DVT_DISASSEMBLY); } @@ -1182,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().debugger().view().update_all(DVT_DISASSEMBLY); + cpu->machine().debug_view().update_all(DVT_DISASSEMBLY); } diff --git a/src/emu/debug/debugcon.cpp b/src/emu/debug/debugcon.cpp index 51fa30f0489..7bf80dd6118 100644 --- a/src/emu/debug/debugcon.cpp +++ b/src/emu/debug/debugcon.cpp @@ -384,7 +384,7 @@ CMDERR debug_console_execute_command(running_machine &machine, const char *comma /* update all views */ if (echo) { - machine.debugger().view().update_all(); + machine.debug_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.debugger().view().update_all(DVT_CONSOLE); + machine.debug_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.debugger().view().update_all(DVT_CONSOLE); + machine.debug_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.debugger().view().update_all(DVT_CONSOLE); + machine.debug_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.debugger().view().update_all(DVT_LOG); + machine.debug_view().update_all(DVT_LOG); } diff --git a/src/emu/debug/debugcpu.cpp b/src/emu/debug/debugcpu.cpp index 157446aac76..82c175251fe 100644 --- a/src/emu/debug/debugcpu.cpp +++ b/src/emu/debug/debugcpu.cpp @@ -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().debugger().view().update_all(); - m_device.machine().debugger().view().flush_osd_updates(); + m_device.machine().debug_view().update_all(); + m_device.machine().debug_view().flush_osd_updates(); global->last_periodic_update_time = osd_ticks(); } @@ -1869,8 +1869,8 @@ 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.debugger().view().update_all(); - machine.debugger().view().flush_osd_updates(); + machine.debug_view().update_all(); + machine.debug_view().flush_osd_updates(); machine.debugger().refresh_display(); } } @@ -1918,7 +1918,7 @@ void device_debug::instruction_hook(offs_t curpc) global->visiblecpu = &m_device; // update all views - machine.debugger().view().update_all(); + machine.debug_view().update_all(); machine.debugger().refresh_display(); // wait for the debugger; during this time, disable sound output @@ -1926,7 +1926,7 @@ void device_debug::instruction_hook(offs_t curpc) while (global->execution_state == EXECUTION_STATE_STOPPED) { // flush any pending updates before waiting again - machine.debugger().view().flush_osd_updates(); + machine.debug_view().flush_osd_updates(); // clear the memory modified flag and wait global->memory_modified = false; @@ -1937,7 +1937,7 @@ void device_debug::instruction_hook(offs_t curpc) // if something modified memory, update the screen if (global->memory_modified) { - machine.debugger().view().update_all(DVT_DISASSEMBLY); + machine.debug_view().update_all(DVT_DISASSEMBLY); machine.debugger().refresh_display(); } diff --git a/src/emu/debug/dvbpoints.cpp b/src/emu/debug/dvbpoints.cpp index ec8d0727f7f..efb604e385d 100644 --- a/src/emu/debug/dvbpoints.cpp +++ b/src/emu/debug/dvbpoints.cpp @@ -179,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().debugger().view().update_all(DVT_DISASSEMBLY); + machine().debug_view().update_all(DVT_DISASSEMBLY); } begin_update(); diff --git a/src/emu/debugger.cpp b/src/emu/debugger.cpp index 9acdb369398..849b16d068d 100644 --- a/src/emu/debugger.cpp +++ b/src/emu/debugger.cpp @@ -34,27 +34,22 @@ static int g_atexit_registered = FALSE; 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 */ - m_debug_view = std::make_unique(machine); - debug_cpu_init(machine); - debug_command_init(machine); + /* initialize the submodules */ + debug_cpu_init(machine); + debug_command_init(machine); - g_machine = &machine; + g_machine = &machine; - /* register an atexit handler if we haven't yet */ - if (!g_atexit_registered) - atexit(debugger_flush_all_traces_on_abnormal_exit); - g_atexit_registered = TRUE; + /* register an atexit handler if we haven't yet */ + if (!g_atexit_registered) + atexit(debugger_flush_all_traces_on_abnormal_exit); + g_atexit_registered = TRUE; - /* listen in on the errorlog */ - machine.add_logerror_callback(debug_errorlog_write_line); + /* listen in on the errorlog */ + machine.add_logerror_callback(debug_errorlog_write_line); - /* initialize osd debugger features */ - machine.osd().init_debugger(); - } + /* initialize osd debugger features */ + machine.osd().init_debugger(); } /*------------------------------------------------- diff --git a/src/emu/debugger.h b/src/emu/debugger.h index c75fc7ba341..4efcc5c3de6 100644 --- a/src/emu/debugger.h +++ b/src/emu/debugger.h @@ -14,7 +14,6 @@ #include "debug/debugcpu.h" -class debug_view_manager; // ======================> debugger_manager @@ -32,11 +31,9 @@ public: // 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 m_debug_view; // internal data from debugvw.cpp }; diff --git a/src/emu/machine.cpp b/src/emu/machine.cpp index e309509e0ea..a80a9c1aa74 100644 --- a/src/emu/machine.cpp +++ b/src/emu/machine.cpp @@ -269,8 +269,12 @@ void running_machine::start() m_network = std::make_unique(*this); // initialize the debugger - m_debugger = std::make_unique(*this); - m_debugger->initialize(); + if ((debug_flags & DEBUG_FLAG_ENABLED) != 0) + { + m_debug_view = std::make_unique(*this); + m_debugger = std::make_unique(*this); + m_debugger->initialize(); + } m_render->resolve_tags(); diff --git a/src/emu/machine.h b/src/emu/machine.h index 3350c3d50a5..957ff4bbe13 100644 --- a/src/emu/machine.h +++ b/src/emu/machine.h @@ -84,6 +84,7 @@ 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; @@ -178,6 +179,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(root_device()); } template _DriverClass *driver_data() const { return &downcast<_DriverClass &>(root_device()); } @@ -288,6 +290,7 @@ private: std::unique_ptr m_ui; // internal data from ui.cpp std::unique_ptr m_ui_input; // internal data from uiinput.cpp std::unique_ptr m_tilemap; // internal data from tilemap.cpp + std::unique_ptr m_debug_view; // internal data from debugvw.cpp std::unique_ptr m_network; // internal data from network.cpp std::unique_ptr m_bookkeeping;// internal data from bookkeeping.cpp std::unique_ptr m_configuration; // internal data from config.cpp diff --git a/src/mame/machine/fddebug.cpp b/src/mame/machine/fddebug.cpp index 1dd6dc355bb..fcb4a46bff8 100644 --- a/src/mame/machine/fddebug.cpp +++ b/src/mame/machine/fddebug.cpp @@ -674,8 +674,8 @@ void fd1094_regenerate_key(running_machine &machine) (*key_changed)(machine); /* force all memory and disassembly views to update */ - machine.debugger().view().update_all(DVT_MEMORY); - machine.debugger().view().update_all(DVT_DISASSEMBLY); + machine.debug_view().update_all(DVT_MEMORY); + machine.debug_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.debugger().view().update_all(DVT_MEMORY); - machine.debugger().view().update_all(DVT_DISASSEMBLY); + machine.debug_view().update_all(DVT_MEMORY); + machine.debug_view().update_all(DVT_DISASSEMBLY); } /* 0 parameters displays the current state */ diff --git a/src/osd/modules/debugger/debugint.cpp b/src/osd/modules/debugger/debugint.cpp index a43f3a7ede7..0f77f08f802 100644 --- a/src/osd/modules/debugger/debugint.cpp +++ b/src/osd/modules/debugger/debugint.cpp @@ -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.debugger().view().alloc_view(type, dview_update, this); + this->view = machine.debug_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().debugger().view().free_view(*this->view); + machine().debug_view().free_view(*this->view); } running_machine &machine() const { assert(m_machine != nullptr); return *m_machine; } diff --git a/src/osd/modules/debugger/osx/debugview.mm b/src/osd/modules/debugger/osx/debugview.mm index 4f9de308010..e793c649d9e 100644 --- a/src/osd/modules/debugger/osx/debugview.mm +++ b/src/osd/modules/debugger/osx/debugview.mm @@ -8,7 +8,6 @@ #import "debugview.h" -#include "debugger.h" #include "debug/debugcpu.h" #include "modules/lib/osdobj_common.h" @@ -229,7 +228,7 @@ static void debugwin_view_update(debug_view &view, void *osdprivate) return nil; type = t; machine = &m; - view = machine->debugger().view().alloc_view((debug_view_type)type, debugwin_view_update, self); + view = machine->debug_view().alloc_view((debug_view_type)type, debugwin_view_update, self); if (view == nil) { [self release]; return nil; @@ -261,7 +260,7 @@ static void debugwin_view_update(debug_view &view, void *osdprivate) - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; - if (view != NULL) machine->debugger().view().free_view(*view); + if (view != NULL) machine->debug_view().free_view(*view); if (font != nil) [font release]; if (text != nil) [text release]; [super dealloc]; diff --git a/src/osd/modules/debugger/osx/disassemblyviewer.mm b/src/osd/modules/debugger/osx/disassemblyviewer.mm index 234c9784ae5..83ca9d46c11 100644 --- a/src/osd/modules/debugger/osx/disassemblyviewer.mm +++ b/src/osd/modules/debugger/osx/disassemblyviewer.mm @@ -188,7 +188,7 @@ } // fail to do this and the display doesn't update - machine->debugger().view().update_all(); + machine->debug_view().update_all(); machine->debugger().refresh_display(); } } @@ -207,7 +207,7 @@ "Breakpoint %X %s\n", (UINT32)bp->index(), bp->enabled() ? "enabled" : "disabled"); - machine->debugger().view().update_all(); + machine->debug_view().update_all(); machine->debugger().refresh_display(); } } diff --git a/src/osd/modules/debugger/qt/dasmwindow.cpp b/src/osd/modules/debugger/qt/dasmwindow.cpp index 524b49bc4fc..ae8f1ff35e3 100644 --- a/src/osd/modules/debugger/qt/dasmwindow.cpp +++ b/src/osd/modules/debugger/qt/dasmwindow.cpp @@ -165,7 +165,7 @@ void DasmWindow::toggleBreakpointAtCursor(bool changedTo) cpuinfo->breakpoint_clear(bpindex); debug_console_printf(*m_machine, "Breakpoint %X cleared\n", bpindex); } - m_machine->debugger().view().update_all(); + m_machine->debug_view().update_all(); m_machine->debugger().refresh_display(); } @@ -190,7 +190,7 @@ 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->debugger().view().update_all(); + m_machine->debug_view().update_all(); m_machine->debugger().refresh_display(); } } diff --git a/src/osd/modules/debugger/qt/debuggerview.cpp b/src/osd/modules/debugger/qt/debuggerview.cpp index 063a8d61c25..319ee370392 100644 --- a/src/osd/modules/debugger/qt/debuggerview.cpp +++ b/src/osd/modules/debugger/qt/debuggerview.cpp @@ -5,7 +5,6 @@ #include #include -#include "debugger.h" #include "debuggerview.h" #include "modules/lib/osdobj_common.h" @@ -28,7 +27,7 @@ DebuggerView::DebuggerView(const debug_view_type& type, viewFontRequest.setPointSize((selectedFontSize <= 0) ? 11 : selectedFontSize); setFont(viewFontRequest); - m_view = m_machine->debugger().view().alloc_view(type, + m_view = m_machine->debug_view().alloc_view(type, DebuggerView::debuggerViewUpdate, this); @@ -42,7 +41,7 @@ DebuggerView::DebuggerView(const debug_view_type& type, DebuggerView::~DebuggerView() { if (m_machine && m_view) - m_machine->debugger().view().free_view(*m_view); + m_machine->debug_view().free_view(*m_view); } void DebuggerView::paintEvent(QPaintEvent* event) diff --git a/src/osd/modules/debugger/win/debugviewinfo.cpp b/src/osd/modules/debugger/win/debugviewinfo.cpp index 4c18fbf129b..3a8aab66d74 100644 --- a/src/osd/modules/debugger/win/debugviewinfo.cpp +++ b/src/osd/modules/debugger/win/debugviewinfo.cpp @@ -63,7 +63,7 @@ debugview_info::debugview_info(debugger_windows_interface &debugger, debugwin_in goto cleanup; // create the debug view - m_view = machine().debugger().view().alloc_view(type, &debugview_info::static_update, this); + m_view = machine().debug_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().debugger().view().free_view(*m_view); + machine().debug_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().debugger().view().free_view(*m_view); + machine().debug_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().debugger().view().flush_osd_updates(); + machine().debug_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().debugger().view().flush_osd_updates(); + machine().debug_view().flush_osd_updates(); break; } diff --git a/src/osd/modules/debugger/win/disasmbasewininfo.cpp b/src/osd/modules/debugger/win/disasmbasewininfo.cpp index bc10ba62c8b..0cc9287bb0a 100644 --- a/src/osd/modules/debugger/win/disasmbasewininfo.cpp +++ b/src/osd/modules/debugger/win/disasmbasewininfo.cpp @@ -190,7 +190,7 @@ bool disasmbasewin_info::handle_command(WPARAM wparam, LPARAM lparam) debug->breakpoint_clear(bpindex); debug_console_printf(machine(), "Breakpoint %X cleared\n", bpindex); } - machine().debugger().view().update_all(); + machine().debug_view().update_all(); machine().debugger().refresh_display(); } else if (dasmview->source_is_visible_cpu()) @@ -223,7 +223,7 @@ 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().debugger().view().update_all(); + machine().debug_view().update_all(); machine().debugger().refresh_display(); } else if (dasmview->source_is_visible_cpu()) -- cgit v1.2.3-70-g09d2