1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 4<LINK rel="stylesheet" type="text/css" href="../CSS/revolution.css"> 5<base target="main"> 6<title>NADK Introduction</title> 7</head> 8 9<body> 10 11<h1>NADK Description</h1> 12<h2>Introduction</h2> 13<p> 14NADK is the NAND Application Development Kit.<BR><BR>NAND applications can import to and be run from the Wii console NAND memory. For optical disc applications that used NDEV, files were placed below <CODE>DvdRoot</CODE> and read from there. But for NAND applications, the files are used as content files, and must be collected into a NAND application file format called a WAD file.<br><br>NADK contains the CNT API to access content files, <CODE>makeWad.exe</CODE> to create WAD files, and an Nmenu to import and run WAD files.<br>These are outlined below. For further detail, see the appropriate page. In addition, see <a href="../nand/intro.html">NAND API Introduction</a> for information about Wii console NAND memory.</p> 15 16<p><a href="ReleaseNote.html" style="color: blue">[Revision History up to NADK 2.2 Patch 3]</a></p> 17 18<h2>NADK Package</h2> 19<H3>1. CNT API</H3> 20<p> 21As mentioned above, for NAND applications, the read-only files similar to those used in optical disc applications (such as text files and music files) must be collected and packaged into a WAD file to be used as a content file. The CNT API provides access to these content files.<br>In the CNT API, the <CODE>NANDAPP</CODE> compile switch is provided to easily change between disc applications and NAND applications. See the <a href="./list.html">Function List</a> for details on the CNT API. The CNT API can only access content files that are in the format of archive files, which can be handled by the archive utilities (ARC library and <CODE>darchD.exe</CODE>) in the SDK. 22</p> 23<p> 24<font color=red>Use of the CNT API's disc access feature is limited to NAND application development only. Do not develop disc applications using the CNT API.</font> 25</p> 26 27<H3>2. Command Options for <CODE>makeWad.exe</CODE> and <CODE>make</CODE></H3> 28<p> 29<CODE>makeWad.exe</CODE> is a tool to create WAD files.<br>In addition, several <CODE>make</CODE> command options have been provided to automatically call <CODE>makeWad.exe</CODE> to create WAD files during build. See <a href="./tools/make.html"><CODE>make</CODE> Option Command</a> for details on these options. 30 31<H3>3. Nmenu</H3> 32<p> 33The Nmenu (<CODE>RVL/bin/tools/Nmenu.elf</CODE>) is a simple menu to manage applications such as NAND application import, execution, and deletion. You can perform auto import and auto run by applying options when executing <CODE>Nmenu.elf</CODE>. For details on Nmenu, see <a href="./Nmenu.html">Nmenu</a>. 34</p> 35 36<p> 37In addition, a WAD file for Nmenu (<CODE>dvddata/viewer/Nmenu.wad</CODE>) has been included to simplify Wii Menu operations. 38</p> 39 40<H3>4. Sample Demos</H3> 41<p> 42Refer to the <a href="./demo.html">Sample Demos</a> page for examples of development procedures for NAND applications using the sample demos, as well as for information on how to use the CNT API. 43</p> 44 45<H3>5. Shared Content Files</H3> 46<p> 47The shared content files include the strap usage screen and the archive file for Wii bitmap fonts. 48</p> 49 50<H3>6. Data Titles</H3> 51<p> 52By using NADK and the separately provided ECDK (the E-Commerce Library) you can develop data titles for such uses as the marketing of add-on data, as well as developing applications that utilize those data titles. For more information on data titles, see "About Data Titles" on this page. 53</p> 54 55 56<h2>Master Data Settings</h2> 57<h3>Starting in the Wii Menu</h3> 58<p> 59For disc applications, mastering was done from development programs (ELF and RPF) and converted to master data (RVM file) format. For NAND applications, the WAD file is already master data without any conversion. However, to allow the program to display and run correctly on the Wii Menu, the following items must be configured correctly in addition to the program. For information about how to create WAD files that have these settings configured, refer to the "Example <CODE>WAD</CODE> File Creation" section of <a href="tools/makeWad.html"><CODE>makeWad</CODE></a>. 60</p> 61 62<h4>Banner File</h4> 63<p> 64To allow NAND applications to display on the Wii Menu, you must embed a banner file that has been created with the Icon and Banner Creation Tool (<CODE>IconBannerTools</CODE>), which is distributed separately. Banner files are embedded using the <CODE>-m</CODE> option of <CODE>makeWad</CODE>. 65</p> 66 67<h4>Country Identifier Codes</h4> 68<p> 69To run a NAND application from the Wii Menu, the correct country identifier code must be configured in addition to embedding a banner file as mentioned above. With disc applications, it was possible to change the country identifier code with the Master Editor. However, with NAND applications it is not possible to change this code after the WAD file is created, so it must be set in advance. The country identifier codes are set in the disc application and with the common script <a href="tools/setncountrycode.html"><CODE>setncountrycode</CODE></a>. 70</p> 71 72<h4>Parental Controls Information</h4> 73<p> 74With NAND applications, Parental Controls information must be set before creating the WAD file, just like the country identifier code. It cannot be changed after the file is created. Parental Controls information is set with <a href="tools/setnparentalcontrol.html"><CODE>setnparentalcontrol</CODE></a>. 75</p> 76 77<h3>Game Versions and Version Updates</h3> 78<p> 79A NAND application's version is managed by a 16-bit value (<CODE>0x0000</CODE>-<CODE>0xFFFF</CODE>) called the <I>game version</I>. The upper 8 bits of the game version are the <I>major version</I>, and the lower 8 bits are the <I>minor version</I>. The appropriate game version must be configured when creating WAD files.<br>Set the game version to <CODE>0.0</CODE> (major version of 0, minor version of 0) for the first submission of WiiWare or Virtual Console master data. 80</p> 81<p> 82The game version must be incremented when master data is resubmitted. This is known as a <I>version update</I>. There are two ways to update the version number, according to the reason for resubmitting. 83</p> 84<table border="1" cellspacing="0"> 85 <tbody> 86 <tr> 87<td bgcolor="#C0C0C0">Reason</td> 88<td bgcolor="#C0C0C0">Version Update</td> 89<td bgcolor="#C0C0C0">Version to Increase</td> 90<td bgcolor="#C0C0C0">Post-Update Downgrade</td> 91 </tr> 92 <tr> 93<td>Resubmitted as a different version because a bug was discovered by customers</td> 94<td>Major update</td> 95<td>Major version</td> 96<td>Impossible</td> 97 </tr> 98 <tr> 99<td>Resubmitted because a bug was discovered by Lotcheck</td> 100<td>Minor update</td> 101<td>Minor version</td> 102<td>Possible</td> 103 </tr> 104 </tbody> 105</table> 106<p> 107<b>The game version is also affected when a WAD file is imported in Nmenu, overwriting an earlier WAD file. </b> The error message "Cannot import older version." will be output if you attempt to use Nmenu to import and overwrite a WAD file configured with a game version that cannot be downgraded. You can then import normally by first deleting the application. 108</p> 109<p> 110<b>Note: </b> You cannot even downgrade a minor update using a Wii Menu prior to version 3.0, or an Nmenu contained in the NADK prior to version 2.0. 111</p> 112 113<h2>About Shared Content Files</h2> 114<p>Shared content files are particular content files that are decided and distributed by Nintendo, and that can be accessed and used by multiple NAND applications.<br>Because shared content files are all saved in the system region of Wii console NAND memory, you can reduce the size consumed by the application in the application region of Wii console NAND memory.<br> 115</p> 116 117<h3>How to Create and Use</h3> 118<p>For an application to use a shared content file, an archive file distributed as a shared content file must be embedded in the application's WAD file.</p> 119<p>The method of embedding the file is almost identical to that used when embedding a regular content file prepared by the application itself.<br>Specifically, specify a content file using the <CODE>-l</CODE> option of <CODE>makeWad</CODE> when creating a WAD file, and then specify 1 with the <CODE>-T</CODE> option to clarify that the content file is a shared content file.</p> 120<p>The following is an example of a command that generates a file named <CODE>SampleApp.wad</CODE> from a program code file named <CODE>SimpleApp.dol</CODE>, a regular content file named <CODE>user1.arc</CODE>, and a shared content file named <CODE>shared.arc</CODE>.</p> 121<table border="1" width="80%"> 122 <tbody> 123 <tr> 124 <td width="80%"> 125 <pre><code> 126% makeWad -n SampleApp -l SampleApp.dol,user.arc,shared.arc -T 0,0,1</code></pre> 127 </td> 128 </tr> 129 </tbody> 130</table> 131<p>The first two values of the <CODE>0, 0, 1</CODE> specified using <CODE>-T</CODE> are specifications for <CODE>SampleApp.dol</CODE> and <CODE>user.arc</CODE>. Because 0 was specified, these files are set with regular attributes.<br>On the other hand, 1 is specified for <CODE>shared.arc</CODE>, so this file is set with shared attributes.</p> 132<p>A special API function is not necessary to access a shared content file from an application program.<br>In this example, the index for the shared content file is 3, so if you initialize <CODE>CNTHandle</CODE> as shown below, you can access <CODE>shared.arc</CODE> via the <CODE>CNTHandle</CODE> structure.</p> 133<table border="1" width="80%"> 134 <tbody> 135 <tr> 136 <td width="80%"> 137 <pre><code> 138CNTInitHandle(3, &CNTHandle, &MEMAllocator);</code></pre> 139 </td> 140 </tr> 141 </tbody> 142</table> 143<br> 144<h3>Installing on the Console</h3> 145<p>When installing a NAND application on a Wii system, content files with regular attributes are saved unchanged in the application region, but content files with shared attributes are saved in the system region of Wii console NAND memory, as long as an identical content file does not already exist there. If an identical content file already exists, nothing is saved.<br>Since a shared content file is not saved in the application region under any circumstances, it will not affect the storage capacity limit on the Wii console NAND memory.<br>(When using the master data creation tool "Revolution Master Editor for NANDApp," a value from which the size of shared content files has been subtracted is displayed as the application size.)</p> 146<p>If shared attributes are specified for a content file prepared by an application, or if modifications are made to an archive file provided as a shared content file by Nintendo, files outside the control of Nintendo will be saved in the system region of the Wii console NAND memory.<br>Because the size of the system region is limited, this is extremely risky because there is a possibility that it may become impossible to allocate memory for saving official shared content files due to the accumulation of such files.</p> 147<p>In order to prevent such incidents, the Revolution Master Editor For NANDApp is equipped with a function for checking whether the content files with shared attributes inside a WAD file have been approved by Nintendo. Because of this, invalid shared content files will never be saved on retail Wii consoles. However, since this does not apply to the development stage before master data is created, be very careful when specifying shared attributes for content files.</p> 148<p><font color="red">Note: Currently, the method for deleting files saved as shared content files in the system region of NDEV or other development tools has not been made public.</font></p> 149<p>In the matter of what files are included in the archive files for the various shared content files, the formats of these files, and so on, be sure to read and follow the documentation and cautions for each shared content file.</p> 150 151 152<h2>Compressing Programs</h2> 153<p> 154Support for compression of programs has been added from NADK Version 2.2. DOL files compressed using the compression tool <a href="../tools/ntcompress.html">ntcompress</a> provided with Revolution SDK are automatically expanded by the startup program. 155</p> 156 157<ul> 158<li><b>The only compression formats supported are the LZ77 compression and LZ77 extended compression formats.</b><br><br></li> 159<li><b>At time of compression, be sure to specify the <CODE>-A32</CODE> option to ensure 32-byte alignment of the file size.</b><br><br></li> 160<li>The program size restriction is applied to the size after compression.<br><br></li> 161</ul> 162 163 164<h2>CNT API</h2> 165<h3>Result Code List and Processing for NAND Applications</h3> 166<p>Returned result codes will differ because the internal processes are different for disc applications and NAND applications. In addition, fatal errors in the file system can be detected in the same manner as with the NAND API, because NAND applications use the Wii console NAND memory file system. The following is a list of result codes returned for NAND applications.</p> 167<table class="arguments" border="1" cellspacing="0"> 168 <tbody> 169 <tr> 170<td bgcolor="#C0C0C0">Return Values</td> 171<td bgcolor="#C0C0C0">Description</td> 172 </tr> 173 <tr> 174<td>CNT_RESULT_OK</td> 175<td>Function completed successfully.</td> 176 </tr> 177 <tr> 178<td>CNT_RESULT_ACCESS</td> 179<td>There are no permissions or access privileges to access content files. This code is returned when the content files for a data title have not been purchased, or access has been restricted by specifying the <CODE>-E</CODE> option to <CODE>makeWad</CODE>. 180</td> 181 </tr> 182 <tr> 183<td>CNT_RESULT_ALLOC_FAILED</td> 184<td>Allocation of FST memory from the allocator failed in <CODE>CNTInitHandle</CODE>.</td> 185 </tr> 186 <tr> 187<td>CNT_RESULT_AUTHENTICATION</td> 188<td>Data authentication failed. Indicates that the data in the Wii console NAND memory might have been altered illegally.</td> 189 </tr> 190 <tr> 191<td>CNT_RESULT_CORRUPT</td> 192<td>Wear in the FAT region has caused irreparable damage to the Wii console NAND memory.</td> 193 </tr> 194 <tr> 195<td>CNT_RESULT_ECC_CRIT</td> 196<td>Indicates that a fatal ECC error has been detected (that is, data error correction is not possible). This code might be returned when the Wii console NAND memory has severely deteriorated because the number of write and delete cycles has far exceeded the device's guaranteed performance.</td> 197 </tr> 198 <tr> 199<td>CNT_RESULT_INVALID</td> 200<td>An input parameter, or the function call itself, is invalid. This code is returned in situations such as when an incorrect argument is passed to <CODE>CNT API</CODE>, or an attempt is made to open a nonexistent file or directory.</td> 201 </tr> 202 <tr> 203<td>CNT_RESULT_MAXFD</td> 204<td>No more files can be opened because all of the file descriptor entries have been used. Since these file descriptors are common to those used by the NAND API, decrease the number of simultaneously opened NAND files and/or content files.</td> 205 </tr> 206 <tr> 207<td>CNT_RESULT_OUT_OF_MEMORY</td> 208<td>Allocation of memory within the library failed.</td> 209 </tr> 210 <tr> 211<td>CNT_RESULT_UNKNOWN</td> 212<td>Unknown error. When this code is returned, there is a high probability that there is a problem with the SDK or NADK. If possible, report the issue to Nintendo.</td> 213 </tr> 214 <tr> 215<td>CNT_RESULT_FATAL</td> 216<td>This is a program design error code.</td> 217 </tr> 218 </tbody> 219</table> 220<p> 221<br>Respond to these errors according to the following guidelines: 222</p> 223<table border="1" cellspacing="0"> 224 <tbody> 225 <tr> 226<td bgcolor="#C0C0C0">Response</td> 227<td bgcolor="#C0C0C0">Errors</td> 228 </tr> 229 <tr> 230<td>Items that applications must support</td> 231<td>CNT_RESULT_AUTHENTICATION<br>CNT_RESULT_CORRUPT<br> CNT_RESULT_ECC_CRIT</td> 232 </tr> 233 <tr> 234<td>Items that applications must support for which a bug report to Nintendo is expected (if possible)</td> 235<td>CNT_RESULT_OUT_OF_MEMORY<br>CNT_RESULT_UNKNOWN</td> 236 </tr> 237 <tr> 238<td>Must be removed at the development site or hidden from the player.</td> 239<td>CNT_RESULT_ACCESS<br>CNT_RESULT_ALLOC_FAILED<br>CNT_RESULT_INVALID<br> CNT_RESULT_MAXFD<br>CNT_RESULT_FATAL</td> 240 </tr> 241 </tbody> 242</table> 243<p> 244Perform the same process with <CODE>CNT_RESULT_OUT_OF_MEMORY</CODE> as with <CODE>NAND_RESULT_ALLOC_FAILED</CODE>.<br>Perform the same process with <CODE>CNT_RESULT_CORRUPT</CODE> as with <CODE>NAND_RESULT_CORRUPT</CODE>.<br>Perform the same process with <CODE>CNT_RESULT_UNKNOWN</CODE> as with <CODE>NAND_RESULT_UNKNOWN</CODE>. 245</p> 246 247<h3>Result Codes Used with Disc Applications</h3> 248<p> 249A fatal error for Wii console NAND memory is not returned when building a disc application, but the following drive errors may be detected while loading. The following result codes may be returned when loading files in the case of disc applications. 250</p> 251<table class="arguments" border="1" cellspacing="0"> 252 <tbody> 253 <tr> 254<td bgcolor="#C0C0C0">Return Values</td> 255<td bgcolor="#C0C0C0">Description</td> 256 </tr> 257 <tr> 258<td>CNT_RESULT_READ_ERR</td> 259<td>A fatal error occurred while loading a disc.</td> 260 </tr> 261 <tr> 262<td>CNT_RESULT_DVD_CANCELED</td> 263<td>Disc load was canceled.</td> 264 </tr> 265</tbody> 266</table> 267 268<h3>Changes to CNTRead Specifications and Backward Compatibility</h3> 269<p> 270Beginning from NADK Version 2.2, the specifications of <CODE>CNTRead</CODE> have been changed so that the behavior and calling method are the same as <CODE>NANDRead</CODE>. Points that have been changed are as follows. 271</p> 272<ul> 273<li>Specifications have changed so that after loading the files, the file access position moves by the amount of data loaded.</li> 274<li>The <CODE><STRONG><EM>offset</EM></STRONG></CODE> argument has been eliminated.</li> 275</ul> 276 277<p> 278To ensure backward compatibility after these changes to specifications, the <CODE>CNTReadWithOffset</CODE> function, which has the same behavior as the previous version of <CODE>CNTRead</CODE>, has been added.<br><br>In addition, the macro <code>CNT_READ_BACKWARD_COMPATIBLE</code> for replacing <code>CNTRead</code> with <code>CNTReadWithOffset</code> has been prepared. Applications created using versions of NADK earlier than NADK Version 2.2 can be ported to this version by defining this macro before the includes in the header file. 279</p> 280 281<h3>Reset and Shutdown Processes</h3> 282<p>The <CODE>CNTShutdown</CODE> function was added to NADK Version 1.3 onward for safe device shutdown. Be sure to always call this function before executing <a href="../os/Reset/OSShutdownSystem.html"><code>OSShutdownSystem</code></a>. 283 284<h3>Notes</h3> 285<ul> 286<li>Include the following within your <CODE>Makefile</CODE> (modified as needed to match your development environment), and link the CNT library.<br><br> 287<TABLE border="1" width="80%"> 288 <TBODY> 289 <TR> 290 <TD width="80%"> 291 <PRE><CODE> 292REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/cnt$(LIBSUFFIX)</CODE></PRE> 293 </TD> 294 </TR> 295 </TBODY> 296</TABLE> 297<br> The CNT library is not included in CodeWarrior projects by default either, so do your development after adding it to your projects as necessary. <br><br></li> 298<li>Currently, the object files for optical disc and NAND applications are placed in <CODE>obj/RVL</CODE> without being differentiated. In the future, this may be changed so that they are output to different targets.<br><br></li> 299<li>Only synchronous functions are supported. There are no plans to support asynchronous functions.<br><br></li> 300<li>Only archive files created with the archiver (<code>darchD.exe</code>) are supported for the file format of content files. See <a href="../tools/darch.html">darch</a> for details on the archiver.<br><br></li> 301<li>When using multithreads, do not share the handle among threads. Although a program can be written to guarantee that while one thread is accessing a file no other thread can access the same file, we recommend using a new <CODE>CNTHandle</CODE> structure for each new thread.<br><br></li> 302<li>The memory allocator passed to <CODE>CNTInitHandle</CODE> must be 32-byte aligned.<br><br></li> 303<li>There is no limit on the number of files that can be simultaneously open when accessing a disc. However, note that there is a limit, set by the system, on the number of files that can be simultaneously open when accessing Wii console NAND memory.<br><br></li> 304</ul> 305 306 307<h2>Debugging</h2> 308<h3>MEM2 Size Simulation</h3> 309<p>Support for MEM2 size simulations has been added from NADK version 2.0 However, the MEM2 size may not be set by a script as it is with the SDK. By default, NAND applications run with a MEM2 size of 64MB; this is done to prevent the corruption of master data. An option must be specified when starting up Nmenu to set the MEM2 size to 128 MB. See <a href="./Nmenu.html">Nmenu</a> for details on the specification method. 310</p> 311 312<h3>Debugging in CodeWarrior</h3> 313<p> 314Support for debugging NAND applications in CodeWarrior has been added from NADK version 2.0. However, NAND applications created by a NADK package before version 2.0 cannot be used. The <a href="./demo.html">Sample Demos</a> show an example of debugging a sample demo in CodeWarrior; refer to this page for more information on debugger settings.<br><br> 315</p> 316 317 318<h2>About Data Titles</h2> 319<p> 320A data title is a WAD file saved in Wii console NAND memory so that its content can be referenced by other applications. You can use NADK to develop data titles and to develop NAND applications that access data titles. 321</p> 322<p> 323<font color="red">To develop applications that make use of data titles you need to have ECDK (the E-Commerce Library), which is provided separately.</font> 324</p> 325<h3>Commonalities with NAND Applications</h3> 326<p>Data titles are handled in basically the same way as normal NAND applications.</p> 327<ul> 328<li>Their various contents are created as archives that can be used by the archive utilities (the ARC library and <CODE>darchD.exe</CODE>) in the Revolution SDK.</li> 329<li>Their WAD files are created with <CODE>makeWad.exe</CODE> (refer to <a href="tools/makeWad.html"><CODE>makeWad</CODE></a> for information on the options to specify).</li> 330<li>The content files of data titles stored in Wii console NAND memory are accessed by the CNT library.</li> 331<li>The access destination can be changed with a compile switch. Refer to the section below for information on the disc emulation of data titles.</li> 332<li>The Nmenu can be used for importing and deleting.</li> 333</ul> 334 335<h3>Differences with NAND Applications</h3> 336<p>Data titles differ from NAND applications in the following ways.</p> 337<ul> 338 <li>The game code must start with a lowercase alphabetic character.</li> 339 <li>The indices of usable content files begin at 1 because a program file is not included.</li> 340 <li>The Wii menu treats data titles as save data -- not as Channels -- so the format of the banner data and the tools used for creating this data differ from those of normal NAND applications.</li> 341 <li>When a data title is deleted from the Wii menu's Save Data Management Screen, all associated content files are deleted.</li> 342 <li><a href="CNTInitHandleTitle.html"><code>CNTInitHandleTitle</code></a> must be used to access a data title.</li> 343</ul> 344 345<h3>Disc Emulation of Data Titles</h3> 346<p> 347Just like normal NAND applications, you can use a compile switch for data titles that switches them between disc access and Wii console NAND memory access. 348</p> 349 350<p> 351For disc access, place the data in the following directory, with the game code of the data title to access filled in for <CODE>game code</CODE> and the index of the content file in <CODE>index</CODE>. 352<TABLE border="1" width="80%"> 353 <TBODY> 354 <TR> 355 <TD width="80%"> 356 <PRE><CODE> 357DvdRoot/datatitle/{game code}/content{index}/</CODE></PRE> 358 </TD> 359 </TR> 360 </TBODY> 361</TABLE> 362From the application, specify this index and the Title ID having this game code in the <a href="CNTInitHandleTitle.html"><code>CNTInitHandleTitle</code></a> function and open the data title's content file. 363</p> 364 365<p> 366Note the following points regarding data title disc access. 367<ul> 368 <li>It is not possible to configure data title access rights.</li> 369 <li>When developing disc applications that use data titles, the data for data titles during disc access is placed in the same directory as normal data. Note that this will consume the space.</li> 370</ul> 371</p> 372 373 374<h3>Notes for Development Using the ECDK</h3> 375<p>Be aware of the following points when running an application using the ECDK.</p> 376<ul> 377<li>ELF and RPF files have a game code of "<CODE>0000</CODE>" when they are run, so you must allow access from "<CODE>0000</CODE>" for these programs to access data titles.<br><br></li> 378<li> 379<b>When the ECDK connects to the server, information on the server will be synchronized with the console. </b> At this point, an error will sometimes occur if there is a discrepancy with the information on the server, such as when the local data title is imported and updated by Nmenu. This type of situation can be handled by deleting a title from Nmenu.<br><br></li> 380<li>Nmenu must use extended firmware when deleting individual content from Nmenu.<br><br></li> 381<li>It is not possible to simulate sections related to a purchased sequence in a data title imported from Nmenu. Use should be restricted to file access only, such as the loading of data titles.<br><br></li> 382</ul> 383 384 385<h2>Current Limitations and Cautions</h2> 386<ul> 387<li>Files on optical discs cannot be accessed from a NAND application.<br><br></li> 388<li>The limit on the program size of NAND applications is 9 MB. When a program has been compressed, this size limit applies to the size after compression.<br><br></li> 389<li>The <CODE>OSExecv</CODE> and <CODE>OSExecl</CODE> functions cannot be used. There are no plans to add support.<br><br></li> 390<li><a href="../os/Reset/OSSetSaveRegion.html"><CODE>OSSetSaveRegion</CODE></a> cannot be used to protect a specified region when a reset occurs. There are no plans to add support.<br><br></li> 391<li>Be aware that the index numbers for content files are successive values beginning from 2 (index 1 is used by the program file). <br><br></li> 392<li>By default, applications are generated with a game code of "<CODE>0001</CODE>" (<CODE>0x30303031</CODE>), so the application is always overwritten when importing. When you want to avoid this, use the <CODE>makeWad</CODE> options to specify a game code. <br><br></li> 393<li>There is no way to erase a shared content file once it has been imported to Wii console NAND memory. Be careful, because incorrect settings will waste space in the Wii console NAND memory.<br><br></li> 394<li><b>Use of the CNT API's disc access feature is limited to NAND application development only. Do not develop disc applications using the CNT API.</b><br><br></li> 395</ul> 396 397 398<h2>Revision History</h2> 399<p> 4002008/07/09 Added the Nmenu WAD file to the package.<br>2008/07/03 Added information on processing <CODE>CNT_RESULT_UNKNOWN</CODE>.<br>2008/06/17 Added the explanation for disc emulation of data titles. Added to the CNT API note the fact that the number of simultaneously opened files during disc access is unlimited.<br>2008/06/05 Added mention of the game version's effect on overwrite-imports in Nmenu.<br>2008/05/28 Added notes concerning data title access from programs in the ELF and RPF file format.<br>2008/05/21 Changed <B>Revision History</B> to <B>[Revision History up to NADK 2.2 Patch 3]</B> because this was integrated with the SDK.<br>2008/05/09 Added a note concerning disc applications that use the CNT library.<br>2008/04/30 Added support for accesses performed by disc emulation for data titles.<br>2008/04/22 Added a note on data title development when using the ECDK.<br>2008/03/27 Added explanations for the game version and version updates.<br> 2008/03/14 Revised the description of <CODE>CNT_RESULT_ACCESS</CODE>.<br> 2008/02/20 Moved the description of shared content files. <br> 2008/02/15 Consolidated information on data titles. Added a description of the Strap Usage Screen.<br>2008/02/13 Added a description of data titles and a link.<br>2008/01/15 Added information about changes to <CODE>CNTRead</CODE> specifications and backward compatibility. <CODE>setncountrycode</CODE> has been been integrated with <CODE>setcountrycode</CODE>.<br>2008/01/08 Added a description of compression of programs. Revised the description of <CODE>CNTShutdown</CODE>.<br>2007/12/11 Revised the description of shared content files.<br>2007/12/06 Added a note on the limit on program size. Added a link to the revision history.<br>2007/11/20 Added information about errors that may occur with disc applications. Standardized the use of the term "content file." Standardized the use of "Nmenu."<BR>2007/10/17 Added a note about <CODE>OSSetSaveRegion</CODE>.<BR>2007/09/12 Added information about the game version. Corrected typos.<br>2007/08/07 Added caution about the shared content deletion feature that is no longer being publicly disclosed.<br>2007/08/06 Added a description about master data settings. Deleted supported and corrected issues from the limitations.<br>2007/07/11 Added text noting the support for <CODE>CNT_RESULT_CORRUPT</CODE>. Added text noting that the CNT API can only handle files that are in the form of archive files.<br>2007/05/10 Added a description on debugging in CodeWarrior.<br>2007/04/26 Added guidelines for responding to result codes. Added and deleted some notes.<br>2007/03/27 Added a description about the 32-byte alignment of memory allocators.<br>2006/12/12 Corrected typos.<br>2006/12/04 Revised the list of result codes. Revised some terminology.<br>2006/10/26 Added country code and Parental Controls checks to Nmenu. Added result code descriptions.<br>2006/10/25 Added a caution regarding shared content.<br>2006/10/20 Added sections about shared content and device shutdown. Made some additions and revisions.<br>2006/09/08 Made some revisions.<br>2006/08/15 Initial version.</p> 401 402 403<hr><p>CONFIDENTIAL</p></body> 404</html> 405