A CHIP-8 emulator written in C. https://en.wikipedia.org/wiki/CHIP-8
The emulator follow the standard CHIP-8 specifications:
- 4KB of RAM
- 16 8-bit general-purpose registers (V0-VF)
- 16-bit Program Counter (PC) and Index Register (I)
- A 16-level stack for subroutiner
- 64x32 monochrome display buffer.
- 60Hz delay and sound timers.
- 16 key Keypad (Mapped from 1-4, q-r, a-f, z-v)
Scrolling and other SCHIP-8 Opcodes have not been implemented.
The CPU runs a loop that performs three steps: Fetch, Decode, and Execute.
To compile run cmake -S . -B <build> to generate the build files. Compile the project with cmake --build <build>. chip8-term or chip8-sdl targets can be specified.
Once compiled, run the emulator by passing the path to a CHIP-8 ROM file ./chip8-emu path/to/rom.ch8
Thanks to Timendus for chip8-test-suite.