Status
Not open for further replies.

[Alpha Release] Celio-Link — Online Trading between Gen 3 Pokémon Games

Celio-Link lets you trade Pokemon from RSE and FRLG over the internet. It acts like a normal trade cable. The device acts as a relay Gameboy and sends and receives the data to keep the link cable connection connected,

So yeah, Gen 3 trading over the internet is possible. Here is a video of it. If you want to build your own Celio-Link device, continue reading.


I'd like to share with you a project that I have been working on for the past 6 months. I became interested in GBA link cable trades when I watched a video
of Goppiers Gen2 to Gen 3 trade adapter. I thought it was very impressive and wanted to explore it myself. The goal then was unclear, but I had a trade emulator in
mind to trade generated Pokemon.

After working on this for a few months, it became clear to me that the asynchronous link protocol is a bit more latency tolerant then expected. Sure, the individual bytes that are send and received are have an immensely intolerant timing (and this was the hardest part), but the layer above is workable.
This gave me the idea to to just try it out and see what will happen. Since I had the link layer already implemented, what as left was "just" find a way to get the link layer
bytes out in real time and receive them back. After implementing the web usb layer, I started to send bytes out to a local hosted server and receive them back to test the
capabilities, loopback style.

After seeing that this was working too, implemented the several reconnects that take place during a link trade. In the video, you can see this in the "Status" field, as the state changes
from Waiting to Handshake to Connected several times.

Now I only needed to host the server, host the website and work on the firmware stability (which was a bitch).

This is that I want to share with you today. Please keep in mind that is a ALPHA release. The server and client are hold together by ductape and strings, so please don't expect any kind of
stability yet. It is a Proof-of-Concept.


This uses the web usb api, so only chrome browsers are currently supported.

Here is the link to the client website: https://celio-link.github.io/client/


How to build a Celio-Link device

Components:
  • Nucleo STM32F070RB
  • USB Breakout Board
  • Link Cable breakout board
  • GBA Link Cable
  • Breadboard
  • Some cable to connect the stuff together
The firmware can be found in the attachments, hex and bin are the same, flash with tool of your choice.

https://os.mbed.com/platforms/ST-Nucleo-F070RB/

USB Side

5V -> 5V any
GND -> GND any
D+ -> PA12
D- ->PA11

Link Cable Side

SO -> PB8
SI -> PB12
SD -> PB2
SC -> PB4

When connecting the Link cable to the Gameboy, make sure to connect it with this side of the connector:
IMG_5816.jpg

This way, the firmware can choose wherever the connected Gameboy is main or follower.



I am currenty not sure which direction I'd like to continue on with this project. I honestly depends on the community feedback what my next steps will be. I am considering make the firmware
Open Source, so I could get help porting it to different boards.
 

Attachments

Last edited by Essometer,
Thank you for your hard work! I know this is probably wrong place to ask this, but maybe you’re the guy for fixing gen3 wireless trading on 3DS virtual console. There is a fork of the gba runner that only works sometimes on Mario kart circuit.

The 3DS is the perfect console for Pokémon games. Can play all the way up to ultra sun and moon generation. Imagine online trading in gen3 on the 3DS?!?
 
Thank you for your hard work! I know this is probably wrong place to ask this, but maybe you’re the guy for fixing gen3 wireless trading on 3DS virtual console. There is a fork of the gba runner that only works sometimes on Mario kart circuit.

The 3DS is the perfect console for Pokémon games. Can play all the way up to ultra sun and moon generation. Imagine online trading in gen3 on the 3DS?!?
Can you share the project that enables that wireless trading ? I’d love to learn more
 
Can you share the project that enables that wireless trading ? I’d love to learn more
Page 94 of the gbarunner2 page on artem, won’t let me add url. MK3DS user on YouTube also shows off the features. Quick google search “Mario Super Circuit gbarunner2 wireless 3DS”
 
Honesty I do want a way to use the wireless GBA adapter online and this is cool and all, but it is undermined by again being freaking impossible to complete the Pokedex Legitimately.

I guess once Online Battles are added it may be fun to those crazy enough to dive into "Dragonland 1" but I do prefer Gen 2 and Gen 4 Battles over Gen 3.

Edit: Yes I know Dragon Type is more ridiculous in Gen 4, making it Dragonland Plus. And yes with a ban of Legendaries/Mythical Pokemon Gen 3 is playable in battles but you better replace the gamee batteries as they are probably dead by now.
 
