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.

DS Misc > Tunneling GBA using Nintendo DS?

#60853 - Zed0 - Tue Nov 15, 2005 10:31 am

one thing I would like DS tunneling to be useable for is to tunnel GBA games as though you had a link cable on a GBA

#60856 - El Hobito - Tue Nov 15, 2005 12:36 pm

Zed0 wrote:
one thing I would like DS tunneling to be useable for is to tunnel GBA games as though you had a link cable on a GBA

that wouldnt be tunnelling though that would be emulation.

#60889 - tssf - Tue Nov 15, 2005 10:40 pm

You can't link GBA games on the DS, no matter if the DS was tunneled or not. Why can't people understand that?

The DS has no possible way to link GBA games. The only way you could is if you had a GBA emulator for the DS, and what purpose would that serve? Other than to play GBA games illegally.
_________________
Mathew Valente [TSSF]
------
Chrono Resurrection Musician

#60896 - unrequited - Tue Nov 15, 2005 11:47 pm

tssf wrote:
The only way you could is if you had a GBA emulator for the DS, and what purpose would that serve? Other than to play GBA games illegally.

Um... you answered your own question... to be able to play link games over NiFi/WiFi.
_________________
-Unrequited

#60897 - tssf - Tue Nov 15, 2005 11:51 pm

unrequited wrote:
tssf wrote:
The only way you could is if you had a GBA emulator for the DS, and what purpose would that serve? Other than to play GBA games illegally.

Um... you answered your own question... to be able to play link games over NiFi/WiFi.


If you want to play GBA games over link play, buy a GBA SP. Can the DS actually emulate GBA roms at full speed? I'm sure it wouldn't be as hard as emulating an SNES for instance, but it's very unlikely because again, the whole piracy factor.

Why would a person risk people playing illegal GBA roms for their Nintendo DS just so you can have your link play, when all you need to do is go out and buy yourself a GBA SP and a link cable?

Sure I answered my own question, but I also answered with one more sensible than "Link Play", and that's Piracy issues.
_________________
Mathew Valente [TSSF]
------
Chrono Resurrection Musician

#60902 - CubeGuy - Wed Nov 16, 2005 12:31 am

To play someone over the internet. xP

Can you do that with an SP?

No.
_________________
It's 'CubeGuy.' One word. No space.

#60913 - tepples - Wed Nov 16, 2005 2:22 am

tssf wrote:
If you want to play GBA games over link play, buy a GBA SP.

That would cost an extra $80. Not everybody can find a job. Heck, I have a bachelor's degree and I can't even get a ****ing minimum wage job at the mall.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#60928 - octopusfluff - Wed Nov 16, 2005 3:18 am

tssf wrote:
Sure I answered my own question, but I also answered with one more sensible than "Link Play", and that's Piracy issues.


There are some problems with your line of reasoning.

a) you can already pirate GBA games on the DS without an emulator. It's called 'flash cards' and 'CF/SD adapter's, which are, notably, critical to homebrew on the DS. So a GBA emulator on the DS would not enable piracy, and would actually be more unwieldy a method, if it even worked at all.

b) a GBA SP for link play only works if you have physical proximity to someone else to play with. We have this really neat communications medium called the 'internet' that would be pretty fun to play games over, were it possible. Some of us have a shortage of gaming friends in person, yet many people online we'd like to play with.


If you can explain how a GBA emulator would actually enable piracy in any way that isn't already available more easily, I'd like to hear it. In the meantime, there are legitimate reasons to want one, even if it isn't currently feasible.

#60934 - unrequited - Wed Nov 16, 2005 4:10 am

tssf wrote:
Why would a person risk people playing illegal GBA roms for their Nintendo DS just so you can have your link play, when all you need to do is go out and buy yourself a GBA SP and a link cable?

Go buy me a link cable long enough so I can play my with kid sister who lives 35 miles away from me. Otherwise, stfu ttsf, innovation and emulation != piracy.
_________________
-Unrequited

#60937 - tepples - Wed Nov 16, 2005 4:24 am

Given that commercial GBA games depend on latency measured in tens of microseconds, it would not be possible to tunnel GBA protocol across a packet switched network such as the Internet (or even across consumer level circuit switched networks such as POTS) unless you emulate both GBAs on each side of the link (the "TGB Dual" method).
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#60961 - octopusfluff - Wed Nov 16, 2005 9:51 am

