I recently came across SameBoy, a Game Boy emulator. It works really well for playing Game Boy games on iPhone, but I noticed one thing was missing from the project:
Link Cable support.
So I started looking for another project that already had Link Cable networking implemented. That’s how I found BGB Link. The idea was pretty simple:
Take the Link Cable implementation from BGB Link and try to integrate it into SameBoy.
Of course, it wasn’t as simple as it sounds. LOL. I basically went back and forth between the two projects, checking how the Link Cable communication worked, changing the implementation, building it, running it, finding something broken, and then doing it again. A lot of the process was basically:
Change something → build → test → tcpdump → find packet → figure out what’s wrong → change something again.
tcpdump was especially useful because I could actually see the network traffic while testing the Link Cable communication.
It helped me understand what was happening between the two Game Boy instances instead of just guessing from the emulator behavior.
The final result is a local build of SameBoy with networked Link Cable support. This is just something I built and played with locally. It’s not the version distributed through the App Store.
You can see what I built and the changes here: what-auycro-built.md
