diff options
author | 2017-07-14 21:00:09 -0700 | |
---|---|---|
committer | 2017-07-15 14:00:09 +1000 | |
commit | 15c2bb0c08aeb3eff32ee17e70d38866192e782a (patch) | |
tree | 837f84437499220d4d59f8f29f3ad33e076ca826 /scripts | |
parent | 6d634e00934d69de688fd050e464c97a1385606c (diff) |
Fix save/load states in Emscripten build (#2470)
* Fix save/load states in Emscripten build
* Simplified Emscripten integration points
* Moved standalone JS functions to be static member functions of running_machine
* Improved Emscripten main loop
* Use convenience functions for cleaner code
As an added bonus, this now allows for proper shutdown of the running machine when running in the Emscripten environment - previously, attempts to exit the program were just being ignored.
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/resources/emscripten/emscripten_post.js | 6 | ||||
-rw-r--r-- | scripts/src/main.lua | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/scripts/resources/emscripten/emscripten_post.js b/scripts/resources/emscripten/emscripten_post.js index 92cbdd21f9b..10d4e1d5d35 100644 --- a/scripts/resources/emscripten/emscripten_post.js +++ b/scripts/resources/emscripten/emscripten_post.js @@ -1,8 +1,8 @@ // MAME-JavaScript function mappings var JSMAME = JSMAME || {}; -JSMAME.get_machine = Module.cwrap('_Z14js_get_machinev', 'number'); -JSMAME.get_ui = Module.cwrap('_Z9js_get_uiv', 'number'); -JSMAME.get_sound = Module.cwrap('_Z12js_get_soundv', 'number'); +JSMAME.get_machine = Module.cwrap('_ZN15running_machine30emscripten_get_running_machineEv', 'number'); +JSMAME.get_ui = Module.cwrap('_ZN15running_machine17emscripten_get_uiEv', 'number'); +JSMAME.get_sound = Module.cwrap('_ZN15running_machine20emscripten_get_soundEv', 'number'); JSMAME.ui_set_show_fps = Module.cwrap('_ZN15mame_ui_manager12set_show_fpsEb', '', ['number', 'number']); JSMAME.ui_get_show_fps = Module.cwrap('_ZNK15mame_ui_manager8show_fpsEv', 'number', ['number']); JSMAME.sound_manager_mute = Module.cwrap('_ZN13sound_manager4muteEbh', '', ['number', 'number', 'number']); diff --git a/scripts/src/main.lua b/scripts/src/main.lua index 55976110628..6d63772b028 100644 --- a/scripts/src/main.lua +++ b/scripts/src/main.lua @@ -157,7 +157,7 @@ end .. " -s TOTAL_MEMORY=268435456" .. " -s DISABLE_EXCEPTION_CATCHING=2" .. " -s EXCEPTION_CATCHING_WHITELIST='[\"__ZN15running_machine17start_all_devicesEv\",\"__ZN12cli_frontend7executeEiPPc\"]'" - .. " -s EXPORTED_FUNCTIONS=\"['_main', '_malloc', '__Z14js_get_machinev', '__Z9js_get_uiv', '__Z12js_get_soundv', '__ZN15mame_ui_manager12set_show_fpsEb', '__ZNK15mame_ui_manager8show_fpsEv', '__ZN13sound_manager4muteEbh', '_SDL_PauseAudio', '_SDL_SendKeyboardKey']\"" + .. " -s EXPORTED_FUNCTIONS=\"['_main', '_malloc', '__ZN15running_machine30emscripten_get_running_machineEv', '__ZN15running_machine17emscripten_get_uiEv', '__ZN15running_machine20emscripten_get_soundEv', '__ZN15mame_ui_manager12set_show_fpsEb', '__ZNK15mame_ui_manager8show_fpsEv', '__ZN13sound_manager4muteEbh', '_SDL_PauseAudio', '_SDL_SendKeyboardKey']\"" .. " --pre-js " .. _MAKE.esc(MAME_DIR) .. "src/osd/modules/sound/js_sound.js" .. " --post-js " .. _MAKE.esc(MAME_DIR) .. "scripts/resources/emscripten/emscripten_post.js" .. " --embed-file " .. _MAKE.esc(MAME_DIR) .. "bgfx/chains@bgfx/chains" |