Chip-8 (Super Chip) Emulator

This is actually one of my oldest projects. It was started in 2007 as my first entry into the world of programming, and it also was my final project for the intro to programming class in community college.
By the time I started writing this page, it had been almost 12 years.
Some think Chip-8 is one of the easiest systems to emulate, as it has a very simple instruction set, and the operations are very simplistic as well, but I disagree. In 2009, having developed more advanced features for the emulator, and testing more games and codes written for it, I found an undocumented feature in the opcodes. According to Wikipedia, Chip-8 has been around since 1970, so by 2009, it had been 39 years, and people still could not figure out the system. The offender was a game named Spaceflight 2091. Without the right opcode, its display will garbage up and eventually the game would crash. Back then, most just considered the game as broken, and never tested their emulators further. I would argue that Chip-8, like most systems that are simple but robust, is in fact a good case study of how computer programming can be super hard even on the simplest of systems. We should not underestimate any system, no matter its complexity.
Therefore, I now have this page as a reminder of the passion that I have for computer programming, as well as the passion that I once had for system emulation. I still have some emulators in the backlog, and perhaps they will finally see the light of day soon.
I have worked on the emulator sporadically over the years and added some extra features, such as graphics filtering, but the emulator core (the interpreter) remained the same. It's almost embarrassing to look at now, but I like the naivette that I had back in the days. This was not just a program to showcase my entry into computing, it's proof of my love for it. I hope that by seeing what a mess the source code is that it will inspire someone else to take the plunge and write their own emulator as well, even if it seems way over their head. It certainly was way over my head in 2007.
Special thanks to my friends on NGEmu. Those were the days! Hopefully I will see you again soon in the emulation scene!

Quick start:
controls for this emulator are 1 2 3 4 q w e r a s d f z x c v depending on which button(s) the game uses. For instance, Ant (Super-Chip) uses 3 and 4 to move and z to jump. You should be able to find a lot of free Chip-8 and Super-Chip binaries online. I will upload a playable demo written in JavaScript to this server when it is ready.
Working demo (white background): download
Experimental Colorizer (beta): download
Original source code: download
NGEmu post regarding the undocumented opcode: https://www.ngemu.com/threads/chip8-thread.114578/post-1701718
David Winter's excellent Chip-8 doc: http://vanbeveren.byethost13.com/stuff/CHIP8.pdf
Super-Chip specifications: http://devernay.free.fr/hacks/chip8/schip.txt