summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/sdl/output.c
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2014-04-25 07:31:27 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2014-04-25 07:31:27 +0000
commitf8f3d681876e2b39333e01b9bdb52ba61a5bfbe1 (patch)
tree32bbd8d8fc657b7c5c6a96412e9f917555c0697a /src/osd/sdl/output.c
parentfbef800627be494a0ab1592a83fa7c76cd63475d (diff)
-Made osd_interface base class for OSD and moved initialization for each subsystem in it as virtual calls. (nw)
-Moved midi handling in base class -Cleaned running_machine of information of next machine -All is cleaned after exiting of running_machine so debugger window is removed as well till next machine is started -Made osdmini to compile
Diffstat (limited to 'src/osd/sdl/output.c')
-rw-r--r--src/osd/sdl/output.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/osd/sdl/output.c b/src/osd/sdl/output.c
index 3f6b75372d9..59d66307f5e 100644
--- a/src/osd/sdl/output.c
+++ b/src/osd/sdl/output.c
@@ -71,12 +71,10 @@ PID_CAST osd_getpid(void)
// sdloutput_init
//============================================================
-void sdloutput_init(running_machine &machine)
+bool sdl_osd_interface::output_init()
{
int fildes;
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(sdloutput_exit), &machine));
-
fildes = open(SDLMAME_OUTPUT, O_RDWR | O_NONBLOCK);
if (fildes < 0)
@@ -89,11 +87,12 @@ void sdloutput_init(running_machine &machine)
output = fdopen(fildes, "w");
osd_printf_verbose("output: opened output notifier file %s\n", SDLMAME_OUTPUT);
- fprintf(output, "MAME " PID_FMT " START %s\n", osd_getpid(), machine.system().name);
+ fprintf(output, "MAME " PID_FMT " START %s\n", osd_getpid(), machine().system().name);
fflush(output);
}
output_set_notifier(NULL, notifier_callback, NULL);
+ return true;
}
@@ -101,11 +100,11 @@ void sdloutput_init(running_machine &machine)
// winoutput_exit
//============================================================
-static void sdloutput_exit(running_machine &machine)
+void sdl_osd_interface::output_exit()
{
if (output != NULL)
{
- fprintf(output, "MAME " PID_FMT " STOP %s\n", osd_getpid(), machine.system().name);
+ fprintf(output, "MAME " PID_FMT " STOP %s\n", osd_getpid(), machine().system().name);
fflush(output);
fclose(output);
output = NULL;
@@ -128,13 +127,20 @@ static void notifier_callback(const char *outname, INT32 value, void *param)
#else /* SDLMAME_WIN32 */
+#include "emu.h"
+#include "osdsdl.h"
#include "emucore.h"
//============================================================
// Stub for win32
//============================================================
-void sdloutput_init(running_machine &machine)
+bool sdl_osd_interface::output_init()
+{
+ return true;
+}
+
+void sdl_osd_interface::output_exit()
{
}