1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 4<LINK rel="stylesheet" type="text/css" href="../CSS/revolution.css"> 5<base target="main"> 6<title>Disc Spin-Off Channel Development Environment: Introduction</title> 7</head> 8 9<body> 10 11<h1>Disc Spin-Off Channel Development Environment: Description</h1> 12<h2>Introduction</h2> 13<p>The Revolution SDK Disc Spin-Off Channel Development Environment package is the development environment for disc spin-off channels and channel installer applications. Use this package to create applications that use a disc spin-off channel.</p> 14 15<p>A disc spin-off channel is the name for a certain kind of NAND application that is installed in the Wii console NAND memory by a disc application and, once installed, can be started from the Wii Menu. By using a disc spin-off channel, you can provide the features of an application without the need to insert the application's disc into the Wii.</p> 16 17<h2>Disc Spin-Off Channel Development Environment Package</h2> 18<H3>1. Channel Installation API</H3> 19<p> 20This API provides functions for checking whether installation is possible and for executing the installer. It is provided as part of the features of the OS. 21</p> 22 23<H3>2. Disc Application Startup API</H3> 24<p> 25This API provides functions for executing disc applications. It is provided as part of the features of the OS. A disc recognition sequence is generated when the disc application is executed, so an error-handling process needs to be implemented. With this API, you can pass arguments and <CODE>LaunchCode</CODE> to the application at startup. 26</p> 27 28<H3>3. Tools</H3> 29<p> 30In addition to the tools necessary for developing channel installer applications, tools that are designed to support the development process are also provided. 31</p> 32 33<H3>4. Sample Demos</H3> 34<p> 35Simple <a href="./demo.html">sample demos</a> have been prepared that use the Channel Installation API and the Disc Application Startup API. There is also a procedure <a href="./discnanddemo.html">here</a> that uses the demos to show an example of how to develop a simple channel installer application. 36</p> 37 38<br> 39 40<h2>The title-id of Disc Spin-Off Channels</h2> 41<p> 42A disc spin-off channel must be created as a NAND application with the same <CODE>title-id</CODE> as the disc application. When a disc spin-off channel is created, <font color="red">the value of <CODE>00010004</CODE> is assigned to <CODE><title-id (Hi)></CODE> for both the disc application and the disc spin-off channel.</font> By specifying <CODE>4</CODE> as the value of the <CODE>setpcode</CODE> argument in the disc application, the value <CODE>-pc 0x4 </CODE> is specified for the <CODE>makeWad</CODE> argument in the NAND application. 43</p> 44<br> 45 46<h2>Application DLF files</h2> 47<p>When normal disc applications are being developed, each DLF (disk layout file) file corresponds to a single application. However, when developing applications that use disc spin-off channels, you need to create one application DLF file and one installer DLF file and then use this pair of files to create the application's ultimate DLF file.</p> 48 49<p>You can develop these DLF files separately, just as long as the installed channel information is in sync.</p> 50<br> 51 52<h2>Launching the Channel Installer</h2> 53<p>Launching the channel installer with <code>OSLaunchInstaller</code> transfers all control over the application to the channel installer. After the installation sequence has completed, the channel installer reloads the application and jumps to the start of the application.</p> 54<p>If <code>OSGetResetCode</code> returns the value <code>OS_RESETCODE_INSTALLER</code> when the application starts, the process has returned from the channel installer. At this time, you can use <code>OSGetLaunchCode</code> to get the launch code that was passed when the channel installer was launched.</p> 55<p>Once the process has returned from the channel installer, use <code>OSGetReturnCode</code> to get the error information. Below is a list of the return codes that can be returned from the channel installer.<br><br>(<B>Note:</B> These codes are not returned except when <code>OSLaunchInstaller</code> has been called. If they occur at any other time, treat it as a fatal error.)</p> 56 57<table> 58 <tbody> 59 <tr> 60<td bgcolor="#C0C0C0">Return Values</td> 61<td bgcolor="#C0C0C0">Description</td> 62 </tr> 63 <tr> 64<td><CODE>OSINSTALL_RETURN_OK</CODE></td> 65<td>Ended successfully</td> 66 </tr> 67 <tr> 68<td><CODE>OSINSTALL_RETURN_INVALID</CODE></td> 69<td>Invalid argument at launch</td> 70 </tr> 71 <tr> 72<td><CODE>OSINSTALL_RETURN_INIT_FAILED</CODE></td> 73<td>Installer failed to initialize</td> 74 </tr> 75 <tr> 76<td><CODE>OSINSTALL_RETURN_NOEXISTS</CODE></td> 77<td>Could not find the data on the disc that was supposed to be installed</td> 78 </tr> 79 <tr> 80<td><CODE>OSINSTALL_RETURN_EXISTS</CODE></td> 81<td>Specified channel has already been installed</td> 82 </tr> 83 <tr> 84<td><CODE>OSINSTALL_RETURN_MAXBLOCKS</CODE></td> 85<td>No free space in system</td> 86 </tr> 87 <tr> 88<td><CODE>OSINSTALL_RETURN_MAXFILES</CODE></td> 89<td>Could not create file in system</td> 90 </tr> 91 <tr> 92<td><CODE>OSINSTALL_RETURN_MAXCHANNELS</CODE></td> 93<td>No free channels</td> 94 </tr> 95 <tr> 96<td><CODE>OSINSTALL_RETURN_IMPORT_FAILED</CODE></td> 97<td>Installation failed</td> 98 </tr> 99 <tr> 100<td><CODE>OSINSTALL_RETURN_UNKNOWN</CODE></td> 101<td>Unknown error code</td> 102 </tr> 103 <tr> 104<td><CODE>OSINSTALL_RETURN_FATAL_ERROR</CODE></td> 105<td>Error code for program design error</td> 106 </tr> 107 </tbody> 108</table> 109 110 111<h2>Current Limitations and Cautions</h2> 112<h3>Disc Spin-Off Channels</h3> 113<ul> 114<li><font color="red">Make sure that the firmware version being used for disc spin-off channels is the same as the firmware version being used by the application.</font></li> 115</ul> 116<h3>Channel Installer</h3> 117<ul> 118<li><font color="red">The channel installer does not operate correctly if the Wii Menu or version 1.14 or later of the DEVKIT system menu has never been installed. (When this is the case, <code>OSCheckInstall</code> returns -1 and ends on an error.)</font><br>Also, if you repeatedly install and delete channels while the Wii Menu is not installed, the system's channel information becomes disarranged (for example, causing <code>OSCheckInstall</code> to fail even though there are free channels). To prevent this from happening, periodically install the Wii Menu.</li> 119<li>Up to 16 channels can be installed at the same time. <font color="red">Due to guideline restrictions, a disc application can install only one disc spin-off channel.</font></li> 120<li>The channel installer does not use the version of firmware being used by the game application. Rather, <font color="red">it uses the 33 system firmware. If the 33 system firmware is not installed, the installer will fail to run.</font></li> 121</ul> 122 123<h3>Launch Restriction</h3> 124<p>Only applications with the same company code can be launched.</p> 125 126<h3>Guideline Restrictions</h3> 127<p>There are a number of guideline restrictions concerning the development of disc spin-off channels. For details, read the <I>Programming Guidelines Disc Spin-Off Channel Edition</I>.</p> 128 129<h2>Revision History</h2> 130<P> 1312009/12/21 Added precaution about the firmware used by disc spin-off channels.<br>2009/10/13 Added precaution about the firmware used by the installer.<br>2009/01/09 Deleted precautions relating to terminology.<br>2008/12/26 Revised some terminology.<br>2008/11/18 Made revisions.<br>2008/10/29 Initial version. 132</P> 133 134<hr><p>CONFIDENTIAL</p></body> 135</html> 136