Built a Game Boy flash cart using an AVR. Took a cartridge I bought for a few euros and replaced the ROM chip with a 32Kb RAM I took from a printer. The pinout of most RAM, ROM and EEPROM chips are almost the same, I was quite glad about this :-)
The next step was to find a processor that had many free pins to drive the 15 for the address bus and 8 for the data bus, for that then I used and AVR128.
If you look at the cartridge 'pins', you'll see a cable soldered to one of them, that is the HALT line of the Z80, controlling this pin I can freeze the Z80, this way the data and addresses buses are free and my AVR can write and read data from my RAM.
This is how the whole setup looks like once connected, the big chip is the AVR .
I can write programs in the RAM in two ways:
1) Connecting the AVR to my computer through a serial port and use a little loader to upload apps.
2) Write the app I want to upload in the AVR's flash and have it write it to the RAM when the Game Boy is turned on.
So, bottomline :-) It worked for small apps < 16Kb but it didn't work for bigger apps, so I think this post will have a second part someday, stay tuned!