diff options
author | couriersud <couriersud@arcor.de> | 2015-01-25 03:45:00 +0100 |
---|---|---|
committer | couriersud <couriersud@arcor.de> | 2015-01-25 03:45:00 +0100 |
commit | d2ef6dfc1f0e6189fa1c91819469f86455abeb77 (patch) | |
tree | 54bce45d968d25d146f9b56034a364d7cc15fa23 | |
parent | 2bd20baaba88d83551ccc63590760145c16310ef (diff) |
Converted modules/debugger/* to new module infrastructure. (nw)
-rw-r--r-- | src/emu/emu.mak | 3 | ||||
-rw-r--r-- | src/osd/modules/debugger/debug_module.h | 11 | ||||
-rw-r--r-- | src/osd/modules/debugger/debugint.c | 51 | ||||
-rw-r--r-- | src/osd/modules/debugger/debugint.h | 38 | ||||
-rw-r--r-- | src/osd/modules/debugger/debugosx.h | 18 | ||||
-rw-r--r-- | src/osd/modules/debugger/debugosx.m | 50 | ||||
-rw-r--r-- | src/osd/modules/debugger/debugqt.c | 57 | ||||
-rw-r--r-- | src/osd/modules/debugger/debugqt.h | 38 | ||||
-rw-r--r-- | src/osd/modules/debugger/debugwin.c | 43 | ||||
-rw-r--r-- | src/osd/modules/debugger/debugwin.h | 35 | ||||
-rw-r--r-- | src/osd/modules/debugger/none.c | 42 | ||||
-rw-r--r-- | src/osd/modules/debugger/none.h | 37 | ||||
-rw-r--r-- | src/osd/modules/font/font_windows.c | 41 | ||||
-rw-r--r-- | src/osd/modules/lib/osdobj_common.c | 57 | ||||
-rw-r--r-- | src/osd/modules/lib/osdobj_common.h | 9 | ||||
-rw-r--r-- | src/osd/modules/osdmodule.c | 4 | ||||
-rw-r--r-- | src/osd/sdl/osdsdl.h | 1 | ||||
-rw-r--r-- | src/osd/sdl/sdl.mak | 13 | ||||
-rw-r--r-- | src/osd/sdl/sdlmain.c | 26 | ||||
-rw-r--r-- | src/osd/windows/windows.mak | 7 | ||||
-rw-r--r-- | src/osd/windows/winmain.c | 19 | ||||
-rw-r--r-- | src/osd/windows/winmain.h | 1 |
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(); |