Skip to content

IslayLaphroaig/CHIP-8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CHIP-8 Interpreter


 Build Status     License: MIT      code style  

Breakout

Description

This project is a CHIP-8 interpretor written in Python 3. The goal is to learn about the process of writing an interpreter/emulator while simultaneously learning about the Python programming language.

License

The license is MIT

Installation

The code was developed against Python 3.7.1 and was tested on Windows 10 and Manjaro Linux. Assuming Python 3.7 is installed and configured for your OS, clone the repository to a Python virtualenv or to another location of your choosing. Open a terminal and cd into the CHIP-8 directory, from here run "pip install -r requirements.txt". This will install glfw and PyOpenGL. To launch the interpreter, from the CHIP-8 directory, run "python .\src\main.py" which will open a file explorer using tkinter, navigate to a Chip-8 rom and open it to begin (make sure the rom has a .ch8 extension). No roms are currently provided, they are available on the internet.

Sound should work by default on Windows. For Linux and Mac you will need to install the sox package, refer to the documentation for that platform for installing sox.

Key Mappings

The computers using the Chip-8 language had a 16-key hexadecimal keypad. The original keypad and the mappings which my Chip-8 interpreter uses is shown below:

  Chip-8   Interpreter
|1|2|3|C|   |1|2|3|4|
|4|5|6|D|   |Q|W|E|R|
|7|8|9|E|   |A|S|D|F|
|A|0|B|F|   |Z|X|C|V|

References

Matthew Mikolay: Mastering Chip-8
Laurence Muller: How to Write an Emulator (CHIP-8 Interpreter)
Craig Thomas: Writing a Chip 8 Emulator
Cowgod's Chip-8 Technical Reference v 1.0

Releases

No releases published

Packages

No packages published

Languages