gopi487krishna/zc8
A chip 8 emulator written in Zig
f6bbe8ac5e7b901db69ba62f017596090c362d84
zc8 is a lightweight Chip-8 emulator implemented in Zig, designed to provide a clean and minimal implementation of the classic Chip-8 virtual machine. It is well-suited for experimentation, and running retro games.
The emulator is compiled to WebAssembly using Emscripten, allowing it to run directly in the browser. SDL3 is used for handling graphics and input and sound.
This project was developed as a way to gain hands-on experience with Zig, WebAssembly, Emscripten, and emulator development.
nix develop
NOTE
To Resolve the emscripten cache issue : https://github.com/NixOS/nixpkgs/issues/139943#issuecomment-930432045
zig build -Dtarget=wasm32-emscripten -Doptimize=Debug --sysroot "$(em-config CACHE)/sysroot"
zc8.js
and zc8.wasm
to website
directory and run emrun index.html
inside website directoryzig build test --summary all
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.