For this project, I wrote a simple CHIP-8 emulator (well, maybe more accurately an interpreter) in Rust.
I also used wasm-pack to convert the Rust into WebAssembly and run the emulator on the web.
The emulator supports keyboard input, video, audio, timers, etc.
To my knowledge, it is a fully functioning CHIP-8 system.
Demo
In the demo video below, I try out a few programs for CHIP-8.