A cross-platform Chip-8 interpreter written in C-style C++ using SDL2, ImGui, and OpenGL.
- Windows and MacOS
- Graphical user interface
- Audio
- Color customizer
- CPU frequency selection
- Command line support
- No SCHIP support
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]
Options:
-F Fullscreen
-M Mute audio
-L Disable load/store quirk
-S Disable shift quirk
-V Disable vertical wrapping
-H Enable horizontal wrapping (DXYN)
-J Enable jump with VX offset (BNNN)
-G Enable logic ops VF=0 (8XY1/2/3)
-I Enable I+VX overflow quirk (FX1E)
-D Enable draw flag reset quirk
-h, --help Show this help message
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
python3
cmake
make
-
Change current working directory
cd MacOS -
Compile with GNU's
makeutilitymake
The following must be added to your PATH:
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 libpipewire-0.3-dev libdbus-1-dev-
Change current working directory
cd linux -
Compile with GNU's
makeutilitymake