tepples wrote:
Given that commercial GBA games depend on latency measured in tens of microseconds, it would not be possible to tunnel GBA protocol across a packet switched network such as the Internet (or even across consumer level circuit switched networks such as POTS) unless you emulate both GBAs on each side of the link (the "TGB Dual" method).


And we don't even have any PC-based GBA emulators pulling that off just yet.

As nice as the thought would be, I have trouble imagining the DS emulating two ARM7 cores, much less all the rest of the system. The possibility exists that some really squicky recompilation techniques could make it feasible, given the higher clock rate, but that would be highly improbable.

My main point was that there are legitimate reasons for -wanting- such a thing.. even if it won't happen.

#60968 - El Hobito - Wed Nov 16, 2005 10:42 am

tepples wrote:
tssf wrote:
If you want to play GBA games over link play, buy a GBA SP.

That would cost an extra $80. Not everybody can find a job. Heck, I have a bachelor's degree and I can't even get a ****ing minimum wage job at the mall.

you and me both!

#60971 - tssf - Wed Nov 16, 2005 11:09 am

tepples & El Hobito: Get temporary work from an agency. You gotta bug them day and night about new work, it's hard but it works.

btw, you can buy a used original GBA for under $50 dollars. Hey, you want to keep it cheap right? don't get picky on your system.

The cheapest and easiest way to run software on the DS is with a GBAMP and a PassMe. Last I checked, people using those mediums can't play any larger than a 256k multiboot GBA ROM. Correct me if I'm wrong, but flash carts are much more expensive than what a used GBA would cost. Even the M3 is more expensive than that.

unrequited: "stfu"? what are you, 12? Grow up. You want to play with your sister in a GBA game so badly over the internet, get an online-enabled GBA emulator for the PC. See how well that works.

octopusfluff, you and tepples probably make the most intelligent, and reasonable answer.

The fact is, even if the DS did have the same processor as the GBA albeit faster..is there really any way to run a GBA "Rom" in DS Mode, while making the DS act like a GBA? This actually reminds me of an earlier question by someone in another thread..something about wanting to run larger sized ROMs in their GBAMP in DS mode.

You guys need to stop directing anger toward me, and look at it realistically. Sure having internet link play is a tempting thought, but giving people the added ability to get a cheap piracy device to play illegal games on a system that already plays the games you want to play legally, but without the ability of link play..I don't know. Perhaps it seems pointless to me because there were never really any GBA games I'd ever wanted to link up with. :)
_________________
Mathew Valente [TSSF]
------
Chrono Resurrection Musician

#60983 - Darkflame - Wed Nov 16, 2005 1:53 pm

Quote:
Last I checked, people using those mediums can't play any larger than a 256k multiboot GBA ROM.


True :(
I wish It would go upto 4MB, it would enable me to play a lot more homebrew stuff.

As for over-the-net play:

Be fair, theres lots of good reasons to want it.
eg.
Zelda Four Swords

How often do you find 4 people with GBAs? The games excelent, but I have only played the gba version once with 4 other people, and that was at a special event.

Some multiplayer gba games are great, but hard to find people to play with.
Dosnt mean its feasible though.

#61010 - Joat - Wed Nov 16, 2005 6:57 pm

Not going to argue about the sanity or legality of emulating a GBA to play the games over the internet, but as far as the feasibility of it: NOT POSSIBLE.

Mostly emulating one GBA on the DS is doable with good code, but it'd be taxing the system. Doing two is completly out of the question, and most GBA games are *incredibly* intolerant to latency on the link port (as in, any non-zero latency == dropped connection, not as in they'll only sort of work).

The only reason one is possible on a system less than 3 times as powerful as a GBA (faster cpu, still slow ram, 3 is a number I pulled out of my ass), is because it's so very much like a GBA. You can let the game operate completly out of memory and execute most opcodes natively, you just need to trap SWIs and io register reads/writes to handle missing hardware, etc... You can't do that with two GBAs, since there is only one set of main RAM, shared RAM (e.g. iwram on the gba), etc... You'd have to emulate the lot, and there isn't enough power to do that.

