Skip to content

prashantrahul141/cipi8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cipi8

Cipi is a Chip8 emulator written primarily in CXX. You can read more about Chip8 here. There are a total of 34 instructions taken from here.

You can also download release binaries from the releases page.

octojam1title.ch8

Playing octojam1title.ch8

space invaders

Playing Space Invaders (David Winter)

tetris.ch8

Playing Tetris (Fran Dachille, 1991)

Building

The project uses Cmake as it's prebuild system.

Requirements:

  1. Clone the repo and cd into the project root directory.
git clone https://github.com/prashantrahul141/cipi8 && cd cipi8
  1. Run cmake to create build files for your platform.
cmake . -G Ninja

additionally you can provide -DCMAKE_BUILD_TYPE={configuration} to build in Debug, Release configurations.

  1. Run Ninja to build the project
ninja

You can provide -j flag to build in parallel

ninja -j 10

Using the emulator

Usage: cipi8 [--help] [--version] [--scale VAR] [--delay VAR] rom_file

Positional arguments:
  rom_file       The rom file to run. [required]

Optional arguments:
  -h, --help     shows help message and exits
  -v, --version  prints version information and exits
  --scale        Scale of the display [nargs=0..1] [default: 15]
  --delay        Delay between CPU cycles. [nargs=0..1] [default: 6]

There are some examples roms in the /roms directory, you can test them.