gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Coding > GBA link through Internet

#4339 - Yonkers - Fri Mar 28, 2003 5:23 pm

I think it'd be cool if someone came up with a device to link the GBA through the Internet. You would have a device that the GBA links into. That device would have it's own IP address. You would configure it to point to your friend's IP address. It would take whatever signaling from the GBA link and convert it into TCP packets and send it across. Your friend's device would convert it back and send to his GBA. Each GBA would think they're directly connect.
This could be a standalone device with a wireless connection. Or it could be a cable with a GBA link connection on one end and a USB connection on the other end so you can plug into your PC. Your PC would run the software to do the conversion and point to your friend.
If you ever played IPX (non-routable protocol) games back in the day there was a program called Kali that did the same thing.
What do you guys think?

Michael

#4340 - tepples - Fri Mar 28, 2003 5:30 pm

Yonkers wrote:
I think it'd be cool if someone came up with a device to link the GBA through the Internet. (goes on to describe a TCP/IP tunnel for the link port)

GBA games depend on sub-millisecond transfer latency. Internet access can have latency on the order of 100 ms. Tunneling the link port through TCP/IP would work only for specially designed games.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#4341 - Yonkers - Fri Mar 28, 2003 5:48 pm

I agree that games made with latency in consideration would be better, but I don't think 30-50ms would be too bad for most games. Advance Wars would be an ideal game for something like this since its turn-based. Even a game like Mario Kart wouldn't be too bad, methinks.

#4343 - tepples - Fri Mar 28, 2003 6:31 pm

Yonkers wrote:
I agree that games made with latency in consideration would be better, but I don't think 30-50ms would be too bad for most games.

The GBA's link is not packet-oriented, and GBA games' serial flow control is typically designed for pings on the order of 1ms. Games that expect 1ms and get 30-50ms would probably crash. Of course, it'd be theoretically possible to provide a "proxy" for each game to hide the latency from the GBA program, but that would require writing a separate proxy for every game. Remember that the Catapult Xband modem supported only some games.

Besides, dial-up Internet access will virtually never provide 30-50ms ping. Microsoft isn't doing so hot with the broadband-only "Xbox Live" service partly because 80 percent of American households with Internet access have dial-up.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#4346 - Dev - Fri Mar 28, 2003 6:55 pm

Catapult worked well mostly because it was effectively a "match-maker" service... not a full client-server or internet-based architecture.

Basically, when two people wanted to play against each other, they both connected to the XBand server, and when they initiated a game, both were disconnected, and one of the players ended up calling the other player directly -- technically all of this was automated (and hidden) from the user, but the only latencies were due to the direct modem-to-modem connection, and not from any server processing.

Still, it worked quite well considering all the issues involved in communication back then...

#4349 - Vortex - Fri Mar 28, 2003 8:44 pm

It is an interesting idea, but besides the hardware problems to be solved, the whole TCP/IP stack implementation should be ported, which is not an easy task. For example, the TCP/IP stack implementation for FreeBSD/Linux is thousands lines of code.

If you don't plan using TCP/IP, you need to come with your own network protocol.