A cross-platform Chip-8 interpreter written in C-style C++ using SDL2, ImGui, and OpenGL.
- Windows, MacOS, and Linux (Debian)
- Resizable Window
- Graphical user interface
- Color customizer
- CPU frequency selection
- FPS limiter
- Audio beep
- Command line support
- Configurable quirks
- ROM profiles
controls <--> keybindings
1 2 3 C 1 2 3 4
4 5 6 D q w e r
7 8 9 E a s d f
A 0 B F z x c v
increase speed page up
decrease speed page down
quit esc
toggle fullscreen enter
toggle menu left alt
show fps right alt
soft reset f5
pause p
mute m
Kiwi8 [options] [rom_file]
Options:
-f, --fullscreen Start in fullscreen
-m, --muted Start with audio muted
-p, --profiles <path> Use a custom profiles.ini file
-h, --help Show this help message
Note: Quirks are configured per-ROM via profiles.ini or GUI.
The following must be installed and added to your PATH:
vcvarsall
cl
python3
cmake
nmake
-
Change current working directory
cd windows -
Configure environment for your architecture (x64 or arm64)
vcvarsall.bat x64
-
Compile with Microsoft's
nmakeutilitynmake
The following must be installed and added to your PATH:
install_name_tool
clang
clang++
python3
cmake
make
-
Change current working directory
cd macos -
Compile with GNU's
makeutilitymake
The following must be installed and added to your PATH:
gcc
g++
make
cmake
python3
pkg-config
You'll also need the GTK3, openGL, PulseAudio/Pipewire headers:
sudo apt install libgtk-3-dev xorg-dev libgl1-mesa-dev libasound2-dev libpulse-dev libjack-dev libpipewire-0.3-dev libdbus-1-dev-
Change current working directory
cd linux -
Compile with GNU's
makeutilitymake
