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 development > Wireless Protocol

#133231 - basalamah - Wed Jul 04, 2007 10:55 am

hi everyone,

I am new to the Nintendo world, i just had some questions i need to understand, which are concerned with multilayer games.

- when more than 2 devices and playing, what wireless protocol does the nindtendo DS use? does it use the so called WMB Protocol? is so, how is it different from DS Download Play (WMB Protocol)?

- how does this protocol defer from IEEE802.11?

- is the transmission between devices, Unicast or (Broadcast/Mutlicast)?


I am sorry if these questions are lame but i don't know where to start.


Thanks

#133232 - felix123 - Wed Jul 04, 2007 12:52 pm

DS Download Play is used for downloading programs to the DS. Multiplayer in official games is performed using NiFi. We still can't do homebrew multiplayer gaming without an access point.
_________________
Nintendo DS homebrew on Wikipedia

#133245 - masscat - Wed Jul 04, 2007 4:23 pm

IEEE802.11 has many parts covering many things. For example it defines how a frame is encoded at the physical layer and it defines the sequence of frames that are required for stations (PCs etc) to communicate.

All NDS wireless frames conform to 802.11 with respect to how they are put out over the air. If you have a wireless card for your PC that is capable of capturing all wireless frames on a channel it will happily capture the NDS frames.

From the NDS hardware point of view there is no protocol as it is up to the game/application to build and transmit frames and to decode received frames. So there may not be a common protocol used by games, although I would have thought that the official development system (I have never seen it) would provide libraries for doing wireless multi-player.
The hardware can filter the received frames based upon the addresses within the frame and the frame type, although, I believe, how this is configured is not fully understood yet.

During DS Download Play, Pictochat and Mario Kart VS play the host DS acts similarly to an Access Point and coordinates the transfer of data between DSs. You can see some info about the DS Download Play frame formats and sequence on my website.
I have not investigated multi-player games much.

By its nature transmitted frames are broadcast. The addresses within the frames can be unicast, broadcast or multicast.

If you want to have a play get a capture capable wireless card and Wireshark and start looking at the frames being passed between DSs.

#133248 - basalamah - Wed Jul 04, 2007 5:02 pm

Thank you guys for the good responses,

masscat, let me conclude what i understood from your reply:

Quote:
- when more than 2 devices are playing, what wireless protocol does the nindtendo DS use?


It uses a normal 802.11 protocol.
Quote:

does it use the so called WMB Protocol? if so, how is it different from DS Download Play (WMB Protocol)?

No. WMB is only used for DS Download Play.

Quote:
how does this protocol defer from IEEE802.11?

There is no difference in the PHY and MAC protocols but some difference in the upper layers?

Quote:

is the transmission between devices, Unicast or (Broadcast/Mutlicast)?


it depends on the game.

Thanks for the advice on Wireshark and packet sniffing.

#133543 - masscat - Sat Jul 07, 2007 12:20 am

Your conclusions are correct.

basalamah wrote:
Quote:
how does this protocol defer from IEEE802.11?

There is no difference in the PHY and MAC protocols but some difference in the upper layers?

For the upper layers:
The association process (station with access point) uses the same sequences of frames as defined by 802.11 but the contents of the frames is not standard. The transfer of data frames between station and AP is, I believe, standard (802.11 does not define the payload content of data frames just their structure and how and when to send them).

One thing I found when trying to develop a WMB client for Linux was that there are timing requirements for transmitting data frames (the frame must be transmitted within a window defined by the AP) which I could not meet using a USB wireless stick. This behaviour is, I believe, correct with regard the 802.11 standard.