Porting DOOM to my WebAssembly VM
Summary
A hands-on look at porting a large C project to a Rust-based WebAssembly VM, including the decision to rewrite the VM in Rust, porting DOOM using a custom Doomgeneric backend, and implementing a host-guest interface for IO, graphics, and timing. The piece highlights practical considerations for cross-compiling, host imports, and debugging, culminating in a 426 KB wasm module that runs a playable DOOM loop locally.