Skip to content

Diesel-Net/kiwi-8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 [filename] [-FMLSV]
-F      Launch in fullscreen
-M      Launch with audio muted
-L      Disable load/store quirk
-S      Disable shift quirk
-V      Disable vertical wrapping

Building on Windows

The following must be installed and added to your PATH:

vcvarsall
cl
python3
nmake

  1. Change current working directory

    cd Windows
  2. Configure environment for 64-bit architecture

    vcvarsall.bat x86_amd64
  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
make

  1. Change current working directory

    cd MacOS
  2. Compile with GNU's make utility

    make

Resources




"I can highly recommend this project to anyone wanting to get their feet wet in reverse-engineering, game-programming, and/or cross-platform development. It's been a great educational excercise involving major aspects of modern day applications such as input handling, user-interface design, 2D graphics rendering, audio generation, code profiling and more!"

- Tom