Skip to content

jacob-thompson/teal8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues Pull Requests GitHub Created At GitHub Code Size MIT License


Logo

teal8

CHIP-8 interpreter written in pure C.

about

screenshot

CHIP-8 is an interpreted programming language developed by Joseph Weisbecker. teal8 is an interpreter for running CHIP-8 ROMs.

prerequisites

  • make is used for compilation.
  • SDL2 is used to render the graphics and handle the input.
  • SDL2_image is used to set window properties.
  • curl is used to pull data about ROMs from the chip-8-database.
  • openSSL is used to get SHA1 hashes of ROMs.

macOS

brew install make sdl2 sdl2_image curl openssl

Ubuntu

sudo apt-get install make libsdl2-dev libsdl2-image-dev libcurl4-openssl-dev libssl-dev

Arch Linux

sudo pacman -S make sdl2 sdl2_image curl openssl

compile

git clone https://github.com/jacob-thompson/teal8.git
cd teal8
make

The teal8 binary will be in bin/.

You can add the binary to your PATH:

export PATH="path/to/teal8/bin:$PATH"

usage

teal8 [-m|--mute] [-f|--force] [-i|--ips <number>] <rom>

You can omit the rom's file extension:

teal8 roms/rps

The following flags are available:

--mute (-m)             Mute sound
--force (-f)            Force run ROM even if not recognized
--ips <number> (-i)     Set instructions per second (default: 1000)

controls

The controls are mapped to the following keys:

1 2 3 4
Q W E R
A S D F
Z X C V

help

teal8 --help

special thanks