Jorge García Hinestrosa

Chip-8

A snapshot of the project, which shows a chip-8 emulator running the Pong game

I've been always interested on how emulators work. Being able to emulate a physical machine in a virtual way feels like magic, doesn't it?

One of my dream projects is to be able to understand how machines like SNES, NES or Game Boy work and build an emulator for them.

But I preferred to start with something easier so I didn't get frustrated at my first attempt. I started to read different resources and it looks like Chip-8 is a very good platform to begin with.

  • It only has 35 instructions to implement
  • I think the CPU, memory, registers and display information was simple enough to be understood after reading a little bit about it
  • The web is full of documentation about this platform and people who already implemented their own version of it

I wanted some project that made me interact for the first time (since college) with all the assembly, instructions, registers and memory stuff that building an emulator involves in an easy way.

I have to say it was super fun to make this one. Understanding the "magic" behind each instruction working all together in cycles to show you the information in the display was very satisfying.

Next step will be either create an emulator of Game Boy or write some "Hello World" example to be executed directly in a real Game Boy.