This repository contains the code for a Chip-8 emulator built in C++20. All code is fully documented. If any instruction or behavior is unclear, you can find additional Chip-8 information online or follow this guide to build you own emulator.
Caution
This emulator uses the original Chip-8 stack limit, so only 16 addresses to be pushed!
This project uses Premake5 as its build system. A Premake5 instance is included in this repository under Build/Premake5.
The build files are located in the Build folder :
| File | Usage |
|---|---|
Build/Build.lua |
Define global solution. |
Build/Build-Dependencies.lua |
Define dependencies solution. |
Build/Build-Chip8.lua |
Define chip8 library solution. |
Build/Build-Example.lua |
Define example executable solution. |
To build on Windows, you need at least Visual Studio 2022 Community Edition or another Visual Studio C++ installation with C++20 support.
Run the following to generate the project files :
:: Windows batch file
Setup-Windows.batCaution
Linux support has not been tested yet.
To build on Linux, you need a valid GCC installation with C++20 support.
Run the following to generate the project files :
# Linux shell script
Setup-Linux.sh