summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author couriersud <couriersud@arcor.de>2015-01-25 03:45:00 +0100
committer couriersud <couriersud@arcor.de>2015-01-25 03:45:00 +0100
commitd2ef6dfc1f0e6189fa1c91819469f86455abeb77 (patch)
tree54bce45d968d25d146f9b56034a364d7cc15fa23
parent2bd20baaba88d83551ccc63590760145c16310ef (diff)
Converted modules/debugger/* to new module infrastructure. (nw)
-rw-r--r--src/emu/emu.mak3
-rw-r--r--src/osd/modules/debugger/debug_module.h11
-rw-r--r--src/osd/modules/debugger/debugint.c51
-rw-r--r--src/osd/modules/debugger/debugint.h38
-rw-r--r--src/osd/modules/debugger/debugosx.h18
-rw-r--r--src/osd/modules/debugger/debugosx.m50
-rw-r--r--src/osd/modules/debugger/debugqt.c57
-rw-r--r--src/osd/modules/debugger/debugqt.h38
-rw-r--r--src/osd/modules/debugger/debugwin.c43
-rw-r--r--src/osd/modules/debugger/debugwin.h35
-rw-r--r--src/osd/modules/debugger/none.c42
-rw-r--r--src/osd/modules/debugger/none.h37
-rw-r--r--src/osd/modules/font/font_windows.c41
-rw-r--r--src/osd/modules/lib/osdobj_common.c57
-rw-r--r--src/osd/modules/lib/osdobj_common.h9
-rw-r--r--src/osd/modules/osdmodule.c4
-rw-r--r--src/osd/sdl/osdsdl.h1
-rw-r--r--src/osd/sdl/sdl.mak13
-rw-r--r--src/osd/sdl/sdlmain.c26
-rw-r--r--src/osd/windows/windows.mak7
-rw-r--r--src/osd/windows/winmain.c19
-rw-r--r--src/osd/windows/winmain.h1
22 files changed, 201 insertions, 400 deletions
diff --git a/src/emu/emu.mak b/src/emu/emu.mak
index a5ef719b8f9..56fbe7e6cff 100644
--- a/src/emu/emu.mak
+++ b/src/emu/emu.mak
@@ -152,9 +152,6 @@ EMUOBJS = \
$(EMUOBJ)/profiler.o \
$(EMUOBJ)/webengine.o \
$(OSDOBJ)/osdnet.o \
- $(OSDOBJ)/modules/sound/none.o \
- $(OSDOBJ)/modules/debugger/none.o \
- $(OSDOBJ)/modules/debugger/debugint.o \
EMUSOUNDOBJS = \
$(EMUOBJ)/sound/filter.o \
diff --git a/src/osd/modules/debugger/debug_module.h b/src/osd/modules/debugger/debug_module.h
index fccea46b8be..789e511e596 100644
--- a/src/osd/modules/debugger/debug_module.h
+++ b/src/osd/modules/debugger/debug_module.h
@@ -6,6 +6,16 @@
#ifndef DEBUG_MODULE_H_
#define DEBUG_MODULE_H_
+#include "osdepend.h"
+#include "modules/osdmodule.h"
+#include "emu.h"
+
+//============================================================
+// CONSTANTS
+//============================================================
+
+#define OSD_DEBUG_PROVIDER "debugger"
+
class debug_module
{
public:
@@ -15,7 +25,6 @@ public:
virtual void init_debugger(running_machine &machine) = 0;
virtual void wait_for_debugger(device_t &device, bool firststop) = 0;
virtual void debugger_update() = 0;
- virtual void debugger_exit() = 0;
};
diff --git a/src/osd/modules/debugger/debugint.c b/src/osd/modules/debugger/debugint.c
index c5857e00e4f..dcf9e80b3e7 100644
--- a/src/osd/modules/debugger/debugint.c
+++ b/src/osd/modules/debugger/debugint.c
@@ -10,7 +10,6 @@
*********************************************************************/
#include "emu.h"
-#include "debugint.h"
#include "ui/ui.h"
#include "rendfont.h"
#include "uiinput.h"
@@ -22,13 +21,37 @@
#include "debug/debugcon.h"
#include "debug/debugcpu.h"
+#include "debug_module.h"
+#include "modules/osdmodule.h"
+
+class debug_internal : public osd_module, public debug_module
+{
+public:
+ debug_internal()
+ : osd_module(OSD_DEBUG_PROVIDER, "internal"), debug_module(),
+ m_machine(NULL)
+ {
+ }
+
+ virtual ~debug_internal() { }
+
+ virtual int init() { return 0;}
+ virtual void exit();
+
+ virtual void init_debugger(running_machine &machine);
+ virtual void wait_for_debugger(device_t &device, bool firststop);
+ virtual void debugger_update();
+
+private:
+ running_machine *m_machine;
+};
+
+
/***************************************************************************
CONSTANTS
***************************************************************************/
-const osd_debugger_type OSD_DEBUGGER_INTERNAL = &osd_debugger_creator<debugger_internal>;
-
#define BORDER_YTHICKNESS 1
#define BORDER_XTHICKNESS 1
#define HSB_HEIGHT 20
@@ -239,11 +262,11 @@ INLINE void dview_set_state(DView *dv, int state, int onoff)
LOCAL VARIABLES
***************************************************************************/
-static render_font * debug_font;
+static render_font * debug_font = NULL;
static int debug_font_width;
static int debug_font_height;
static float debug_font_aspect;
-static DView * list;
+static DView * list = NULL;
static DView * focus_view;
static ui_menu * menu;
@@ -841,7 +864,7 @@ static void dview_update(debug_view &dw, void *osdprivate)
#endif
}
-void debugger_internal::debugger_exit()
+void debug_internal::exit()
{
for (DView *ndv = list; ndv != NULL; )
{
@@ -858,7 +881,7 @@ void debugger_internal::debugger_exit()
global_free(menu);
}
-void debugger_internal::init_debugger(running_machine &machine)
+void debug_internal::init_debugger(running_machine &machine)
{
unicode_char ch;
int chw;
@@ -1410,7 +1433,7 @@ static void update_views(void)
}
-void debugger_internal::wait_for_debugger(device_t &device, bool firststop)
+void debug_internal::wait_for_debugger(device_t &device, bool firststop)
{
if (firststop && list == NULL)
{
@@ -1443,18 +1466,12 @@ void debugger_internal::wait_for_debugger(device_t &device, bool firststop)
}
-void debugger_internal::debugger_update()
+void debug_internal::debugger_update()
{
- if (!debug_cpu_is_stopped(*m_machine) && m_machine->phase() == MACHINE_PHASE_RUNNING)
+ if ((m_machine != NULL) && (!debug_cpu_is_stopped(*m_machine)) && (m_machine->phase() == MACHINE_PHASE_RUNNING))
{
update_views();
}
}
-//-------------------------------------------------
-// debugger_internal - constructor
-//-------------------------------------------------
-debugger_internal::debugger_internal()
- : debug_module(), m_machine(NULL)
-{
-}
+MODULE_DEFINITION(DEBUG_INTERNAL, debug_internal)
diff --git a/src/osd/modules/debugger/debugint.h b/src/osd/modules/debugger/debugint.h
deleted file mode 100644
index c9a73bff14d..00000000000
--- a/src/osd/modules/debugger/debugint.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*********************************************************************
-
- debugint.c
-
- Internal debugger frontend using render interface.
-
- Copyright Nicola Salmoria and the MAME Team.
- Visit http://mamedev.org for licensing and usage restrictions.
-
-*********************************************************************/
-
-#pragma once
-
-#ifndef __DEBUGGER_INTERNAL_H__
-#define __DEBUGGER_INTERNAL_H__
-
-#include "osdepend.h"
-#include "modules/lib/osdobj_common.h"
-#include "debug_module.h"
-
-class debugger_internal : public debug_module
-{
-public:
- // construction/destruction
- debugger_internal();
- virtual ~debugger_internal() { }
-
- virtual void init_debugger(running_machine &machine);
- virtual void wait_for_debugger(device_t &device, bool firststop);
- virtual void debugger_update();
- virtual void debugger_exit();
-private:
- running_machine *m_machine;
-};
-
-extern const osd_debugger_type OSD_DEBUGGER_INTERNAL;
-
-#endif /* __DEBUGGER_INTERNAL_H__ */
diff --git a/src/osd/modules/debugger/debugosx.h b/src/osd/modules/debugger/debugosx.h
index 46e7b18305f..a219f5f8b8a 100644
--- a/src/osd/modules/debugger/debugosx.h
+++ b/src/osd/modules/debugger/debugosx.h
@@ -367,22 +367,4 @@ typedef float CGFloat;
#endif // __OBJC__
-class debugger_osx : public osd_debugger_interface
-{
-public:
- // construction/destruction
- debugger_osx(const osd_interface &osd);
- virtual ~debugger_osx() { }
-
- virtual void init_debugger(running_machine &machine);
- virtual void wait_for_debugger(device_t &device, bool firststop);
- virtual void debugger_update();
- virtual void debugger_exit();
-private:
- running_machine *m_machine;
-};
-
-extern const osd_debugger_type OSD_DEBUGGER_OSX;
-
-
#endif // __SDL_DEBUGOSX__
diff --git a/src/osd/modules/debugger/debugosx.m b/src/osd/modules/debugger/debugosx.m
index 1df4a9a27ac..9d140dbdb69 100644
--- a/src/osd/modules/debugger/debugosx.m
+++ b/src/osd/modules/debugger/debugosx.m
@@ -42,14 +42,44 @@
// MAMEOS headers
#include "debugosx.h"
#include "osdsdl.h"
+#include "debug_module.h"
+//============================================================
+// MODULE SUPPORT
+//============================================================
+
+static MAMEDebugConsole *main_console = nil;
+
+class debugger_osx : public osd_module, public debug_module
+{
+public:
+ debugger_osx()
+ : osd_module(OSD_DEBUG_PROVIDER, "osx"), debug_module(),
+ m_machine(NULL)
+ {
+ }
+
+ virtual ~debugger_osx() { }
+
+ virtual int init() { return 0;}
+ virtual void exit()
+ {
+ }
+
+ virtual void init_debugger(running_machine &machine);
+ virtual void wait_for_debugger(device_t &device, bool firststop);
+ virtual void debugger_update();
+
+private:
+ running_machine *m_machine;
+};
+MODULE_DEFINITION(DEBUG_OSX, debugger_osx)
//============================================================
// LOCAL VARIABLES
//============================================================
-static MAMEDebugConsole *main_console = nil;
static BOOL waiting_for_debugger = NO;
@@ -67,16 +97,6 @@ static void debugwin_view_update(debug_view &view, void *osdprivate);
static void console_create_window(running_machine &machine);
-const osd_debugger_type OSD_DEBUGGER_OSX = &osd_debugger_creator<debugger_osx>;
-
-//-------------------------------------------------
-// debugger_osx - constructor
-//-------------------------------------------------
-debugger_osx::debugger_osx(const osd_interface &osd)
- : osd_debugger_interface(osd), m_machine(NULL)
-{
-}
-
//============================================================
// debugger_osx::init_debugger
//============================================================
@@ -131,14 +151,6 @@ void debugger_osx::debugger_update()
}
//============================================================
-// debugger_exit
-//============================================================
-
-void debugger_osx::debugger_exit()
-{
-}
-
-//============================================================
// debugwin_view_update
//============================================================
diff --git a/src/osd/modules/debugger/debugqt.c b/src/osd/modules/debugger/debugqt.c
index aaa6eee7627..bd1914e1d71 100644
--- a/src/osd/modules/debugger/debugqt.c
+++ b/src/osd/modules/debugger/debugqt.c
@@ -11,6 +11,11 @@
#define NO_MEM_TRACKING
+#include "debug_module.h"
+#include "modules/osdmodule.h"
+
+#if (USE_QTDEBUG)
+
#include <vector>
#include <QtGui/QtGui>
@@ -28,14 +33,28 @@
#include "qt/debugqtbreakpointswindow.h"
#include "qt/debugqtdeviceswindow.h"
#include "qt/debugqtdeviceinformationwindow.h"
-#include "debugqt.h"
-
-debug_module *qt_osd_debugger_creator()
+class debug_qt : public osd_module, public debug_module
{
- return new debugger_qt();
-}
-const osd_debugger_type OSD_DEBUGGER_QT = &qt_osd_debugger_creator;
+public:
+ debug_qt()
+ : osd_module(OSD_DEBUG_PROVIDER, "qt"), debug_module(),
+ m_machine(NULL)
+ {
+ }
+
+ virtual ~debug_qt() { }
+
+ virtual int init() { return 0;}
+ virtual void exit() { }
+
+ virtual void init_debugger(running_machine &machine);
+ virtual void wait_for_debugger(device_t &device, bool firststop);
+ virtual void debugger_update();
+
+private:
+ running_machine *m_machine;
+};
//============================================================
// "Global" variables to make QT happy
@@ -47,18 +66,6 @@ char** qtArgv = NULL;
bool oneShot = true;
static MainWindow* mainQtWindow = NULL;
-//-------------------------------------------------
-// debugger_qt - constructor
-//-------------------------------------------------
-debugger_qt::debugger_qt()
- : debug_module(), m_machine(NULL)
-{
-}
-
-debugger_qt::~debugger_qt()
-{
-}
-
//============================================================
// XML configuration save/load
//============================================================
@@ -228,7 +235,7 @@ static void bring_main_window_to_front()
bool winwindow_qt_filter(void *message);
#endif
-void debugger_qt::init_debugger(running_machine &machine)
+void debug_qt::init_debugger(running_machine &machine)
{
if (qApp == NULL)
{
@@ -269,7 +276,7 @@ extern int sdl_entered_debugger;
void winwindow_update_cursor_state(running_machine &machine);
#endif
-void debugger_qt::wait_for_debugger(device_t &device, bool firststop)
+void debug_qt::wait_for_debugger(device_t &device, bool firststop)
{
#if defined(SDLMAME_UNIX) || defined(SDLMAME_WIN32)
sdl_entered_debugger = 1;
@@ -344,11 +351,13 @@ void debugger_qt::wait_for_debugger(device_t &device, bool firststop)
// Available for video.*
//============================================================
-void debugger_qt::debugger_update()
+void debug_qt::debugger_update()
{
qApp->processEvents(QEventLoop::AllEvents, 1);
}
-void debugger_qt::debugger_exit()
-{
-}
+#else /* SDLMAME_UNIX */
+ MODULE_NOT_SUPPORTED(debug_qt, OSD_DEBUG_PROVIDER, "qt")
+#endif
+
+MODULE_DEFINITION(DEBUG_QT, debug_qt)
diff --git a/src/osd/modules/debugger/debugqt.h b/src/osd/modules/debugger/debugqt.h
deleted file mode 100644
index 343f15ff98d..00000000000
--- a/src/osd/modules/debugger/debugqt.h
+++ /dev/null
@@ -1,38 +0,0 @@
-//============================================================
-//
-// debugqt.h - SDL/QT debug window handling
-//
-// Copyright (c) 1996-2010, Nicola Salmoria and the MAME Team.
-// Visit http://mamedev.org for licensing and usage restrictions.
-//
-// SDLMAME by Olivier Galibert and R. Belmont
-//
-//============================================================
-
-#pragma once
-
-#ifndef __DEBUGGER_QT_H__
-#define __DEBUGGER_QT_H__
-
-#include "emu.h"
-#include "debug_module.h"
-
-class debugger_qt : public debug_module
-{
-public:
- // construction/destruction
- debugger_qt();
- virtual ~debugger_qt();
-
- virtual void init_debugger(running_machine &machine);
- virtual void wait_for_debugger(device_t &device, bool firststop);
- virtual void debugger_update();
- virtual void debugger_exit();
-
-private:
- running_machine *m_machine;
-};
-
-extern const osd_debugger_type OSD_DEBUGGER_QT;
-
-#endif /* __DEBUGGER_QT_H__ */
diff --git a/src/osd/modules/debugger/debugwin.c b/src/osd/modules/debugger/debugwin.c
index f6e536554d9..5d31bf3cbdc 100644
--- a/src/osd/modules/debugger/debugwin.c
+++ b/src/osd/modules/debugger/debugwin.c
@@ -6,6 +6,11 @@
//
//============================================================
+#include "debug_module.h"
+#include "modules/osdmodule.h"
+
+#if defined(OSD_WINDOWS) /*|| defined(SDLMAME_WIN32)*/
+
// standard windows headers
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
@@ -36,10 +41,27 @@
#include "strconv.h"
#include "winutf8.h"
-#include "debugwin.h"
+class debugger_windows : public osd_module, public debug_module
+{
+public:
+ debugger_windows()
+ : osd_module(OSD_DEBUG_PROVIDER, "windows"), debug_module(),
+ m_machine(NULL)
+ {
+ }
-const osd_debugger_type OSD_DEBUGGER_WINDOWS = &osd_debugger_creator<debugger_windows>;
+ virtual ~debugger_windows() { }
+ virtual int init() { return 0;}
+ virtual void exit();
+
+ virtual void init_debugger(running_machine &machine);
+ virtual void wait_for_debugger(device_t &device, bool firststop);
+ virtual void debugger_update();
+
+private:
+ running_machine *m_machine;
+};
//============================================================
// PARAMETERS
//============================================================
@@ -174,7 +196,7 @@ private:
// LOCAL VARIABLES
//============================================================
-static debugwin_info *window_list;
+static debugwin_info *window_list = NULL;
static debugwin_info *main_console;
static UINT32 main_console_regwidth;
@@ -239,14 +261,6 @@ static void smart_show_all(BOOL show);
static void image_update_menu(debugwin_info *info);
-//-------------------------------------------------
-// debugger_windows - constructor
-//-------------------------------------------------
-debugger_windows::debugger_windows(const osd_interface &osd)
- : osd_debugger_interface(osd)
-{
-}
-
//============================================================
// wait_for_debugger
//============================================================
@@ -453,7 +467,7 @@ void debugger_windows::init_debugger(running_machine &machine)
// debugwin_destroy_windows
//============================================================
-void debugger_windows::debugger_exit()
+void debugger_windows::exit()
{
// loop over windows and free them
while (window_list != NULL)
@@ -3079,3 +3093,8 @@ static void smart_show_all(BOOL show)
for (info = window_list; info != NULL; info = info->next)
smart_show_window(info->wnd, show);
}
+#else /* not windows */
+ MODULE_NOT_SUPPORTED(debugger_windows, OSD_DEBUG_PROVIDER, "windows")
+#endif
+
+MODULE_DEFINITION(DEBUG_WINDOWS, debugger_windows)
diff --git a/src/osd/modules/debugger/debugwin.h b/src/osd/modules/debugger/debugwin.h
deleted file mode 100644
index 9891c227d9f..00000000000
--- a/src/osd/modules/debugger/debugwin.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-//============================================================
-//
-// debugwin.h - Win32 debug window handling
-//
-//============================================================
-
-
-#pragma once
-
-#ifndef __DEBUGGER_WINDOWS_H__
-#define __DEBUGGER_WINDOWS_H__
-
-#include "osdepend.h"
-#include "modules/lib/osdobj_common.h"
-
-class debugger_windows : public osd_debugger_interface
-{
-public:
- // construction/destruction
- debugger_windows(const osd_interface &osd);
- virtual ~debugger_windows() { }
-
- virtual void init_debugger(running_machine &machine);
- virtual void wait_for_debugger(device_t &device, bool firststop);
- virtual void debugger_update();
- virtual void debugger_exit();
-private:
- running_machine *m_machine;
-};
-
-extern const osd_debugger_type OSD_DEBUGGER_WINDOWS;
-
-#endif /* __DEBUGGER_WINDOWS_H__ */
diff --git a/src/osd/modules/debugger/none.c b/src/osd/modules/debugger/none.c
index 33545a07b6d..41e51174f05 100644
--- a/src/osd/modules/debugger/none.c
+++ b/src/osd/modules/debugger/none.c
@@ -4,33 +4,45 @@
//
//============================================================
-#include "none.h"
-#include "debug/debugcpu.h"
+#include "debug_module.h"
+#include "modules/osdmodule.h"
-const osd_debugger_type OSD_DEBUGGER_NONE = &osd_debugger_creator<debugger_none>;
+#include "debug/debugcpu.h"
-//-------------------------------------------------
-// debugger_none - constructor
-//-------------------------------------------------
-debugger_none::debugger_none()
- : debug_module(), m_machine(NULL)
+class debug_none : public osd_module, public debug_module
{
-}
+public:
+ debug_none()
+ : osd_module(OSD_DEBUG_PROVIDER, "none"), debug_module(),
+ m_machine(NULL)
+ {
+ }
+
+ virtual ~debug_none() { }
+
+ virtual int init() { return 0;}
+ virtual void exit() { }
-void debugger_none::init_debugger(running_machine &machine)
+ virtual void init_debugger(running_machine &machine);
+ virtual void wait_for_debugger(device_t &device, bool firststop);
+ virtual void debugger_update();
+
+private:
+ running_machine *m_machine;
+};
+
+void debug_none::init_debugger(running_machine &machine)
{
m_machine = &machine;
}
-void debugger_none::wait_for_debugger(device_t &device, bool firststop)
+void debug_none::wait_for_debugger(device_t &device, bool firststop)
{
debug_cpu_get_visible_cpu(*m_machine)->debug()->go();
}
-void debugger_none::debugger_update()
+void debug_none::debugger_update()
{
}
-void debugger_none::debugger_exit()
-{
-}
+MODULE_DEFINITION(DEBUG_NONE, debug_none)
diff --git a/src/osd/modules/debugger/none.h b/src/osd/modules/debugger/none.h
deleted file mode 100644
index b6760204339..00000000000
--- a/src/osd/modules/debugger/none.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Miodrag Milanovic
-/***************************************************************************
-
- none.h
-
- Dummy debugger interface.
-
-*******************************************************************c********/
-
-#pragma once
-
-#ifndef __DEBUGGER_NONE_H__
-#define __DEBUGGER_NONE_H__
-
-#include "osdepend.h"
-#include "debug_module.h"
-#include "modules/lib/osdobj_common.h"
-
-class debugger_none : public debug_module
-{
-public:
- // construction/destruction
- debugger_none();
- virtual ~debugger_none() { }
-
- virtual void init_debugger(running_machine &machine);
- virtual void wait_for_debugger(device_t &device, bool firststop);
- virtual void debugger_update();
- virtual void debugger_exit();
-private:
- running_machine *m_machine;
-};
-
-extern const osd_debugger_type OSD_DEBUGGER_NONE;
-
-#endif /* __DEBUGGER_NONE_H__ */
diff --git a/src/osd/modules/font/font_windows.c b/src/osd/modules/font/font_windows.c
index 26533e1f19a..054ef077148 100644
--- a/src/osd/modules/font/font_windows.c
+++ b/src/osd/modules/font/font_windows.c
@@ -26,47 +26,6 @@
//#define POINT_SIZE 144.0
#define DEFAULT_FONT_HEIGHT (200)
-#if 0
-//============================================================
-// wstring_from_utf8
-//============================================================
-
-// FIXME: defined in multiple locations ... FIXME
-
-WCHAR *wstring_from_utf8(const char *utf8string)
-{
- int char_count;
- WCHAR *result;
-
- // convert MAME string (UTF-8) to UTF-16
- char_count = MultiByteToWideChar(CP_UTF8, 0, utf8string, -1, NULL, 0);
- result = (WCHAR *)osd_malloc_array(char_count * sizeof(*result));
- if (result != NULL)
- MultiByteToWideChar(CP_UTF8, 0, utf8string, -1, result, char_count);
-
- return result;
-}
-
-
-//============================================================
-// utf8_from_wstring
-//============================================================
-
-char *utf8_from_wstring(const WCHAR *wstring)
-{
- int char_count;
- char *result;
-
- // convert UTF-16 to MAME string (UTF-8)
- char_count = WideCharToMultiByte(CP_UTF8, 0, wstring, -1, NULL, 0, NULL, NULL);
- result = (char *)osd_malloc_array(char_count * sizeof(*result));
- if (result != NULL)
- WideCharToMultiByte(CP_UTF8, 0, wstring, -1, result, char_count, NULL, NULL);
-
- return result;
-}
-#endif
-
//-------------------------------------------------
// font_open - attempt to "open" a handle to the
// font with the given name
diff --git a/src/osd/modules/lib/osdobj_common.c b/src/osd/modules/lib/osdobj_common.c
index 4e9083e6044..73580dba2fd 100644
--- a/src/osd/modules/lib/osdobj_common.c
+++ b/src/osd/modules/lib/osdobj_common.c
@@ -11,8 +11,6 @@
#include "emu.h"
#include "osdepend.h"
-#include "modules/debugger/none.h"
-#include "modules/debugger/debugint.h"
#include "modules/lib/osdobj_common.h"
extern bool g_print_verbose;
@@ -123,6 +121,14 @@ void osd_common_t::register_options()
REGISTER_MODULE(m_mod_man, SOUND_SDL);
REGISTER_MODULE(m_mod_man, SOUND_NONE);
+#ifdef SDLMAME_MACOSX
+ REGISTER_MODULE(m_mod_man, DEBUG_OSX);
+#endif
+ REGISTER_MODULE(m_mod_man, DEBUG_WINDOWS);
+ REGISTER_MODULE(m_mod_man, DEBUG_QT);
+ REGISTER_MODULE(m_mod_man, DEBUG_INTERNAL);
+ REGISTER_MODULE(m_mod_man, DEBUG_NONE);
+
// after initialization we know which modules are supported
const char *names[20];
@@ -139,16 +145,17 @@ void osd_common_t::register_options()
dnames.append(names[i]);
update_option(OSD_SOUND_PROVIDER, dnames);
+ // Register debugger options and update options
+ m_mod_man.get_module_names(OSD_DEBUG_PROVIDER, 20, &num, names);
+ dnames.reset();
+ for (int i = 0; i < num; i++)
+ dnames.append(names[i]);
+ update_option(OSD_DEBUG_PROVIDER, dnames);
+
// Register video options and update options
video_options_add("none", NULL);
video_register();
update_option(OSDOPTION_VIDEO, m_video_names);
-
- // Register debugger options and update options
- debugger_options_add("none", OSD_DEBUGGER_NONE);
- debugger_options_add("internal", OSD_DEBUGGER_INTERNAL);
- debugger_register();
- update_option(OSDOPTION_DEBUGGER, m_debugger_names);
}
void osd_common_t::update_option(const char * key, dynamic_array<const char *> &values)
@@ -180,10 +187,6 @@ osd_common_t::~osd_common_t()
for(int i= 0; i < m_video_names.count(); ++i)
osd_free(const_cast<char*>(m_video_names[i]));
//m_video_options,reset();
-
- for(int i= 0; i < m_debugger_names.count(); ++i)
- osd_free(const_cast<char*>(m_debugger_names[i]));
- m_debugger_options.reset();
}
@@ -264,14 +267,6 @@ void osd_common_t::init_debugger()
// is active. This gives any OSD debugger interface a chance to
// create all of its structures.
//
- osd_debugger_type debugger = m_debugger_options.find(options().debugger());
- if (debugger==NULL)
- {
- osd_printf_warning("debugger_init: option %s not found switching to auto\n",options().debugger());
- debugger = m_debugger_options.find("auto");
- }
- m_debugger = (*debugger)();
-
m_debugger->init_debugger(machine());
}
@@ -297,15 +292,6 @@ void osd_common_t::debugger_update()
if (m_debugger) m_debugger->debugger_update();
}
-void osd_common_t::debugger_exit()
-{
- if (m_debugger)
- {
- m_debugger->debugger_exit();
- global_free(m_debugger);
- m_debugger = NULL;
- }
-}
//-------------------------------------------------
// update_audio_stream - update the stereo audio
@@ -457,6 +443,8 @@ void osd_common_t::init_subsystems()
m_sound->m_sample_rate = options().sample_rate();
m_sound->m_audio_latency = options().audio_latency();
+ m_debugger = select_module_options<debug_module *>(options(), OSD_DEBUG_PROVIDER);
+
m_mod_man.init();
}
@@ -480,10 +468,6 @@ void osd_common_t::video_register()
{
}
-void osd_common_t::debugger_register()
-{
-}
-
bool osd_common_t::input_init()
{
return true;
@@ -516,7 +500,6 @@ void osd_common_t::exit_subsystems()
network_exit();
#endif
midi_exit();
- debugger_exit();
}
void osd_common_t::video_exit()
@@ -552,12 +535,6 @@ void osd_common_t::video_options_add(const char *name, void *type)
m_video_names.append(core_strdup(name));
}
-void osd_common_t::debugger_options_add(const char *name, osd_debugger_type type)
-{
- m_debugger_options.add(name, type, false);
- m_debugger_names.append(core_strdup(name));
-}
-
bool osd_common_t::midi_init()
{
// this should be done on the OS_level
diff --git a/src/osd/modules/lib/osdobj_common.h b/src/osd/modules/lib/osdobj_common.h
index 8ceb5583284..3ea631a4495 100644
--- a/src/osd/modules/lib/osdobj_common.h
+++ b/src/osd/modules/lib/osdobj_common.h
@@ -105,10 +105,6 @@ private:
static const options_entry s_option_entries[];
};
-// a osd_sound_type is simply a pointer to its alloc function
-typedef debug_module *(*osd_debugger_type)();
-
-
// ======================> osd_interface
// description of the currently-running machine
@@ -159,8 +155,6 @@ public:
virtual void debugger_update();
- virtual void debugger_exit();
- virtual void debugger_register();
virtual void init_subsystems();
@@ -184,7 +178,6 @@ public:
virtual void osd_exit();
virtual void video_options_add(const char *name, void *type);
- virtual void debugger_options_add(const char *name, osd_debugger_type type);
osd_options &options() { return m_options; }
@@ -227,8 +220,6 @@ protected:
private:
//tagmap_t<osd_video_type> m_video_options;
dynamic_array<const char *> m_video_names;
- tagmap_t<osd_debugger_type> m_debugger_options;
- dynamic_array<const char *> m_debugger_names;
};
diff --git a/src/osd/modules/osdmodule.c b/src/osd/modules/osdmodule.c
index 8868d51dcea..e907d89249e 100644
--- a/src/osd/modules/osdmodule.c
+++ b/src/osd/modules/osdmodule.c
@@ -27,7 +27,7 @@ void osd_module_manager::register_module(const module_type &mod_type)
osd_module *module = mod_type();
if (module->probe())
{
- osd_printf_info("===> registered module %s %s\n", module->name(), module->type());
+ osd_printf_verbose("===> registered module %s %s\n", module->name(), module->type());
int i;
for (i = 0; m_modules[i] != NULL; i++)
@@ -36,7 +36,7 @@ void osd_module_manager::register_module(const module_type &mod_type)
}
else
{
- osd_printf_info("===> not supported %s %s\n", module->name(), module->type());
+ osd_printf_verbose("===> not supported %s %s\n", module->name(), module->type());
module->~osd_module();
osd_free(module);
}
diff --git a/src/osd/sdl/osdsdl.h b/src/osd/sdl/osdsdl.h
index 7788bbb54db..47bce66a8ee 100644
--- a/src/osd/sdl/osdsdl.h
+++ b/src/osd/sdl/osdsdl.h
@@ -189,7 +189,6 @@ public:
virtual void customize_input_type_list(simple_list<input_type_entry> &typelist);
virtual void video_register();
- virtual void debugger_register();
virtual bool video_init();
virtual bool window_init();
diff --git a/src/osd/sdl/sdl.mak b/src/osd/sdl/sdl.mak
index 853a1587576..173aac668a0 100644
--- a/src/osd/sdl/sdl.mak
+++ b/src/osd/sdl/sdl.mak
@@ -210,6 +210,7 @@ ifeq ($(TARGETOS),linux)
BASE_TARGETOS = unix
SYNC_IMPLEMENTATION = tc
SDL_NETWORK = taptun
+#SDL_NETWORK = pcap
ifndef NO_USE_MIDI
INCPATH += `pkg-config --cflags alsa`
@@ -706,7 +707,6 @@ $(OSDOBJ)/%.moc.c: $(OSDSRC)/%.h
$(MOC) $(MOCINCPATH) $(DEFS) $< -o $@
DEBUGOBJS = \
- $(OSDOBJ)/modules/debugger/debugqt.o \
$(OSDOBJ)/modules/debugger/qt/debugqtview.o \
$(OSDOBJ)/modules/debugger/qt/debugqtwindow.o \
$(OSDOBJ)/modules/debugger/qt/debugqtlogwindow.o \
@@ -725,8 +725,19 @@ DEBUGOBJS = \
$(OSDOBJ)/modules/debugger/qt/debugqtbreakpointswindow.moc.o \
$(OSDOBJ)/modules/debugger/qt/debugqtdeviceswindow.moc.o \
$(OSDOBJ)/modules/debugger/qt/debugqtdeviceinformationwindow.moc.o
+
+DEFS += -DUSE_QTDEBUG=1
+
+else
+DEFS += -DUSE_QTDEBUG=0
endif
+DEBUGOBJS += \
+ $(OSDOBJ)/modules/debugger/none.o \
+ $(OSDOBJ)/modules/debugger/debugint.o \
+ $(OSDOBJ)/modules/debugger/debugwin.o \
+ $(OSDOBJ)/modules/debugger/debugqt.o \
+
ifeq ($(NO_DEBUGGER),1)
DEFS += -DNO_DEBUGGER
else
diff --git a/src/osd/sdl/sdlmain.c b/src/osd/sdl/sdlmain.c
index 4e001094f0c..e6c9e8ed5e1 100644
--- a/src/osd/sdl/sdlmain.c
+++ b/src/osd/sdl/sdlmain.c
@@ -57,13 +57,6 @@
#include "osdsdl.h"
#include "modules/lib/osdlib.h"
-#if !defined(NO_DEBUGGER)
-#include "modules/debugger/debugqt.h"
-#endif
-#include "modules/debugger/none.h"
-#if defined(SDLMAME_MACOSX)
-#include "modules/debugger/debugosx.h"
-#endif
// we override SDL's normal startup on Win32
// please see sdlprefix.h as well
@@ -531,25 +524,6 @@ void sdl_osd_interface::video_register()
}
//============================================================
-// debugger_register
-//============================================================
-
-void sdl_osd_interface::debugger_register()
-{
-#if defined(NO_DEBUGGER)
- debugger_options_add("auto", OSD_DEBUGGER_NONE);
-#else
-#if defined(SDLMAME_MACOSX)
- debugger_options_add("osx", OSD_DEBUGGER_OSX);
- debugger_options_add("auto", OSD_DEBUGGER_OSX); // making OSX debugger default one
-#else
- debugger_options_add("qt", OSD_DEBUGGER_QT);
- debugger_options_add("auto", OSD_DEBUGGER_QT); // making QT debugger default one
-#endif // SDLMAME_MACOSX
-#endif // NO_DEBUGGER
-}
-
-//============================================================
// init
//============================================================
diff --git a/src/osd/windows/windows.mak b/src/osd/windows/windows.mak
index 717111e2838..0b100f8bda5 100644
--- a/src/osd/windows/windows.mak
+++ b/src/osd/windows/windows.mak
@@ -408,7 +408,10 @@ $(WINOBJ)/drawgdi.o : $(SRC)/emu/rendersw.inc
# add debug-specific files
OSDOBJS += \
- $(OSDOBJ)/modules/debugger/debugwin.o
+ $(OSDOBJ)/modules/debugger/debugwin.o \
+ $(OSDOBJ)/modules/debugger/debugint.o \
+ $(OSDOBJ)/modules/debugger/debugqt.o \
+ $(OSDOBJ)/modules/debugger/none.o \
# add a stub resource file
RESFILE = $(WINOBJ)/mame.res
@@ -421,14 +424,12 @@ QT_INSTALL_HEADERS := $(shell qmake -query QT_INSTALL_HEADERS)
QT_LIBS := -L$(shell qmake -query QT_INSTALL_LIBS)
LIBS += $(QT_LIBS) -lqtmain -lQtGui4 -lQtCore4
INCPATH += -I$(QT_INSTALL_HEADERS)/QtCore -I$(QT_INSTALL_HEADERS)/QtGui -I$(QT_INSTALL_HEADERS)
-CFLAGS += -DUSE_QTDEBUG
MOC = @moc
$(OSDOBJ)/%.moc.c: $(OSDSRC)/%.h
$(MOC) $(INCPATH) $(DEFS) $< -o $@
OSDOBJS += \
- $(OSDOBJ)/modules/debugger/debugqt.o \
$(OSDOBJ)/modules/debugger/qt/debugqtview.o \
$(OSDOBJ)/modules/debugger/qt/debugqtwindow.o \
$(OSDOBJ)/modules/debugger/qt/debugqtlogwindow.o \
diff --git a/src/osd/windows/winmain.c b/src/osd/windows/winmain.c
index 17baf59dc67..0bb6af6af11 100644
--- a/src/osd/windows/winmain.c
+++ b/src/osd/windows/winmain.c
@@ -39,14 +39,8 @@
#include "debugger.h"
#include "winfile.h"
-#include "modules/debugger/debugwin.h"
-
-#if (USE_QTDEBUG)
-#include "modules/debugger/debugqt.h"
-#endif
#define DEBUG_SLOW_LOCKS 0
-
//**************************************************************************
// MACROS
//**************************************************************************
@@ -536,19 +530,6 @@ void windows_osd_interface::video_register()
}
//============================================================
-// debugger_register
-//============================================================
-
-void windows_osd_interface::debugger_register()
-{
- debugger_options_add("windows", OSD_DEBUGGER_WINDOWS);
-#if (USE_QTDEBUG)
- debugger_options_add("qt", OSD_DEBUGGER_QT);
-#endif
- debugger_options_add("auto", OSD_DEBUGGER_WINDOWS); // making windows debugger default one
-}
-
-//============================================================
// init
//============================================================
diff --git a/src/osd/windows/winmain.h b/src/osd/windows/winmain.h
index 372b6cfccce..a322190de45 100644
--- a/src/osd/windows/winmain.h
+++ b/src/osd/windows/winmain.h
@@ -253,7 +253,6 @@ public:
virtual void customize_input_type_list(simple_list<input_type_entry> &typelist);
virtual void video_register();
- virtual void debugger_register();
virtual bool video_init();
virtual bool window_init();