From ad2ca2a62fbef8f6742819bba7652e66ff12ebe0 Mon Sep 17 00:00:00 2001 From: Eleazar Date: Thu, 30 Jul 2026 21:02:12 +0100 Subject: [PATCH 1/2] Add blueMSX to the ASYNCIFY-required cores list blueMSX synchronously reads machine configuration XML files during retro_load_game(). Without ASYNCIFY=1 the core deadlocks on the Emscripten event loop and never initializes. --- emulatorjs/build-emulatorjs.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/emulatorjs/build-emulatorjs.sh b/emulatorjs/build-emulatorjs.sh index a2e7bfd3c7e3..fdea2e140811 100755 --- a/emulatorjs/build-emulatorjs.sh +++ b/emulatorjs/build-emulatorjs.sh @@ -69,7 +69,10 @@ needsThreads=("ppsspp" "azahar") largeThreads=("ppsspp" "azahar") noCHD=("mame2003" "mame2003_plus" "pcsx_rearmed" "genesis_plus_gx" "genesis_plus_gx_wide" "azahar") no7Zip=("bsnes") -needsAsync=("mupen64plus_next" "dosbox_pure" "ppsspp" "azahar" "bsnes") +# Cores that perform synchronous file I/O during retro_load_game() +# (e.g. reading XML machine configs) need ASYNCIFY to avoid deadlocking +# the Emscripten event loop. +needsAsync=("mupen64plus_next" "dosbox_pure" "ppsspp" "azahar" "bsnes" "bluemsx") for f in $(ls -v *_emscripten.bc); do name=`echo "$f" | sed "s/\(_libretro_emscripten\|\).bc$//"` From c4d68c97763f55772f14ee3037604b36128b4dce Mon Sep 17 00:00:00 2001 From: Ethan O'Brien Date: Sat, 19 Sep 2026 20:31:19 -0500 Subject: [PATCH 2/2] Remove needsAsync comment --- emulatorjs/build-emulatorjs.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/emulatorjs/build-emulatorjs.sh b/emulatorjs/build-emulatorjs.sh index fdea2e140811..376d0982053e 100755 --- a/emulatorjs/build-emulatorjs.sh +++ b/emulatorjs/build-emulatorjs.sh @@ -69,9 +69,6 @@ needsThreads=("ppsspp" "azahar") largeThreads=("ppsspp" "azahar") noCHD=("mame2003" "mame2003_plus" "pcsx_rearmed" "genesis_plus_gx" "genesis_plus_gx_wide" "azahar") no7Zip=("bsnes") -# Cores that perform synchronous file I/O during retro_load_game() -# (e.g. reading XML machine configs) need ASYNCIFY to avoid deadlocking -# the Emscripten event loop. needsAsync=("mupen64plus_next" "dosbox_pure" "ppsspp" "azahar" "bsnes" "bluemsx") for f in $(ls -v *_emscripten.bc); do