This is a WIP, started this afternoon. I'll add more info about CHIP-8 here, but for now I just want to make a first release. Source will follow soon, after some needed refactoring!
I started coding this emulator back in November 2011, when I was preparing for my BSc final year project (CompSci yay). I wanted to make and document an emulator on a microcontroller. Arduino and the CHIP-8 were the perfect choices. Finally, the idea was scrapped and I was left with some code I had hacked as an early prototype. The code worked fine on a KS0108 LCD display and an Arduino Mega 2560.
The code is a port from various C/C++ CHIP-8 emulators, with changes to work on the Gamebuino hardware and the limitations of the AVR microcontrollers. It requires many improvements and serious refactoring before releasing, or else git will mess everything up.
What doesn't work and/or needs fixing (the list will grow):
- Controls. CHIP-8 uses a hexadecimal keypad and games don't follow a pattern, for example for direction keys. Ideas?
- Speed of emulation. Currently I have set the Gamebuino to run at 120 fps (I don't think it does though). There is no need to update the screen 120 times per second, but the emulator should run faster than that.
- Games loading. Games should be loaded from the SD card. All available CHIP-8 games fit into the 128MB SD of the Gamebuino
- RAM handling. Currently everything is stored on the RAM, from fonts to games. This is stupid, we can access the Flash and save alot of space!
Download: https://dl.dropboxusercontent.com/u/1733459/CHIP8.HEX