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 name="GENERATOR" content="Microsoft FrontPage 5.0"> 6<META http-equiv="Content-Style-Type" content="text/css"> 7<TITLE>Restrictions on DOL Files and Boot-Related Terminology</TITLE> 8<LINK rel="stylesheet" href="../CSS/revolution.css"> 9</HEAD> 10<BODY> 11<H1>Restrictions on DOL Files and Boot-Related Terminology</H1> 12<H2>Introduction</H2> 13<P>This document briefly describes boot-related terminology for Wii disc applications and facts that developers should know.</P> 14<P>Refer to NADK descriptions for terminology related to NAND applications.</P> 15<H2>Apploader</H2> 16<P>The <CODE>apploader</CODE> module is stored on a disc to assist in booting disc applications. In the development environment, development machines use <CODE>RVL/boot/apploader.img</CODE> under the directory where Revolution SDK is installed.</P> 17<H2>DOL Files</H2> 18<P>The DOL file format is similar to the ELF file format used for the Wii. Use the <A href="../tools/makedol.html"><CODE>makedol</CODE></A> command to convert an application's ELF file into this format. This file is stored on a disc for disc applications. This file is given a <CODE>.dsf</CODE> extension, along with other system information, on the NDEV.</P> 19<H2><A name="Dol file restriction">DOL File Restriction</A></H2> 20<P>Please be aware of the following restriction for DOL files:</P> 21<H3>Address Limit</H3> 22<BLOCKQUOTE> 23<P>On a Wii console, sections (such as BSS and SBSS sections) cannot be placed at memory addresses above <CODE>0x8090_0000</CODE>. On a development console in Development mode, sections (such as BSS and SBSS sections) cannot be placed at memory addresses above <CODE>0x8120_0000</CODE>.</P> 24<P>If violated, <CODE>apploader</CODE> will generate an assertion error. To solve this problem if you violate this restriction, consult the <CODE>.map</CODE> file for the application to see which section is big. 25<OL> 26<LI>If it is a BSS or SBSS section, attempt to allocate memory dynamically instead of statically using uninitialized variables.</LI> 27<LI>If it is a DATA or SDATA section, attempt to put data on an optical disc and read it at run time.</LI> 28<LI>If it is a TEXT section, either use the <A href="../os/Rel/intro.html">Relocatable Module System</A> or attempt to divide the DOL file (see <A href="../os/Reset/OSExec.html"><code>OSExec</code></A>).</LI> 29</OL> 30</BLOCKQUOTE> 31<H2><A name="FST">FST (File Symbol Table)</A></H2> 32<P>The FST contains information for all of the files under <CODE>DVDRoot</CODE>. See the disc drive programming manual for more detail. The FST is included in a DSF file on the NDEV.</P> 33<P>The FST is placed at the highest address (24 MB, the maximum FST length) in MEM1. For "FST max length," see the next section.</P> 34<H2>FST Max Length</H2> 35<P>The maximum FST length is the buffer size in MEM1 that must be prepared for the FST. For a game that consists of only one disc, the maximum FST length can be the same as that disc's FST length. For a game that consists of multiple discs, the FST for the second disc may be longer than the FST for the first disc. If this is the case, you need to prepare a big enough area for FST so that both the first and second discs' FST can fit. This area is usually MAX(FST size for the first disc, FST size for the second disc), which is the source of the term "FST max length."</P> 36<P>The NDEV software supports creating multiple discs. Using this feature, the maximum FST length for multi-disc games will be calculated and set. For single-disc games, the disc's FST size will be the same as the maximum FST size.</P> 37<h2><a name="Bootinfo2">Bootinfo2 (BI2)</a></h2> 38<P>The 8-KB <CODE>Bootinfo2</CODE> region contains the following settings.</P> 39<UL> 40 <LI>MEM2 size to simulate (see <A href="../tools/BI2/setsmem2size.html"><CODE>setsmem2size</CODE></A>) 41</UL> 42<P>On the NDEV, <CODE>bootinfo2</CODE> is saved to a <A href="#Dsf_file">DSF file</A> after running <CODE>ndrun</CODE>.</P> 43<P>To modify settings in <CODE>bootinfo2</CODE>, use the corresponding <A href="../tools/toc.html">settings script</A>. For details on how to use these scripts, refer to each script's page in the <I>Revolution Function Reference Manual</I>.</P> 44<P>Note that you must execute <CODE>ndrun</CODE> at least once to propagate changes before creating master data.</P> 45<h2><a name="Bootinfo3">Bootinfo3 (BI3)</a></h2> 46<P>The 8-KB <CODE>Bootinfo3</CODE> region contains the following settings.</P> 47<UL> 48 <LI>Country code for disc (see <a href="../tools/BI3/setcountrycode.html"><CODE>setcountrycode</CODE></a>)<br> 49 <LI>Parental Controls settings 50</UL> 51<P><CODE>Bootinfo3</CODE> is included in the <A href="#rvl_bin"><CODE>rvl.bin</CODE> file</A>. On the NDEV, this information is saved in an <A href="#Rcf_file">RCF file</A> after running <CODE>ndrun</CODE>.</P> 52<P>To modify settings in <CODE>bootinfo3</CODE>, use the corresponding <A href="../tools/toc.html">settings script</A>. For details on how to use these scripts, refer to each script's page in the <I>Revolution Function Reference Manual</I>.</P> 53<P>Note that you must execute <CODE>ndrun</CODE> at least once to propagate changes before creating master data.</P> 54<h2><a name="rvl_bin">Revolution System File (<CODE>rvl.bin</CODE>)</a></h2> 55<P>The Revolution System File (<CODE>rvl.bin</CODE>) contains the following settings.</P> 56<UL> 57 <LI>Firmware version to use when the application is started 58 <LI>Application game code 59 <LI>Application company code 60</UL> 61<P>On the NDEV, this information is saved to an <A href="#Rcf_file">RCF file</A> after running <CODE>ndrun</CODE>.</P> 62<P>To modify these settings, use the corresponding <A href="../tools/toc.html">settings script</A>. For details on how to use these scripts, refer to each script's page in the <I>Revolution Function Reference Manual</I>.</P> 63<P>Note that you must execute <CODE>ndrun</CODE> at least once to propagate changes before creating master data.</P> 64<H2><A name="Dsf_file">DSF Files</A></H2> 65<P>A DSF file is an NDEV-specific file that contains <CODE>Bootinfo2</CODE>, DOL files, and an FST.</P> 66<H2><A name="Rcf_file">RCF Files</A></H2> 67<P>An RCF file is an NDEV-specific file that contains <CODE>Bootinfo3</CODE> and <CODE>rvl.bin</CODE>.</P> 68<H2>Revision History</H2> 69<P>2008/07/23 Revised wording.<BR>2008/07/18 Updated.<BR>2008/07/15 Initial version.</P> 70<hr><p>CONFIDENTIAL</p></body> 71</HTML>