The GBA link port is a full-duplex sync shift register. It clocks data both directions at the same time, like a SPI bus, and most games rely on this in their protocol design. You *cannot* tunnel the traffic of most GBA games, point blank, and as tepples said, the alternative is to emulate both machines on both sides, and lockstep sync whenever one does a comms transfer, this is even slower than just emulating two completly seperate GBAs (which as I said, isn't possible either).

Because the link port is a bitch to program for in the first place, some games are much more tolerant in their protocol design to get around problems they had with just a point to point physical link, and these sorts of games are the ones that work with the majesco RF link (which also has very low latency, compared to the internet).
_________________
Joat
http://www.bottledlight.com

#61011 - Joat - Wed Nov 16, 2005 7:00 pm

Also, I fear we've sailed dangerously far off course in a thread entitled *DS* tunneling, although since the first 3 pages were all about people who couldn't get a simple visual puzzle, I don't know we ever had a course to begin with.

*edit* That came off a little too grumpy, I'd better go get a cookie :)
_________________
Joat
http://www.bottledlight.com

#61060 - tepples - Thu Nov 17, 2005 3:19 am

tssf wrote:
The cheapest and easiest way to run software on the DS is with a GBAMP and a PassMe.

The newest version of Nintendo DS firmware isn't compatible with WiFiMe or the original PassMe, and PassMe2 isn't compatible with the GBAMP. You need something with SRAM (that is, an M3 or a SuperCard or a flash cart) to get PassMe2 working in order to install FlashMe.

Darkflame wrote:
As for over-the-net play:

Be fair, theres lots of good reasons to want it.
eg.
Zelda Four Swords

Nintendo is working on an official sequel to Four Swords.

And I've split this off so that Grumpy Bear doesn't have to make another raincloud.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#61137 - Darkflame - Thu Nov 17, 2005 4:56 pm

Actually, despite it being "confirmed" on many sites about five times over, they are not :p

They are working on something that takes some ideas from four swords, but (bizarely) they talk about a new perspective not used in Zelda.
Kinda implies first person O_o

A Ocarina-style four player would be nice, but unlikely.

Anyway, I can see its academic to talk about this anyway.

Hmz..on simerlar lines though would you be able to (theorticaly) use the GBA multiplayer games over a local wireless connection?
(eg,just make up for Nintendos lack of a link port)
You wouldnt need dual emulation then.

Or how about a system that lets you connect the DS as a GBA to cube games using the wave-bird reciever. [/mind blowingly long shot]

#61149 - tepples - Thu Nov 17, 2005 5:53 pm

Darkflame wrote:
Hmz..on simerlar lines though would you be able to (theorticaly) use the GBA multiplayer games over a local wireless connection?

Not with a DS. GBA games expect latency in the microseconds, and you can't get that out of consumer wireless packet protocols. You could try Majesco's adapter, which doesn't use a packet protocol.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#61181 - xbay - Thu Nov 17, 2005 9:16 pm

So how does that work? Is that based through hardware? What if somebody wrote a protocol similar to what the Majesco device uses? Would it even be feasible? I'm guessing the answer's "no" since we'd still have to be able to emulate the GBA anyway.

I forget, but is it possible to for games in GBA mode to access the DS slot somehow? Maybe a device like PassMe could be wired in there to create a link. Yeah, I know, but maybe. :p
_________________
Dynamic Pictures.net
11-9-05
Stack 'n' Fall Intro is live!

#61183 - knight0fdragon - Thu Nov 17, 2005 9:22 pm

emulating the GBA would most likely be the only way to play over wifi, but the emulator writers would have to do something about the latency, perhaps "pausing" the cpu? Also I do not see why a GBA emulator would be difficult speed wise on the DS, since the DS has access to the ARM7 CPU and a lot of the GBA components

#61188 - tepples - Thu Nov 17, 2005 9:43 pm

knight0fdragon wrote:
emulating the GBA would most likely be the only way to play over wifi, but the emulator writers would have to do something about the latency, perhaps "pausing" the cpu?

If you're comfortable with playing at 5 seconds per frame instead of 60 frames per second, I'm glad that you're comfortable with that.

Quote:
the DS has access to the ARM7 CPU and a lot of the GBA components

But not at the same memory addresses. Games would probably need to be extensively patched, by hand, at which point it would almost be easier to clone the game logic into an original game program (e.g. Bust-A-Move -> Frozen Bubble, or Lumines -> Luminesweeper).
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#61235 - knight0fdragon - Fri Nov 18, 2005 9:51 am

would it really be 5 seconds per frame? and is it normally 60 fps, i always thought it was somewhere around 30

also, a lot of the GFX and sound routines are there already, so perhaps those would not need to be emulated to some extent, lets see what sgstairs produces, perhaps he will have some answers to what can be done

#61241 - Sebbo - Fri Nov 18, 2005 11:26 am

would it be possible to run GBA ROMS (or carts even) natively in DS mode? from what i understand, many of the functions are similar between the two platforms, then something would need to manage the memory and look for any transmission or recieving coding, intercept and put it out on the wireless

i'm pretty sure i don't understand all this fully, but i wanted to throw in an idea that no one seems to have suggested yet
_________________
Here's some ideas I have for when I know enough to act on them, or for others to have a look at when they're bored: www.wayne.sebbens.com/ds_ideas.htm

#61282 - knight0fdragon - Fri Nov 18, 2005 6:53 pm

i believe the supercard can do something like that. All i know when i run a gba app in DS mode, both screens are on

#61284 - CubeGuy - Fri Nov 18, 2005 7:00 pm

knight0fdragon wrote:
i believe the supercard can do something like that. All i know when i run a gba app in DS mode, both screens are on

That's due to an error on the coder's part.

The lower screen does indeed turn off, and the DS is running in GBA mode, however, the SC doesn't turn off the backlight before it gives up control of the DS hardware.
_________________
It's 'CubeGuy.' One word. No space.

#61291 - Darkflame - Fri Nov 18, 2005 8:40 pm

What, in terms of time, is the difference between wired GBA connection and local wireless DS connection?

Just curious how much of a difference we are talking about here.

#61366 - octopusfluff - Sat Nov 19, 2005 8:44 am

The latency on GB/GBA link ports is pretty freaking low, since operations complete effectively within a few clock cycles as I recall. Given the speed of the GBA, that means you're dealing with a latency measured in microseconds, or possibly even less than a microsecond. Wifi communications, on the other hand, have to be able to tolerate latency around the millisecond range.

It's a pretty huge gap.

#61390 - tepples - Sat Nov 19, 2005 6:38 pm

Specifically:
GBA runs at 115 kbps, and the physical layer works a bit at a time. You need 9 ?s latency in order to feed it bits.

Nintendo DS runs at 2000 kbps, the physical layer appears to be hidden, and the data link layer works a packet at a time. I'm not sure about Wi-Fi, which is 802.11b wireless Ethernet, but another form of Ethernet has a minimum packet size of 200 bits. That would take 100 ?s to send.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#61395 - NoComply - Sat Nov 19, 2005 7:42 pm

Honestly you would probably have an easier time making your own game based on the one that is on the gba game for the ds. Ya the wireless isn't out yet, but you could pretty much copy the gameplay exactly or add your own additions. I mean, it's not like you are selling the game. I mean, I would play a snes mario kart game with online play especially if you could edit tracks! Mind you I don't have the technical knowhow to do it. I could learn but I'm lazy and would prefer to take advantage of other people's hard work.

There should be lots of new games for the ds that have similar gameplay that will have wireless play. I mean the games will be simple and fun and won't require you to do the near impossible just to have a laggy crappy experience!

#61418 - octopusfluff - Sat Nov 19, 2005 10:07 pm

tepples wrote:
Specifically:
GBA runs at 115 kbps, and the physical layer works a bit at a time. You need 9 ?s latency in order to feed it bits.

Nintendo DS runs at 2000 kbps, the physical layer appears to be hidden, and the data link layer works a packet at a time. I'm not sure about Wi-Fi, which is 802.11b wireless Ethernet, but another form of Ethernet has a minimum packet size of 200 bits. That would take 100 ?s to send.


A quick perusing through google suggests that there isn't a minimum payload size for 802.11b. The MAC overhead is 28 bytes, plus any encapsulation NiFi may be using.

Of course, the notion of sending 29 bytes (28 for MAC +1 to hold our data) + NiFi overhead just to transmit a single bit is quite laughable.

For the purposes of your argument, 'minimum packet size' is quite distinct from 'minimum payload size', as packet size is usually including overhead, but your argument is counting accumulated bits in the payload before transmission.