To quote Cowgod's Chip-8 Technical Reference:
Chip-8 is a simple, interpreted, programming language which was first used on some do-it-yourself computer systems in the late 1970s and early 1980s. The COSMAC VIP, DREAM 6800, and ETI 660 computers are a few examples. These computers typically were designed to use a television as a display, had between 1 and 4K of RAM, and used a 16-key hexadecimal keypad for input. The interpreter took up only 512 bytes of memory, and programs, which were entered into the computer in hexadecimal, were even smaller.
This is an implementation of such an interpreter in the C programming language.
Clone this repository into your local machine and invoke your C compiler of choice with the necessary flags to link against SDL2.
Example for MSVC (Windows):
cl.exe /Wall .\chip8.c /Fechip8.exe /I .\SDL2\include /link /LIBPATH:.\SDL2\lib\x86 Shell32.lib SDL2.lib SDL2main.lib /SUBSYSTEM:CONSOLE
Adapt /I .\SDL2\include
and /LIBPATH:.\SDL2\lib\x86
to your setup.
The only requirement is SDL2.
You should be able to get a copy from your GNU/Linux distribution repositories or the official website.
The CHIP8 interpreter expects the path to a ROM as an argument.
Example: .\chip8.exe ..\roms\BLINKY
.
Please use the issue tracker to ask for help, request a new feature or report any bugs.
- Bootstrap
- Display
- Keyboard
- Sound
I am not accepting any pull requests at the moment. However, I welcome any bug reports or suggestions you might have.
This software is developed and maintained by Ricardo Lopes (@ricardoapl).
This software is available under the terms of the MIT License.