Last edited by raxadian,
This is extremely interesting from a 'this is now possible' point of view, for sure, but practically...well, the internal batteries in RSE are very likely depleted, preventing saving which is required for trading, and for ROMs there's plenty of hacks out there that change trade evos to more singleplayer-friendly methods (such as just plain ol' levelling up).

I don't think I'd ever see a use for this project, even if I was comfortable bodging one together.
The games don't use the battery save to. Just for the clock. That's why FRLG don't have a battery.
Honesty I do want a way to use the wireless GBA adapter online and this is cool and all, but it is undermined by again being freaking impossible to complete the Pokedex Legitimately.

I guess once Online Battles are added it may be fun to those crazy enough to dive into "Dragonland 1" but I do prefer Gen 2 and Gen 4 Battles over Gen 3.

Edit: Yes I know Dragon Type is more ridiculous in Gen 4, making it Dragonland Plus. And yes with a ban of Legendaries/Mythical Pokemon Gen 3 is playable in battles but you better replace the gamee batteries as they are probably dead by now.
Game batteries are used only for the real time clock. Save data is stored on a flash memory chip. As long as you're not planting berries or trying to find Mirage Island or doing the lotteries you'll be fine even with a dead battery.
 
Game batteries are used only for the real time clock. Save data is stored on a flash memory chip. As long as you're not planting berries or trying to find Mirage Island or doing the lotteries you'll be fine even with a dead battery.

You need berries if you plan to win the Contests, that you need to win to get an extra star. And you need at least two stars or too much stuff is locked away. You do get one star for beating the Champion and as completing the Pokedex is basically impossible without cheating the second star is usually won by Contests.

Sure you can farm berries in Fire Red and Leaf Green without a battery as those games don't have time passing, but those games also don't have contests. I guess you could just trade whatever berries you need from the Gen 1 remakes if you have them but otherwise yes you do need the clock to actually work.
 
I would love to port this to the MALVEKE Gameboy custom ESP32 module which already supports trading to Gameboy Gen 1/2 games with a custom GB/A EXT plug set up out of the box. I'm pretty sure this device could handle everything the web frontend here currently does, but would still need a (possibly self-hosted) server stood up somewhere for the remote transfer to another device.

I also am in the GBARunner 3 scene and have dabbled in their NiFi and RFU code, and was the developer who ported Apotris multiplayer from GBA to PC-like platforms over the internet, added wireless adapter support on GBA to the game, expanded it to 5P support, and who tests it within GBARunner3's GBA wireless shim. I've done a lot of work on the source-hacking side of custom Pokemon mods to work with wireless and link cable hardware on GBA as well.

I would love to work on this source base across many different projects and elevate it to work with more hardware and more games. I wasn't able to find source code yet, so if you're able to share a link I can get hacking right away!

I'm so, so excited to see development like this! This is amazing stuff, excellent work.
 
I would love to port this to the MALVEKE Gameboy custom ESP32 module which already supports trading to Gameboy Gen 1/2 games with a custom GB/A EXT plug set up out of the box. I'm pretty sure this device could handle everything the web frontend here currently does, but would still need a (possibly self-hosted) server stood up somewhere for the remote transfer to another device.

I also am in the GBARunner 3 scene and have dabbled in their NiFi and RFU code, and was the developer who ported Apotris multiplayer from GBA to PC-like platforms over the internet, added wireless adapter support on GBA to the game, expanded it to 5P support, and who tests it within GBARunner3's GBA wireless shim. I've done a lot of work on the source-hacking side of custom Pokemon mods to work with wireless and link cable hardware on GBA as well.

I would love to work on this source base across many different projects and elevate it to work with more hardware and more games. I wasn't able to find source code yet, so if you're able to share a link I can get hacking right away!

I'm so, so excited to see development like this! This is amazing stuff, excellent work.
If you end up doing so and need a case/housing made I’d love to help :)
 
You need berries if you plan to win the Contests, that you need to win to get an extra star. And you need at least two stars or too much stuff is locked away. You do get one star for beating the Champion and as completing the Pokedex is basically impossible without cheating the second star is usually won by Contests.

Sure you can farm berries in Fire Red and Leaf Green without a battery as those games don't have time passing, but those games also don't have contests. I guess you could just trade whatever berries you need from the Gen 1 remakes if you have them but otherwise yes you do need the clock to actually work.
nothing is locked behind earning trainer card stars
 
