This is an in-tree port of [Franco Trimboli's excellent work][wasm].
The goal is to be able to run the simulator in a browser.
This builds with emscripten, as installed by the `emsdk`.
The `emsdk` is added as a submodule, and initialized on first build.
To build the browser WASM version of the simulator, run `make wasm`.
Fixes: #993
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Suggested-by: Franco Trimboli <sunpazed@gmail.com>
Co-developed-by: Franco Trimboli <sunpazed@gmail.com>
[wasm]: https://github.com/sunpazed/db48x-wasm
The dmcp code is moved to a submodule, with its own BDS 3-clause license.
The DB48X code uses DMCP, but is not derived from it.
The GPL license will provide better protection against derivatives with
proprietary additions that are not contributed back to the community.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Add support for DMCP5 and DM32 build
This is not perfect at the moment. Some glyphs, like the complex-i,
are missing from menus or the help display, as well as from the
editor font, but show on the stack font. This is rather weird.
Displaying some menus, like the STATS menu, cause a crash in
what appears to be sparse_font::glyph.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
We can't really use it on the DM42 itself, because it has so
little memory (70K) that using it for recorders is a waste.
But for debugging on the simulator, it's really handy.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>