Electronic – arduino – Creating an Arduino-based Gameboy cartridge

arduino

First off, I am not sure if this question fits here, so sorry for any inconvenience, mods!

I've looked over the internet, and I found this pretty little thing called nanoloop, and I've been wondering if I can make something like that myself. As I am pretty familiar with Arduino, I thought that I could make an Arduino somewhat of a Gameboy cartridge, and probably someone on the internet has done it, right?

Wrong. I haven't found a thing in people trying to use Arduinos as Gameboy cartridge processor. So, here comes my question: Is such thing possible? If so, where would one start?

Best Answer

Such a cartridge is essentially a ROM. It gets requests from the CPU in the gameboy for a particular address, and answers with the appropriate data. I doubt whether an Arduino could mimic this process fast enough to satisfy the gameboy CPU: the arduino would have to wait for the read strobe, the sample the (16 bit) address bus, find the data, and put it out (8 bits). But maybe it is possible for clever person with too much spare time. Start with getting the exact timing of the bus. According to wikipedia it is a custom 8080/z80 hybrid, so getting the documentation might be a challenge in itself. Then study the AVR instruction set and see whether you can satisfy the timing. That will definitely require assembly programming.

Related Topic