Still, on Linux, the SDL window does not properly update
|2 years ago|
|examples||2 years ago|
|res||4 years ago|
|src||2 years ago|
|.gitignore||2 years ago|
|BuildUNIX.sh||2 years ago|
|BuildWin64.bat||2 years ago|
|CHANGELOG||2 years ago|
|CMakeLists.txt||2 years ago|
|LICENCE||4 years ago|
|README.md||2 years ago|
C8E is a threaded emulator for the Chip-8 platform written in C++. C8E is designed to be lightweight, efficient and threaded, while being cross-platform and supporting all possible CHIP-8 features.
CHIP-8 ROMs in the
examples directory are not mine.
C8E is mostly being developed on x86-64 Linux with Clang.
- CMake >= 3.12, to build
- SDL2, to build and run
To build C8E on UNIX, run
cmake -S . -B build && cmake --build build
To build C8E on Windows, run
- SDL 2.0: Can be downloaded from https://www.libsdl.org/download-2.0.php
Include and Lib folders must be placed either in the project root directory, in C:/Programs/SDL2 (on Windows), or CMakeLists.txt must be edited to include the correct paths. These directories must be added under the link_directories and target_include_directories options.
To run the compiled binary, SDL runtime libraries must also be installed.
Note that C8E was initially written on Windows, and as a result, does not currently properly 100% of the time on Linux.
./bin/c8e *file*, where file is a CHIP-8 ROM.
A C8E window will open, and CHIP-8 controls are mapped where
1 maps to the top
left CHIP-8 key (
4 to the top left CHIP-8 key (
Z to the bottom
left CHIP-8 key (
A), and so on.
QWERTY -> CHIP-8 ┌─┬─┬─┬─┐ ┌─┬─┬─┬─┐ │1│2│3│4│ │1│2│3│C│ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ │Q│W│E│R│ │4│5│6│D│ ├─┼─┼─┼─┤ -> ├─┼─┼─┼─┤ │A│S│D│F│ │7│8│9│E│ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ │Z│X│C│V│ │A│0│B│F│ └─┴─┴─┴─┘ └─┴─┴─┴─┘
Copyright (C) 2019, Jakob Wakeling
All rights reserved.
OMKOV Permissive Licence