PUAE CD browser player / GPL-2.0-or-later Upstream: https://github.com/libretro/libretro-uae Revision: 7387937066b1b693816c3b4e2b7a0c601d41363d Toolchain: Emscripten 4.0.20 (emsdk), Linux. Firmware and game discs are external; neither is included in these sources. Extract corresponding-source.tar.gz. In its integration/ directory, run: bash build.sh The script compiles the modified PUAE source into a static archive, then links the bridge into core.js/core.wasm. Copy worker.js and audio.js alongside them. frontend.js is the ES module used by the site player. The emulation thread executes load/run/serialize/reset/flush/close commands; the JavaScript runtime thread stays available to service filesystem proxies. Do not move libretro execution onto the runtime owner: CD-audio threads can otherwise deadlock while requesting proxied filesystem operations. Requires cross-origin isolation and SharedArrayBuffer. Game discs are read only, through same-origin HTTP byte ranges; archive media lives in browser memory. NVRAM and checkpoints are stored locally in the visitor browser. Source changes include typed C/C++ callback signatures, a typed UAE thread trampoline, Emscripten thread sleep, and the libretro-common static build. The site's existing Amiga player is separate and is not upgraded by this core. Archive decoders: unchanged pinned EmulatorJS 4.2.3 extractzip.js/extract7z.js. They live beside this core so their Worker scripts carry the isolation headers; other players keep their existing decoder URLs and headers.