This Tiny Game Boy Lets The Real Thing Play Online

Back in 2021, [stacksmashing] found that it took little more than a Raspberry Pi Pico and some level-shifters to create a USB connection with the Game Boy’s link port. Add in the proper software, and suddenly you’ve got online multiplayer for the classic handheld. The hardware was cheap, the software open source, and a good time was had by all.

Inspired by both the original project and some of the hardware variations that have popped up over the years, [weiman] recently set out to create a new version of the USB link adapter that fits inside a miniature 3D printed Game Boy.

The big change from the original design is that this is using the far smaller, but equally capable, RP2040-Zero development board. This is mated with a SparkFun logic level converter board (or a clone of one from AliExpress) by way of a custom PCB that also includes the necessary edge connectors to connect directly to a Game Boy Link Cable.

Once the PCB is assembled, it’s dropped into the 3D printed Game Boy shell. [weiman] really worked some nice details into the case, such as aligning the d-pad and buttons in such a way that pressing them engages either the RESET or BOOTSEL buttons on RP2040-Zero. The screen of the printed handheld also lines up with the RGB LED on the top of the dev board, which can produce some cool lighting effects.

The original project from [stacksmashing] was an excellent example of the capabilities of the Pi Pico, and we’re glad to see it’s still being worked on and remixed by others. Even though the state of Game Boy emulation is nearly perfect these days, there’s still something to be said for working with the original hardware like this.

Easily Add Link Cable Support To Your Homebrew GBA Game

The Game Boy Advance (GBA) link cable is the third generation of this feature which originated with the Gameboy. It not only allows for peripherals to be connected, but also for multiplayer between GBAs – even with just one game copy – and item sharing and unlocking of features in specific games. This makes it an interesting feature to support in today’s homebrew GBA games and applications, made easy by libraries such as [Rodrigo Alfonso]’s gba-link-connection.

This C++  library can be used in a number of ways: either limited to just the physical link cable, just the wireless link option or both (universal link). These support either 4 (cable) or 5 (wireless) players to be connected simultaneously. As additional options there are the LinkGPIO.hpp and LinkSPI.hpp headers which allow the link port to be used either as a generic GPIO, or as an SPI link (up to 2 Mb/s). The multiboot feature where a single ROM image is shared among connected GBAs is supported with both wired and wireless links.

It’s heartening to see that a device which this year celebrates its 23rd birthday is still supported so well.

Thanks to [gudenau] for the tip.

Pokemon Time Machine Lets You Really Catch ‘Em All

Since 1996 the Pokemon series of games has moved through eight distinct generations, which roughly parallel the lineage of Nintendo’s handheld gaming systems. While the roster of “pocket monsters” has been updated steadily, players have had the option of bringing captured Pokemon from the older games into the newer releases. But there’s always been a gap in this capability. Due to hardware differences, the Game Boy and Game Boy Color generations of games were physically unable to communicate with the titles released for the Game Boy Advance.

But soon, that may no longer be the case. [Selim] is hard at work on Lanette’s Poke Transporter, a hardware and software solution for bringing Pokemon from the first and second generation games onto the third generation GBA games. Once they’ve been loaded there, players can move the creatures all the way up into the contemporary Pokemon games via official means.

The first Pokemon to make the generational leap.

The project was started in July of 2020, with [Selim] first focusing on the logistical challenges of bringing such early Pokemon into the newer games. Because so much changed between the different generations, there are many sanity checks that need to be made during the transfer. For example, the moves and techniques that the creatures are able to learn isn’t necessarily consistent between these early entries into the series. But after about a year of effort, the software side worked reliably on emulated games, and it was time to start thinking about the hardware.

Ultimately, [Selim] wants to create a physical device into which players can insert their Pokemon cartridges and trigger an automatic transfer. The code is already able to read and write to the cartridges, and has been ported over to Arduino so it doesn’t need a computer to run. A few prototype PCBs have been created, and beyond the inevitable bodges, it seems like they’re functional. There’s still breadboards and jumpers for as far as the eye can see, but this is the first step towards producing a dedicated Pokemon “time machine” that can transport them from the late 1990s to the present day.

With [stacksmashing] recently showing that the Raspberry Pi Pico is fast enough to emulate the Game Boy’s “Link Cable” accessory, and the protocol for trading Pokemon over the wire fairly well understood, we wonder if one day this technique couldn’t be done in real-time between linked handhelds. If you can make two copies of Tetris connect to each other over the Internet, it seems like you’d have enough time to fiddle with a Charizard’s stats.

Tetris For Game Boy Gets Online Multiplayer

Released in 1989, the Game Boy version of Tetris is notable for being the first game to support multiplayer via the so-called “Game Link Cable” accessory. So it’s fitting that, 32 years later, that same game is now playable with others over the Internet thanks to an open source USB adapter from [stacksmashing].

As explained in the video below, the adapter is essentially just a Raspberry Pi Pico paired with some level shifters so that it can talk to the Game Boy’s link port. That said, the custom PCB does implement some very clever edge connectors that let you plug it right into the Link Cable for the original “brick” Game Boy as well as the later Color and Advance variants. This keeps you from having to cut up a Link Cable just to get a male end, which is what [stacksmashing] had to do during the prototyping phase.

The DIY breadboard approach works as well.

Of course, the hardware is only one half of the equation. There’s also an open source software stack which includes a Python server and WebUSB frontend that handles communicating with the Game Boy and connecting players. While the original game only supported a two person head-to-head mode, the relatively simplistic nature of the multiplayer gameplay allowed [stacksmashing] to expand that to an arbitrary number of players with his code. The core rules haven’t changed, and each client Game Boy still thinks it’s in a two player match, but the web interface will show the progress of other players and who ends up on top at the end.

To be clear, this isn’t some transparent Link Cable to TCP/IP solution. While something like that could potentially be possible with the hardware, as of right now, the software [stacksmashing] has put together only works for Tetris. So if you want to battle Pokemon over the net, you’ll have to do your own reverse engineering (or at least wait for somebody else to inevitably do it).

The Link Cable port on the Game Boy, especially on the later versions of the hardware, is a surprisingly versatile interface capable of much more than just multiplayer gaming. While we’re certainly keen to see [stacksmashing] develop this project farther, we’re equally excited to see the non-gaming applications of such an easy to use computer interface for the iconic handheld.

Continue reading Tetris For Game Boy Gets Online Multiplayer”

Breaking Out A Game Boy Link Cable

[Samuel] is working on one of the most important electronics projects of our generation. He’s building a device for the Game Boy that will allow Pokemon trades between generation II and III. Yes, This means bringing your Charmander from Pokemon Red to your team in Pokemon Ruby, Sapphire, or Emerald. and finally completing the National Dex you’ve been working on for 20 years. Before he gets to designing this system, he first needs to listen in on the Game Boy Link Cable, and that means creating a breakout board.

The Game Boy Link Cable – sometimes inaccurately referred to as the Zelda cable – is a special proprietary connector. The design is well documented, but unlike the Wii Nunchuck controller, there’s no readily available breakout board available for this piece of obsolete technology.

Together with a his friend [David], [Samuel] loaded up a copy of Eagle and designed a board that will fit on a small piece of copper clad FR4. This design was then sent over to a small CNC mill, The traces were machined away, and a sextet of pins were soldered into the holes.

With a breakout board for the Game Boy Link Cable, [Samuel] now has a great platform for peering into the strange and magical world of Pokemon. He’ll be using a Teensy microcontroller for his trading device, and with several similar projects already completed by others around the Internet, the potential for a Gen II to Gen III Pokemon trader is palpable.