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>&lt;title-id (Hi)&gt;</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