Professional Documents
Culture Documents
Day1 3 MP Communication
Day1 3 MP Communication
Dylan Rhoads
Bilingual Software Engineer
Software Development Support Group
What is MP Communication?
• MP = "multi-poll"
• Unique protocol for real-time
communication among Nintendo DS
systems
• MP API enables MP communication with
the Nintendo DS from the Wii
• Reference: NITRO-SDK Wireless
Communications Library Description
Features of MP Communication
• Real Time Communication
• Extremely low latency
– Data sent at the beginning of a frame reaches
communication partner within the same frame
• Highly reliable
– Direct connection between devices
– Low drop rate for normal home environments
• Slightly different from Internet/802.11 ad-hoc
The Wii MP Library Family
1. MP (NITRO-SDK: WM)
2. MPDL (NITRO-SDK: MB)
3. MPFS (NITRO-SDK: WFS)
4. MPDS (NITRO-SDK:
WM_StepDataSharing)
1. MP (NITRO-SDK: WM)
2. MPDL (NITRO-SDK: MB)
3. MPFS (NITRO-SDK: WFS)
4. MPDS (NITRO-SDK:
WM_StepDataSharing)
1. The MP Library
• Enables DS Wireless Play and DS
Download Play with Nintendo DS systems
• Allows the Wii to act as a parent DS
• Less flexible than NITRO-SDK WM library,
but easier to use
Wii & DS Endianness
• Endianness (byte order) of Wii and DS are
different
• DS is Little-Endian, but Wii is Big-Endian
• On the Wii side, convert data before
sending and after receiving from the DS
Wii & DS Endianness
• On the Wii side, think of the sent/received
data as a simple binary row, and clearly
separate the data structures in the game
• Conversion before sending data:
– Use MPHToMP16 or MPHToMP32
– Convert "Host order" to "MP order"
• Conversion after receiving data:
– Use MPMPToH16 or MPMPToH32
– Convert "MP order" to "Host order"
MP Library Restrictions
• Wii can only be the parent
• The number of available channels may be
lower depending on the country
– JP or EU Wiis: Channel 1, 7, 13
– US or TW Wiis: Channel 1, 7
• V-blank synchronization is not possible
V-Blank Synchronization
• In DS-to-DS MP communication, DS
systems can automatically sync to V-Blank
• Wii and DS have different V-blank cycles
– NTSC/PAL is different from DS – out of sync
• Therefore, DS communication logic must
be independent from Wii's framerate
• However, DS systems connected to Wii
can still sync with each other
MP Library Restrictions (Cont.)
• When using sequential communication,
limit the number of child devices to 8.
• The MPDS Library gives a representative
example of sequential communication.
• The MPDL and MPFS libraries operate
using Raw communication, so they are
unaffected by this restriction.
The Wii MP Library Family
1. MP (NITRO-SDK: WM)
2. MPDL (NITRO-SDK: MB)
3. MPFS (NITRO-SDK: WFS)
4. MPDS (NITRO-SDK:
WM_StepDataSharing)
2. The MPDL Library
• A high-level API in the MP library used for
download play with the Nintendo DS
• Maximum ROM size of 2.5 Mbytes
• DS download program must be registered
within the Wii executable file during
development
– Prevents distribution of unintended programs
– Allows confirmation of SDK & middleware used
DS Program Distribution Flow
regds. exe
tool Registration
Information Information used for
List Master Data
verification when
Nintendo DS submitting master
Compile
Programs Resident Programs
Link
regds. exe
tool Registration
Information Information used for
List Master Data
verification when
Nintendo DS submitting master
Compile
Programs Resident Programs
Link
regds. exe
tool Registration
Information Information used for
List Master Data
verification when
Nintendo DS submitting master
Compile
Programs Resident Programs
Link
regds. exe
tool Registration
Information Information used for
List Master Data
verification when
Nintendo DS submitting master
Compile
Programs Resident Programs
Link
regds. exe
tool Registration
Information Information used for
List Master Data
verification when
Nintendo DS submitting master
Compile
Programs Resident Programs
Link
1. MP (NITRO-SDK: WM)
2. MPDL (NITRO-SDK: MB)
3. MPFS (NITRO-SDK: WFS)
4. MPDS (NITRO-SDK:
WM_StepDataSharing)
3. The MPFS Library
• A communication protocol for sending files
from Wii to Nintendo DS using MP
communication
• Allows your game to access more than the
2.5MB ROM size provided by MPDL library
• Good for DS applications that need to
access larger amounts of data
The Wii MP Library Family
1. MP (NITRO-SDK: WM)
2. MPDL (NITRO-SDK: MB)
3. MPFS (NITRO-SDK: WFS)
4. MPDS (NITRO-SDK:
WM_StepDataSharing)
4. The MPDS Library
• Data Sharing protocol library
• Allows data to be shared synchronously
at the game frame level between parent
and child devices (30fps/60fps)
• Communication on DS side is managed
by WM Library in NITRO-SDK
4. The MPDS Library (Cont)
• Syncs automatically, even if one falls behind
due to dropped packets or processing
• No need to implement synchronization or worry
about data reliability
• Ideal for applications that require real-time
synchronization
• Latency of 2 frames:
– 1 frame for gathering, 1 frame for broadcast
• Be careful of the V-Blank sync problem!
Thank you!
Questions?
• E-mail: support@noa.com
• Newsgroups:
– rvl.communication
– nitro.wireless