Skip to content

Diesel-Net/kiwi-8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

382 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kiwi-8

Release Build Lint

boot

A cross-platform Chip-8 interpreter written in C-style C++ using SDL2, ImGui, and OpenGL.

Compatibility Notes
Downloads

Features

  • Windows and MacOS
  • Graphical user interface
  • Audio
  • Color customizer
  • CPU frequency selection
  • Command line support
  • No SCHIP support

Controls

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

Usage

  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

Building on Windows

The following must be installed and added to your PATH:

vcvarsall
cl
python3
cmake
nmake

  1. Change current working directory

    cd Windows
  2. Configure environment for your architecture (x64 or arm64)

    vcvarsall.bat x64
  3. Compile with Microsoft's nmake utility

    nmake

Building on MacOS

The following must be installed and added to your PATH:

install_name_tool
clang
python3
cmake
make

  1. Change current working directory

    cd MacOS
  2. Compile with GNU's make utility

    make

Building on Linux (Debian)

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
  1. Change current working directory

    cd linux
  2. Compile with GNU's make utility

    make

Resources