Skip to content

Latest commit

 

History

History
58 lines (41 loc) · 1.38 KB

README.md

File metadata and controls

58 lines (41 loc) · 1.38 KB

Piex

This is an emulator of famous chip8 system. It is written in C++ as a pet-project. Core of emulator is bundled with opt-in SDL2 implementation or ascii. I want to spport all the quirks and all different versions of chip8. That is the goal, sort of.

Table of Contents

Implementation

Build

You will need to install SDL2 library to build this project. On Ubuntu you can do it with following command:

sudo apt-get install libsdl2-dev

Then you can build project with cmake:

mkdir build
cd build
cmake .. -DENABLE_SDL=1 # or -DENABLE_SDL=0 for tests-only build
make

Usage

./build/piexapp <sdl|ascii> <ch8|sch|xoch> <path_to_rom>

First argument is platform implementation:

  • sdl - use sdl2 implementation
  • ascii - use ascii-art implementation, no keyboard support

Second argument is emulation-type:

  • ch8 - chip8 type
  • sch - superchip type
  • xoch - xochip type

Third argument is path to rom file.

TODO

  • Add sound implementation in sdl build, currently it is stub with no sound
  • Incapsulate quirks logic into core (move video memory to core, change interface to draw only per_pixel)
  • Better deal with timers, only "display.wait" left for 100% quirks tests
  • Implement the rest of opcodes