40 lines
942 B
Diff
40 lines
942 B
Diff
diff --git a/src/cpuexec.c b/src/cpuexec.c
|
|||
|
|
index ca7401f..07db6a1 100644
|
||
|
|
--- a/src/cpuexec.c
|
||
|
|
+++ b/src/cpuexec.c
|
||
|
|
@@ -943,6 +943,34 @@ void time_fence_exit()
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
+#elif defined(__EMSCRIPTEN__)
|
||
|
|
+
|
||
|
|
+// No cross-thread wait primitive is used here: this build is single-threaded
|
||
|
|
+// (see vpinball-wasm's README on why pthreads/SharedArrayBuffer are out of
|
||
|
|
+// scope), and time_fence is purely an *optional* external-clock-sync feature
|
||
|
|
+// (mirrored by Controller.TimeFence in controller.vbs) - reporting it as
|
||
|
|
+// unsupported just means the emulator paces itself on its own internal
|
||
|
|
+// timing instead of syncing to the host's clock, which is what every other
|
||
|
|
+// platform this library runs on outside of this fence do anyway.
|
||
|
|
+int time_fence_is_supported()
|
||
|
|
+{
|
||
|
|
+ return 0;
|
||
|
|
+}
|
||
|
|
+
|
||
|
|
+void time_fence_post()
|
||
|
|
+{
|
||
|
|
+}
|
||
|
|
+
|
||
|
|
+int time_fence_wait(double secs)
|
||
|
|
+{
|
||
|
|
+ (void)secs;
|
||
|
|
+ return 0;
|
||
|
|
+}
|
||
|
|
+
|
||
|
|
+void time_fence_exit()
|
||
|
|
+{
|
||
|
|
+}
|
||
|
|
+
|
||
|
|
#else
|
||
|
|
|
||
|
|
#include <semaphore.h>
|