This site is only a doorway

Everything here is gathered from things other people actually researched, thought through, and built: books, papers, historical records, and the people behind them. If something here catches your interest, go look at the original sources listed at the bottom of the page. They carry more depth than a page like this ever can.

How Could Two Game Boys Talk to Each Other Through a Thin Cable?

Category: Technology

Plug a link cable into two Game Boys and they can race, battle, or trade. Yet the cable is only a few thin wires, and nothing like Wi-Fi is involved. So what actually travels along it?

The short answer: the two machines swap one byte at a time. One of them keeps the beat, and on each of eight beats both machines send one bit and receive one bit, so after eight beats they have exchanged complete bytes [1]. The rest of this article looks at how that works, why it is fast enough for games but not for photos, and how a designer saw that the same wire could be used for something other than fighting.

1. The Plug Has Six Pins, but Only Three Carry the Conversation

A Game Boy link port has six pins. Two of them are power and ground, one is listed as not used, and three are the "talking" wires: one for data going out (named SOUT), one for data coming in (SIN), and one for the beat (SCK, a shift clock) [2].

There is one clever twist. The cable crosses the out and in wires, so the "out" pin of one Game Boy lands on the "in" pin of the other [2]. That is just like holding two telephones so that each speaker faces the other person's microphone.

Nintendo sold different cables for different models. Its accessory page lists one cable for the original Game Boy (DMG-01), another for the later Game Boy Color, Pocket and Light, and a small adapter to join the two families. It also lists a four-player adapter for two to four of the original model [6]. The reason is physical: the original used larger plugs than the Pocket and later models [2].

2. Why One Game Boy Has to Keep the Beat

Sending bits over a wire only works if both sides agree when each bit counts. Think of two people clapping to pass notes: without a shared rhythm, you cannot tell where one note ends and the next begins.

The link port solves this with a single shared beat. One Game Boy creates the beat itself and so decides when each exchange happens. In the language of this kind of connection (called SPI) it is the "master". The other machine, the "slave", just receives the beat [1].

The slave does not guess or count on its own. Its software is set to use an outside beat, and the machine then waits. The documentation says it will patiently wait for the next bit, even if the outside beat were as slow as one bit a month [1]. A programming tutorial for the Game Boy makes the same point: both machines must be set up before any transfer, one as the clock source and one as the listener [3].

3. How Eight Beats Swap a Whole Byte Between Two Machines

A byte is a group of eight bits, each a 0 or a 1. Each Game Boy keeps its next byte ready in a register called SB. On every beat, each machine pushes the leftmost bit out onto its wire and pulls a bit in from the other wire at the opposite end [1].

After one beat, the register holds seven of your own bits and one of your friend's. After eight beats, no bits of your own byte are left: you hold your friend's byte, and your friend holds yours [1]. A tutorial describes the result as swapping the byte in one device's buffer for the byte in the other's [3].

This matters for how games are written. There is no separate "send" and "receive". Every exchange is both at the same time, so a game has to decide what each side puts in its register before the beat starts. If a machine has not loaded a new byte in time, the last byte it sent goes out again, according to the documentation [1].

4. What the Game Boy Sees When the Cable Is Unplugged

Suppose the machine keeping the beat starts an exchange, but nothing is plugged in. It still sends its eight beats, because it makes them itself. But its "in" wire has no one driving it, and the documentation says it will read 1 on every beat, so the master receives bytes made of all ones (written $FF in hexadecimal) [1].

So an incoming $FF does not mean the other machine said something. It can simply mean nobody was there. The documentation describes this behavior; using it as a "cable missing" hint is a natural idea from how it works, but the pages read for this article do not say that games do so.

The listening machine sees something different: with no beat arriving, it just keeps waiting [1].

5. How Fast the Link Cable Was, and What That Allowed

The original Game Boy can only make one beat speed itself: 8192 beats per second [1]. Since a byte takes eight beats, a quick division gives the best case: 8192 ÷ 8 = 1024 bytes per second, about one kilobyte [1]. That is a ceiling worked out from the clock, not a measured speed; waiting for software to prepare the next byte makes real transfers slower.

