Chip'N'im-8: A Chip-8 Emulator in Nim for Godot
April 14, 2025 ยท View on GitHub
Chip'N'im-8 (pronounced Chip 'N' Nim 8) is a Chip-8 emulator implemented in Nim and integrated with Godot Engine.
Features
- Complete Chip-8 instruction set emulation
- Godot-powered UI for ROM selection and debugging
- Real-time visualization of emulator state
Demo (Click image to go to Youtube)
Getting Started
ROMs
You will need roms which I added as submodules from: https://github.com/kripod/chip8-roms/tree/master
Store it in /roms
You should run this too:
git submodule update --init
Building and Running
- Ensure you have Nim, Godot 4.x and gdext-nim 0.10.1 installed.
- Clone this repository
- Check https://github.com/godot-nim/gdext-nim for instructions.
Architecture
The project uses godot-nim, a GDExtension bridge between Godot Engine and Nim. The emulator core is written in Nim, and Godot Engine is used as a sort of UI framework for displaying the emulator's state.
License
GPL-3.0
Note
I have to add that if you are using Nim and are struggling to find a UI library, Godot Engine + gdext-nim is the PERFECT choice compared to other alternatives out there. It's the option I found to be more future proof in terms of development. I can't overstate how happy I was to find gdext-nim after hours searching for UIs. It truly seems underrated and it felt too hard to find.
The quality of the bindings are superb with a great documentation that has the same style as Nim's + it matches GDScript classes and logic perfectly.
Thanks to la.panon for all the help during the contribution process.
