Talk on reverse engineering the GBA Link protocol

Last month there was small talk titled Bridging Emulation and the Real World with the Nintendo Game Boy by Or Pinchasof at Microsoft's BlueHat IL conference in Israel.

upload_2019-3-5_23-12-53.png

In his 40 minute long talk Or Pinchasof explains how he reverse engineered the GBA's link communication protocol from the ground up back in 2005 and which challenges he faced while trying to revive his old project again. The modern USB interface didn't exactly make it easier for him to trade Pokémon between his GBA and the Virtual Boy Advance Emulator.

Abstract Nintendo's Game Boy Advance is a superb embedded system for homebrew development. It has well documented specifications, is complex enough for some impressive software, and yet is adequately simple enough for people to understand virtually every aspect of it. The field of Game Boy emulation is well established and already has a large body of software written for it. I set to research the system with a specific goal in mind, arising from an actual need - connecting an existing, working, emulator, Visual Boy Advance, to a real-world Game Boy Advance.

The Game Boy communicates over cable with up to three other systems using several proprietary communication protocols. One such protocol allows loading arbitrary code to the RAM of another Game Boy and booting from it. It has been widely used by the homebrew community for easy development and testing on a real device. Another protocol allows sharing of data for multiplayer gaming in real time. Little research has been focused on this protocol, and its implementation in emulation, which is essential for the emulator-Game Boy link.

This talk discusses the research methods and tools used to reverse engineer the communication specifications, implement an embedded circuit to perform the necessary data transfer, and integrate it into the emulator, spanning all levels from hardware to software.




:arrow: Source including the presentation's slides
 
Last edited by Charli,

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,348
Country
United Kingdom
Is this about VBAlinkreal? I shall give it a watch when I get back tomorrow.

Never heard of this conference either, will have to investigate further.
 

Charli

Well-Known Member
OP
Member
GBAtemp Patron
Joined
Feb 16, 2011
Messages
106
Trophies
2
XP
1,430
Country
Germany
uh, I don't know about VBA Link real, there was no mention of it in the talk. I think it's just the presenter's personal free time project.

It's a security conference, apparently Microsofts answer to the BlackHat Hacker conference? Had not heard of the conference before either.
The other talks really are a lot more focused on IT security and malware (e.g. there is one about the recent vulnerabilities in AMD processors), so I was really surprised to see the GBA talk ^^
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,348
Country
United Kingdom
Yeah. Usually we get maybe two console talks a year -- one if the state of things warrants it and another retrospective/walkthrough of the hardware and design philosophy ("the ultimate ??? talk"). Typically at C3 but occasionally a preview/rerun/warmup at the others.

That said Google's tech talks provided the main discussion of the xbox 360 security system for many years, and still pretty relevant but for the "nothing interesting here" line which ultimately led to many of the hacks we see today.

 

Charli

Well-Known Member
OP
Member
GBAtemp Patron
Joined
Feb 16, 2011
Messages
106
Trophies
2
XP
1,430
Country
Germany
yeah, I've at least watched the ultimate GameBoy talk :)

After clicking through the Xbox videos another YT video about the Sega Saturn caught my attention. Seems like it is a very well known project in the Sega scene:



Really amazing to see what some people are capable of and how much passion they put into their projects.
 
Last edited by Charli,
P

pasc

Guest
*Visions of GBA Multiplayer via usb-pc linkcable dancing in my head*

All rose colored ideas aside, the gba's biggest flaw was the way the link protocol worked iIrc...

Many games have little tolerance for timeout problems.

This was especially apparant with the Majesco Wireless Link Adapter. Some games work perfect, others don't.

Sending dummy data to keep the client from shutting the connection down isn't an option either, as it expects specific data.


All in all a project that seems like it could yield interest, if anyone ever released a product, like this for example.


Nintendo's Game Boy Advance is a superb embedded system for homebrew development. It has well documented specifications, is complex enough for some impressive software, and yet is adequately simple enough for people to understand virtually every aspect of it.



Ahh. Pure appreciation xD
 
Last edited by ,
  • Like
Reactions: Charli
D

Deleted-443739

Guest
Is this about VBAlinkreal? I shall give it a watch when I get back tomorrow.

Never heard of this conference either, will have to investigate further.
i have heard of it

--------------------- MERGED ---------------------------

i dont like your opinion but i respect it so keep it up friend and good luck in life
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    I would like a Predator game "Kill Team" it takes place in the Jungle of the first movie, your team is sent to hunt the predator, using current tech drones and a trained team. Set traps use strategy to hunt and trap or kill the predator.
  • BigOnYa @ BigOnYa:
    Ill stick with my Battlefield. Yea a predator hunting game like that would be cool. Esp if you can be Arnold and say "Get to da choppa"
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Maybe Arnold could do a cameo voice acting, he is the one briefing you on the mission
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Honestly surprised they didn't make a tie in game for Predators that movie was awesome
  • Psionic Roshambo @ Psionic Roshambo:
    I was kinda sad the Yakuza guy died sword fighting a predator lol
  • Psionic Roshambo @ Psionic Roshambo:
    The Russian guy went out like a boss
  • Psionic Roshambo @ Psionic Roshambo:
    Double claymores to the face definitely kill a predator lol
  • BigOnYa @ BigOnYa:
    I went today and looked at a motorcycle someone was selling. I get there and the battery on it was dead, so the guy grabbed a battery charger and hooked it up. He plugged it into the wall, and the motorcycle sparked and started smoking. Come to find out the bike uses a 6 volt battery and the guy had the charger set to 12v. I said sorry to the dude and walked away. I felt bad for him tho.
  • Psionic Roshambo @ Psionic Roshambo:
    Sounds like it would be an exciting ride....
  • Psionic Roshambo @ Psionic Roshambo:
    Not sure I would want something on fire between my legs
  • BigOnYa @ BigOnYa:
    He ruined it basically. Sad cause it was a decent old bike. It would take more money to rewire the bike than it was worth tho.
  • Psionic Roshambo @ Psionic Roshambo:
    Yeah I'm sure at minimum the starter was fried
  • Psionic Roshambo @ Psionic Roshambo:
    Alternator and battery
  • BigOnYa @ BigOnYa:
    Prob alot of fried parts. It was still smoking when I left.
  • K3Nv2 @ K3Nv2:
    I would've said show me how it rides
  • Psionic Roshambo @ Psionic Roshambo:
    I always wanted one of those Smart Cars with a Hyabusa motor in it.
  • K3Nv2 @ K3Nv2:
    I'm getting sick and tired of cheap ass baking pans now
  • BigOnYa @ BigOnYa:
    I think it be cool to have one that would fit in my pickup truck bed, then I could put down ramps n drive it off.
  • K3Nv2 @ K3Nv2:
    Used this one 5 times already impossible to clean
  • BigOnYa @ BigOnYa:
    You need the $900 copper coated ones, they are good for 10 times cooking before they are un cleanable
  • Psionic Roshambo @ Psionic Roshambo:
    Condoms are only meant to be used once Ken lol
  • K3Nv2 @ K3Nv2:
    Well damn that explains how you were born
    Psionic Roshambo @ Psionic Roshambo: Lol