nothing is locked behind earning trainer card stars

Uh, right that happens in Fourth Gen, not in Third.

By the way I cannot find my Pokemon Emerald game, good thing I did backup the save years ago.

Still, if you wanna try complete the Ruby/Saphire/Emerald games you still need berries.

100% Emerald even with minimum cheating is quite hard.

Yes you can trade event Pokemon from a Japanese version of Emerald, but that's not exactly cheap and those Pokemon are most likely cloned.
 
Uh, I hate they removed so much stuff compared to the Japanese versions of the games more so in Emerald.
 
Yeah as I said there is just no legit way to complete the Pokedex Anymore.

Heck even when it was still possible it was freaking hard. You had to trade with all Gen 3 games; get Pokemon from the Gamecube games, get 3 event Pokemon cause there was no legit way to get that Japanese bonus disk unless you imported it (And if you lived too far away you couldn't get event Pokemon) and don't forget owning a Gamecube and the GBA to Gamecube link cable.

Must be the reason Blue/Gary gives up completing the Pokedex in Gen 3, because even Gamefreak realised they had made it too difficult.
It is indeed impossible to legally obtain all 386 Gen 3 Pokémon now.
However, the requirements for completing the Pokédex as recognized by the in-game Game Freak staff to receive a diploma can still be met nowadays.
By combining the five Gen 3 games, you can obtain 380 Pokémon. Of the remaining six, Ho-Oh and Lugia can be obtained in Pokémon Colosseum and XD. Celebi and Jirachi can be acquired through the Japanese and American bonus discs for Colosseum, respectively. These 384 Pokémon are enough for the in-game Game Freak staff to consider the Pokédex complete and award the diploma.
Only Mew and Deoxys currently have no fully legitimate obtainment methods (referring to the legitimacy of the acquisition method—fan-made distribution tools and leaked official distribution roms are legal in pokemon data but controversial in terms of the legitimacy of the acquisition method).
 
Last edited by Wokann,
It is indeed impossible to legally obtain all 386 Gen 3 Pokémon now.
However, the requirements for completing the Pokédex as recognized by the in-game Game Freak staff to receive a diploma can still be met nowadays.
By combining the five Gen 3 games, you can obtain 380 Pokémon. Of the remaining six, Ho-Oh and Lugia can be obtained in Pokémon Colosseum and XD. Celebi and Jirachi can be acquired through the Japanese and American bonus discs for Colosseum, respectively. These 384 Pokémon are enough for the in-game Game Freak staff to consider the Pokédex complete and award the diploma.
Only Mew and Deoxys currently have no fully legitimate obtainment methods (referring to the legitimacy of the acquisition method—fan-made distribution tools and leaked official distribution roms are legal in pokemon data but controversial in terms of the legitimacy of the acquisition method).
it's also worth mentioning that you technically only need to own 383 pokemon in Ruby and Sapphire as chikorita is for some reason dummied out due to a bug
 
  • Like
Reactions: Ryccardo
Does that get fixed if you apply the Berry patch from Pokemon Emerald?
no the berry fix glitch was specifically for the berry glitch, hence why things like the Aroma lady rose being able to clip through the ledge if she spots you through it and the wall in dewford gym having a text script, etc. still exist within later revisions of the game, the berry fix was for 1.0 attempting use the patch on later revisions will result in it telling you it's already applied.
 
I can't apply the berry fix anyway as I only have the 4 multiplayer GBA cable not the regular one. Funny enough trade does work with that cable.
 
it's also worth mentioning that you technically only need to own 383 pokemon in Ruby and Sapphire as chikorita is for some reason dummied out due to a bug
To be precise, in Ruby&Sapphire, we only need 381 Pokémon to fulfill the requirements. The games were designed to exclude Mythical Pokémon (Mew, Celebi, Jirachi, and Deoxys), so the original requirement should have been 382 (including Ho-Oh and Lugia). However, due to a programming bug, Chikorita is also excluded, bringing the total down to 381.

In FireRed, LeafGreen, and Emerald, besides the 4 Mythical Pokémon, Ho-Oh and Lugia are also excluded, meaning we only need 380 Pokémon to receive the diploma from the in-game Game Freak staff.
Post automatically merged:

I can't apply the berry fix anyway as I only have the 4 multiplayer GBA cable not the regular one. Funny enough trade does work with that cable.
just use the 1p and 2p port of the 4 multiplayer gba cable can apply berry fix as regular one.
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum