A Gigatron emulator written in Zig
This is a casual project I work on for my own amusement. I'd never written an emulator before, and CHIP-8 seemed too trivial, so I choose the Gigatron instead.
Unfortunately the project is completely unbuildable on current Zig master due to the removal of stage1, which is required to handle the async function
- Emulation of the Gigatron itself is more-or-less cycle accurate, with the exception of how undefined behavior behaves relative to real-world.
- VGA is emulated well enough to show the Gigatron ROM's intended image, although it could be improved in relation to real VGA hardware.
- Blinkenlights blink.
- Audio is emulated, although I am skeptical that the implementation of the bandpass filtering is correct.
- Gamepad emulated (though no platforms yet support an actual gamepad).
- Pluggy McPlugface key inputs work, including gamepad emulation. tinyBasic save/load works (F3 loads, not ctrl-F3).
- Currently only Windows Vista or higher is supported on x64.
- Clone the Git repository
- Run
zig build
- This project depends on zigwin32 for the Windows build (included)
- Place resulting binary in a directory with a Gigatron rom file named "gigatron.rom". ROMv5a can be obtained here.