[Adan] had an old Game Boy sitting around, and without anything better to do decided to investigate the link cable protocol with a microcontroller. He had a Stellaris Launchpad for the task, but initially had no project in mind. What he came up for this adventure in serial protocols is a first gen Pokemon trade spoofer that allows him to obtain pokemon without having two Game Boys, or for the weird ones out there, “friends.”
The Game Boy link protocol is extremely well documented (dead link, try Internet Archive), so getting data from the Game Boy to the Launchpad was as simple as a soldering up an old link cable connector to a piece of perf board. After figuring out the electronics, [Adan] looked at what happened when two Pokemon games tried to trade pokemon. When two Game Boys are linked, there are two in-game options: trade or battle. Looking at the data coming after the ‘trade’ option, [Adan] found something that could possibly be the data structure of the Pokemon being sent. He reverse-engineered this all by himself before discovering this is also well documented.
Bringing everything together, [Adan] figured out how to trade non-existent Pokemon with a small dev board. Right now he’s only transmitting Pokemon that are hard-coded on the Launchpad, but it’s very possible to transmit the Pokemon values in real-time over USB.
Thanks [Dan] for sending this in, and no, we don’t know what’s up with the influx of Pokemon posts over the last week. Video of the spoof below.
Could this be used to play Pokemon over the internet? Why, well because you can.
I bet you could use a raspi as a lan bridge…
What’s with the recent raspberry pi in everything fashion? Seems a bit much for something that is either overkill or a screwdriver when you need a hammer.
They are cheap.. a lot of people have one just laying around in need of use…
and I’m sure people are just interested to see what they can do with it.
I personally love them, I’m an amateur radio operator and they make great replacements for full fledged atx pcs, now I can just use a cheap easily replaceable piece of hardware to do the same thing the pc would’ve done.
You can do that already with certain GB emulators. No need for a hardware bridge. So, I guess yea.
GB Serial is NOT documented. There are no data transmission protocols, meaning each game had its own protocols coded in. Though, it is true that it is simply a serial connection, but with some particularities, which are somewhat detailed on Everything You Always Wanted To Know About GAMEBOY but were afraid to ask, which you can find here:
http://www.devrs.com/gb/files/gbspec.txt
@BrianBenchoff | @Dan : I would say that with the release of Pokemon X and Y, it was gonna happen eventually. Though the Pokemon “Poke n’ Peek” was an interesting article.
Sine I was a kid I always wondered if this could be spoofed, even when I had no knowledge of electronics/computing. I’m glad to see that someone has done it.
An Articuno with Thunderpunch and Fire blast? That’s truely amazing!
Well done!
An actual use to this would be exporting your pokemon and linking it up with the GBA versions, allowing you to transfer your original pokemon all the way through. There are a number of issues with this because EVs and IVs worked differently but you can have it give an educated guess for any of the data that is missing.
I was thinking more along the lines of a roulette game where more rare pokemon traded in to the system the more rare the pokemon you recieved back.
Probably would have been a better idea back when this game was popular..
Yeah, the limited number of pokemon makes the idea of a weighted roulette a bit less interesting, but have it be completely random(level and stats) and I’m game.
That said the reason why I pushed the idea of transferring to the GBA because there was never a way to transfer your pokemon from Gen 1/2 to Gen 3 because of the changes, you could have your micro-controller work as a transferring unit, and a bank for those versions. Anyway who wouldn’t want their glitch caught mew transferrable all the way to Pokemon X & Y (this might require some verification code put in so it would not get flagged).
i am working on exactly this, i had the same idea, its just incredible to fight with your starter from your first pokemon game in Sun and Moon
You mean exactly like the random roulette they added into the latest game (where people keep dumping commons?)
To. Much. Nostalgia.
I don’t think I am privileged to see this
Back then you could do this and shut the transferring game off and both keep the character sent..mew was spread like wildfire in 98 at my school