How to Develop Disc Spin-Off Channels

Sample Demos Illustrating How to Develop Disc Spin-Off Channels and Channel Installer Applications

Here we use the sample demos (located below /build/demos/discnanddemo) to introduce methods of developing disc spin-off channels and channel installer applications.


Note: The creation of a single channel installer application requires the handling of multiple DLF files. Do not revise, delete, or move any of the files under DvdRoot while these DLF files are being used. Doing so results in abnormal application behavior.

1. Creating a Disc Spin-Off Channel

Create a disc spin-off channel. For this example, we use discnanddemo1.


% cd $REVOLUTION_SDK_ROOT/build/demos/discnanddemo
% make NDEBUG=TRUE NANDAPP=TRUE WAD_OPTION="-pc 0x4 -g ZZ -gc RABA"
% mkdir installdata
% cp bin/RVL/discnanddemo1.wad installdata/

Note: The disc spin-off channel must have the same game code and company code as the disc application.

Note: You must add "-pc 0x4" to the makeWad arguments when creating a disc spin-off channel.


% makeWad -n discnanddemo1 -l discnanddemo1.dol -pc 0x4 -g ZZ -gc RABA
- or -
% make discnanddemo1.wad NDEBUG=TRUE NANDAPP=TRUE WAD_OPTION="-pc 0x4 -g ZZ -gc RABA"
etc.

2. Creating the Installer DLF

To create the installer DLF, specify the dvdroot directory for the channel installer in makeinstaller.


% makeinstaller -d installdata

This process creates the following files.

3. Creating the Application DLF

Create the source in the same way that the disc application (ELF file) is normally created. When the channel is being installed, the process makes use of information about the number of system nodes and the number of inodes that are consumed by the channel application (WAD file). You need to check on this before installing the channel.


% scanWad installdata/discnanddemo1.wad

The information shown below discnanddemo2.c must be appropriately changed in accordance with what was just determined using scanWad.


static u16*    TitleNameJp = L"Disc Spin-off Channel Demo2";
static Channel InstallChannelListJp[] =
{
    { "discnanddemo1.wad", L"Disc Spin-off Channel Demo1", 0x0001000452414241, 35, 10 },
    { NULL,                NULL,                                            0,  0,  0 }
};

static u16*    TitleNameEn = L"Disc Spinoff Channel Demo 2";
static Channel InstallChannelListEn[] =
{
    { "discnanddemo1.wad", L"Disc Spinoff Channel Demo 1", 0x0001000452414241, 35, 10 },
    { NULL,                NULL,                                            0,  0,  0 }
};

You must revise the application's DDF file to match the description in installer.dlf.Revise the FSTuserEnd value of the [BB2] section as show below.

Note: The disc application must have the same game code and company code as the disc spin-off channel.

Note: Execute setpcode 4 before creating the disc application DLF.

If an ELF file has been prepared, execute ndrun(NdevRun -w) to create the DLF file. Executing this as just ndrun creates a file that can operate correctly as a normal disc application. However, the file does not include an installer, so starting the installer fails.


% make
% setinitialcode RABA
% setcompanycode ZZ
% setpcode 4
% ndrun bin/RVL/discnanddemo2D.elf

This process creates the following files.

4. Creating the Channel Installer Application DLF

From the application DLF and the installer DLF, create and run the channel installer application DLF.


% dlfmerge -d bin/RVL/discnanddemo2D.dlf,installer.dlf -o output.dlf
% ODEM -r -l output.dlf &

The following files are created.

The output.dlf file is the ultimate DLF file of the channel installer application.

5. Run

The discnanddemo2 demo is for the installation of discnanddemo1.wad.

Note: If OSCheckInstall ends on -1, the system's channel information has not been created. If this happens, install the Wii Menu.

Creating the Master Data

To create the master data, you need to use all of the pre-merge partition DLF files, not the ultimate output.dlf file.

First, convert the application DLF and the installer DLF into dev.dlf (partitioned DLF). Note: makedevpart is included in the mastering tools.


% makedevpart -d bin/RVL/discnanddemo2D.dlf
% makedevpart -d installer.dlf

The following files are created.

The dev_part files are partition images that are referenced from dev.dlf.

From the multiple application dev.dlf files, create a multi-partition disc dev.dlf and convert it into an RVM file.Use makervm (not makemaster) to convert the dev.dlf file into an RVM file.


% dlfmerge -d discnanddemo2D.dev.dlf,installer.dev.dlf -o output.dev.dlf
% makervm output.dev.dlf output.rvm

Revision History

2009/10/16 Revised some terminology.
2009/01/05 Revised some terminology.
2008/12/26 Revised some terminology.
2008/11/18 Made revisions.
2008/10/29 Initial version.


CONFIDENTIAL