Hi all!

Summary

I've been working on a Gameboy emulator for the Teensy 4 family and it's now able to run Tetris at full speed with sound output directly from the Teensy.

Click image for larger version. 

Name:	breadboard-gameboy.jpg 
Views:	10 
Size:	234.8 KB 
ID:	21693

Here's a quick video demo:


I also wrote a couple of blog posts on the project.

Some Background

Although I initially used one of the common ILI9341 displays for a proof of concept, I went to find a more suitable screen for proper Gameboy output. That's why I ended up creating a custom display driver board for the build. Of course, with some adaptions to the code, any other display may be used with this project.

Speaking of the code, here's the GitHub repository.
Contributions are welcome and, in fact, SD card support is only here because of some awesome contribution.

That brings us to the features:
  • Load ROM from SD card
  • Run Tetris at full speed
  • 3 channel sound output
  • Passes Blargg's CPU instruction tests


The audio integration is done entirely on the Teensy and for each of the original sound channels of the Gameboy a GPIO pin is used. These can be mixed together electrically and fed into an amplifier. The required circuitry is documented in the README of the repository.

Of course, development isn't finished yet and it probably never will be. Top points on the roadmap are: support for more games, add automated tests, add fourth sound channel, add SD card menu.