summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/lib/osdlib_unix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/modules/lib/osdlib_unix.cpp')
-rw-r--r--src/osd/modules/lib/osdlib_unix.cpp77
1 files changed, 18 insertions, 59 deletions
diff --git a/src/osd/modules/lib/osdlib_unix.cpp b/src/osd/modules/lib/osdlib_unix.cpp
index a275eb04192..3b67e4a2f3a 100644
--- a/src/osd/modules/lib/osdlib_unix.cpp
+++ b/src/osd/modules/lib/osdlib_unix.cpp
@@ -13,16 +13,12 @@
#include <sys/mman.h>
#include <sys/types.h>
#include <signal.h>
-#include <time.h>
-#include <sys/time.h>
-#ifdef SDLMAME_EMSCRIPTEN
-#include <emscripten.h>
-#endif
// MAME headers
#include "osdcore.h"
#include "osdlib.h"
+#include "sdlinc.h"
//============================================================
// osd_getenv
//============================================================
@@ -51,20 +47,6 @@ void osd_process_kill(void)
}
//============================================================
-// osd_num_processors
-//============================================================
-
-int osd_get_num_processors(void)
-{
- int processors = 1;
-
-#if defined(_SC_NPROCESSORS_ONLN)
- processors = sysconf(_SC_NPROCESSORS_ONLN);
-#endif
- return processors;
-}
-
-//============================================================
// osd_malloc
//============================================================
@@ -142,7 +124,8 @@ void osd_free_executable(void *ptr, size_t size)
void osd_break_into_debugger(const char *message)
{
- #ifdef MAME_DEBUG
+ //#ifdef MAME_DEBUG
+ #if 1
printf("MAME exception: %s\n", message);
printf("Attempting to fall into debugger\n");
kill(getpid(), SIGTRAP);
@@ -151,52 +134,28 @@ void osd_break_into_debugger(const char *message)
#endif
}
-
-//============================================================
-// osd_ticks
-//============================================================
-
-osd_ticks_t osd_ticks(void)
-{
-#ifdef SDLMAME_EMSCRIPTEN
- return (osd_ticks_t)(emscripten_get_now() * 1000.0);
-#else
- struct timeval tp;
- static osd_ticks_t start_sec = 0;
-
- gettimeofday(&tp, NULL);
- if (start_sec==0)
- start_sec = tp.tv_sec;
- return (tp.tv_sec - start_sec) * (osd_ticks_t) 1000000 + tp.tv_usec;
-#endif
-}
-
-
-//============================================================
-// osd_ticks_per_second
-//============================================================
-
-osd_ticks_t osd_ticks_per_second(void)
+#ifdef SDLMAME_ANDROID
+char *osd_get_clipboard_text(void)
{
- return (osd_ticks_t) 1000000;
+ return nullptr;
}
-
+#else
//============================================================
-// osd_sleep
+// osd_get_clipboard_text
//============================================================
-void osd_sleep(osd_ticks_t duration)
+char *osd_get_clipboard_text(void)
{
- UINT32 msec;
+ char *result = NULL;
- // convert to milliseconds, rounding down
- msec = (UINT32)(duration * 1000 / osd_ticks_per_second());
-
- // only sleep if at least 2 full milliseconds
- if (msec >= 2)
+ if (SDL_HasClipboardText())
{
- // take a couple of msecs off the top for good measure
- msec -= 2;
- usleep(msec*1000);
+ char *temp = SDL_GetClipboardText();
+ result = (char *) osd_malloc_array(strlen(temp) + 1);
+ strcpy(result, temp);
+ SDL_free(temp);
}
+ return result;
}
+
+#endif