3DS Development Unit Software
The following is a description of the functions what is possible with the applications unique to 3DS Development Units.
Descriptions Derived from SDK 2.3.4 except where notified otherwise. For information on 3DS Development Hardware see 
This application on the top screen displays the firmware and revision of the Dev Menu, the free space available on the TWL(DSi) NAND partition and SD card if present. It also provides information on the current file or device selected, as well as navigation instructions for the bottom screen.The bottom screen has three different windows, which are:
- Programs- From this window, applications can be loaded from the NAND, the SD card and the slot 1 card (only a select scope of applications, see below for Dev Menu revisions and their corresponding scope of applications) . This is shown in the format of "Unique Id' 'Product Code'". Installed titles can be deleted from this menu.
- Import- From this window, titles compiled in the format of a .CIA file, can be installed from the SD card. In later revisions this was renamed to SDMC.
- HIO- A tab available in later revisions of the Dev Menu. Prints 'Not found DEVMENU_ROOT'. This 'DEVMENU_ROOT' is not supposed to be on the 3DS' SDMC. (presumably a folder has to be on the NAND or loaded from a CTR Debugger's SDMC slot?)
- ExtData- From this window, the 3DS's ExtData(this includes all ExtData) can be deleted
(Note that retail 3ds games are not recognised by Developer 3DSs and the Dev Menu prints "Unknown Card" in the 'Programs' window and shows no details on top screen)
(Also note that if a 3ds executable cannot be launched from the Dev Menu due to restrictive flags in the executable, such as restrictive memory, the product ID will be coloured red as opposed to black)
|Dev Menu Revision||Title Types Accessible|
|?- 32640 - 33437||0000(NAND Only),0010,8004,8005,8011|
|37785 - 40909 -?||0000(NAND and SDMC),8004|
|?- 47586 -?||0000(NAND and SDMC),0002, 8004|
This application is a configuration menu for the 3DS, which has the following options:
- Reset Settings - Resets all settings to default.
- Hid Setting - (human interface device) Calibrates Touch-Pad and Analog stick.
- Rtc Setting - (real time clock) Sets system time.
- Lcd Setting - Sets display settings as found in the home menu as well as Flicker settings.
- User Info Setting - Allows username change and "NG NAME FLAG" to be set to true or false.
- In later versions of Config, "User Info Setting" also has :
- CountryId - Changes 3DS between installed countries.
- RegionId - Changes between the location in the selected country.
- Other Setting(branches off into other settings) -
- Sound Mode - mono/stereo/surround
- System Mode - Changes Memory Allowance.
- Prod - 64MB Memory mode (Home Menu can usually only run in this mode and most retail-looking units cannot switch out of this mode)
- Dev1 - 96MB Memory mode
- Dev2 - 80MB Memory mode
- Dev3 - 72MB Memory mode
- Dev4 - 32MB Memory mode
- All CTR Debuggers/Prototype units can change memory allowance. For Developer Test Units, the ability to change Memory Allowance, appears to be dependent on an option when buying the Test Unit. (similar to having a choice to purchase IS_Nitro's Wireless/USG options when buying an IS_Nitro from Nintendo)
- On some Test Units, it's possible to run the Home Menu outside of Prod. However, software with limited memory (such as the web browser) cannot be launched from the home menu if the home menu is outside of Prod.
- Exception handler - Selects whether to enable or disable the application's handling of exceptions that arise in the non-debug environment - enable/disable
- Break Stop - (enable/disable) - Selects whether to enable or disable stopping the application when a break is encountered in the non-debug environment. If the application is not made to stop, it quits on a break.
- Language - same options found in the Language section of System Settings but also has an "invalid" option
- Dlp Force Child Import - (enable/disable) - normally the 3ds caches downloaded "Download Play (Dlp)" applications on the nand and only re-downloads, overwriting the cached copy if the version application being requested to downloaded is higher than what is currently present on the nand. Enabling this option forces the 3ds to download and overwrite the cached copy on the nand, regardless of the version of the application being downloaded. This is of course for testing purposes.
- Debug Mode - (enable/disable) - Toggles Debug environment?
- In later versions of Config, "Other Setting" also has :
- FS Latency Emulation - Filesystem Latency, in milliseconds (0ms-2550ms). Selection is in increments of 10. (ie 0ms->10ms->20ms...)
- Coppacs Setting - Unknown (stuck on 'not restricted')
- Test Setting - Test calibration of touch pad and joystick
- Eula Setting - Allows user to change "Agree Version" namely:"ff.ff" the two symbol sets are interchangeable with combination variations from aa to 99 (default is 00.00 where the Eula is not accepted yet).
- Stereo Camera Cal for Check - Camera test (?) as options to "write strange data(excess Z-rot) and "reset to factory default".
- Gyro / Accel Cal for Check - Allows Gyro and Accelerometer to be calibrated.
- Ctr Info Setting - Changes settings to that found on the ctrsetting.txt on an SD .
Even though a Developer 3DS has a "Download Play" application visually identical to the retail 3DS application, the "Downloadplay Client" application can be installed as an alternative to the regular Download Play application. (Note: a Developer 3DS' and Retail 3DS' cannot receive download play 'children' from each-other.) This Developer application is a stripped down version of 'Download Play' which has the following options and limitations:
- It can only download 3ds download play titles
- Scraps the GUI found in the normal Download Play application(see screenshot)
- Can select from a maximum of 16 Download play 'servers'
This application is clearly used for easy testing of download play 'child' apps, without the hassle of constantly re-navigating the normal Download Play interface
This Developer application allows the users to directly modify the following from any of the three possible network setting 'slots'
- Security Mode :(the wireless encryption the network is using) OPEN/WEP 40bit/WEP 104bit/128bit/WPA TKIP/WPA2 TKIP/WPA AES/WPA2 AES
- SSID :(self-explanitory) maximum 32 characters
- KEY :(the key for the encrytion is here in plain text) the maximum length depends on encryption type
- AutoDNS :(whether the 3DS obtains the DNS automatically or not) |True-3DS obtains the DNS automatically|False-3DS uses the DNS server address provided by the user(it is possible to edit this here)|
At the bottom of the setting options there are two choices:
- Write Setting & Connect Test To AP - Applies the settings above and performs a connection test(note any settings made in system settings for this connection, which are not present in the above settings will be nullified, for example any proxy server settings)
- Remove Setting - removes all settings for this 'slot'
This 3DS Developer application allows save files and extdata to be exported and imported from an SD Card. The window has three tabs:
- User - This is where saves for 3DS applications and saves on 3DS Game Cards(not DS Game Cards) can be exported to the SD Card. Saves cannot be deleted here.
- ExtData - This is where application extdata can be deleted or exported to the SD Card for later use
- SD - This is where extdata and application saves on the SD Card can be imported to the 3DS or 3DS Game Card. Also extdata and application saves can be deleted from the SD Card
User save data is exported to sdmc:/filer/UserSaveData/YYYYMMDD(Hour)(Minute)(Second)
It creates a folder in that path and 3 files. The 2 files exported to the above path are <uniqueID>.dat and <uniqueID>_.dat while a folder named /<uniqueID>/ in that path contains <ExHeader Name>.dat
This application when loaded can change the current 'Active Menu'(being used at the moment) by editing the menu TID configuration field, allowing the user to choose between the Home Menu or the Test Menu, as the menu loaded by the NS module. With the release of SDK 1.1.0, this application was superseded by the introduction of the "Menu" choice in the Config Menu and consequently removed as a standard application.
This application is used to manage CECs (Chance Encounter Communications, AKA StreetPass hits) for any of the twelve possible applications used on the 3DS, if there are any. The application has twelve possible slots which can be filled by BOXes . The BOXes are individual applications which are permitted by the user to use CECs, such as StreetPass Mii Plaza or Nintendo 3DS Sound. And as such, the boxes in this application correspond to the applications in 'StreetPass Management', in 'System Settings' (StreetPass Management is accessible from retail 3DSs). The functions of this application:
- <Y> BOX Options - this opens up a sub menu with the following options(when hovering over Nintendo 3DS Sounds BOX - the only one I can test the app with):
- <A> Create Dummy BOXes - Creates dummy BOXes to fill any unused slots. (does not overwrite any present slots)
- <X> Delete BOXes - Deletes all of the BOXes from the slots.
- <START> CEC Filter Reset - I can only guess that it erases data collected by CEC enabled apps.
This application is used to manage BOSS (SpotPass) tasks/data for 3DS titles which utilise BOSS communications. 'Pokedex' is an application which utilizes BOSS comunications. This application also displays the 3DS's friend code, although this code is not to be confused with the 3DS's Friend Card code found in 'Friends List'. The user can browse by unique ID the 3DS titles(excluding system titles) registered to use BOSS. For each title you can view details about the downloaded 'NsData' which accompanies BOSS downloads, view the BOSS task lists (implies applications can perform more than one BOSS task). You can also view various details about each BOSS task, including:
TaskStatus : DONE? TaskExecCount : How many times the BOSS task has been executed TaskExecInterval : Period of time (in seconds) in the task is to be executed, in intervals TaskPriority : Is a number value URL : The URL to the BOSS content AP Info : NONE? TaskResultCode : Success or not HTTP_StatusCode : Self explanatory DataSize : Size of Content (in bytes) Last_Modified : Last time the BOSS content (on server) was modified StartTime : when the BOSS task was registered OptOut : Whether the user can/has opted out of BOSS communication for this task It also possible to manually execute the BOSS task from here
Stereo Camera Calibrator
The Stereo Camera Calibrator (SCC), in a nutshell, allows the user to adjust the configuration of the outer cameras in relation to each other. It can be configured automatically by positioning the 3DS a set distance away from a special chart. It can also be configured manually, by setting the rotation of each camera image and the size of the right eye camera. The 3D effect can be perceived by superimposing the right eye camera image translucently with the left eye camera image or by viewing the 3D image directly by use of the parallax barrier in the 3DS Screen.
As the name suggests this application allows the user to view models. It is supposed to be used with a CTR-Debugger, assumingly so models can be entered in the memory of the program. But the program can be used on Test Units, but the model is restricted to three coloured lines depicting the 3 dimensions (x,y,z). The model can be viewed from any angle or scale, the perspective is controlled by the circle pad and directional buttons. And of course the application utilises the 3D effect
Friend Testing Partner
The Friend Testing Partner application is used to test/monitor the 3DS's Friend List function. It allows the user to test various functions of the 3DS's out-going Friend Card, by giving the following options:
- Master Control - (RUN/STOP) (STOP is the default setting) when ‘STOP’ is selected the 3DS Friend Card uses the user’s settings/data. When ‘RUN’ is selected the 3DS Friend Card uses the dummy settings/data chosen to test from the settings bellow.
- Login/Logout - (ON/OFF) (ON is the default setting) What effect this has on the Friend Card is not known
- Playing Title - (ON/OFF) (ON is the default setting) When ‘ON’ is selected the currently used title is ignored and a dummy applications are cycled through as the ‘Playing Title’ approximately every ten seconds in its place. The dummy applications used are the applications found in Firmware version 1.0.0-0 of a retail 3DS including the ‘Nintendo Zone viewer’ app. When ‘OFF’ is selected the currently used title (which is the Friend Testing Partner app) is used as the ‘Playing Title’
- Mode Description - (ON/OFF) (ON is the default setting) When ‘ON’ is selected the Software in Use(Playing Title) is accompanied by the Date and Time found on that user’s 3DS. The Mode Description is refreshed every ten or so seconds. When ‘OFF’ is selected the date and time on the user’s 3DS is not displayed.
- Message - (ON/OFF) (ON is the default setting) When ‘ON’ is selected the message made by the user is replaced(not overwritten as it reverts back to the user’s choice when this is ‘OFF’) by the current date and time in the format “YYYYMMDD HHMMSS”, this is refreshed every ten or so seconds.
- Mii - (ON/OFF) (ON is the default setting) When 'ON' the currently used Mii is replaced with one of 4 dummy Miis and cycles them through every ten seconds with a new dummy mii. This effect can only be seen from another 3DS not the host
- Favorite Title (ON/OFF) (ON is the default setting) When 'ON' is selected, the user’s favorite title is replaced with a dummy, which is replaced every 10 or so seconds.
Also this application allows the user to monitor the whether the 3DS is online or not and whether the 3DS’s Friend Presence is online or offline. Every time a dummy setting is refreshed it is displayed on the top screen with a time stamp.
Game Coin Setter
This application is used to set the Play Coin count on the 3DS. Obviously this was created so a developer can test parts of their game in which the player can exchange earned play coins for in-game content or similar. It has a very simple interface showing the current play coin count and the adjustable option, the target coin count. These are the controls with explanation of each:
- LEFT/RIGHT - using the D-pad only to adjust the 'Target Count' to a number between 0-300.
- A - Sets the 'Current Count' (amount of play coins the system has) to the user selected 'Target Count' (the user specified amount of play coins)
- L+R+X - "Preclude today's Increment" not sure how this affects the Play Coin count.
TWL Development Tools
These are DSi/DS mode development tools repackaged into a CIA, for installing to the TWL NAND.
NINTENDO DS - WMtest
This application is a TWL(DSi) application compiled for use on the 3DS. It is an wireless test tool with its uses explained below:
- Scan Test - Scans Wireless channels 1-13(can be focused on one specific channel) for broadcasting stations. It can detect two types of broadcasting stations:
Wifi Access Points - Giving the Mac Address, Broadcasting Channel, 'c', and the SSID
DS Stations such as DS Download stations and Pokemon distributors - Giving the Mac Address, Brodcasting Channel, TGID and GGID
- ScanEx Test - and has two Scan Types. Passive which lets you individually scan channels 1-13 (only one at at time) and the DS distribution channels (1,7,13 all at once). And Active which scans all 13 channels at once. when it finds a channel it prints on the bottom screen next to 'Found' 'bssDescCount='
- MeasureChannel Test - not quite sure what this does but it for a given channel it gives a ratio(in percentage form), which it finds in its allocated test time ranging from 10ms to 1000ms. And for every interval of time which is specified, it tests and gives a ratio.
- Noise Mode - Seeks wireless channels in which to make wireless noise (This is not made very clear on the app). You can specify the:
Channel where the scanner will seek to make noise
Noise Rate, ranging from 0% to 100%
Frequency, ranging from 10ms to 50ms
Seek Mode, ranging from 1000ms to 1500ms
When the settings are chosen the top screen has two counters which display 'Noise ON count' and 'Noise OFF count' the counters are affected by the noise rate. Starting at 0% the 'Noise ON count' does not change but as the Noise rate gets closer to 100% the count moves and gets faster as Noise rate reaches 100%. For 'Noise OFF count' it is the exact opposite to the ' Noise ON count' in regards to counting.