The project uses a Teensy 4.1 as its main processing unit and storage device (SD card).

The FT81x Arduino Driver is used as a display system.

Wiring

Display

For display wiring please refer to this guide for the FT81x Arduino Driver.

Buttons

Button wiring is straight forward and doesn't require any pull-up resistors:

Button Wiring

Audio

For proper audio output some filter and amplifier circuitry is required:

Audio Wiring

Tip: Audio output is most authentic with a Gameboy replacement speaker.

Running and Loading a Game

Game ROMs are not included with this repository and have to be provided via SD card! Make sure the SD card is formatted using the FAT32 filesystem using Master Boot Record partitioning style. File names should follow the 8.3 MS-DOS style.

As of now, the ROM to be loaded has to be specified inside src/main.cpp, e.g:

Cartridge::begin("tetris.gb");