This is a CHIP-8 interpreter, built with SDL2. It mimics the CHIP-8 system and includes emulation for the COSMAC VIP hexadecimal keyboard layout. It's still not complete, but works enough to load some ROMs and play a bit.
Screenshots (Pong/Tetris/Blitz):
This project is dependant on the SDL2 library. Please make sure you lookup how to install it for your system before continuing.
-
Download the latest version from the releases tab and place it in a directory of your choice. (As of now, windows, mac and debian-based linux distros have builds. If you're running something else, you may have to compile from source.)
-
Create a
roms
directory in the same directory as the executable. This is where you'll place the CHIP-8 ROM files. -
Place your CHIP-8 ROM files in the
roms
directory.
-
Open a terminal in the same directory as the CHIP-8 Interpreter.
-
Run the following:
./Chip8Interpreter <name of the ROM> <delay>
. The deplay parameter is optionnal, it's only there because some games seem to work better at different speeds. So just try, and see what works. The default is 2 miliseconds.
The original COSMAC VIP had a 4x4 hexadecimal keyboard, which I mapped as the following (on a QWERTY keyboard):
1 2 3 4
Q W E R
A S D F
Z X C V
Other keyboard layouts should also work with the same key placements.
About the controls for the actual games, it's always different... just trial and error I guess, or you can look them up.
I'm not going to write instructions on how to compile from source because I figure if you're trying to do this, you already know what you are doing. :)
This general high-level guide is what got me into making this. It was a lot of fun! I suggest you try making one too.