An Emulator/Interpreter for CHIP-8 written in C using SDL2
Github repo is the mirror of Codeberg
Keyboard | CHIP-8 | |||||||
---|---|---|---|---|---|---|---|---|
Esc | → | Stop | ||||||
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 |
emu8 /path/to/rom.ch8
You can acquire test roms on Timendus's Test Suite
NOTE : The wav file must be named 440.wav and must be in the same directory as the executable/
- make
- SDL2
- gcc / clang
On Windows you have two options, you can either use WSL or Mingw
Refer the *Nix instructions above
- mingw
- make
- SDL2
- gcc / clang
Just run make all
to compile, make clean
to remove the binaries and make rebuild
to clean and compile everything
Note 1: You can pass -j$(nproc)
to speed the build process.
Note 2: The binary produced does not has the debug information stripped and is compiled with the -g
and -ggdb
flags.
- WIKIPEDIA
- Cowgod's Reference
- CHIP8 Guide by Tobias VL
- Queso Fuego's Playlist
#chip-8
on EmuDev Discord
- Add Windows Build Instructions
- Clean Up The Codebase &
- Also Use SDL_Log Instead Of Printf
- Use SDL_Open Instead Of fopen() ?
- Generate The Sound Using SDL (Without Needing to Rely On A WAV)
- Add OOB Checks
- Add Config File Support
- Add Keyboard Re-Mapping
- Add Debugger
- Add Support For XO-CHIP, SCHIP, ETC
- UI Support
- Pause State
- Janitor Raus
- Gulrak
- cortexauth
This software is licensed under the BSD 2-Clause "Simplified" or "FreeBSD" License. You can find the full license text here.
In short, this license allows you to freely use, modify, and redistribute the code for any purpose, commercial or non-commercial, as long as you retain the copyright notices and the license disclaimer in the original source files and any derivative works. You are also obligated to provide a copy of the license text along with the code when redistributing it.