What can fit through such a narrow pipe? A short message like "I moved left" or "I cleared a line" is a few bytes, so it travels in a blink. A picture is another story: even a small 100-KiB image (100 × 1024 bytes) would need around 100 seconds at the very best (102,400 ÷ 1024). The cable was built for short, quick messages, and that is exactly what a versus game or a trade needs.

6. How a Cable Made for Battles Became a Way to Trade

Before 1996, the cable was mostly used for head-to-head play. TIME describes it as used almost exclusively for linking up and competing, most famously in Tetris [4].

Then came a game in which the other player was more than a rival. Satoshi Tajiri, a designer who loved collecting insects as a child, told TIME that when he saw the Game Boy, the link cable caught his attention, and that his idea was not a fight but a wish: "We want to trade" [4]. A Japanese news-magazine article adds that he pitched a game using the Game Boy's link feature to Nintendo in 1990, built around swapping the monsters inside your Game Boy with another player's, and that development took until 1994 to settle on a story that made trading fun [5]. That article is a secondary account, so treat its dates as reported rather than confirmed from Tajiri himself.

The games came out in Japan in February 1996 as Pocket Monsters Red and Green. Outside Japan they became Pokémon Red and Blue. The same Japanese article reports that link cables began selling quickly the month after release [5].

Nothing about the wires changed. The same swap of bytes that carried a Tetris move could now carry a monster, which a game simply treats as a small bundle of numbers. A better game idea, not a better cable, turned the link port into a reason to meet a friend.

7. Try It Yourself: Swap Eight Slips of Paper With a Friend

You can act out the byte swap with no electronics. Each of you cuts eight small slips of paper and writes a 0 or a 1 on each, then lays them in a row. One of you is the master and claps the beat.

On every clap, each of you hands your leftmost slip to the other person and adds the slip you just received at the right end of your own row. After eight claps, check your row: it should match your friend's original row, in the same order.

Eight claps swap one byte. Count how long that takes, and imagine doing it 1024 times in one second (8192 beats ÷ 8) while someone else decides what is written on the slips. That is roughly the upper limit of a link cable.

Sources

  1. Pan Docs, "Serial Data Transfer (Link Cable)" https://gbdev.io/pandocs/Serial_Data_Transfer_(Link_Cable).html (Community technical reference for Game Boy hardware. Supports master and slave roles, the eight-shift byte swap, waiting for an external clock, disconnected behavior ($FF), and the 8192 Hz clock of the original model. Read in part: the page was long and the fetch tool returned only parts of it, so the 8192 Hz point was confirmed through a focused extract, not a full read.)
  2. Pan Docs, "External Connectors" https://gbdev.io/pandocs/External_Connectors.html (Six-pin link port, signal names, crossed SIN and SOUT, and larger plugs on the original model. Page start read in full.)
  3. GB ASM Tutorial, "Serial Link" https://gbdev.io/gb-asm-tutorial/part2/serial-link.html (Programming tutorial. Used only for the idea that a transfer swaps one byte for another and that clock sources are set on both machines. Only the opening part was read.)
  4. TIME, "The History of Pokémon in the U.S." (Courtney Mifsud) https://time.com/6796536/history-origins-pokemon/ (Link cable used for competing before Pokémon; Tajiri's remarks about the cable and trading. Read as short extracts, not the full article.)
  5. Bunshun Online (Japanese), article on the release of Pokémon by Masataka Kondo https://bunshun.jp/articles/-/1548 (Tajiri's 1990 proposal, restart in 1994, and link cable sales rising the month after release. Read in the original Japanese; it is a secondary account citing a book.)
  6. Nintendo (Japan), Game Boy accessories page https://www.nintendo.co.jp/n02/dmg/hardware/option/acce.html (Separate link cables for the original and later models, a converter connector, and a four-player adapter for two to four original Game Boys. The page text came back with broken character encoding, so only the model codes and the general descriptions were relied on.)