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=utf-8">
5<meta http-equiv="Content-Style-Type" content="text/css">
6<title>HOME Menu</title>
7<style type="text/css">
8<!--
9body {
10/*
11    font-size       : 10pt;
12*/
13    font-weight     : normal;
14    color           : #000000;
15    margin          : 8px;
16}
17
18div {
19    width           : 98%;
20    white-space     : nowrap;
21}
22
23div.title {
24    text-align      : left;
25    font-weight     : bold;
26/*
27    font-size       : 16pt;
28*/
29    font-size       : 150%;
30    color           : #202020;
31    border-style    : double;
32    border-width    : 8px;
33    /* タイトルを囲む枠線の色を指定 */
34    border-color    : #CD202C;
35
36    margin          : 4px;
37    padding         : 4px;
38}
39
40h1 {
41    font-weight     : bold;
42/*
43    font-size       : 16pt;
44*/
45    font-size       : 150%;
46    border-style    : none none solid double;
47    border-width    : 0px 0px 2px 8px;
48    /* 見出しの線の色を指定 */
49    border-color    : #CD202C;
50
51    margin-left     : 2px;
52    padding-left    : 4px;
53}
54
55p {
56    margin-left     : 4px;
57}
58
59-->
60</style>
61
62</head>
63<body>
64<a name="top"></a>
65
66<div class="title">
67HOME Menu
68</div>
69
70
71<h1>Overview</h1>
72<ul>
73<li>This is the HOME Menu that runs when the Nintendo 3DS starts up. Use this to launch or exit applications and applets.</li>
74</ul>
75
76<h1>Description</h1>
77<ul>
78<li><font color=red>Banner models are only supported if they are output from <CODE>NW4C_ForBanner</CODE>, which is the NW4C environment for creation of banners. </font><br>Proprietarily output banner models do not appear on the Developer HOME Menu. A message to this effect will be displayed on the lower portion of the top screen.
79</li><br><br>
80<li>The process of entering and exiting the HOME Menu and other system applets (such as the Notifications applet) sometimes gets stuck for a long time. We're not sure how to fix the bug at this time.
81</li><br><br>
82<li>When a CTR card, DS/DSi card, or SD Card is slowly inserted or quickly removed and reinserted, sometimes the application icons do not appear correctly in the HOME Menu. However, this is not a bug; it is part of the specification.
83</li>
84</ul>
85
86<h1>How to Use the Debugging Features</h1>
87<ul>
88<li>By pressing the X and Y Buttons at the same time, you can display bars used to measure banner processing. The length of the bar at the top represents how much, at 100%, can be processed in a single frame (for comparison); the second bar from the top indicates CPU processing; and the third bar from the top indicates GPU processing. A green bar indicates processing of less than 75%, a yellow bar indicates processing between 75 and 80%, and a red bar indicates processing greater than 80%.<br> Modify your application's banner so that these processing bars are green or yellow. Fix your banner if the processing bars are red. (<B>Note:</B> See <CODE>$CTR_SDK\documents\tools\ctr_BannerModelConverter.html</CODE> for details)
89</li><br><br>
90<li>By pressing the X Button and Y Button at the same time, you can display the HOME Menu's region, language, creation date/time, and revision information. <br>  This information is very helpful to Nintendo when it is provided along with any questions that you may have.
91</li><br><br>
92<li>While the processing-load bars are displayed, press the X Button and the B Button at the same time and reinsert the game card to cycle through the regions and languages displayed for the title name (two-line and one-line display) and the banner model.<br> With this feature, you are only changing the display, and the operation remains in the original region and language.<br> You can use this feature when creating banners to check model data and title names.<br> (When you check title names, choose to display the icons lined up a single row.)
93</li><br><br>
94<li>To delete the icon database and icon cache, start the HOME Menu while holding down the X Button and Y Button.</li><br>
95<ul>
96<li>The icon database is a NAND database on the system that stores the icons of applications that have been run. The Activity Log displays the icons stored in this database. Once an icon has been stored here, however, the database will not be updated if the application is started again with a different icon, unless the <CODE>TitleInfo</CODE> (combination of category and UniqueID) and version specified for the application by <CODE>makerom</CODE> have changed.<BR> If you change the icon and want to check it, you must delete the icon database.
97</li>
98<li>The icon cache is a repository of application icon data stored on the SD Card so that icons on the HOME Menu load faster. Once an icon has been stored here, however, the icon cache will not be updated if the application icon changes, unless the application's <CODE>TitleInfo</CODE> and version have changed. If you change the icon and want to check it, you must delete the icon cache.
99</li>
100</ul><br>
101<li>The China market HOME Menu (and only this one) has a feature for pausing the animation when the application starts, mainly for confirming data like ISBN numbers. <br>  If you simultaneously press the Y Button and B Button and start the application, the text &quot;<B>ISBN check mode.</B>&quot; displays in the upper-left part of the upper screen but the startup animation does not stop unless you press some other button.
102</li>
103</ul>
104
105<h1><a name="debugger">Using the Debugger</a></h1>
106It is possible to debug an application from the <CODE>HomeMenu</CODE> environment, but <font color=red>you must follow the steps below.</font><br> <br>
107<ol>
108<li>With the HOME Menu installed on a PARTNER-CTR Debugger, load the target application into emulation memory and reset.</li>
109<li>Run the target application from the HOME Menu.</li>
110<li>Execute the <CODE>attacha</CODE> command from the debugger software's command window.</li>
111<li>When the target application stops, load the debug information by entering <CODE>ls <I>&lt;target application&gt;</I>.axf</CODE> in the debugger software's command window.</li>
112<li>When you resume running the application after the above procedure, you can debug its source code in a similar way as when running it from TestMenu.</li>
113<br><br>
114</ol>
115
116<h1>Other</h1>
117<ul>
118<li>You can use the debugger's card emulation feature to launch CCI-formatted ROM as CTR card applications from the HOME Menu, and confirm banners.
119</li><br><br>
120<ol>
121<li>Use the debugger's <CODE>rdc</CODE> command to load the CCI file into emulation memory<br> <CODE>rdc ***.cci</CODE>
122</li>
123<li>Reset the debugger using the debugger's <CODE>reset</CODE> command.</li>
124</ol>
125<br>
126<li>If you do not set <CODE>BasicInfo</CODE> in the RSF file when you run <CODE>makerom</CODE>, you will be unable to launch applications from the HOME Menu. For more details on these settings, see the <CODE>ctr_makerom</CODE> section in the documentation included in the CTR-SDK.
127</li><br><br>
128<li>The system will stop and the 3DS logo screen will appear if an application is started from the HOME Menu and the <CODE>nn::applet::Enable</CODE> function has not been called. Note that the <CODE>nn::applet::Enable</CODE> function is not called in some of the sample demos.</li><br><br>
129<li>Features that cause the application to exit, such as a jump to the System Settings, are not available when attached to the debugger. When verifying this feature, either do not attach to the debugger, or run it on development hardware.</li><br><br>
130<li>From SystemUpdater 0.17.6 on, we added a feature that automatically returns you to the HOME Menu when applications or system applets end abnormally. <br><br><img src="img/FreezeFlow.jpg" alt="FreezeFlow"> <br><br> Applications/applets end abnormally in situations such as when the <CODE>NN_PANIC</CODE> macro is used or when access to a NULL pointer occurs. <br> However, if &quot;Break Stop&quot; is enabled in Config, you will not be automatically returned if the application is handling exceptions on a proprietary basis. Furthermore, the automatic return feature cannot be used in all situations.
131</li>
132</ul>
133
134<h1>Revision History</h1>
135<dl class="history">
136<dt>2012/07/13</dt>
137<dd>Removed from the description the note about the memory leak that occurs when textures that are referenced from multiple materials are switched in contextual banners.</dd>
138<dt>2012/05/23</dt>
139<dd>Added a note to <B>How to Use the Debugging Features</B> about the feature that pauses the application startup animation.</dd>
140<dt>2012/04/24</dt>
141<dd>Added a note in <B>Description</B> about a contextual banner bug.</dd>
142<dd>Added a description in <B>Other</B> about the behavior when an application/system applet ends abnormally.</dd>
143<dt>2011/11/18</dt>
144<dd>Deleted sentences from <B>Description</B> about slow application startup times and rare problems with execution halting.</dd>
145<dt>2011/10/19</dt>
146<dd>Added information specific to limitations when using the debugger.</dd>
147<dt>2011/10/07</dt>
148<dd>Added information about inserting and removing SD Cards to the description.</dd>
149<dt>2011/09/02</dt>
150<dd>Added &quot;Using the Debugger.&quot;</dd>
151<dt>2011/08/26</dt>
152<dd>Initial version.</dd>
153</dl>
154
155<hr><p>CONFIDENTIAL</p></body>
156</html>