Home Menu
The Home Menu is the heart of the Nintendo 3DS. From there one can start games, applications, and access various processes including the friends list. It is launched by NS, and is always running in the background in 3DS-mode except when other programID-high 00040030 applications like Internet Browser, Friend-List, etc are running. Home Menu is still running while System Settings is running, however the System Settings application does not allow directly returning to home-menu. The system will normally re-launch Home Menu when the Home Menu process crashes/terminates. When this re-launch occurs while Home Menu is active, Home Menu displays an error message which says to manually reboot the system.
System Versions
The system version displayed by System Settings is stored in CVer and NVer. Gamecard system updates do not update the NVer title since the gamecard System Update CFA does not contain the NVer title. Therefore, the "-<revision>" portion of the system version displayed by System Settings does not change when updating via gamecard.
When first released, the gamecard System Update CFA contains the system update available at the time the NCSD image was finalized for that gamecard. However after release, the gamecard System Update CFA stored in the NCSD for newly manufactured gamecards may be updated once new system updates are available.
Version | Title version | Release date | Changelog | CDN Availability | CDN Post Date |
---|---|---|---|---|---|
1.0.0-0 | 0 | February 26, 2011 | Shipped with 3DS on launch | Available | February 18, 2011 |
1.1.0-X | N/A | N/A | Update from some game cards | Unavailable | N/A |
1.1.0-1 | 0 | February ?, 2011 | General bug fixes
Added 3D Video title to menu. ("For a Limited Time Only") |
Available | March 1, 2011 |
2.1.0-X | N/A | N/A | Found as an update on some game cards. This update appears to build on 2.0.0-2 as if it is used to upgrade a 3DS from 1.1.0-1 all of the features introduced in 2.0.0-2 are not present. With this update the Internet Browser is stubbed, and the E-Shop is not present and the Demonstration Video is still present. However the revised Home Menu, DSiWare Management and other features found in update 2.0.0-2 are present in this update. | N/A | N/A |
2.0.0-2 | 1029 | June 6/7, 2011 | eShop added, web browser available, System Transfer added. Full DSiWare data management available. Automatic downloading for system updates added. | Available | June 6, 2011 |
2.1.0-3 | 2049 | June 15, 2011 | Fixes the Ridge Racer freeze. | Available | June 15, 2011 |
2.1.0-4 | 2049 | July 25, 2011 | System stability improvements and other adjustments. | Available | July 25, 2011 |
2.2.0-X | ? | November 6, 2011 | Improve the arrangement of Friend List. Update from some game cards such as Mario 3D Land(JPN). | Unavailable | ? |
3.0.0-5 | 4111 | December 7, 2011 | Added 3D video recording to the camera title, updated Mii Streetpass Plaza, System Transfer between 3DS systems available, improved eShop, home menu QR code scanning with QR codes containing URLs. Nintendo Zone is now always accessible, 3D video streaming support was added to NZone. This added support for running GBA VC titles via AGB_FIRM as well, support for GBA VC titles was also added to NATIVE_FIRM. | Available | December 7, 2011 |
3.0.0-6 | 4111 | December 21, 2011 | Only StreetPass Mii Plaza and the NVer title were updated. From Nintendo's release notes: "System stability improvements and other adjustments". | Available | December 21, 2011 |
4.0.0-7 | 5131 | April 24, 2012 | Add folders to Home Menu, game patching added, buy more expensive games than 1000 yen in JPN. System titles for CHN, TWN, and KOR became available. | Available | April 24, 2012 |
4.1.0-8 | 5131 | May 14, 2012 | From changelog: "improvements to overall system stability and other minor adjustments". Once updated to 4.1.0-8, the parental-controls PIN is no longer required for future system updates. | Available | May 14, 2012 |
4.2.0-9 | 6146 | June 26, 2012 | Improved eShop safety for entering credit-card info, and behind the scenes improvements. Stored CC info will be deleted by this updated eShop, and can be re-entered again. | Available | June 26, 2012 |
4.3.0-10 | 6146 | July 24, 2012 | Updated eShop, bad word list and NZone hotspot list updated. | Available | July 24, 2012 |
4.4.0-10 | 6146 | September 19, 2012 | NZone hotspot list updated and TWL_FIRM updated for blocking flash cards. | Available | September 19, 2012 |
4.4.0-10 | 6146 | October 17, 2012 | China-only, the *only* updated title was System Settings. This title was updated to a version already available in TWN/KOR. | Available | October 17, 2012 |
4.5.0-10 | 6146 | December 4, 2012 | Flash-card block via updated TWL_FIRM and whitelist. NZone hotspot list updated as well. | Available | December 4, 2012 |
5.0.0-11 | 7172 | March 25, 2013 | Many system titles including NATIVE_FIRM were updated, multiple vulnerabilities were fixed as well. | Available | March 25, 2013 |
5.1.0-11 | 7172 | April 4, 2013 | NATIVE_FIRM and NS were updated. According to the official change-log: "Resolves an issue that may prevent access to the System Settings or other features." | Available | April 4, 2013 |
6.0.0-11 | 8198 | June 17, 2013 | Official change-log: "Users can now back up save data for downloadable versions of Nintendo 3DS software and most Virtual Console games". For EUR/JPN, the StreetPass Mii Plaza application and the Nintendo 3DS Camera application were updated. Other titles for all regions were updated as well. | Available | June 17, 2013 |
6.1.0-11 | 8198 | June 27, 2013 | Official change-log: "Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience." | Available | June 27, 2013 |
6.1.0-12U | 8198 | July 11, 2013 | This USA-only update added the updated applications which were first released with the non-USA 6.0.0-11 update. | Available | July 11, 2013 |
6.2.0-12 | 8198 | August 6, 2013 | This update added support for the StreetPass relay feature, updated TWL_FIRM, and updated the Nintendo Zone hotspots list. | Available | August 6, 2013 |
6.3.0-12 | 8198 | September 13, 2013 | See this. | Available | September 13, 2013 |
Auto-Boot Kiosk Function
The system checks the game's banner to determine whether the gamecard can be auto-booted. When the Home Menu is initially loaded by NS, it checks Slot-1 for a Kiosk Demo cartridge. If one is found, it will load the application on the cartridge and the home menu will not remain running in the background, or at least not in an operational state. Kiosk demos up to (but not including) New Super Mario Bros 2, utilised a combination, of blocking the functionality of the 'Home' button and kiosk auto-boot to enforce a "kiosk environment". Pressing the power button in this environment caused a shutdown, and the home menu is inaccessible. However if the home menu is fully initialised and then one of these kiosk demos is launched, the environment is the same as if it was auto-booted, except, pressing the power button brings the user to the 'Grey sleep page' instead of shutting down.
From the New Super Mario Bros 2 demo and onwards, a new kiosk environment was introduced. The 3DS will auto-boot the card like before. However, both 'Home', and 'Power' buttons will cause a shutdown when pressed, and the kiosk demo will automatically quit after a set period of time of inactivity causing a shutdown. If the home menu is fully initialised and then the kiosk demo is loaded, the 'Home' and 'Power' act as they would with a normal retail game (the home menu is accessible). But the game will still quit after a set period of time of inactivity, but will instead quit to the home menu.
Attempting to launch kiosk demos on a 3DS which doesn't have the same region encoding, will result in the 3DS will printing "An Error has Occurred" when attempting to auto-boot a such kiosk demo. And not showing the application on the home menu (the latter also happens with regular retail games).
Auto-boot cartridges, can bypass some of the functions of the Home Menu. Auto Booted software:
- Does show usage history in the activity log
- Bypasses Parental controls
- Bypasses Forced Game Card Updates
- Bypasses Initial 3DS Setup
- The console does not have a friends list presence.
Region Lockout
One of the Home Menu's functions, is to regulate region lockout. The region lockout data for any given title is held in the ICN data. There are 6 regions of which have their own region lockout, Japan, USA, Europe(including Nintendo Australia), China, Taiwan and Korea. There is also a value which makes a title exempt from region lockout, and consequently accessible from any region of 3DS.
Effects of Region Lockout
Every 3DS title regardless of location (NAND/SD Card/Game Card) is subject to region lockout scrutiny by the Home Menu. And the home menu treats 'out-of-region' titles by simply refusing to show them on the home menu. No messages are shown on the home menu to notify the user, the title is simply ignored. However out-of-region SD Card titles, will appear and quickly disappear, while all the SD Titles are being processed. In cases where access to the home menu GUI is not needed to launch the title (like in the case of kiosk demos), the home menu states an error has occurred, and launching of the title is stopped.
Home-menu uses two domains with HTTPS for SpotPass. SpotPass stores this content in Home-menu's NAND shared extdata.
- The system notifications are downloaded from: https://a248.e.akamai.net/f/248/103046/10m/npdl.c.app.nintendowifi.net/p01/nsa/<regionID>/<filename>/<langcode>/<filename> Where langcode is the two-character language codes from config, and regionID is from the below table. <filename> is bashoX/sysmsgX where X is 0-3.
- https://pls.c.shop.nintendowifi.net/pl/upload This URL is used for uploading data from the home menu NAND shared extdata, it's unknown what this is used for. This data is uploaded every 24 hours.
- https://npul.c.app.nintendowifi.net/p01/recv/<regionID>/<filename> This is used for uploading unknown data from extdata. <filename> can be "phu", "tiu", "splu", or "sendmgn".
Region | ID |
---|---|
JPN | gWr4JXxb2mKTG3lq |
NA | uuI82221UKkqmtbp |
EUR / Others | UrXSeurnxhPrq7AS |
The SpotPass content payload for notifications begin with a header, followed by an icon and the UTF-16 text, and various metadata.
Automatic System Update Download
See Automatic System Update Download.
Home Menu Error Messages
Dialog Text | Description |
---|---|
"An error has occured. Please save your data ... then restart the system" | This dialog is displayed when a system process(including Home Menu) crashes/terminates. This dialog is also displayed for system errors as well. |
SD ExtData
The SD ExtData File System for Home Menu is as follows:
root ├── icon ├── boss └── user ├── SaveData.dat ├── Cache.dat └── CacheD.dat
File | Details | Size | FW Introduced | Plaintext |
---|---|---|---|---|
icon | Stubbed. Always image 00000002. | 0x4 Bytes | n/a | |
SaveData.dat | Always image 00000003. | 0x2cb0 Bytes | 1.0.0-0 | |
Cache.dat | Indexes and records details for the cached icon data. Always image 00000004. | 0x1688 Bytes | 1.0.0-0 | Download |
CacheD.dat | Cached icon data for Home Menu. Always image 00000005. | 0x4cfe00 Bytes | 1.0.0-0 | Download |
Cache.dat & CacheD.dat
These two files work in tandem to allow the home menu to cache icon data for applications which are presented on the Home Menu. The size of both files suggests a maximum cache size of 360 icons. Cache.dat stores details about the cache icon data, and CacheD.dat stores the icon data. The icon cache stores icon data for *all* applications shown on the Home Menu, this includes DSi NAND Titles, and DS(i) cartridges. The format of cached DS(i) icon data is not understood, but they are the same size as 3DS icon data (0x36c0).
In Cache.dat the first 8 bytes are reserved, then follows each icon slots's entry in the format:
OFFSET | SIZE | DESCRIPTION |
---|---|---|
0x0 | 8 | Title ID in Little Endian |
0x8 | 4 | Unknown |
0xc | 4 | Unknown |
All unused entries have the Title IDs filled with "0xff".
In CacheD.dat, the icon data is concatenated together, with the first icon at offset 0x0.