As I continue messing around in the land of Game Boys, I had developed my own test ROM that lets me system check a refurbished Game Boy. Of course then I started thinking it would be nice to have my very own personal cartridge.

I'm on my way (using tools like KiCAD), but along the way I accidentally made a stupid feature that let me put two 32K Game Boy ROMs on a single cart and I could manually switch between the two.

Here it is for your viewing pleasure - and yes, instead of a useful ROM, I put my own message (instead of "Nintendo") at boot, at which point it locks up (and I have to flip the switch):

What's more interesting is how it works, and what makes it stupid.

How it works

On the PCB I have an AT49F040 flash chip. This chip has the following properties that are useful:

  • 512K storage
  • One shot erase
  • 19 address pins

Since the PCB itself only includes the flash chip and not a Memory Bank Controller (MBC) it means that only 32K can be addressed whilst in the Game Boy.

There's only a handful of 32K games (though Tetris is included), but my own test program is 32K, so this suits me.

But what about the other 480K?

  • switch
  • custom rom with custom logo
  • url
  • how the mapping works
  • the process: erase one shot, then write twice