C++ Chip-8 Emulator

Work In Progress

What is Chip-8??

Chip-8 in essence is a hardware-like interpreted programming language Wikipedia.

It functions almost exactly like hardware, having 4kb of memory, 16 General Purpose 8-bit Registers, a stack, and assembly-like instructions (ADD, AND, XOR, LOAD, SET, etc) cowgod's Chip-8 Reference.

Many of the programs that have been written in the chip-8 language look like these below:

Space Invaders Game

PONG

Why Write a Chip-8 Emulator?

Like I mentioned earlier, Chip-8 is a hardware-like language. It allows someone to dip their toes into the field of hardware emulation without getting swallowed by the massiveness of emulating something very complex like an original NES or Gameboy.

It allows a first time hardware emulation programmer like myself to learn what it's like and gain some practice in the field.

How is this project going?

So far I've enjoyed myself working on it. I love learning more about low-level computing, and improving my C++ Skills. This project has also motivated me to experiment with Test Driven Development, and eventually implementing Continuos Integration.