<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.3dbrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vgturtle127</id>
	<title>3dbrew - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.3dbrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vgturtle127"/>
	<link rel="alternate" type="text/html" href="https://www.3dbrew.org/wiki/Special:Contributions/Vgturtle127"/>
	<updated>2026-04-04T17:29:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=3DS_Development_Unit_Software&amp;diff=11523</id>
		<title>3DS Development Unit Software</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=3DS_Development_Unit_Software&amp;diff=11523"/>
		<updated>2015-01-27T08:06:27Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: /* Added info about the Coin Setter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is a description of the functions what is possible with the applications unique to 3DS Development Units.&lt;br /&gt;
&lt;br /&gt;
Descriptions Derived from SDK 2.3.4 except where notified otherwise. For information on 3DS Development Hardware see [http://gbatemp.net/topic/327858-3ds-development-hardware/]&lt;br /&gt;
[[File:CTR_HMN_DEV.png|300px|thumb|right|Beautifully clear picture of the Dev Apps + Home Menu. Click to view in great quality. - Xcution]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dev Menu == &lt;br /&gt;
[[File:Devmenuicon.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Devmenscnsht.jpg|250px|thumb|right|Dev Menu Screenshots]]&lt;br /&gt;
[[File:Old_Dev_Menu.png|200px|thumb|left|Old Dev Menu Screenshot]]&lt;br /&gt;
This application on the top screen displays the firmware and revision of the Dev Menu, the free space available on the [[Flash Filesystem#TWL partition|TWL(DSi) NAND partition]] and [[SD Filesystem|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:&lt;br /&gt;
&lt;br /&gt;
*Programs- From this window, applications can be loaded from the [[Flash Filesystem|NAND]], the [[SD Filesystem|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 &amp;quot;Unique Id&#039;   &#039;[[Serials#Product Code|Product Code]]&#039;&amp;quot;. Installed titles can be deleted from this menu.&lt;br /&gt;
&lt;br /&gt;
*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 &#039;&#039;SDMC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*HIO- A tab available in later revisions of the Dev Menu. Used for installing CIAs stored on the host PC, this is supported by hio services, and hio daemon on the host PC.&lt;br /&gt;
&lt;br /&gt;
*ExtData- From this window, the 3DS&#039;s [[Extdata|ExtData]](this includes all ExtData) can be deleted&lt;br /&gt;
&lt;br /&gt;
(Note that retail 3ds games are not recognised by Developer 3DSs and the Dev Menu prints &amp;quot;Unknown Card&amp;quot; in the &#039;Programs&#039; window and shows no details on top screen)&lt;br /&gt;
&lt;br /&gt;
(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)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  SDK Version&lt;br /&gt;
!  Titles Accessible&lt;br /&gt;
|-&lt;br /&gt;
|  0.9.2 - 0.13.2&lt;br /&gt;
|  Applications(NAND), System Applications , TWL Titles&lt;br /&gt;
|- &lt;br /&gt;
|  0.14.0 - 1.1.0&lt;br /&gt;
|  Dev NAND Applications, System Applications , TWL Titles&lt;br /&gt;
|- &lt;br /&gt;
|  1.2.0 - 2.0.0&lt;br /&gt;
|  Dev NAND Applications, DSiWare&lt;br /&gt;
|-&lt;br /&gt;
|  2.1.0 - 2.4.0&lt;br /&gt;
|  Applications(SD), Dev NAND Applications, DSiWare&lt;br /&gt;
|-&lt;br /&gt;
|  3.0.0 - 3.1.0&lt;br /&gt;
|  Applications(SD), Dev NAND Applications, Demos, DSiWare&lt;br /&gt;
|-&lt;br /&gt;
|  3.2.0&lt;br /&gt;
|  Applications(SD), Dev NAND Applications, Demos, DSiWare, WebBrowser&lt;br /&gt;
|-&lt;br /&gt;
|  3.3.0 - Recent&lt;br /&gt;
|  Applications(SD), Dev NAND Applications, Demos, DSiWare, WebBrowser, TwlNandFiler &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Config == &lt;br /&gt;
[[File:Configicon.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:3DS_dev_configmenu.JPG|250px|thumb|right|Config Menu Screenshot]]&lt;br /&gt;
This application is a configuration menu for the 3DS, which has the following options:&lt;br /&gt;
&lt;br /&gt;
*Reset Settings - Resets all settings to default.&lt;br /&gt;
&lt;br /&gt;
*Hid Setting - (human interface device) Calibrates Touch-Pad and Analog stick.&lt;br /&gt;
&lt;br /&gt;
*Rtc Setting - (real time clock) Sets system time.&lt;br /&gt;
&lt;br /&gt;
*Lcd Setting - Sets display settings as found in the home menu as well as Flicker settings.&lt;br /&gt;
&lt;br /&gt;
*User Info Setting - Allows username change and &amp;quot;NG NAME FLAG&amp;quot; to be set to true or false.&lt;br /&gt;
&lt;br /&gt;
:In later versions of Config, &amp;quot;User Info Setting&amp;quot; also has :&lt;br /&gt;
::*CountryId - Changes 3DS between installed countries.&lt;br /&gt;
::*RegionId - Changes between the location in the selected country.&lt;br /&gt;
&lt;br /&gt;
*Other Setting(branches off into other settings) - &lt;br /&gt;
:*Sound Mode - mono/stereo/surround&lt;br /&gt;
&lt;br /&gt;
:*System Mode - Changes Memory Allowance.&lt;br /&gt;
::*Prod - 64MB Memory mode ([[Home Menu]] can usually only run in this mode and &#039;&#039;most&#039;&#039; retail-looking units cannot switch out of this mode)&lt;br /&gt;
::*Dev1 - 96MB Memory mode&lt;br /&gt;
::*Dev2 - 80MB Memory mode&lt;br /&gt;
::*Dev3 - 72MB Memory mode&lt;br /&gt;
::*Dev4 - 32MB Memory mode&lt;br /&gt;
::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&#039;s Wireless/USG options when buying an IS_Nitro from Nintendo)&lt;br /&gt;
::On some Test Units, it&#039;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.&lt;br /&gt;
&lt;br /&gt;
:*Exception handler - Selects whether to enable or disable the application&#039;s handling of exceptions that arise in the non-debug environment - enable/disable &lt;br /&gt;
&lt;br /&gt;
:*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.&lt;br /&gt;
&lt;br /&gt;
:*Menu - (Home Menu/Test Menu) This function edits the [[Config_Savegame|configuration]] field containing the menu TID for dev units, allowing the user to choose between the [[Home Menu]] or the [[3DS Development Unit GUI#Test Menu|Test Menu]], as the menu loaded by the [[NS]] module.&lt;br /&gt;
&lt;br /&gt;
:*Language - same options found in the Language section of [[System Settings]] but also has an &amp;quot;invalid&amp;quot; option&lt;br /&gt;
&lt;br /&gt;
:*Dlp Force Child Import - (enable/disable) - normally the 3ds caches downloaded &amp;quot;Download Play (Dlp)&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
:*Debug Mode - (enable/disable) - Toggles Debug environment?&lt;br /&gt;
&lt;br /&gt;
:In later versions of Config, &amp;quot;Other Setting&amp;quot; also has :&lt;br /&gt;
::*FS Latency Emulation - Filesystem Latency, in milliseconds (0ms-2550ms). Selection is in increments of 10. (ie 0ms-&amp;gt;10ms-&amp;gt;20ms...)&lt;br /&gt;
::*Coppacs Setting - Unknown (stuck on &#039;not restricted&#039;)&lt;br /&gt;
&lt;br /&gt;
*Test Setting - Test calibration of touch pad and joystick&lt;br /&gt;
       &lt;br /&gt;
*Eula Setting - Allows user to change &amp;quot;Agree Version&amp;quot; namely:&amp;quot;ff.ff&amp;quot; the two symbol sets are interchangeable with combination variations from aa to 99 (default is 00.00 where the Eula is not accepted yet).&lt;br /&gt;
       &lt;br /&gt;
*Stereo Camera Cal for Check - Camera test (?) as options to &amp;quot;write strange data(excess Z-rot) and &amp;quot;reset to factory default&amp;quot;.&lt;br /&gt;
       &lt;br /&gt;
*Gyro / Accel Cal for Check - Allows Gyro and Accelerometer to be calibrated.&lt;br /&gt;
       &lt;br /&gt;
*Ctr Info Setting - Changes settings to that found on the ctrsetting.txt on an SD .&lt;br /&gt;
&lt;br /&gt;
== Downloadplay Client ==&lt;br /&gt;
[[File:Dlpcliscnsht.jpg|250px|thumb|right|Downloadplay Client Screenshots]]&lt;br /&gt;
[[File:Dlpcliicon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Even though a Developer 3DS has a &amp;quot;Download Play&amp;quot; application visually identical to the retail 3DS [[Download Play|application]], the &amp;quot;Downloadplay Client&amp;quot; application can be installed as an alternative to the regular Download Play application. (Note: a Developer 3DS&#039; and Retail 3DS&#039; cannot receive download play &#039;children&#039; from each-other.) This Developer application is a stripped down version of &#039;Download Play&#039; which has the following options and limitations:&lt;br /&gt;
&lt;br /&gt;
*It can only download 3ds download play titles&lt;br /&gt;
&lt;br /&gt;
*Scraps the GUI found in the normal Download Play application(see screenshot)&lt;br /&gt;
&lt;br /&gt;
*Can select from a maximum of 16 Download play &#039;servers&#039;&lt;br /&gt;
&lt;br /&gt;
This application is clearly used for easy testing of download play &#039;child&#039; apps, without the hassle of constantly re-navigating the normal Download Play interface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Network Settings ==&lt;br /&gt;
[[File:Netsetscnsht.jpg|250px|thumb|right|Network Settings Screenshots]]&lt;br /&gt;
[[File:Netseticon.png]]&lt;br /&gt;
&lt;br /&gt;
This Developer application allows the users to directly modify the following from any of the three possible network setting &#039;slots&#039;&lt;br /&gt;
&lt;br /&gt;
*Security Mode :(the wireless encryption the network is using) OPEN/WEP 40bit/WEP 104bit/128bit/WPA TKIP/WPA2 TKIP/WPA AES/WPA2 AES&lt;br /&gt;
&lt;br /&gt;
*SSID :(self-explanitory) maximum 32 characters&lt;br /&gt;
&lt;br /&gt;
*KEY :(the key for the encrytion is here in plain text) the maximum length depends on encryption type&lt;br /&gt;
&lt;br /&gt;
*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)|&lt;br /&gt;
&lt;br /&gt;
At the bottom of the setting options there are two choices:&lt;br /&gt;
&lt;br /&gt;
*Write Setting &amp;amp; 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)&lt;br /&gt;
&lt;br /&gt;
*Remove Setting - removes all settings for this &#039;slot&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SaveDataFiler ==&lt;br /&gt;
[[File:Saveflscnsht.jpg|250px|thumb|right|SaveDataFiler Screenshots]]&lt;br /&gt;
[[File:Saveflicon.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This 3DS Developer application allows save files and extdata to be exported and imported from an SD Card. The window has three tabs:&lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
*ExtData - This is where application extdata can be deleted or exported to the SD Card for later use&lt;br /&gt;
&lt;br /&gt;
*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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
User save data is exported to sdmc:/filer/UserSaveData/YYYYMMDD(Hour)(Minute)(Second)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It creates a folder in that path and 3 files. The 2 files exported to the above path are &amp;lt;uniqueID&amp;gt;.dat and &amp;lt;uniqueID&amp;gt;_.dat while a folder named /&amp;lt;uniqueID&amp;gt;/ in that path contains &amp;lt;ExHeader Name&amp;gt;.dat&lt;br /&gt;
&lt;br /&gt;
== CTR MenuSelector ==&lt;br /&gt;
[[File:MenuSelector.png|120px|thumb|right|Menu Selector Screenshot]]&lt;br /&gt;
[[File:Menuselectoricon.jpg]]&lt;br /&gt;
&lt;br /&gt;
This application when loaded can change the current &#039;Active Menu&#039;(being used at the moment) by editing the menu TID [[Config_Savegame|configuration]] field, allowing the user to choose between the [[Home Menu]] or the [[3DS Development Unit GUI#Test Menu|Test Menu]], as the menu loaded by the [[NS]] module. &lt;br /&gt;
With the release of SDK 1.1.0, this application was superseded by the introduction of the &amp;quot;Menu&amp;quot; choice in the [[3DS Development Unit Software#Config|Config Menu]] and consequently removed as a standard application.&lt;br /&gt;
&lt;br /&gt;
== CecLotcheckTool ==&lt;br /&gt;
[[File:Ceclotscnsht.jpg|250px|thumb|right|CecLotcheckTool Screenshot]]&lt;br /&gt;
[[File:Cecloticon.png]]&lt;br /&gt;
&lt;br /&gt;
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 &#039;StreetPass Management&#039;, in &#039;System Settings&#039; (StreetPass Management is accessible from retail 3DSs). The functions of this application:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;Y&amp;gt; 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):&lt;br /&gt;
&lt;br /&gt;
*Box Info - Gives the Out-Box parameters [[File:Boxinf.jpg|250px|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Message Info (OUT-BOX) - Gives the Message Parameters For the current BOX [[File:Mesinf.jpg|250px|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Dummy Message Settings - Not quite sure what the options do here [[File:Dummesinf.jpg|250px|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;A&amp;gt; Create Dummy BOXes - Creates dummy BOXes to fill any unused slots. (does not overwrite any present slots)&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;X&amp;gt; Delete BOXes - Deletes all of the BOXes from the slots.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;START&amp;gt; CEC Filter Reset - I can only guess that it erases data collected by CEC enabled apps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BossLotCheckTool ==&lt;br /&gt;
[[File:Bosslcscnsht.png|100px|thumb|right|BossLotCheckTool Screenshot]]&lt;br /&gt;
[[File:Bosslcicon.png]]&lt;br /&gt;
&lt;br /&gt;
This application is used to manage BOSS (SpotPass) tasks/data for 3DS titles which utilise BOSS communications. &#039;Pokedex&#039; is an application which utilizes BOSS comunications. This application also displays the 3DS&#039;s friend code, although this code is not to be confused with the 3DS&#039;s Friend Card code found in &#039;Friends List&#039;. 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 &#039;NsData&#039; 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:&lt;br /&gt;
&lt;br /&gt;
 TaskStatus : DONE?&lt;br /&gt;
 TaskExecCount : How many times the BOSS task has been executed&lt;br /&gt;
 TaskExecInterval : Period of time (in seconds) in the task is to be executed, in intervals&lt;br /&gt;
 TaskPriority : Is a number value &lt;br /&gt;
 URL : The URL to the BOSS content&lt;br /&gt;
 AP Info : NONE?&lt;br /&gt;
 TaskResultCode : Success or not&lt;br /&gt;
 HTTP_StatusCode : Self explanatory &lt;br /&gt;
 DataSize : Size of Content (in bytes)&lt;br /&gt;
 Last_Modified : Last time the BOSS content (on server) was modified&lt;br /&gt;
 StartTime : when the BOSS task was registered&lt;br /&gt;
 OptOut : Whether the user can/has opted out of BOSS communication for this task&lt;br /&gt;
 &lt;br /&gt;
 It also possible to manually execute the BOSS task from here&lt;br /&gt;
&lt;br /&gt;
== Stereo Camera Calibrator ==&lt;br /&gt;
[[File:Stecamscnsht.png|100px|thumb|right|Stereo Camera Calibrator Screenshot]]&lt;br /&gt;
[[File:Stecamicon.png]]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Model Viewer ==&lt;br /&gt;
[[File:ModelViewer.png|100px|thumb|right|3DS Model Viewer Screenshot]]&lt;br /&gt;
[[File:ModelViewericon.png]]&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Friend Testing Partner ==&lt;br /&gt;
[[File:Ftestpscnsht.png|250px|thumb|right|Friend Testing Partner Screenshot]]&lt;br /&gt;
[[File:Ftestpicon.png]]&lt;br /&gt;
&lt;br /&gt;
The Friend Testing Partner application is used to test/monitor the 3DS&#039;s Friend List function. It allows the user to test various functions of the 3DS&#039;s out-going Friend Card, by giving the following options:&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
*Login/Logout - (ON/OFF) (ON is the default setting) What effect this has on the Friend Card is not known&lt;br /&gt;
&lt;br /&gt;
*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’&lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
*Mii - (ON/OFF) (ON is the default setting) When &#039;ON&#039; 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&lt;br /&gt;
&lt;br /&gt;
*Favorite Title (ON/OFF) (ON is the default setting) When &#039;ON&#039; is selected, the user’s favorite title is replaced with a dummy, which is replaced every 10 or so seconds. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Game Coin Setter ==&lt;br /&gt;
[[File:Coinstscnsht.png|100px|thumb|right|Game Coin Setter Screenshot]]&lt;br /&gt;
[[File:Coinsticon.png]]  &lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
*LEFT/RIGHT - using the D-pad only to adjust the &#039;Target Count&#039; to a number between 0-300.&lt;br /&gt;
&lt;br /&gt;
*A - Sets the &#039;Current Count&#039; (amount of play coins the system has) to the user selected &#039;Target Count&#039; (the user specified amount of play coins)&lt;br /&gt;
&lt;br /&gt;
*L+R+X - &amp;quot;Preclude today&#039;s Increment&amp;quot; This is fairly complicated...This either removes all coins added today, or removes all coins added previously starting the day before. Then it allows you to add more (with the value you set). This is more of a theory, it is poorly translated and this option isn&#039;t very useful anyway. Do yourself a favor and just give yourself millions of coins so you can buy all the fun stuff. :)&lt;br /&gt;
&lt;br /&gt;
== TWL Development Tools ==&lt;br /&gt;
&lt;br /&gt;
These are DSi/DS mode development tools repackaged into a [[CIA]], for installing to the TWL NAND.&lt;br /&gt;
&lt;br /&gt;
=== NINTENDO DS - WMtest ===&lt;br /&gt;
[[File:Wmtestscnsht.jpg|300px|thumb|right|WMtest Screenshot]]&lt;br /&gt;
[[File:Wmtesttool.png‎]]&lt;br /&gt;
&lt;br /&gt;
This application is a TWL(DSi) application compiled for use on the 3DS. It is an wireless test tool with its uses explained below:&lt;br /&gt;
&lt;br /&gt;
*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:&lt;br /&gt;
&lt;br /&gt;
Wifi Access Points - Giving the Mac Address, Broadcasting Channel, &#039;c&#039;, and the SSID&lt;br /&gt;
&lt;br /&gt;
DS Stations such as DS Download stations and Pokemon distributors - Giving the Mac Address, Brodcasting Channel, TGID and GGID&lt;br /&gt;
&lt;br /&gt;
*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 &#039;Found&#039; &#039;bssDescCount=&#039;&lt;br /&gt;
&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
*Noise Mode - Seeks wireless channels in which to make wireless noise (This is not made very clear on the app). You can specify the:&lt;br /&gt;
&lt;br /&gt;
Channel where the scanner will seek to make noise&lt;br /&gt;
&lt;br /&gt;
Noise Rate, ranging from 0% to 100%&lt;br /&gt;
&lt;br /&gt;
Frequency, ranging from 10ms to 50ms&lt;br /&gt;
&lt;br /&gt;
Seek Mode, ranging from 1000ms to 1500ms&lt;br /&gt;
&lt;br /&gt;
When the settings are chosen the top screen has two counters which display &#039;Noise ON count&#039; and &#039;Noise OFF count&#039; the counters are affected by the noise rate. Starting at 0% the &#039;Noise ON count&#039; does not change but as the Noise rate gets closer to 100% the count moves and gets faster as Noise rate reaches 100%. For &#039;Noise OFF count&#039; it is the exact opposite to the &#039; Noise ON count&#039; in regards to counting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Category:3DS Development Unit Related Pages]]&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=AES_Registers&amp;diff=10648</id>
		<title>AES Registers</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=AES_Registers&amp;diff=10648"/>
		<updated>2014-11-12T06:32:16Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Registers ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  PHYSICAL ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
!  RW&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESCNT&lt;br /&gt;
| 0x10009000&lt;br /&gt;
| 4&lt;br /&gt;
| RW&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESBLKCNT&lt;br /&gt;
| 0x10009004&lt;br /&gt;
| 4&lt;br /&gt;
| W?&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESWRFIFO&lt;br /&gt;
| 0x10009008&lt;br /&gt;
| 4&lt;br /&gt;
| W&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESRDFIFO&lt;br /&gt;
| 0x1000900C&lt;br /&gt;
| 4&lt;br /&gt;
| R&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESKEYSEL&lt;br /&gt;
| 0x10009010&lt;br /&gt;
| 1&lt;br /&gt;
| RW&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESKEYCNT&lt;br /&gt;
| 0x10009011&lt;br /&gt;
| 1&lt;br /&gt;
| RW&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESCTR&lt;br /&gt;
| 0x10009020&lt;br /&gt;
| 16&lt;br /&gt;
| W&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESMAC&lt;br /&gt;
| 0x10009030&lt;br /&gt;
| 16&lt;br /&gt;
| W&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESKEY0&lt;br /&gt;
| 0x10009040&lt;br /&gt;
| 48&lt;br /&gt;
| W&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESKEY1&lt;br /&gt;
| 0x10009070&lt;br /&gt;
| 48&lt;br /&gt;
| W&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESKEY2&lt;br /&gt;
| 0x100090A0&lt;br /&gt;
| 48&lt;br /&gt;
| W&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESKEY3&lt;br /&gt;
| 0x100090D0&lt;br /&gt;
| 48&lt;br /&gt;
| W&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESKEYFIFO&lt;br /&gt;
| 0x10009100&lt;br /&gt;
| 4&lt;br /&gt;
| W&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESKEYXFIFO&lt;br /&gt;
| 0x10009104&lt;br /&gt;
| 4&lt;br /&gt;
| W&lt;br /&gt;
|-&lt;br /&gt;
| REG_AESKEYYFIFO&lt;br /&gt;
| 0x10009108&lt;br /&gt;
| 4&lt;br /&gt;
| W&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_AESCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 4-0&lt;br /&gt;
| Write FIFO count (0-16)&lt;br /&gt;
|-&lt;br /&gt;
| 9-5&lt;br /&gt;
| Read FIFO count (0-16)&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| Flush write FIFO (1=Clear write FIFO)&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| Flush read fifo (1=Clear read FIFO)&lt;br /&gt;
|-&lt;br /&gt;
| 18-16&lt;br /&gt;
| MAC size (encoding = (maclen-2)/2)&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
|? (MAC related)&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| MAC input control (0 = read MAC from FIFO, 1 = read from MAC register)&lt;br /&gt;
|-&lt;br /&gt;
| 21&lt;br /&gt;
| MAC status (0 = invalid, 1 = verified)&lt;br /&gt;
|-&lt;br /&gt;
| 22&lt;br /&gt;
| Output endianness (1=Big endian, 0=Little endian)&lt;br /&gt;
|-&lt;br /&gt;
| 23&lt;br /&gt;
| Input endianness (1=Big endian, 0=Little endian)&lt;br /&gt;
|-&lt;br /&gt;
| 24&lt;br /&gt;
| Output word order (1=Normal order, 0=Reversed order)&lt;br /&gt;
|-&lt;br /&gt;
| 25&lt;br /&gt;
| Input word order (1=Normal order, 0=Reversed order)&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| Update keyslot (set to 1 when the keyslot is changed)&lt;br /&gt;
|-&lt;br /&gt;
| 29-27&lt;br /&gt;
| Mode (0=CCM decrypt, 1=CCM encrypt, 2=CTR, 3=CTR, 4=CBC decrypt, 5=CBC encrypt, 6=ECB decrypt, 7=ECB encrypt)&lt;br /&gt;
|-&lt;br /&gt;
| 30&lt;br /&gt;
| Interrupt enable (1=enable, 0=disable)&lt;br /&gt;
|-&lt;br /&gt;
| 31&lt;br /&gt;
| Start (1=enable/busy, 0=idle)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_AESBLKCNT ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 16-31&lt;br /&gt;
| (Data length)&amp;gt;&amp;gt;4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== REG_AESKEYCNT ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 5-0&lt;br /&gt;
| Keyslot&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Hardware key-generator type: 0 = 3DS, 1 = DSi.&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| This normally has value 1 written here when updating keys, however that&#039;s not actually needed(keydata gets updated regardless of whether this bit is set).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bit6 is only used when keyslots &amp;gt;=4 are used, value1 has the same affect as doing key-init with the TWL keyslots. Bit6 is checked when a keyY was written, for when the final-normalkey needs updated via the key-generator.&lt;br /&gt;
&lt;br /&gt;
== REG_AESCTR ==&lt;br /&gt;
This register specifies the counter (CTR mode), nonce (CCM mode) or the initialization vector (CBC mode) depending on the mode of operation.&lt;br /&gt;
For CBC and CTR mode this register takes up the full 16 bytes, but for CCM mode the nonce is only the first 12 bytes.&lt;br /&gt;
&lt;br /&gt;
== REG_AESMAC ==&lt;br /&gt;
This register specifies the message authentication code (MAC) for use in CCM mode.&lt;br /&gt;
&lt;br /&gt;
== Endianness and word order ==&lt;br /&gt;
When writing to the REG_AESCTR or REG_AESMAC register, the hardware will process the written data according to the current input endianness specified in AESCNT. However, the current specified input word order will not be honored for this register, and always defaults to reversed word order. Therefore, for normal word order, the reversal must be carried out manually if required.&lt;br /&gt;
&lt;br /&gt;
== Keyslots ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Keyslot&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00-0x03&lt;br /&gt;
| These are the TWL keyslots, the key-data for these can be set via the REG_AESKEY0-REG_AESKEY3 registers. These keyslots are initialized by NATIVE_FIRM. The console-unique portion of two of these keyslots are only [[CONFIG|initialized]] by NATIVE_FIRM during initial hard-boot.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0D&lt;br /&gt;
| See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]], this uses the hardware key-scrambler.&lt;br /&gt;
|-&lt;br /&gt;
| 0x11&lt;br /&gt;
| This is used for general normal-key crypto, where the normal-key is set by FIRM. This keyslot is also used by the New3DS [[FIRM]] arm9 binary loader.&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| Starting with [[5.0.0-11]], NATIVE_FIRM Process9 now sets the keyY for this to the same one it uses for initializing 3 of the keyslots&#039; keyYs from [[PSPXI:EncryptDecryptAes|here]].&lt;br /&gt;
|-&lt;br /&gt;
| 0x20..0x23&lt;br /&gt;
| All of these keyslots(initialized by bootrom) are set to the same key-data. These seem to be set to a regular normal-key?&lt;br /&gt;
|-&lt;br /&gt;
| 0x25&lt;br /&gt;
| The keyX and keyY initialized by bootrom for this keyslot are console-unique. This keyslot is used for the [[7.0.0-13|v7.0]] [[NCCH]] encryption, the keyX is initialized during NATIVE_FIRM [[Savegames#6.0.0-11_Savegame_keyY|boot]]. The keyY/CTR used for this keyslot is the same as keyslot 0x2C.&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| Used to decrypt [[NCCH|NCCH]], the keyY is set by Process9(see [[NCCH|here]] regarding the keyY). Keyslots 0x2C..0x2F all use the same keyX, set by bootrom.&lt;br /&gt;
|-&lt;br /&gt;
| 0x2D&lt;br /&gt;
| See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]], this uses the hardware key-scrambler.&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E&lt;br /&gt;
| See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]]. This keyY is set by NATIVE_FIRM.&lt;br /&gt;
|-&lt;br /&gt;
| 0x2F&lt;br /&gt;
| Initially this keyslot has the same keyY as keyslot 0x2D, initialized by bootrom. This keyY is initialized during NATIVE_FIRM [[Savegames#6.0.0-11_Savegame_keyY|boot]]. This is the keyslot used for calculating v6.0 gamecard savegames&#039; keyYs.&lt;br /&gt;
|-&lt;br /&gt;
| 0x31&lt;br /&gt;
| See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]], this uses the hardware key-scrambler. NATIVE_FIRM sets this keyY to the same one used for keyslot 0x2E.&lt;br /&gt;
|-&lt;br /&gt;
| 0x32&lt;br /&gt;
| See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]]. This keyslot keyX is the same keyX used for keyslot 0x31.&lt;br /&gt;
|-&lt;br /&gt;
| 0x34-0x37&lt;br /&gt;
| All four of these keyslots use the same keyX. Keyslots 0x35/0x36 use the same keyY, see [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]] for keyslot 0x36.&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]], this uses the hardware key-scrambler.&lt;br /&gt;
|-&lt;br /&gt;
| 0x39&lt;br /&gt;
| See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]]. This keyslot keyX is the same keyX used for keyslot 0x38. NATIVE_FIRM sets this keyY to the same one used for keyslot 0x2E.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3D&lt;br /&gt;
| This keyslot uses keyY. Used to decrypt title keys in [[Ticket]]. Used by Gateway.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3E&lt;br /&gt;
| This keyslot uses an unique keyX/keyY.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3F&lt;br /&gt;
| This keyslot uses an unique keyX/keyY.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Hardware key generator ===&lt;br /&gt;
Unless noted otherwise, all keyslots on retail units use the hardware key-scrambler, where the final normal-key is generated in hardware using the input keyX and keyY. This normal-key is then written to the hardware keyslot by the AES engine, all of the AES engine key registers are write-only. The internal normal-key keyslot is only updated when the keyY is written to, the keyslot&#039;s normal-key is not immediately updated when writing to the keyX.&lt;br /&gt;
&lt;br /&gt;
=== keyX ===&lt;br /&gt;
The ARM9 bootrom initializes the keyX for each 3DS keyslot, the ARM9 bootrom also initializes the keyY for the keyslots where NATIVE_FIRM doesn&#039;t set the keyY. In certain cases Process9 may also set the keyX.&lt;br /&gt;
&lt;br /&gt;
=== Updating keydata ===&lt;br /&gt;
After writing to a keyslot when the keyslot is already selected, the keyslot must be re-selected for the updated keyslot key-data to be used.&lt;br /&gt;
&lt;br /&gt;
Writing to the key FIFOs with byte writes results in the AES engine converting the byte to a word for setting the key word, with this: word = (byteval) | (byteval&amp;lt;&amp;lt;8) | (byteval&amp;lt;&amp;lt;16) | (byteval&amp;lt;&amp;lt;24). The result is the same regardless of which FIFO register byte was written to.&lt;br /&gt;
&lt;br /&gt;
=== FIRM-launch key clearing ===&lt;br /&gt;
Starting with [[9.0.0-20]] the Process9 FIRM-launch code now &amp;quot;clears&amp;quot; the following AES keyslots, with certain keydata by writing the normal-key: 0x15 and 0x18-0x20. These are the keyslots used by the New3DS [[FIRM]] arm9bin loader(minus keyslot 0x11), so the New3DS Process9 presumably does this too.&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Filesystem_services&amp;diff=10647</id>
		<title>Filesystem services</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Filesystem_services&amp;diff=10647"/>
		<updated>2014-11-12T06:09:35Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fixes and improvements, added a note about the table for accuracy purposes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Services]]&lt;br /&gt;
&lt;br /&gt;
= Filesystem service &amp;quot;fs:USER&amp;quot; =&lt;br /&gt;
You can at most have 32 FS archive handles.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Available since system version &lt;br /&gt;
!  Description&lt;br /&gt;
!   scope=&amp;quot;col&amp;quot; width=&amp;quot;400&amp;quot; | Required [[NCCH/Extended_Header|exheader]] access info bitmask&lt;br /&gt;
|-&lt;br /&gt;
| 0x000100C6&lt;br /&gt;
|?&lt;br /&gt;
| Dummy1&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x040100C4&lt;br /&gt;
|?&lt;br /&gt;
| Control&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08010002&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:Initialize|Initialize]]&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x080201C2&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:OpenFile|OpenFile]]&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08030204&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:OpenFileDirectly|OpenFileDirectly]]&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08040142&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:DeleteFile|DeleteFile]]&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08050244&lt;br /&gt;
|?&lt;br /&gt;
| RenameFile&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08060142&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:DeleteDirectory|DeleteDirectory]]&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08070142&lt;br /&gt;
|?&lt;br /&gt;
| DeleteDirectoryRecursively&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08080202&lt;br /&gt;
|?&lt;br /&gt;
| CreateFile&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08090182&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:CreateDirectory|CreateDirectory]]&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x080A0244&lt;br /&gt;
|?&lt;br /&gt;
| RenameDirectory&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x080B0102&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:OpenDirectory|OpenDirectory]]&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x080C00C2&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:OpenArchive|OpenArchive]]&lt;br /&gt;
| Each archive ID code has separate access info bitmasks, if it has any&lt;br /&gt;
|-&lt;br /&gt;
| 0x080D0144&lt;br /&gt;
|?&lt;br /&gt;
| ControlArchive&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x080E0080&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:CloseArchive|CloseArchive]]&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x080F0180&lt;br /&gt;
|?&lt;br /&gt;
| FormatThisUserSaveData&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08100200&lt;br /&gt;
|?&lt;br /&gt;
| CreateSystemSaveData&lt;br /&gt;
| 0x4, for when the input saveID doesn&#039;t match the exheader saveID&lt;br /&gt;
|-&lt;br /&gt;
| 0x08110040&lt;br /&gt;
|?&lt;br /&gt;
| DeleteSystemSaveData&lt;br /&gt;
| 0x1004, for when the input saveID doesn&#039;t match the exheader saveID&lt;br /&gt;
|-&lt;br /&gt;
| 0x08120080&lt;br /&gt;
|?&lt;br /&gt;
| GetFreeBytes&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08130000&lt;br /&gt;
|?&lt;br /&gt;
| GetCardType&lt;br /&gt;
| 0x1017&lt;br /&gt;
|-&lt;br /&gt;
| 0x08140000&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:GetSdmcArchiveResource|GetSdmcArchiveResource]]&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08150000&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:GetNandArchiveResource|GetNandArchiveResource]]&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08160000&lt;br /&gt;
|?&lt;br /&gt;
| GetSdmcFatfsError&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x08170000&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:IsSdmcDetected|IsSdmcDetected]]&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08180000&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:IsSdmcWritable|IsSdmcWritable]]&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08190042&lt;br /&gt;
|?&lt;br /&gt;
| GetSdmcCid&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x081A0042&lt;br /&gt;
|?&lt;br /&gt;
| GetNandCid&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x081B0000&lt;br /&gt;
|?&lt;br /&gt;
| GetSdmcSpeedInfo&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x081C0000&lt;br /&gt;
|?&lt;br /&gt;
| GetNandSpeedInfo&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x081D0042&lt;br /&gt;
|?&lt;br /&gt;
| GetSdmcLog&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x081E0042&lt;br /&gt;
|?&lt;br /&gt;
| GetNandLog&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x081F0000&lt;br /&gt;
|?&lt;br /&gt;
| ClearSdmcLog&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x08200000&lt;br /&gt;
|?&lt;br /&gt;
| ClearNandLog&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x08210000&lt;br /&gt;
|?&lt;br /&gt;
| CardSlotIsInserted&lt;br /&gt;
| 0x1017&lt;br /&gt;
|-&lt;br /&gt;
| 0x08220000&lt;br /&gt;
|?&lt;br /&gt;
| CardSlotPowerOn&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x08230000&lt;br /&gt;
|?&lt;br /&gt;
| CardSlotPowerOff&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x08240000&lt;br /&gt;
|?&lt;br /&gt;
| CardSlotGetCardIFPowerStatus&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x08250040&lt;br /&gt;
|?&lt;br /&gt;
| CardNorDirectCommand&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x08260080&lt;br /&gt;
|?&lt;br /&gt;
| CardNorDirectCommandWithAddress&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x08270082&lt;br /&gt;
|?&lt;br /&gt;
| CardNorDirectRead&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x082800C2&lt;br /&gt;
|?&lt;br /&gt;
| CardNorDirectReadWithAddress&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x08290082&lt;br /&gt;
|?&lt;br /&gt;
| CardNorDirectWrite&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x082A00C2&lt;br /&gt;
|?&lt;br /&gt;
| CardNorDirectWriteWithAddress&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x082B00C2&lt;br /&gt;
|?&lt;br /&gt;
| CardNorDirectRead_4xIO&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x082C0082&lt;br /&gt;
|?&lt;br /&gt;
| CardNorDirectCpuWriteWithoutVerify&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x082D0040&lt;br /&gt;
|?&lt;br /&gt;
| CardNorDirectSectorEraseWithoutVerify&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x082E0040&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:GetProductInfo|GetProductInfo]]&lt;br /&gt;
| 0x1005&lt;br /&gt;
|-&lt;br /&gt;
| 0x082F0040&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:GetProgramLaunchInfo|GetProgramLaunchInfo]]&lt;br /&gt;
| 0x1005&lt;br /&gt;
|-&lt;br /&gt;
| 0x08300182&lt;br /&gt;
|?&lt;br /&gt;
| CreateExtSaveData&lt;br /&gt;
| 0xC, for when the input extdataID doesn&#039;t match the exheader extdataID&lt;br /&gt;
|-&lt;br /&gt;
| 0x08310180&lt;br /&gt;
|?&lt;br /&gt;
| CreateSharedExtSaveData&lt;br /&gt;
| 0x1005&lt;br /&gt;
|-&lt;br /&gt;
| 0x08320102&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:ReadExtSaveDataIcon|ReadExtSaveDataIcon]]&lt;br /&gt;
| 0x100D, for when the input extdataID doesn&#039;t match the exheader extdataID&lt;br /&gt;
|-&lt;br /&gt;
| 0x08330082&lt;br /&gt;
|?&lt;br /&gt;
| EnumerateExtSaveData&lt;br /&gt;
| 0x1005&lt;br /&gt;
|-&lt;br /&gt;
| 0x08340082&lt;br /&gt;
|?&lt;br /&gt;
| EnumerateSharedExtSaveData&lt;br /&gt;
| 0x1005&lt;br /&gt;
|-&lt;br /&gt;
| 0x08350080&lt;br /&gt;
|?&lt;br /&gt;
| DeleteExtSaveData&lt;br /&gt;
| 0x100D, for when the input extdataID doesn&#039;t match the exheader extdataID&lt;br /&gt;
|-&lt;br /&gt;
| 0x08360080&lt;br /&gt;
|?&lt;br /&gt;
| DeleteSharedExtSaveData&lt;br /&gt;
| 0x1005&lt;br /&gt;
|-&lt;br /&gt;
| 0x08370040&lt;br /&gt;
|?&lt;br /&gt;
| SetCardSpiBaudRate&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x08380040&lt;br /&gt;
|?&lt;br /&gt;
| SetCardSpiBusMode&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x08390000&lt;br /&gt;
|?&lt;br /&gt;
| SendInitializeInfoTo9&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x083A0100&lt;br /&gt;
|?&lt;br /&gt;
| GetSpecialContentIndex&lt;br /&gt;
| 0x1005&lt;br /&gt;
|-&lt;br /&gt;
| 0x083B00C2&lt;br /&gt;
|?&lt;br /&gt;
| GetLegacyRomHeader&lt;br /&gt;
| 0x1015&lt;br /&gt;
|-&lt;br /&gt;
| 0x083C00C2&lt;br /&gt;
|?&lt;br /&gt;
| GetLegacyBannerData&lt;br /&gt;
| 0x1015&lt;br /&gt;
|-&lt;br /&gt;
| 0x083D0100&lt;br /&gt;
|?&lt;br /&gt;
| CheckAuthorityToAccessExtSaveData&lt;br /&gt;
| 0x44&lt;br /&gt;
|-&lt;br /&gt;
| 0x083E00C2&lt;br /&gt;
|?&lt;br /&gt;
| QueryTotalQuotaSize&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x083F00C0&lt;br /&gt;
|?&lt;br /&gt;
| GetExtDataBlockSize&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08400040&lt;br /&gt;
|?&lt;br /&gt;
| AbnegateAccessRight&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x08410000&lt;br /&gt;
|?&lt;br /&gt;
| DeleteSdmcRoot&lt;br /&gt;
| 0x1005&lt;br /&gt;
|-&lt;br /&gt;
| 0x08420040&lt;br /&gt;
|?&lt;br /&gt;
| DeleteAllExtSaveDataOnNand&lt;br /&gt;
| 0x1005&lt;br /&gt;
|-&lt;br /&gt;
| 0x08430000&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:InitializeCtrFileSystem|InitializeCtrFileSystem]]&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08440000&lt;br /&gt;
|?&lt;br /&gt;
| CreateSeed&lt;br /&gt;
| 0x2&lt;br /&gt;
|-&lt;br /&gt;
| 0x084500C2&lt;br /&gt;
|?&lt;br /&gt;
| GetFormatInfo&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x08460102&lt;br /&gt;
|?&lt;br /&gt;
| GetLegacyRomHeader2&lt;br /&gt;
| 0x1015&lt;br /&gt;
|-&lt;br /&gt;
| 0x08470180&lt;br /&gt;
|?&lt;br /&gt;
| FormatCtrCardUserSaveData&lt;br /&gt;
| 0x6&lt;br /&gt;
|-&lt;br /&gt;
| 0x08480042&lt;br /&gt;
|?&lt;br /&gt;
| GetSdmcCtrRootPath&lt;br /&gt;
| 0x100D&lt;br /&gt;
|-&lt;br /&gt;
| 0x08490040&lt;br /&gt;
|?&lt;br /&gt;
| GetArchiveResource&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x084A0002&lt;br /&gt;
|?&lt;br /&gt;
| ExportIntegrityVerificationSeed&lt;br /&gt;
| 0x4000&lt;br /&gt;
|-&lt;br /&gt;
| 0x084B0002&lt;br /&gt;
|?&lt;br /&gt;
| ImportIntegrityVerificationSeed&lt;br /&gt;
| 0x4000&lt;br /&gt;
|-&lt;br /&gt;
| 0x084C0242&lt;br /&gt;
|?&lt;br /&gt;
| FormatSaveData&lt;br /&gt;
| 0x6, in some cases this write isn&#039;t needed however&lt;br /&gt;
|-&lt;br /&gt;
| 0x084D0102&lt;br /&gt;
|?&lt;br /&gt;
| GetLegacySubBannerData&lt;br /&gt;
| 0x1015&lt;br /&gt;
|-&lt;br /&gt;
| 0x084E0342&lt;br /&gt;
|?&lt;br /&gt;
| [[FS:UpdateSha256Context|UpdateSha256Context]]&lt;br /&gt;
| 0x5&lt;br /&gt;
|-&lt;br /&gt;
| 0x084F0102&lt;br /&gt;
|?&lt;br /&gt;
| ReadSpecialFile&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08500040&lt;br /&gt;
|?&lt;br /&gt;
| GetSpecialFileSize&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08510242&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| CreateExtSaveData&lt;br /&gt;
| Shared extdata: 0x101005. Regular extdata in certain cases: 0xC&lt;br /&gt;
|-&lt;br /&gt;
| 0x08520100&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| DeleteExtSaveData (u32 flags, u64 extdataID)&lt;br /&gt;
| Shared extdata: 0x101005. Regular extdata in certain cases: 0x10100D&lt;br /&gt;
|-&lt;br /&gt;
| 0x08530142&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| ReadExtSaveDataIcon&lt;br /&gt;
| 0x10100D (this doesn&#039;t apply in certain cases, however)&lt;br /&gt;
|-&lt;br /&gt;
| 0x085400C0&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| GetExtDataBlockSize?&lt;br /&gt;
| 0x10100D (this doesn&#039;t apply in certain cases, however)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08550102&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| EnumerateExtSaveData&lt;br /&gt;
| 0x101005&lt;br /&gt;
|-&lt;br /&gt;
| 0x08560200&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| FsCreateSystemSaveData?&lt;br /&gt;
| 0x4 (this doesn&#039;t apply in certain cases, however)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08570080&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| DeleteSystemSaveData&lt;br /&gt;
| 0x1004 (this doesn&#039;t apply in certain cases, however)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08580000&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| [[FS:GetMovableSedHashedKeyYRandomData|GetMovableSedHashedKeyYRandomData]]&lt;br /&gt;
| 0x2004&lt;br /&gt;
|-&lt;br /&gt;
| 0x08590200&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| SetMovableSedHashedKeyYRandomData?&lt;br /&gt;
| 0x2004&lt;br /&gt;
|-&lt;br /&gt;
| 0x085A00C0&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| SetArchivePriority(u64 ID,u32 priority)&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x085B0080&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| GetArchivePriority(u64 ID,u32 *priority)&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x085C00C0&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| SetCtrCardLatencyParameter&lt;br /&gt;
| 0xE&lt;br /&gt;
|-&lt;br /&gt;
| 0x085D0180&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
|?&lt;br /&gt;
| 0x100001&lt;br /&gt;
|-&lt;br /&gt;
| 0x085E0040&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| ResetCardCompatibilityParameter&lt;br /&gt;
| 0xE&lt;br /&gt;
|-&lt;br /&gt;
| 0x085F0040&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| SwitchCleanupInvalidSaveData&lt;br /&gt;
| 0x12004&lt;br /&gt;
|-&lt;br /&gt;
| 0x08600042&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| EnumerateSystemSaveData&lt;br /&gt;
| 0x2004&lt;br /&gt;
|-&lt;br /&gt;
| 0x08610042&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| InitializeWithSdkVersion&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08620040&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| SetPriority&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08630000&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| GetPriority&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08640000&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| Obsoleted_4_0_GetNandInfo Stubbed, this returns an error&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08650140&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| SetSaveDataSecureValue, this is used with [[Anti Savegame Restore]].&lt;br /&gt;
| 0x121004 (in certain cases this doesn&#039;t apply, however)&lt;br /&gt;
|-&lt;br /&gt;
| 0x086600C0&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| GetSaveDataSecureValue, this is used with [[Anti Savegame Restore]].&lt;br /&gt;
| 0x121004 (in certain cases this doesn&#039;t apply, however)&lt;br /&gt;
|-&lt;br /&gt;
| 0x086700C4&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ControlSecureSave&lt;br /&gt;
| 0x121004&lt;br /&gt;
|-&lt;br /&gt;
| 0x08680000&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| GetMediaType, This loads the u8 mediatype for the current application from already initialized state, this u8 was originally loaded from the same data used by [[FS:GetProgramLaunchInfo|GetProgramLaunchInfo]]. This then writes the u8 to response-word[2]. This is used with [[Anti Savegame Restore]]&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x08690000&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| Obsoleted_4_0_GetNandEraseCount Stubbed, this returns an error.&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x086A0082&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ReadNandReport This is a wrapper for [[Filesystem_services_PXI|FSPXI]] command 0x00550082.&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
| 0x086B00C2&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 00121004&lt;br /&gt;
|-&lt;br /&gt;
| 0x086C00C2&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 00121004&lt;br /&gt;
|-&lt;br /&gt;
| 0x086D0040&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 00020004&lt;br /&gt;
|-&lt;br /&gt;
| 0x086E00C0&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|None?&lt;br /&gt;
|-&lt;br /&gt;
| 0x086F0040&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 0xE&lt;br /&gt;
|-&lt;br /&gt;
| 0x087000C2&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|None?&lt;br /&gt;
|-&lt;br /&gt;
| 0x08710100&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 0xC&lt;br /&gt;
|-&lt;br /&gt;
| 0x087201C0&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 00080004&lt;br /&gt;
|-&lt;br /&gt;
| 0x087300C0&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 00080004&lt;br /&gt;
|-&lt;br /&gt;
| 0x08740000&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 00080004&lt;br /&gt;
|-&lt;br /&gt;
| 0x08750140&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|None?&lt;br /&gt;
|-&lt;br /&gt;
| 0x087600C0&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|None?&lt;br /&gt;
|-&lt;br /&gt;
| 0x08770100&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x087800C0&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: The question marks from Dummy1 to GetSpecialFileSize on the &amp;quot;available since system version&amp;quot; field are mainly there because I think that most of these are necessary for the main system to function, so theoretically that would mean that since the creation of the 3DS these were available, or since launch if that makes more sense. But because of the peculiar nature of some of the functions, they will remain question marks until they can be confirmed 100%.&lt;br /&gt;
&lt;br /&gt;
When access rights are required for a command, at least one of the bits in the process access info specified in the above table for the command must be set. Error 0xD9004676 is returned when a process attempts to use a command which it doesn&#039;t have access rights for the command. The exheader access info field is all zero&#039;s for most applications. Note that the permissions listed in the above table is for system-version v2.x, therefore permission bit(s) added with newer FIRM may be missing from this.&lt;br /&gt;
&lt;br /&gt;
Each session for fs:USER has separate permissions, initially these are set to all zero&#039;s for new fs:USER sessions. The permissions/etc for fs:USER sessions are initialized via [[FS:Initialize]](loaded from the user process exheader).&lt;br /&gt;
&lt;br /&gt;
=File service=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000100C6&lt;br /&gt;
| Dummy1&lt;br /&gt;
|-&lt;br /&gt;
| 0x040100C4&lt;br /&gt;
| Control&lt;br /&gt;
|-&lt;br /&gt;
| 0x08010100&lt;br /&gt;
| OpenSubFile&lt;br /&gt;
|-&lt;br /&gt;
| 0x080200C2&lt;br /&gt;
| [[FSFile:Read|Read]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08030102&lt;br /&gt;
| [[FSFile:Write|Write]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08040000&lt;br /&gt;
| [[FSFile:GetSize|GetSize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08050080&lt;br /&gt;
| [[FSFile:SetSize|SetSize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08060000&lt;br /&gt;
| GetAttributes&lt;br /&gt;
|-&lt;br /&gt;
| 0x08070040&lt;br /&gt;
| SetAttributes&lt;br /&gt;
|-&lt;br /&gt;
| 0x08080000&lt;br /&gt;
| [[FSFile:Close|Close]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08090000&lt;br /&gt;
| Flush&lt;br /&gt;
|-&lt;br /&gt;
| 0x080A0040&lt;br /&gt;
| SetPriority&lt;br /&gt;
|-&lt;br /&gt;
| 0x080B0000&lt;br /&gt;
| GetPriority&lt;br /&gt;
|-&lt;br /&gt;
| 0x080C0000&lt;br /&gt;
| OpenLinkFile&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Directory service=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000100C6&lt;br /&gt;
| Dummy1&lt;br /&gt;
|-&lt;br /&gt;
| 0x040100C4&lt;br /&gt;
| Control&lt;br /&gt;
|-&lt;br /&gt;
| 0x08010042&lt;br /&gt;
| [[FSDir:Read|Read]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x08020000&lt;br /&gt;
| [[FSDir:Close|Close]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Filesystem service &amp;quot;fs:LDR&amp;quot; =&lt;br /&gt;
This service is identical to fs:USER, except [[FS:OpenArchive]] archive 0x2345678E can only be accessed with fs:LDR&lt;br /&gt;
&lt;br /&gt;
= ProgramRegistry service &amp;quot;fs:REG&amp;quot; =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000100C6&lt;br /&gt;
| Dummy1&lt;br /&gt;
|-&lt;br /&gt;
| 0x040103C0&lt;br /&gt;
| Register&lt;br /&gt;
|-&lt;br /&gt;
| 0x04020040&lt;br /&gt;
| Unregister&lt;br /&gt;
|-&lt;br /&gt;
| 0x040300C0&lt;br /&gt;
| GetProgramInfo&lt;br /&gt;
|-&lt;br /&gt;
| 0x04040100&lt;br /&gt;
| LoadProgram&lt;br /&gt;
|-&lt;br /&gt;
| 0x04050080&lt;br /&gt;
| UnloadProgram&lt;br /&gt;
|-&lt;br /&gt;
| 0x04060080&lt;br /&gt;
| CheckHostLoadId&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Errors=&lt;br /&gt;
See [[Filesystem_services_PXI]].&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=RSF_Files&amp;diff=10645</id>
		<title>RSF Files</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=RSF_Files&amp;diff=10645"/>
		<updated>2014-11-12T03:57:46Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Create RSF files page, put some basic info in&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RSF files are files with descriptive data used when outputting a CCI/CXI file. Specifying options such as title, save type, and so on are available.&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Makerom&amp;diff=10643</id>
		<title>Makerom</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Makerom&amp;diff=10643"/>
		<updated>2014-11-12T02:16:14Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: /* Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox homebrew&lt;br /&gt;
| title       = makerom&lt;br /&gt;
| type        = pc utility&lt;br /&gt;
| author      = [[User:3dsguy|3dsguy]]&lt;br /&gt;
| download = https://anonfiles.com/file/2e954a4b954778e8bcd0c317f071c272&lt;br /&gt;
| source = https://github.com/3DSGuy/Project_CTR/tree/master/makerom&lt;br /&gt;
| version     = 0.8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
makerom is a tool which can be used to create [[NCCH]], [[NCSD|CCI]], and [[CIA]] files.&lt;br /&gt;
&lt;br /&gt;
== Using Makerom ==&lt;br /&gt;
&lt;br /&gt;
=== Command line ===&lt;br /&gt;
Since CCI and CIA are NCCH containers, makerom was built so CXIs could be built stand alone or straight into a container format. It is also possible rebuild CXIs from an ELF file. As a result there are many combinations which can be used; for simplicity, specific functions will be explained by breaking them up into argument groups:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating CXIs from scratch:&#039;&#039;&#039;&lt;br /&gt;
 -elf &amp;lt;elf path&amp;gt; -rsf &amp;lt;rsf path&amp;gt; [-icon &amp;lt;[[SMDH|icon]] path&amp;gt; -banner &amp;lt;banner path&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rebuilding CXIs:&#039;&#039;&#039;&lt;br /&gt;
 -code &amp;lt;decompressed exefs .code&amp;gt; -exheader &amp;lt;exheader from original CXI&amp;gt; -rsf &amp;lt;rsf path&amp;gt; [-icon &amp;lt;[[SMDH|icon]] path&amp;gt; -banner &amp;lt;banner path&amp;gt; -romfs &amp;lt;cleartext romfs binary&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating CFAs:&#039;&#039;&#039;&lt;br /&gt;
 -f cfa -rsf &amp;lt;rsf path&amp;gt; [-icon &amp;lt;[[SMDH|icon]] path&amp;gt; -romfs &amp;lt;romfs binary&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating CCIs:&#039;&#039;&#039;&lt;br /&gt;
 -f cci [-content &amp;lt;path&amp;gt;:&amp;lt;index&amp;gt; ...]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creating CIAs:&#039;&#039;&#039;&lt;br /&gt;
 -f cia [-content &amp;lt;path&amp;gt;:&amp;lt;index&amp;gt;:&amp;lt;id&amp;gt; ...]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Using Desc presets:&#039;&#039;&#039;&lt;br /&gt;
 -desc &amp;lt;app type&amp;gt;:&amp;lt;firm version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;app type&#039; can be SDApp / ECApp / Demo / DlpChild&lt;br /&gt;
* &#039;firm version&#039; is the target kernel version minor for the intended 3DS system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
Create a CCI, using a manual CFA, and a desc preset:&lt;br /&gt;
 makerom -f cci -elf homebrew.elf -rsf app.rsf -desc sdapp:33 -icon homebrew.icn -banner homebrew.bnr -content manual.cfa:1 -o homebrew.cci&lt;br /&gt;
&lt;br /&gt;
Create a CIA using an already built application CXI and manual CFA:&lt;br /&gt;
 makerom -f cia -content homebrew.cxi:0:0 -content manual.cfa:1:1 -o homebrew.cia&lt;br /&gt;
&lt;br /&gt;
Rebuild a CXI:&lt;br /&gt;
 makerom -code code.bin -exheader exheader.bin -icon icon.bin -banner banner.bin -romfs romfs.bin -rsf app.rsf -desc sdapp:33 -o rebuild.cxi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Creating RSF files ===&lt;br /&gt;
Inspired by Nintendo&#039;s format for their makerom, a yaml configuration file is required for creating NCCH files. CIA/CCI can be created without using a RSF file, but default settings will be used.&lt;br /&gt;
&lt;br /&gt;
For CXI, RSF files can be used to specify permissions, and access control settings. Makerom can use default settings by use of the &amp;quot;-desc&amp;quot; option, which removes the requirement for specifying them in the RSF file.&lt;br /&gt;
&lt;br /&gt;
Sample RSF to be used with &amp;quot;-desc&amp;quot;: [https://gist.githubusercontent.com/3DSGuy/83e12e0ae3dcccb9827f/raw/sample0.rsf download]&lt;br /&gt;
&lt;br /&gt;
Sample RSF to be used without &amp;quot;-desc&amp;quot;: [https://gist.githubusercontent.com/3DSGuy/83e12e0ae3dcccb9827f/raw/sample1.rsf download]&lt;br /&gt;
&lt;br /&gt;
=== Creating ELF files ===&lt;br /&gt;
ELF files that are created using the official SDK can be used with makerom. ELF files created using [https://github.com/smealum/ctrulib ctrulib] can be used, provided they are linked with this linker script: [https://gist.github.com/yellows8/6da7984a80a825b10294 download]&lt;br /&gt;
&lt;br /&gt;
== Compiling Source ==&lt;br /&gt;
For Windows use MinGW, 64bit versions of MinGW are supported also.&lt;br /&gt;
&lt;br /&gt;
For Linux, gcc/g++/make must be installed.&lt;br /&gt;
&lt;br /&gt;
All additional libraries used by makerom are included in the source, and are linked statically.&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
&lt;br /&gt;
* Proper ticket index generation isn&#039;t complete (CIA tickets are valid for only one content)&lt;br /&gt;
* RomFS hasn&#039;t been completely implemented (but valid pre-built RomFS can be used as substitute)&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Main_Page/Welcome&amp;diff=10640</id>
		<title>Main Page/Welcome</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Main_Page/Welcome&amp;diff=10640"/>
		<updated>2014-11-12T02:07:28Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fix some things and be more specific. :)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main page box|Welcome!|Main Page/Welcome}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: -.3em -1em -1em -1em;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;#fff&amp;quot; border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2px&amp;quot; cellspacing=&amp;quot;2px&amp;quot; style=&amp;quot;margin:auto;&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#e7eef6&amp;quot;&lt;br /&gt;
! width=&amp;quot;50%&amp;quot; | &#039;&#039;&#039;What is Homebrew?&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;50%&amp;quot;| &#039;&#039;&#039;Want to help?&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; align=&amp;quot;left&amp;quot; style=&amp;quot;background: #F5FAFF;&amp;quot;&lt;br /&gt;
| [http://en.wikipedia.org/wiki/Homebrew_(video_games) Homebrew] is a popular term used for applications that are created and executed on a video game console by hackers, programmers, developers, and consumers. &lt;br /&gt;
| Homebrew is not yet possible without purchasing a flash card or using specific game exploits. However, you can help out by documenting as much as you can about the system, games, and accessories and putting all your findings on the Wiki!&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; bgcolor=&amp;quot;#fff&amp;quot; border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2px&amp;quot; cellspacing=&amp;quot;2px&amp;quot; style=&amp;quot;margin:auto;&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#e7eef6&amp;quot;&lt;br /&gt;
! width=&amp;quot;50%&amp;quot; | &#039;&#039;&#039;How do I develop homebrew?&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;50%&amp;quot;| &#039;&#039;&#039;When can I run homebrew?&#039;&#039;&#039;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot; align=&amp;quot;left&amp;quot; style=&amp;quot;background: #F5FAFF;&amp;quot;&lt;br /&gt;
| See [[Setting up Development Environment‎|this page]] for a guide on how to get started with homebrew development for the 3DS.&lt;br /&gt;
| In a few weeks. :) See the [[Homebrew Applications]] page for a list of homebrew applications/games in the meantime.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{box-footer-empty}}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=3DSExplorer&amp;diff=10639</id>
		<title>3DSExplorer</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=3DSExplorer&amp;diff=10639"/>
		<updated>2014-11-12T01:57:50Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fix some wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox homebrew&lt;br /&gt;
| title       = 3DSExplorer&lt;br /&gt;
| image     = [[Image:3DSCube_128px.png|128px]]&lt;br /&gt;
| type        = pc utility&lt;br /&gt;
| author      = [[User:Elisherer|elisherer]]&lt;br /&gt;
| download    = http://3dsexplorer.googlecode.com/files/3dsexplorer_v1.5.3.zip&lt;br /&gt;
| source = http://code.google.com/p/3dsexplorer/&lt;br /&gt;
| version     = 1.5.3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
3DSExplorer can explore various 3DS-related files and view the information as described on 3DBrew.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please use the latest version of the software, older versions have bugs that are fixed in the latest version.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;More over, refrain from uploading the application anywhere without my permission, just link to the Google code site.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Needs &#039;&#039;&#039;.NET Framework 4.0&#039;&#039;&#039;, you can get it [http://www.microsoft.com/download/en/details.aspx?id=17851 here].&lt;br /&gt;
&lt;br /&gt;
Note: If you want to install this program for Mac, Linux, or FreeBSD, you should install the latest version of Wine with Wine Mono.&lt;br /&gt;
&lt;br /&gt;
It runs well on Linux, but I haven&#039;t tested it on Mac OS X.&lt;br /&gt;
&lt;br /&gt;
Opens:&lt;br /&gt;
* CTR Cartridge Image files ([[NCSD|CCI]]/[[NCSD|CSU]]) (NCSD)&lt;br /&gt;
* CTR eXecutable Image files ([[NCCH#CXI|CXI]]) (NCCH)&lt;br /&gt;
* CTR File Archives ([[NCCH#CFA|CFA]]) (NCCH)&lt;br /&gt;
* CTR Importable Archives ([[CIA]])&lt;br /&gt;
* CTR Icons ([[SMDH|ICN]]) (SMDH)&lt;br /&gt;
* CTR Banners (BNR) (CBMD + BCWAV)&lt;br /&gt;
* CTR Waves ([[BCWAV]])&lt;br /&gt;
* CTR Banner Model Data ([[CBMD]])&lt;br /&gt;
* CTR Graphics ([[CBMD|CGFX]]) (CBMD)&lt;br /&gt;
* [[DARC]] (file containers) / [[BCMA]] CTR-Manuals&lt;br /&gt;
* Save Flash binaries ([[Savegames|SAV]]) (decrypted or encrypted)&lt;br /&gt;
* Title meta data files ([[TMD]]),&lt;br /&gt;
* Multi-Picture Objects ([[MPO]]) , (3D Images)&lt;br /&gt;
&lt;br /&gt;
Converts:&lt;br /&gt;
* Videos to 2D/3D MJPG AVI files for the 3DS (can download directly from YouTube)&lt;br /&gt;
&lt;br /&gt;
Some of the file formats can be saved with replaced contents.&lt;br /&gt;
&lt;br /&gt;
== Option for reading 3DS/CCI/CSU files from ZIP/7Z files ==&lt;br /&gt;
&lt;br /&gt;
Just compress your 3DS/CCI/CSU file into a 7Z or ZIP (with any other file you want like NFO file)&lt;br /&gt;
&lt;br /&gt;
Then you can open it from 3DSExplorer. &#039;&#039;&#039;But be aware that only the first CXI will be loaded and saving capabilities will not be available.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(3DSExplorer looks for the first file with the proper extension and reads the first 0x5000 bytes)&lt;br /&gt;
&lt;br /&gt;
== Upcoming features ==&lt;br /&gt;
&lt;br /&gt;
for v1.6&lt;br /&gt;
* Extracting binaries from CIA like ctrtool does.&lt;br /&gt;
&lt;br /&gt;
== Change log ==&lt;br /&gt;
&lt;br /&gt;
v1.5.3&lt;br /&gt;
*Revert supertrim from deleting the last partition record.&lt;br /&gt;
&lt;br /&gt;
v1.5.2&lt;br /&gt;
* Added Trim, Un-Trim and SuperTrim for CCI by 3DSGuy (aka ps3hen)&lt;br /&gt;
+ (Open up a CCI file and a new menu &amp;quot;CCI&amp;quot; will appear.)&lt;br /&gt;
&lt;br /&gt;
v1.5.1&lt;br /&gt;
* MPO: Added some info found by Thib&lt;br /&gt;
* Fixed: title.db update process.&lt;br /&gt;
* Parentool 3ds algorithm fixed (was wrong)&lt;br /&gt;
v1.5&lt;br /&gt;
* Added: QR Tool&lt;br /&gt;
* Added: Parental Control Unlocker (for 3DS as found by neimod, and for the DSi/Wii as on marcan&#039;s site)&lt;br /&gt;
v1.4&lt;br /&gt;
* Added: support for BCMA/DARC files/containers.&lt;br /&gt;
* Added: DSDecmp GUI for compression/decompression of LZ-10/11/Ovl &amp;amp; Huffman4/8.&lt;br /&gt;
* Updated: XOR Tool&#039;s file text boxes accept drag&amp;amp;drop (DSDecmp GUI&#039;s also).&lt;br /&gt;
v1.3 (3DSGuy)&lt;br /&gt;
* Added *.cfa as an openable file (associated with CXI module)&lt;br /&gt;
* Used more general terms for CXI/CFA and 3DS/CCI/CSU with NCCH and NCSD respectively, while the general terms are more broad, they are correct, as a CFA file is not a CXI file.&lt;br /&gt;
* Fixed the Number of NCCH from 13 to 8 in the CCI module&lt;br /&gt;
* Changed the NCSD header readings to match the current specs on 3DBrew, with the exception of the &amp;quot;ExHeader size/Exheader Hash&amp;quot;, as they are always zero in every NCSD.&lt;br /&gt;
* Made the ExHeader an extractable file from NCCH files.&lt;br /&gt;
v1.2.1&lt;br /&gt;
* fixed opening of cia files (thanks 3dsguy)&lt;br /&gt;
* updated title.db up to release #183&lt;br /&gt;
v1.2&lt;br /&gt;
* Added: The product codes and maker codes are now in a file called title.db&lt;br /&gt;
* Added: 3ds/cci/csu can be opened from zip/7z files with limited information (cci,1st cxi &amp;amp; crc32)&lt;br /&gt;
v1.1.1&lt;br /&gt;
* fixed file tree activation bugs&lt;br /&gt;
* fixed some typos&lt;br /&gt;
* CCI: added an option to save cxi file (right click the CXI node in the file tree)&lt;br /&gt;
v1.1 - Happy Holidays&lt;br /&gt;
* New opens CXI files&lt;br /&gt;
* New opens CSU files (CTR System update - same as CCI)&lt;br /&gt;
* New opens ICN files (CTR Icons)&lt;br /&gt;
* Added QuickCRC32 tool to check for authenticity (also added CRC32 to hash tool)&lt;br /&gt;
* Generalized the explorer (the source code of the explorer is general, now it would be easier to add more file formats)&lt;br /&gt;
* 3D Video converter: Progress is working, fixed a lot, now works almost flawlessly.&lt;br /&gt;
* CCI: Added more information to the header.&lt;br /&gt;
* MPO: Added Nintendo&#039;s MakerNote structure.&lt;br /&gt;
v1.0&lt;br /&gt;
* Better late then ever...update to v1.0 so I can continue with the regular&lt;br /&gt;
version giving.&lt;br /&gt;
* Added MPO support (3D Images taken by the 3ds camera)&lt;br /&gt;
* 3D Video Conversion tool to convert youtube 3d videos to 3DS-3D MJPG videos...&lt;br /&gt;
* more bug fixes (as always)&lt;br /&gt;
v0.96&lt;br /&gt;
* Moved to .NET Framework 4.0 (because of OpenGL Support)&lt;br /&gt;
* Improved SRAM key search algorithm (fixes Starfox 3D)&lt;br /&gt;
* Added initial support for CWAV, CGFX&lt;br /&gt;
* New nifty about screen (3d logo)&lt;br /&gt;
* Preparations made for wav (CWAV) &amp;amp; 3d model (CMDL) decoding (WIP)&lt;br /&gt;
* Now the application needs 2 external DLLs for SharpGL&lt;br /&gt;
v0.9&lt;br /&gt;
* Now checks for update on startup (can be disabled)&lt;br /&gt;
* Added link to the Google-code site&lt;br /&gt;
* CIA: Can replace icons with any picture you want (Saving enabled)&lt;br /&gt;
* More bug fixes&lt;br /&gt;
v0.89&lt;br /&gt;
* CIA: Icons color mapping corrected (It&#039;s RGB565)&lt;br /&gt;
* ImageBox now has a zoom button.&lt;br /&gt;
* XOR Tool: New features: Xor byte arrays, AES-ctr sandbox.&lt;br /&gt;
* More bug fixes and mostly source code redesign&lt;br /&gt;
v0.83&lt;br /&gt;
* CIA: Fix: Correct Ticket&lt;br /&gt;
* CIA: Icon color mapping fixed (RGB -&amp;gt; GBR)&lt;br /&gt;
v0.82&lt;br /&gt;
* CIA: Added Banner icons viewing (Double click an icon to show it in the Banner&#039;s Metadata section)&lt;br /&gt;
v0.81&lt;br /&gt;
* Fix bug when opening TMD files&lt;br /&gt;
v0.8&lt;br /&gt;
* CIA support&lt;br /&gt;
* Changed GUI + Skin&lt;br /&gt;
* Fixed some bugs&lt;br /&gt;
v0.7&lt;br /&gt;
* More information on sav files&lt;br /&gt;
* Now all information is grouped&lt;br /&gt;
* Bug fixes for all contexts&lt;br /&gt;
* Hash tool supports HMAC&lt;br /&gt;
* Source code rewritten for optimization..&lt;br /&gt;
* [Experimental] Can now replace original files into sav image and save it to a new created sav file.&lt;br /&gt;
v0.62&lt;br /&gt;
* Bug fixes&lt;br /&gt;
* Rearranged the gui&lt;br /&gt;
* Now the exe file is a release and not a debug.&lt;br /&gt;
* Context menu for files in the filesystem list.&lt;br /&gt;
v0.61&lt;br /&gt;
* Fix for DATA partitions files save (wrong offsets)...&lt;br /&gt;
* Can now be associated with sav/bin/3ds/tmd files to open files from the explorer...&lt;br /&gt;
* Hashtool and XORtool can be opened while working with the explorer part of the program.&lt;br /&gt;
v0.6&lt;br /&gt;
* New GUI&lt;br /&gt;
* Improved algorithms (SAV files mainly)&lt;br /&gt;
* More information shown&lt;br /&gt;
* NEW and improved Hash Tool.&lt;br /&gt;
v0.55&lt;br /&gt;
* Works with most save files.&lt;br /&gt;
* More of the save structure understood&lt;br /&gt;
* Saving of files from the sav image fixed.&lt;br /&gt;
v0.53&lt;br /&gt;
* Fix for the tmd (now has certificates)&lt;br /&gt;
* TMD: Still not supporting SHA1 type&lt;br /&gt;
v0.52&lt;br /&gt;
* TMD now works&lt;br /&gt;
* Save opening was improved&lt;br /&gt;
* No question rather it&#039;s encrypted or not (autodetect)&lt;br /&gt;
&lt;br /&gt;
v0.51&lt;br /&gt;
* fix for save files from save image&lt;br /&gt;
* feature: save image file from sav binary&lt;br /&gt;
&lt;br /&gt;
v0.5&lt;br /&gt;
* new GUI now has file box&lt;br /&gt;
* fix for a few save files&lt;br /&gt;
* now can save files from save and 3ds (from 3ds still encrypted) by double clicking a file.&lt;br /&gt;
* when opening a crypted save you can save the key to a file&lt;br /&gt;
* now on google code using SVN (moved from github)&lt;br /&gt;
&lt;br /&gt;
v0.3&lt;br /&gt;
* changed the name of the application&lt;br /&gt;
* initial work on opening save binary files&lt;br /&gt;
* already opens save binary files, decrypts them and shows some info&lt;br /&gt;
&lt;br /&gt;
* I&#039;ll be happy to get some help from you guys on this...&lt;br /&gt;
&lt;br /&gt;
v0.1&lt;br /&gt;
* opens 3DS files and creates a treeview with the information&lt;br /&gt;
* can&#039;t decrypt the ExeFS (as no key yet to be found)&lt;br /&gt;
&lt;br /&gt;
== Screen shot ==&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot 3dsexplorer.png]]&lt;br /&gt;
&lt;br /&gt;
== Latest Build ==&lt;br /&gt;
&lt;br /&gt;
You can download the latest build [http://3dsexplorer.googlecode.com/svn/trunk/3DSExplorer/bin/3DSExplorer.exe here].&lt;br /&gt;
&lt;br /&gt;
Notice that this version may have unexpected output (broken files, corrupted data, broken dreams, etc.), as it is the latest development version available...&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=3DSExplorer&amp;diff=10638</id>
		<title>3DSExplorer</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=3DSExplorer&amp;diff=10638"/>
		<updated>2014-11-12T01:54:47Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Adjusted the wording and improved the look of some sentence structure and dictation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox homebrew&lt;br /&gt;
| title       = 3DSExplorer&lt;br /&gt;
| image     = [[Image:3DSCube_128px.png|128px]]&lt;br /&gt;
| type        = pc utility&lt;br /&gt;
| author      = [[User:Elisherer|elisherer]]&lt;br /&gt;
| download    = http://3dsexplorer.googlecode.com/files/3dsexplorer_v1.5.3.zip&lt;br /&gt;
| source = http://code.google.com/p/3dsexplorer/&lt;br /&gt;
| version     = 1.5.3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
3DSExplorer can explore various 3DS-related files and view the information as described on 3DBrew.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please use the latest version of the software, older versions have bugs that are fixed in the latest version.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;More over, refrain from uploading the application anywhere without my permission, just link to the Google code site.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Needs &#039;&#039;&#039;.NET Framework 4.0&#039;&#039;&#039;, you can get it [http://www.microsoft.com/download/en/details.aspx?id=17851 here].&lt;br /&gt;
&lt;br /&gt;
Note: If you want to install this program for Mac, Linux, or FreeBSD, you should install the latest version of Wine with Wine Mono.&lt;br /&gt;
&lt;br /&gt;
It runs well on Linux, but I haven&#039;t tested it on Mac OS X.&lt;br /&gt;
&lt;br /&gt;
Opens:&lt;br /&gt;
* CTR Cartridge Image files ([[NCSD|CCI]]/[[NCSD|CSU]]) (NCSD)&lt;br /&gt;
* CTR eXecutable Image files ([[NCCH#CXI|CXI]]) (NCCH)&lt;br /&gt;
* CTR File Archives ([[NCCH#CFA|CFA]]) (NCCH)&lt;br /&gt;
* CTR Importable Archives ([[CIA]])&lt;br /&gt;
* CTR Icons ([[SMDH|ICN]]) (SMDH)&lt;br /&gt;
* CTR Banners (BNR) (CBMD + BCWAV)&lt;br /&gt;
* CTR Waves ([[BCWAV]])&lt;br /&gt;
* CTR Banner Model Data ([[CBMD]])&lt;br /&gt;
* CTR Graphics ([[CBMD|CGFX]]) (CBMD)&lt;br /&gt;
* [[DARC]] (file containers) / [[BCMA]] CTR-Manuals&lt;br /&gt;
* Save Flash binaries ([[Savegames|SAV]]) (decrypted or encrypted)&lt;br /&gt;
* Title meta data files ([[TMD]]),&lt;br /&gt;
* Multi-Picture Objects ([[MPO]]) , (3D Images)&lt;br /&gt;
&lt;br /&gt;
Converts:&lt;br /&gt;
* Videos to 2D/3D MJPG AVI files for the 3DS (can download directly from YouTube)&lt;br /&gt;
&lt;br /&gt;
Some of the file formats can be saved with replaced contents.&lt;br /&gt;
&lt;br /&gt;
== Option for reading 3DS/CCI/CSU files from ZIP/7Z files ==&lt;br /&gt;
&lt;br /&gt;
Just compress your 3DS/CCI/CSU file into a 7Z or ZIP (with any other file you want like NFO file)&lt;br /&gt;
&lt;br /&gt;
Then you can open it from 3DSExplorer. &#039;&#039;&#039;But be aware that only the first CXI will be loaded and saving capabilities will not be available.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(3DSExplorer looks for the first file with the proper extension and reads the first 0x5000 bytes)&lt;br /&gt;
&lt;br /&gt;
== Upcoming features ==&lt;br /&gt;
&lt;br /&gt;
for v1.6&lt;br /&gt;
* Extracting binaries from CIA like ctrtool does.&lt;br /&gt;
&lt;br /&gt;
== Change log ==&lt;br /&gt;
&lt;br /&gt;
v1.5.3&lt;br /&gt;
*Revert supertrim from deleting the last partition record.&lt;br /&gt;
&lt;br /&gt;
v1.5.2&lt;br /&gt;
* Added Trim, Un-Trim and SuperTrim for CCI by 3DSGuy (aka ps3hen)&lt;br /&gt;
+ (Open up a CCI file and a new menu &amp;quot;CCI&amp;quot; will appear.)&lt;br /&gt;
&lt;br /&gt;
v1.5.1&lt;br /&gt;
* MPO: Added some info found by Thib&lt;br /&gt;
* Fixed: title.db update process.&lt;br /&gt;
* Parentool 3ds algorithm fixed (was wrong)&lt;br /&gt;
v1.5&lt;br /&gt;
* Added: QR Tool&lt;br /&gt;
* Added: Parental Control Unlocker (for 3DS as found by neimod, and for the DSi/Wii as on marcan&#039;s site)&lt;br /&gt;
v1.4&lt;br /&gt;
* Added: support for BCMA/DARC files/containers.&lt;br /&gt;
* Added: DSDecmp GUI for compression/decompression of LZ-10/11/Ovl &amp;amp; Huffman4/8.&lt;br /&gt;
* Updated: XOR Tool&#039;s file text boxes accept drag&amp;amp;drop (DSDecmp GUI&#039;s also).&lt;br /&gt;
v1.3 (3DSGuy)&lt;br /&gt;
* Added *.cfa as an openable file (associated with CXI module)&lt;br /&gt;
* Used more general terms for CXI/CFA and 3DS/CCI/CSU with NCCH and NCSD respectively, while the general terms are more broad, they are correct, as a CFA file is not a CXI file.&lt;br /&gt;
* Fixed the Number of NCCH from 13 to 8 in the CCI module&lt;br /&gt;
* Changed the NCSD header readings to match the current specs on 3DBrew, with the exception of the &amp;quot;ExHeader size/Exheader Hash&amp;quot;, as they are always zero in every NCSD.&lt;br /&gt;
* Made the ExHeader an extractable file from NCCH files.&lt;br /&gt;
v1.2.1&lt;br /&gt;
* fixed opening of cia files (thanks 3dsguy)&lt;br /&gt;
* updated title.db up to release #183&lt;br /&gt;
v1.2&lt;br /&gt;
* Added: The product codes and maker codes are now in a file called title.db&lt;br /&gt;
* Added: 3ds/cci/csu can be opened from zip/7z files with limited information (cci,1st cxi &amp;amp; crc32)&lt;br /&gt;
v1.1.1&lt;br /&gt;
* fixed file tree activation bugs&lt;br /&gt;
* fixed some typos&lt;br /&gt;
* CCI: added an option to save cxi file (right click the CXI node in the file tree)&lt;br /&gt;
v1.1 - Happy Holidays&lt;br /&gt;
* New opens CXI files&lt;br /&gt;
* New opens CSU files (CTR System update - same as CCI)&lt;br /&gt;
* New opens ICN files (CTR Icons)&lt;br /&gt;
* Added QuickCRC32 tool to check for authenticity (also added CRC32 to hash tool)&lt;br /&gt;
* Generalized the explorer (the source code of the explorer is general, now it would be easier to add more file formats)&lt;br /&gt;
* 3D Video converter: Progress is working, fixed a lot, now works almost flawlessly.&lt;br /&gt;
* CCI: Added more information to the header.&lt;br /&gt;
* MPO: Added Nintendo&#039;s MakerNote structure.&lt;br /&gt;
v1.0&lt;br /&gt;
* Better late then ever...update to v1.0 so I can continue with the regular&lt;br /&gt;
version giving.&lt;br /&gt;
* Added MPO support (3D Images taken by the 3ds camera)&lt;br /&gt;
* 3D Video Conversion tool to convert youtube 3d videos to 3DS-3D MJPG videos...&lt;br /&gt;
* more bug fixes (as always)&lt;br /&gt;
v0.96&lt;br /&gt;
* Moved to .NET Framework 4.0 (because of OpenGL Support)&lt;br /&gt;
* Improved SRAM key search algorithm (fixes Starfox 3D)&lt;br /&gt;
* Added initial support for CWAV, CGFX&lt;br /&gt;
* New nifty about screen (3d logo)&lt;br /&gt;
* Preparations made for wav (CWAV) &amp;amp; 3d model (CMDL) decoding (WIP)&lt;br /&gt;
* Now the application needs 2 external DLLs for SharpGL&lt;br /&gt;
v0.9&lt;br /&gt;
* Now checks for update on startup (can be disabled)&lt;br /&gt;
* Added link to the Google-code site&lt;br /&gt;
* CIA: Can replace icons with any picture you want (Saving enabled)&lt;br /&gt;
* More bug fixes&lt;br /&gt;
v0.89&lt;br /&gt;
* CIA: Icons color mapping corrected (It&#039;s RGB565)&lt;br /&gt;
* ImageBox now has a zoom button.&lt;br /&gt;
* XOR Tool: New features: Xor byte arrays, AES-ctr sandbox.&lt;br /&gt;
* More bug fixes and mostly source code redesign&lt;br /&gt;
v0.83&lt;br /&gt;
* CIA: Fix: Correct Ticket&lt;br /&gt;
* CIA: Icon color mapping fixed (RGB -&amp;gt; GBR)&lt;br /&gt;
v0.82&lt;br /&gt;
* CIA: Added Banner icons viewing (Double click an icon to show it in the Banner&#039;s Metadata section)&lt;br /&gt;
v0.81&lt;br /&gt;
* Fix bug when opening TMD files&lt;br /&gt;
v0.8&lt;br /&gt;
* CIA support&lt;br /&gt;
* Changed GUI + Skin&lt;br /&gt;
* Fixed some bugs&lt;br /&gt;
v0.7&lt;br /&gt;
* More information on sav files&lt;br /&gt;
* Now all information is grouped&lt;br /&gt;
* Bug fixes for all contexts&lt;br /&gt;
* Hash tool supports HMAC&lt;br /&gt;
* Source code rewritten for optimization..&lt;br /&gt;
* [Experimental] Can now replace original files into sav image and save it to a new created sav file.&lt;br /&gt;
v0.62&lt;br /&gt;
* Bug fixes&lt;br /&gt;
* Rearranged the gui&lt;br /&gt;
* Now the exe file is a release and not a debug.&lt;br /&gt;
* Context menu for files in the filesystem list.&lt;br /&gt;
v0.61&lt;br /&gt;
* Fix for DATA partitions files save (wrong offsets)...&lt;br /&gt;
* Can now be associated with sav/bin/3ds/tmd files to open files from the explorer...&lt;br /&gt;
* Hashtool and XORtool can be opened while working with the explorer part of the program.&lt;br /&gt;
v0.6&lt;br /&gt;
* New GUI&lt;br /&gt;
* Improved algorithms (SAV files mainly)&lt;br /&gt;
* More information shown&lt;br /&gt;
* NEW and improved Hash Tool.&lt;br /&gt;
v0.55&lt;br /&gt;
* Works with most save files.&lt;br /&gt;
* More of the save structure understood&lt;br /&gt;
* Saving of files from the sav image fixed.&lt;br /&gt;
v0.53&lt;br /&gt;
* Fix for the tmd (now has certificates)&lt;br /&gt;
* TMD: Still not supporting SHA1 type&lt;br /&gt;
v0.52&lt;br /&gt;
* TMD now works&lt;br /&gt;
* Save opening was improved&lt;br /&gt;
* No question rather it&#039;s encrypted or not (autodetect)&lt;br /&gt;
&lt;br /&gt;
v0.51&lt;br /&gt;
* fix for save files from save image&lt;br /&gt;
* feature: save image file from sav binary&lt;br /&gt;
&lt;br /&gt;
v0.5&lt;br /&gt;
* new GUI now has file box&lt;br /&gt;
* fix for a few save files&lt;br /&gt;
* now can save files from save and 3ds (from 3ds still encrypted) by double clicking a file.&lt;br /&gt;
* when opening a crypted save you can save the key to a file&lt;br /&gt;
* now on google code using SVN (moved from github)&lt;br /&gt;
&lt;br /&gt;
v0.3&lt;br /&gt;
* changed the name of the application&lt;br /&gt;
* initial work on opening save binary files&lt;br /&gt;
* already opens save binary files, decrypts them and shows some info&lt;br /&gt;
&lt;br /&gt;
* I&#039;ll be happy to get some help from you guys on this...&lt;br /&gt;
&lt;br /&gt;
v0.1&lt;br /&gt;
* opens 3DS files and creates a treeview with the information&lt;br /&gt;
* can&#039;t decrypt the ExeFS (as no key yet to be found)&lt;br /&gt;
&lt;br /&gt;
== Screen shot ==&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot 3dsexplorer.png]]&lt;br /&gt;
&lt;br /&gt;
== Latest Build ==&lt;br /&gt;
&lt;br /&gt;
You can download the latest build [http://3dsexplorer.googlecode.com/svn/trunk/3DSExplorer/bin/3DSExplorer.exe here].&lt;br /&gt;
&lt;br /&gt;
Notice that this version may have unexpected output (broken files, corrupted data, broken dreams, etc.), as it is the latest version available...&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=3DSExplorer&amp;diff=10636</id>
		<title>3DSExplorer</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=3DSExplorer&amp;diff=10636"/>
		<updated>2014-11-12T01:51:11Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Adjusted the wording and updated a few things. Fixed a few links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox homebrew&lt;br /&gt;
| title       = 3DSExplorer&lt;br /&gt;
| image     = [[Image:3DSCube_128px.png|128px]]&lt;br /&gt;
| type        = pc utility&lt;br /&gt;
| author      = [[User:Elisherer|elisherer]]&lt;br /&gt;
| download    = http://3dsexplorer.googlecode.com/files/3dsexplorer_v1.5.3.zip&lt;br /&gt;
| source = http://code.google.com/p/3dsexplorer/&lt;br /&gt;
| version     = 1.5.3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
3DSExplorer can explore various 3DS-related files and view the information as described on 3DBrew.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please use the latest version of the software, older versions have bugs that are fixed in the latest version.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;More over, refrain from uploading the application anywhere without my permission, just link to the Google code site.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Needs &#039;&#039;&#039;.NET Framework 4.0&#039;&#039;&#039;, you can get it [http://www.microsoft.com/download/en/details.aspx?id=17851 here].&lt;br /&gt;
&lt;br /&gt;
Note: If you want to install this program for Mac, Linux, or FreeBSD,you should install Wine beta version 15 or later with Wine Mono.&lt;br /&gt;
&lt;br /&gt;
It completely works on Linux, but I haven&#039;t tested it on Mac OS X.&lt;br /&gt;
&lt;br /&gt;
Opens:&lt;br /&gt;
* CTR Cartridge Image files ([[NCSD|CCI]]/[[NCSD|CSU]]) (NCSD)&lt;br /&gt;
* CTR eXecutable Image files ([[NCCH#CXI|CXI]]) (NCCH)&lt;br /&gt;
* CTR File Archives ([[NCCH#CFA|CFA]]) (NCCH)&lt;br /&gt;
* CTR Importable Archives ([[CIA]])&lt;br /&gt;
* CTR Icons ([[SMDH|ICN]]) (SMDH)&lt;br /&gt;
* CTR Banners (BNR) (CBMD + BCWAV)&lt;br /&gt;
* CTR Waves ([[BCWAV]])&lt;br /&gt;
* CTR Banner Model Data ([[CBMD]])&lt;br /&gt;
* CTR Graphics ([[CBMD|CGFX]]) (CBMD)&lt;br /&gt;
* [[DARC]] (file containers) / [[BCMA]] CTR-Manuals&lt;br /&gt;
* Save Flash binaries ([[Savegames|SAV]]) (decrypted or encrypted)&lt;br /&gt;
* Title meta data files ([[TMD]]),&lt;br /&gt;
* Multi-Picture Objects ([[MPO]]) , (3D Images)&lt;br /&gt;
&lt;br /&gt;
Converts:&lt;br /&gt;
* Videos to 2D/3D MJPG AVI files for the 3DS (can download directly from YouTube)&lt;br /&gt;
&lt;br /&gt;
Some of the file formats can be saved with replaced contents.&lt;br /&gt;
&lt;br /&gt;
== Option for reading 3DS/CCI/CSU files from ZIP/7Z files ==&lt;br /&gt;
&lt;br /&gt;
Just compress your 3DS/CCI/CSU file into a 7Z or ZIP (with any other file you want like NFO file)&lt;br /&gt;
&lt;br /&gt;
Then you can open it from 3DSExplorer. &#039;&#039;&#039;But be aware that only the first CXI will be loaded and saving capabilities will not be available.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(3DSExplorer looks for the first file with the proper extension and reads the first 0x5000 bytes)&lt;br /&gt;
&lt;br /&gt;
== Upcoming features ==&lt;br /&gt;
&lt;br /&gt;
for v1.6&lt;br /&gt;
* Extracting binaries from CIA like ctrtool does.&lt;br /&gt;
&lt;br /&gt;
== Change log ==&lt;br /&gt;
&lt;br /&gt;
v1.5.3&lt;br /&gt;
*Revert supertrim from deleting the last partition record.&lt;br /&gt;
&lt;br /&gt;
v1.5.2&lt;br /&gt;
* Added Trim, Un-Trim and SuperTrim for CCI by 3DSGuy (aka ps3hen)&lt;br /&gt;
+ (Open up a CCI file and a new menu &amp;quot;CCI&amp;quot; will appear.)&lt;br /&gt;
&lt;br /&gt;
v1.5.1&lt;br /&gt;
* MPO: Added some info found by Thib&lt;br /&gt;
* Fixed: title.db update process.&lt;br /&gt;
* Parentool 3ds algorithm fixed (was wrong)&lt;br /&gt;
v1.5&lt;br /&gt;
* Added: QR Tool&lt;br /&gt;
* Added: Parental Control Unlocker (for 3DS as found by neimod, and for the DSi/Wii as on marcan&#039;s site)&lt;br /&gt;
v1.4&lt;br /&gt;
* Added: support for BCMA/DARC files/containers.&lt;br /&gt;
* Added: DSDecmp GUI for compression/decompression of LZ-10/11/Ovl &amp;amp; Huffman4/8.&lt;br /&gt;
* Updated: XOR Tool&#039;s file text boxes accept drag&amp;amp;drop (DSDecmp GUI&#039;s also).&lt;br /&gt;
v1.3 (3DSGuy)&lt;br /&gt;
* Added *.cfa as an openable file (associated with CXI module)&lt;br /&gt;
* Used more general terms for CXI/CFA and 3DS/CCI/CSU with NCCH and NCSD respectively, while the general terms are more broad, they are correct, as a CFA file is not a CXI file.&lt;br /&gt;
* Fixed the Number of NCCH from 13 to 8 in the CCI module&lt;br /&gt;
* Changed the NCSD header readings to match the current specs on 3DBrew, with the exception of the &amp;quot;ExHeader size/Exheader Hash&amp;quot;, as they are always zero in every NCSD.&lt;br /&gt;
* Made the ExHeader an extractable file from NCCH files.&lt;br /&gt;
v1.2.1&lt;br /&gt;
* fixed opening of cia files (thanks 3dsguy)&lt;br /&gt;
* updated title.db up to release #183&lt;br /&gt;
v1.2&lt;br /&gt;
* Added: The product codes and maker codes are now in a file called title.db&lt;br /&gt;
* Added: 3ds/cci/csu can be opened from zip/7z files with limited information (cci,1st cxi &amp;amp; crc32)&lt;br /&gt;
v1.1.1&lt;br /&gt;
* fixed file tree activation bugs&lt;br /&gt;
* fixed some typos&lt;br /&gt;
* CCI: added an option to save cxi file (right click the CXI node in the file tree)&lt;br /&gt;
v1.1 - Happy Holidays&lt;br /&gt;
* New opens CXI files&lt;br /&gt;
* New opens CSU files (CTR System update - same as CCI)&lt;br /&gt;
* New opens ICN files (CTR Icons)&lt;br /&gt;
* Added QuickCRC32 tool to check for authenticity (also added CRC32 to hash tool)&lt;br /&gt;
* Generalized the explorer (the source code of the explorer is general, now it would be easier to add more file formats)&lt;br /&gt;
* 3D Video converter: Progress is working, fixed a lot, now works almost flawlessly.&lt;br /&gt;
* CCI: Added more information to the header.&lt;br /&gt;
* MPO: Added Nintendo&#039;s MakerNote structure.&lt;br /&gt;
v1.0&lt;br /&gt;
* Better late then ever...update to v1.0 so I can continue with the regular&lt;br /&gt;
version giving.&lt;br /&gt;
* Added MPO support (3D Images taken by the 3ds camera)&lt;br /&gt;
* 3D Video Conversion tool to convert youtube 3d videos to 3DS-3D MJPG videos...&lt;br /&gt;
* more bug fixes (as always)&lt;br /&gt;
v0.96&lt;br /&gt;
* Moved to .NET Framework 4.0 (because of OpenGL Support)&lt;br /&gt;
* Improved SRAM key search algorithm (fixes Starfox 3D)&lt;br /&gt;
* Added initial support for CWAV, CGFX&lt;br /&gt;
* New nifty about screen (3d logo)&lt;br /&gt;
* Preparations made for wav (CWAV) &amp;amp; 3d model (CMDL) decoding (WIP)&lt;br /&gt;
* Now the application needs 2 external DLLs for SharpGL&lt;br /&gt;
v0.9&lt;br /&gt;
* Now checks for update on startup (can be disabled)&lt;br /&gt;
* Added link to the Google-code site&lt;br /&gt;
* CIA: Can replace icons with any picture you want (Saving enabled)&lt;br /&gt;
* More bug fixes&lt;br /&gt;
v0.89&lt;br /&gt;
* CIA: Icons color mapping corrected (It&#039;s RGB565)&lt;br /&gt;
* ImageBox now has a zoom button.&lt;br /&gt;
* XOR Tool: New features: Xor byte arrays, AES-ctr sandbox.&lt;br /&gt;
* More bug fixes and mostly source code redesign&lt;br /&gt;
v0.83&lt;br /&gt;
* CIA: Fix: Correct Ticket&lt;br /&gt;
* CIA: Icon color mapping fixed (RGB -&amp;gt; GBR)&lt;br /&gt;
v0.82&lt;br /&gt;
* CIA: Added Banner icons viewing (Double click an icon to show it in the Banner&#039;s Metadata section)&lt;br /&gt;
v0.81&lt;br /&gt;
* Fix bug when opening TMD files&lt;br /&gt;
v0.8&lt;br /&gt;
* CIA support&lt;br /&gt;
* Changed GUI + Skin&lt;br /&gt;
* Fixed some bugs&lt;br /&gt;
v0.7&lt;br /&gt;
* More information on sav files&lt;br /&gt;
* Now all information is grouped&lt;br /&gt;
* Bug fixes for all contexts&lt;br /&gt;
* Hash tool supports HMAC&lt;br /&gt;
* Source code rewritten for optimization..&lt;br /&gt;
* [Experimental] Can now replace original files into sav image and save it to a new created sav file.&lt;br /&gt;
v0.62&lt;br /&gt;
* Bug fixes&lt;br /&gt;
* Rearranged the gui&lt;br /&gt;
* Now the exe file is a release and not a debug.&lt;br /&gt;
* Context menu for files in the filesystem list.&lt;br /&gt;
v0.61&lt;br /&gt;
* Fix for DATA partitions files save (wrong offsets)...&lt;br /&gt;
* Can now be associated with sav/bin/3ds/tmd files to open files from the explorer...&lt;br /&gt;
* Hashtool and XORtool can be opened while working with the explorer part of the program.&lt;br /&gt;
v0.6&lt;br /&gt;
* New GUI&lt;br /&gt;
* Improved algorithms (SAV files mainly)&lt;br /&gt;
* More information shown&lt;br /&gt;
* NEW and improved Hash Tool.&lt;br /&gt;
v0.55&lt;br /&gt;
* Works with most save files.&lt;br /&gt;
* More of the save structure understood&lt;br /&gt;
* Saving of files from the sav image fixed.&lt;br /&gt;
v0.53&lt;br /&gt;
* Fix for the tmd (now has certificates)&lt;br /&gt;
* TMD: Still not supporting SHA1 type&lt;br /&gt;
v0.52&lt;br /&gt;
* TMD now works&lt;br /&gt;
* Save opening was improved&lt;br /&gt;
* No question rather it&#039;s encrypted or not (autodetect)&lt;br /&gt;
&lt;br /&gt;
v0.51&lt;br /&gt;
* fix for save files from save image&lt;br /&gt;
* feature: save image file from sav binary&lt;br /&gt;
&lt;br /&gt;
v0.5&lt;br /&gt;
* new GUI now has file box&lt;br /&gt;
* fix for a few save files&lt;br /&gt;
* now can save files from save and 3ds (from 3ds still encrypted) by double clicking a file.&lt;br /&gt;
* when opening a crypted save you can save the key to a file&lt;br /&gt;
* now on google code using SVN (moved from github)&lt;br /&gt;
&lt;br /&gt;
v0.3&lt;br /&gt;
* changed the name of the application&lt;br /&gt;
* initial work on opening save binary files&lt;br /&gt;
* already opens save binary files, decrypts them and shows some info&lt;br /&gt;
&lt;br /&gt;
* I&#039;ll be happy to get some help from you guys on this...&lt;br /&gt;
&lt;br /&gt;
v0.1&lt;br /&gt;
* opens 3DS files and creates a treeview with the information&lt;br /&gt;
* can&#039;t decrypt the ExeFS (as no key yet to be found)&lt;br /&gt;
&lt;br /&gt;
== Screen shot ==&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot 3dsexplorer.png]]&lt;br /&gt;
&lt;br /&gt;
== Latest Build ==&lt;br /&gt;
&lt;br /&gt;
You can download the latest build [http://3dsexplorer.googlecode.com/svn/trunk/3DSExplorer/bin/3DSExplorer.exe here].&lt;br /&gt;
&lt;br /&gt;
Notice that this version may have unexpected output (broken files, corrupted data, broken dreams, etc.), as it is the latest version available...&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=News/Archive&amp;diff=10635</id>
		<title>News/Archive</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=News/Archive&amp;diff=10635"/>
		<updated>2014-11-12T01:42:25Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Update the international text to be more English, and less international. :D&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*&#039;&#039;&#039;7 August 14&#039;&#039;&#039; Nintendo released system update [[8.1.0-19]].&lt;br /&gt;
*&#039;&#039;&#039;24 July 14&#039;&#039;&#039; Nintendo released system update [[8.1.0-18]].&lt;br /&gt;
*&#039;&#039;&#039;7 July 14&#039;&#039;&#039; Nintendo released system update [[8.0.0-18]].&lt;br /&gt;
*&#039;&#039;&#039;12 May 14&#039;&#039;&#039; Nintendo released system update [[7.2.0-17]].&lt;br /&gt;
*&#039;&#039;&#039;26 February 14&#039;&#039;&#039; Nintendo released system update [[7.1.0-16]].&lt;br /&gt;
*&#039;&#039;&#039;22 January 14&#039;&#039;&#039; Nintendo released system update [[7.1.0-15]].&lt;br /&gt;
*&#039;&#039;&#039;19 December 13&#039;&#039;&#039; Nintendo released system update [[7.1.0-14]].&lt;br /&gt;
*&#039;&#039;&#039;9 December 13&#039;&#039;&#039; Nintendo released system update [[7.0.0-13]].&lt;br /&gt;
*&#039;&#039;&#039;13 September 13&#039;&#039;&#039; Nintendo released system update [[6.3.0-12]].&lt;br /&gt;
*&#039;&#039;&#039;20 August 13&#039;&#039;&#039; [[3DSExplorer|3DSExplorer v1.5.3]] updated by [[User:Elisherer|Elisherer]] (Enable trimming NCSD)&lt;br /&gt;
*&#039;&#039;&#039;6 August 13&#039;&#039;&#039; Nintendo released system update [[6.2.0-12]].&lt;br /&gt;
*&#039;&#039;&#039;11 July 13&#039;&#039;&#039; Nintendo released system update [[6.1.0-12U]] for only USA.&lt;br /&gt;
*&#039;&#039;&#039;27 June 13&#039;&#039;&#039; Nintendo released system update [[6.1.0-11]] (6.1.0-12 for all regions except USA).&lt;br /&gt;
*&#039;&#039;&#039;17 June 13&#039;&#039;&#039; Nintendo released system update [[6.0.0-11]] (6.0.0-12 for all regions except USA).&lt;br /&gt;
*&#039;&#039;&#039;4 April 13&#039;&#039;&#039; Nintendo released system update [[5.1.0-11]].&lt;br /&gt;
*&#039;&#039;&#039;25 March 13&#039;&#039;&#039; Nintendo released system update [[5.0.0-11]].&lt;br /&gt;
*&#039;&#039;&#039;14 January 13&#039;&#039;&#039; [[3DSExplorer|3DSExplorer v1.5.1]] updated by [[User:Elisherer|Elisherer]]&lt;br /&gt;
*&#039;&#039;&#039;4 December 12&#039;&#039;&#039; Nintendo released system update [[4.5.0-10]].&lt;br /&gt;
*&#039;&#039;&#039;1 December 12&#039;&#039;&#039; [[3DSExplorer|3DSExplorer v1.4]] updated by [[User:Elisherer|Elisherer]]&lt;br /&gt;
*&#039;&#039;&#039;2 November 12&#039;&#039;&#039; Added page for [[Fundraiser|Chip decapping fundraiser]]&lt;br /&gt;
*&#039;&#039;&#039;8 January 13&#039;&#039;&#039; [[3DSExplorer|3DSExplorer v1.5]] updated by [[User:Elisherer|Elisherer]]&lt;br /&gt;
*&#039;&#039;&#039;23 September 12&#039;&#039;&#039; [[005tools|005tools v0.1b]] by [[User:McHaggis|McHaggis]]&lt;br /&gt;
*&#039;&#039;&#039;19 September 12&#039;&#039;&#039; Nintendo released system update [[4.4.0-10]].&lt;br /&gt;
*&#039;&#039;&#039;17 August 12&#039;&#039;&#039; Nintendo released New Super Mario Bros. 2, the first 3DS title released simultaneously in stores and as an [[eShop]] download.&lt;br /&gt;
*&#039;&#039;&#039;28 July 12&#039;&#039;&#039; [[3DSExplorer|3DSExplorer v1.3]] (modified by 3DSGuy) updated by [[User:Elisherer|Elisherer]]&lt;br /&gt;
*&#039;&#039;&#039;24 July 12&#039;&#039;&#039; Nintendo released system update [[4.3.0-10]].&lt;br /&gt;
*&#039;&#039;&#039;26 June 12&#039;&#039;&#039; Nintendo released system update [[4.2.0-9]].&lt;br /&gt;
*&#039;&#039;&#039;19 May 12&#039;&#039;&#039; [[3DSExplorer|3DSExplorer v1.2.1]] updated by [[User:Elisherer|Elisherer]]&lt;br /&gt;
*&#039;&#039;&#039;15 May 12&#039;&#039;&#039; Nintendo released its first implementation of 3DS &#039;[[Title list#0004000E - Add-on Content|Add-on Content]]&#039; with the Mario Kart 1.1 update.&lt;br /&gt;
*&#039;&#039;&#039;14 May 12&#039;&#039;&#039; Nintendo released system update [[4.1.0-8]].&lt;br /&gt;
*&#039;&#039;&#039;24 April 12&#039;&#039;&#039; Nintendo released system update [[4.0.0-7]].&lt;br /&gt;
*&#039;&#039;&#039;08 February 12&#039;&#039;&#039; [[CiTRUS|CiTRUS v0.2]] updated by [[User:Xcution|Xcution]]&lt;br /&gt;
*&#039;&#039;&#039;04 February 12&#039;&#039;&#039; [[CiTRUS|CiTRUS v0.1]] released by [[User:Xcution|Xcution]]&lt;br /&gt;
*&#039;&#039;&#039;02 February 12&#039;&#039;&#039; [[3DSExplorer|3DSExplorer v1.2]] updated by [[User:Elisherer|elisherer]]&lt;br /&gt;
*&#039;&#039;&#039;26 January 12&#039;&#039;&#039; [[Crappy Tiny Reader|CTR - Crappy Tiny Reader v0.07]] updated by [[User:PsyKopaT|PsyKo]]&lt;br /&gt;
*&#039;&#039;&#039;05 January 12&#039;&#039;&#039; [[Crappy Tiny Reader|CTR - Crappy Tiny Reader v0.06]] updated by [[User:PsyKopaT|PsyKo]]&lt;br /&gt;
*&#039;&#039;&#039;21 December 11&#039;&#039;&#039; Nintendo released system update [[3.0.0-6]]&lt;br /&gt;
*&#039;&#039;&#039;21 December 11&#039;&#039;&#039; [[3DSExplorer|3DSExplorer v1.1.1]] updated by [[User:Elisherer|elisherer]]&lt;br /&gt;
*&#039;&#039;&#039;7 December 11&#039;&#039;&#039; [[3DSExplorer|3DSExplorer v0.96]] updated by [[User:Elisherer|elisherer]]&lt;br /&gt;
*&#039;&#039;&#039;4 September 11&#039;&#039;&#039; [[3DSViewer|3DSViewer v0.1]] released by [[User:Elisherer|elisherer]]&lt;br /&gt;
*&#039;&#039;&#039;1 August 11&#039;&#039;&#039; [[3DS Save DeEncrypter3DS|Save DeEncrypter v1.0]] released by [[User:Blite|Blite]]&lt;br /&gt;
*&#039;&#039;&#039;25 July 11&#039;&#039;&#039; Nintendo released system update [[2.1.0-4]].&lt;br /&gt;
*&#039;&#039;&#039;15 June 11&#039;&#039;&#039; Nintendo released system update [[2.1.0-3]].&lt;br /&gt;
*&#039;&#039;&#039;6 June 11&#039;&#039;&#039; Nintendo released system update [[2.0.0-2]].&lt;br /&gt;
*&#039;&#039;&#039;6 April 11&#039;&#039;&#039; [[DSaveManager|DSaveManager v0.1]] released by [[User:Crediar|crediar]]&lt;br /&gt;
*&#039;&#039;&#039;4 April 11&#039;&#039;&#039; [[3DSaveTool|3DSaveTool v0.2b]] released by [[User:Crediar|crediar]]&lt;br /&gt;
*&#039;&#039;&#039;2 April 11&#039;&#039;&#039; [[3DSaveTool|3DSaveTool v0.1]] released by [[User:Crediar|crediar]]&lt;br /&gt;
*&#039;&#039;&#039;28 March 11&#039;&#039;&#039; Fixed 3DBrew wiki issues, now fully operational!&lt;br /&gt;
*&#039;&#039;&#039;18 March 11&#039;&#039;&#039; 3DBrew launched.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 3DBrew International ==&lt;br /&gt;
Our community is an international community.&lt;br /&gt;
&lt;br /&gt;
We have freedom, and we will express it in our language (but you have to write it in English before ;)!&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=DSP_Binary&amp;diff=10607</id>
		<title>DSP Binary</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=DSP_Binary&amp;diff=10607"/>
		<updated>2014-11-10T22:11:11Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Small fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:File formats]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA Signature over bytes 0x100-0x300&lt;br /&gt;
|-&lt;br /&gt;
| 0x100&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&#039;DSP1&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x104&lt;br /&gt;
| 4&lt;br /&gt;
| DSP binary size&lt;br /&gt;
|-&lt;br /&gt;
| 0x108&lt;br /&gt;
| 2&lt;br /&gt;
| Memory layout (bits 0-7: Program ram, 8-15: Data ram). Each bit represents a memory region. The region is always 0x8000 bytes in size (the first region starts at 0x1FF00000; the next is a 0x1FF08000 and so on). The HW registers for DSP memory configuration are (u8*)(0x1EC40000 + bit position) (?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x10C&lt;br /&gt;
| 1&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10D&lt;br /&gt;
| 1&lt;br /&gt;
| Special segment memory type (0=1=0x1FF00000(Program ram)+,2=0x1FF40000(Data ram)+)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10E&lt;br /&gt;
| 1&lt;br /&gt;
| Num segments (must be 1-10)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10F&lt;br /&gt;
| 1&lt;br /&gt;
| Flags (bit0=?, bit1=load special segment)&lt;br /&gt;
|-&lt;br /&gt;
| 0x110&lt;br /&gt;
| 4&lt;br /&gt;
| Special segment Start address in 16-bit words&lt;br /&gt;
|-&lt;br /&gt;
| 0x114&lt;br /&gt;
| 4&lt;br /&gt;
| Special segment size in bytes&lt;br /&gt;
|-&lt;br /&gt;
| 0x118&lt;br /&gt;
| 8&lt;br /&gt;
| Zero&lt;br /&gt;
|-&lt;br /&gt;
| 0x120&lt;br /&gt;
| 0x30*10&lt;br /&gt;
| Segment records&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;special segment&amp;quot; flag is set, 0x214 bytes are read from [[CfgS:GetConfigInfoBlk8]] block 0x70000, and then copied to the special segment given. If the reading fails, zeroes are written in its place. The purpose of this segment is currently unknown. &lt;br /&gt;
&lt;br /&gt;
Each segment record:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 4&lt;br /&gt;
| Offset data&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| Start address in 16-bit words (must be &amp;lt; 0x20000 for type 0, &amp;lt; 0x10000 for type 1,2)&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 4&lt;br /&gt;
| Size in bytes&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 1&lt;br /&gt;
| Memory type (0=1=0x1FF00000 (Program ram)+,2=0x1FF40000 (Data ram)+)&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 32&lt;br /&gt;
| SHA256 hash of segment&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The normal ending of this files is *.cdc&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=DSP_Binary&amp;diff=10606</id>
		<title>DSP Binary</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=DSP_Binary&amp;diff=10606"/>
		<updated>2014-11-10T22:10:17Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Clean some things up&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:File formats]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA Signature over bytes 0x100-0x300&lt;br /&gt;
|-&lt;br /&gt;
| 0x100&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&#039;DSP1&#039;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x104&lt;br /&gt;
| 4&lt;br /&gt;
| DSP binary size&lt;br /&gt;
|-&lt;br /&gt;
| 0x108&lt;br /&gt;
| 2&lt;br /&gt;
| Memory layout (bits 0-7: Program ram, 8-15: Data ram). Each bit represents a memory region. The region is always 0x8000 bytes in size (the first region starts at 0x1FF00000; the next is a 0x1FF08000 and so on). The HW registers for DSP memory configuration are (u8*)(0x1EC40000 + bit position) (?).&lt;br /&gt;
|-&lt;br /&gt;
| 0x10C&lt;br /&gt;
| 1&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10D&lt;br /&gt;
| 1&lt;br /&gt;
| Special segment memory type (0=1=0x1FF00000(Program ram)+,2=0x1FF40000(Dataram)+)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10E&lt;br /&gt;
| 1&lt;br /&gt;
| Num segments (must be 1-10)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10F&lt;br /&gt;
| 1&lt;br /&gt;
| Flags (bit0=?, bit1=load special segment)&lt;br /&gt;
|-&lt;br /&gt;
| 0x110&lt;br /&gt;
| 4&lt;br /&gt;
| Special segment Start address in 16-bit words&lt;br /&gt;
|-&lt;br /&gt;
| 0x114&lt;br /&gt;
| 4&lt;br /&gt;
| Special segment size in bytes&lt;br /&gt;
|-&lt;br /&gt;
| 0x118&lt;br /&gt;
| 8&lt;br /&gt;
| Zero&lt;br /&gt;
|-&lt;br /&gt;
| 0x120&lt;br /&gt;
| 0x30*10&lt;br /&gt;
| Segment records&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;special segment&amp;quot; flag is set, 0x214 bytes are read from [[CfgS:GetConfigInfoBlk8]] block 0x70000, and then copied to the special segment given. If the reading fails, zeroes are written in its place. The purpose of this segment is currently unknown. &lt;br /&gt;
&lt;br /&gt;
Each segment record:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| 4&lt;br /&gt;
| Offset data&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| Start address in 16-bit words (must be &amp;lt; 0x20000 for type 0, &amp;lt; 0x10000 for type 1,2)&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 4&lt;br /&gt;
| Size in bytes&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| 1&lt;br /&gt;
| Memory type (0=1=0x1FF00000 (Program ram)+,2=0x1FF40000 (Data ram)+)&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 32&lt;br /&gt;
| SHA256 hash of segment&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The normal ending of this files is *.cdc&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=EShop&amp;diff=10605</id>
		<title>EShop</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=EShop&amp;diff=10605"/>
		<updated>2014-11-10T22:05:49Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fix up some stuff&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Nintendo 3DS eShop was added in the June 2011 update for JP/EUR/USA.&lt;br /&gt;
&lt;br /&gt;
From here, you can download Virtual Console games, 3D Classics, DSiware software, view screenshots, and 3D trailers for upcoming 3DS titles.&lt;br /&gt;
&lt;br /&gt;
eShop uses the following domains over HTTPS:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* cp3s-auth.c.shop.nintendowifi.net&lt;br /&gt;
* a248.e.akamai.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These domains are used by [[NIM_Services|NIM]]:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nus.c.shop.nintendowifi.net&lt;br /&gt;
* ecs.c.shop.nintendowifi.net&lt;br /&gt;
* cas.c.shop.nintendowifi.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While eShop is loading, eShop will use command [[NIMS:CheckSysupdateAvailableSOAP]]. If a system update is available where title installation for system titles still needs finalized (or when the updated titles were not downloaded at all), eShop will then display the &amp;quot;system update is available&amp;quot; message.&lt;br /&gt;
&lt;br /&gt;
The eShop application uses command [[AMNet:FinishInstallToMedia]] to finalize the SD title install (if the whole title is downloaded while eShop is still running), however, before using that command the eShop application also uses [[AMNet:FinishInstallToMedia]] to finalize installing all system titles (from system updates).&lt;br /&gt;
&lt;br /&gt;
== eShop QR Codes ==&lt;br /&gt;
eShop QR Codes can be scanned with the camera, allowing one to quickly navigate to the desired eShop title with just two clicks. The QR Codes themselves is a simple text/url QR, started with &amp;quot;ESHOP://&amp;quot; string followed by an eShop title link id and then some special data, delimited by a dot symbol, which can be ommited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! QR Code source&lt;br /&gt;
! Region&lt;br /&gt;
! Title&lt;br /&gt;
! Serial&lt;br /&gt;
! Title ID&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000000201.PEAALL000000 || EUR || Nintendogs &amp;amp; Cats Demo || ADA/B/C || 0004000200030c01&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000007870.PEAALL000000 || EUR || Crush 3D || A??P || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008009.PEAALL000000 || EUR || Resident Evil Revelations Demo || ABRE || 000400020005ee01&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008123.J00101Z00095 || JPN || Rhythm Thief And The Emperor&#039;s Treasure Demo || ARTJ || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008404.PEAALL000000 || EUR || Mario And Sonic At The London 2012 Olympic Games Demo || ACMP [http://mediacontent.nintendo-europe.com/NOE/images/game_content/ACMP-MarioAndSonicAtTheLondon2012OlympicGames-QRCode-EA_ALL_000_001.bmp] || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008447.J00101Z00094 || JPN || Resident Evil Revelations Demo || ABRJ || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008449.J00101Z00082 || JPN || Swapnote || JFRJ ||?&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008561 || USA || Swapnote || JFRE || 0004000000051700&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008647.J00101Z00096 || JPN || Metal Gear Solid Snake Eater 3D Demo || AMGJ || 0004000200048101&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008648.J00101Z00097 || JPN || Theatrythm Final Fantasy || ATHJ ||?&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008782.PEAALL000000 || EUR || Metal Gear Solid Snake Eater 3D Demo || AMGE || 0004000200082401&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008842.PEAALL000000 || EUR || Rhythm Thief And The Emperor&#039;s Treasure Demo || ARTP [http://mediacontent.nintendo-europe.com/NOE/images/game_content/ARTP-RhythmThief_TheEmperorsTreasure-QRCode-EA_ALL_000_001.bmp] || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009084.J00101Z00121 || JPN || Hatsune Miku And Future Stars: Project Mirai Demo || AM9J || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009102.J00101Z00106 || JPN || Denpa Ningen RPG || JD8J ||?&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009161.J00101Z00118 || JPN || Dillon&#039;s Rolling Western || JAMJ || 00040000&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009261 || USA || Dillon&#039;s Rolling Western || JAME? || 00040000&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009401.J00101Z00120 || JPN || Kingdom Hearts 3D Video Download || JZ8J ||?&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009403.J00101Z00119 || JPN || DQM 3D Video Download || JZ7J ||?&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009575.PEAALL000000 || EUR || Kid Icarus: Of Myths And Monsters (Virtual Console) ||? ||?&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009846 || USA || Ketzal&#039;s Corridors ||? ||?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* New QR Code for Japanese &amp;quot;Photos with Super Mario&amp;quot; has a different code string: ESHOP://50010000013120.J00108Z00001.CD588EAE95A3A68D15C647DA2AC0945FD88F70AB8A31149E51C4B05FB927B0B8&lt;br /&gt;
&lt;br /&gt;
* There is a link in the Japanese eShop &amp;lt;nowiki&amp;gt;[http://www.nintendo.co.jp/3ds/eshop/qrCode.html?####]&amp;lt;/nowiki&amp;gt; where you can replace the #### with the Japanese eShop title&#039;s serial and you will get it&#039;s QR code. (i.e. http://www.nintendo.co.jp/3ds/eshop/qrCode.html?jcaj will get you the pushmo QR code)&lt;br /&gt;
&lt;br /&gt;
* You could use Google&#039;s Chart API to create a QR code from the codes above: https://chart.googleapis.com/chart?chs=150x150&amp;amp;cht=qr&amp;amp;chl=ESHOP (replace the ESHOP text with the ESHOP:// link from one of the above)&lt;br /&gt;
&lt;br /&gt;
== ExtData ==&lt;br /&gt;
The ExtData [[Extdata#Filesystem|File System]] for eShop is as follows:&lt;br /&gt;
&lt;br /&gt;
 root&lt;br /&gt;
 ├── icon&lt;br /&gt;
 ├── boss&lt;br /&gt;
 │   └── TIGER100.tmp&lt;br /&gt;
 └── user&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  File&lt;br /&gt;
!  Details&lt;br /&gt;
!  Size&lt;br /&gt;
!  Firmware Introduced&lt;br /&gt;
!  Plain text&lt;br /&gt;
|-&lt;br /&gt;
|  icon&lt;br /&gt;
|  Duplicate from application ExeFS. Always image 00000002&lt;br /&gt;
|  0x36C0 Bytes&lt;br /&gt;
|  [[2.0.0-2]]&lt;br /&gt;
|  [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/eShopExtdata/icon Download_EUR]&lt;br /&gt;
|-&lt;br /&gt;
|  TIGER100.tmp&lt;br /&gt;
|  Always image 00000003.&lt;br /&gt;
|  0xCE47 bytes (varies?)&lt;br /&gt;
|  [[2.0.0-2]]&lt;br /&gt;
|  &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=EShop&amp;diff=10603</id>
		<title>EShop</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=EShop&amp;diff=10603"/>
		<updated>2014-11-10T21:55:52Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Many fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Nintendo 3DS eShop was added in the June 2011 update for JP/EUR/USA.&lt;br /&gt;
&lt;br /&gt;
From here, you can download Virtual Console games, 3D Classics, DSiware software, view screenshots, and 3D trailers for upcoming 3DS titles.&lt;br /&gt;
&lt;br /&gt;
eShop uses the following domains over HTTPS:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* cp3s-auth.c.shop.nintendowifi.net&lt;br /&gt;
* a248.e.akamai.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These domains are used by [[NIM_Services|NIM]]:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nus.c.shop.nintendowifi.net&lt;br /&gt;
* ecs.c.shop.nintendowifi.net&lt;br /&gt;
* cas.c.shop.nintendowifi.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While eShop is loading, eShop will use command [[NIMS:CheckSysupdateAvailableSOAP]]. If a system update is available where title installation for system titles still needs finalized (or when the updated titles were not downloaded at all), eShop will then display the &amp;quot;system update is available&amp;quot; message.&lt;br /&gt;
&lt;br /&gt;
The eShop application uses command [[AMNet:FinishInstallToMedia]] to finalize the SD title install (if the whole title is downloaded while eShop is still running), however, before using that command the eShop application also uses [[AMNet:FinishInstallToMedia]] to finalize installing all system titles (from system updates).&lt;br /&gt;
&lt;br /&gt;
== eShop QR Codes ==&lt;br /&gt;
eShop QR Codes can be scanned with the camera, allowing one to quickly navigate to the desired eShop title with just two clicks. The QR Codes themselves is a simple text/url QR, started with &amp;quot;ESHOP://&amp;quot; string followed by an eShop title link id and then some special data, delimited by a dot symbol, which can be ommited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! QR Code source&lt;br /&gt;
! Region&lt;br /&gt;
! Title&lt;br /&gt;
! Serial&lt;br /&gt;
! Title ID&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000000201.PEAALL000000 || EUR || Nintendogs &amp;amp; Cats Demo || ADA/B/C || 0004000200030c01&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000007870.PEAALL000000 || EUR || Crush 3D || A??P || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008009.PEAALL000000 || EUR || Resident Evil Revelations Demo || ABRE || 000400020005ee01&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008123.J00101Z00095 || JPN || Rhythm Thief And The Emperor&#039;s Treasure Demo || ARTJ || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008404.PEAALL000000 || EUR || Mario And Sonic At The London 2012 Olympic Games Demo || ACMP [http://mediacontent.nintendo-europe.com/NOE/images/game_content/ACMP-MarioAndSonicAtTheLondon2012OlympicGames-QRCode-EA_ALL_000_001.bmp] || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008447.J00101Z00094 || JPN || Resident Evil Revelations Demo || ABRJ || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008449.J00101Z00082 || JPN || Swapnote || JFRJ ||?&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008561 || USA || Swapnote || JFRE || 0004000000051700&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008647.J00101Z00096 || JPN || Metal Gear Solid Snake Eater 3D Demo || AMGJ || 0004000200048101&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008648.J00101Z00097 || JPN || Theatrythm Final Fantasy || ATHJ ||?&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008782.PEAALL000000 || EUR || MGS Snake Eater 3D Demo || AMGE || 0004000200082401&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008842.PEAALL000000 || EUR || Rhythm Thief &amp;amp; the Emperor&#039;s Treasure Demo || ARTP [http://mediacontent.nintendo-europe.com/NOE/images/game_content/ARTP-RhythmThief_TheEmperorsTreasure-QRCode-EA_ALL_000_001.bmp] || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009084.J00101Z00121 || JPN || Hatsune Miku and Future Stars: Project Mirai Demo || AM9J || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009102.J00101Z00106 || JPN || Denpa Ningen RPG || JD8J ||?&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009161.J00101Z00118 || JPN || Dillon&#039;s Rolling Western || JAMJ || 00040000&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009261 || USA || Dillon&#039;s Rolling Western || JAME? || 00040000&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009401.J00101Z00120 || JPN || Kingdom Hearts 3D Video Download || JZ8J ||?&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009403.J00101Z00119 || JPN || DQM 3D Video Download || JZ7J ||?&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009575.PEAALL000000 || EUR || Kid Icarus: Of Myths And Monsters (Virtual Console) ||? ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009846 || USA || Ketzal&#039;s Corridors ||? ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* New QR Code for Japanese &amp;quot;Photos with Super Mario&amp;quot; has a different code string: ESHOP://50010000013120.J00108Z00001.CD588EAE95A3A68D15C647DA2AC0945FD88F70AB8A31149E51C4B05FB927B0B8&lt;br /&gt;
&lt;br /&gt;
* There is a link in the Japanese eShop &amp;lt;nowiki&amp;gt;[http://www.nintendo.co.jp/3ds/eshop/qrCode.html?####]&amp;lt;/nowiki&amp;gt; where you can replace the #### with the Japanese eShop title&#039;s serial and you will get it&#039;s QR code. (i.e. http://www.nintendo.co.jp/3ds/eshop/qrCode.html?jcaj will get you the pushmo QR code)&lt;br /&gt;
&lt;br /&gt;
* You could use Google&#039;s Chart API to create a QR code from the codes above: https://chart.googleapis.com/chart?chs=150x150&amp;amp;cht=qr&amp;amp;chl=ESHOP (replace the ESHOP text with the ESHOP:// link from one of the above)&lt;br /&gt;
&lt;br /&gt;
== ExtData ==&lt;br /&gt;
The ExtData [[Extdata#Filesystem|File System]] for eShop is as follows:&lt;br /&gt;
&lt;br /&gt;
 root&lt;br /&gt;
 ├── icon&lt;br /&gt;
 ├── boss&lt;br /&gt;
 │   └── TIGER100.tmp&lt;br /&gt;
 └── user&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  File&lt;br /&gt;
!  Details&lt;br /&gt;
!  Size&lt;br /&gt;
!  FW Introduced&lt;br /&gt;
!  Plaintext&lt;br /&gt;
|-&lt;br /&gt;
|  icon&lt;br /&gt;
|  Duplicate from Application ExeFS. Always image 00000002.&lt;br /&gt;
|  0x36c0 Bytes&lt;br /&gt;
|  [[2.0.0-2]]&lt;br /&gt;
|  [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/eShopExtdata/icon Download_EUR]&lt;br /&gt;
|-&lt;br /&gt;
|  TIGER100.tmp&lt;br /&gt;
|  Always image 00000003.&lt;br /&gt;
|  0xce47 Bytes (Varies?)&lt;br /&gt;
|  [[2.0.0-2]]&lt;br /&gt;
|  &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=EShop&amp;diff=10602</id>
		<title>EShop</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=EShop&amp;diff=10602"/>
		<updated>2014-11-10T21:51:43Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Make it less crowded&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Nintendo 3DS eShop was added in the June 2011 update for JP/EUR/USA.&lt;br /&gt;
&lt;br /&gt;
From here, you can download Virtual Console games, 3D Classics, DSiware software, view screenshots, and 3D trailers for upcoming 3DS titles.&lt;br /&gt;
&lt;br /&gt;
eShop uses the following domains over HTTPS:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* cp3s-auth.c.shop.nintendowifi.net&lt;br /&gt;
* a248.e.akamai.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These domains are used by [[NIM_Services|NIM]]:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* nus.c.shop.nintendowifi.net&lt;br /&gt;
* ecs.c.shop.nintendowifi.net&lt;br /&gt;
* cas.c.shop.nintendowifi.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While eShop is loading, eShop will use command [[NIMS:CheckSysupdateAvailableSOAP]]. If a system update is available where title installation for system titles still needs finalized (or when the updated titles were not downloaded at all), eShop will then display the &amp;quot;system update is available&amp;quot; message.&lt;br /&gt;
&lt;br /&gt;
The eShop application uses command [[AMNet:FinishInstallToMedia]] to finalize the SD title install (if the whole title is downloaded while eShop is still running), however, before using that command the eShop application also uses [[AMNet:FinishInstallToMedia]] to finalize installing all system titles (from system updates).&lt;br /&gt;
&lt;br /&gt;
== eShop QR Codes ==&lt;br /&gt;
eShop QR Codes can be scanned with the camera, allowing one to quickly navigate to the desired eShop title with just two clicks. The QR Codes themselves is a simple text/url QR, started with &amp;quot;ESHOP://&amp;quot; string followed by an eShop title link id and then some special data, delimited by a dot symbol, which can be ommited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! QR Code source&lt;br /&gt;
! Region&lt;br /&gt;
! Title&lt;br /&gt;
! Serial&lt;br /&gt;
! Title Id&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000000201.PEAALL000000 || EUR || Nintendogs &amp;amp; Cats Demo || ADA/B/C || 0004000200030c01&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000007870.PEAALL000000 || EUR || Crush 3D || A??P || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008009.PEAALL000000 || EUR || Resident Evil Revelations Demo || ABRE || 000400020005ee01&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008123.J00101Z00095 || JPN || Rhythm Thief &amp;amp; the Emperor&#039;s Treasure Demo || ARTJ || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008404.PEAALL000000 || EUR || Mario &amp;amp; Sonic at the London 2012 Olympic Games Demo || ACMP [http://mediacontent.nintendo-europe.com/NOE/images/game_content/ACMP-MarioAndSonicAtTheLondon2012OlympicGames-QRCode-EA_ALL_000_001.bmp] || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008447.J00101Z00094 || JPN || Resident Evil Revelations Demo || ABRJ || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008449.J00101Z00082 || JPN || Swapnote || JFRJ ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008561 || USA || Swapnote || JFRE || 0004000000051700&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008647.J00101Z00096 || JPN || MGS Snake Eater 3D Demo || AMGJ || 0004000200048101&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008648.J00101Z00097 || JPN || Theatrythm Final Fantasy || ATHJ || &lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008782.PEAALL000000 || EUR || MGS Snake Eater 3D Demo || AMGE || 0004000200082401&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008842.PEAALL000000 || EUR || Rhythm Thief &amp;amp; the Emperor&#039;s Treasure Demo || ARTP [http://mediacontent.nintendo-europe.com/NOE/images/game_content/ARTP-RhythmThief_TheEmperorsTreasure-QRCode-EA_ALL_000_001.bmp] || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009084.J00101Z00121 || JPN || Hatsune Miku and Future Stars: Project Mirai Demo || AM9J || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009102.J00101Z00106 || JPN || Denpa Ningen RPG || JD8J || &lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009161.J00101Z00118 || JPN || Dillon&#039;s Rolling Western || JAMJ || 00040000&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009261 || USA || Dillon&#039;s Rolling Western || JAME? || 00040000&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009401.J00101Z00120 || JPN || Kingdom Hearts 3D Video Download || JZ8J ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009403.J00101Z00119 || JPN || DQM 3D Video Download || JZ7J ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009575.PEAALL000000 || EUR || Kid Icarus: Of Myths and Monsters (Virtual Console) || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009846 || USA || Ketzal&#039;s Corridors || ? ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* New QR Code for Japanese &amp;quot;Photos with Super Mario&amp;quot; has a different code string: ESHOP://50010000013120.J00108Z00001.CD588EAE95A3A68D15C647DA2AC0945FD88F70AB8A31149E51C4B05FB927B0B8&lt;br /&gt;
&lt;br /&gt;
* There is a link in the Japanese eshop &amp;lt;nowiki&amp;gt;[http://www.nintendo.co.jp/3ds/eshop/qrCode.html?####]&amp;lt;/nowiki&amp;gt; where you can replace the #### with the Japanese eShop title&#039;s serial and you will get its qrcode. (i.e. http://www.nintendo.co.jp/3ds/eshop/qrCode.html?jcaj will get you the pushmo qr code)&lt;br /&gt;
&lt;br /&gt;
* You could use Google&#039;s Chart API to create a qr code from the codes above: https://chart.googleapis.com/chart?chs=150x150&amp;amp;cht=qr&amp;amp;chl=ESHOP (replace the ESHOP text with the ESHOP:// link from one of the above..)&lt;br /&gt;
&lt;br /&gt;
== ExtData ==&lt;br /&gt;
The ExtData [[Extdata#Filesystem|File System]] for eShop is as follows:&lt;br /&gt;
&lt;br /&gt;
 root&lt;br /&gt;
 ├── icon&lt;br /&gt;
 ├── boss&lt;br /&gt;
 │   └── TIGER100.tmp&lt;br /&gt;
 └── user&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  File&lt;br /&gt;
!  Details&lt;br /&gt;
!  Size&lt;br /&gt;
!  FW Introduced&lt;br /&gt;
!  Plaintext&lt;br /&gt;
|-&lt;br /&gt;
|  icon&lt;br /&gt;
|  Duplicate from Application ExeFS. Always image 00000002.&lt;br /&gt;
|  0x36c0 Bytes&lt;br /&gt;
|  [[2.0.0-2]]&lt;br /&gt;
|  [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/eShopExtdata/icon Download_EUR]&lt;br /&gt;
|-&lt;br /&gt;
|  TIGER100.tmp&lt;br /&gt;
|  Always image 00000003.&lt;br /&gt;
|  0xce47 Bytes (Varies?)&lt;br /&gt;
|  [[2.0.0-2]]&lt;br /&gt;
|  &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=EShop&amp;diff=10601</id>
		<title>EShop</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=EShop&amp;diff=10601"/>
		<updated>2014-11-10T21:50:48Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fix the fix that was fixed (don&amp;#039;t judge me)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Nintendo 3DS eShop was added in the June 2011 update for JP/EUR/USA.&lt;br /&gt;
&lt;br /&gt;
From here, you can download Virtual Console games, 3D Classics, DSiware software, view screenshots, and 3D trailers for upcoming 3DS titles.&lt;br /&gt;
&lt;br /&gt;
eShop uses the following domains over HTTPS:&lt;br /&gt;
&lt;br /&gt;
* cp3s-auth.c.shop.nintendowifi.net&lt;br /&gt;
* a248.e.akamai.net&lt;br /&gt;
&lt;br /&gt;
These domains are used by [[NIM_Services|NIM]]:&lt;br /&gt;
&lt;br /&gt;
* nus.c.shop.nintendowifi.net&lt;br /&gt;
* ecs.c.shop.nintendowifi.net&lt;br /&gt;
* cas.c.shop.nintendowifi.net&lt;br /&gt;
&lt;br /&gt;
While eShop is loading, eShop will use command [[NIMS:CheckSysupdateAvailableSOAP]]. If a system update is available where title installation for system titles still needs finalized (or when the updated titles were not downloaded at all), eShop will then display the &amp;quot;system update is available&amp;quot; message.&lt;br /&gt;
&lt;br /&gt;
The eShop application uses command [[AMNet:FinishInstallToMedia]] to finalize the SD title install (if the whole title is downloaded while eShop is still running), however, before using that command the eShop application also uses [[AMNet:FinishInstallToMedia]] to finalize installing all system titles (from system updates).&lt;br /&gt;
&lt;br /&gt;
== eShop QR Codes ==&lt;br /&gt;
eShop QR Codes can be scanned with the camera, allowing one to quickly navigate to the desired eShop title with just two clicks. The QR Codes themselves is a simple text/url QR, started with &amp;quot;ESHOP://&amp;quot; string followed by an eShop title link id and then some special data, delimited by a dot symbol, which can be ommited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! QR Code source&lt;br /&gt;
! Region&lt;br /&gt;
! Title&lt;br /&gt;
! Serial&lt;br /&gt;
! Title Id&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000000201.PEAALL000000 || EUR || Nintendogs &amp;amp; Cats Demo || ADA/B/C || 0004000200030c01&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000007870.PEAALL000000 || EUR || Crush 3D || A??P || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008009.PEAALL000000 || EUR || Resident Evil Revelations Demo || ABRE || 000400020005ee01&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008123.J00101Z00095 || JPN || Rhythm Thief &amp;amp; the Emperor&#039;s Treasure Demo || ARTJ || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008404.PEAALL000000 || EUR || Mario &amp;amp; Sonic at the London 2012 Olympic Games Demo || ACMP [http://mediacontent.nintendo-europe.com/NOE/images/game_content/ACMP-MarioAndSonicAtTheLondon2012OlympicGames-QRCode-EA_ALL_000_001.bmp] || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008447.J00101Z00094 || JPN || Resident Evil Revelations Demo || ABRJ || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008449.J00101Z00082 || JPN || Swapnote || JFRJ ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008561 || USA || Swapnote || JFRE || 0004000000051700&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008647.J00101Z00096 || JPN || MGS Snake Eater 3D Demo || AMGJ || 0004000200048101&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008648.J00101Z00097 || JPN || Theatrythm Final Fantasy || ATHJ || &lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008782.PEAALL000000 || EUR || MGS Snake Eater 3D Demo || AMGE || 0004000200082401&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008842.PEAALL000000 || EUR || Rhythm Thief &amp;amp; the Emperor&#039;s Treasure Demo || ARTP [http://mediacontent.nintendo-europe.com/NOE/images/game_content/ARTP-RhythmThief_TheEmperorsTreasure-QRCode-EA_ALL_000_001.bmp] || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009084.J00101Z00121 || JPN || Hatsune Miku and Future Stars: Project Mirai Demo || AM9J || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009102.J00101Z00106 || JPN || Denpa Ningen RPG || JD8J || &lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009161.J00101Z00118 || JPN || Dillon&#039;s Rolling Western || JAMJ || 00040000&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009261 || USA || Dillon&#039;s Rolling Western || JAME? || 00040000&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009401.J00101Z00120 || JPN || Kingdom Hearts 3D Video Download || JZ8J ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009403.J00101Z00119 || JPN || DQM 3D Video Download || JZ7J ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009575.PEAALL000000 || EUR || Kid Icarus: Of Myths and Monsters (Virtual Console) || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009846 || USA || Ketzal&#039;s Corridors || ? ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* New QR Code for Japanese &amp;quot;Photos with Super Mario&amp;quot; has a different code string: ESHOP://50010000013120.J00108Z00001.CD588EAE95A3A68D15C647DA2AC0945FD88F70AB8A31149E51C4B05FB927B0B8&lt;br /&gt;
&lt;br /&gt;
* There is a link in the Japanese eshop &amp;lt;nowiki&amp;gt;[http://www.nintendo.co.jp/3ds/eshop/qrCode.html?####]&amp;lt;/nowiki&amp;gt; where you can replace the #### with the Japanese eShop title&#039;s serial and you will get its qrcode. (i.e. http://www.nintendo.co.jp/3ds/eshop/qrCode.html?jcaj will get you the pushmo qr code)&lt;br /&gt;
&lt;br /&gt;
* You could use Google&#039;s Chart API to create a qr code from the codes above: https://chart.googleapis.com/chart?chs=150x150&amp;amp;cht=qr&amp;amp;chl=ESHOP (replace the ESHOP text with the ESHOP:// link from one of the above..)&lt;br /&gt;
&lt;br /&gt;
== ExtData ==&lt;br /&gt;
The ExtData [[Extdata#Filesystem|File System]] for eShop is as follows:&lt;br /&gt;
&lt;br /&gt;
 root&lt;br /&gt;
 ├── icon&lt;br /&gt;
 ├── boss&lt;br /&gt;
 │   └── TIGER100.tmp&lt;br /&gt;
 └── user&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  File&lt;br /&gt;
!  Details&lt;br /&gt;
!  Size&lt;br /&gt;
!  FW Introduced&lt;br /&gt;
!  Plaintext&lt;br /&gt;
|-&lt;br /&gt;
|  icon&lt;br /&gt;
|  Duplicate from Application ExeFS. Always image 00000002.&lt;br /&gt;
|  0x36c0 Bytes&lt;br /&gt;
|  [[2.0.0-2]]&lt;br /&gt;
|  [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/eShopExtdata/icon Download_EUR]&lt;br /&gt;
|-&lt;br /&gt;
|  TIGER100.tmp&lt;br /&gt;
|  Always image 00000003.&lt;br /&gt;
|  0xce47 Bytes (Varies?)&lt;br /&gt;
|  [[2.0.0-2]]&lt;br /&gt;
|  &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=EShop&amp;diff=10600</id>
		<title>EShop</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=EShop&amp;diff=10600"/>
		<updated>2014-11-10T21:48:10Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fix the fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Nintendo 3DS eShop was added in the June 2011 update for JP/EUR/USA.&lt;br /&gt;
&lt;br /&gt;
From here, you can download Virtual Console games, 3D Classics, DSiware software, view screenshots, and 3D trailers for upcoming 3DS titles.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;eShop uses the following domains over HTTPS:&lt;br /&gt;
&lt;br /&gt;
- cp3s-auth.c.shop.nintendowifi.net&lt;br /&gt;
- a248.e.akamai.net&lt;br /&gt;
&lt;br /&gt;
These domains are used by [[NIM_Services|NIM]]:&lt;br /&gt;
&lt;br /&gt;
- nus.c.shop.nintendowifi.net&lt;br /&gt;
- ecs.c.shop.nintendowifi.net&lt;br /&gt;
- cas.c.shop.nintendowifi.net&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While eShop is loading, eShop will use command [[NIMS:CheckSysupdateAvailableSOAP]]. If a system update is available where title installation for system titles still needs finalized (or when the updated titles were not downloaded at all), eShop will then display the &amp;quot;system update is available&amp;quot; message.&lt;br /&gt;
&lt;br /&gt;
The eShop application uses command [[AMNet:FinishInstallToMedia]] to finalize the SD title install (if the whole title is downloaded while eShop is still running), however, before using that command the eShop application also uses [[AMNet:FinishInstallToMedia]] to finalize installing all system titles (from system updates).&lt;br /&gt;
&lt;br /&gt;
== eShop QR Codes ==&lt;br /&gt;
eShop QR Codes can be scanned with the camera, allowing one to quickly navigate to the desired eShop title with just two clicks. The QR Codes themselves is a simple text/url QR, started with &amp;quot;ESHOP://&amp;quot; string followed by an eShop title link id and then some special data, delimited by a dot symbol, which can be ommited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! QR Code source&lt;br /&gt;
! Region&lt;br /&gt;
! Title&lt;br /&gt;
! Serial&lt;br /&gt;
! Title Id&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000000201.PEAALL000000 || EUR || Nintendogs &amp;amp; Cats Demo || ADA/B/C || 0004000200030c01&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000007870.PEAALL000000 || EUR || Crush 3D || A??P || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008009.PEAALL000000 || EUR || Resident Evil Revelations Demo || ABRE || 000400020005ee01&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008123.J00101Z00095 || JPN || Rhythm Thief &amp;amp; the Emperor&#039;s Treasure Demo || ARTJ || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008404.PEAALL000000 || EUR || Mario &amp;amp; Sonic at the London 2012 Olympic Games Demo || ACMP [http://mediacontent.nintendo-europe.com/NOE/images/game_content/ACMP-MarioAndSonicAtTheLondon2012OlympicGames-QRCode-EA_ALL_000_001.bmp] || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008447.J00101Z00094 || JPN || Resident Evil Revelations Demo || ABRJ || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008449.J00101Z00082 || JPN || Swapnote || JFRJ ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008561 || USA || Swapnote || JFRE || 0004000000051700&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008647.J00101Z00096 || JPN || MGS Snake Eater 3D Demo || AMGJ || 0004000200048101&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008648.J00101Z00097 || JPN || Theatrythm Final Fantasy || ATHJ || &lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008782.PEAALL000000 || EUR || MGS Snake Eater 3D Demo || AMGE || 0004000200082401&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008842.PEAALL000000 || EUR || Rhythm Thief &amp;amp; the Emperor&#039;s Treasure Demo || ARTP [http://mediacontent.nintendo-europe.com/NOE/images/game_content/ARTP-RhythmThief_TheEmperorsTreasure-QRCode-EA_ALL_000_001.bmp] || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009084.J00101Z00121 || JPN || Hatsune Miku and Future Stars: Project Mirai Demo || AM9J || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009102.J00101Z00106 || JPN || Denpa Ningen RPG || JD8J || &lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009161.J00101Z00118 || JPN || Dillon&#039;s Rolling Western || JAMJ || 00040000&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009261 || USA || Dillon&#039;s Rolling Western || JAME? || 00040000&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009401.J00101Z00120 || JPN || Kingdom Hearts 3D Video Download || JZ8J ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009403.J00101Z00119 || JPN || DQM 3D Video Download || JZ7J ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009575.PEAALL000000 || EUR || Kid Icarus: Of Myths and Monsters (Virtual Console) || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009846 || USA || Ketzal&#039;s Corridors || ? ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* New QR Code for Japanese &amp;quot;Photos with Super Mario&amp;quot; has a different code string: ESHOP://50010000013120.J00108Z00001.CD588EAE95A3A68D15C647DA2AC0945FD88F70AB8A31149E51C4B05FB927B0B8&lt;br /&gt;
&lt;br /&gt;
* There is a link in the Japanese eshop &amp;lt;nowiki&amp;gt;[http://www.nintendo.co.jp/3ds/eshop/qrCode.html?####]&amp;lt;/nowiki&amp;gt; where you can replace the #### with the Japanese eShop title&#039;s serial and you will get its qrcode. (i.e. http://www.nintendo.co.jp/3ds/eshop/qrCode.html?jcaj will get you the pushmo qr code)&lt;br /&gt;
&lt;br /&gt;
* You could use Google&#039;s Chart API to create a qr code from the codes above: https://chart.googleapis.com/chart?chs=150x150&amp;amp;cht=qr&amp;amp;chl=ESHOP (replace the ESHOP text with the ESHOP:// link from one of the above..)&lt;br /&gt;
&lt;br /&gt;
== ExtData ==&lt;br /&gt;
The ExtData [[Extdata#Filesystem|File System]] for eShop is as follows:&lt;br /&gt;
&lt;br /&gt;
 root&lt;br /&gt;
 ├── icon&lt;br /&gt;
 ├── boss&lt;br /&gt;
 │   └── TIGER100.tmp&lt;br /&gt;
 └── user&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  File&lt;br /&gt;
!  Details&lt;br /&gt;
!  Size&lt;br /&gt;
!  FW Introduced&lt;br /&gt;
!  Plaintext&lt;br /&gt;
|-&lt;br /&gt;
|  icon&lt;br /&gt;
|  Duplicate from Application ExeFS. Always image 00000002.&lt;br /&gt;
|  0x36c0 Bytes&lt;br /&gt;
|  [[2.0.0-2]]&lt;br /&gt;
|  [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/eShopExtdata/icon Download_EUR]&lt;br /&gt;
|-&lt;br /&gt;
|  TIGER100.tmp&lt;br /&gt;
|  Always image 00000003.&lt;br /&gt;
|  0xce47 Bytes (Varies?)&lt;br /&gt;
|  [[2.0.0-2]]&lt;br /&gt;
|  &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=EShop&amp;diff=10599</id>
		<title>EShop</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=EShop&amp;diff=10599"/>
		<updated>2014-11-10T21:46:14Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Make everything look much better, and improve visibility&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Nintendo 3DS eShop was added in the June 2011 update for JP/EUR/USA.&lt;br /&gt;
&lt;br /&gt;
From here, you can download Virtual Console games, 3D Classics, DSiware software, view screenshots, and 3D trailers for upcoming 3DS titles.&lt;br /&gt;
&lt;br /&gt;
eShop uses the following domains over HTTPS:&lt;br /&gt;
&lt;br /&gt;
- cp3s-auth.c.shop.nintendowifi.net&lt;br /&gt;
- a248.e.akamai.net&lt;br /&gt;
&lt;br /&gt;
These domains are used by [[NIM_Services|NIM]]:&lt;br /&gt;
&lt;br /&gt;
- nus.c.shop.nintendowifi.net&lt;br /&gt;
- ecs.c.shop.nintendowifi.net&lt;br /&gt;
- cas.c.shop.nintendowifi.net&lt;br /&gt;
&lt;br /&gt;
While eShop is loading, eShop will use command [[NIMS:CheckSysupdateAvailableSOAP]]. If a system update is available where title installation for system titles still needs finalized (or when the updated titles were not downloaded at all), eShop will then display the &amp;quot;system update is available&amp;quot; message.&lt;br /&gt;
&lt;br /&gt;
The eShop application uses command [[AMNet:FinishInstallToMedia]] to finalize the SD title install (if the whole title is downloaded while eShop is still running), however, before using that command the eShop application also uses [[AMNet:FinishInstallToMedia]] to finalize installing all system titles (from system updates).&lt;br /&gt;
&lt;br /&gt;
== eShop QR Codes ==&lt;br /&gt;
eShop QR Codes can be scanned with the camera, allowing one to quickly navigate to the desired eShop title with just two clicks. The QR Codes themselves is a simple text/url QR, started with &amp;quot;ESHOP://&amp;quot; string followed by an eShop title link id and then some special data, delimited by a dot symbol, which can be ommited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! QR Code source&lt;br /&gt;
! Region&lt;br /&gt;
! Title&lt;br /&gt;
! Serial&lt;br /&gt;
! Title Id&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000000201.PEAALL000000 || EUR || Nintendogs &amp;amp; Cats Demo || ADA/B/C || 0004000200030c01&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000007870.PEAALL000000 || EUR || Crush 3D || A??P || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008009.PEAALL000000 || EUR || Resident Evil Revelations Demo || ABRE || 000400020005ee01&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008123.J00101Z00095 || JPN || Rhythm Thief &amp;amp; the Emperor&#039;s Treasure Demo || ARTJ || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008404.PEAALL000000 || EUR || Mario &amp;amp; Sonic at the London 2012 Olympic Games Demo || ACMP [http://mediacontent.nintendo-europe.com/NOE/images/game_content/ACMP-MarioAndSonicAtTheLondon2012OlympicGames-QRCode-EA_ALL_000_001.bmp] || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008447.J00101Z00094 || JPN || Resident Evil Revelations Demo || ABRJ || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008449.J00101Z00082 || JPN || Swapnote || JFRJ ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008561 || USA || Swapnote || JFRE || 0004000000051700&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008647.J00101Z00096 || JPN || MGS Snake Eater 3D Demo || AMGJ || 0004000200048101&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008648.J00101Z00097 || JPN || Theatrythm Final Fantasy || ATHJ || &lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008782.PEAALL000000 || EUR || MGS Snake Eater 3D Demo || AMGE || 0004000200082401&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000008842.PEAALL000000 || EUR || Rhythm Thief &amp;amp; the Emperor&#039;s Treasure Demo || ARTP [http://mediacontent.nintendo-europe.com/NOE/images/game_content/ARTP-RhythmThief_TheEmperorsTreasure-QRCode-EA_ALL_000_001.bmp] || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009084.J00101Z00121 || JPN || Hatsune Miku and Future Stars: Project Mirai Demo || AM9J || 00040002&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009102.J00101Z00106 || JPN || Denpa Ningen RPG || JD8J || &lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009161.J00101Z00118 || JPN || Dillon&#039;s Rolling Western || JAMJ || 00040000&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009261 || USA || Dillon&#039;s Rolling Western || JAME? || 00040000&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009401.J00101Z00120 || JPN || Kingdom Hearts 3D Video Download || JZ8J ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009403.J00101Z00119 || JPN || DQM 3D Video Download || JZ7J ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009575.PEAALL000000 || EUR || Kid Icarus: Of Myths and Monsters (Virtual Console) || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| ESHOP://50010000009846 || USA || Ketzal&#039;s Corridors || ? ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* New QR Code for Japanese &amp;quot;Photos with Super Mario&amp;quot; has a different code string: ESHOP://50010000013120.J00108Z00001.CD588EAE95A3A68D15C647DA2AC0945FD88F70AB8A31149E51C4B05FB927B0B8&lt;br /&gt;
&lt;br /&gt;
* There is a link in the Japanese eshop &amp;lt;nowiki&amp;gt;[http://www.nintendo.co.jp/3ds/eshop/qrCode.html?####]&amp;lt;/nowiki&amp;gt; where you can replace the #### with the Japanese eShop title&#039;s serial and you will get its qrcode. (i.e. http://www.nintendo.co.jp/3ds/eshop/qrCode.html?jcaj will get you the pushmo qr code)&lt;br /&gt;
&lt;br /&gt;
* You could use Google&#039;s Chart API to create a qr code from the codes above: https://chart.googleapis.com/chart?chs=150x150&amp;amp;cht=qr&amp;amp;chl=ESHOP (replace the ESHOP text with the ESHOP:// link from one of the above..)&lt;br /&gt;
&lt;br /&gt;
== ExtData ==&lt;br /&gt;
The ExtData [[Extdata#Filesystem|File System]] for eShop is as follows:&lt;br /&gt;
&lt;br /&gt;
 root&lt;br /&gt;
 ├── icon&lt;br /&gt;
 ├── boss&lt;br /&gt;
 │   └── TIGER100.tmp&lt;br /&gt;
 └── user&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  File&lt;br /&gt;
!  Details&lt;br /&gt;
!  Size&lt;br /&gt;
!  FW Introduced&lt;br /&gt;
!  Plaintext&lt;br /&gt;
|-&lt;br /&gt;
|  icon&lt;br /&gt;
|  Duplicate from Application ExeFS. Always image 00000002.&lt;br /&gt;
|  0x36c0 Bytes&lt;br /&gt;
|  [[2.0.0-2]]&lt;br /&gt;
|  [https://dl.dropboxusercontent.com/u/60710927/CTR/Sample/eShopExtdata/icon Download_EUR]&lt;br /&gt;
|-&lt;br /&gt;
|  TIGER100.tmp&lt;br /&gt;
|  Always image 00000003.&lt;br /&gt;
|  0xce47 Bytes (Varies?)&lt;br /&gt;
|  [[2.0.0-2]]&lt;br /&gt;
|  &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Configuration_Memory&amp;diff=10598</id>
		<title>Configuration Memory</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Configuration_Memory&amp;diff=10598"/>
		<updated>2014-11-10T21:37:22Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Firmware and 3DS naming updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ARM11 Kernel Configuration Memory =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  PROCESS VIRTUAL ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_?&lt;br /&gt;
| 0x1FF80000&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONREVISION&lt;br /&gt;
| 0x1FF80001&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONMINOR&lt;br /&gt;
| 0x1FF80002&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONMAJOR&lt;br /&gt;
| 0x1FF80003&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| UPDATEFLAG&lt;br /&gt;
| 0x1FF80004&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| NSTID&lt;br /&gt;
| 0x1FF80008&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| SYSCOREVER&lt;br /&gt;
| 0x1FF80010&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| UNITINFO&lt;br /&gt;
| 0x1FF80014&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| BOOT_FIRM&lt;br /&gt;
| 0x1FF80015&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| PREV_FIRM&lt;br /&gt;
| 0x1FF80016&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_CTRSDKVERSION&lt;br /&gt;
| 0x1FF80018&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| APPMEMTYPE&lt;br /&gt;
| 0x1FF80030&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| APPMEMALLOC&lt;br /&gt;
| 0x1FF80040&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| SYSMEMALLOC&lt;br /&gt;
| 0x1FF80044&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| BASEMEMALLOC&lt;br /&gt;
| 0x1FF80048&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_?&lt;br /&gt;
| 0x1FF80060&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONREVISION&lt;br /&gt;
| 0x1FF80061&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONMINOR&lt;br /&gt;
| 0x1FF80062&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONMAJOR&lt;br /&gt;
| 0x1FF80063&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_SYSCOREVER&lt;br /&gt;
| 0x1FF80064&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_CTRSDKVERSION&lt;br /&gt;
| 0x1FF80068&lt;br /&gt;
| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This memory page is [[Memory_layout|read-only]] for ARM11 processes.&lt;br /&gt;
&lt;br /&gt;
The FIRM_* fields are by default identical to the KERNEL_* fields. However, the FIRM_* fields can be overridden via FIRM-launch parameters, see [[FIRM|here]].&lt;br /&gt;
&lt;br /&gt;
Besides mem-region related fields, the data written here by the old 3DS/new 3DS kernels is identical.&lt;br /&gt;
&lt;br /&gt;
= Shared Memory Page For ARM11 Processes =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  PROCESS VIRTUAL ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
| bit0 selects DATETIME_0 or DATETIME_1.&lt;br /&gt;
| 0x1FF81000&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| RUNNING_HW (1=product, 2=devboard, 3=debugger, 4=capture)&lt;br /&gt;
| 0x1FF81004&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| MCU_HW_INFO&lt;br /&gt;
| 0x1FF81005&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| DATETIME_0 {(u64)MillisecondsSinceFirstJan1900,(u64)SystemTickLastTimeThisWasUpdated,(u32)unk,(u32)unk,(u32)unk,(u32)unk}&lt;br /&gt;
| 0x1FF81020&lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| DATETIME_1&lt;br /&gt;
| 0x1FF81040&lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| WIFI_MACADDR&lt;br /&gt;
| 0x1FF81060&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| 3D_SLIDERSTATE&lt;br /&gt;
| 0x1FF81080&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| 3D_LEDSTATE&lt;br /&gt;
| 0x1FF81084&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| MENUTID&lt;br /&gt;
| 0x1FF810A0&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| ACTIVEMENUTID&lt;br /&gt;
| 0x1FF810A8&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| Signed? Headsets connected?&lt;br /&gt;
| 0x1FF810C0&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This memory page is normally read-only for ARM11 processes, write-access is [[Memory_layout|determined]] by the process exheader kernel &amp;quot;shared page writing&amp;quot; flag.&lt;br /&gt;
&lt;br /&gt;
= ARM11 Kernel Config Fields =&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80000 / 0x1FF80060 ==&lt;br /&gt;
Unknown, this is normally value 0.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONREVISION / FIRM_VERSIONREVISION ==&lt;br /&gt;
This is the version-revision for the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONMINOR ==&lt;br /&gt;
This is the version-minor from ((title-version &amp;amp; 0x3FF) &amp;gt;&amp;gt; 4), for the currently running [[FIRM]]. The values from KERNEL_VERSIONMINOR and KERNEL_VERSIONMAJOR can be stored in applications&#039; [[NCCH#CXI|CXI]] exheader.&lt;br /&gt;
&lt;br /&gt;
== FIRM_VERSIONMINOR ==&lt;br /&gt;
This is the same as KERNEL_VERSIONMINOR. After [[AM:InstallNATIVEFIRM]] checks FIRM_SYSCOREVER, [[AM:InstallNATIVEFIRM]] then compares FIRM_VERSIONMINOR with the NATIVE_FIRM ((title-version &amp;amp; 0x3FF) &amp;gt;&amp;gt; 4), when the latter is larger than FIRM_VERSIONMINOR [[AM:InstallNATIVEFIRM]] will trigger a [[FIRM]] install.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONMAJOR / FIRM_VERSIONMAJOR ==&lt;br /&gt;
This is the version-major for the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== UPDATEFLAG ==&lt;br /&gt;
Normally this flag is zero. When the ARM11 kernel is booting on non-factory FIRM it will set this flag to 1, when bit0 from the data which field 0x1FF80016 is loaded from is clear, if the following [[PAD]] buttons are pressed: L, R, A, Up. When this flag is set, [[NS]] will launch the [[System_Settings#System_Updater|System Updater]] title instead of [[Home Menu]].&lt;br /&gt;
&lt;br /&gt;
== NSTID ==&lt;br /&gt;
This field contains the titleID of the first title to launch from CTR-NAND after the [[FIRM]] system processes are loaded. The [[Process_Manager_Services|PM]] module launches this title. If this field titleID is all-zero, the system will not attempt to launch the title. The regular ARM11 kernel sets this to the regular [[NS]] titleID, while the SAFE_MODE ARM11 kernel sets this to the SAFE_MODE NS titleID. The factory FIRM ARM11-kernel sets this to the NS TID from [[Factory_Setup|here]].&lt;br /&gt;
&lt;br /&gt;
== SYSCOREVER ==&lt;br /&gt;
This field is initialized by the ARM11 kernel, this is the programID-low of the running FIRM. When launching [[NCCH#CXI|CXIs]], the value stored here must match the core version field stored in the CXI exheader. If they do not match, the [[Process_Manager_Services|PM]] module will refuse to launch the ARM11 process.&lt;br /&gt;
&lt;br /&gt;
With [[Factory_Setup|factory]] NATIVE_FIRM, this is set to 0x0, even though the FIRM programID-low is 0x2. However, the factory system-titles have core-version set to 0x2. Hence, this config-mem SYSCOREVER field might not be used by factory system processes?&lt;br /&gt;
&lt;br /&gt;
== FIRM_SYSCOREVER ==&lt;br /&gt;
Normally this is the same as SYSCOREVER. This used by [[AM:InstallNATIVEFIRM]] for comparing with the NATIVE_FIRM titleID-low. When the low u8 from the NATIVE_FIRM titleID-low is larger than FIRMSYSCOREVER, [[AM:InstallNATIVEFIRM]] will trigger FIRM installing. When that u8 is not larger than FIRM_SYSCOREVER, and these two values don&#039;t match, [[AM:InstallNATIVEFIRM]] will return an error.&lt;br /&gt;
&lt;br /&gt;
== UNITINFO ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Clear for developer unit, set for retail.(See 0x1FF80015)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Set for debug units&lt;br /&gt;
|-&lt;br /&gt;
| 2-7&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bit1 in this field is set by the ARM11 kernel when ARM debug CP14 DSCR bit14 is set. [[NS]] loads the menu TID from MENUTID when bits 1-7 of this field are clear. [[ErrDisp]] will display development error info when bit0 is clear.&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80015 ==&lt;br /&gt;
When this field is zero, bit0 for UNITINFO is set for retail. When this field is non-zero, bit0 for UNITINFO is clear for dev/debug units, and an ARM11 kernel state flag which enables debugging is set. Bit1 means JTAG connected.&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80016 ==&lt;br /&gt;
This originates from the low 8-bits of register [[CONFIG|0x10010000]]. When bit0 is set, the ARM11 kernel will not set the UPDATEFLAG to value 1.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_CTRSDKVERSION / FIRM_CTRSDKVERSION ==&lt;br /&gt;
This is the CTR-SDK version which was used to build the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== APPMEMTYPE ==&lt;br /&gt;
The value of this field determines the size for APPMEMALLOC. The retail type(value0) is used when the type is not values 2-5. See [[Memory_layout]] for the table of values for this and the mem-region sizes.&lt;br /&gt;
&lt;br /&gt;
== APPMEMALLOC ==&lt;br /&gt;
This contains the total size of the memory that can be allocated with the APPLICATION [[SVC|memory-region]], see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
== SYSMEMALLOC ==&lt;br /&gt;
Same as APPMEMALLOC except for the SYSTEM mem-region, see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
== BASEMEMALLOC ==&lt;br /&gt;
Same as APPMEMALLOC except for the BASE mem-region, see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
= Shared Memory Page Fields =&lt;br /&gt;
&lt;br /&gt;
== WIFI_MACADDR ==&lt;br /&gt;
This is the WiFi MAC address for the 3DS. This is initialized by the [[NWM_Services|NWM]] module, it&#039;s unknown where the MAC address written here was originally loaded from.&lt;br /&gt;
&lt;br /&gt;
== 3D_SLIDERSTATE ==&lt;br /&gt;
This float contains the state of the 3D slider. The range of this float is value 0.0f for &amp;quot;off&amp;quot;, and 1.0f for max.&lt;br /&gt;
&lt;br /&gt;
This is written/updated by [[HID_Services|HID]] module.&lt;br /&gt;
&lt;br /&gt;
== 3D_LEDSTATE ==&lt;br /&gt;
When non-zero, the 3D LED is disabled. See [[GSPGPU:SetLedForceOff]].&lt;br /&gt;
&lt;br /&gt;
== MENUTID ==&lt;br /&gt;
Unknown, contains the menu TID (used by [[NS]])&lt;br /&gt;
&lt;br /&gt;
== ACTIVEMENUTID ==&lt;br /&gt;
This contains the titleID of the currently running menu launched by [[NS]].&lt;br /&gt;
&lt;br /&gt;
= NATIVE_FIRM Versions =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  System version&lt;br /&gt;
!  old 3DS title version&lt;br /&gt;
!  old 3DS hex title contentID&lt;br /&gt;
!  Kernel/FIRM version (old 3DS/new 3DS)&lt;br /&gt;
|-&lt;br /&gt;
| [[Factory_Setup|Factory]] FIRM (titleID 00040001-00000002)&lt;br /&gt;
| v0&lt;br /&gt;
| 00&lt;br /&gt;
| 2.3-0&lt;br /&gt;
|-&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| v432&lt;br /&gt;
| 00&lt;br /&gt;
| 2.27-0&lt;br /&gt;
|-&lt;br /&gt;
| [[1.1.0-1]]&lt;br /&gt;
| v1472&lt;br /&gt;
| 02&lt;br /&gt;
| 2.28-0&lt;br /&gt;
|-&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| v2516&lt;br /&gt;
| 09&lt;br /&gt;
| 2.29-7&lt;br /&gt;
|-&lt;br /&gt;
| [[2.1.0-3]]&lt;br /&gt;
| v3553&lt;br /&gt;
| 0B&lt;br /&gt;
| 2.30-18&lt;br /&gt;
|-&lt;br /&gt;
| [[2.2.0-X]]&lt;br /&gt;
| v4595&lt;br /&gt;
| 0F&lt;br /&gt;
| 2.31-40&lt;br /&gt;
|-&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| v5647&lt;br /&gt;
| 18&lt;br /&gt;
| 2.32-15&lt;br /&gt;
|-&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| v6677&lt;br /&gt;
| 1D&lt;br /&gt;
| 2.33-4&lt;br /&gt;
|-&lt;br /&gt;
| [[4.1.0-8]]&lt;br /&gt;
| v7712&lt;br /&gt;
| 1F&lt;br /&gt;
| 2.34-0&lt;br /&gt;
|-&lt;br /&gt;
| [[5.0.0-11]]&lt;br /&gt;
| v8758&lt;br /&gt;
| 25&lt;br /&gt;
| 2.35-6&lt;br /&gt;
|-&lt;br /&gt;
| [[5.1.0-11]]&lt;br /&gt;
| v9792&lt;br /&gt;
| 26&lt;br /&gt;
| 2.36-0&lt;br /&gt;
|-&lt;br /&gt;
| [[6.0.0-11]]&lt;br /&gt;
| v10833&lt;br /&gt;
| 29&lt;br /&gt;
| 2.37-0&lt;br /&gt;
|-&lt;br /&gt;
| [[6.1.0-11]]&lt;br /&gt;
| v11872&lt;br /&gt;
| 2A&lt;br /&gt;
| 2.38-0&lt;br /&gt;
|-&lt;br /&gt;
| [[7.0.0-13]]&lt;br /&gt;
| v12916&lt;br /&gt;
| 2E&lt;br /&gt;
| 2.39-4&lt;br /&gt;
|-&lt;br /&gt;
| [[7.2.0-17]]&lt;br /&gt;
| v13956&lt;br /&gt;
| 30&lt;br /&gt;
| 2.40-0&lt;br /&gt;
|-&lt;br /&gt;
| [[8.0.0-18]]&lt;br /&gt;
| v15047&lt;br /&gt;
| 37&lt;br /&gt;
| 2.44-6&lt;br /&gt;
|-&lt;br /&gt;
| [[8.1.0-0_New3DS]]&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
| 2.45-5&lt;br /&gt;
|-&lt;br /&gt;
| [[9.0.0-20]]&lt;br /&gt;
| v17120&lt;br /&gt;
| 38&lt;br /&gt;
| 2.46-0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above kernel/FIRM versions are in the format: &amp;lt;KERNEL_VERSIONMAJOR&amp;gt;.&amp;lt;KERNEL_VERSIONMINOR&amp;gt;-&amp;lt;KERNEL_VERSIONREVISION&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Configuration_Memory&amp;diff=10597</id>
		<title>Configuration Memory</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Configuration_Memory&amp;diff=10597"/>
		<updated>2014-11-10T21:35:50Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ARM11 Kernel Configuration Memory =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  PROCESS VIRTUAL ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_?&lt;br /&gt;
| 0x1FF80000&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONREVISION&lt;br /&gt;
| 0x1FF80001&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONMINOR&lt;br /&gt;
| 0x1FF80002&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONMAJOR&lt;br /&gt;
| 0x1FF80003&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| UPDATEFLAG&lt;br /&gt;
| 0x1FF80004&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| NSTID&lt;br /&gt;
| 0x1FF80008&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| SYSCOREVER&lt;br /&gt;
| 0x1FF80010&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| UNITINFO&lt;br /&gt;
| 0x1FF80014&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| BOOT_FIRM&lt;br /&gt;
| 0x1FF80015&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| PREV_FIRM&lt;br /&gt;
| 0x1FF80016&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_CTRSDKVERSION&lt;br /&gt;
| 0x1FF80018&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| APPMEMTYPE&lt;br /&gt;
| 0x1FF80030&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| APPMEMALLOC&lt;br /&gt;
| 0x1FF80040&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| SYSMEMALLOC&lt;br /&gt;
| 0x1FF80044&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| BASEMEMALLOC&lt;br /&gt;
| 0x1FF80048&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_?&lt;br /&gt;
| 0x1FF80060&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONREVISION&lt;br /&gt;
| 0x1FF80061&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONMINOR&lt;br /&gt;
| 0x1FF80062&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONMAJOR&lt;br /&gt;
| 0x1FF80063&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_SYSCOREVER&lt;br /&gt;
| 0x1FF80064&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_CTRSDKVERSION&lt;br /&gt;
| 0x1FF80068&lt;br /&gt;
| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This memory page is [[Memory_layout|read-only]] for ARM11 processes.&lt;br /&gt;
&lt;br /&gt;
The FIRM_* fields are by default identical to the KERNEL_* fields. However, the FIRM_* fields can be overridden via FIRM-launch parameters, see [[FIRM|here]].&lt;br /&gt;
&lt;br /&gt;
Besides mem-region related fields, the data written here by the old 3DS/new 3DS kernels is identical.&lt;br /&gt;
&lt;br /&gt;
= Shared Memory Page For ARM11 Processes =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  PROCESS VIRTUAL ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
| bit0 selects DATETIME_0 or DATETIME_1.&lt;br /&gt;
| 0x1FF81000&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| RUNNING_HW (1=product, 2=devboard, 3=debugger, 4=capture)&lt;br /&gt;
| 0x1FF81004&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| MCU_HW_INFO&lt;br /&gt;
| 0x1FF81005&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| DATETIME_0 {(u64)MillisecondsSinceFirstJan1900,(u64)SystemTickLastTimeThisWasUpdated,(u32)unk,(u32)unk,(u32)unk,(u32)unk}&lt;br /&gt;
| 0x1FF81020&lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| DATETIME_1&lt;br /&gt;
| 0x1FF81040&lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| WIFI_MACADDR&lt;br /&gt;
| 0x1FF81060&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| 3D_SLIDERSTATE&lt;br /&gt;
| 0x1FF81080&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| 3D_LEDSTATE&lt;br /&gt;
| 0x1FF81084&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| MENUTID&lt;br /&gt;
| 0x1FF810A0&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| ACTIVEMENUTID&lt;br /&gt;
| 0x1FF810A8&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| Signed? Headsets connected?&lt;br /&gt;
| 0x1FF810C0&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This memory page is normally read-only for ARM11 processes, write-access is [[Memory_layout|determined]] by the process exheader kernel &amp;quot;shared page writing&amp;quot; flag.&lt;br /&gt;
&lt;br /&gt;
= ARM11 Kernel Config Fields =&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80000 / 0x1FF80060 ==&lt;br /&gt;
Unknown, this is normally value 0.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONREVISION / FIRM_VERSIONREVISION ==&lt;br /&gt;
This is the version-revision for the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONMINOR ==&lt;br /&gt;
This is the version-minor from ((title-version &amp;amp; 0x3FF) &amp;gt;&amp;gt; 4), for the currently running [[FIRM]]. The values from KERNEL_VERSIONMINOR and KERNEL_VERSIONMAJOR can be stored in applications&#039; [[NCCH#CXI|CXI]] exheader.&lt;br /&gt;
&lt;br /&gt;
== FIRM_VERSIONMINOR ==&lt;br /&gt;
This is the same as KERNEL_VERSIONMINOR. After [[AM:InstallNATIVEFIRM]] checks FIRM_SYSCOREVER, [[AM:InstallNATIVEFIRM]] then compares FIRM_VERSIONMINOR with the NATIVE_FIRM ((title-version &amp;amp; 0x3FF) &amp;gt;&amp;gt; 4), when the latter is larger than FIRM_VERSIONMINOR [[AM:InstallNATIVEFIRM]] will trigger a [[FIRM]] install.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONMAJOR / FIRM_VERSIONMAJOR ==&lt;br /&gt;
This is the version-major for the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== UPDATEFLAG ==&lt;br /&gt;
Normally this flag is zero. When the ARM11 kernel is booting on non-factory FIRM it will set this flag to 1, when bit0 from the data which field 0x1FF80016 is loaded from is clear, if the following [[PAD]] buttons are pressed: L, R, A, Up. When this flag is set, [[NS]] will launch the [[System_Settings#System_Updater|System Updater]] title instead of [[Home Menu]].&lt;br /&gt;
&lt;br /&gt;
== NSTID ==&lt;br /&gt;
This field contains the titleID of the first title to launch from CTR-NAND after the [[FIRM]] system processes are loaded. The [[Process_Manager_Services|PM]] module launches this title. If this field titleID is all-zero, the system will not attempt to launch the title. The regular ARM11 kernel sets this to the regular [[NS]] titleID, while the SAFE_MODE ARM11 kernel sets this to the SAFE_MODE NS titleID. The factory FIRM ARM11-kernel sets this to the NS TID from [[Factory_Setup|here]].&lt;br /&gt;
&lt;br /&gt;
== SYSCOREVER ==&lt;br /&gt;
This field is initialized by the ARM11 kernel, this is the programID-low of the running FIRM. When launching [[NCCH#CXI|CXIs]], the value stored here must match the core version field stored in the CXI exheader. If they do not match, the [[Process_Manager_Services|PM]] module will refuse to launch the ARM11 process.&lt;br /&gt;
&lt;br /&gt;
With [[Factory_Setup|factory]] NATIVE_FIRM, this is set to 0x0, even though the FIRM programID-low is 0x2. However, the factory system-titles have core-version set to 0x2. Hence, this config-mem SYSCOREVER field might not be used by factory system processes?&lt;br /&gt;
&lt;br /&gt;
== FIRM_SYSCOREVER ==&lt;br /&gt;
Normally this is the same as SYSCOREVER. This used by [[AM:InstallNATIVEFIRM]] for comparing with the NATIVE_FIRM titleID-low. When the low u8 from the NATIVE_FIRM titleID-low is larger than FIRMSYSCOREVER, [[AM:InstallNATIVEFIRM]] will trigger FIRM installing. When that u8 is not larger than FIRM_SYSCOREVER, and these two values don&#039;t match, [[AM:InstallNATIVEFIRM]] will return an error.&lt;br /&gt;
&lt;br /&gt;
== UNITINFO ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Clear for developer unit, set for retail.(See 0x1FF80015)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Set for debug units&lt;br /&gt;
|-&lt;br /&gt;
| 2-7&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bit1 in this field is set by the ARM11 kernel when ARM debug CP14 DSCR bit14 is set. [[NS]] loads the menu TID from MENUTID when bits 1-7 of this field are clear. [[ErrDisp]] will display development error info when bit0 is clear.&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80015 ==&lt;br /&gt;
When this field is zero, bit0 for UNITINFO is set for retail. When this field is non-zero, bit0 for UNITINFO is clear for dev/debug units, and an ARM11 kernel state flag which enables debugging is set. Bit1 means JTAG connected.&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80016 ==&lt;br /&gt;
This originates from the low 8-bits of register [[CONFIG|0x10010000]]. When bit0 is set, the ARM11 kernel will not set the UPDATEFLAG to value 1.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_CTRSDKVERSION / FIRM_CTRSDKVERSION ==&lt;br /&gt;
This is the CTR-SDK version which was used to build the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== APPMEMTYPE ==&lt;br /&gt;
The value of this field determines the size for APPMEMALLOC. The retail type(value0) is used when the type is not values 2-5. See [[Memory_layout]] for the table of values for this and the mem-region sizes.&lt;br /&gt;
&lt;br /&gt;
== APPMEMALLOC ==&lt;br /&gt;
This contains the total size of the memory that can be allocated with the APPLICATION [[SVC|memory-region]], see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
== SYSMEMALLOC ==&lt;br /&gt;
Same as APPMEMALLOC except for the SYSTEM mem-region, see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
== BASEMEMALLOC ==&lt;br /&gt;
Same as APPMEMALLOC except for the BASE mem-region, see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
= Shared Memory Page Fields =&lt;br /&gt;
&lt;br /&gt;
== WIFI_MACADDR ==&lt;br /&gt;
This is the WiFi MAC address for the 3DS. This is initialized by the [[NWM_Services|NWM]] module, it&#039;s unknown where the MAC address written here was originally loaded from.&lt;br /&gt;
&lt;br /&gt;
== 3D_SLIDERSTATE ==&lt;br /&gt;
This float contains the state of the 3D slider. The range of this float is value 0.0f for &amp;quot;off&amp;quot;, and 1.0f for max.&lt;br /&gt;
&lt;br /&gt;
This is written/updated by [[HID_Services|HID]] module.&lt;br /&gt;
&lt;br /&gt;
== 3D_LEDSTATE ==&lt;br /&gt;
When non-zero, the 3D LED is disabled. See [[GSPGPU:SetLedForceOff]].&lt;br /&gt;
&lt;br /&gt;
== MENUTID ==&lt;br /&gt;
Unknown, contains the menu TID (used by [[NS]])&lt;br /&gt;
&lt;br /&gt;
== ACTIVEMENUTID ==&lt;br /&gt;
This contains the titleID of the currently running menu launched by [[NS]].&lt;br /&gt;
&lt;br /&gt;
= NATIVE_FIRM Versions =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  System version&lt;br /&gt;
!  Old3DS title-version&lt;br /&gt;
!  Old3DS hex title contentID&lt;br /&gt;
!  Kernel/FIRM version (Old3DS/New3DS)&lt;br /&gt;
|-&lt;br /&gt;
| [[Factory_Setup|Factory]] FIRM (titleID 00040001-00000002)&lt;br /&gt;
| v0&lt;br /&gt;
| 00&lt;br /&gt;
| 2.3-0&lt;br /&gt;
|-&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| v432&lt;br /&gt;
| 00&lt;br /&gt;
| 2.27-0&lt;br /&gt;
|-&lt;br /&gt;
| [[1.1.0-1]]&lt;br /&gt;
| v1472&lt;br /&gt;
| 02&lt;br /&gt;
| 2.28-0&lt;br /&gt;
|-&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| v2516&lt;br /&gt;
| 09&lt;br /&gt;
| 2.29-7&lt;br /&gt;
|-&lt;br /&gt;
| [[2.1.0-3]]&lt;br /&gt;
| v3553&lt;br /&gt;
| 0B&lt;br /&gt;
| 2.30-18&lt;br /&gt;
|-&lt;br /&gt;
| [[2.2.0-X]]&lt;br /&gt;
| v4595&lt;br /&gt;
| 0F&lt;br /&gt;
| 2.31-40&lt;br /&gt;
|-&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| v5647&lt;br /&gt;
| 18&lt;br /&gt;
| 2.32-15&lt;br /&gt;
|-&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| v6677&lt;br /&gt;
| 1D&lt;br /&gt;
| 2.33-4&lt;br /&gt;
|-&lt;br /&gt;
| [[4.1.0-8]]&lt;br /&gt;
| v7712&lt;br /&gt;
| 1F&lt;br /&gt;
| 2.34-0&lt;br /&gt;
|-&lt;br /&gt;
| [[5.0.0-11]]&lt;br /&gt;
| v8758&lt;br /&gt;
| 25&lt;br /&gt;
| 2.35-6&lt;br /&gt;
|-&lt;br /&gt;
| [[5.1.0-11]]&lt;br /&gt;
| v9792&lt;br /&gt;
| 26&lt;br /&gt;
| 2.36-0&lt;br /&gt;
|-&lt;br /&gt;
| [[6.0.0-11]]&lt;br /&gt;
| v10833&lt;br /&gt;
| 29&lt;br /&gt;
| 2.37-0&lt;br /&gt;
|-&lt;br /&gt;
| [[6.1.0-11]]&lt;br /&gt;
| v11872&lt;br /&gt;
| 2A&lt;br /&gt;
| 2.38-0&lt;br /&gt;
|-&lt;br /&gt;
| [[7.0.0-13]]&lt;br /&gt;
| v12916&lt;br /&gt;
| 2E&lt;br /&gt;
| 2.39-4&lt;br /&gt;
|-&lt;br /&gt;
| [[7.2.0-17]]&lt;br /&gt;
| v13956&lt;br /&gt;
| 30&lt;br /&gt;
| 2.40-0&lt;br /&gt;
|-&lt;br /&gt;
| [[8.0.0-18]]&lt;br /&gt;
| v15047&lt;br /&gt;
| 37&lt;br /&gt;
| 2.44-6&lt;br /&gt;
|-&lt;br /&gt;
| [[8.1.0-0_New3DS]]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 2.45-5&lt;br /&gt;
|-&lt;br /&gt;
| [[9.0.0-20]]&lt;br /&gt;
| v17120&lt;br /&gt;
| 38&lt;br /&gt;
| 2.46-0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above kernel/FIRM versions are in the format: &amp;lt;KERNEL_VERSIONMAJOR&amp;gt;.&amp;lt;KERNEL_VERSIONMINOR&amp;gt;-&amp;lt;KERNEL_VERSIONREVISION&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Configuration_Memory&amp;diff=10596</id>
		<title>Configuration Memory</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Configuration_Memory&amp;diff=10596"/>
		<updated>2014-11-10T21:35:12Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Updates to the WiFi MAC address stuff&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ARM11 Kernel Configuration Memory =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  PROCESS VIRTUAL ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_?&lt;br /&gt;
| 0x1FF80000&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONREVISION&lt;br /&gt;
| 0x1FF80001&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONMINOR&lt;br /&gt;
| 0x1FF80002&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONMAJOR&lt;br /&gt;
| 0x1FF80003&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| UPDATEFLAG&lt;br /&gt;
| 0x1FF80004&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| NSTID&lt;br /&gt;
| 0x1FF80008&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| SYSCOREVER&lt;br /&gt;
| 0x1FF80010&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| UNITINFO&lt;br /&gt;
| 0x1FF80014&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| BOOT_FIRM&lt;br /&gt;
| 0x1FF80015&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| PREV_FIRM&lt;br /&gt;
| 0x1FF80016&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_CTRSDKVERSION&lt;br /&gt;
| 0x1FF80018&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| APPMEMTYPE&lt;br /&gt;
| 0x1FF80030&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| APPMEMALLOC&lt;br /&gt;
| 0x1FF80040&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| SYSMEMALLOC&lt;br /&gt;
| 0x1FF80044&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| BASEMEMALLOC&lt;br /&gt;
| 0x1FF80048&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_?&lt;br /&gt;
| 0x1FF80060&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONREVISION&lt;br /&gt;
| 0x1FF80061&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONMINOR&lt;br /&gt;
| 0x1FF80062&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONMAJOR&lt;br /&gt;
| 0x1FF80063&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_SYSCOREVER&lt;br /&gt;
| 0x1FF80064&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_CTRSDKVERSION&lt;br /&gt;
| 0x1FF80068&lt;br /&gt;
| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This memory page is [[Memory_layout|read-only]] for ARM11 processes.&lt;br /&gt;
&lt;br /&gt;
The FIRM_* fields are by default identical to the KERNEL_* fields. However, the FIRM_* fields can be overridden via FIRM-launch parameters, see [[FIRM|here]].&lt;br /&gt;
&lt;br /&gt;
Besides mem-region related fields, the data written here by the old 3DS/new 3DS kernels is identical.&lt;br /&gt;
&lt;br /&gt;
= Shared Memory Page For ARM11 Processes =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  PROCESS VIRTUAL ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
| bit0 selects DATETIME_0 or DATETIME_1.&lt;br /&gt;
| 0x1FF81000&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| RUNNING_HW (1=product, 2=devboard, 3=debugger, 4=capture)&lt;br /&gt;
| 0x1FF81004&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| MCU_HW_INFO&lt;br /&gt;
| 0x1FF81005&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| DATETIME_0 {(u64)MillisecondsSinceFirstJan1900,(u64)SystemTickLastTimeThisWasUpdated,(u32)unk,(u32)unk,(u32)unk,(u32)unk}&lt;br /&gt;
| 0x1FF81020&lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| DATETIME_1&lt;br /&gt;
| 0x1FF81040&lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| WIFI_MACADDR&lt;br /&gt;
| 0x1FF81060&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| 3D_SLIDERSTATE&lt;br /&gt;
| 0x1FF81080&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| 3D_LEDSTATE&lt;br /&gt;
| 0x1FF81084&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| MENUTID&lt;br /&gt;
| 0x1FF810A0&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| ACTIVEMENUTID&lt;br /&gt;
| 0x1FF810A8&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| Signed? Headsets connected?&lt;br /&gt;
| 0x1FF810C0&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This memory page is normally read-only for ARM11 processes, write-access is [[Memory_layout|determined]] by the process exheader kernel &amp;quot;shared page writing&amp;quot; flag.&lt;br /&gt;
&lt;br /&gt;
= ARM11 Kernel Config Fields =&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80000 / 0x1FF80060 ==&lt;br /&gt;
Unknown, this is normally value 0.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONREVISION / FIRM_VERSIONREVISION ==&lt;br /&gt;
This is the version-revision for the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONMINOR ==&lt;br /&gt;
This is the version-minor from ((title-version &amp;amp; 0x3FF) &amp;gt;&amp;gt; 4), for the currently running [[FIRM]]. The values from KERNEL_VERSIONMINOR and KERNEL_VERSIONMAJOR can be stored in applications&#039; [[NCCH#CXI|CXI]] exheader.&lt;br /&gt;
&lt;br /&gt;
== FIRM_VERSIONMINOR ==&lt;br /&gt;
This is the same as KERNEL_VERSIONMINOR. After [[AM:InstallNATIVEFIRM]] checks FIRM_SYSCOREVER, [[AM:InstallNATIVEFIRM]] then compares FIRM_VERSIONMINOR with the NATIVE_FIRM ((title-version &amp;amp; 0x3FF) &amp;gt;&amp;gt; 4), when the latter is larger than FIRM_VERSIONMINOR [[AM:InstallNATIVEFIRM]] will trigger a [[FIRM]] install.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONMAJOR / FIRM_VERSIONMAJOR ==&lt;br /&gt;
This is the version-major for the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== UPDATEFLAG ==&lt;br /&gt;
Normally this flag is zero. When the ARM11 kernel is booting on non-factory FIRM it will set this flag to 1, when bit0 from the data which field 0x1FF80016 is loaded from is clear, if the following [[PAD]] buttons are pressed: L, R, A, Up. When this flag is set, [[NS]] will launch the [[System_Settings#System_Updater|System Updater]] title instead of [[Home Menu]].&lt;br /&gt;
&lt;br /&gt;
== NSTID ==&lt;br /&gt;
This field contains the titleID of the first title to launch from CTR-NAND after the [[FIRM]] system processes are loaded. The [[Process_Manager_Services|PM]] module launches this title. If this field titleID is all-zero, the system will not attempt to launch the title. The regular ARM11 kernel sets this to the regular [[NS]] titleID, while the SAFE_MODE ARM11 kernel sets this to the SAFE_MODE NS titleID. The factory FIRM ARM11-kernel sets this to the NS TID from [[Factory_Setup|here]].&lt;br /&gt;
&lt;br /&gt;
== SYSCOREVER ==&lt;br /&gt;
This field is initialized by the ARM11 kernel, this is the programID-low of the running FIRM. When launching [[NCCH#CXI|CXIs]], the value stored here must match the core version field stored in the CXI exheader. If they do not match, the [[Process_Manager_Services|PM]] module will refuse to launch the ARM11 process.&lt;br /&gt;
&lt;br /&gt;
With [[Factory_Setup|factory]] NATIVE_FIRM, this is set to 0x0, even though the FIRM programID-low is 0x2. However, the factory system-titles have core-version set to 0x2. Hence, this config-mem SYSCOREVER field might not be used by factory system processes?&lt;br /&gt;
&lt;br /&gt;
== FIRM_SYSCOREVER ==&lt;br /&gt;
Normally this is the same as SYSCOREVER. This used by [[AM:InstallNATIVEFIRM]] for comparing with the NATIVE_FIRM titleID-low. When the low u8 from the NATIVE_FIRM titleID-low is larger than FIRMSYSCOREVER, [[AM:InstallNATIVEFIRM]] will trigger FIRM installing. When that u8 is not larger than FIRM_SYSCOREVER, and these two values don&#039;t match, [[AM:InstallNATIVEFIRM]] will return an error.&lt;br /&gt;
&lt;br /&gt;
== UNITINFO ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Clear for developer unit, set for retail.(See 0x1FF80015)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Set for debug units&lt;br /&gt;
|-&lt;br /&gt;
| 2-7&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bit1 in this field is set by the ARM11 kernel when ARM debug CP14 DSCR bit14 is set. [[NS]] loads the menu TID from MENUTID when bits 1-7 of this field are clear. [[ErrDisp]] will display development error info when bit0 is clear.&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80015 ==&lt;br /&gt;
When this field is zero, bit0 for UNITINFO is set for retail. When this field is non-zero, bit0 for UNITINFO is clear for dev/debug units, and an ARM11 kernel state flag which enables debugging is set. Bit1 means JTAG connected.&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80016 ==&lt;br /&gt;
This originates from the low 8-bits of register [[CONFIG|0x10010000]]. When bit0 is set, the ARM11 kernel will not set the UPDATEFLAG to value 1.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_CTRSDKVERSION / FIRM_CTRSDKVERSION ==&lt;br /&gt;
This is the CTR-SDK version which was used to build the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== APPMEMTYPE ==&lt;br /&gt;
The value of this field determines the size for APPMEMALLOC. The retail type(value0) is used when the type is not values 2-5. See [[Memory_layout]] for the table of values for this and the mem-region sizes.&lt;br /&gt;
&lt;br /&gt;
== APPMEMALLOC ==&lt;br /&gt;
This contains the total size of the memory that can be allocated with the APPLICATION [[SVC|memory-region]], see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
== SYSMEMALLOC ==&lt;br /&gt;
Same as APPMEMALLOC except for the SYSTEM mem-region, see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
== BASEMEMALLOC ==&lt;br /&gt;
Same as APPMEMALLOC except for the BASE mem-region, see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
= Shared Memory Page Fields =&lt;br /&gt;
&lt;br /&gt;
== WIFI_MACADDR ==&lt;br /&gt;
This is the WiFi MAC address for the 3DS. This is initialized by the [[NWM_Services|NWM]] module, it&#039;s unknown where the MAC address written here was originally loaded from.&lt;br /&gt;
&lt;br /&gt;
== 3D_SLIDERSTATE ==&lt;br /&gt;
This float contains the state of the 3D slider. The range of this float is value 0.0f for &amp;quot;off&amp;quot;, and 1.0f for max.&lt;br /&gt;
&lt;br /&gt;
This is written/updated by [[HID_Services|HID]] module.&lt;br /&gt;
&lt;br /&gt;
== 3D_LEDSTATE ==&lt;br /&gt;
When non-zero, the 3D LED is disabled. See [[GSPGPU:SetLedForceOff]].&lt;br /&gt;
&lt;br /&gt;
== MENUTID ==&lt;br /&gt;
Unknown, contains the menu TID(used by [[NS]]).&lt;br /&gt;
&lt;br /&gt;
== ACTIVEMENUTID ==&lt;br /&gt;
This contains the titleID of the currently running menu launched by [[NS]].&lt;br /&gt;
&lt;br /&gt;
= NATIVE_FIRM Versions =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  System version&lt;br /&gt;
!  Old3DS title-version&lt;br /&gt;
!  Old3DS hex title contentID&lt;br /&gt;
!  Kernel/FIRM version (Old3DS/New3DS)&lt;br /&gt;
|-&lt;br /&gt;
| [[Factory_Setup|Factory]] FIRM (titleID 00040001-00000002)&lt;br /&gt;
| v0&lt;br /&gt;
| 00&lt;br /&gt;
| 2.3-0&lt;br /&gt;
|-&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| v432&lt;br /&gt;
| 00&lt;br /&gt;
| 2.27-0&lt;br /&gt;
|-&lt;br /&gt;
| [[1.1.0-1]]&lt;br /&gt;
| v1472&lt;br /&gt;
| 02&lt;br /&gt;
| 2.28-0&lt;br /&gt;
|-&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| v2516&lt;br /&gt;
| 09&lt;br /&gt;
| 2.29-7&lt;br /&gt;
|-&lt;br /&gt;
| [[2.1.0-3]]&lt;br /&gt;
| v3553&lt;br /&gt;
| 0B&lt;br /&gt;
| 2.30-18&lt;br /&gt;
|-&lt;br /&gt;
| [[2.2.0-X]]&lt;br /&gt;
| v4595&lt;br /&gt;
| 0F&lt;br /&gt;
| 2.31-40&lt;br /&gt;
|-&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| v5647&lt;br /&gt;
| 18&lt;br /&gt;
| 2.32-15&lt;br /&gt;
|-&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| v6677&lt;br /&gt;
| 1D&lt;br /&gt;
| 2.33-4&lt;br /&gt;
|-&lt;br /&gt;
| [[4.1.0-8]]&lt;br /&gt;
| v7712&lt;br /&gt;
| 1F&lt;br /&gt;
| 2.34-0&lt;br /&gt;
|-&lt;br /&gt;
| [[5.0.0-11]]&lt;br /&gt;
| v8758&lt;br /&gt;
| 25&lt;br /&gt;
| 2.35-6&lt;br /&gt;
|-&lt;br /&gt;
| [[5.1.0-11]]&lt;br /&gt;
| v9792&lt;br /&gt;
| 26&lt;br /&gt;
| 2.36-0&lt;br /&gt;
|-&lt;br /&gt;
| [[6.0.0-11]]&lt;br /&gt;
| v10833&lt;br /&gt;
| 29&lt;br /&gt;
| 2.37-0&lt;br /&gt;
|-&lt;br /&gt;
| [[6.1.0-11]]&lt;br /&gt;
| v11872&lt;br /&gt;
| 2A&lt;br /&gt;
| 2.38-0&lt;br /&gt;
|-&lt;br /&gt;
| [[7.0.0-13]]&lt;br /&gt;
| v12916&lt;br /&gt;
| 2E&lt;br /&gt;
| 2.39-4&lt;br /&gt;
|-&lt;br /&gt;
| [[7.2.0-17]]&lt;br /&gt;
| v13956&lt;br /&gt;
| 30&lt;br /&gt;
| 2.40-0&lt;br /&gt;
|-&lt;br /&gt;
| [[8.0.0-18]]&lt;br /&gt;
| v15047&lt;br /&gt;
| 37&lt;br /&gt;
| 2.44-6&lt;br /&gt;
|-&lt;br /&gt;
| [[8.1.0-0_New3DS]]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 2.45-5&lt;br /&gt;
|-&lt;br /&gt;
| [[9.0.0-20]]&lt;br /&gt;
| v17120&lt;br /&gt;
| 38&lt;br /&gt;
| 2.46-0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above kernel/FIRM versions are in the format: &amp;lt;KERNEL_VERSIONMAJOR&amp;gt;.&amp;lt;KERNEL_VERSIONMINOR&amp;gt;-&amp;lt;KERNEL_VERSIONREVISION&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Configuration_Memory&amp;diff=10595</id>
		<title>Configuration Memory</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Configuration_Memory&amp;diff=10595"/>
		<updated>2014-11-10T21:33:17Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fix some spacing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ARM11 Kernel Configuration Memory =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  PROCESS VIRTUAL ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_?&lt;br /&gt;
| 0x1FF80000&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONREVISION&lt;br /&gt;
| 0x1FF80001&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONMINOR&lt;br /&gt;
| 0x1FF80002&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONMAJOR&lt;br /&gt;
| 0x1FF80003&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| UPDATEFLAG&lt;br /&gt;
| 0x1FF80004&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| NSTID&lt;br /&gt;
| 0x1FF80008&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| SYSCOREVER&lt;br /&gt;
| 0x1FF80010&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| UNITINFO&lt;br /&gt;
| 0x1FF80014&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| BOOT_FIRM&lt;br /&gt;
| 0x1FF80015&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| PREV_FIRM&lt;br /&gt;
| 0x1FF80016&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_CTRSDKVERSION&lt;br /&gt;
| 0x1FF80018&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| APPMEMTYPE&lt;br /&gt;
| 0x1FF80030&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| APPMEMALLOC&lt;br /&gt;
| 0x1FF80040&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| SYSMEMALLOC&lt;br /&gt;
| 0x1FF80044&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| BASEMEMALLOC&lt;br /&gt;
| 0x1FF80048&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_?&lt;br /&gt;
| 0x1FF80060&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONREVISION&lt;br /&gt;
| 0x1FF80061&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONMINOR&lt;br /&gt;
| 0x1FF80062&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONMAJOR&lt;br /&gt;
| 0x1FF80063&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_SYSCOREVER&lt;br /&gt;
| 0x1FF80064&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_CTRSDKVERSION&lt;br /&gt;
| 0x1FF80068&lt;br /&gt;
| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This memory page is [[Memory_layout|read-only]] for ARM11 processes.&lt;br /&gt;
&lt;br /&gt;
The FIRM_* fields are by default identical to the KERNEL_* fields. However, the FIRM_* fields can be overridden via FIRM-launch parameters, see [[FIRM|here]].&lt;br /&gt;
&lt;br /&gt;
Besides mem-region related fields, the data written here by the old 3DS/new 3DS kernels is identical.&lt;br /&gt;
&lt;br /&gt;
= Shared Memory Page For ARM11 Processes =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  PROCESS VIRTUAL ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
| bit0 selects DATETIME_0 or DATETIME_1.&lt;br /&gt;
| 0x1FF81000&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| RUNNING_HW (1=product, 2=devboard, 3=debugger, 4=capture)&lt;br /&gt;
| 0x1FF81004&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| MCU_HW_INFO&lt;br /&gt;
| 0x1FF81005&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| DATETIME_0 {(u64)MillisecondsSinceFirstJan1900,(u64)SystemTickLastTimeThisWasUpdated,(u32)unk,(u32)unk,(u32)unk,(u32)unk}&lt;br /&gt;
| 0x1FF81020&lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| DATETIME_1&lt;br /&gt;
| 0x1FF81040&lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| WIFI_MACADDR&lt;br /&gt;
| 0x1FF81060&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| 3D_SLIDERSTATE&lt;br /&gt;
| 0x1FF81080&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| 3D_LEDSTATE&lt;br /&gt;
| 0x1FF81084&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| MENUTID&lt;br /&gt;
| 0x1FF810A0&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| ACTIVEMENUTID&lt;br /&gt;
| 0x1FF810A8&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| Signed? Headsets connected?&lt;br /&gt;
| 0x1FF810C0&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This memory page is normally read-only for ARM11 processes, write-access is [[Memory_layout|determined]] by the process exheader kernel &amp;quot;shared page writing&amp;quot; flag.&lt;br /&gt;
&lt;br /&gt;
= ARM11 Kernel Config Fields =&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80000 / 0x1FF80060 ==&lt;br /&gt;
Unknown, this is normally value 0.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONREVISION / FIRM_VERSIONREVISION ==&lt;br /&gt;
This is the version-revision for the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONMINOR ==&lt;br /&gt;
This is the version-minor from ((title-version &amp;amp; 0x3FF) &amp;gt;&amp;gt; 4), for the currently running [[FIRM]]. The values from KERNEL_VERSIONMINOR and KERNEL_VERSIONMAJOR can be stored in applications&#039; [[NCCH#CXI|CXI]] exheader.&lt;br /&gt;
&lt;br /&gt;
== FIRM_VERSIONMINOR ==&lt;br /&gt;
This is the same as KERNEL_VERSIONMINOR. After [[AM:InstallNATIVEFIRM]] checks FIRM_SYSCOREVER, [[AM:InstallNATIVEFIRM]] then compares FIRM_VERSIONMINOR with the NATIVE_FIRM ((title-version &amp;amp; 0x3FF) &amp;gt;&amp;gt; 4), when the latter is larger than FIRM_VERSIONMINOR [[AM:InstallNATIVEFIRM]] will trigger a [[FIRM]] install.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONMAJOR / FIRM_VERSIONMAJOR ==&lt;br /&gt;
This is the version-major for the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== UPDATEFLAG ==&lt;br /&gt;
Normally this flag is zero. When the ARM11 kernel is booting on non-factory FIRM it will set this flag to 1, when bit0 from the data which field 0x1FF80016 is loaded from is clear, if the following [[PAD]] buttons are pressed: L, R, A, Up. When this flag is set, [[NS]] will launch the [[System_Settings#System_Updater|System Updater]] title instead of [[Home Menu]].&lt;br /&gt;
&lt;br /&gt;
== NSTID ==&lt;br /&gt;
This field contains the titleID of the first title to launch from CTR-NAND after the [[FIRM]] system processes are loaded. The [[Process_Manager_Services|PM]] module launches this title. If this field titleID is all-zero, the system will not attempt to launch the title. The regular ARM11 kernel sets this to the regular [[NS]] titleID, while the SAFE_MODE ARM11 kernel sets this to the SAFE_MODE NS titleID. The factory FIRM ARM11-kernel sets this to the NS TID from [[Factory_Setup|here]].&lt;br /&gt;
&lt;br /&gt;
== SYSCOREVER ==&lt;br /&gt;
This field is initialized by the ARM11 kernel, this is the programID-low of the running FIRM. When launching [[NCCH#CXI|CXIs]], the value stored here must match the core version field stored in the CXI exheader. If they do not match, the [[Process_Manager_Services|PM]] module will refuse to launch the ARM11 process.&lt;br /&gt;
&lt;br /&gt;
With [[Factory_Setup|factory]] NATIVE_FIRM, this is set to 0x0, even though the FIRM programID-low is 0x2. However, the factory system-titles have core-version set to 0x2. Hence, this config-mem SYSCOREVER field might not be used by factory system processes?&lt;br /&gt;
&lt;br /&gt;
== FIRM_SYSCOREVER ==&lt;br /&gt;
Normally this is the same as SYSCOREVER. This used by [[AM:InstallNATIVEFIRM]] for comparing with the NATIVE_FIRM titleID-low. When the low u8 from the NATIVE_FIRM titleID-low is larger than FIRMSYSCOREVER, [[AM:InstallNATIVEFIRM]] will trigger FIRM installing. When that u8 is not larger than FIRM_SYSCOREVER, and these two values don&#039;t match, [[AM:InstallNATIVEFIRM]] will return an error.&lt;br /&gt;
&lt;br /&gt;
== UNITINFO ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Clear for developer unit, set for retail.(See 0x1FF80015)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Set for debug units&lt;br /&gt;
|-&lt;br /&gt;
| 2-7&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bit1 in this field is set by the ARM11 kernel when ARM debug CP14 DSCR bit14 is set. [[NS]] loads the menu TID from MENUTID when bits 1-7 of this field are clear. [[ErrDisp]] will display development error info when bit0 is clear.&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80015 ==&lt;br /&gt;
When this field is zero, bit0 for UNITINFO is set for retail. When this field is non-zero, bit0 for UNITINFO is clear for dev/debug units, and an ARM11 kernel state flag which enables debugging is set. Bit1 means JTAG connected.&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80016 ==&lt;br /&gt;
This originates from the low 8-bits of register [[CONFIG|0x10010000]]. When bit0 is set, the ARM11 kernel will not set the UPDATEFLAG to value 1.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_CTRSDKVERSION / FIRM_CTRSDKVERSION ==&lt;br /&gt;
This is the CTR-SDK version which was used to build the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== APPMEMTYPE ==&lt;br /&gt;
The value of this field determines the size for APPMEMALLOC. The retail type(value0) is used when the type is not values 2-5. See [[Memory_layout]] for the table of values for this and the mem-region sizes.&lt;br /&gt;
&lt;br /&gt;
== APPMEMALLOC ==&lt;br /&gt;
This contains the total size of the memory that can be allocated with the APPLICATION [[SVC|memory-region]], see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
== SYSMEMALLOC ==&lt;br /&gt;
Same as APPMEMALLOC except for the SYSTEM mem-region, see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
== BASEMEMALLOC ==&lt;br /&gt;
Same as APPMEMALLOC except for the BASE mem-region, see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
= Shared Memory Page Fields =&lt;br /&gt;
&lt;br /&gt;
== WIFI_MACADDR ==&lt;br /&gt;
This is the wifi MAC address for this 3DS. This is initialized by the [[NWM_Services|NWM]] module, it&#039;s unknown where the the MAC address written here was originally loaded from.&lt;br /&gt;
&lt;br /&gt;
== 3D_SLIDERSTATE ==&lt;br /&gt;
This float contains the state of the 3D slider. The range of this float is value 0.0f for &amp;quot;off&amp;quot;, and 1.0f for max.&lt;br /&gt;
&lt;br /&gt;
This is written/updated by [[HID_Services|HID]] module.&lt;br /&gt;
&lt;br /&gt;
== 3D_LEDSTATE ==&lt;br /&gt;
When non-zero, the 3D LED is disabled. See [[GSPGPU:SetLedForceOff]].&lt;br /&gt;
&lt;br /&gt;
== MENUTID ==&lt;br /&gt;
Unknown, contains the menu TID(used by [[NS]]).&lt;br /&gt;
&lt;br /&gt;
== ACTIVEMENUTID ==&lt;br /&gt;
This contains the titleID of the currently running menu launched by [[NS]].&lt;br /&gt;
&lt;br /&gt;
= NATIVE_FIRM Versions =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  System version&lt;br /&gt;
!  Old3DS title-version&lt;br /&gt;
!  Old3DS hex title contentID&lt;br /&gt;
!  Kernel/FIRM version (Old3DS/New3DS)&lt;br /&gt;
|-&lt;br /&gt;
| [[Factory_Setup|Factory]] FIRM (titleID 00040001-00000002)&lt;br /&gt;
| v0&lt;br /&gt;
| 00&lt;br /&gt;
| 2.3-0&lt;br /&gt;
|-&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| v432&lt;br /&gt;
| 00&lt;br /&gt;
| 2.27-0&lt;br /&gt;
|-&lt;br /&gt;
| [[1.1.0-1]]&lt;br /&gt;
| v1472&lt;br /&gt;
| 02&lt;br /&gt;
| 2.28-0&lt;br /&gt;
|-&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| v2516&lt;br /&gt;
| 09&lt;br /&gt;
| 2.29-7&lt;br /&gt;
|-&lt;br /&gt;
| [[2.1.0-3]]&lt;br /&gt;
| v3553&lt;br /&gt;
| 0B&lt;br /&gt;
| 2.30-18&lt;br /&gt;
|-&lt;br /&gt;
| [[2.2.0-X]]&lt;br /&gt;
| v4595&lt;br /&gt;
| 0F&lt;br /&gt;
| 2.31-40&lt;br /&gt;
|-&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| v5647&lt;br /&gt;
| 18&lt;br /&gt;
| 2.32-15&lt;br /&gt;
|-&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| v6677&lt;br /&gt;
| 1D&lt;br /&gt;
| 2.33-4&lt;br /&gt;
|-&lt;br /&gt;
| [[4.1.0-8]]&lt;br /&gt;
| v7712&lt;br /&gt;
| 1F&lt;br /&gt;
| 2.34-0&lt;br /&gt;
|-&lt;br /&gt;
| [[5.0.0-11]]&lt;br /&gt;
| v8758&lt;br /&gt;
| 25&lt;br /&gt;
| 2.35-6&lt;br /&gt;
|-&lt;br /&gt;
| [[5.1.0-11]]&lt;br /&gt;
| v9792&lt;br /&gt;
| 26&lt;br /&gt;
| 2.36-0&lt;br /&gt;
|-&lt;br /&gt;
| [[6.0.0-11]]&lt;br /&gt;
| v10833&lt;br /&gt;
| 29&lt;br /&gt;
| 2.37-0&lt;br /&gt;
|-&lt;br /&gt;
| [[6.1.0-11]]&lt;br /&gt;
| v11872&lt;br /&gt;
| 2A&lt;br /&gt;
| 2.38-0&lt;br /&gt;
|-&lt;br /&gt;
| [[7.0.0-13]]&lt;br /&gt;
| v12916&lt;br /&gt;
| 2E&lt;br /&gt;
| 2.39-4&lt;br /&gt;
|-&lt;br /&gt;
| [[7.2.0-17]]&lt;br /&gt;
| v13956&lt;br /&gt;
| 30&lt;br /&gt;
| 2.40-0&lt;br /&gt;
|-&lt;br /&gt;
| [[8.0.0-18]]&lt;br /&gt;
| v15047&lt;br /&gt;
| 37&lt;br /&gt;
| 2.44-6&lt;br /&gt;
|-&lt;br /&gt;
| [[8.1.0-0_New3DS]]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 2.45-5&lt;br /&gt;
|-&lt;br /&gt;
| [[9.0.0-20]]&lt;br /&gt;
| v17120&lt;br /&gt;
| 38&lt;br /&gt;
| 2.46-0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above kernel/FIRM versions are in the format: &amp;lt;KERNEL_VERSIONMAJOR&amp;gt;.&amp;lt;KERNEL_VERSIONMINOR&amp;gt;-&amp;lt;KERNEL_VERSIONREVISION&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Configuration_Memory&amp;diff=10594</id>
		<title>Configuration Memory</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Configuration_Memory&amp;diff=10594"/>
		<updated>2014-11-10T21:31:58Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fix some weird issues&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ARM11 Kernel Configuration Memory =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  PROCESS VIRTUAL ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_?&lt;br /&gt;
| 0x1FF80000&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONREVISION&lt;br /&gt;
| 0x1FF80001&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONMINOR&lt;br /&gt;
| 0x1FF80002&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONMAJOR&lt;br /&gt;
| 0x1FF80003&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| UPDATEFLAG&lt;br /&gt;
| 0x1FF80004&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| NSTID&lt;br /&gt;
| 0x1FF80008&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| SYSCOREVER&lt;br /&gt;
| 0x1FF80010&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| UNITINFO&lt;br /&gt;
| 0x1FF80014&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| BOOT_FIRM&lt;br /&gt;
| 0x1FF80015&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| PREV_FIRM&lt;br /&gt;
| 0x1FF80016&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_CTRSDKVERSION&lt;br /&gt;
| 0x1FF80018&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| APPMEMTYPE&lt;br /&gt;
| 0x1FF80030&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| APPMEMALLOC&lt;br /&gt;
| 0x1FF80040&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| SYSMEMALLOC&lt;br /&gt;
| 0x1FF80044&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| BASEMEMALLOC&lt;br /&gt;
| 0x1FF80048&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_?&lt;br /&gt;
| 0x1FF80060&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONREVISION&lt;br /&gt;
| 0x1FF80061&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONMINOR&lt;br /&gt;
| 0x1FF80062&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONMAJOR&lt;br /&gt;
| 0x1FF80063&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_SYSCOREVER&lt;br /&gt;
| 0x1FF80064&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_CTRSDKVERSION&lt;br /&gt;
| 0x1FF80068&lt;br /&gt;
| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This memory page is [[Memory_layout|read-only]] for ARM11 processes.&lt;br /&gt;
&lt;br /&gt;
The FIRM_* fields are by default identical to the KERNEL_* fields. However, the FIRM_* fields can be overridden via FIRM-launch parameters, see [[FIRM|here]].&lt;br /&gt;
&lt;br /&gt;
Besides mem-region related fields, the data written here by the old 3DS/new 3DS kernels is identical.&lt;br /&gt;
&lt;br /&gt;
= Shared Memory Page For ARM11 Processes =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  PROCESS VIRTUAL ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
| bit0 selects DATETIME_0 or DATETIME_1.&lt;br /&gt;
| 0x1FF81000&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| RUNNING_HW (1=product, 2=devboard, 3=debugger, 4=capture)&lt;br /&gt;
| 0x1FF81004&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| MCU_HW_INFO&lt;br /&gt;
| 0x1FF81005&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| DATETIME_0 {(u64)MillisecondsSinceFirstJan1900,(u64)SystemTickLastTimeThisWasUpdated,(u32)unk,(u32)unk,(u32)unk,(u32)unk}&lt;br /&gt;
| 0x1FF81020&lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| DATETIME_1&lt;br /&gt;
| 0x1FF81040&lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| WIFI_MACADDR&lt;br /&gt;
| 0x1FF81060&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| 3D_SLIDERSTATE&lt;br /&gt;
| 0x1FF81080&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| 3D_LEDSTATE&lt;br /&gt;
| 0x1FF81084&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| MENUTID&lt;br /&gt;
| 0x1FF810A0&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| ACTIVEMENUTID&lt;br /&gt;
| 0x1FF810A8&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| Signed? Headsets connected?&lt;br /&gt;
| 0x1FF810C0&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This memory page is normally read-only for ARM11 processes, write-access is [[Memory_layout|determined]] by the process exheader kernel &amp;quot;shared page writing&amp;quot; flag.&lt;br /&gt;
&lt;br /&gt;
= ARM11 Kernel Config Fields =&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80000 / 0x1FF80060 ==&lt;br /&gt;
Unknown, this is normally value 0.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONREVISION / FIRM_VERSIONREVISION ==&lt;br /&gt;
This is the version-revision for the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONMINOR ==&lt;br /&gt;
This is the version-minor from ((title-version &amp;amp; 0x3FF) &amp;gt;&amp;gt; 4), for the currently running [[FIRM]]. The values from KERNEL_VERSIONMINOR and KERNEL_VERSIONMAJOR can be stored in applications&#039; [[NCCH#CXI|CXI]] exheader.&lt;br /&gt;
&lt;br /&gt;
== FIRM_VERSIONMINOR ==&lt;br /&gt;
This is the same as KERNEL_VERSIONMINOR. After [[AM:InstallNATIVEFIRM]] checks FIRM_SYSCOREVER, [[AM:InstallNATIVEFIRM]] then compares FIRM_VERSIONMINOR with the NATIVE_FIRM ((title-version &amp;amp; 0x3FF) &amp;gt;&amp;gt; 4), when the latter is larger than FIRM_VERSIONMINOR [[AM:InstallNATIVEFIRM]] will trigger a [[FIRM]] install.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONMAJOR / FIRM_VERSIONMAJOR ==&lt;br /&gt;
This is the version-major for the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== UPDATEFLAG ==&lt;br /&gt;
Normally this flag is zero. When the ARM11 kernel is booting on non-factory FIRM it will set this flag to 1, when bit0 from the data which field 0x1FF80016 is loaded from is clear, if the following [[PAD]] buttons are pressed: L, R, A, Up. When this flag is set, [[NS]] will launch the [[System_Settings#System_Updater|System Updater]] title instead of [[Home Menu]].&lt;br /&gt;
&lt;br /&gt;
== NSTID ==&lt;br /&gt;
This field contains the titleID of the first title to launch from CTR-NAND after the [[FIRM]] system processes are loaded. The [[Process_Manager_Services|PM]] module launches this title. If this field titleID is all-zero, the system will not attempt to launch the title. The regular ARM11 kernel sets this to the regular [[NS]] titleID, while the SAFE_MODE ARM11 kernel sets this to the SAFE_MODE NS titleID. The factory FIRM ARM11-kernel sets this to the NS TID from [[Factory_Setup|here]].&lt;br /&gt;
&lt;br /&gt;
== SYSCOREVER ==&lt;br /&gt;
This field is initialized by the ARM11 kernel, this is the programID-low of the running FIRM. When launching [[NCCH#CXI|CXIs]], the value stored here must match the core version field stored in the CXI exheader. If they do not match, the [[Process_Manager_Services|PM]] module will refuse to launch the ARM11 process.&lt;br /&gt;
&lt;br /&gt;
With [[Factory_Setup|factory]] NATIVE_FIRM, this is set to 0x0, even though the FIRM programID-low is 0x2. However, the factory system-titles have core-version set to 0x2. Hence, this config-mem SYSCOREVER field might not be used by factory system processes?&lt;br /&gt;
&lt;br /&gt;
== FIRM_SYSCOREVER ==&lt;br /&gt;
Normally this is the same as SYSCOREVER. This used by [[AM:InstallNATIVEFIRM]] for comparing with the NATIVE_FIRM titleID-low. When the low u8 from the NATIVE_FIRM titleID-low is larger than FIRMSYSCOREVER, [[AM:InstallNATIVEFIRM]] will trigger FIRM installing. When that u8 is not larger than FIRM_SYSCOREVER, and these two values don&#039;t match, [[AM:InstallNATIVEFIRM]] will return an error.&lt;br /&gt;
&lt;br /&gt;
== UNITINFO ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Clear for dev unit, set for retail.(See 0x1FF80015)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Set for debug units&lt;br /&gt;
|-&lt;br /&gt;
| 2-7&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bit1 in this field is set by the ARM11 kernel when ARM debug CP14 DSCR bit14 is set. [[NS]] loads the menu TID from MENUTID when bits 1-7 of this field are clear. [[ErrDisp]] will display development error info when bit0 is clear.&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80015 ==&lt;br /&gt;
When this field is zero, bit0 for UNITINFO is set for retail. When this field is non-zero, bit0 for UNITINFO is clear for dev/debug units, and an ARM11 kernel state flag which enables debugging is set. Bit1 means JTAG connected.&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80016 ==&lt;br /&gt;
This originates from the low 8-bits of register [[CONFIG|0x10010000]]. When bit0 is set, the ARM11 kernel will not set the UPDATEFLAG to value 1.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_CTRSDKVERSION / FIRM_CTRSDKVERSION ==&lt;br /&gt;
This is the CTR-SDK version which was used to build the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== APPMEMTYPE ==&lt;br /&gt;
The value of this field determines the size for APPMEMALLOC. The retail type(value0) is used when the type is not values 2-5. See [[Memory_layout]] for the table of values for this and the mem-region sizes.&lt;br /&gt;
&lt;br /&gt;
== APPMEMALLOC ==&lt;br /&gt;
This contains the total size of the memory that can be allocated with the APPLICATION [[SVC|memory-region]], see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
== SYSMEMALLOC ==&lt;br /&gt;
Same as APPMEMALLOC except for the SYSTEM mem-region, see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
== BASEMEMALLOC ==&lt;br /&gt;
Same as APPMEMALLOC except for the BASE mem-region, see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
= Shared Memory Page Fields =&lt;br /&gt;
&lt;br /&gt;
== WIFI_MACADDR ==&lt;br /&gt;
This is the wifi MAC address for this 3DS. This is initialized by the [[NWM_Services|NWM]] module, it&#039;s unknown where the the MAC address written here was originally loaded from.&lt;br /&gt;
&lt;br /&gt;
== 3D_SLIDERSTATE ==&lt;br /&gt;
This float contains the state of the 3D slider. The range of this float is value 0.0f for &amp;quot;off&amp;quot;, and 1.0f for max.&lt;br /&gt;
&lt;br /&gt;
This is written/updated by [[HID_Services|HID]] module.&lt;br /&gt;
&lt;br /&gt;
== 3D_LEDSTATE ==&lt;br /&gt;
When non-zero, the 3D LED is disabled. See [[GSPGPU:SetLedForceOff]].&lt;br /&gt;
&lt;br /&gt;
== MENUTID ==&lt;br /&gt;
Unknown, contains the menu TID(used by [[NS]]).&lt;br /&gt;
&lt;br /&gt;
== ACTIVEMENUTID ==&lt;br /&gt;
This contains the titleID of the currently running menu launched by [[NS]].&lt;br /&gt;
&lt;br /&gt;
= NATIVE_FIRM Versions =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  System version&lt;br /&gt;
!  Old3DS title-version&lt;br /&gt;
!  Old3DS hex title contentID&lt;br /&gt;
!  Kernel/FIRM version (Old3DS/New3DS)&lt;br /&gt;
|-&lt;br /&gt;
| [[Factory_Setup|Factory]] FIRM (titleID 00040001-00000002)&lt;br /&gt;
| v0&lt;br /&gt;
| 00&lt;br /&gt;
| 2.3-0&lt;br /&gt;
|-&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| v432&lt;br /&gt;
| 00&lt;br /&gt;
| 2.27-0&lt;br /&gt;
|-&lt;br /&gt;
| [[1.1.0-1]]&lt;br /&gt;
| v1472&lt;br /&gt;
| 02&lt;br /&gt;
| 2.28-0&lt;br /&gt;
|-&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| v2516&lt;br /&gt;
| 09&lt;br /&gt;
| 2.29-7&lt;br /&gt;
|-&lt;br /&gt;
| [[2.1.0-3]]&lt;br /&gt;
| v3553&lt;br /&gt;
| 0B&lt;br /&gt;
| 2.30-18&lt;br /&gt;
|-&lt;br /&gt;
| [[2.2.0-X]]&lt;br /&gt;
| v4595&lt;br /&gt;
| 0F&lt;br /&gt;
| 2.31-40&lt;br /&gt;
|-&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| v5647&lt;br /&gt;
| 18&lt;br /&gt;
| 2.32-15&lt;br /&gt;
|-&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| v6677&lt;br /&gt;
| 1D&lt;br /&gt;
| 2.33-4&lt;br /&gt;
|-&lt;br /&gt;
| [[4.1.0-8]]&lt;br /&gt;
| v7712&lt;br /&gt;
| 1F&lt;br /&gt;
| 2.34-0&lt;br /&gt;
|-&lt;br /&gt;
| [[5.0.0-11]]&lt;br /&gt;
| v8758&lt;br /&gt;
| 25&lt;br /&gt;
| 2.35-6&lt;br /&gt;
|-&lt;br /&gt;
| [[5.1.0-11]]&lt;br /&gt;
| v9792&lt;br /&gt;
| 26&lt;br /&gt;
| 2.36-0&lt;br /&gt;
|-&lt;br /&gt;
| [[6.0.0-11]]&lt;br /&gt;
| v10833&lt;br /&gt;
| 29&lt;br /&gt;
| 2.37-0&lt;br /&gt;
|-&lt;br /&gt;
| [[6.1.0-11]]&lt;br /&gt;
| v11872&lt;br /&gt;
| 2A&lt;br /&gt;
| 2.38-0&lt;br /&gt;
|-&lt;br /&gt;
| [[7.0.0-13]]&lt;br /&gt;
| v12916&lt;br /&gt;
| 2E&lt;br /&gt;
| 2.39-4&lt;br /&gt;
|-&lt;br /&gt;
| [[7.2.0-17]]&lt;br /&gt;
| v13956&lt;br /&gt;
| 30&lt;br /&gt;
| 2.40-0&lt;br /&gt;
|-&lt;br /&gt;
| [[8.0.0-18]]&lt;br /&gt;
| v15047&lt;br /&gt;
| 37&lt;br /&gt;
| 2.44-6&lt;br /&gt;
|-&lt;br /&gt;
| [[8.1.0-0_New3DS]]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 2.45-5&lt;br /&gt;
|-&lt;br /&gt;
| [[9.0.0-20]]&lt;br /&gt;
| v17120&lt;br /&gt;
| 38&lt;br /&gt;
| 2.46-0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above kernel/FIRM versions are in the format: &amp;lt;KERNEL_VERSIONMAJOR&amp;gt;.&amp;lt;KERNEL_VERSIONMINOR&amp;gt;-&amp;lt;KERNEL_VERSIONREVISION&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Configuration_Memory&amp;diff=10593</id>
		<title>Configuration Memory</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Configuration_Memory&amp;diff=10593"/>
		<updated>2014-11-10T21:30:41Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Adjust the formatting of the old and new 3DS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ARM11 Kernel Configuration Memory =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  PROCESS VIRTUAL ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_?&lt;br /&gt;
| 0x1FF80000&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONREVISION&lt;br /&gt;
| 0x1FF80001&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONMINOR&lt;br /&gt;
| 0x1FF80002&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_VERSIONMAJOR&lt;br /&gt;
| 0x1FF80003&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| UPDATEFLAG&lt;br /&gt;
| 0x1FF80004&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| NSTID&lt;br /&gt;
| 0x1FF80008&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| SYSCOREVER&lt;br /&gt;
| 0x1FF80010&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| UNITINFO&lt;br /&gt;
| 0x1FF80014&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| BOOT_FIRM&lt;br /&gt;
| 0x1FF80015&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| PREV_FIRM&lt;br /&gt;
| 0x1FF80016&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| KERNEL_CTRSDKVERSION&lt;br /&gt;
| 0x1FF80018&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| APPMEMTYPE&lt;br /&gt;
| 0x1FF80030&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| APPMEMALLOC&lt;br /&gt;
| 0x1FF80040&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| SYSMEMALLOC&lt;br /&gt;
| 0x1FF80044&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| BASEMEMALLOC&lt;br /&gt;
| 0x1FF80048&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_?&lt;br /&gt;
| 0x1FF80060&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONREVISION&lt;br /&gt;
| 0x1FF80061&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONMINOR&lt;br /&gt;
| 0x1FF80062&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_VERSIONMAJOR&lt;br /&gt;
| 0x1FF80063&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_SYSCOREVER&lt;br /&gt;
| 0x1FF80064&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| FIRM_CTRSDKVERSION&lt;br /&gt;
| 0x1FF80068&lt;br /&gt;
| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This memory page is [[Memory_layout|read-only]] for ARM11 processes.&lt;br /&gt;
&lt;br /&gt;
The FIRM_* fields are by default identical to the KERNEL_* fields. However, the FIRM_* fields can be overridden via FIRM-launch parameters, see [[FIRM|here]].&lt;br /&gt;
&lt;br /&gt;
Besides mem-region related fields, the data written here by the old 3DS/new 3DS kernels is identical.&lt;br /&gt;
&lt;br /&gt;
= Shared Memory Page For ARM11 Processes =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  NAME&lt;br /&gt;
!  PROCESS VIRTUAL ADDRESS&lt;br /&gt;
!  WIDTH&lt;br /&gt;
|-&lt;br /&gt;
| bit0 selects DATETIME_0 or DATETIME_1.&lt;br /&gt;
| 0x1FF81000&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| RUNNING_HW (1=product, 2=devboard, 3=debugger, 4=capture)&lt;br /&gt;
| 0x1FF81004&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| MCU_HW_INFO&lt;br /&gt;
| 0x1FF81005&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| DATETIME_0 {(u64)MillisecondsSinceFirstJan1900,(u64)SystemTickLastTimeThisWasUpdated,(u32)unk,(u32)unk,(u32)unk,(u32)unk}&lt;br /&gt;
| 0x1FF81020&lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| DATETIME_1&lt;br /&gt;
| 0x1FF81040&lt;br /&gt;
| 32&lt;br /&gt;
|-&lt;br /&gt;
| WIFI_MACADDR&lt;br /&gt;
| 0x1FF81060&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| 3D_SLIDERSTATE&lt;br /&gt;
| 0x1FF81080&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| 3D_LEDSTATE&lt;br /&gt;
| 0x1FF81084&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| MENUTID&lt;br /&gt;
| 0x1FF810A0&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| ACTIVEMENUTID&lt;br /&gt;
| 0x1FF810A8&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| signed ? HeadsetsConnected?&lt;br /&gt;
| 0x1FF810C0&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This memory page is normally read-only for ARM11 processes, write-access is [[Memory_layout|determined]] by the process exheader kernel &amp;quot;Shared page writing&amp;quot; flag.&lt;br /&gt;
&lt;br /&gt;
= ARM11 Kernel Config Fields =&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80000 / 0x1FF80060 ==&lt;br /&gt;
Unknown, this is normally value 0.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONREVISION / FIRM_VERSIONREVISION ==&lt;br /&gt;
This is the version-revision for the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONMINOR ==&lt;br /&gt;
This is the version-minor from ((title-version &amp;amp; 0x3FF) &amp;gt;&amp;gt; 4), for the currently running [[FIRM]]. The values from KERNEL_VERSIONMINOR and KERNEL_VERSIONMAJOR can be stored in applications&#039; [[NCCH#CXI|CXI]] exheader.&lt;br /&gt;
&lt;br /&gt;
== FIRM_VERSIONMINOR ==&lt;br /&gt;
This is the same as KERNEL_VERSIONMINOR. After [[AM:InstallNATIVEFIRM]] checks FIRM_SYSCOREVER, [[AM:InstallNATIVEFIRM]] then compares FIRM_VERSIONMINOR with the NATIVE_FIRM ((title-version &amp;amp; 0x3FF) &amp;gt;&amp;gt; 4), when the latter is larger than FIRM_VERSIONMINOR [[AM:InstallNATIVEFIRM]] will trigger a [[FIRM]] install.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_VERSIONMAJOR / FIRM_VERSIONMAJOR ==&lt;br /&gt;
This is the version-major for the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== UPDATEFLAG ==&lt;br /&gt;
Normally this flag is zero. When the ARM11 kernel is booting on non-factory FIRM it will set this flag to 1, when bit0 from the data which field 0x1FF80016 is loaded from is clear, if the following [[PAD]] buttons are pressed: L, R, A, Up. When this flag is set, [[NS]] will launch the [[System_Settings#System_Updater|System Updater]] title instead of [[Home Menu]].&lt;br /&gt;
&lt;br /&gt;
== NSTID ==&lt;br /&gt;
This field contains the titleID of the first title to launch from CTR-NAND after the [[FIRM]] system processes are loaded. The [[Process_Manager_Services|PM]] module launches this title. If this field titleID is all-zero, the system will not attempt to launch the title. The regular ARM11 kernel sets this to the regular [[NS]] titleID, while the SAFE_MODE ARM11 kernel sets this to the SAFE_MODE NS titleID. The factory FIRM ARM11-kernel sets this to the NS TID from [[Factory_Setup|here]].&lt;br /&gt;
&lt;br /&gt;
== SYSCOREVER ==&lt;br /&gt;
This field is initialized by the ARM11 kernel, this is the programID-low of the running FIRM. When launching [[NCCH#CXI|CXIs]], the value stored here must match the core version field stored in the CXI exheader. If they do not match, the [[Process_Manager_Services|PM]] module will refuse to launch the ARM11 process.&lt;br /&gt;
&lt;br /&gt;
With [[Factory_Setup|factory]] NATIVE_FIRM, this is set to 0x0, even though the FIRM programID-low is 0x2. However, the factory system-titles have core-version set to 0x2. Hence, this config-mem SYSCOREVER field might not be used by factory system processes?&lt;br /&gt;
&lt;br /&gt;
== FIRM_SYSCOREVER ==&lt;br /&gt;
Normally this is the same as SYSCOREVER. This used by [[AM:InstallNATIVEFIRM]] for comparing with the NATIVE_FIRM titleID-low. When the low u8 from the NATIVE_FIRM titleID-low is larger than FIRMSYSCOREVER, [[AM:InstallNATIVEFIRM]] will trigger FIRM installing. When that u8 is not larger than FIRM_SYSCOREVER, and these two values don&#039;t match, [[AM:InstallNATIVEFIRM]] will return an error.&lt;br /&gt;
&lt;br /&gt;
== UNITINFO ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Bit&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Clear for dev unit, set for retail.(See 0x1FF80015)&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Set for debug units&lt;br /&gt;
|-&lt;br /&gt;
| 2-7&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bit1 in this field is set by the ARM11 kernel when ARM debug CP14 DSCR bit14 is set. [[NS]] loads the menu TID from MENUTID when bits 1-7 of this field are clear. [[ErrDisp]] will display development error info when bit0 is clear.&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80015 ==&lt;br /&gt;
When this field is zero, bit0 for UNITINFO is set for retail. When this field is non-zero, bit0 for UNITINFO is clear for dev/debug units, and an ARM11 kernel state flag which enables debugging is set. Bit1 means JTAG connected.&lt;br /&gt;
&lt;br /&gt;
== 0x1FF80016 ==&lt;br /&gt;
This originates from the low 8-bits of register [[CONFIG|0x10010000]]. When bit0 is set, the ARM11 kernel will not set the UPDATEFLAG to value 1.&lt;br /&gt;
&lt;br /&gt;
== KERNEL_CTRSDKVERSION / FIRM_CTRSDKVERSION ==&lt;br /&gt;
This is the CTR-SDK version which was used to build the currently running [[FIRM]].&lt;br /&gt;
&lt;br /&gt;
== APPMEMTYPE ==&lt;br /&gt;
The value of this field determines the size for APPMEMALLOC. The retail type(value0) is used when the type is not values 2-5. See [[Memory_layout]] for the table of values for this and the mem-region sizes.&lt;br /&gt;
&lt;br /&gt;
== APPMEMALLOC ==&lt;br /&gt;
This contains the total size of the memory that can be allocated with the APPLICATION [[SVC|memory-region]], see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
== SYSMEMALLOC ==&lt;br /&gt;
Same as APPMEMALLOC except for the SYSTEM mem-region, see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
== BASEMEMALLOC ==&lt;br /&gt;
Same as APPMEMALLOC except for the BASE mem-region, see [[Memory_layout|here]].&lt;br /&gt;
&lt;br /&gt;
= Shared Memory Page Fields =&lt;br /&gt;
&lt;br /&gt;
== WIFI_MACADDR ==&lt;br /&gt;
This is the wifi MAC address for this 3DS. This is initialized by the [[NWM_Services|NWM]] module, it&#039;s unknown where the the MAC address written here was originally loaded from.&lt;br /&gt;
&lt;br /&gt;
== 3D_SLIDERSTATE ==&lt;br /&gt;
This float contains the state of the 3D slider. The range of this float is value 0.0f for &amp;quot;off&amp;quot;, and 1.0f for max.&lt;br /&gt;
&lt;br /&gt;
This is written/updated by [[HID_Services|HID]] module.&lt;br /&gt;
&lt;br /&gt;
== 3D_LEDSTATE ==&lt;br /&gt;
When non-zero, the 3D LED is disabled. See [[GSPGPU:SetLedForceOff]].&lt;br /&gt;
&lt;br /&gt;
== MENUTID ==&lt;br /&gt;
Unknown, contains the menu TID(used by [[NS]]).&lt;br /&gt;
&lt;br /&gt;
== ACTIVEMENUTID ==&lt;br /&gt;
This contains the titleID of the currently running menu launched by [[NS]].&lt;br /&gt;
&lt;br /&gt;
= NATIVE_FIRM Versions =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  System version&lt;br /&gt;
!  Old3DS title-version&lt;br /&gt;
!  Old3DS hex title contentID&lt;br /&gt;
!  Kernel/FIRM version (Old3DS/New3DS)&lt;br /&gt;
|-&lt;br /&gt;
| [[Factory_Setup|Factory]] FIRM (titleID 00040001-00000002)&lt;br /&gt;
| v0&lt;br /&gt;
| 00&lt;br /&gt;
| 2.3-0&lt;br /&gt;
|-&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| v432&lt;br /&gt;
| 00&lt;br /&gt;
| 2.27-0&lt;br /&gt;
|-&lt;br /&gt;
| [[1.1.0-1]]&lt;br /&gt;
| v1472&lt;br /&gt;
| 02&lt;br /&gt;
| 2.28-0&lt;br /&gt;
|-&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| v2516&lt;br /&gt;
| 09&lt;br /&gt;
| 2.29-7&lt;br /&gt;
|-&lt;br /&gt;
| [[2.1.0-3]]&lt;br /&gt;
| v3553&lt;br /&gt;
| 0B&lt;br /&gt;
| 2.30-18&lt;br /&gt;
|-&lt;br /&gt;
| [[2.2.0-X]]&lt;br /&gt;
| v4595&lt;br /&gt;
| 0F&lt;br /&gt;
| 2.31-40&lt;br /&gt;
|-&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| v5647&lt;br /&gt;
| 18&lt;br /&gt;
| 2.32-15&lt;br /&gt;
|-&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| v6677&lt;br /&gt;
| 1D&lt;br /&gt;
| 2.33-4&lt;br /&gt;
|-&lt;br /&gt;
| [[4.1.0-8]]&lt;br /&gt;
| v7712&lt;br /&gt;
| 1F&lt;br /&gt;
| 2.34-0&lt;br /&gt;
|-&lt;br /&gt;
| [[5.0.0-11]]&lt;br /&gt;
| v8758&lt;br /&gt;
| 25&lt;br /&gt;
| 2.35-6&lt;br /&gt;
|-&lt;br /&gt;
| [[5.1.0-11]]&lt;br /&gt;
| v9792&lt;br /&gt;
| 26&lt;br /&gt;
| 2.36-0&lt;br /&gt;
|-&lt;br /&gt;
| [[6.0.0-11]]&lt;br /&gt;
| v10833&lt;br /&gt;
| 29&lt;br /&gt;
| 2.37-0&lt;br /&gt;
|-&lt;br /&gt;
| [[6.1.0-11]]&lt;br /&gt;
| v11872&lt;br /&gt;
| 2A&lt;br /&gt;
| 2.38-0&lt;br /&gt;
|-&lt;br /&gt;
| [[7.0.0-13]]&lt;br /&gt;
| v12916&lt;br /&gt;
| 2E&lt;br /&gt;
| 2.39-4&lt;br /&gt;
|-&lt;br /&gt;
| [[7.2.0-17]]&lt;br /&gt;
| v13956&lt;br /&gt;
| 30&lt;br /&gt;
| 2.40-0&lt;br /&gt;
|-&lt;br /&gt;
| [[8.0.0-18]]&lt;br /&gt;
| v15047&lt;br /&gt;
| 37&lt;br /&gt;
| 2.44-6&lt;br /&gt;
|-&lt;br /&gt;
| [[8.1.0-0_New3DS]]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 2.45-5&lt;br /&gt;
|-&lt;br /&gt;
| [[9.0.0-20]]&lt;br /&gt;
| v17120&lt;br /&gt;
| 38&lt;br /&gt;
| 2.46-0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above kernel/FIRM versions are in the format: &amp;lt;KERNEL_VERSIONMAJOR&amp;gt;.&amp;lt;KERNEL_VERSIONMINOR&amp;gt;-&amp;lt;KERNEL_VERSIONREVISION&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Config_Savegame&amp;diff=10592</id>
		<title>Config Savegame</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Config_Savegame&amp;diff=10592"/>
		<updated>2014-11-10T21:28:56Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Small fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of the [[Config_Services|Cfg]] [[System_SaveData|NAND]] savegame. These blocks can be accessed with the Cfg service commands.&lt;br /&gt;
&lt;br /&gt;
==Structure of save-file &amp;quot;/config&amp;quot;==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x2&lt;br /&gt;
| Total entries&lt;br /&gt;
|-&lt;br /&gt;
| 0x2&lt;br /&gt;
| 0x2&lt;br /&gt;
| Data entries offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4558&lt;br /&gt;
| Block entries&lt;br /&gt;
|-&lt;br /&gt;
| 0x455C&lt;br /&gt;
| &lt;br /&gt;
| Data for the entries&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filesize for this /config file is 0x8000-bytes.&lt;br /&gt;
&lt;br /&gt;
==Configuration block entry ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| BlkID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for this block when size is &amp;gt;4, otherwise this word is the data for this block&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x2&lt;br /&gt;
| Size&lt;br /&gt;
|-&lt;br /&gt;
| 0xA&lt;br /&gt;
| 0x2&lt;br /&gt;
| Flags&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Configuration blocks==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  BlkID&lt;br /&gt;
!  Size&lt;br /&gt;
!  Flags&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050005&lt;br /&gt;
| 0x20&lt;br /&gt;
|?&lt;br /&gt;
| Stereo camera settings?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070001&lt;br /&gt;
| 0x1&lt;br /&gt;
|?&lt;br /&gt;
| Sound output mode?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080000&lt;br /&gt;
| 0xC00&lt;br /&gt;
| 0x2?&lt;br /&gt;
| WiFi configuration slot 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080001&lt;br /&gt;
| 0xC00&lt;br /&gt;
| 0x2?&lt;br /&gt;
| WiFi configuration slot 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080002&lt;br /&gt;
| 0xC00&lt;br /&gt;
| 0x2?&lt;br /&gt;
| WiFi configuration slot 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090000&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x2?&lt;br /&gt;
| This contains a u64 ID, used by processes using [[NWMUDS:Initialize]]. The first word is the same as [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]], while the latter is a separate random word&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090001&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0xE&lt;br /&gt;
| This console-unique u64 used by [[Cfg:GenHashConsoleUnique|GenHashConsoleUnique]] is generated with the LocalFriendCodeSeed and with random data&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0000&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xE&lt;br /&gt;
| Username&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0002&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xA&lt;br /&gt;
| Language&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0000&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x8&lt;br /&gt;
| CountryInfo&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0001&lt;br /&gt;
| 0x800&lt;br /&gt;
| 0x2?&lt;br /&gt;
| Country name in UTF-16, every 0x80-bytes is an entry for each language(not all entries are set)&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0002&lt;br /&gt;
| 0x800&lt;br /&gt;
| 0x2?&lt;br /&gt;
| State name in UTF-16, every 0x80-bytes is an entry for each language&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0000&lt;br /&gt;
| 0xC0&lt;br /&gt;
|?&lt;br /&gt;
| Restricted photo exchange data, and other info&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0001&lt;br /&gt;
| 0x14&lt;br /&gt;
|?&lt;br /&gt;
| Same as above?&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0000&lt;br /&gt;
| 0x4&lt;br /&gt;
|?&lt;br /&gt;
| u16 at offset 0x0: [[SMDH#EULA_Version|EULA Version]] which was agreed to.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0000&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x8?&lt;br /&gt;
| Unknown, used by [[NS]] on dev-units for [[SVC|svcKernelSetState]], where Type is 6. During NS startup on debug-units, NS compares the u32 from +8 in this config-block with the [[Configuration_Memory#APPMEMTYPE|APPMEMTYPE]]. When those don&#039;t match NS starts a FIRM-launch (with the same FIRM titleID as the currently running one) to boot into a FIRM with the APPMEMTYPE value from this config-block&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0004&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x8?&lt;br /&gt;
| The first u8 is the System-Model [[Cfg:GetSystemModel|value]], the last 3-bytes are unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110000&lt;br /&gt;
| 0x4&lt;br /&gt;
|?&lt;br /&gt;
| The low u16 indicates whether the system setup is required, such as when the system is booted for the first time or after doing a [[System Settings|System Format]]: 0 = setup required, non-zero = no setup required&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110001&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0xA?&lt;br /&gt;
| TitleID of the menu to launch, used by [[NS]] on dev units (this block can be edited on dev units with [[3DS Development Unit Software#Config|Config]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130000&lt;br /&gt;
| 0x4&lt;br /&gt;
|?&lt;br /&gt;
| If response is 0x100 then debug mode is enabled.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00160000&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x8?&lt;br /&gt;
| Unknown, first byte is used by config service-cmd [[Config_Services|0x00070040]]. (Unknown whether the last 3-bytes are used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The developer unit TID block only exists on developer units.&lt;br /&gt;
&lt;br /&gt;
===Languages===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ID&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| JP&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| EN&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| FR&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| DE&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| IT&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ES&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| ZH&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| KO&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| NL&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| PT&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| RU&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===CountryInfo===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Byte&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Country code, same as DSi/Wii country codes. Value 0xFF is invalid.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===0x000A0000 Block===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Byte&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0-0x13&lt;br /&gt;
| UTF-16 username, with no NULL-terminator.&lt;br /&gt;
|-&lt;br /&gt;
| 0x14-17&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0x18-0x1B&lt;br /&gt;
| u32 NGWord version the username was last checked with. If this value is less than the u32 stored in the NGWord CFA &amp;quot;romfs:/version.dat&amp;quot;, the system then checks the username string with the bad-word list CFA again, then updates this field with the value from the CFA&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Config_Savegame&amp;diff=10591</id>
		<title>Config Savegame</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Config_Savegame&amp;diff=10591"/>
		<updated>2014-11-10T21:26:35Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Spell some stuff out for clarification&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of the [[Config_Services|Cfg]] [[System_SaveData|NAND]] savegame. These blocks can be accessed with the Cfg service commands.&lt;br /&gt;
&lt;br /&gt;
==Structure of save-file &amp;quot;/config&amp;quot;==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x2&lt;br /&gt;
| Total entries&lt;br /&gt;
|-&lt;br /&gt;
| 0x2&lt;br /&gt;
| 0x2&lt;br /&gt;
| Data entries offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4558&lt;br /&gt;
| Block entries&lt;br /&gt;
|-&lt;br /&gt;
| 0x455C&lt;br /&gt;
| &lt;br /&gt;
| Data for the entries&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filesize for this /config file is 0x8000-bytes.&lt;br /&gt;
&lt;br /&gt;
==Configuration block entry ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| BlkID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for this block when size is &amp;gt;4, otherwise this word is the data for this block&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x2&lt;br /&gt;
| Size&lt;br /&gt;
|-&lt;br /&gt;
| 0xA&lt;br /&gt;
| 0x2&lt;br /&gt;
| Flags&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Configuration blocks==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  BlkID&lt;br /&gt;
!  Size&lt;br /&gt;
!  Flags&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050005&lt;br /&gt;
| 0x20&lt;br /&gt;
|?&lt;br /&gt;
| Stereo camera settings?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070001&lt;br /&gt;
| 0x1&lt;br /&gt;
|?&lt;br /&gt;
| Sound output mode?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080000&lt;br /&gt;
| 0xC00&lt;br /&gt;
| 0x2?&lt;br /&gt;
| WiFi configuration slot 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080001&lt;br /&gt;
| 0xC00&lt;br /&gt;
| 0x2?&lt;br /&gt;
| WiFi configuration slot 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080002&lt;br /&gt;
| 0xC00&lt;br /&gt;
| 0x2?&lt;br /&gt;
| WiFi configuration slot 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090000&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x2?&lt;br /&gt;
| This contains a u64 ID, used by processes using [[NWMUDS:Initialize]]. The first word is the same as [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]], while the latter is a separate random word&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090001&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0xE&lt;br /&gt;
| This console-unique u64 used by [[Cfg:GenHashConsoleUnique|GenHashConsoleUnique]] is generated with the LocalFriendCodeSeed and with random data&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0000&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xE&lt;br /&gt;
| Username&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0002&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xA&lt;br /&gt;
| Language&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0000&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x8&lt;br /&gt;
| CountryInfo&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0001&lt;br /&gt;
| 0x800&lt;br /&gt;
| 0x2?&lt;br /&gt;
| Country name in UTF-16, every 0x80-bytes is an entry for each language(not all entries are set)&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0002&lt;br /&gt;
| 0x800&lt;br /&gt;
| 0x2?&lt;br /&gt;
| State name in UTF-16, every 0x80-bytes is an entry for each language&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0000&lt;br /&gt;
| 0xC0&lt;br /&gt;
|?&lt;br /&gt;
| Restricted photo exchange data, and other info&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0001&lt;br /&gt;
| 0x14&lt;br /&gt;
|?&lt;br /&gt;
| Same as above?&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0000&lt;br /&gt;
| 0x4&lt;br /&gt;
|?&lt;br /&gt;
| u16 at offset 0x0: [[SMDH#EULA_Version|EULA Version]] which was agreed to.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0000&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x8?&lt;br /&gt;
| Unknown, used by [[NS]] on dev-units for [[SVC|svcKernelSetState]], where Type is 6. During NS startup on debug-units, NS compares the u32 from +8 in this config-block with the [[Configuration_Memory#APPMEMTYPE|APPMEMTYPE]]. When those don&#039;t match NS starts a FIRM-launch (with the same FIRM titleID as the currently running one) to boot into a FIRM with the APPMEMTYPE value from this config-block&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0004&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x8?&lt;br /&gt;
| The first u8 is the System-Model [[Cfg:GetSystemModel|value]], the last 3-bytes are unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110000&lt;br /&gt;
| 0x4&lt;br /&gt;
|?&lt;br /&gt;
| The low u16 indicates whether the system setup is required, such as when the system is booted for the first time or after doing a [[System Settings|System Format]]: 0 = setup required, non-zero = no setup required&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110001&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0xA?&lt;br /&gt;
| TitleID of the menu to launch, used by [[NS]] on dev units (this block can be edited on dev units with [[3DS Development Unit Software#Config|Config]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130000&lt;br /&gt;
| 0x4&lt;br /&gt;
|?&lt;br /&gt;
| If response is 0x100 then debug mode is enabled.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00160000&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x8?&lt;br /&gt;
| Unknown, first byte is used by config service-cmd [[Config_Services|0x00070040]]. (Unknown whether the last 3-bytes are used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The developer unit TID block only exists on developer units.&lt;br /&gt;
&lt;br /&gt;
===Languages===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ID&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| JP&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| EN&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| FR&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| DE&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| IT&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ES&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| ZH&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| KO&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| NL&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| PT&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| RU&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===CountryInfo===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Byte&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Country code, same as DSi/Wii country codes. Value 0xFF is invalid.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===0x000A0000 Block===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Byte&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0-0x13&lt;br /&gt;
| UTF-16 username, with no NULL-terminator.&lt;br /&gt;
|-&lt;br /&gt;
| 0x14-17&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0x18-0x1B&lt;br /&gt;
| u32 NGWord version the username was last checked with. If this value is less than the u32 stored in the NGWord CFA &amp;quot;romfs:/version.dat&amp;quot;, the system then checks the username string with the bad-word list CFA again, then updates this field with the value from the CFA&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Config_Savegame&amp;diff=10590</id>
		<title>Config Savegame</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Config_Savegame&amp;diff=10590"/>
		<updated>2014-11-10T21:25:48Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fixes and some adjustments to formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of the [[Config_Services|Cfg]] [[System_SaveData|NAND]] savegame. These blocks can be accessed with the Cfg service commands.&lt;br /&gt;
&lt;br /&gt;
==Structure of save-file &amp;quot;/config&amp;quot;==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x2&lt;br /&gt;
| Total entries&lt;br /&gt;
|-&lt;br /&gt;
| 0x2&lt;br /&gt;
| 0x2&lt;br /&gt;
| Data entries offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4558&lt;br /&gt;
| Block entries&lt;br /&gt;
|-&lt;br /&gt;
| 0x455C&lt;br /&gt;
| &lt;br /&gt;
| Data for the entries&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filesize for this /config file is 0x8000-bytes.&lt;br /&gt;
&lt;br /&gt;
==Configuration block entry ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| BlkID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for this block when size is &amp;gt;4, otherwise this word is the data for this block&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x2&lt;br /&gt;
| Size&lt;br /&gt;
|-&lt;br /&gt;
| 0xA&lt;br /&gt;
| 0x2&lt;br /&gt;
| Flags&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Configuration blocks==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  BlkID&lt;br /&gt;
!  Size&lt;br /&gt;
!  Flags&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050005&lt;br /&gt;
| 0x20&lt;br /&gt;
|?&lt;br /&gt;
| Stereo camera settings?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070001&lt;br /&gt;
| 0x1&lt;br /&gt;
|?&lt;br /&gt;
| Sound output mode?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080000&lt;br /&gt;
| 0xC00&lt;br /&gt;
| 0x2?&lt;br /&gt;
| WiFi configuration slot 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080001&lt;br /&gt;
| 0xC00&lt;br /&gt;
| 0x2?&lt;br /&gt;
| WiFi configuration slot 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080002&lt;br /&gt;
| 0xC00&lt;br /&gt;
| 0x2?&lt;br /&gt;
| WiFi configuration slot 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090000&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x2?&lt;br /&gt;
| This contains a u64 ID, used by processes using [[NWMUDS:Initialize]]. The first word is the same as [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]], while the latter is a separate random word&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090001&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0xE&lt;br /&gt;
| This console-unique u64 used by [[Cfg:GenHashConsoleUnique|GenHashConsoleUnique]] is generated with the LocalFriendCodeSeed and with random data&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0000&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xE&lt;br /&gt;
| Username&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0002&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xA&lt;br /&gt;
| Language&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0000&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x8&lt;br /&gt;
| CountryInfo&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0001&lt;br /&gt;
| 0x800&lt;br /&gt;
| 0x2?&lt;br /&gt;
| Country name in UTF-16, every 0x80-bytes is an entry for each language(not all entries are set)&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0002&lt;br /&gt;
| 0x800&lt;br /&gt;
| 0x2?&lt;br /&gt;
| State name in UTF-16, every 0x80-bytes is an entry for each language&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0000&lt;br /&gt;
| 0xC0&lt;br /&gt;
|?&lt;br /&gt;
| Restricted photo exchange data, and other info&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0001&lt;br /&gt;
| 0x14&lt;br /&gt;
|?&lt;br /&gt;
| Same as above?&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0000&lt;br /&gt;
| 0x4&lt;br /&gt;
|?&lt;br /&gt;
| u16 at offset 0x0: [[SMDH#EULA_Version|EULA Version]] which was agreed to.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0000&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x8?&lt;br /&gt;
| Unknown, used by [[NS]] on dev-units for [[SVC|svcKernelSetState]], where Type is 6. During NS startup on debug-units, NS compares the u32 from +8 in this config-block with the [[Configuration_Memory#APPMEMTYPE|APPMEMTYPE]]. When those don&#039;t match NS starts a FIRM-launch (with the same FIRM titleID as the currently running one) to boot into a FIRM with the APPMEMTYPE value from this config-block&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0004&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x8?&lt;br /&gt;
| The first u8 is the System-Model [[Cfg:GetSystemModel|value]], the last 3-bytes are unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110000&lt;br /&gt;
| 0x4&lt;br /&gt;
|?&lt;br /&gt;
| The low u16 indicates whether the system setup is required, such as when the system is booted for the first time or after doing a [[System Settings|System Format]]: 0 = setup required, non-zero = no setup required&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110001&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0xA?&lt;br /&gt;
| TitleID of the menu to launch, used by [[NS]] on dev units (this block can be edited on dev units with [[3DS Development Unit Software#Config|Config]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130000&lt;br /&gt;
| 0x4&lt;br /&gt;
|?&lt;br /&gt;
| If response is 0x100 then debug mode is enabled.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00160000&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x8?&lt;br /&gt;
| Unknown, first byte is used by config service-cmd [[Config_Services|0x00070040]]. (Unknown whether the last 3-bytes are used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The dev unit TID block only exists on dev units.&lt;br /&gt;
&lt;br /&gt;
===Languages===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ID&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| JP&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| EN&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| FR&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| DE&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| IT&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ES&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| ZH&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| KO&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| NL&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| PT&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| RU&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===CountryInfo===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Byte&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Country code, same as DSi/Wii country codes. Value 0xFF is invalid.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===0x000A0000 Block===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Byte&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0-0x13&lt;br /&gt;
| UTF-16 username, with no NULL-terminator.&lt;br /&gt;
|-&lt;br /&gt;
| 0x14-17&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0x18-0x1B&lt;br /&gt;
| u32 NGWord version the username was last checked with. If this value is less than the u32 stored in the NGWord CFA &amp;quot;romfs:/version.dat&amp;quot;, the system then checks the username string with the bad-word list CFA again, then updates this field with the value from the CFA&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Config_Savegame&amp;diff=10589</id>
		<title>Config Savegame</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Config_Savegame&amp;diff=10589"/>
		<updated>2014-11-10T21:20:49Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Data fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of the [[Config_Services|Cfg]] [[System_SaveData|NAND]] savegame. These blocks can be accessed with the Cfg service commands.&lt;br /&gt;
&lt;br /&gt;
==Structure of save-file &amp;quot;/config&amp;quot;==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x2&lt;br /&gt;
| Total entries&lt;br /&gt;
|-&lt;br /&gt;
| 0x2&lt;br /&gt;
| 0x2&lt;br /&gt;
| Data entries offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4558&lt;br /&gt;
| Block entries&lt;br /&gt;
|-&lt;br /&gt;
| 0x455C&lt;br /&gt;
| &lt;br /&gt;
| Data for the entries&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The filesize for this /config file is 0x8000-bytes.&lt;br /&gt;
&lt;br /&gt;
==Configuration block entry ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| BlkID&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Offset to the data for this block when size is &amp;gt;4, otherwise this word is the data for this block&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x2&lt;br /&gt;
| Size&lt;br /&gt;
|-&lt;br /&gt;
| 0xA&lt;br /&gt;
| 0x2&lt;br /&gt;
| Flags&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Configuration blocks==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  BlkID&lt;br /&gt;
!  Size&lt;br /&gt;
!  Flags&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050005&lt;br /&gt;
| 0x20&lt;br /&gt;
| ?&lt;br /&gt;
| Stereo camera settings?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070001&lt;br /&gt;
| 0x1&lt;br /&gt;
| ?&lt;br /&gt;
| Sound output mode?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080000&lt;br /&gt;
| 0xC00&lt;br /&gt;
| 0x2?&lt;br /&gt;
| Wifi configuration slot0.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080001&lt;br /&gt;
| 0xC00&lt;br /&gt;
| 0x2?&lt;br /&gt;
| Wifi configuration slot1.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080002&lt;br /&gt;
| 0xC00&lt;br /&gt;
| 0x2?&lt;br /&gt;
| Wifi configuration slot2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090000&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x2?&lt;br /&gt;
| This contains a u64 ID, used by processes using [[NWMUDS:Initialize]]. The first word is the same as [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]], while the latter is a separate random word.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090001&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0xE&lt;br /&gt;
| This console-unique u64 used by [[Cfg:GenHashConsoleUnique|GenHashConsoleUnique]] is generated with the LocalFriendCodeSeed and with random data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0000&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xE&lt;br /&gt;
| Username&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0002&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xA&lt;br /&gt;
| Language&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0000&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x8&lt;br /&gt;
| CountryInfo&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0001&lt;br /&gt;
| 0x800&lt;br /&gt;
| 0x2?&lt;br /&gt;
| Country name in UTF-16, every 0x80-bytes is an entry for each language(not all entries are set).&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0002&lt;br /&gt;
| 0x800&lt;br /&gt;
| 0x2?&lt;br /&gt;
| State name in UTF-16, every 0x80-bytes is an entry for each language.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0000&lt;br /&gt;
| 0xC0&lt;br /&gt;
| ?&lt;br /&gt;
| Restricted photo exchange data, and other info.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0001&lt;br /&gt;
| 0x14&lt;br /&gt;
| ?&lt;br /&gt;
| Same as above?&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0000&lt;br /&gt;
| 0x4&lt;br /&gt;
| ?&lt;br /&gt;
| u16 at offset 0x0: [[SMDH#EULA_Version|EULA Version]] which was agreed to.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0000&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x8?&lt;br /&gt;
| Unknown, used by [[NS]] on dev-units for [[SVC|svcKernelSetState]], where Type is 6. During NS startup on debug-units, NS compares the u32 from +8 in this config-block with the [[Configuration_Memory#APPMEMTYPE|APPMEMTYPE]]. When those don&#039;t match NS starts a FIRM-launch(with the same FIRM titleID as the currently running one) to boot into a FIRM with the APPMEMTYPE value from this config-block.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0004&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x8?&lt;br /&gt;
| The first u8 is the System-Model [[Cfg:GetSystemModel|value]], the last 3-bytes are unknown.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110000&lt;br /&gt;
| 0x4&lt;br /&gt;
| ?&lt;br /&gt;
| The low u16 indicates whether the system setup is required, such as when the system is booted for the first time or after doing a [[System Settings|System Format]]: 0 = setup required, non-zero = no setup required.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110001&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0xA?&lt;br /&gt;
| TitleID of the menu to launch, used by [[NS]] on dev units. (This block can be edited on dev units with [[3DS Development Unit Software#Config|Config]])&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130000&lt;br /&gt;
| 0x4&lt;br /&gt;
| ?&lt;br /&gt;
| If response is 0x100 then debug mode is enabled.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00160000&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x8?&lt;br /&gt;
| Unknown, first byte is used by config service-cmd [[Config_Services|0x00070040]]. (Unknown whether the last 3-bytes are used)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The dev unit TID block only exists on dev units.&lt;br /&gt;
&lt;br /&gt;
===Languages===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ID&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| ja&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| en&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| fr&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| de&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| it&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| es&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| zh&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| ko&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| nl&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| pt&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| ru&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===CountryInfo===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Byte&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Country code, same as DSi/Wii country codes. Value 0xff is invalid.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===0x000A0000 Block===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Byte&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0-0x13&lt;br /&gt;
| UTF-16 username, with no NULL-terminator.&lt;br /&gt;
|-&lt;br /&gt;
| 0x14-17&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0x18-0x1B&lt;br /&gt;
| u32 NGWord version the username was last checked with. If this value is less than the u32 stored in the NGWord CFA &amp;quot;romfs:/version.dat&amp;quot;, the system then checks the username string with the bad-word list CFA again, then updates this field with the value from the CFA.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Extended_Banner&amp;diff=10588</id>
		<title>Extended Banner</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Extended_Banner&amp;diff=10588"/>
		<updated>2014-11-10T21:19:29Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fix date format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Extended Banner format is very simple. The Extended Banner is used to add text (and optionally an extra texture) to a given banner. It can also (optionally) be used to set an expiration date for a banner.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
Extension: .BIN&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x000&lt;br /&gt;
|  0x002&lt;br /&gt;
|  Texture width (if texture is used)&lt;br /&gt;
|-&lt;br /&gt;
|  0x002&lt;br /&gt;
|  0x002&lt;br /&gt;
|  Texture height (if texture is used)&lt;br /&gt;
|-&lt;br /&gt;
|  0x004&lt;br /&gt;
|  0x002&lt;br /&gt;
|  Texture colour format (if texture is used)&lt;br /&gt;
|-&lt;br /&gt;
|  0x008&lt;br /&gt;
|  0x004&lt;br /&gt;
|  Year to expire&lt;br /&gt;
|-&lt;br /&gt;
|  0x00C&lt;br /&gt;
|  0x002&lt;br /&gt;
|  Month to expire&lt;br /&gt;
|-&lt;br /&gt;
|  0x010&lt;br /&gt;
|  0x002&lt;br /&gt;
|  Day to expire&lt;br /&gt;
|-&lt;br /&gt;
|  0x014&lt;br /&gt;
|  0x015&lt;br /&gt;
|  Name of texture (if texture is used)&lt;br /&gt;
|-&lt;br /&gt;
|  0x024&lt;br /&gt;
|  0x200&lt;br /&gt;
|  Plain text comment (255 character max) to be displayed in the banner on the HOME Menu&lt;br /&gt;
|-&lt;br /&gt;
|  0x2A4&lt;br /&gt;
|  &lt;br /&gt;
|  If used, this is where the extra texture is located, otherwise file ends.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The date used for never-expiring exbanners varies, on retail like with Mii Maker this is December 31, 2099, where year is 0x833, month is 0xC, and day is 0x1F.&lt;br /&gt;
&lt;br /&gt;
== Texture Colour Formats ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  CODE&lt;br /&gt;
!  ENCODING&lt;br /&gt;
|-&lt;br /&gt;
|  0x00&lt;br /&gt;
|  RGBA8&lt;br /&gt;
|-&lt;br /&gt;
|  0x01&lt;br /&gt;
|  RGB8&lt;br /&gt;
|-&lt;br /&gt;
|  0x02&lt;br /&gt;
|  RGBA5551&lt;br /&gt;
|-&lt;br /&gt;
|  0x03&lt;br /&gt;
|  RGBA565&lt;br /&gt;
|-&lt;br /&gt;
|  0x04&lt;br /&gt;
|  RGBA4&lt;br /&gt;
|-&lt;br /&gt;
|  0x05&lt;br /&gt;
|  LA8&lt;br /&gt;
|-&lt;br /&gt;
|  0x06&lt;br /&gt;
|  HILO8&lt;br /&gt;
|-&lt;br /&gt;
|  0x07&lt;br /&gt;
|  L8&lt;br /&gt;
|-&lt;br /&gt;
|  0x08&lt;br /&gt;
|  A8&lt;br /&gt;
|-&lt;br /&gt;
|  0x09&lt;br /&gt;
|  LA4&lt;br /&gt;
|-&lt;br /&gt;
|  0x0A&lt;br /&gt;
|  L4&lt;br /&gt;
|-&lt;br /&gt;
|  0x0B&lt;br /&gt;
|  A4&lt;br /&gt;
|-&lt;br /&gt;
|  0x0C&lt;br /&gt;
|  ETC1&lt;br /&gt;
|-&lt;br /&gt;
|  0x0D&lt;br /&gt;
|  ETC1A4&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Extended_Banner&amp;diff=10587</id>
		<title>Extended Banner</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Extended_Banner&amp;diff=10587"/>
		<updated>2014-11-10T21:18:24Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Small fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Extended Banner format is very simple. The Extended Banner is used to add text (and optionally an extra texture) to a given banner. It can also (optionally) be used to set an expiration date for a banner.&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
Extension: .BIN&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  OFFSET&lt;br /&gt;
!  SIZE&lt;br /&gt;
!  DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
|  0x000&lt;br /&gt;
|  0x002&lt;br /&gt;
|  Texture width (if texture is used)&lt;br /&gt;
|-&lt;br /&gt;
|  0x002&lt;br /&gt;
|  0x002&lt;br /&gt;
|  Texture height (if texture is used)&lt;br /&gt;
|-&lt;br /&gt;
|  0x004&lt;br /&gt;
|  0x002&lt;br /&gt;
|  Texture colour format (if texture is used)&lt;br /&gt;
|-&lt;br /&gt;
|  0x008&lt;br /&gt;
|  0x004&lt;br /&gt;
|  Year to expire&lt;br /&gt;
|-&lt;br /&gt;
|  0x00C&lt;br /&gt;
|  0x002&lt;br /&gt;
|  Month to expire&lt;br /&gt;
|-&lt;br /&gt;
|  0x010&lt;br /&gt;
|  0x002&lt;br /&gt;
|  Day to expire&lt;br /&gt;
|-&lt;br /&gt;
|  0x014&lt;br /&gt;
|  0x015&lt;br /&gt;
|  Name of texture (if texture is used)&lt;br /&gt;
|-&lt;br /&gt;
|  0x024&lt;br /&gt;
|  0x200&lt;br /&gt;
|  Plain text comment (255 character max) to be displayed in the banner on the HOME Menu&lt;br /&gt;
|-&lt;br /&gt;
|  0x2A4&lt;br /&gt;
|  &lt;br /&gt;
|  If used, this is where the extra texture is located, otherwise file ends.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The date used for never-expiring exbanners varies, on retail like with Mii Maker this is December 31 2099, where year is 0x833, month is 0xC, and day is 0x1F.&lt;br /&gt;
&lt;br /&gt;
== Texture Colour Formats ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  CODE&lt;br /&gt;
!  ENCODING&lt;br /&gt;
|-&lt;br /&gt;
|  0x00&lt;br /&gt;
|  RGBA8&lt;br /&gt;
|-&lt;br /&gt;
|  0x01&lt;br /&gt;
|  RGB8&lt;br /&gt;
|-&lt;br /&gt;
|  0x02&lt;br /&gt;
|  RGBA5551&lt;br /&gt;
|-&lt;br /&gt;
|  0x03&lt;br /&gt;
|  RGBA565&lt;br /&gt;
|-&lt;br /&gt;
|  0x04&lt;br /&gt;
|  RGBA4&lt;br /&gt;
|-&lt;br /&gt;
|  0x05&lt;br /&gt;
|  LA8&lt;br /&gt;
|-&lt;br /&gt;
|  0x06&lt;br /&gt;
|  HILO8&lt;br /&gt;
|-&lt;br /&gt;
|  0x07&lt;br /&gt;
|  L8&lt;br /&gt;
|-&lt;br /&gt;
|  0x08&lt;br /&gt;
|  A8&lt;br /&gt;
|-&lt;br /&gt;
|  0x09&lt;br /&gt;
|  LA4&lt;br /&gt;
|-&lt;br /&gt;
|  0x0A&lt;br /&gt;
|  L4&lt;br /&gt;
|-&lt;br /&gt;
|  0x0B&lt;br /&gt;
|  A4&lt;br /&gt;
|-&lt;br /&gt;
|  0x0C&lt;br /&gt;
|  ETC1&lt;br /&gt;
|-&lt;br /&gt;
|  0x0D&lt;br /&gt;
|  ETC1A4&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Nintendo_Video&amp;diff=10586</id>
		<title>Nintendo Video</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Nintendo_Video&amp;diff=10586"/>
		<updated>2014-11-10T21:15:01Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fix my wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Nintendo Video&#039;&#039;&#039; is a service allowing owners of American, Japanese, and European 3DS&#039;s to download and watch various videos offered by Nintendo. Nintendo Video uses SpotPass to download videos, even when the Nintendo Video app itself is not running. Nintendo Video was discontinued March 31, 2014.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Eurosport&#039;&#039;&#039; is a service similar to &#039;&#039;&#039;Nintendo Video&#039;&#039;&#039; and allowing owners of European 3DS&#039;s to download and watch various videos offered by Eurosport. Eurosport was discontinued December 31, 2012.&lt;br /&gt;
&lt;br /&gt;
== Internet connection ==&lt;br /&gt;
&lt;br /&gt;
To identify your 3DS&#039;s region and country, different URLs are requested by 3DS&#039;s from different countries. A URL contains a subdomain that&#039;s specific for your region (EU/USA/JP), a country code that&#039;s specific to your country, and a language code. Here&#039;s a table containing country codes and subdomains known so far and their corresponding file names:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Country&lt;br /&gt;
! Region subdomain&lt;br /&gt;
! File name&lt;br /&gt;
|-&lt;br /&gt;
| EUR (Nintendo Video)&lt;br /&gt;
| pubeu-p&lt;br /&gt;
| ESP_MD&lt;br /&gt;
|-&lt;br /&gt;
| EUR (Eurosport)&lt;br /&gt;
| pubes-p&lt;br /&gt;
| EWP_MD&lt;br /&gt;
|-&lt;br /&gt;
| USA&lt;br /&gt;
| pubus-p&lt;br /&gt;
| ESE_MD&lt;br /&gt;
|-&lt;br /&gt;
| Japan&lt;br /&gt;
| pubjp-p&lt;br /&gt;
| ESJ_MD&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See http://www.wiibrew.org/wiki/Country_Codes for the country codes.&lt;br /&gt;
&lt;br /&gt;
Language codes known so far:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Language&lt;br /&gt;
! Code&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| Japanese&lt;br /&gt;
| 0&lt;br /&gt;
| Japan&lt;br /&gt;
|-&lt;br /&gt;
| English&lt;br /&gt;
| 1&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| French&lt;br /&gt;
| 2&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| German&lt;br /&gt;
| 3&lt;br /&gt;
| EUR&lt;br /&gt;
|-&lt;br /&gt;
| Italian&lt;br /&gt;
| 4&lt;br /&gt;
| EUR&lt;br /&gt;
|-&lt;br /&gt;
| Spanish&lt;br /&gt;
| 5&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| Netherlands&lt;br /&gt;
| 8&lt;br /&gt;
| EUR&lt;br /&gt;
|-&lt;br /&gt;
| Portuguese&lt;br /&gt;
| 9&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| Russian&lt;br /&gt;
| 10&lt;br /&gt;
| EUR&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In all requests below, &#039;&#039;COUNTRYCODE&#039;&#039; should be replaced with your country&#039;s code, &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039; should be replaced with your region&#039;s subdomain. &#039;&#039;FILENAME&#039;&#039; are also depends on the region and should be replaced correspondingly. &#039;&#039;LANGUAGECODE&#039;&#039; should be replaced by a desired language (by now most of the content are the same for all available languages, so one can use &amp;quot;1&amp;quot; as a most common).&lt;br /&gt;
&lt;br /&gt;
Surprisingly, Nintendo Video uses plain unencrypted HTTP connection to transfer videos. When &amp;quot;connectivity check&amp;quot; button is pressed, Nintendo Video sends a following HTTP request to &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/CHECK HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, no console-specific data is being sent. The server responds with either a 403 or 404 error code, where 403 means that user&#039;s region (determined by IP, I guess) doesn&#039;t match the region specified by &#039;&#039;COUNTRYCODE&#039;&#039; and &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039; and 404 means that everything&#039;s OK.&lt;br /&gt;
&lt;br /&gt;
If everything is OK with the region check, the 3DS proceeds to download videos. It seems that support for only four videos is hardcoded into Nintendo Video app, because it makes following requests (to the same server as the CHECK query):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;1 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;2 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;3 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;4 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;FILENAME&#039;&#039; seems to return a 403 error if the user&#039;s region doesn&#039;t match, 404 if the video doesn&#039;t exist and the video itself otherwise. As of July 18th, 2011, only 1st and 2nd videos are available from UK IP addresses.&lt;br /&gt;
&lt;br /&gt;
For Japan region /1/1/0/ESJ_CNF must also present on a server in order to play video files.&lt;br /&gt;
&lt;br /&gt;
These videos can easily be downloaded from any computer with IP address that matches country specified by &#039;&#039;COUNTRYCODE&#039;&#039;, &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039; and &#039;&#039;LANGUAGECODE&#039;&#039; using wget without any special settings. Videos are region-locked.&lt;br /&gt;
&lt;br /&gt;
== SD storage ==&lt;br /&gt;
Downloaded videos are stored in the SD card [[Extdata]], from the decrypted [[SpotPass]] content payload. Country info is presumably stored in this metadata, region-lock is handled by the BOSS module via the programID in the [[SpotPass#Payload Content Header|payload header]]. At the end of the video file is a JPEG, which contains the video thumbnail, and various metadata in the EXIF including the URL associated with the video. The text shown on the web browser button is also stored in the EXIF.&lt;br /&gt;
&lt;br /&gt;
All of these fields are big-endian?&lt;br /&gt;
Structure of this SD data:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown, value is 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x14&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| TitleID of Nintendo Video&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 0x8&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 0x4&lt;br /&gt;
| Total filesize?&lt;br /&gt;
|-&lt;br /&gt;
| 0x2c&lt;br /&gt;
| 0x2c&lt;br /&gt;
| Unknown, some countries&#039; videos have two extra words added here?&lt;br /&gt;
|-&lt;br /&gt;
| 0x58&lt;br /&gt;
| 0x20&lt;br /&gt;
| ASCII video ID? M&amp;lt;shortvidtitle&amp;gt;video ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x68&lt;br /&gt;
| 0x20&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x88&lt;br /&gt;
| 0x78&lt;br /&gt;
| UTF-16 video title&lt;br /&gt;
|-&lt;br /&gt;
| 0x100&lt;br /&gt;
| 0xc&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10c&lt;br /&gt;
| 0x190&lt;br /&gt;
| UTF-16 video description&lt;br /&gt;
|-&lt;br /&gt;
| 0x29c&lt;br /&gt;
| 0x20&lt;br /&gt;
| Another ASCII video ID? I&amp;lt;shortvidtitle&amp;gt;video ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x2bc&lt;br /&gt;
| Video size&lt;br /&gt;
| Mobiclip .moflex video data (first word here is little-endian magic number 0xABAA324C)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== File format ==&lt;br /&gt;
&lt;br /&gt;
The SpotPass content downloaded for Nintendo Video uses the [[SpotPass]] content container format, see the SpotPass page for info on the container format. See the above SD storage section for info on the cleartext payload.&lt;br /&gt;
&lt;br /&gt;
Region info is stored in the decrypted SpotPass crypto layer, see above SD section.&lt;br /&gt;
&lt;br /&gt;
== Server spoofing == &lt;br /&gt;
&lt;br /&gt;
In case you want to try messing with Nintendo Video, here&#039;s a description of what I did:&lt;br /&gt;
&lt;br /&gt;
# Set up a DNS server using bind9, which returned my IP as the IP for pubeu-p.est.c.app.nintendowifi.net [http://pastie.org/2230422 (bind config)].&lt;br /&gt;
## Don&#039;t forget to replace MY_IP in config with your IP address, but &#039;&#039;&#039;don&#039;t&#039;&#039;&#039; replace the IP of conntest.nintendowifi.net service&lt;br /&gt;
# Set up an HTTP server using nginx and put ESP_MD1, ESP_MD2 (which I have downloaded from Nintendo&#039;s servers earlier, see above) in my /var/www/1/110/1/ folder.&lt;br /&gt;
# Configured my 3DS to use my DNS server as both primary and secondary DNS server.&lt;br /&gt;
# ???&lt;br /&gt;
# PROFIT!&lt;br /&gt;
&lt;br /&gt;
This can be done with any DNS server and HTTP server, as long as you spoof everything correctly. It is possible on Windows. I have not tried Mac OS X.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this currently has little use since Nintendo shut the services down. However, they can still be spoofed if you have everything still on your 3DS. Spoofing your own videos could be possible, but you can already watch videos with the web browser and something like Universal Media Server.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.youtube.com/watch?v=Tl8QYofL1tg A video showing Nintendo Video server being spoofed]&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Nintendo_Video&amp;diff=10585</id>
		<title>Nintendo Video</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Nintendo_Video&amp;diff=10585"/>
		<updated>2014-11-10T21:13:35Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Small fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Nintendo Video&#039;&#039;&#039; is a service allowing owners of American, Japanese, and European 3DS&#039;s to download and watch various videos offered by Nintendo. Nintendo Video uses SpotPass to download videos, even when the Nintendo Video app itself is not running. Nintendo Video was discontinued March 31, 2014.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Eurosport&#039;&#039;&#039; is a service similar to &#039;&#039;&#039;Nintendo Video&#039;&#039;&#039; and allowing owners of European 3DS&#039;s to download and watch various videos offered by Eurosport. Eurosport was discontinued December 31, 2012.&lt;br /&gt;
&lt;br /&gt;
== Internet connection ==&lt;br /&gt;
&lt;br /&gt;
To identify your 3DS&#039;s region and country, different URLs are requested by 3DS&#039;s from different countries. A URL contains a subdomain that&#039;s specific for your region (EU/USA/JP), a country code that&#039;s specific to your country, and a language code. Here&#039;s a table containing country codes and subdomains known so far and their corresponding file names:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Country&lt;br /&gt;
! Region subdomain&lt;br /&gt;
! File name&lt;br /&gt;
|-&lt;br /&gt;
| EUR (Nintendo Video)&lt;br /&gt;
| pubeu-p&lt;br /&gt;
| ESP_MD&lt;br /&gt;
|-&lt;br /&gt;
| EUR (Eurosport)&lt;br /&gt;
| pubes-p&lt;br /&gt;
| EWP_MD&lt;br /&gt;
|-&lt;br /&gt;
| USA&lt;br /&gt;
| pubus-p&lt;br /&gt;
| ESE_MD&lt;br /&gt;
|-&lt;br /&gt;
| Japan&lt;br /&gt;
| pubjp-p&lt;br /&gt;
| ESJ_MD&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See http://www.wiibrew.org/wiki/Country_Codes for the country codes.&lt;br /&gt;
&lt;br /&gt;
Language codes known so far:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Language&lt;br /&gt;
! Code&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| Japanese&lt;br /&gt;
| 0&lt;br /&gt;
| Japan&lt;br /&gt;
|-&lt;br /&gt;
| English&lt;br /&gt;
| 1&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| French&lt;br /&gt;
| 2&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| German&lt;br /&gt;
| 3&lt;br /&gt;
| EUR&lt;br /&gt;
|-&lt;br /&gt;
| Italian&lt;br /&gt;
| 4&lt;br /&gt;
| EUR&lt;br /&gt;
|-&lt;br /&gt;
| Spanish&lt;br /&gt;
| 5&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| Netherlands&lt;br /&gt;
| 8&lt;br /&gt;
| EUR&lt;br /&gt;
|-&lt;br /&gt;
| Portuguese&lt;br /&gt;
| 9&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| Russian&lt;br /&gt;
| 10&lt;br /&gt;
| EUR&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In all requests below, &#039;&#039;COUNTRYCODE&#039;&#039; should be replaced with your country&#039;s code, &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039; should be replaced with your region&#039;s subdomain. &#039;&#039;FILENAME&#039;&#039; are also depends on the region and should be replaced correspondingly. &#039;&#039;LANGUAGECODE&#039;&#039; should be replaced by a desired language (by now most of the content are the same for all available languages, so one can use &amp;quot;1&amp;quot; as a most common).&lt;br /&gt;
&lt;br /&gt;
Surprisingly, Nintendo Video uses plain unencrypted HTTP connection to transfer videos. When &amp;quot;connectivity check&amp;quot; button is pressed, Nintendo Video sends a following HTTP request to &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/CHECK HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, no console-specific data is being sent. The server responds with either a 403 or 404 error code, where 403 means that user&#039;s region (determined by IP, I guess) doesn&#039;t match the region specified by &#039;&#039;COUNTRYCODE&#039;&#039; and &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039; and 404 means that everything&#039;s OK.&lt;br /&gt;
&lt;br /&gt;
If everything is OK with the region check, the 3DS proceeds to download videos. It seems that support for only four videos is hardcoded into Nintendo Video app, because it makes following requests (to the same server as the CHECK query):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;1 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;2 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;3 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;4 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;FILENAME&#039;&#039; seems to return a 403 error if the user&#039;s region doesn&#039;t match, 404 if the video doesn&#039;t exist and the video itself otherwise. As of July 18th, 2011, only 1st and 2nd videos are available from UK IP addresses.&lt;br /&gt;
&lt;br /&gt;
For Japan region /1/1/0/ESJ_CNF must also present on a server in order to play video files.&lt;br /&gt;
&lt;br /&gt;
These videos can easily be downloaded from any computer with IP address that matches country specified by &#039;&#039;COUNTRYCODE&#039;&#039;, &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039; and &#039;&#039;LANGUAGECODE&#039;&#039; using wget without any special settings. Videos are region-locked.&lt;br /&gt;
&lt;br /&gt;
== SD storage ==&lt;br /&gt;
Downloaded videos are stored in the SD card [[Extdata]], from the decrypted [[SpotPass]] content payload. Country info is presumably stored in this metadata, region-lock is handled by the BOSS module via the programID in the [[SpotPass#Payload Content Header|payload header]]. At the end of the video file is a JPEG, which contains the video thumbnail, and various metadata in the EXIF including the URL associated with the video. The text shown on the web browser button is also stored in the EXIF.&lt;br /&gt;
&lt;br /&gt;
All of these fields are big-endian?&lt;br /&gt;
Structure of this SD data:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown, value is 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x14&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| TitleID of Nintendo Video&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 0x8&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 0x4&lt;br /&gt;
| Total filesize?&lt;br /&gt;
|-&lt;br /&gt;
| 0x2c&lt;br /&gt;
| 0x2c&lt;br /&gt;
| Unknown, some countries&#039; videos have two extra words added here?&lt;br /&gt;
|-&lt;br /&gt;
| 0x58&lt;br /&gt;
| 0x20&lt;br /&gt;
| ASCII video ID? M&amp;lt;shortvidtitle&amp;gt;video ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x68&lt;br /&gt;
| 0x20&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x88&lt;br /&gt;
| 0x78&lt;br /&gt;
| UTF-16 video title&lt;br /&gt;
|-&lt;br /&gt;
| 0x100&lt;br /&gt;
| 0xc&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10c&lt;br /&gt;
| 0x190&lt;br /&gt;
| UTF-16 video description&lt;br /&gt;
|-&lt;br /&gt;
| 0x29c&lt;br /&gt;
| 0x20&lt;br /&gt;
| Another ASCII video ID? I&amp;lt;shortvidtitle&amp;gt;video ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x2bc&lt;br /&gt;
| Video size&lt;br /&gt;
| Mobiclip .moflex video data (first word here is little-endian magic number 0xABAA324C)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== File format ==&lt;br /&gt;
&lt;br /&gt;
The SpotPass content downloaded for Nintendo Video uses the [[SpotPass]] content container format, see the SpotPass page for info on the container format. See the above SD storage section for info on the cleartext payload.&lt;br /&gt;
&lt;br /&gt;
Region info is stored in the decrypted SpotPass crypto layer, see above SD section.&lt;br /&gt;
&lt;br /&gt;
== Server spoofing == &lt;br /&gt;
&lt;br /&gt;
In case you want to try messing with Nintendo Video, here&#039;s a description of what I did:&lt;br /&gt;
&lt;br /&gt;
# Set up a DNS server using bind9, which returned my IP as the IP for pubeu-p.est.c.app.nintendowifi.net [http://pastie.org/2230422 (bind config)].&lt;br /&gt;
## Don&#039;t forget to replace MY_IP in config with your IP address, but &#039;&#039;&#039;don&#039;t&#039;&#039;&#039; replace the IP of conntest.nintendowifi.net service&lt;br /&gt;
# Set up an HTTP server using nginx and put ESP_MD1, ESP_MD2 (which I have downloaded from Nintendo&#039;s servers earlier, see above) in my /var/www/1/110/1/ folder.&lt;br /&gt;
# Configured my 3DS to use my DNS server as both primary and secondary DNS server.&lt;br /&gt;
# ???&lt;br /&gt;
# PROFIT!&lt;br /&gt;
&lt;br /&gt;
This can be done with any DNS server and HTTP server, as long as you spoof everything correctly. It is possible on Windows. I have not tried Mac OS X.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this currently has little use since Nintendo shut the services down. However, they can still be spoofed if you have everything still on your 3DS. Spoofing your own videos could be possible, but you can already do that with the web browser and something like Universal Media Server.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.youtube.com/watch?v=Tl8QYofL1tg A video showing Nintendo Video server being spoofed]&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Nintendo_Video&amp;diff=10584</id>
		<title>Nintendo Video</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Nintendo_Video&amp;diff=10584"/>
		<updated>2014-11-10T21:10:52Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Nintendo Video&#039;&#039;&#039; is a service allowing owners of American, Japanese, and European 3DS&#039;s to download and watch various videos offered by Nintendo. Nintendo Video uses SpotPass to download videos, even when the Nintendo Video app itself is not running. Nintendo Video was discontinued March 31, 2014.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Eurosport&#039;&#039;&#039; is a service similar to &#039;&#039;&#039;Nintendo Video&#039;&#039;&#039; and allowing owners of European 3DS&#039;s to download and watch various videos offered by Eurosport. Eurosport was discontinued December 31, 2012.&lt;br /&gt;
&lt;br /&gt;
== Internet connection ==&lt;br /&gt;
&lt;br /&gt;
To identify your 3DS&#039;s region and country, different URLs are requested by 3DS&#039;s from different countries. A URL contains a subdomain that&#039;s specific for your region (EU/USA/JP), a country code that&#039;s specific to your country, and a language code. Here&#039;s a table containing country codes and subdomains known so far and their corresponding file names:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Country&lt;br /&gt;
! Region subdomain&lt;br /&gt;
! File name&lt;br /&gt;
|-&lt;br /&gt;
| EUR (Nintendo Video)&lt;br /&gt;
| pubeu-p&lt;br /&gt;
| ESP_MD&lt;br /&gt;
|-&lt;br /&gt;
| EUR (Eurosport)&lt;br /&gt;
| pubes-p&lt;br /&gt;
| EWP_MD&lt;br /&gt;
|-&lt;br /&gt;
| USA&lt;br /&gt;
| pubus-p&lt;br /&gt;
| ESE_MD&lt;br /&gt;
|-&lt;br /&gt;
| Japan&lt;br /&gt;
| pubjp-p&lt;br /&gt;
| ESJ_MD&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See http://www.wiibrew.org/wiki/Country_Codes for the country codes.&lt;br /&gt;
&lt;br /&gt;
Language codes known so far:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Language&lt;br /&gt;
! Code&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| Japanese&lt;br /&gt;
| 0&lt;br /&gt;
| Japan&lt;br /&gt;
|-&lt;br /&gt;
| English&lt;br /&gt;
| 1&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| French&lt;br /&gt;
| 2&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| German&lt;br /&gt;
| 3&lt;br /&gt;
| EUR&lt;br /&gt;
|-&lt;br /&gt;
| Italian&lt;br /&gt;
| 4&lt;br /&gt;
| EUR&lt;br /&gt;
|-&lt;br /&gt;
| Spanish&lt;br /&gt;
| 5&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| Netherlands&lt;br /&gt;
| 8&lt;br /&gt;
| EUR&lt;br /&gt;
|-&lt;br /&gt;
| Portuguese&lt;br /&gt;
| 9&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| Russian&lt;br /&gt;
| 10&lt;br /&gt;
| EUR&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In all requests below, &#039;&#039;COUNTRYCODE&#039;&#039; should be replaced with your country&#039;s code, &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039; should be replaced with your region&#039;s subdomain. &#039;&#039;FILENAME&#039;&#039; are also depends on the region and should be replaced correspondingly. &#039;&#039;LANGUAGECODE&#039;&#039; should be replaced by a desired language (by now most of the content are the same for all available languages, so one can use &amp;quot;1&amp;quot; as a most common).&lt;br /&gt;
&lt;br /&gt;
Surprisingly, Nintendo Video uses plain unencrypted HTTP connection to transfer videos. When &amp;quot;connectivity check&amp;quot; button is pressed, Nintendo Video sends a following HTTP request to &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/CHECK HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, no console-specific data is being sent. The server responds with either a 403 or 404 error code, where 403 means that user&#039;s region (determined by IP, I guess) doesn&#039;t match the region specified by &#039;&#039;COUNTRYCODE&#039;&#039; and &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039; and 404 means that everything&#039;s OK.&lt;br /&gt;
&lt;br /&gt;
If everything is OK with the region check, the 3DS proceeds to download videos. It seems that support for only four videos is hardcoded into Nintendo Video app, because it makes following requests (to the same server as the CHECK query):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;1 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;2 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;3 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;4 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;FILENAME&#039;&#039; seems to return a 403 error if the user&#039;s region doesn&#039;t match, 404 if the video doesn&#039;t exist and the video itself otherwise. As of July 18th, 2011, only 1st and 2nd videos are available from UK IP addresses.&lt;br /&gt;
&lt;br /&gt;
For Japan region /1/1/0/ESJ_CNF must also present on a server in order to play video files.&lt;br /&gt;
&lt;br /&gt;
These videos can easily be downloaded from any computer with IP address that matches country specified by &#039;&#039;COUNTRYCODE&#039;&#039;, &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039; and &#039;&#039;LANGUAGECODE&#039;&#039; using wget without any special settings. Videos are region-locked.&lt;br /&gt;
&lt;br /&gt;
== SD storage ==&lt;br /&gt;
Downloaded videos are stored in the SD card [[Extdata]], from the decrypted [[SpotPass]] content payload. Country info is presumably stored in this metadata, region-lock is handled by the BOSS module via the programID in the [[SpotPass#Payload Content Header|payload header]]. At the end of the video file is a JPEG, which contains the video thumbnail, and various metadata in the EXIF including the URL associated with the video. The text shown on the web browser button is also stored in the EXIF.&lt;br /&gt;
&lt;br /&gt;
All of these fields are big-endian?&lt;br /&gt;
Structure of this SD data:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown, value is 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x14&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| TitleID of Nintendo Video&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 0x8&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 0x4&lt;br /&gt;
| Total filesize?&lt;br /&gt;
|-&lt;br /&gt;
| 0x2c&lt;br /&gt;
| 0x2c&lt;br /&gt;
| Unknown, some countries&#039; videos have two extra words added here?&lt;br /&gt;
|-&lt;br /&gt;
| 0x58&lt;br /&gt;
| 0x20&lt;br /&gt;
| ASCII Video ID? M&amp;lt;shortvidtitle&amp;gt;video ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x68&lt;br /&gt;
| 0x20&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x88&lt;br /&gt;
| 0x78&lt;br /&gt;
| UTF-16 video title&lt;br /&gt;
|-&lt;br /&gt;
| 0x100&lt;br /&gt;
| 0xc&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10c&lt;br /&gt;
| 0x190&lt;br /&gt;
| UTF-16 video description&lt;br /&gt;
|-&lt;br /&gt;
| 0x29c&lt;br /&gt;
| 0x20&lt;br /&gt;
| Another ASCII video ID? I&amp;lt;shortvidtitle&amp;gt;video ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x2bc&lt;br /&gt;
| Video size&lt;br /&gt;
| Mobiclip .moflex video data (first word here is little-endian magic number 0xABAA324C)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== File format ==&lt;br /&gt;
&lt;br /&gt;
The SpotPass content downloaded for Nintendo Video uses the [[SpotPass]] content container format, see the SpotPass page for info on the container format. See the above SD storage section for info on the cleartext payload.&lt;br /&gt;
&lt;br /&gt;
Region info is stored in the decrypted SpotPass crypto layer, see above SD section.&lt;br /&gt;
&lt;br /&gt;
== Server spoofing == &lt;br /&gt;
&lt;br /&gt;
In case you want to try messing with Nintendo Video, here&#039;s a description of what I did:&lt;br /&gt;
&lt;br /&gt;
# Set up a DNS server using bind9, which returned my IP as the IP for pubeu-p.est.c.app.nintendowifi.net [http://pastie.org/2230422 (bind config)].&lt;br /&gt;
## Don&#039;t forget to replace MY_IP in config with your IP address, but &#039;&#039;&#039;don&#039;t&#039;&#039;&#039; replace the IP of conntest.nintendowifi.net service&lt;br /&gt;
# Set up an HTTP server using nginx and put ESP_MD1, ESP_MD2 (which I have downloaded from Nintendo&#039;s servers earlier, see above) in my /var/www/1/110/1/ folder.&lt;br /&gt;
# Configured my 3DS to use my DNS server as both primary and secondary DNS server.&lt;br /&gt;
# ???&lt;br /&gt;
# PROFIT!&lt;br /&gt;
&lt;br /&gt;
This can be done with any DNS server and HTTP server, as long as you spoof everything correctly. It is possible on Windows. I have not tried Mac OS X.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this currently has little use since Nintendo shut the services down. However, they can still be spoofed if you have everything still on your 3DS. Spoofing your own videos could be possible, but you can already do that with the web browser and something like Universal Media Server.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.youtube.com/watch?v=Tl8QYofL1tg A video showing Nintendo Video server being spoofed]&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Nintendo_Video&amp;diff=10583</id>
		<title>Nintendo Video</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Nintendo_Video&amp;diff=10583"/>
		<updated>2014-11-10T21:09:45Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fix some stuff, add some notes about the service and some personal tests.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Nintendo Video&#039;&#039;&#039; is a service allowing owners of American, Japanese, and European 3DS&#039;s to download and watch various videos offered by Nintendo. Nintendo Video uses SpotPass to download videos, even when the Nintendo Video app itself is not running. Nintendo Video was discontinued March 31, 2014.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Eurosport&#039;&#039;&#039; is a service similar to &#039;&#039;&#039;Nintendo Video&#039;&#039;&#039; and allowing owners of European 3DS&#039;s to download and watch various videos offered by Eurosport. Eurosport was discontinued December 31, 2012.&lt;br /&gt;
&lt;br /&gt;
== Internet connection ==&lt;br /&gt;
&lt;br /&gt;
To identify your 3DS&#039;s region and country, different URLs are requested by 3DS&#039;s from different countries. A URL contains a subdomain that&#039;s specific for your region (EU/USA/JP), a country code that&#039;s specific to your country, and a language code. Here&#039;s a table containing country codes and subdomains known so far and their corresponding file names:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Country&lt;br /&gt;
! Region subdomain&lt;br /&gt;
! File name&lt;br /&gt;
|-&lt;br /&gt;
| EUR (Nintendo Video)&lt;br /&gt;
| pubeu-p&lt;br /&gt;
| ESP_MD&lt;br /&gt;
|-&lt;br /&gt;
| EUR (Eurosport)&lt;br /&gt;
| pubes-p&lt;br /&gt;
| EWP_MD&lt;br /&gt;
|-&lt;br /&gt;
| USA&lt;br /&gt;
| pubus-p&lt;br /&gt;
| ESE_MD&lt;br /&gt;
|-&lt;br /&gt;
| Japan&lt;br /&gt;
| pubjp-p&lt;br /&gt;
| ESJ_MD&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
See http://www.wiibrew.org/wiki/Country_Codes for the country codes.&lt;br /&gt;
&lt;br /&gt;
Language codes known so far:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Language&lt;br /&gt;
! Code&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| Japanese&lt;br /&gt;
| 0&lt;br /&gt;
| Japan&lt;br /&gt;
|-&lt;br /&gt;
| English&lt;br /&gt;
| 1&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| French&lt;br /&gt;
| 2&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| German&lt;br /&gt;
| 3&lt;br /&gt;
| EUR&lt;br /&gt;
|-&lt;br /&gt;
| Italian&lt;br /&gt;
| 4&lt;br /&gt;
| EUR&lt;br /&gt;
|-&lt;br /&gt;
| Spanish&lt;br /&gt;
| 5&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| Netherlands&lt;br /&gt;
| 8&lt;br /&gt;
| EUR&lt;br /&gt;
|-&lt;br /&gt;
| Portuguese&lt;br /&gt;
| 9&lt;br /&gt;
| EUR/USA&lt;br /&gt;
|-&lt;br /&gt;
| Russian&lt;br /&gt;
| 10&lt;br /&gt;
| EUR&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In all requests below, &#039;&#039;COUNTRYCODE&#039;&#039; should be replaced with your country&#039;s code, &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039; should be replaced with your region&#039;s subdomain. &#039;&#039;FILENAME&#039;&#039; are also depends on the region and should be replaced correspondingly. &#039;&#039;LANGUAGECODE&#039;&#039; should be replaced by a desired language (by now most of the content are the same for all available languages, so one can use &amp;quot;1&amp;quot; as a most common).&lt;br /&gt;
&lt;br /&gt;
Surprisingly, Nintendo Video uses plain unencrypted HTTP connection to transfer videos. When &amp;quot;connectivity check&amp;quot; button is pressed, Nintendo Video sends a following HTTP request to &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/CHECK HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, no console-specific data is being sent. The server responds with either a 403 or 404 error code, where 403 means that user&#039;s region (determined by IP, I guess) doesn&#039;t match the region specified by &#039;&#039;COUNTRYCODE&#039;&#039; and &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039; and 404 means that everything&#039;s OK.&lt;br /&gt;
&lt;br /&gt;
If everything is OK with the region check, the 3DS proceeds to download videos. It seems that support for only four videos is hardcoded into Nintendo Video app, because it makes following requests (to the same server as the CHECK query):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;1 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;2 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;3 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;GET /1/&#039;&#039;COUNTRYCODE&#039;&#039;/&#039;&#039;LANGUAGECODE&#039;&#039;/&#039;&#039;FILENAME&#039;&#039;4 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Host: &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039;.est.c.app.nintendowifi.net&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;FILENAME&#039;&#039; seems to return a 403 error if the user&#039;s region doesn&#039;t match, 404 if the video doesn&#039;t exist and the video itself otherwise. As of July 18th, 2011, only 1st and 2nd videos are available from UK IP addresses.&lt;br /&gt;
&lt;br /&gt;
For Japan region /1/1/0/ESJ_CNF must also present on a server in order to play video files.&lt;br /&gt;
&lt;br /&gt;
These videos can easily be downloaded from any computer with IP address that matches country specified by &#039;&#039;COUNTRYCODE&#039;&#039;, &#039;&#039;COUNTRYSUBDOMAIN&#039;&#039; and &#039;&#039;LANGUAGECODE&#039;&#039; using wget without any special settings. Videos are region-locked.&lt;br /&gt;
&lt;br /&gt;
== SD storage ==&lt;br /&gt;
Downloaded videos are stored in the SD card [[Extdata]], from the decrypted [[SpotPass]] content payload. Country info is presumably stored in this metadata, region-lock is handled by the BOSS module via the programID in the [[SpotPass#Payload Content Header|payload header]]. At the end of the video file is a JPEG, which contains the video thumbnail, and various metadata in the EXIF including the URL associated with the video. The text shown on the web browser button is also stored in the EXIF.&lt;br /&gt;
&lt;br /&gt;
All of these fields are big-endian?&lt;br /&gt;
Structure of this SD data:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown, value is 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x14&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| TitleID of Nintendo Video&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 0x8&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 0x4&lt;br /&gt;
| Total filesize?&lt;br /&gt;
|-&lt;br /&gt;
| 0x2c&lt;br /&gt;
| 0x2c&lt;br /&gt;
| Unknown, some countries&#039; videos have two extra words added here?&lt;br /&gt;
|-&lt;br /&gt;
| 0x58&lt;br /&gt;
| 0x20&lt;br /&gt;
| ASCII Video ID? M&amp;lt;shortvidtitle&amp;gt;video ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x68&lt;br /&gt;
| 0x20&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x88&lt;br /&gt;
| 0x78&lt;br /&gt;
| UTF-16 video title&lt;br /&gt;
|-&lt;br /&gt;
| 0x100&lt;br /&gt;
| 0xc&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10c&lt;br /&gt;
| 0x190&lt;br /&gt;
| UTF-16 video description&lt;br /&gt;
|-&lt;br /&gt;
| 0x29c&lt;br /&gt;
| 0x20&lt;br /&gt;
| Another ASCII video ID? I&amp;lt;shortvidtitle&amp;gt;someid&lt;br /&gt;
|-&lt;br /&gt;
| 0x2bc&lt;br /&gt;
| Video size&lt;br /&gt;
| Mobiclip .moflex video data (first word here is little-endian magic number 0xABAA324C)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== File format ==&lt;br /&gt;
&lt;br /&gt;
The SpotPass content downloaded for Nintendo Video uses the [[SpotPass]] content container format, see the SpotPass page for info on the container format. See the above SD storage section for info on the cleartext payload.&lt;br /&gt;
&lt;br /&gt;
Region info is stored in the decrypted SpotPass crypto layer, see above SD section.&lt;br /&gt;
&lt;br /&gt;
== Server spoofing == &lt;br /&gt;
&lt;br /&gt;
In case you want to try messing with Nintendo Video, here&#039;s a description of what I did:&lt;br /&gt;
&lt;br /&gt;
# Set up a DNS server using bind9, which returned my IP as the IP for pubeu-p.est.c.app.nintendowifi.net [http://pastie.org/2230422 (bind config)].&lt;br /&gt;
## Don&#039;t forget to replace MY_IP in config with your IP address, but &#039;&#039;&#039;don&#039;t&#039;&#039;&#039; replace the IP of conntest.nintendowifi.net service&lt;br /&gt;
# Set up an HTTP server using nginx and put ESP_MD1, ESP_MD2 (which I have downloaded from Nintendo&#039;s servers earlier, see above) in my /var/www/1/110/1/ folder.&lt;br /&gt;
# Configured my 3DS to use my DNS server as both primary and secondary DNS server.&lt;br /&gt;
# ???&lt;br /&gt;
# PROFIT!&lt;br /&gt;
&lt;br /&gt;
This can be done with any DNS server and HTTP server, as long as you spoof everything correctly. It is possible on Windows. I have not tried Mac OS X.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this currently has little use since Nintendo shut the services down. However, they can still be spoofed if you have everything still on your 3DS. Spoofing your own videos could be possible, but you can already do that with the web browser and something like Universal Media Server.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.youtube.com/watch?v=Tl8QYofL1tg A video showing Nintendo Video server being spoofed]&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=EShop_Demos&amp;diff=10582</id>
		<title>EShop Demos</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=EShop_Demos&amp;diff=10582"/>
		<updated>2014-11-10T20:58:29Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Minor fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Title list|Go Back to Title list]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
These titles have limited uses. For a given unique ID, there can be a maximum of 254 separate demos. Each demo is indexed by the Title ID variation. The legal demo index range: 0x1 - 0xFF.&lt;br /&gt;
&lt;br /&gt;
The maximum play count is stored in the [[ticket]]. The current play count for demos is stored in the [[Application_Manager_Services|AM-module]] [[System_SaveData]].&lt;br /&gt;
&lt;br /&gt;
== List ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  TitleID Low&lt;br /&gt;
!  Region&lt;br /&gt;
!  Description&lt;br /&gt;
!  Versions&lt;br /&gt;
|-&lt;br /&gt;
| 00030B01&lt;br /&gt;
| JPN&lt;br /&gt;
| Nintendogs &amp;amp; Cats: Golden Retreiver Demo &lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00030C01&lt;br /&gt;
| EUR&lt;br /&gt;
| Nintendogs &amp;amp; Cats: Golden Retreiver Demo &lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00030D01&lt;br /&gt;
| USA&lt;br /&gt;
| Nintendogs &amp;amp; Cats: Golden Retreiver Demo &lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00032001&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 00032101&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v80&lt;br /&gt;
|-&lt;br /&gt;
| 00036F01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 00037101&lt;br /&gt;
| USA&lt;br /&gt;
| CRUSH3D Demo &lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00038A01&lt;br /&gt;
| EUR&lt;br /&gt;
| DOA Dimensions Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00039B01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00040401&lt;br /&gt;
| EUR&lt;br /&gt;
| CRUSH3D Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00043701&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00047E01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00048001&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00048101&lt;br /&gt;
| JPN&lt;br /&gt;
| Monster Hunter Tri G Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0004EE01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00053B01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00054801&lt;br /&gt;
| USA&lt;br /&gt;
| Mario &amp;amp; Sonic at the London 2012 Olympic Games Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00054901&lt;br /&gt;
| EUR&lt;br /&gt;
| Mario &amp;amp; Sonic at the London 2012 Olympic Games Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00056601&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 00056A01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v32&lt;br /&gt;
|-&lt;br /&gt;
| 00057601&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 0005A201&lt;br /&gt;
| USA&lt;br /&gt;
| LEGO Batman 2 DC Super Heroes Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0005A401&lt;br /&gt;
| EUR&lt;br /&gt;
| LEGO Batman 2 DC Super Heroes Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0005A501&lt;br /&gt;
| EUR&lt;br /&gt;
| RAYMAN ORIGINS Demo &lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0005DE01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 0005E301&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 0005E901&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 0005ED01&lt;br /&gt;
| EUR&lt;br /&gt;
| Cooking Mama 4 Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0005EE01&lt;br /&gt;
| EUR&lt;br /&gt;
| Resident Evil Revelations Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00060201&lt;br /&gt;
| USA&lt;br /&gt;
| Resident Evil Revelations Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00060F01&lt;br /&gt;
| EUR &lt;br /&gt;
| Pyramids Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00064701&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00065701&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v32&lt;br /&gt;
|-&lt;br /&gt;
| 00065A01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00067601&lt;br /&gt;
| USA&lt;br /&gt;
| Rhythm Thief Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00068201&lt;br /&gt;
| USA&lt;br /&gt;
| Pyramids Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0006DA01&lt;br /&gt;
| EUR&lt;br /&gt;
| Rhythm Thief Demo &lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00071F01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v32&lt;br /&gt;
|-&lt;br /&gt;
| 00072A01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v32&lt;br /&gt;
|-&lt;br /&gt;
| 00074001&lt;br /&gt;
| EUR&lt;br /&gt;
| Heroes of Ruin Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00074701&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00075101&lt;br /&gt;
| USA&lt;br /&gt;
| Heroes of Ruin Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00077E01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 00078101&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00078201&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0007A001&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00080101&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 00081E01&lt;br /&gt;
| USA&lt;br /&gt;
| Metal Gear Solid Snake Eater 3D Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00082401&lt;br /&gt;
| EUR&lt;br /&gt;
| Metal Gear Solid Snake Eater 3D Demo &lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00086101&lt;br /&gt;
| EUR&lt;br /&gt;
| Farming Simulator 2012 3D Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00086601&lt;br /&gt;
| USA&lt;br /&gt;
| Mutant Mudds 3d Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00088901&lt;br /&gt;
| USA&lt;br /&gt;
| The Amazing Spider-Man&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0008C601&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0008D301&lt;br /&gt;
| USA&lt;br /&gt;
| Kingdom Hearts 3D Dream Drop Distance Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00090B01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00090D01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00090F01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00091601&lt;br /&gt;
| EUR&lt;br /&gt;
| THEATRHYTHM Final Fantasy Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00092B01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00095101&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00095501&lt;br /&gt;
| EUR&lt;br /&gt;
| Kingdom Hearts 3D Dream Drop Distance Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00095B01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0009D201&lt;br /&gt;
| USA&lt;br /&gt;
| Order Up! Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 000A4D01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 000A5401&lt;br /&gt;
| EUR&lt;br /&gt;
| Mutant Mudds Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 000AC801&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 000ADE01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=EShop_Demos&amp;diff=10581</id>
		<title>EShop Demos</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=EShop_Demos&amp;diff=10581"/>
		<updated>2014-11-10T20:56:49Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Minor edits, some corrections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Title list|Go Back to Title list]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
These titles have limited uses. For a given unique ID, there can be a maximum of 254 separate demos. Each demo is indexed by the Title ID variation. The legal demo index range: 0x1 - 0xFF.&lt;br /&gt;
&lt;br /&gt;
The maximum play count is stored in the [[ticket]]. The current play count for demos is stored in the [[Application_Manager_Services|AM-module]] [[System_SaveData]].&lt;br /&gt;
&lt;br /&gt;
== List ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  TitleID Low&lt;br /&gt;
!  Region&lt;br /&gt;
!  Description&lt;br /&gt;
!  Versions&lt;br /&gt;
|-&lt;br /&gt;
| 00030B01&lt;br /&gt;
| JPN&lt;br /&gt;
| Nintendogs &amp;amp; Cats: Golden Retreiver Demo &lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00030C01&lt;br /&gt;
| EUR&lt;br /&gt;
| Nintendogs &amp;amp; Cats: Golden Retreiver Demo &lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00030D01&lt;br /&gt;
| USA&lt;br /&gt;
| Nintendogs &amp;amp; Cats: Golden Retreiver Demo &lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00032001&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 00032101&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| v80&lt;br /&gt;
|-&lt;br /&gt;
| 00036F01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 00037101&lt;br /&gt;
| USA&lt;br /&gt;
| CRUSH3D Demo &lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00038A01&lt;br /&gt;
| EUR&lt;br /&gt;
| DOA Dimensions Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00039B01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00040401&lt;br /&gt;
| EUR&lt;br /&gt;
| CRUSH3D Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00043701&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00047E01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00048001&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00048101&lt;br /&gt;
| JPN&lt;br /&gt;
| Monster Hunter Tri G Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0004EE01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00053B01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00054801&lt;br /&gt;
| USA&lt;br /&gt;
| Mario &amp;amp; Sonic at the London 2012 Olympic Games Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00054901&lt;br /&gt;
| EUR&lt;br /&gt;
| Mario &amp;amp; Sonic at the London 2012 Olympic Games Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00056601&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 00056A01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v32&lt;br /&gt;
|-&lt;br /&gt;
| 00057601&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 0005A201&lt;br /&gt;
| USA&lt;br /&gt;
| LEGO Batman 2 DC Super Heroes Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0005A401&lt;br /&gt;
| EUR&lt;br /&gt;
| LEGO Batman 2 DC Super Heroes Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0005A501&lt;br /&gt;
| EUR&lt;br /&gt;
| RAYMAN ORIGINS Demo &lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0005DE01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 0005E301&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 0005E901&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 0005ED01&lt;br /&gt;
| EUR&lt;br /&gt;
| Cooking Mama 4 Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0005EE01&lt;br /&gt;
| EUR&lt;br /&gt;
| Resident Evil Revelations Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00060201&lt;br /&gt;
| USA&lt;br /&gt;
| Resident Evil Revelations Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00060F01&lt;br /&gt;
| EUR &lt;br /&gt;
| Pyramids Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00064701&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00065701&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v32&lt;br /&gt;
|-&lt;br /&gt;
| 00065A01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00067601&lt;br /&gt;
| USA&lt;br /&gt;
| Rhythm Thief Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00068201&lt;br /&gt;
| USA&lt;br /&gt;
| Pyramids Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0006DA01&lt;br /&gt;
| EUR&lt;br /&gt;
| Rhythm Thief Demo &lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00071F01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v32&lt;br /&gt;
|-&lt;br /&gt;
| 00072A01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v32&lt;br /&gt;
|-&lt;br /&gt;
| 00074001&lt;br /&gt;
| EUR&lt;br /&gt;
| Heroes of Ruin Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00074701&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00075101&lt;br /&gt;
| USA&lt;br /&gt;
| Heroes of Ruin Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00077E01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 00078101&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00078201&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0007A001&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00080101&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v16&lt;br /&gt;
|-&lt;br /&gt;
| 00081E01&lt;br /&gt;
| USA&lt;br /&gt;
| Metal Gear Solid Snake Eater 3D Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00082401&lt;br /&gt;
| EUR&lt;br /&gt;
| Metal Gear Solid Snake Eater 3D Demo &lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00086101&lt;br /&gt;
| EUR&lt;br /&gt;
| Farming Simulator 2012 3D Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00086601&lt;br /&gt;
| USA&lt;br /&gt;
| Mutant Mudds 3d Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00088901&lt;br /&gt;
| USA&lt;br /&gt;
| The Amazing Spider-Man&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0008C601&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0008D301&lt;br /&gt;
| USA&lt;br /&gt;
| Kingdom Hearts 3D Dream Drop Distance Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00090B01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00090D01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00090F01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00091601&lt;br /&gt;
| EUR&lt;br /&gt;
| THEATRHYTHM Final Fantasy Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00092B01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00095101&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00095501&lt;br /&gt;
| EUR&lt;br /&gt;
| Kingdom Hearts 3D Dream Drop Distance Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00095B01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 0009D201&lt;br /&gt;
| USA&lt;br /&gt;
| Order Up! Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 000A4D01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 000A5401&lt;br /&gt;
| EUR&lt;br /&gt;
| Mutant Mudds Demo&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 000AC801&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 000ADE01&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| v0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Nintendo_3DS_Sound&amp;diff=10571</id>
		<title>Nintendo 3DS Sound</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Nintendo_3DS_Sound&amp;diff=10571"/>
		<updated>2014-11-10T06:53:19Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fixes and removed warning since one is included in the source&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nintendo 3DS Sound is the music playing and audio recording application that is included with all retail consoles.&lt;br /&gt;
&lt;br /&gt;
It loads audio files from the SD card. It supports MP3 and AAC-encoded audio files and supports m3u playlists.&lt;br /&gt;
&lt;br /&gt;
== Playlist file format==&lt;br /&gt;
The application allows for user created playlists. They are stored on the SD card.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x04&lt;br /&gt;
| Magic bytes, &#039;O&#039;, &#039;V&#039;, &#039;A&#039;, &#039;F&#039; or &amp;quot;FAVO&amp;quot; endian corrected.&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 0x04&lt;br /&gt;
| Always integer with value 16&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 0x04&lt;br /&gt;
| File size (0x26730)&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C&lt;br /&gt;
| 0x04&lt;br /&gt;
| Zero Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x02&lt;br /&gt;
| checksum (songs?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0x02&lt;br /&gt;
| Icon ID (0-44) if id==-1 then loads custom icon from end of playlist?&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x02&lt;br /&gt;
| Song file count&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x02&lt;br /&gt;
| Number of possible songs (usually 0x12C/300)&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x04&lt;br /&gt;
| Some kind of timestamp, for encryption (doesn&#039;t change when editing)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0x01&lt;br /&gt;
| Checksum (icon?, header?) (doesn&#039;t change when editing)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1B&lt;br /&gt;
| 0x01&lt;br /&gt;
| Checksum (name?) (doesn&#039;t change when editing)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x04&lt;br /&gt;
| Always(?) integer with value 6&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 0x100 (avaiable 0x40)&lt;br /&gt;
| Playlist name stored in UTF-16&lt;br /&gt;
|-&lt;br /&gt;
| 0x120+(n*0x20C) =&amp;gt; n&amp;lt;300&lt;br /&gt;
| 692 (0x20C per song)&lt;br /&gt;
| File name stored in UTF-16, repeats for the rest of the file&lt;br /&gt;
|-&lt;br /&gt;
| 0x2672F&lt;br /&gt;
| -&lt;br /&gt;
| End&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sample reader ==&lt;br /&gt;
This is a basic example of how to read a 3DS playlist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/* This is free and unencumbered software released into the public domain.&lt;br /&gt;
/* Anyone is free to copy, modify, publish, use, compile, sell, or&lt;br /&gt;
/* distribute this software, either in source code form or as a compiled&lt;br /&gt;
/* binary, for any purpose, commercial or non-commercial, and by any&lt;br /&gt;
/* means.&lt;br /&gt;
&lt;br /&gt;
/* In jurisdictions that recognize copyright laws, the author or authors&lt;br /&gt;
/* of this software dedicate any and all copyright interest in the&lt;br /&gt;
/* software to the public domain. We make this dedication for the benefit&lt;br /&gt;
/* of the public at large and to the detriment of our heirs and&lt;br /&gt;
/* successors. We intend this dedication to be an overt act of&lt;br /&gt;
/* relinquishment in perpetuity of all present and future rights to this&lt;br /&gt;
/* software under copyright law.&lt;br /&gt;
/* &lt;br /&gt;
/* THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND,&lt;br /&gt;
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF&lt;br /&gt;
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.&lt;br /&gt;
/* IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR&lt;br /&gt;
/* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,&lt;br /&gt;
/* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR&lt;br /&gt;
/* OTHER DEALINGS IN THE SOFTWARE.&lt;br /&gt;
/*&lt;br /&gt;
/* For more information, please refer to &amp;lt;http://unlicense.org/&amp;gt; */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdint.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uint8_t buf[0x26730];&lt;br /&gt;
uint16_t checksum, icon, songCount;&lt;br /&gt;
uint32_t timestamp;&lt;br /&gt;
uint8_t playlistName[0x100];&lt;br /&gt;
uint8_t songName[0x20C][299];&lt;br /&gt;
&lt;br /&gt;
void readUtf16AsAscii(uint8_t *input, uint8_t *output, uint16_t length, uint32_t offset) {&lt;br /&gt;
	uint16_t j=0;&lt;br /&gt;
	for (j=0; j&amp;lt;length; j++) {&lt;br /&gt;
		output[j] = input[(j*2)+offset];&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char* argv[]) {&lt;br /&gt;
	uint16_t t=0;&lt;br /&gt;
	FILE *playlistFile;&lt;br /&gt;
&lt;br /&gt;
	if (argc != 2) {&lt;br /&gt;
		printf(&amp;quot;Usage: %s FILE\n&amp;quot;, argv[0]);&lt;br /&gt;
		exit(1);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if ((playlistFile = fopen(argv[1], &amp;quot;rb&amp;quot;)) == NULL) {&lt;br /&gt;
		printf(&amp;quot;Could not open %s.\n&amp;quot;, argv[1]);&lt;br /&gt;
		exit(1);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (fread(buf, 1, 0x26730, playlistFile) != 0x26730) {&lt;br /&gt;
		printf(&amp;quot;Could not 0x26730 bytes from %s.\n&amp;quot;, argv[1]);&lt;br /&gt;
		exit(1);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (!((buf[0] = &#039;O&#039;) &amp;amp;&amp;amp; (buf[1] = &#039;V&#039;) &amp;amp;&amp;amp; (buf[2] = &#039;F&#039;) &amp;amp;&amp;amp; (buf[3] = &#039;A&#039;))) {&lt;br /&gt;
		printf(&amp;quot;%s is not a 3DS playlist file.\n&amp;quot;, argv[1]);&lt;br /&gt;
		exit(1);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	checksum  = (buf[0x11] &amp;lt;&amp;lt; 8)  | buf[0x10];&lt;br /&gt;
	icon      = (buf[0x13] &amp;lt;&amp;lt; 8)  | buf[0x12];&lt;br /&gt;
	songCount = (buf[0x15] &amp;lt;&amp;lt; 8)  | buf[0x14];&lt;br /&gt;
	timestamp = (buf[0x17] &amp;lt;&amp;lt; 24) | (buf[0x16] &amp;lt;&amp;lt; 16) | (buf[0x19] &amp;lt;&amp;lt; 8) | buf[0x18];&lt;br /&gt;
	readUtf16AsAscii(buf, playlistName, 0x100, 0x20);&lt;br /&gt;
	for (t=0; t&amp;lt;songCount; t++) readUtf16AsAscii(buf, songName[t], 0x20C, (0x120+(t*0x20C)));&lt;br /&gt;
&lt;br /&gt;
	printf(&amp;quot;Checksum:\t%04X\nIcon ID:\t%04X\nSong Count:\t%04X\nTimestamp:\t%08X\nPlaylist Name:\t\&amp;quot;%s\&amp;quot;\n&amp;quot;,&lt;br /&gt;
	checksum, icon, songCount, timestamp, playlistName);&lt;br /&gt;
&lt;br /&gt;
	for (t=0; t&amp;lt;songCount; t++) printf(&amp;quot;Name of song %03i: %s\n&amp;quot;, t, songName[t]);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:File formats]]&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=DSP:RegisterInterruptEvents&amp;diff=10568</id>
		<title>DSP:RegisterInterruptEvents</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=DSP:RegisterInterruptEvents&amp;diff=10568"/>
		<updated>2014-11-10T06:22:25Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Small fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Request=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Index Word&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Header code [0x00150082]&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| param0&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| param1&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0?&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Event Handle&lt;br /&gt;
|}&lt;br /&gt;
=Response=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Index Word&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| Header code&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Result code&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Application_Manager_Services_PXI&amp;diff=10493</id>
		<title>Application Manager Services PXI</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Application_Manager_Services_PXI&amp;diff=10493"/>
		<updated>2014-11-06T03:04:35Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: ixes and added info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Available since system version&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010040&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[AMPXI:GetTitleCount|GetTitleCount]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020082&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[AMPXI:GetTitleList|GetTitleList]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030084&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[AMPXI:GetTitleInfo|GetTitleInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000400C0&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[AMPXI:DeleteTitle|DeleteTitle]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000500C0&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[AMPXI:GetTitleProductCode|GetTitleProductCode]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000600C0&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (unknown_u8, unknown_u64)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070080&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (unknown_u8, unknown_u32)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080080&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[AMPXI:InstallFIRM|InstallFIRM]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| InstallTikBegin&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0042&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| InstallTikWrite (size, ptr, ptrsize)&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| InstallTikFinish&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0080&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (unknown_u64)&lt;br /&gt;
|-&lt;br /&gt;
| 0x000E0000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetTitleAllCount&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0082&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetTitleAllList&lt;br /&gt;
|-&lt;br /&gt;
| 0x00100100&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| InstallTitleBegin (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| InstallTitleAbort (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00120100&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| InstallTitleResume (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| InstallTmdBegin (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00140042&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[AMPXI:InstallTmdWrite|InstallTmdWrite]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00150000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00160040&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| InstallTmdFinish (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00170040&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[AMPXI:InstallContentBegin|InstallContentBegin]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00180042&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[AMPXI:InstallContentWrite|InstallContentWrite]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00190000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| InstallContentAbort (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x001A0000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x001B0040&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[AMPXI:InstallContentResume|InstallContentResume]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001C0000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[AMPXI:InstallContentFinish|InstallContentFinish]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001D0040&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (unknown_u8, unknown_u32)&lt;br /&gt;
|-&lt;br /&gt;
| 0x001E00C2&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (unknown_entrycount, unknown_u8, unknown_u32, ptr, ptrsize)&lt;br /&gt;
|-&lt;br /&gt;
| 0x001F0084&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[AMPXI:GetTitleTemporaryInfo|GetTitleTemporaryInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002000C0&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (unknown_u8, unknown_u64)&lt;br /&gt;
|-&lt;br /&gt;
| 0x002100C0&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (unknown_u8, unknown_u64)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00220102&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (count, unknown_u8, unknown_u64, ptrsize_count_mul_2, ptr)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00230104&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (count, unknown_u8, unknown_u64, ptr1size_count_mul_2, ptr1, ptr2size_count_mul_24, ptr2)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00240102&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (count, unknown_u8, unknown_u64, ptrsize_count_mul2, ptr)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00250000&lt;br /&gt;
| [[1.0.0-0]] &lt;br /&gt;
| GetContentCount (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00260042&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetContentIds (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00270044&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetContentInfoForIds (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00280000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00290000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| InstallTitleFinish (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x002A00C2&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (unknown_u8, count, unknown_u8, ptrsize_count_mul_8, ptr)&lt;br /&gt;
|-&lt;br /&gt;
| 0x002B....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x002C....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x002D....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x002E....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x002F....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0030....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0031....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0032....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0033....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0034....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0035....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0036....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0037....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0038....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00390146&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (size2, size3, unknown_u64, size1, ptr1size_size1, ptr1, ptr2size_size2, ptr2, ptr3size_size3, ptr3)&lt;br /&gt;
|-&lt;br /&gt;
| 0x003A0146&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (unknown_u64, size1, size2, size3, ptr1size_size1, ptr1, ptr2size_size2, ptr2, ptr3size_size3, ptr3)&lt;br /&gt;
|-&lt;br /&gt;
| 0x003B0042&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (size, ptrsize, ptr)&lt;br /&gt;
|-&lt;br /&gt;
| 0x003C0000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x003D0108&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (size1, size2, size3, size4, ptr1size, ptr1, ptr2size, ptr2, ptr3size, ptr3, ptr4size, ptr4)&lt;br /&gt;
|-&lt;br /&gt;
| 0x003E0042&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (size, ptrsize, ptr)&lt;br /&gt;
|-&lt;br /&gt;
| 0x003F0040&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (unknown_u8)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00400040&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| FinishInstallToMedia (u8 mediatype)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00410000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00420142&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| InstallCommit&lt;br /&gt;
|-&lt;br /&gt;
| 0x004301C8&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[AMPXI:VerifyDSiWareFooter|VerifyDSiWareFooter]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x004400C4&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00450108&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| (size1, size3, size2, unknown_u8, ptr1size, ptr1, ptr2size, ptr2, ptr3size, ptr3, ptr4size_size2, ptr4) (DecryptDSiWareData)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00460182&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[AMPXI:WriteTWLSavedata|WriteTWLSavedata]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00470080&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| (unknown_u8, unknown_u8)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00480040&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[AMPXI:ReloadDBS|ReloadDBS]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00490080&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| (unknown_u64)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004A0102&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| (count, unknown_u64, unknown_u8, ptrsize_count_mul_8, ptr)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004B0100&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| (unknown_u64, unknown_u64)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004C0042&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| (count, ptrsize_count_mul_24, ptr)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004D0144&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[AMPXI:ExportDSiWare|ExportDSiWare]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x004E00C0&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| (unknown_u64, unknown_u8)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004F00C0&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[AMPXI:GetDSiWareExportSize|GetDSiWareExportSize]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00500044&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| (count, ptr1size_count_mul_8, ptr1, ptr2size_count_mul_4, ptr2)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00510000&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00520040&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| (unknown_u8)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00530084&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[AMPXI:ValidateDSiWareMovableSedHash|ValidateDSiWareMovableSedHash]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00540000&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x005500C4&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[AMPXI:ValidateDSiWareSectionMAC|ValidateDSiWareSectionMAC]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x005600C0&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| (unknown_u64, unknown_u16)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00570042&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0058....&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00590104&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x005A0142&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x005B....&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x005C0044&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x005D0082&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x005E0102&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x005F....&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00600102&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00610142&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00620044&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00630042&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0064....&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0065....&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0066....&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| Stubbed starting with [[4.0.0-7]], this only returns zero for the command result-code.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00670082&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x006801C2&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0069....&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x006A....&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x006B0142&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x006C....&lt;br /&gt;
| [[5.0.0-11]]&lt;br /&gt;
| (u8 [[Mediatypes|Mediatype]], u64 programID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Errors=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Error-code&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0xC8A0802B&lt;br /&gt;
| This indicates the the [[Title_Database|dbs]] image(.db) does not exist, or opening the .db file failed.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC8E083FC&lt;br /&gt;
| This error indicates that the title is already installed, with the same title-version as the title being installed?&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08027&lt;br /&gt;
| Invalid title-version, or the title-version of the title being installed is older than the currently installed title-version.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8A08004&lt;br /&gt;
| Invalid ticket title version.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08025&lt;br /&gt;
| Invalid NCCH. returned from InstallContentFinish&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8A08029&lt;br /&gt;
| Error-type 1&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08065&lt;br /&gt;
| Error-type -1&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08065+1 / 0xD8E08066&lt;br /&gt;
| Error-type -2&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08065+2 / 0xD8E08067&lt;br /&gt;
| Error-type -3&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08065+3 / 0xD8E08068&lt;br /&gt;
| Error-type -4&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08065+4 / 0xD8E08069&lt;br /&gt;
| Error-type -5&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08065+5 / 0xD8E0806A&lt;br /&gt;
| Error-type -6. Returned when a function returns error -2011: signature check for cert(TMD/TIK/cert-chain, ...) failed.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08065+6 / 0xD8E0806B&lt;br /&gt;
| Error-type -7&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08065+7 / 0xD8E0806C&lt;br /&gt;
| Error-type -8&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08065+8 / 0xD8E0806D&lt;br /&gt;
| Error-type -9&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08065+9 / 0xD8E0806E&lt;br /&gt;
| Error-type -10&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08065+10 / 0xD8E0806F&lt;br /&gt;
| Error-type -11&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08065+11 / 0xD8E08070&lt;br /&gt;
| Error-type -12&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08065+12 / 0xD8E08071&lt;br /&gt;
| Error-type -13&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8E08065+13 / 0xD8E08072&lt;br /&gt;
| Error-type -14&lt;br /&gt;
|-&lt;br /&gt;
| 0xD8A083FA&lt;br /&gt;
| Invalid titleID.&lt;br /&gt;
|-&lt;br /&gt;
| 0xE0E0802C&lt;br /&gt;
| AM module returns this error when the system-title bit is set for the input CTR/TWL titleID-high, for [[AM:DeleteApplicationTitle]].&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Filesystem_services_PXI&amp;diff=10492</id>
		<title>Filesystem services PXI</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Filesystem_services_PXI&amp;diff=10492"/>
		<updated>2014-11-06T02:53:50Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fixes, added things we need to know&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header, prior to [[3.0.0-5]]&lt;br /&gt;
!  Command Header, starting with [[3.0.0-5]]&lt;br /&gt;
!  Available since system version&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000101C2&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| OpenFile&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020142&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| DeleteFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) &lt;br /&gt;
|-&lt;br /&gt;
| 0x00030244&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| RenameFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, secondarchivehandlelo, secondarchivehandlehi, secondpathtype, secondpathsize, pathptrsize, pathptr, secondpathptrsize, secondpathptr)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040142&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| DeleteDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) &lt;br /&gt;
|-&lt;br /&gt;
| 0x00050202&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| CreateFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, unknown_u32, unknown_lo, unknown_hi, pathptrsize, pathptr) &lt;br /&gt;
|-&lt;br /&gt;
| 0x00060182&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| CreateDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, unknown_u32, pathptrsize, pathptr) &lt;br /&gt;
|-&lt;br /&gt;
| 0x00070244&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| RenameDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, secondarchivehandlelo, secondarchivehandlehi, secondpathtype, secondpathsize, pathptrsize, pathptr, secondpathptrsize, secondpathptr)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080102&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| OpenDirectory (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090142&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ReadFile&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A00C2&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| CalculateFileHashSHA256&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0182&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| WriteFile&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0104&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:CalcSavegameMAC|CalcSavegameMAC]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0080&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetFileSize&lt;br /&gt;
|-&lt;br /&gt;
| 0x000E0100&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| SetFileSize (sizelo, sizehi, filehandlelo, filehandlehi)&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0080&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| CloseFile (filehandlelo, filehandlehi)&lt;br /&gt;
|-&lt;br /&gt;
| 0x001000C2&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ReadDirectory (dirhandlelo, dirhandlehi, count, ptrsize, ptr)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110080&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| CloseDirectory (dirhandlelo, dirhandlehi)&lt;br /&gt;
|-&lt;br /&gt;
| 0x001200C2&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:OpenArchive|OpenArchive]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00130102&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| CreateExtSaveData? (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) &lt;br /&gt;
|-&lt;br /&gt;
| 0x00140102&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) &lt;br /&gt;
|-&lt;br /&gt;
| 0x00150102&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) &lt;br /&gt;
|-&lt;br /&gt;
| 0x00160080&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| CloseArchive (archivehandlelo, archivehandlehi)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00170080&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ReopenArchive? (archivehandlelo, archivehandlehi)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00180000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetCardType&lt;br /&gt;
|-&lt;br /&gt;
| 0x00190000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:GetSdmcArchiveResource|GetSdmcArchiveResource]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001A0000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:GetNandArchiveResource|GetNandArchiveResource]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001B0000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetSdmcFatFsError&lt;br /&gt;
|-&lt;br /&gt;
| 0x001C0000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetSdmcDetected&lt;br /&gt;
|-&lt;br /&gt;
| 0x001D0000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetSdmcWritable&lt;br /&gt;
|-&lt;br /&gt;
| 0x001E0042&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:GetSdmcCid|GetSdmcCid]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001F0042&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:GetNandCid|GetNandCid]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetSdmcSpeedInfo&lt;br /&gt;
|-&lt;br /&gt;
| 0x00210000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetNandSpeedInfo&lt;br /&gt;
|-&lt;br /&gt;
| 0x00220042&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetSdmcLog&lt;br /&gt;
|-&lt;br /&gt;
| 0x00230042&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetNandLog&lt;br /&gt;
|-&lt;br /&gt;
| 0x00240000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ClearSdmcLog&lt;br /&gt;
|-&lt;br /&gt;
| 0x00250000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ClearNandLog&lt;br /&gt;
|-&lt;br /&gt;
| 0x00260000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetCardSlotInserted&lt;br /&gt;
|-&lt;br /&gt;
| 0x00270000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| CardSlotPowerOn&lt;br /&gt;
|-&lt;br /&gt;
| 0x00280000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| CardSlotPowerOff&lt;br /&gt;
|-&lt;br /&gt;
| 0x00290000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| CardSlotGetIfPowerStatus&lt;br /&gt;
|-&lt;br /&gt;
| 0x002A0040&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:CardNorDirectCommand|CardNorDirectCommand]] (These CardNor commands are used for accessing the raw gamecard flash savedata)&lt;br /&gt;
|-&lt;br /&gt;
| 0x002B0080&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:CardNorDirectCommandWithAddress|CardNorDirectCommandWithAddress]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002C0082&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:CardNorDirectRead|CardNorDirectRead]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002D00C2&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:CardNorDirectReadWithAddress|CardNorDirectReadWithAddress]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002E0082&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:CardNorDirectWrite|CardNorDirectWrite]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x002F00C2&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:CardNorDirectWriteWithAddress|CardNorDirectWriteWithAddress]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x003000C2&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:CardNorDirectRead4IO|CardNorDirectRead4IO]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00310082&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| CardNorDirectCpuWriteWithoutVerify&lt;br /&gt;
|-&lt;br /&gt;
| 0x00320040&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:CardNorDirectSectorEraseWithoutVerify|CardNorDirectSectorEraseWithoutVerify]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00330080&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetProductInfo&lt;br /&gt;
|-&lt;br /&gt;
| 0x00340040&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| SetCardSpiBaudrate&lt;br /&gt;
|-&lt;br /&gt;
| 0x00350040&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| SetCardSpiBusMode&lt;br /&gt;
|-&lt;br /&gt;
| 0x00360040&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| SendInitializeInfo&lt;br /&gt;
|-&lt;br /&gt;
| 0x00370140&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| CreateExtSaveData&lt;br /&gt;
|-&lt;br /&gt;
| 0x003800C0&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| DeleteExtSaveData&lt;br /&gt;
|-&lt;br /&gt;
| 0x00390082&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| EnumerateExtSaveData&lt;br /&gt;
|-&lt;br /&gt;
| 0x003A0100&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetSpecialContentIndex&lt;br /&gt;
|-&lt;br /&gt;
| 0x003B00C2&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetLegacyRomHeader&lt;br /&gt;
|-&lt;br /&gt;
| 0x003C00C2&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetLegacyBannerData&lt;br /&gt;
|-&lt;br /&gt;
| 0x003F0000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:DeleteSdmcRoot|DeleteSdmcRoot]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00400040&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| DeleteAllExtSaveDataOnNand&lt;br /&gt;
|-&lt;br /&gt;
| 0x00410000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[FSPXI:InitializeCtrFilesystem|InitializeCtrFilesystem]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00420000&lt;br /&gt;
|?&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| CreateSeed&lt;br /&gt;
|-&lt;br /&gt;
| 0x00430042&lt;br /&gt;
|?&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[FSPXI:GetSdmcCtrRootPath|GetSdmcCtrRootPath]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00440040&lt;br /&gt;
|?&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| GetArchiveResource&lt;br /&gt;
|-&lt;br /&gt;
| 0x00450002&lt;br /&gt;
|?&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[FSPXI:ExportIntegrityVerificationSeed|ExportIntegrityVerificationSeed]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00460002&lt;br /&gt;
|?&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| [[FSPXI:ImportIntegrityVerificationSeed|ImportIntegrityVerificationSeed]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00470082&lt;br /&gt;
|?&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| EnumerateSharedExtSaveData&lt;br /&gt;
|-&lt;br /&gt;
| 0x00480102&lt;br /&gt;
|?&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| GetLegacySubBannerData&lt;br /&gt;
|-&lt;br /&gt;
| 0x00490042&lt;br /&gt;
|?&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| Initialize (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004A00C2&lt;br /&gt;
|?&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| OpenSpecialFile? (archivehandlelo, archivehandlehi, size, ptrsize_mul2, ptr)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004B0102&lt;br /&gt;
|?&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| ReadSpecialFile&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
| 0x004B0000&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| [[FSPXI:GetMovableSedHashedKeyYRandomData|GetMovableSedHashedKeyYRandomData]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x004C0040&lt;br /&gt;
|?&lt;br /&gt;
| [[2.0.0-2]]&lt;br /&gt;
| GetSpecialFileSize&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
| 0x004D01C4&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| This is a wrapper for ReadFile. If the first ReadFile call fails, this calls ReadFile again then executes hash-related code.&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
| 0x004E0204&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| This is a wrapper for WriteFile, this is similar to command 0x004D01C4.&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
| 0x004F....&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| (unknown_u64)&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
| 0x00500000&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| Stubbed, this only returns value 0.&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
| 0x0051....&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| (unknown_u8)&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
| 0x00520042&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| (outbuffersize, outbufferptr)&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
| 0x00530000&lt;br /&gt;
| [[3.0.0-5]]&lt;br /&gt;
| Unknown, stubbed with [[4.0.0-7]].&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
| 0x0054....&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| Stubbed with [[4.0.0-7]].&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
| 0x00550082&lt;br /&gt;
| [[4.0.0-7]]&lt;br /&gt;
| ReadNandReport (outbuffersize, u8 mediatype, outbufferptr)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Errors=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Error-code&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0xC8804478&lt;br /&gt;
| Object doesn&#039;t exist / failed to open object(file). Or: The specified title does not exist in the [[Title_Database|database]].&lt;br /&gt;
|-&lt;br /&gt;
| 0xC880448D&lt;br /&gt;
| FSPXI: Gamecard not inserted when attempting to use the gamecard.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC88044AB&lt;br /&gt;
| [[SDMC]]/NAND bus error, REG_SDSTATUS: TMIO_STAT_CMD_BUSY or TMIO_STAT_TXUNDERRUN&lt;br /&gt;
|-&lt;br /&gt;
| 0xC88044AC&lt;br /&gt;
| [[SDMC]]/NAND bus error, REG_SDSTATUS: TMIO_STAT_ILL_FUNC&lt;br /&gt;
|-&lt;br /&gt;
| 0xC92044E6&lt;br /&gt;
| Operation not allowed with the current file openflags (maybe other causes too?).&lt;br /&gt;
|-&lt;br /&gt;
| 0xC9204509&lt;br /&gt;
| [[SDMC]]/NAND bus error, REG_SDSTATUS: TMIO_STAT_CMDTIMEOUT&lt;br /&gt;
|-&lt;br /&gt;
| 0xC960454B&lt;br /&gt;
| [[SDMC]]/NAND bus error, when an error-bit in REG_SDSTATUS separate from the above errors is set. This can also indicate that the TWL partition table in the NAND sector0 is invalid, or that the sector signature for sector0 at offset 0x1FE is invalid?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC960454C&lt;br /&gt;
| [[SDMC]]/NAND bus error, REG_SDSTATUS: TMIO_STAT_STOPBIT_ERR&lt;br /&gt;
|-&lt;br /&gt;
| 0xC960F401&lt;br /&gt;
| [[SDMC]]/NAND bus error, REG_SDSTATUS: Bit23 (0x00800000)&lt;br /&gt;
|-&lt;br /&gt;
| 0xD9004587&lt;br /&gt;
| FSPXI: Hash verification failure (only for NCCH region hashes?).&lt;br /&gt;
|-&lt;br /&gt;
| 0xD9004588&lt;br /&gt;
| FSPXI/FSUSER: Verification failure for RSA or hashes. FSUSER: Verification failed for [[Savegames|savegame]] AES-MAC.&lt;br /&gt;
|-&lt;br /&gt;
| 0xD900458B&lt;br /&gt;
| FSUSER: A corrupted [[RomFS]] block was read (hash check fail).&lt;br /&gt;
|-&lt;br /&gt;
| 0xD9004676&lt;br /&gt;
| FSUSER: The specified service-command / archive is not accessible, due to the currently used exheader accessinfo not having the required bit(s) set. (This error can also indicate that the required ARM9 access-control mount flag is not enabled, in the exheader for any of the running ARM11 processes)&lt;br /&gt;
|-&lt;br /&gt;
| 0xE0E046BE&lt;br /&gt;
| Invalid lowpath. This can also indicate that the specified archive-id does not exist, or that the specified archive-id is not accessible over FSPXI. In certain cases this can also be caused by attempting to open a FSUSER archive where none of the required bit(s) for the archive are set in the user-process exheader accessinfo.&lt;br /&gt;
|-&lt;br /&gt;
| 0xE0C046F9&lt;br /&gt;
| FSPXI: Specified read-size doesn&#039;t match the actual filesize, when accessing ExeFS.&lt;br /&gt;
|-&lt;br /&gt;
| 0xE160F402&lt;br /&gt;
| [[SDMC]]/NAND bus error, REG_SDSTATUS: TMIO_STAT_RXRDY&lt;br /&gt;
|-&lt;br /&gt;
| 0xE160F403&lt;br /&gt;
| [[SDMC]]/NAND bus error, REG_SDSTATUS: Bit28 (0x10000000)&lt;br /&gt;
|-&lt;br /&gt;
| 0xE160F404&lt;br /&gt;
| [[SDMC]]/NAND bus error, REG_SDSTATUS: Bit27 (0x08000000)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Process_Services_PXI&amp;diff=10491</id>
		<title>Process Services PXI</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Process_Services_PXI&amp;diff=10491"/>
		<updated>2014-11-06T02:45:11Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: More fixes, yay?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Available since system version&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000100C6&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| This crypts a raw message with RSA.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020284&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| SignRsaSha256&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030284&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| VerifyRsaSha256&lt;br /&gt;
|-&lt;br /&gt;
| 0x000401C4&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050284&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[PSPXI:EncryptSignDecryptVerifyAesCcm|EncryptSignDecryptVerifyAesCcm]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetRomId. This reads 0x40-bytes from [[Gamecards|gamecard]] command 0xC6 (gamecard-uniqueID), and returns the first 0x10-bytes from that since the rest of the command reply is all 0xFF-bytes.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetRomId2. The first u8 this returns is from GetRomMakerCode, the following 0x10-bytes are from [[AES|encrypting]] the 0x10-bytes which GetRomId also returns. This is encrypted with AES-CBC, the regular normal-key and IV set by [[FIRM|Process9]] for this are loaded from the Process9 .rodata section.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetCTRCardAutoStartupBit&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GetRomMakerCode&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A0000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[PSPXI:GetLocalFriendCodeSeed|GetLocalFriendCodeSeed]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[PSPXI:GetDeviceId|GetDeviceId]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0042&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| GatherEntropy&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0042&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| [[PSPXI:GenerateRandomBytes|GenerateRandomBytes]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000E0042&lt;br /&gt;
| [[1.0.0-0]], removed with [[2.0.0-2]]&lt;br /&gt;
| With [[2.0.0-2]] the system no longer handles this command at all. This was mostly the same as GenerateRandomBytes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These RSA commands are an interface for using the [[RSA]] engine. The system will hang when it attempts to use a &amp;gt;RSA-2048 RSA bit-size with the RSA engine, since the [[RSA]] engine does not support &amp;gt;RSA-2048.&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Process_Manager_Services_PXI&amp;diff=10490</id>
		<title>Process Manager Services PXI</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Process_Manager_Services_PXI&amp;diff=10490"/>
		<updated>2014-11-06T02:43:20Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Capitalization&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Available since system version&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010082&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| ReadExtendedHeader&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020100&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| OpenTitle&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030080&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| CloseTitle (used after the process terminates)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Mode_Control_Services_PXI&amp;diff=10489</id>
		<title>Mode Control Services PXI</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Mode_Control_Services_PXI&amp;diff=10489"/>
		<updated>2014-11-06T02:42:42Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: /* Make it nicer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&amp;quot;pxi:mc&amp;quot; service=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Available since system version&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|  This is sent to the ARM9 by the ARM11 PXI-module, when PXI-module is shutting down due to receiving [[Services|srv]] notification-ID 0x100.&lt;br /&gt;
|-&lt;br /&gt;
| 0x0002....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| Stubbed, does nothing...&lt;br /&gt;
|-&lt;br /&gt;
| 0x0003....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| Stubbed, does nothing...&lt;br /&gt;
|-&lt;br /&gt;
| 0x0004....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| Stubbed, does nothing...&lt;br /&gt;
|-&lt;br /&gt;
| 0x0005....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0006....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| Stubbed, does nothing...&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070000&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| Stubbed, writes uninitialized stack byte to (u8*)(cmdbuf+4).&lt;br /&gt;
|-&lt;br /&gt;
| 0x0008....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| Stubbed, returns 0xE0C0EC03...&lt;br /&gt;
|-&lt;br /&gt;
| 0x0009....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| Stubbed, returns 0xE0C0EC03...&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| Stubbed, does some unnecessary copying to stack...&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| Stubbed, does some unnecessary copying to stack...&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Back to↓&lt;br /&gt;
&lt;br /&gt;
[[Services API]]&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=IO_Registers&amp;diff=10488</id>
		<title>IO Registers</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=IO_Registers&amp;diff=10488"/>
		<updated>2014-11-06T02:40:30Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Another small fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Old3DS&lt;br /&gt;
! A9/A11&lt;br /&gt;
! Category&lt;br /&gt;
! Physaddr&lt;br /&gt;
! Used by&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[CONFIG Registers]]&lt;br /&gt;
| 0x10000000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[IRQ Registers]]&lt;br /&gt;
| 0x10001000&lt;br /&gt;
| Boot9, Process9, Kernel9&lt;br /&gt;
| ARM9 Interrupt Masking&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[NDMA Registers]]&lt;br /&gt;
| 0x10002000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
| DMA Engine&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[TIMER Registers]]&lt;br /&gt;
| 0x10003000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[CTRCARD Registers]]&lt;br /&gt;
| 0x10004000 / 0x10005000&lt;br /&gt;
| Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[EMMC Registers]]&lt;br /&gt;
| 0x10006000 / 0x10007000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
| 0x10007000 is apparently not used on retail&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[PXI Registers]]&lt;br /&gt;
| 0x10008000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[AES Registers]]&lt;br /&gt;
| 0x10009000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[SHA Registers]]&lt;br /&gt;
| 0x1000A000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[RSA Registers]]&lt;br /&gt;
| 0x1000B000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[XDMA Registers]]&lt;br /&gt;
| 0x1000C000&lt;br /&gt;
| Boot9, Kernel9&lt;br /&gt;
| [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html CoreLink™ DMA-330]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[SPICARD Registers]]&lt;br /&gt;
| 0x1000D800&lt;br /&gt;
| Process9&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
| [[CONFIG Registers]]&lt;br /&gt;
| 0x10010000&lt;br /&gt;
| Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
| [[CONFIG Registers]]&lt;br /&gt;
| 0x10011000&lt;br /&gt;
| Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 0x10012000&lt;br /&gt;
| Kernel9, NewKernel9Loader&lt;br /&gt;
| Top secret.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 0x10018000&lt;br /&gt;
| TwlProcess9&lt;br /&gt;
| Used to setup the ARM7 core for AGB/TWL&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 0x10100000&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[HASH Registers]]&lt;br /&gt;
| 0x10101000&lt;br /&gt;
| [[Filesystem services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[Camera Registers]]&lt;br /&gt;
| 0x10102000&lt;br /&gt;
| [[Camera Services]]&lt;br /&gt;
| y2r&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[CSND Registers]] / DSP&lt;br /&gt;
| 0x10103000&lt;br /&gt;
| TwlBg, [[Codec Services]], [[CSND Services]], [[DSP Services]]&lt;br /&gt;
| Sound Hardware&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10110000&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10111000&lt;br /&gt;
| TwlBg&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[Camera Registers]] &lt;br /&gt;
| 0x10120000&lt;br /&gt;
| [[Camera Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[Camera Registers]]&lt;br /&gt;
| 0x10121000&lt;br /&gt;
| [[Camera Services]]&lt;br /&gt;
| Mirror of 0x10120000?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10122000&lt;br /&gt;
| [[NWM Services]]&lt;br /&gt;
| WIFI?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10123000&lt;br /&gt;
| [[NWM Services]]&lt;br /&gt;
| WIFI?&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: red&amp;quot; | No&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MVD Registers]]&lt;br /&gt;
| 0x10130000&lt;br /&gt;
| [[MVD Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red&amp;quot; | No&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MVD Registers]]&lt;br /&gt;
| 0x10131000&lt;br /&gt;
| [[MVD Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red&amp;quot; | No&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MVD Registers]]&lt;br /&gt;
| 0x10132000&lt;br /&gt;
| [[MVD Services]]&lt;br /&gt;
| &lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10140000&lt;br /&gt;
| Process9, Boot11, Kernel11, TwlBg, [[DSP Services]], [[NWM Services]], [[SPI Services]]&lt;br /&gt;
| Power management&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[PDN Registers]] / [[CODEC Registers]]&lt;br /&gt;
| 0x10141000&lt;br /&gt;
| Process9, Boot11, Kernel11, TwlBg, [[Codec Services]], [[NWM Services]], [[SPI Services]], [[PDN Services]]&lt;br /&gt;
| Power management&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[SPI Registers]]&lt;br /&gt;
| 0x10142000&lt;br /&gt;
| TwlBg, [[SPI Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[SPI Registers]]&lt;br /&gt;
| 0x10143000&lt;br /&gt;
| TwlBg&lt;br /&gt;
| Only used under TWL_FIRM?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[I2C Registers]]&lt;br /&gt;
| 0x10144000&lt;br /&gt;
| Boot11, Kernel11, TwlBg, [[I2C Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[CODEC Registers]]&lt;br /&gt;
| 0x10145000&lt;br /&gt;
| TwlBg, [[Codec Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[HID Registers]]&lt;br /&gt;
| 0x10146000&lt;br /&gt;
| Boot11, Kernel11, TwlBg, [[HID Services]]&lt;br /&gt;
| See [[PAD]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[GPIO Registers]]&lt;br /&gt;
| 0x10147000&lt;br /&gt;
| Boot11, TwlBg, [[GPIO Services]]&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[I2C Registers]]&lt;br /&gt;
| 0x10148000&lt;br /&gt;
| TwlBg, [[I2C Services]]&lt;br /&gt;
| &lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[SPI Registers]]&lt;br /&gt;
| 0x10160000&lt;br /&gt;
| Boot9, TwlBg, [[SPI Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[I2C Registers]]&lt;br /&gt;
| 0x10161000&lt;br /&gt;
| Boot11, TwlBg, [[I2C Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MIC Registers]]&lt;br /&gt;
| 0x10162000&lt;br /&gt;
| [[MIC Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[PXI Registers]]&lt;br /&gt;
| 0x10163000&lt;br /&gt;
| Boot11, Kernel11, TwlBg, [[PXI Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[NTRCARD Registers]]&lt;br /&gt;
| 0x10164000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MP Registers]]&lt;br /&gt;
| 0x10165000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|  [[MP Registers]]&lt;br /&gt;
| 0x10170000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
| NTR WIFI Registers, see [http://problemkaputt.de/gbatek.htm#dswirelesscommunications GBATek].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|  [[MP Registers]]&lt;br /&gt;
| 0x10171000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
| NTR WIFI Registers (mirror)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10172000&lt;br /&gt;
|?&lt;br /&gt;
| NTR WIFI Unused?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10173000&lt;br /&gt;
|?&lt;br /&gt;
| NTR WIFI Unused?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MP Registers]]&lt;br /&gt;
| 0x10174000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
| NTR WIFI RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MP Registers]]&lt;br /&gt;
| 0x10175000&lt;br /&gt;
|?&lt;br /&gt;
| NTR WIFI RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|  [[MP Registers]]&lt;br /&gt;
| 0x10176000&lt;br /&gt;
|?&lt;br /&gt;
| NTR WIFI Registers (mirror)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|  [[MP Registers]]&lt;br /&gt;
| 0x10177000&lt;br /&gt;
|?&lt;br /&gt;
| NTR WIFI Registers (mirror)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MP Registers]]&lt;br /&gt;
| 0x10178000 - 0x10180000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
| NTR WIFI WS1 Region&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: orange&amp;quot; |?&lt;br /&gt;
| A11&lt;br /&gt;
| CDMA&lt;br /&gt;
| 0x10200000&lt;br /&gt;
| Boot11, Kernel11&lt;br /&gt;
| On old 3DS this is [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html CoreLink™ DMA-330]. On the New 3DS it is unknown what this is.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
|?&lt;br /&gt;
| 0x10202000&lt;br /&gt;
| TwlBg, Kernel11, [[GSP Services]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| DSP&lt;br /&gt;
| 0x10203000&lt;br /&gt;
| [[DSP Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  style=&amp;quot;background: orange&amp;quot; |?&lt;br /&gt;
| A11&lt;br /&gt;
| CDMA&lt;br /&gt;
| 0x10206000&lt;br /&gt;
| NewKernel11&lt;br /&gt;
| CDMA was moved here on New 3DS. [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html CoreLink™ DMA-330].&lt;br /&gt;
|-&lt;br /&gt;
|  style=&amp;quot;background: orange&amp;quot; |?&lt;br /&gt;
| A11&lt;br /&gt;
| [[MVD Registers]]&lt;br /&gt;
| 0x10207000&lt;br /&gt;
| [[MVD Services]]&lt;br /&gt;
| New 3DS only?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| GPU?&lt;br /&gt;
| 0x1020F000&lt;br /&gt;
| TwlBg, [[GSP Services]]&lt;br /&gt;
| &lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| MIRROR&lt;br /&gt;
| 0x10300000-0x10400000&lt;br /&gt;
|&lt;br /&gt;
| Mirror of 0x10100000-0x10200000 (faster bus?), CDMA wants these addresses&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| [[LCD Registers]]&lt;br /&gt;
| 0x10400000&lt;br /&gt;
| Boot11, Kernel11, [[GSP Services]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| [[LCD Registers]]&lt;br /&gt;
| 0x10420000&lt;br /&gt;
| [[GSP Services]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
IO registers starting at physical address 0x10200000 are not accessible from the ARM9 (which includes all LCD/GPU registers).&lt;br /&gt;
&lt;br /&gt;
ARM11 kernel virtual address mappings for these registers varies for different builds. For ARM11 user mode applications you have:&lt;br /&gt;
 physaddr = virtaddr - 0x1EC00000 + 0x10100000&lt;br /&gt;
&lt;br /&gt;
=0x10012000=&lt;br /&gt;
Keys seem to be stored here? Access to this region is disabled once the ARM9 writes 0x2 to [[CONFIG|REG_SYSPROT9]]. Before writing that bit, the ARM9 copies the low u32 for the TWL keydata to +0x100 (and high u32 keydata to +0x104 with the New 3DS). On development units ([[CONFIG|UNITINFO]]!=0) ARM9 uses the first 8-bytes from 0x10012000 for the TWL keydata.&lt;br /&gt;
&lt;br /&gt;
Originally the above TWL keyinit + region disable was done by Kernel9. However, with the [[New_3DS]] FIRM ARM9 binary this is now done in the [[FIRM]] ARM9 binary loader, which also uses the 0x10012000 region for key generation.&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=IO_Registers&amp;diff=10487</id>
		<title>IO Registers</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=IO_Registers&amp;diff=10487"/>
		<updated>2014-11-06T02:39:27Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Small fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Old3DS&lt;br /&gt;
! A9/A11&lt;br /&gt;
! Category&lt;br /&gt;
! Physaddr&lt;br /&gt;
! Used by&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[CONFIG Registers]]&lt;br /&gt;
| 0x10000000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[IRQ Registers]]&lt;br /&gt;
| 0x10001000&lt;br /&gt;
| Boot9, Process9, Kernel9&lt;br /&gt;
| ARM9 Interrupt Masking&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[NDMA Registers]]&lt;br /&gt;
| 0x10002000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
| DMA Engine&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[TIMER Registers]]&lt;br /&gt;
| 0x10003000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[CTRCARD Registers]]&lt;br /&gt;
| 0x10004000 / 0x10005000&lt;br /&gt;
| Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[EMMC Registers]]&lt;br /&gt;
| 0x10006000 / 0x10007000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
| 0x10007000 is apparently not used on retail&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[PXI Registers]]&lt;br /&gt;
| 0x10008000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[AES Registers]]&lt;br /&gt;
| 0x10009000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[SHA Registers]]&lt;br /&gt;
| 0x1000A000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[RSA Registers]]&lt;br /&gt;
| 0x1000B000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[XDMA Registers]]&lt;br /&gt;
| 0x1000C000&lt;br /&gt;
| Boot9, Kernel9&lt;br /&gt;
| [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html CoreLink™ DMA-330]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[SPICARD Registers]]&lt;br /&gt;
| 0x1000D800&lt;br /&gt;
| Process9&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
| [[CONFIG Registers]]&lt;br /&gt;
| 0x10010000&lt;br /&gt;
| Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
| [[CONFIG Registers]]&lt;br /&gt;
| 0x10011000&lt;br /&gt;
| Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 0x10012000&lt;br /&gt;
| Kernel9, NewKernel9Loader&lt;br /&gt;
| Top secret.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 0x10018000&lt;br /&gt;
| TwlProcess9&lt;br /&gt;
| Used to setup the ARM7 core for AGB/TWL&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 0x10100000&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[HASH Registers]]&lt;br /&gt;
| 0x10101000&lt;br /&gt;
| [[Filesystem services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[Camera Registers]]&lt;br /&gt;
| 0x10102000&lt;br /&gt;
| [[Camera Services]]&lt;br /&gt;
| y2r&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[CSND Registers]] / DSP&lt;br /&gt;
| 0x10103000&lt;br /&gt;
| TwlBg, [[Codec Services]], [[CSND Services]], [[DSP Services]]&lt;br /&gt;
| Sound Hardware&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10110000&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10111000&lt;br /&gt;
| TwlBg&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[Camera Registers]] &lt;br /&gt;
| 0x10120000&lt;br /&gt;
| [[Camera Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[Camera Registers]]&lt;br /&gt;
| 0x10121000&lt;br /&gt;
| [[Camera Services]]&lt;br /&gt;
| Mirror of 0x10120000?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10122000&lt;br /&gt;
| [[NWM Services]]&lt;br /&gt;
| WIFI?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10123000&lt;br /&gt;
| [[NWM Services]]&lt;br /&gt;
| WIFI?&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: red&amp;quot; | No&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MVD Registers]]&lt;br /&gt;
| 0x10130000&lt;br /&gt;
| [[MVD Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red&amp;quot; | No&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MVD Registers]]&lt;br /&gt;
| 0x10131000&lt;br /&gt;
| [[MVD Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red&amp;quot; | No&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MVD Registers]]&lt;br /&gt;
| 0x10132000&lt;br /&gt;
| [[MVD Services]]&lt;br /&gt;
| &lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10140000&lt;br /&gt;
| Process9, Boot11, Kernel11, TwlBg, [[DSP Services]], [[NWM Services]], [[SPI Services]]&lt;br /&gt;
| Power management&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[PDN Registers]] / [[CODEC Registers]]&lt;br /&gt;
| 0x10141000&lt;br /&gt;
| Process9, Boot11, Kernel11, TwlBg, [[Codec Services]], [[NWM Services]], [[SPI Services]], [[PDN Services]]&lt;br /&gt;
| Power management&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[SPI Registers]]&lt;br /&gt;
| 0x10142000&lt;br /&gt;
| TwlBg, [[SPI Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[SPI Registers]]&lt;br /&gt;
| 0x10143000&lt;br /&gt;
| TwlBg&lt;br /&gt;
| Only used under TWL_FIRM?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[I2C Registers]]&lt;br /&gt;
| 0x10144000&lt;br /&gt;
| Boot11, Kernel11, TwlBg, [[I2C Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[CODEC Registers]]&lt;br /&gt;
| 0x10145000&lt;br /&gt;
| TwlBg, [[Codec Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[HID Registers]]&lt;br /&gt;
| 0x10146000&lt;br /&gt;
| Boot11, Kernel11, TwlBg, [[HID Services]]&lt;br /&gt;
| See [[PAD]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[GPIO Registers]]&lt;br /&gt;
| 0x10147000&lt;br /&gt;
| Boot11, TwlBg, [[GPIO Services]]&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[I2C Registers]]&lt;br /&gt;
| 0x10148000&lt;br /&gt;
| TwlBg, [[I2C Services]]&lt;br /&gt;
| &lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[SPI Registers]]&lt;br /&gt;
| 0x10160000&lt;br /&gt;
| Boot9, TwlBg, [[SPI Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[I2C Registers]]&lt;br /&gt;
| 0x10161000&lt;br /&gt;
| Boot11, TwlBg, [[I2C Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MIC Registers]]&lt;br /&gt;
| 0x10162000&lt;br /&gt;
| [[MIC Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[PXI Registers]]&lt;br /&gt;
| 0x10163000&lt;br /&gt;
| Boot11, Kernel11, TwlBg, [[PXI Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[NTRCARD Registers]]&lt;br /&gt;
| 0x10164000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MP Registers]]&lt;br /&gt;
| 0x10165000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|  [[MP Registers]]&lt;br /&gt;
| 0x10170000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
| NTR WIFI Registers, see [http://problemkaputt.de/gbatek.htm#dswirelesscommunications GBATek].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|  [[MP Registers]]&lt;br /&gt;
| 0x10171000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
| NTR WIFI Registers (mirror)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10172000&lt;br /&gt;
|&lt;br /&gt;
| NTR WIFI Unused?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10173000&lt;br /&gt;
|&lt;br /&gt;
| NTR WIFI Unused?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MP Registers]]&lt;br /&gt;
| 0x10174000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
| NTR WIFI RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MP Registers]]&lt;br /&gt;
| 0x10175000&lt;br /&gt;
|?&lt;br /&gt;
| NTR WIFI RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|  [[MP Registers]]&lt;br /&gt;
| 0x10176000&lt;br /&gt;
|?&lt;br /&gt;
| NTR WIFI Registers (mirror)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|  [[MP Registers]]&lt;br /&gt;
| 0x10177000&lt;br /&gt;
|?&lt;br /&gt;
| NTR WIFI Registers (mirror)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MP Registers]]&lt;br /&gt;
| 0x10178000 - 0x10180000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
| NTR WIFI WS1 Region&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: orange&amp;quot; |?&lt;br /&gt;
| A11&lt;br /&gt;
| CDMA&lt;br /&gt;
| 0x10200000&lt;br /&gt;
| Boot11, Kernel11&lt;br /&gt;
| On old 3DS this is [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html CoreLink™ DMA-330]. On the New 3DS it is unknown what this is.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
|?&lt;br /&gt;
| 0x10202000&lt;br /&gt;
| TwlBg, Kernel11, [[GSP Services]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| DSP&lt;br /&gt;
| 0x10203000&lt;br /&gt;
| [[DSP Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  style=&amp;quot;background: orange&amp;quot; |?&lt;br /&gt;
| A11&lt;br /&gt;
| CDMA&lt;br /&gt;
| 0x10206000&lt;br /&gt;
| NewKernel11&lt;br /&gt;
| CDMA was moved here on New 3DS. [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html CoreLink™ DMA-330].&lt;br /&gt;
|-&lt;br /&gt;
|  style=&amp;quot;background: orange&amp;quot; |?&lt;br /&gt;
| A11&lt;br /&gt;
| [[MVD Registers]]&lt;br /&gt;
| 0x10207000&lt;br /&gt;
| [[MVD Services]]&lt;br /&gt;
| New 3DS only?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| GPU?&lt;br /&gt;
| 0x1020F000&lt;br /&gt;
| TwlBg, [[GSP Services]]&lt;br /&gt;
| &lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| MIRROR&lt;br /&gt;
| 0x10300000-0x10400000&lt;br /&gt;
|&lt;br /&gt;
| Mirror of 0x10100000-0x10200000 (faster bus?), CDMA wants these addresses&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| [[LCD Registers]]&lt;br /&gt;
| 0x10400000&lt;br /&gt;
| Boot11, Kernel11, [[GSP Services]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| [[LCD Registers]]&lt;br /&gt;
| 0x10420000&lt;br /&gt;
| [[GSP Services]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
IO registers starting at physical address 0x10200000 are not accessible from the ARM9 (which includes all LCD/GPU registers).&lt;br /&gt;
&lt;br /&gt;
ARM11 kernel virtual address mappings for these registers varies for different builds. For ARM11 user mode applications you have:&lt;br /&gt;
 physaddr = virtaddr - 0x1EC00000 + 0x10100000&lt;br /&gt;
&lt;br /&gt;
=0x10012000=&lt;br /&gt;
Keys seem to be stored here? Access to this region is disabled once the ARM9 writes 0x2 to [[CONFIG|REG_SYSPROT9]]. Before writing that bit, the ARM9 copies the low u32 for the TWL keydata to +0x100 (and high u32 keydata to +0x104 with the New 3DS). On development units ([[CONFIG|UNITINFO]]!=0) ARM9 uses the first 8-bytes from 0x10012000 for the TWL keydata.&lt;br /&gt;
&lt;br /&gt;
Originally the above TWL keyinit + region disable was done by Kernel9. However, with the [[New_3DS]] FIRM ARM9 binary this is now done in the [[FIRM]] ARM9 binary loader, which also uses the 0x10012000 region for key generation.&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=IO_Registers&amp;diff=10486</id>
		<title>IO Registers</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=IO_Registers&amp;diff=10486"/>
		<updated>2014-11-06T02:38:18Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fixed some stuff and added things we need to know&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Old3DS&lt;br /&gt;
! A9/A11&lt;br /&gt;
! Category&lt;br /&gt;
! Physaddr&lt;br /&gt;
! Used by&lt;br /&gt;
! Comments&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[CONFIG Registers]]&lt;br /&gt;
| 0x10000000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[IRQ Registers]]&lt;br /&gt;
| 0x10001000&lt;br /&gt;
| Boot9, Process9, Kernel9&lt;br /&gt;
| ARM9 Interrupt Masking&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[NDMA Registers]]&lt;br /&gt;
| 0x10002000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
| DMA Engine&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[TIMER Registers]]&lt;br /&gt;
| 0x10003000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[CTRCARD Registers]]&lt;br /&gt;
| 0x10004000 / 0x10005000&lt;br /&gt;
| Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[EMMC Registers]]&lt;br /&gt;
| 0x10006000 / 0x10007000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
| 0x10007000 is apparently not used on retail&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[PXI Registers]]&lt;br /&gt;
| 0x10008000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[AES Registers]]&lt;br /&gt;
| 0x10009000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[SHA Registers]]&lt;br /&gt;
| 0x1000A000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[RSA Registers]]&lt;br /&gt;
| 0x1000B000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[XDMA Registers]]&lt;br /&gt;
| 0x1000C000&lt;br /&gt;
| Boot9, Kernel9&lt;br /&gt;
| [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html CoreLink™ DMA-330]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A9&lt;br /&gt;
| [[SPICARD Registers]]&lt;br /&gt;
| 0x1000D800&lt;br /&gt;
| Process9&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
| [[CONFIG Registers]]&lt;br /&gt;
| 0x10010000&lt;br /&gt;
| Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
| [[CONFIG Registers]]&lt;br /&gt;
| 0x10011000&lt;br /&gt;
| Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 0x10012000&lt;br /&gt;
| Kernel9, NewKernel9Loader&lt;br /&gt;
| Top secret.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 0x10018000&lt;br /&gt;
| TwlProcess9&lt;br /&gt;
| Used to setup the ARM7 core for AGB/TWL&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
| 0x10100000&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[HASH Registers]]&lt;br /&gt;
| 0x10101000&lt;br /&gt;
| [[Filesystem services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[Camera Registers]]&lt;br /&gt;
| 0x10102000&lt;br /&gt;
| [[Camera Services]]&lt;br /&gt;
| y2r&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[CSND Registers]] / DSP&lt;br /&gt;
| 0x10103000&lt;br /&gt;
| TwlBg, [[Codec Services]], [[CSND Services]], [[DSP Services]]&lt;br /&gt;
| Sound Hardware&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10110000&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10111000&lt;br /&gt;
| TwlBg&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[Camera Registers]] &lt;br /&gt;
| 0x10120000&lt;br /&gt;
| [[Camera Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[Camera Registers]]&lt;br /&gt;
| 0x10121000&lt;br /&gt;
| [[Camera Services]]&lt;br /&gt;
| Mirror of 0x10120000?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10122000&lt;br /&gt;
| [[NWM Services]]&lt;br /&gt;
| WIFI?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10123000&lt;br /&gt;
| [[NWM Services]]&lt;br /&gt;
| WIFI?&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: red&amp;quot; | No&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MVD Registers]]&lt;br /&gt;
| 0x10130000&lt;br /&gt;
| [[MVD Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red&amp;quot; | No&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MVD Registers]]&lt;br /&gt;
| 0x10131000&lt;br /&gt;
| [[MVD Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red&amp;quot; | No&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MVD Registers]]&lt;br /&gt;
| 0x10132000&lt;br /&gt;
| [[MVD Services]]&lt;br /&gt;
| &lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| &lt;br /&gt;
| 0x10140000&lt;br /&gt;
| Process9, Boot11, Kernel11, TwlBg, [[DSP Services]], [[NWM Services]], [[SPI Services]]&lt;br /&gt;
| Power management&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[PDN Registers]] / [[CODEC Registers]]&lt;br /&gt;
| 0x10141000&lt;br /&gt;
| Process9, Boot11, Kernel11, TwlBg, [[Codec Services]], [[NWM Services]], [[SPI Services]], [[PDN Services]]&lt;br /&gt;
| Power management&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[SPI Registers]]&lt;br /&gt;
| 0x10142000&lt;br /&gt;
| TwlBg, [[SPI Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[SPI Registers]]&lt;br /&gt;
| 0x10143000&lt;br /&gt;
| TwlBg&lt;br /&gt;
| Only used under TWL_FIRM?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[I2C Registers]]&lt;br /&gt;
| 0x10144000&lt;br /&gt;
| Boot11, Kernel11, TwlBg, [[I2C Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[CODEC Registers]]&lt;br /&gt;
| 0x10145000&lt;br /&gt;
| TwlBg, [[Codec Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[HID Registers]]&lt;br /&gt;
| 0x10146000&lt;br /&gt;
| Boot11, Kernel11, TwlBg, [[HID Services]]&lt;br /&gt;
| See [[PAD]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[GPIO Registers]]&lt;br /&gt;
| 0x10147000&lt;br /&gt;
| Boot11, TwlBg, [[GPIO Services]]&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[I2C Registers]]&lt;br /&gt;
| 0x10148000&lt;br /&gt;
| TwlBg, [[I2C Services]]&lt;br /&gt;
| &lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[SPI Registers]]&lt;br /&gt;
| 0x10160000&lt;br /&gt;
| Boot9, TwlBg, [[SPI Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[I2C Registers]]&lt;br /&gt;
| 0x10161000&lt;br /&gt;
| Boot11, TwlBg, [[I2C Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MIC Registers]]&lt;br /&gt;
| 0x10162000&lt;br /&gt;
| [[MIC Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[PXI Registers]]&lt;br /&gt;
| 0x10163000&lt;br /&gt;
| Boot11, Kernel11, TwlBg, [[PXI Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[NTRCARD Registers]]&lt;br /&gt;
| 0x10164000&lt;br /&gt;
| Boot9, Process9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MP Registers]]&lt;br /&gt;
| 0x10165000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|  [[MP Registers]]&lt;br /&gt;
| 0x10170000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
| NTR WIFI Registers, see [http://problemkaputt.de/gbatek.htm#dswirelesscommunications GBATek].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|  [[MP Registers]]&lt;br /&gt;
| 0x10171000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
| NTR WIFI Registers (mirror)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10172000&lt;br /&gt;
|&lt;br /&gt;
| NTR WIFI Unused?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|?&lt;br /&gt;
| 0x10173000&lt;br /&gt;
|&lt;br /&gt;
| NTR WIFI Unused?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MP Registers]]&lt;br /&gt;
| 0x10174000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
| NTR WIFI RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MP Registers]]&lt;br /&gt;
| 0x10175000&lt;br /&gt;
|?&lt;br /&gt;
| NTR WIFI RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|  [[MP Registers]]&lt;br /&gt;
| 0x10176000&lt;br /&gt;
|?&lt;br /&gt;
| NTR WIFI Registers (mirror)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
|  [[MP Registers]]&lt;br /&gt;
| 0x10177000&lt;br /&gt;
|?&lt;br /&gt;
| NTR WIFI Registers (mirror)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11/A9&lt;br /&gt;
| [[MP Registers]]&lt;br /&gt;
| 0x10178000 - 0x10180000&lt;br /&gt;
| [[MP Services]]&lt;br /&gt;
| NTR WIFI WS1 Region&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: orange&amp;quot; |?&lt;br /&gt;
| A11&lt;br /&gt;
| CDMA&lt;br /&gt;
| 0x10200000&lt;br /&gt;
| Boot11, Kernel11&lt;br /&gt;
| On old 3DS this is [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html CoreLink™ DMA-330]. On the New 3DS it is unknown what this is.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
|?&lt;br /&gt;
| 0x10202000&lt;br /&gt;
| TwlBg, Kernel11, [[GSP Services]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| DSP&lt;br /&gt;
| 0x10203000&lt;br /&gt;
| [[DSP Services]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|  style=&amp;quot;background: orange&amp;quot; |?&lt;br /&gt;
| A11&lt;br /&gt;
| CDMA&lt;br /&gt;
| 0x10206000&lt;br /&gt;
| NewKernel11&lt;br /&gt;
| CDMA was moved here on New 3DS. [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html CoreLink™ DMA-330].&lt;br /&gt;
|-&lt;br /&gt;
|  style=&amp;quot;background: orange&amp;quot; |?&lt;br /&gt;
| A11&lt;br /&gt;
| [[MVD Registers]]&lt;br /&gt;
| 0x10207000&lt;br /&gt;
| [[MVD Services]]&lt;br /&gt;
| New 3DS only?&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| GPU?&lt;br /&gt;
| 0x1020F000&lt;br /&gt;
| TwlBg, [[GSP Services]]&lt;br /&gt;
| &lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| MIRROR&lt;br /&gt;
| 0x10300000-0x10400000&lt;br /&gt;
|&lt;br /&gt;
| Mirror of 0x10100000-0x10200000 (faster bus?), CDMA wants these addresses&lt;br /&gt;
|-style=&amp;quot;border-top: double&amp;quot;&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| [[LCD Registers]]&lt;br /&gt;
| 0x10400000&lt;br /&gt;
| Boot11, Kernel11, [[GSP Services]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| A11&lt;br /&gt;
| [[LCD Registers]]&lt;br /&gt;
| 0x10420000&lt;br /&gt;
| [[GSP Services]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
IO registers starting at physical address 0x10200000 are not accessible from the ARM9 (which includes all LCD/GPU registers).&lt;br /&gt;
&lt;br /&gt;
ARM11 kernel virtual address mappings for these registers varies for different builds. For ARM11 user mode applications you have:&lt;br /&gt;
 physaddr = virtaddr - 0x1EC00000 + 0x10100000&lt;br /&gt;
&lt;br /&gt;
=0x10012000=&lt;br /&gt;
Keys seem to be stored here? Access to this region is disabled once the ARM9 writes 0x2 to [[CONFIG|REG_SYSPROT9]]. Before writing that bit, the ARM9 copies the low u32 for the TWL keydata to +0x100 (and high u32 keydata to +0x104 with the New 3DS). On development units ([[CONFIG|UNITINFO]]!=0) ARM9 uses the first 8-bytes from 0x10012000 for the TWL keydata.&lt;br /&gt;
&lt;br /&gt;
Originally the above TWL keyinit + region disable was done by Kernel9. However, with the [[New_3DS]] FIRM ARM9 binary this is now done in the [[FIRM]] ARM9 binary loader, which also uses the 0x10012000 region for key generation.&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Services&amp;diff=10485</id>
		<title>Services</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Services&amp;diff=10485"/>
		<updated>2014-11-06T00:42:00Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Corrected some stuff&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Handles for services are retrieved from the service manager port, &amp;quot;srv:&amp;quot;. Services are an abstraction of ports, they operate the same way except regular ports can have their handles retrieved directly from a [[SVC]](svcConnectToPort).&lt;br /&gt;
&lt;br /&gt;
Processes with PID less than or equal to the number of NATIVE_FIRM built-in modules (fs, sm, pm, pxi, ldr) have access to all services.&lt;br /&gt;
&lt;br /&gt;
==Service Manager Port &amp;quot;srv:&amp;quot;==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010002&lt;br /&gt;
| Initialize&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020000&lt;br /&gt;
| GetProcSemaphore (the handle from this gets signaled when notifications for this process gets triggered)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030100&lt;br /&gt;
| RegisterService (8-byte servicename, u32 strlen, u32 flags?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x000400C0&lt;br /&gt;
| UnregisterService (8-byte servicename, u32 strlen)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050100&lt;br /&gt;
| GetServiceHandle (8-byte servicename, u32 strlen, u32 flags?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x000600c2&lt;br /&gt;
| RegisterHandle? (8-byte servicename, u32 strlen, Handle h)&lt;br /&gt;
|-&lt;br /&gt;
| 0x0007....&lt;br /&gt;
| UnregisterHandle? (8-byte servicename, u32 strlen)&lt;br /&gt;
|-&lt;br /&gt;
| 0x0008....&lt;br /&gt;
| ishandlepresent (8-byte servicename, u32 strlen,u32 flags) if flag is set it returns the handle?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00090040&lt;br /&gt;
| IsRegistered This enables the specified notificationID for the current process.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A....&lt;br /&gt;
| This disables the specified notificationID for the current process (u32 ID)&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0000&lt;br /&gt;
| ReceiveNotification This returns the notificationID which was triggered, if any(see GetProcSemaphore).&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0080&lt;br /&gt;
| PublishToSubscriber(u32 ID,u32 flag) This can fire notificationID (Bit(0) only fire if not already fired, Bit(1) = return error if error happens, else it always returns 0)&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D....&lt;br /&gt;
| This can fire notificationIDs and return the number of fired notificationID&lt;br /&gt;
|-&lt;br /&gt;
| 0x000E....&lt;br /&gt;
| returns 1 if the service is registered. 0 if not (8-byte servicename, u32 strlen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Service Manager Process-Manager Port &amp;quot;srv:pm&amp;quot;==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header, prior to [[7.0.0-13]]&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x04030082&lt;br /&gt;
| RegisterProcess (u32 procid, u32 wordsz, &amp;lt;nowiki&amp;gt;((wordsz&amp;lt;&amp;lt;16) | 2)&amp;lt;/nowiki&amp;gt;, serviceaccesscontrol*).&lt;br /&gt;
|-&lt;br /&gt;
| 0x04040040&lt;br /&gt;
| UnregisterProcess (u32 procid).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Register command registers a process with the service-manager, which includes registering the serviceaccesscontrol for the process which normally originates from the [[NCCH/Extended_Header|exheader]].&lt;br /&gt;
&lt;br /&gt;
Prior to to [[7.0.0-13]], the commands listed for &amp;quot;srv:&amp;quot; were also accessible under this port with the same command-headers. Starting with [[7.0.0-13]], the &amp;quot;srv:pm&amp;quot; port was changed to a service. With this change, commandIDs for these commands were changed. &amp;quot;srv:pm&amp;quot; was originally vulnerable, this was fixed with [[7.0.0-13]], see [[3DS_exploits|here]]. Originally any process could use &amp;quot;srv:pm&amp;quot;, however starting with [[7.0.0-13]] only the built-in NATIVE_FIRM sysmodules have access to it. The only system title which uses &amp;quot;srv:pm&amp;quot; is the [[Process_Manager_Services|Process Manager]].&lt;br /&gt;
&lt;br /&gt;
==Notifications==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ID&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x100&lt;br /&gt;
| This indicates that all processes must terminate: power-off, reboot, or [[FIRM]]-launch.&lt;br /&gt;
|-&lt;br /&gt;
| 0x204&lt;br /&gt;
| This indicates that the HOME button was pressed.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=ErrDisp&amp;diff=10484</id>
		<title>ErrDisp</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=ErrDisp&amp;diff=10484"/>
		<updated>2014-11-05T23:56:41Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This system process handles displaying the error screens, such as &amp;quot;an error has occurred, the system needs shutdown&amp;quot;. This can also display a register dump for exceptions, and info for fatal errors. (Normally the black-screen errors are displayed on retail, while the latter is displayed on development units.)&lt;br /&gt;
&lt;br /&gt;
The register dump/fatal error info can also be written to [[nandrw/sys/native.log]]. On retail consoles, the system does not notify ErrDisp that any user-land exceptions occurred, ErrDisp is only notified for this on dev/debug units. Therefore, on retail consoles native.log only contains info from fatal errors. Starting with [[5.0.0-11]] ErrDisp no longer writes logs to native.log, except when the error-type is value 5 and when other checks with the errorinfo structure are successful (normally processes using this port never use error-type 5).&lt;br /&gt;
&lt;br /&gt;
The bottom screen displays the error screen like &amp;quot;error has occurred&amp;quot;, even with a development 3DS. The top screen can display the development error info, this is only displayed when [[Configuration_Memory|UNITINFO]] bit0 is clear, for a development 3DS.&lt;br /&gt;
&lt;br /&gt;
ErrDisp handles &amp;quot;returning&amp;quot; to Home Menu via [[NSS:RebootSystem]], which triggers a hardware system reboot.&lt;br /&gt;
&lt;br /&gt;
= ErrDisp error port &amp;quot;err:f&amp;quot; =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010800&lt;br /&gt;
| ThrowFatalError(0x80-byte errorinfo)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020042&lt;br /&gt;
| (size, &amp;lt;nowiki&amp;gt;(size&amp;lt;&amp;lt;14) | 2&amp;lt;/nowiki&amp;gt;, errorinfoptr) This is similar to cmd1, except with this the input buffer is copied to final output errorinfo+0x80 instead of +0x0, via the ARM11 kernel. Max size is 0x100. ErrDisp doesn&#039;t do anything in the cmd-handler for this command at all, besides checking the command header and buffer header.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Legacy_FIRM_PXI&amp;diff=10483</id>
		<title>Legacy FIRM PXI</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Legacy_FIRM_PXI&amp;diff=10483"/>
		<updated>2014-11-05T23:52:37Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fix stuff AGAIN&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the PXI commands for TWL_FIRM/AGB_FIRM.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Command Header&lt;br /&gt;
!  Available since system version&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0001....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020080&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (u64 application_titleID) This launches the specified TWL title. Eventually this will wait for command 0x00040080 to be sent.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030080&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| (u64 application_titleID) This launches the specified GBA VC title.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040080&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0005....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0006....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0007....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0008....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0009....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A....&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0040&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| This is used for TWL initialization, prior to using command 0x00020080.&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0800&lt;br /&gt;
| [[1.0.0-0]]&lt;br /&gt;
| This writes the input 0x80-byte ASCII data to [[Flash_Filesystem|nand:/rw/sys/lgy.log]].&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Services_API&amp;diff=10482</id>
		<title>Services API</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Services_API&amp;diff=10482"/>
		<updated>2014-11-05T23:42:39Z</updated>

		<summary type="html">&lt;p&gt;Vgturtle127: Fixing some wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nintendo provides application developers with an API, which communicate with certain services. Services, in this sense, are system processes running in the background which wait for incoming requests. When a process wants to communicate with a service, it first needs to get a handle to the named service, and then it can communicate with the service via interprocess communication. Each service has a name up to 8 characters, for example &amp;quot;nim:u&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Handles for services are retrieved from the service manager port, &amp;quot;srv:&amp;quot;. Services are an abstraction of ports, they operate the same way except regular ports can have their handles retrieved directly from a SVC.&lt;br /&gt;
&lt;br /&gt;
For a description of how commands and arguments are passed to services, see [[IPC Command Structure]].&lt;br /&gt;
&lt;br /&gt;
List of services:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Old3ds&lt;br /&gt;
!  Services&lt;br /&gt;
!  Service names&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; width=&amp;quot;200&amp;quot; |  Notes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Filesystem services‎]]&lt;br /&gt;
| fs:USER, fs:LDR, fs:REG&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Process Services‎]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[PXI Services‎]]&lt;br /&gt;
| PxiFS0, PxiFS1, PxiFSB, PxiFSR, PxiPM, pxi:am9, pxi:dev, pxi:mc, pxi:ps9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Application Manager Services]]&lt;br /&gt;
| am:net, am:u, am:sys, am:pipe&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Process Manager Services]]&lt;br /&gt;
| pm:app, pm:dbg&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[NIM Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Config Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[NS|NS and APT Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[RO Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[NDM Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[CSND Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[DSP Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[GSP Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[IR Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[I2C Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[GPIO Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[HID Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[PTM Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[NWM Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[HTTP Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[SSL Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Socket Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[AC Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Friend Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[PDN Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[SPI Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[Loader Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[MCU Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: green&amp;quot; | Yes&lt;br /&gt;
| [[MIC Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red&amp;quot; | No&lt;br /&gt;
| [[NFC Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red&amp;quot; | No&lt;br /&gt;
| [[MVD Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red&amp;quot; | No&lt;br /&gt;
| [[QTM Services]]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
List of PXI services:&lt;br /&gt;
* [[Filesystem services PXI]]&lt;br /&gt;
* [[Process Services PXI]]&lt;br /&gt;
* [[Application Manager Services PXI]]&lt;br /&gt;
* [[Process Manager Services PXI]]&lt;br /&gt;
* [[Development Services PXI]]&lt;br /&gt;
* [[Gamecard Services PXI]]&lt;br /&gt;
* [[Legacy FIRM PXI]] (TWL_FIRM/AGB_FIRM)&lt;br /&gt;
&lt;br /&gt;
List of ports:&lt;br /&gt;
* [[ErrDisp]]&lt;br /&gt;
* [[Services]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See [[Error codes]].&lt;/div&gt;</summary>
		<author><name>Vgturtle127</name></author>
	</entry>
</feed>