Skip to content

fruitSalad266/chip8

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chip8 emulator

This is an emulator (or more accurately, an interpreter) for the interpreted programming language CHIP8.

How to run

Requires Cmake 3.20, and SDL3. Legacy programs (~pre early-1990s) have different behavior. Run these with the -legacy flag.

Debugging

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

Testing

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.

Development

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.

Things that I learned:

  • 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

Copyright

I mean what is there to copy even

About

Chip 8 Emulator implemented in C++.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors