There is no Backend server, everything runs locally in the browser in a runtime that weights less than a screenshot of the website itself!
To implement it I modified the blink emulator to run as a C library, and compiled it into a Typescript + WASM module that exposes an emulator API. Then I built a regular web app on top of it.
> Unlike traditional onlide editors
This is a level lower than https://godbolt.org/ (the "Compiler Explorer") -- think of that site as turning C into assembly, and this site as watching the machine code actually run on virtual hardware.
Also, the "Guides" button and the "embed on your website" link on the main page are broken.
I am intentionally not implementing any useful feature beyond single stepping so that students will not remain stuck on a local minimum using this website.
For other architectures, it feels like a missed opportunity to not have an independent WASM build of MAME's debugger, as the whole project could already be built in WASM (although I think the latest versions were broken, as that target isn't actively maintained): https://docs.mamedev.org/initialsetup/compilingmame.html#ems...
* Be just like Asm in every way, but:
* Have standardized architecture-agnostic mnemonics that translate to CPU-specific ones: like something that stands for both MOV on Intel and LDR on ARM.
* Take care of common boilerplate like function call rituals, or the multiple instructions required for loading 64-bit numbers on ARM.
Basically a real language like the ones in "programming simulation" games.