Posts: 3,713 +1,162
In context: If you played Tetris on a Game Boy, you might remember that it had a two-player head-to-head mode. The old-school 1989 Game Boy accomplished this using the optional Game Link Cable which physically connected two Game Boys for two-player games.
A hardware modder who goes by Stacksmashing on YouTube has created a Game Boy Link port adapter to allow players to connect and play without being tethered together directly. He started by reverse-engineering the game's communication link protocol, then created a USB adapter using a Raspberry Pi Pico and level shifters. One end of the device connects to the GB's Link port and the other to a computer with internet access.
He then developed a game client for the PC to communicate with the Game Boy. The client then connects to an online game server, which handles hosting and matchmaking. Once hooked up—ta-da—you can play Tetris head-to-head with anyone in the world.
Better yet, this architecture allows more than head-to-head competition. Multiple Game Boys can connect to the game server to play together, and you end up with a battle-royale-style match similar to Tetris 99, which Nintendo recently released on the Switch.
The only requirements are the adapter and a Tetris cartridge. Of course, you also need a Game Boy. To make it more accessible, Stacksmashing built the PCB with both a Game Link connector (original GB) and a port compatible with Game Boy Pocket, Color, Advanced, and Advanced SP. The Tetris communication protocols are the same for all versions so that any Game Boy models can play together.
It's not going to be much fun if only a few people have the hardware to connect. So, Stacksmashing is selling the PCB that already has the difficult-to-solder level shifters pre-soldered. Users just have to attach a Raspberry Pi Pico (not included) either through-hole, soldering it on, or using pin sockets.
You can buy the PCB from Gumroad for $15 plus shipping. You can grab a Raspberry Pi Pico with or without headers from Amazon for around $10-$15. You will also need the software. Stacksmashing posted three packages—server, frontend, and firmware—to his Github repository.