You are on page 1of 25

MP Communication Overview

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)

! All are included in the Revolution SDK


Extensions (RevoEX) package
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. 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

Wii Program Execution Code


Download library
execution -time
optical disc drive validity test
Mastering
data
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

Wii Program Execution Code


Download library
execution -time
optical disc drive validity test
Mastering
data
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

Wii Program Execution Code


Download library
execution -time
optical disc drive validity test
Mastering
data
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

Wii Program Execution Code


Download library
execution -time
optical disc drive validity test
Mastering
data
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

Wii Program Execution Code


Download library
execution -time
optical disc drive validity test
Mastering
data
DS Download Play Flow
1. Start the download server (parent)
2. Manage player entry status
3. Close entry & start download process
• DS restarts when download completes
4. Reconnect as necessary and execute
communication
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)
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

You might also like