1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<HTML>
3<HEAD>
4<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
5<META http-equiv="Content-Style-Type" content="text/css">
6	<TITLE>MPFS API Introduction</TITLE>
7<LINK rel="stylesheet" type="text/css" href="../CSS/revolution.css">
8</HEAD>
9<BODY>
10
11<H1>MPFS API Introduction</H1>
12
13<H2>Introduction</H2>
14<p>
15The MPFS library is a communications protocol that implements operation as a file server for the Nintendo DS using MP communications.
16</p>
17<p>
18When distributing programs to the Nintendo DS system using the MPDL library, the upper limit of the size of boot programs that can be sent is set at 2.5 MB from from the memory limit. In order to make large-scale programs that exceed this upper limit, it is necessary to get additional data dynamically depending on the situation after the distributed program is restarted.<br/>It is possible for the developer to implement processing for the receipt of this additional data directly depending on the usage, but by using the MPFS library, it is possible to get additional data from the Wii as if the Nintendo DS Program had the same file system as on a ROM Card. MPFS library provides a transparent means of accessing the ROM file system. <br />(<font color="red">Note: What is provided by the Wii through the MPFS library is the ROM file system of the Nintendo DS Program itself, not file systems that the Wii has like DVD, SD, and NAND.</font>)
19</p>
20<p>
21The MPFS library only uses any one communications port of the MP library. All other communications ports, as well as overall control of MP communications, can be freely managed on the application side.<br />The WFS library included in the Nintendo DS development kit (i.e., NITRO-SDK) corresponds to the client-side protocol of the MPFS library. The WFS library must be used with the same communications port on the Nintendo DS program side. For further details, see the sample within the NITRO-SDK.
22</p>
23<p>
24For more on the MP library, see the <a href="../mp/intro.html">MP API Introduction</a>.
25</p>
26
27<H2>Using the MPFS Library</H2>
28<p>The general flow of the MPFS library is given below.
29<ul>
30
31<li><strong>Performing Single-Card Play</strong><br> In order for the MPFS library to operate as a server for Nintendo DS programs, the MPDL library is usually used in advance to distribute a Nintendo DS program.</li>
32
33<li><strong>Preparing to start MP communications</strong><br> Initialize the internal status of the MPFS library with the <a href="./MPFSInit.html">MPFSInit</a> function. In addition, in order to perform MP communication for the MPFS library, use the <a href="../mp/MPSetPortConfig.html">MPSetPortConfig</a> on the arbitrary single communications port and specify a callback with the <a href="./MPFSPortCallback.html">MPFSPortCallback</a> function.</li>
34
35<li><strong>Starting MP communications</strong><br> Start MP communications with the <a href="../mp/MPStartup.html">MPStartup</a> function. The MPFS library automatically manages the internal status of using the communications port callback function already specified, and starts operation as a file server.<br />Each time a file access function is called on the Nintendo DS program side, that process will be automatically replaced by continuous data transfer internal to the MPFS library. It is not necessary to be particularly conscious of the details of the MP communications being performed here on the application side for either the Wii (server) or the Nintendo DS (client).</li>
36
37<li><strong>Ending MP communications</strong><br> After ending MP communications with the <a href="../mp/MPCleanup.html">MPCleanup</a> function, free the MPFS library with the <a href="./MPFSEnd.html">MPFSEnd</a> function.</li>
38
39</ul>
40</p>
41
42<H2>Revision History</H2>
43<P>
442007/02/09 Initial version. <br>
45</P>
46
47<hr><p>CONFIDENTIAL</p></body>
48</HTML>
49