This is an emulator (or more accurately, an interpreter) for the interpreted programming language CHIP8.
Requires Cmake 3.20, and SDL3.
Legacy programs (~pre early-1990s) have different behavior. Run these with the -legacy flag.
Enter debug mode with -debug. This will expose memory, variable registers, and the program itself. You can pause at any point, then go forward step-by-step
Current versions: IBM and opcode tests. All operations are supported, but these are the main ones I debugged on.
You can run with ./chip8 [file/path/rom.ch8].
Alternatively, find various ROMS here.
I followed this tutorial for the spec. I thought it was very helpful because it's all conceptual and leaves you to figure out a lot on your own. I also used @CoreDumped for a lot of the ground-up knowledge for how a computer works.
- I strongly dislike super primitives
- How did someone ever come up with this for the first time?
- It is (in hindsight) not that hard to make rocks think
I mean what is there to copy even