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.
Playing octojam1title.ch8
Playing Space Invaders (David Winter)
Playing Tetris (Fran Dachille, 1991)
The project uses Cmake as it's prebuild system.
- Clone the repo and cd into the project root directory.
git clone https://github.com/prashantrahul141/cipi8 && cd cipi8
- 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.
- Run Ninja to build the project
ninja
You can provide -j
flag to build in parallel
ninja -j 10
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.