Serial Boy is a hobby project, which I started in 2019.
My first goal was to build my own Game Boy cartridge.Here is a Hackaday.io article about it. https://hackaday.io/project/179717-serial-boy
Game Boy Basics The Game Boy processor is a Z80 like chip running at 1MHz. The memory bus is connected to the cartridge slot where games provide the memory the CPU is running from. For more details see this great video: https://www.youtube.com/watch?v=HyzD8pNlpwI.


My Cartridge Design Instead of a memory chip I use a very powerful microcontroller (216MHz) to emulate a memory chip. The emulation allows me to change the memory content while the game is executed. Here is a great video about a different cartridge design https://www.youtube.com/watch?v=QS4fzElm8zk
Challenges The Game Boy processor is running directly from the cartridge memory. The memory needs to react to a read operation within round about 50ns to 70ns. This gives the microcontroller 10 to 15 clock cycles to: –react, –read the address, -change the GPIO port to output, -copy the data to the output.
It took me months to develope the software in a way that it is capable of working within the constrains. Technics I used are inline Assembler for the memory handling routine, running the software from the TCM memory (tightly coupled memory) capable of running without skipping cycles due to slow memory. Even pin change interrupts are to slow because the processor needs sometimes 11 cycles to run the interrupt routine.
Serial Interface The benefit of running from an emulated memory is the possibility of changing the content. To get Serial data into the Game Boy I have a ring buffer within the memory area above of the Game Boy code. To feed Serial data to the ring buffer a DMA is used. The processor has absolutely no time to do other things than emulating the memory.

Applications The Serial Boy device is a serial interface, which makes it very easy to use in all kinds of hobby projects. I use a Game Boy as a TV remote, to control my electric beach chair, to fetch crypto currency stock values, and as a handheld thermometer. The possibilities are endless, I want to use it in the future also as an instrument, to play party games with friends and many more.






