Running on gasm
OpenCMR2 is built as one module, opencmr2.wasm, for gasm, a portable game runtime: native runners (gasm-run) for macOS, Linux and Windows, and a browser runner. The same module runs everywhere and produces the same frames.
What OpenCMR2 uses from gasm (0.16.0):
| gasm | For |
|---|---|
gasm core | Frame loop at 60 Hz, audio push (44,100 Hz stereo), raw keyboard, gamepads, assets, launch parameters |
gasm:gl | OpenGL ES 3.0 (WebGL 2 in browsers): the Direct3D 7 renderer of the original, emulated |
gasm:storage | Options, controller bindings, saves, high scores |
gasm:net | Network play (later) |
Data is given as an asset: --asset cd=CMR2.ISO for the disc image, or --asset-dir <folder> for the CD copied to a folder.
sh
gasm-run opencmr2.wasm --asset cd=CMR2.ISO
gasm-run opencmr2.wasm --asset-dir cd --headless 600 --screenshot /tmp/frame.png # unattended test runIn the browser: the player (Playing in the browser). Releases will include ready bundles (macOS app, Linux and Windows folders) with the runner; none exist yet: see Status.