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,
An impressive project! I tried the same thing.
I was almost done with the wireless adapter simulation on ChisLink.
But I ran into some problems, such as the GBA being a non-standard SPI with a normally low CS when used as a master device, and the ESP32 I'm using doesn't support such an SPI, so I've shelved the plan for now.

The current progress is: In the test ROM, I have successfully simulated the wireless adapter, but I will lose packets in the game and cannot shake hands due to packet loss.
 
That is really interesting. I also debated at some stages to ditch the link cable route and go for the wireless adapter, but opted
against it (sunken cost:lol:)

My reasoning was that wireless might have better latency tolerance, but it turned out it was not necessary. I also would've left Ruby and Saphire in the dust because they don't have wireless adapter support.
 
  • Like
Reactions: MorningBlunt
That is really interesting. I also debated at some stages to ditch the link cable route and go for the wireless adapter, but opted
against it (sunken cost:lol:)

My reasoning was that wireless might have better latency tolerance, but it turned out it was not necessary. I also would've left Ruby and Saphire in the dust because they don't have wireless adapter support.

Yes.That is very interesting.:lol:
If Celio-Link has planned open source, then I am willing to maintain ESP32 support, which has Wi-Fi and Bluetooth. Maybe we can go online without PC.
 
This is why I favor cheating tools, companies like Nintendo making a profit forcing you to buy the same games twice in order to fully complete a game (pokedex).

I don't get how people against dlc content been charged for when it comes on the games media and taking legal action, favor this when its nintendo.

Every pokemom game is identical, but intentionally locks pokemon out forcing you to pay for the other copy.

At least with cheating tools you can simply memory edit to then battle and catch and complete your pokedex have catch em all.
 
If anyone can help me find the parts in US I’d be happy to make a 3d printable housing for this

Yes.That is very interesting.:lol:
If Celio-Link has planned open source, then I am willing to maintain ESP32 support, which has Wi-Fi and Bluetooth. Maybe we can go online without PC.
Same offer goes for you, if OP does open source this :)
 
Eh, I will just keeo sharing save states, is not like you can legitimately fill a Gen 3 Pokedex anyway, unless you happen to have a game with all the event exclusive Pokemon you cannot legitimately get anymore and even then those are most likely cloned.

I own all GBA Gen 3 games but that's not enough, you need event exclusive Pokemon and the Gamecube games Pokemon.

Legitimately completing the Pokedex in Gen 3 is just not possible anymore.
 
Eh, I will just keeo sharing save states, is not like you can legitimately fill a Gen 3 Pokedex anyway, unless you happen to have a game with all the event exclusive Pokemon you cannot legitimately get anymore and even then those are most likely cloned.

I own all GBA Gen 3 games but that's not enough, you need event exclusive Pokemon and the Gamecube games Pokemon.

Legitimately completing the Pokedex in Gen 3 is just not possible anymore.
I’d argue that using the e reader codes and connecting mGBA to dolphin counts as legitimate. You still have to play though those games to a certain point and are at least still using the actual functions built into the games as close to as intended as possible
 
I understand that trading might be uninteresting for some, but what about fighting? In theory that is possible as well, as well as the link contests and the Double Battle Fight in the emerald endgame zone.

Trading was the first step because it is the easiest.
 
I’d argue that using the e reader codes

As some of the Pokemon were not released officially outside of Japan, the legit way was to get them in some event that happened ages ago.

So yeah you are still cheating one way or another.

what about fighting?

Gen 3 is in some ways more unbalanced that Gen 2 so no thanks.
 
Eh, I will just keeo sharing save states, is not like you can legitimately fill a Gen 3 Pokedex anyway, unless you happen to have a game with all the event exclusive Pokemon you cannot legitimately get anymore and even then those are most likely cloned.

I own all GBA Gen 3 games but that's not enough, you need event exclusive Pokemon and the Gamecube games Pokemon.

Legitimately completing the Pokedex in Gen 3 is just not possible anymore.
you can legit get the nat dex at least (doesnt require mythicals). Fire Red, Leaf Green and Emerald dont even require the legendary pokemon Ho-oh and Lugia. Ruby and Sapphire do require them tho. You can get Jirachi 100% legit (requires colosseum bonus disc). I guess you can also get celebi on jpn bonus disc. I dont think there a legit way to to get Mew or Deoxys
 
you can legit get the nat dex at least (doesnt require mythicals). Fire Red, Leaf Green and Emerald dont even require the legendary pokemon Ho-oh and Lugia. Ruby and Sapphire do require them tho. You can get Jirachi 100% legit (requires colosseum bonus disc). I guess you can also get celebi on jpn bonus disc. I dont think there a legit way to to get Mew or Deoxys

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's a very cool proof of concept but no one's ever going to use it unless it gets mass produced and made available in onlines stores

simply because making your own is cool and all, but you're not gonna have anyone to trade with unless your trading partners also build their own. which very few people would

the venn diagram of people who want/need this, and people who are actually able to have this, don't really overlap much

if it's not already possible then I suggest some way of trading with emulated versions of games, so that you can trade with people who play on emulator. that makes the device much more useful. because only you need to make a cable for your own use, and you dont need to worry about a lack of trading partners because they can just use an emulator if they don't want to spend money on special hardware (or if they're simply not able to make their own)
 
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.
 
It was/is less about does anybody need this or want this and more about as you say, this is now possible. Sure, it takes a bit of technical knowledge to make one any maybe no one will ever use it, but it's out there.

It's more about why rock climbers climbing mountains, because they are out there.
 
Last edited by Essometer,
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).
gen 3 games dont save to sram, they use flash memory. the battery is only for the clock. this is why you get a message eventually about the battery being dry and that "the game can be played, but time-based events can no longer occur"
 
  • Like
Reactions: Ryccardo
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum