No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A simple CHIP-8 emulator created in Python 3 using Pygame.



To run the project please make sure you have Python 3 installed. Make sure to enable the configure PATH option if installing on Windows. Open the directory you have downloaded or git cloned the project into in a terminal and run:

pip install -r requirements.txt


You will can run the project with:

python -O -m pychip8

If you want to play a rom other than the default debug rom (which just prints the default font characters), make sure it exists in the roms folder and change the name of the default rom in the settings module.


If you want to debug the application, run it without the optimize flag like so:

python -m pychip8

Note: This will switch on debug prints about the CHIP-8 register values and will prevent the app running unless you hold down the return key. You can set the update speed and frame rate in the settings module. If you haven't already it's a good idea to look up the summary of the CHIP-8 and its operations on Wikipedia as well as Cowgod's technical guide.

If you wish to modify the code, remember you can run all the unit tests with:

python -m pychip8.tests


Inspired by tutorials from Danny Tuppeny and Laurence Muller.