<?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=Meleemeister</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=Meleemeister"/>
	<link rel="alternate" type="text/html" href="https://www.3dbrew.org/wiki/Special:Contributions/Meleemeister"/>
	<updated>2026-04-20T09:58:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=StreetPass_Mii_Plaza/StreetPass_Message_Format&amp;diff=23693</id>
		<title>StreetPass Mii Plaza/StreetPass Message Format</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=StreetPass_Mii_Plaza/StreetPass_Message_Format&amp;diff=23693"/>
		<updated>2025-08-31T14:18:39Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the format of the message that is sent to other devices over StreetPass. StreetPass messages are stored in the [[CECD_Savegame]]&lt;br /&gt;
&lt;br /&gt;
==Header==&lt;br /&gt;
Common header that is used by any title&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 70 || Header. See [[CECD_Savegame]]&lt;br /&gt;
|-&lt;br /&gt;
| 70 || C88 || News icon (40x40 px) extra header and data. See CECD_Savegame&lt;br /&gt;
|-&lt;br /&gt;
| CF8 || XX || News text header and data. Length depends on the text size. See CECD_Savegame&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Body==&lt;br /&gt;
The actual data. A number (CF8+XX from the header) has to be added to the offsets to get the real offset in the file. This number is different for every language because the news text has a different length in every language.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 8 || Title ID of last played game&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 18 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 30 || 2000 || Name struct of last played game. See [[SMDH#Application_Titles]]&lt;br /&gt;
|-&lt;br /&gt;
| 2030 || 8 || Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 2038 || 1680 || Icon graphics of last played game. See [[SMDH#Icon_graphics]]&lt;br /&gt;
|-&lt;br /&gt;
| 36B8 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 36BC || 18 || Header of CFPB container&lt;br /&gt;
|-&lt;br /&gt;
| 36D0 || 70 || Encrypted Mii data. See [[Mii_Maker#Mii_QR_Code_format]] and [[Mii#Mii_format]]&lt;br /&gt;
|-&lt;br /&gt;
| 3744 || 18 || Footer of CFPB container&lt;br /&gt;
|-&lt;br /&gt;
| 375C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3760 || 400 || UTF-16 encoded names of country of origin of Mii.&lt;br /&gt;
|-&lt;br /&gt;
| 3B60 || 400 || UTF-16 encoded names of region of origin of Mii.&lt;br /&gt;
|-&lt;br /&gt;
| 3F60 || 4 || Number of StreetPass Tags&lt;br /&gt;
|-&lt;br /&gt;
| 3F64 || 2 || Plaza Population&lt;br /&gt;
|-&lt;br /&gt;
| 3F66 || 1 || Equipped Outfit&lt;br /&gt;
|-&lt;br /&gt;
| 3F67 || 1 || Likes dogs or cats&lt;br /&gt;
|-&lt;br /&gt;
| 3F68 || 1 || Dream&lt;br /&gt;
|-&lt;br /&gt;
| 3F69 || 1 || Hobby&lt;br /&gt;
|-&lt;br /&gt;
| 3F6A || 6 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3F70 || 22 || Greeting text. UTF-16 encoded&lt;br /&gt;
|-&lt;br /&gt;
| 3F92 || A0 || List of IDs for personal greetings. Every ID (Mii ID + MAC address) is 10 bytes -&amp;amp;gt; Space for 16 IDs. List is built from last entry to first entry.&lt;br /&gt;
|-&lt;br /&gt;
| 4032 || 220 || List of personal greeting messages. Every message is 34(0x22) bytes long (16 UTF-16 characters + null terminator). Index corresponds to IDs&lt;br /&gt;
|-&lt;br /&gt;
| 4252 || 220 || List of greetings that where received while setting the personal greeting. Index corresponds to IDs&lt;br /&gt;
|-&lt;br /&gt;
| 4472 || 10 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4482 || 2 || Fantastic ratings&lt;br /&gt;
|-&lt;br /&gt;
| 4484 || 140 || List of IDs for fantastic ratings. Every ID (Mii ID + MAC address) is 10 bytes -&amp;amp;gt; Space for 32 IDs.&lt;br /&gt;
|-&lt;br /&gt;
| 45C4 || E || Collected pieces of first/preinstalled 7 puzzles from Puzzle swap. 2 bytes per puzzle&lt;br /&gt;
|-&lt;br /&gt;
| 45D2 || 1 || Unused&lt;br /&gt;
|-&lt;br /&gt;
| 45D3 || 1B18 || Collected pieces of additional 102 downloadable puzzles. 0x44 bytes per puzzle for possible 540 pieces. See [https://tcrf.net/StreetPass_Mii_Plaza#540_Pieces_Puzzle https://tcrf.net/StreetPass_Mii_Plaza#540_Pieces_Puzzle]&lt;br /&gt;
|-&lt;br /&gt;
| 60EB || 1 || Unused&lt;br /&gt;
|-&lt;br /&gt;
| 60EC || 40 || 16 bit values to tell that Mii that it looks &#039;fantastic&#039;. Index corresponds to the IDs for fantastic ratings&lt;br /&gt;
|-&lt;br /&gt;
| 612C || 10 || Greeting emote for personal greetings. List is built from highest to lowest byte.&lt;br /&gt;
|-&lt;br /&gt;
| 613C || 10 || Greeting emote from received greetings.&lt;br /&gt;
|-&lt;br /&gt;
| 614C || 4 || Emote for default greeting&lt;br /&gt;
|-&lt;br /&gt;
| 6150 || 4 || Unknown/Unused&lt;br /&gt;
|-&lt;br /&gt;
| 6154 || 4 || Flags if StreetPass Game of Game Pack 1 has save data (0x1 = Battle; 0x2 = Garden; 0x4 = Mansion; 0x8 = Squad)&lt;br /&gt;
|-&lt;br /&gt;
| 6158 || E8 || [[StreetPass Mii Plaza#StreetPass Battle Statistics|StreetPass Battle Statistics]]&lt;br /&gt;
|-&lt;br /&gt;
| 6240 || 500 || [[StreetPass Mii Plaza#StreetPass Garden Statistics|StreetPass Garden Statistics]]&lt;br /&gt;
|-&lt;br /&gt;
| 6740 || 100 || [[StreetPass Mii Plaza#StreetPass Mansion Statistics|StreetPass Mansion Statistics]]&lt;br /&gt;
|-&lt;br /&gt;
| 6840 || 100 || [[StreetPass Mii Plaza#StreetPass Squad Statistics|StreetPass Squad Statistics]]&lt;br /&gt;
|-&lt;br /&gt;
| 6940 || 10 || Speech bubbles for personal greetings&lt;br /&gt;
|-&lt;br /&gt;
| 6950 || 10 || Speech bubbles for received greetings&lt;br /&gt;
|-&lt;br /&gt;
| 6960 || 1 || Speech bubble for default greeting&lt;br /&gt;
|-&lt;br /&gt;
| 6961 || 7 || Unknown/Unused&lt;br /&gt;
|-&lt;br /&gt;
| 6968 || 4 || Flags if StreetPass Game of Game Pack 2 has save data (0x1 = Fishing; 0x2 = Zombie)&lt;br /&gt;
|-&lt;br /&gt;
| 696C || 200 || [[StreetPass Mii Plaza#StreetPass Fishing Statistics|StreetPass Fishing Statistics]]&lt;br /&gt;
|-&lt;br /&gt;
| 6B6C || 200 || [[StreetPass Mii Plaza#StreetPass Zombies Statistics|StreetPass Zombies Statistics]]&lt;br /&gt;
|-&lt;br /&gt;
| 6D6C || 2 || Unknown (Has StreetPass Premium?)&lt;br /&gt;
|-&lt;br /&gt;
| 6D6E || 2 || Steps (Pedometer, It&#039;s limited to 50000 steps)&lt;br /&gt;
|-&lt;br /&gt;
| 6D70 || 4 || Flags if StreetPass Game of Game Pack 3 has save data (0x1 = Slot Racer; 0x2 = Trader)&lt;br /&gt;
|-&lt;br /&gt;
| 6D74 || 400 || [[StreetPass Mii Plaza#StreetPass Slot Racer Statistics|StreetPass Slot Racer Statistics]]&lt;br /&gt;
|-&lt;br /&gt;
| 7174 || 100 || [[StreetPass Mii Plaza#StreetPass Trader Statistics|StreetPass Trader Statistics]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Battle Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown (Type of Castle?)&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 4 || StreetPass Battle Army Size&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 18 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 4 || Type of first army third (Always 1; Infantry)&lt;br /&gt;
|-&lt;br /&gt;
| 24 || 4 || Number of infantry&lt;br /&gt;
|-&lt;br /&gt;
| 28 || 4 || Type of second army third (Always 2; Cavalry)&lt;br /&gt;
|-&lt;br /&gt;
| 2C || 4 || Number of cavalry&lt;br /&gt;
|-&lt;br /&gt;
| 30 || 4 || Type of third army third (Always 3; Archer)&lt;br /&gt;
|-&lt;br /&gt;
| 34 || 4 || Number of archers&lt;br /&gt;
|-&lt;br /&gt;
| 38 || 18 || Header of CFPB container&lt;br /&gt;
|-&lt;br /&gt;
| 50 || 70 || Encrypted Mii data for the top scorer in StreetPass Battle.&lt;br /&gt;
|-&lt;br /&gt;
| C0 || 18 || Footer of CFPB container&lt;br /&gt;
|-&lt;br /&gt;
| D8 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| DC || 4 || StreetPass Battle Top Scorer&#039;s score&lt;br /&gt;
|-&lt;br /&gt;
| E0 || 8 || Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Garden Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 2 || Invited Guests&lt;br /&gt;
|-&lt;br /&gt;
| A || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| C || 2 || Number of Journal Entries&lt;br /&gt;
|-&lt;br /&gt;
| E || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 1 || Unknown If not 0 or FF garden can be viewed&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 3 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 1C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 24 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 28 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 2C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 30 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 32 || 1 || Yaw of Leaf 1 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 33 || 1 || Pitch of Leaf 1 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 34 || 1 || Roll of Leaf 1 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 35 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 37 || 1 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 38 || 2 || Scale factor 1 of Leaf 1&lt;br /&gt;
|-&lt;br /&gt;
| 3A || 2 || Scale factor 2 of Leaf 1&lt;br /&gt;
|-&lt;br /&gt;
| 3C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 42 || 1 || Yaw of Leaf 2 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 43 || 1 || Pitch of Leaf 2 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 44 || 1 || Roll of Leaf 2 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 45 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 47 || 1 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 2 || Scale factor 1 of Leaf 2&lt;br /&gt;
|-&lt;br /&gt;
| 4A || 2 || Scale factor 2 of Leaf 2&lt;br /&gt;
|-&lt;br /&gt;
| 4C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 50 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 52 || 1 || Yaw of Leaf 3 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 53 || 1 || Pitch of Leaf 3 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 54 || 1 || Roll of Leaf 3 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 55 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 57 || 1 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 58 || 2 || Scale factor 1 of Leaf 3&lt;br /&gt;
|-&lt;br /&gt;
| 5A || 2 || Scale factor 2 of Leaf 3&lt;br /&gt;
|-&lt;br /&gt;
| 5C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 60 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 62 || 1 || Yaw of Leaf 4 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 63 || 1 || Pitch of Leaf 4 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 64 || 1 || Roll of Leaf 4 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 65 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 67 || 1 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 68 || 2 || Scale factor 1 of Leaf 4&lt;br /&gt;
|-&lt;br /&gt;
| 6A || 2 || Scale factor 2 of Leaf 4&lt;br /&gt;
|-&lt;br /&gt;
| 6C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 70 || 370 || Unknown (Probably further stats for the model of the flower)&lt;br /&gt;
|-&lt;br /&gt;
| 3E0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3E4 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3E8 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3EC || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3F0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3F4 || 4 || Garden Index&lt;br /&gt;
|-&lt;br /&gt;
| 3F8 || 80 || 32 [[StreetPass Mii Plaza#Object|object]] entries with 4 bytes per entry for the viewable garden&lt;br /&gt;
|-&lt;br /&gt;
| 478 || 40 || 8 [[StreetPass Mii Plaza#Flower Data|flower data]]s for the placed flowers in the viewable garden. These are referenced by the slot index in the object entries.&lt;br /&gt;
|-&lt;br /&gt;
| 4B8 || 48 || Unknown/Unused&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Object====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || Slot index(if flower)/ID(if decoration) of object 1 (Bit 1-8; Least significant)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || Object ID of object 1 (Bit 1-4; Most significant); Type of object (Bit 5-8; 0=Flower, 1=Decoration, 2-15=Empty slot)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1 || Rotation of object 1 (no effect on decorations)&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 1 || Position/Slot in garden of object 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Flower Data====&lt;br /&gt;
These datas are referenced by the slot index from an object entry if the type is flower.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || Blossom shape&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || Color of petals&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1 || Leaf shape ID&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 1 || Stem structure ID&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 2 || Grow height/status (200 = fully grown)&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 1 || Pot of flower&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 1 || Flags: 0x01 show flower petals&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Mansion Statistics===&lt;br /&gt;
The statistic is only updated when a floor is completed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 2 || Maximum HP&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 2 || Highest Floor completed&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 8 || [[StreetPass Mii Plaza#Item Slot|Item Slot]] 1&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 8 || Item Slot 2&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 8 || Item Slot 3&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 8 || Item Slot 4&lt;br /&gt;
|-&lt;br /&gt;
| 28 || 8 || Item Slot 5&lt;br /&gt;
|-&lt;br /&gt;
| 30 || 8 || Item Slot 6&lt;br /&gt;
|-&lt;br /&gt;
| 38 || 8 || Item Slot 7&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 8 || Item Slot 8&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 2 || Number of item slots that have an item&lt;br /&gt;
|-&lt;br /&gt;
| 4A || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4C || 2 || Puzzle Box 1 Record Time (Divide by 10 to get the seconds as a decimal number)&lt;br /&gt;
|-&lt;br /&gt;
| 4E || 2 || Puzzle Box 2 Record Time &lt;br /&gt;
|-&lt;br /&gt;
| 50 || 2 || Puzzle Box 3 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 52 || 2 || Puzzle Box 4 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 54 || 2 || Puzzle Box 5 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 56 || 2 || Puzzle Box 6 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 58 || 2 || Puzzle Box 7 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 5A || 2 || Puzzle Box 8 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 5C || 2 || Puzzle Box 9 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 5E || 2 || Puzzle Box 10 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 60 || 2 || Puzzle Box 11 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 62 || 2 || Puzzle Box 12 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 64 || 2 || Puzzle Box 13 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 66 || 2 || Puzzle Box 14 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 68 || 2 || Puzzle Box 15 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 6A || 2 || Puzzle Box 16 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 6C || 2 || Puzzle Box 17 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 6E || 2 || Puzzle Box 18 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 70 || 2 || Puzzle Box 19 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 72 || 2 || Puzzle Box 20 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 74 || 2 || Puzzle Box 21 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 76 || 2 || Puzzle Box 22 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 78 || 2 || Puzzle Box 23 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 7A || 2 || Puzzle Box 24 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 7C || 2 || Puzzle Box 25 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 7E || 2 || Puzzle Box 26 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 80 || 2 || Puzzle Box 27 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 82 || 2 || Puzzle Box 28 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 84 || 2 || Puzzle Box 29 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 86 || 2 || Puzzle Box 30 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 88 || 2 || Puzzle Box 31 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 8A || 2 || Puzzle Box 32 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 8C || 2 || Puzzle Box 33 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 8E || 2 || Puzzle Box 34 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 90 || 2 || Puzzle Box 35 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 92 || 2 || Puzzle Box 36 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 94 || 2 || Puzzle Box 37 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 2 || Puzzle Box 38 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 98 || 2 || Puzzle Box 39 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 9A || 2 || Puzzle Box 40 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 9C || 2 || Puzzle Box 41 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 9E || 2 || Puzzle Box 42 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| A0 || 2 || Puzzle Box 43 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| A2 || 2 || Puzzle Box 44 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| A4 || 2 || Puzzle Box 45 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| A6 || 2 || Puzzle Box 46 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| A8 || 2 || Puzzle Box 47 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| AA || 2 || Puzzle Box 48 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| AC || 2 || Puzzle Box 49 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| AE || 2 || Puzzle Box 50 Record Time&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Item Slot====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || Item Type (0 = Weapon; 1 = Usable Item; 2 = Passive Item)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || Item ID&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2 || Current Experience&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 1 || Skill ID of Weapon&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 1 || Skill Level&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 1 || Max Level of Weapon&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 1 || Current Level of Weapon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Squad Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 2 || Current title&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 4 || Arcade Mode Normal Highscore&lt;br /&gt;
|-&lt;br /&gt;
| C || 2 || Level reached in Arcade Mode Normal (-1 if beaten)&lt;br /&gt;
|-&lt;br /&gt;
| E || 2 || Level reached in Arcade Mode Normal&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 4 || Arcade Mode Hard Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 2 || Level reached in Arcade Mode Hard&lt;br /&gt;
|-&lt;br /&gt;
| 16 || 2 || Level reached in Arcade Mode Hard (?)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 4 || 1-1 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 1C || 4 || 1-2 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 4 || 1-3 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 24 || 4 || 2-1 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 28 || 4 || 2-2 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 2C || 4 || 2-3 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 30 || 4 || 3-1 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 34 || 4 || 3-2 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 38 || 4 || 3-3 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 3C || 4 || 4-1 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 4 || 4-2 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 44 || 4 || 4-3 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 4 || 5-1 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 4C || 4 || 5-2 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 50 || 4 || 5-3 Highscore&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Fishing Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 2 || Index number of mysterious fish (e.g. 0xA0 for Giant Squid, 0xFFFF for no fish)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 2 || Remaining stamina of mysterious fish (divided by 100)&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 1 || Index of island where mysterious fish where failed to be catched&lt;br /&gt;
|-&lt;br /&gt;
| 15 || 1 || Index of fishing spot where mysterious  fish where failed to be catched&lt;br /&gt;
|-&lt;br /&gt;
| 16 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 1C || 4 || Catches&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 4 || Catched Species&lt;br /&gt;
|-&lt;br /&gt;
| 24 || 2 || Record of Sardine&#039;s size (multiplied with factor 0.0013)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Zombies Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 4 || CRC32 of the 0x200 bytes in this statistic with this field being 0&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 4 || Station Highscrore&lt;br /&gt;
|-&lt;br /&gt;
| C || 4 || Hospital Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 4 || Car Park Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 4 || Back Alley Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 4 || Stadium Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 1C || 4 || Stadium Showdown Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 4 || Mall Entrance Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 24 || 4 || Mall Walkway Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 28 || 4 || Mall Plaza Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 2C || 4 || Warehouse Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 30 || 4 || Food Court Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 34 || 4 || Food Court Showdown Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 38 || 4 || Suburb Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 3C || 4 || Construction Site Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 4 || Gas Station Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 44 || 4 || Highway Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 4 || Cornfield Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 4C || 4 || Suburb Showdown Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 50 || 4 || Tunnel Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 54 || 4 || Graveyard Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 58 || 4 || Power Plant Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 5C || 4 || Hydroelectric Dam Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 60 || 4 || Reservior Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 64 || 4 || Graveyard Showdown Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 68 || 4 || Research Center Entrance Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 6C || 4 || Slime Center Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 70 || 4 || Laboratory Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 74 || 4 || Elevator Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 78 || 4 || Rooftop Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 7C || 4 || Rooftop Showdown Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 80 || 180 || Unknown/Unused&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Slot Racer Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 4 || CRC32 of the 0x400 bytes in this statistic with this field being 0&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| C || DC || Unknown Probably Custom Car&lt;br /&gt;
|-&lt;br /&gt;
| E8 || 1 || Record minutes of Smooth Circuit&lt;br /&gt;
|-&lt;br /&gt;
| E9 || 1 || Record seconds of Smooth Circuit&lt;br /&gt;
|-&lt;br /&gt;
| EA || 1 || Record hundredth of Smooth Circuit&lt;br /&gt;
|-&lt;br /&gt;
| EB || 1 || Record minutes of Fairytale Glade&lt;br /&gt;
|-&lt;br /&gt;
| EC || 1 || Record seconds of Fairytale Glade&lt;br /&gt;
|-&lt;br /&gt;
| ED || 1 || Record hundredth of Fairytale Glade&lt;br /&gt;
|-&lt;br /&gt;
| EE || 1 || Record minutes of Rolling Mountain&lt;br /&gt;
|-&lt;br /&gt;
| EF || 1 || Record seconds of Rolling Mountain&lt;br /&gt;
|-&lt;br /&gt;
| F0 || 1 || Record hundredth of Rolling Mountain&lt;br /&gt;
|-&lt;br /&gt;
| F1 || 1 || Record minutes of Smooth Night Circuit&lt;br /&gt;
|-&lt;br /&gt;
| F2 || 1 || Record seconds of Smooth Night Circuit&lt;br /&gt;
|-&lt;br /&gt;
| F3 || 1 || Record hundredth of Smooth Night Circuit&lt;br /&gt;
|-&lt;br /&gt;
| F4 || 1 || Record minutes of Autumn Fairytale&lt;br /&gt;
|-&lt;br /&gt;
| F5 || 1 || Record seconds of Autumn Fairytale&lt;br /&gt;
|-&lt;br /&gt;
| F6 || 1 || Record hundredth of Autumn Fairytale&lt;br /&gt;
|-&lt;br /&gt;
| F7 || 1 || Record minutes of Isle O&#039;Thrills&lt;br /&gt;
|-&lt;br /&gt;
| F8 || 1 || Record seconds of Isle O&#039;Thrills&lt;br /&gt;
|-&lt;br /&gt;
| F9 || 1 || Record hundredth of Isle O&#039;Thrills&lt;br /&gt;
|-&lt;br /&gt;
| FA || 1 || Record minutes of Boom Town Streets&lt;br /&gt;
|-&lt;br /&gt;
| FB || 1 || Record seconds of Boom Town Streets&lt;br /&gt;
|-&lt;br /&gt;
| FC || 1 || Record hundredth of Boom Town Streets&lt;br /&gt;
|-&lt;br /&gt;
| FD || 1 || Record minutes of Desert Whirl&lt;br /&gt;
|-&lt;br /&gt;
| FE || 1 || Record seconds of Desert Whirl&lt;br /&gt;
|-&lt;br /&gt;
| FF || 1 || Record hundredth of Desert Whirl&lt;br /&gt;
|-&lt;br /&gt;
| 100 || 1 || Record minutes of Sunset Isle O&#039;Thrills&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1 || Record seconds of Sunset Isle O&#039;Thrills&lt;br /&gt;
|-&lt;br /&gt;
| 102 || 1 || Record hundredth of Sunset Isle O&#039;Thrills&lt;br /&gt;
|-&lt;br /&gt;
| 103 || 1 || Record minutes of Boom Town Nightlife&lt;br /&gt;
|-&lt;br /&gt;
| 104 || 1 || Record seconds of Boom Town Nightlife&lt;br /&gt;
|-&lt;br /&gt;
| 105 || 1 || Record hundredth of Boom Town Nightlife&lt;br /&gt;
|-&lt;br /&gt;
| 106 || 1 || Record minutes of Sugar Dash!&lt;br /&gt;
|-&lt;br /&gt;
| 107 || 1 || Record seconds of Sugar Dash!&lt;br /&gt;
|-&lt;br /&gt;
| 108 || 1 || Record hundredth of Sugar Dash!&lt;br /&gt;
|-&lt;br /&gt;
| 109 || 1 || Record minutes of Soaring Skyway&lt;br /&gt;
|-&lt;br /&gt;
| 10A || 1 || Record seconds of Soaring Skyway&lt;br /&gt;
|-&lt;br /&gt;
| 10B || 1 || Record hundredth of Soaring Skyway&lt;br /&gt;
|-&lt;br /&gt;
| 10C || 1 || Record minutes of Dizzy Woods&lt;br /&gt;
|-&lt;br /&gt;
| 10D || 1 || Record seconds of Dizzy Woods&lt;br /&gt;
|-&lt;br /&gt;
| 10E || 1 || Record hundredth of Dizzy Woods&lt;br /&gt;
|-&lt;br /&gt;
| 10F || 1 || Record minutes of Dinner Dash!&lt;br /&gt;
|-&lt;br /&gt;
| 110 || 1 || Record seconds of Dinner Dash!&lt;br /&gt;
|-&lt;br /&gt;
| 111 || 1 || Record hundredth of Dinner Dash!&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1 || Record minutes of Stormy Skyway&lt;br /&gt;
|-&lt;br /&gt;
| 113 || 1 || Record seconds of Stormy Skyway&lt;br /&gt;
|-&lt;br /&gt;
| 114 || 1 || Record hundredth of Stormy Skyway&lt;br /&gt;
|-&lt;br /&gt;
| 115 || 1 || Record minutes of Sundown at Rolling Mountain&lt;br /&gt;
|-&lt;br /&gt;
| 116 || 1 || Record seconds of Sundown at Rolling Mountain&lt;br /&gt;
|-&lt;br /&gt;
| 117 || 1 || Record hundredth of Sundown at Rolling Mountain&lt;br /&gt;
|-&lt;br /&gt;
| 118 || 1 || Record minutes of Starry Desert Whirl&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1 || Record seconds of Starry Desert Whirl&lt;br /&gt;
|-&lt;br /&gt;
| 11A || 1 || Record hundredth of Starry Desert Whirl&lt;br /&gt;
|-&lt;br /&gt;
| 11B || 1 || Record minutes of Deep Dark Dizzy Woods&lt;br /&gt;
|-&lt;br /&gt;
| 11C || 1 || Record seconds of Deep Dark Dizzy Woods&lt;br /&gt;
|-&lt;br /&gt;
| 11D || 1 || Record hundredth of Deep Dark Dizzy Woods&lt;br /&gt;
|-&lt;br /&gt;
| 11E || 1 || Record minutes of Outer Space&lt;br /&gt;
|-&lt;br /&gt;
| 11F || 1 || Record seconds of Outer Space&lt;br /&gt;
|-&lt;br /&gt;
| 120 || 1 || Record hundredth of Outer Space&lt;br /&gt;
|-&lt;br /&gt;
| 121 || 6 || Unknown/Maybe record time of 2 unreleased tracks&lt;br /&gt;
|-&lt;br /&gt;
| 127 || 3F || Previous record time of tracks(?)&lt;br /&gt;
|-&lt;br /&gt;
| 166 || 2A || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 190 || 13 || Type of booster used for the record time (0 = grey; 1 = blue; 2 = gold)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Trader Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 8 || Current amount of &lt;br /&gt;
|-&lt;br /&gt;
| 10 || 4 || Cummulative number of Day Tradings&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 4 || Number of Day Trades of Piece-by-Piece Deliveries&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 4 || Number of Day Trades of Kingfinder Studios&lt;br /&gt;
|-&lt;br /&gt;
| 1C || 4 || Number of Day Trades of Leisura Aerospace&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 4 || Number of Day Trades of Sparkleseed Landscaping&lt;br /&gt;
|-&lt;br /&gt;
| 24 || 4 || Number of Day Trades of Conqueror Construction&lt;br /&gt;
|-&lt;br /&gt;
| 28 || 4 || Number of Day Trades of Arzodius Research Labs&lt;br /&gt;
|-&lt;br /&gt;
| 2C || 4 || Number of Day Trades of Poseidon Island Fisheries&lt;br /&gt;
|-&lt;br /&gt;
| 30 || 4 || Number of Day Trades of Hobbiville Pharmaceuticals&lt;br /&gt;
|-&lt;br /&gt;
| 34 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 38 || 4 || Highest profit per second in Piece-by-Piece Deliveries&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 4 || Highest profit per second in Kingfinder Studios&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 4 || Highest profit per second in Leisura Aerospace&lt;br /&gt;
|-&lt;br /&gt;
| 50 || 4 || Highest profit per second in Sparkleseed Landscaping&lt;br /&gt;
|-&lt;br /&gt;
| 58 || 4 || Highest profit per second in Conqueror Construction&lt;br /&gt;
|-&lt;br /&gt;
| 60 || 4 || Highest profit per second in Arzodius Research Labs&lt;br /&gt;
|-&lt;br /&gt;
| 68 || 4 || Highest profit per second in Poseidon Island Fisheries&lt;br /&gt;
|-&lt;br /&gt;
| 70 || 4 || Highest profit per second in Hobbiville Pharmaceuticals&lt;br /&gt;
|-&lt;br /&gt;
| 78 || 4 || Profit/loss in Piece-by-Piece Deliveries&lt;br /&gt;
|-&lt;br /&gt;
| 80 || 4 || Profit/loss in Kingfinder Studios&lt;br /&gt;
|-&lt;br /&gt;
| 88 || 4 || Profit/loss in Leisura Aerospace&lt;br /&gt;
|-&lt;br /&gt;
| 90 || 4 || Profit/loss in Sparkleseed Landscaping&lt;br /&gt;
|-&lt;br /&gt;
| 98 || 4 || Profit/loss in Conqueror Construction&lt;br /&gt;
|-&lt;br /&gt;
| A0 || 4 || Profit/loss in Arzodius Research Labs&lt;br /&gt;
|-&lt;br /&gt;
| A8 || 4 || Profit/loss in Poseidon Island Fisheries&lt;br /&gt;
|-&lt;br /&gt;
| B0 || 4 || Profit/loss in Hobbiville Pharmaceuticals&lt;br /&gt;
|-&lt;br /&gt;
| B8 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| BC || 44 || Unknown/Unused&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=StreetPass_Mii_Plaza&amp;diff=23688</id>
		<title>StreetPass Mii Plaza</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=StreetPass_Mii_Plaza&amp;diff=23688"/>
		<updated>2025-08-26T08:14:25Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This is [[Title list#00040010 - System Applications|system title]] pre-installed on all 3DS units since launch. The application is centered around using [[StreetPass]] to &amp;quot;meet&amp;quot; other 3DS owners, by walking near them and exchanging Mii/user data (this is done automatically through StreetPass). When a 3DS has &amp;quot;met&amp;quot; another 3DS, StreetPass Mii Plaza recreates the meeting using the owner&#039;s Miis. From here the user, can use these Miis in mini-games.&lt;br /&gt;
&lt;br /&gt;
While a system app, a software that is centered around the concept of Streetpassing, and arguably the most popular StreetPass app, it is worth noting that it doesn&#039;t have intrinsic technical privileges: it can&#039;t record Streetpasses between people who don&#039;t have both enabled it for Mii Plaza, and the &amp;quot;Invitations&amp;quot; feature is equally available to any software.&lt;br /&gt;
&lt;br /&gt;
== Major Updates ==&lt;br /&gt;
=== Launch Version ===&lt;br /&gt;
* Users could decorate their Mii with a Hat, these are earned in StreetPass Quest.&lt;br /&gt;
Contained two mini-games:&lt;br /&gt;
* Puzzle Swap - The user completes various puzzles slates to complete interactive 3D Images. Pieces for the puzzles can be obtained from Miis met in StreetPass, or by purchasing them with play coins.&lt;br /&gt;
* StreetPass Quest(Find Mii) - A simplistic medieval themed RPG where the user&#039;s Mii is kidnapped, and the user must use Miis met in StreetPass, to rescue him/her. Additionally wanderers can be hired to fight, paid for with play coins of course.&lt;br /&gt;
&lt;br /&gt;
=== Late 2011 ===&lt;br /&gt;
* &amp;quot;Achievements&amp;quot; were added, accessible from the main hub.&lt;br /&gt;
* Completed Puzzle Swap Slides were viewable in a slideshow, again accessible from the hub&lt;br /&gt;
* More Puzzle slates for Puzzle Swap could be added via [[SpotPass]]. The new puzzle slates have puzzle pieces (pink) which cannot be bought with play coins.&lt;br /&gt;
* A sequel to StreetPass Quest was added. In the sequel, users could hire (using play coins) previously met Miis to fight. More hats can be earned.&lt;br /&gt;
* Music used in StreetPass Mii Plaza, can be played manually via the music player accessible from the main hub. &lt;br /&gt;
&lt;br /&gt;
=== 6.0.0-12 Update ===&lt;br /&gt;
* Final update for the Mii Plaza main application&lt;br /&gt;
* Now supports SD &amp;quot;Patch Updates&amp;quot;, so StreetPass Mii Plaza can be updated without a system update; it also strongly encourages the user to check for updates, as Mii Plaza &amp;quot;v3&amp;quot; launched in this format at the same time.&lt;br /&gt;
&lt;br /&gt;
=== Mii Plaza 3.x ===&lt;br /&gt;
* Design Revamped: Instead of a simple popup window, the minigames are accessible from a fountain-shaped hub. [https://www.youtube.com/watch?v=X11AJ4UYE4o See video].&lt;br /&gt;
* Each game, plus the main Plaza and the Entrance, are accessible from touch-screen buttons.&lt;br /&gt;
* One of six preset emotions can be selected for the Streetpass greeting.&lt;br /&gt;
* Also supports paid &amp;quot;DLC&amp;quot;, [https://www.youtube.com/watch?v=u1a05W1UJwQ 4 extra mini-games] are available through micro-transactions made from within the app. The pack of four can be bought at a discount if all the games are purchased at once, and none has been bought yet.&lt;br /&gt;
* Songs and achievements are not numbered anymore, due to their availability depending on the selection of games owned.&lt;br /&gt;
* StreetPass Quest 1, now supports the ability to hire previously met Miis after completion. This was previously possible as a glitch by recruiting them in Find Mii 2, then selecting the first game.&lt;br /&gt;
* Many more hats and outfits can be bought from the &amp;quot;Exchange booth&amp;quot;, which inventory changes daily. Tickets are only obtained in the premium games. A &amp;quot;Pixel Mario Hat&amp;quot; is available for free to anyone who installs the update.&lt;br /&gt;
&lt;br /&gt;
=== Mii Plaza 4.x ===&lt;br /&gt;
Released April 2015. A commemorative theme and Streetpass relay mixing event also happened in European Nintendo Zones to celebrate its launch.&lt;br /&gt;
&lt;br /&gt;
* The greeting and emotion are now complemented by one of 64 speech bubble themes. Five of them are available for free, the others can be bought wit a ticket each.&lt;br /&gt;
* Vault feature to hide games from the fountain. They won&#039;t generate a &amp;quot;game still not played with current Miis&amp;quot; warning, and they are still playable or unarchivable from the Vault menu.&lt;br /&gt;
* Medals are optionally displayed over cleared games.&lt;br /&gt;
* Touch-screen shortcuts can be reordered, partially due to the new games pushing the number of icons over the maximum of 8. This also changes the order of games at the fountain.&lt;br /&gt;
* All animations that can be sped up by holding R can now also be sped up with L.&lt;br /&gt;
* Two more paid games added, which also form their own bundle.&lt;br /&gt;
* Paid &amp;quot;Premium Plaza&amp;quot; DLC adds a number of features:&lt;br /&gt;
** VIP Plaza, to mark up to 100 Miis as favorites. They won&#039;t be auto-deleted when the population maxes out, and are easily accessible from the toolbar.&lt;br /&gt;
** Birthday Calendar, which is marked with the birthdays of Miis met after purchase. Tickets are awarded for the completion of each month, and for collecting the 29th of February or your own birthday.&lt;br /&gt;
** Skip Conversations, not to be confused with Skip Greetings, allows the player to streamline the dialogues with Streetpassed Miis. The display of birthdays, number of connections, last played game, eShop link if 3+ players in the last batch have played the same title, and profile (animal/dream/wish) can each be disabled.&lt;br /&gt;
** An already unlocked main BGM can be selected to play as the main theme, regardless of the current population.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mii Plaza 5.x ===&lt;br /&gt;
Released september 2016. At the same time, Mii Plaza became the first, and to date the only, system application to have a Miiverse group (if the posting of Home screenshots through Badge Arcade is not considered).&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Swift Plaza&amp;quot;, a new UI which focuses on touchscreen controls and doesn&#039;t display old visitors, providing faster loading.&lt;br /&gt;
* More speech bubbles and clothing.&lt;br /&gt;
* Five new paid games, although one of the first two can be purchased for free. The remaining four are 3 dollars each or 9 for all.&lt;br /&gt;
* Only for Premium users:&lt;br /&gt;
** Golden crown-shaped pin attached to the body&lt;br /&gt;
** &amp;quot;Queue&amp;quot; which allows for archiving up to 100 new visitors (as long as there are some current visitors with unplayed minigames) and recalling them later, partially circumventing the need to play all minigames or lose the characters after every 10 or less Streetpasses.&lt;br /&gt;
&lt;br /&gt;
==Save organization==&lt;br /&gt;
&lt;br /&gt;
The backup of applications which [[System SaveData|save to NAND]] has historically been a problem, with no easy way to access them.&lt;br /&gt;
&lt;br /&gt;
Only as of March 2016 homebrews such as [[JK&#039;s save manager]] have been released with such access.&lt;br /&gt;
&lt;br /&gt;
===System Save===&lt;br /&gt;
meet.dat: Your shared Mii, Streetpassed Miis, Streetpass count, achievements, unlocked outfits and speech bubbles, list of obtained puzzle tiles, etc&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/3dshacks/comments/4c5rcp/streetpass_mii_plaza_puzzle_swap_unlock_all/ Documentation of some addresses of interest of meet.dat]&lt;br /&gt;
&lt;br /&gt;
===Extdata===&lt;br /&gt;
Two mostly identical files, apparently containing progress for the paid games.&lt;br /&gt;
&lt;br /&gt;
===Spotpass extdata===&lt;br /&gt;
Actual images and 3D models for the Spotpass puzzles (all but the first 8 ones).&lt;br /&gt;
&lt;br /&gt;
If this file is missing, the puzzles contained in it will be unavailable until it is redownloaded, at which point any accumulated progress will be remembered.&lt;br /&gt;
&lt;br /&gt;
A backup of this archive is imperative to preserve limited distribution puzzles.&lt;br /&gt;
&lt;br /&gt;
See [[PNEL]] for more information on the file structure&lt;br /&gt;
&lt;br /&gt;
==StreetPass Message Format==&lt;br /&gt;
See [[StreetPass Mii Plaza/StreetPass Message Format]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=StreetPass_Mii_Plaza/StreetPass_Message_Format&amp;diff=23687</id>
		<title>StreetPass Mii Plaza/StreetPass Message Format</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=StreetPass_Mii_Plaza/StreetPass_Message_Format&amp;diff=23687"/>
		<updated>2025-08-26T08:14:00Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: Created page with &amp;quot;This is the format of the message that is sent to other devices over StreetPass. StreetPass messages are stored in the CECD_Savegame  ==Header== Common header that is used by any title {| class=&amp;quot;wikitable&amp;quot; ! Offset !! Length !! Desciption |- | 0 || 70 || Header. See CECD_Savegame |- | 70 || C88 || News icon (40x40 px) extra header and data. See CECD_Savegame |- | CF8 || XX || News text header and data. Length depends on the text size. See CECD_Savegame |}  ==Body...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the format of the message that is sent to other devices over StreetPass. StreetPass messages are stored in the [[CECD_Savegame]]&lt;br /&gt;
&lt;br /&gt;
==Header==&lt;br /&gt;
Common header that is used by any title&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 70 || Header. See [[CECD_Savegame]]&lt;br /&gt;
|-&lt;br /&gt;
| 70 || C88 || News icon (40x40 px) extra header and data. See CECD_Savegame&lt;br /&gt;
|-&lt;br /&gt;
| CF8 || XX || News text header and data. Length depends on the text size. See CECD_Savegame&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Body==&lt;br /&gt;
The actual data. A number (CF8+XX from the header) has to be added to the offsets to get the real offset in the file. This number is different for every language because the news text has a different length in every language.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 8 || Title ID of last played game&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 18 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 30 || 2000 || Name struct of last played game. See [[SMDH#Application_Titles]]&lt;br /&gt;
|-&lt;br /&gt;
| 2030 || 8 || Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 2038 || 1680 || Icon graphics of last played game. See [[SMDH#Icon_graphics]]&lt;br /&gt;
|-&lt;br /&gt;
| 36B8 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 36BC || 18 || Header of CFPB container&lt;br /&gt;
|-&lt;br /&gt;
| 36D0 || 70 || Encrypted Mii data. See [[Mii_Maker#Mii_QR_Code_format]] and [[Mii#Mii_format]]&lt;br /&gt;
|-&lt;br /&gt;
| 3744 || 18 || Footer of CFPB container&lt;br /&gt;
|-&lt;br /&gt;
| 375C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3760 || 400 || UTF-16 encoded names of country of origin of Mii.&lt;br /&gt;
|-&lt;br /&gt;
| 3B60 || 400 || UTF-16 encoded names of region of origin of Mii.&lt;br /&gt;
|-&lt;br /&gt;
| 3F60 || 4 || Number of StreetPass Tags&lt;br /&gt;
|-&lt;br /&gt;
| 3F64 || 2 || Plaza Population&lt;br /&gt;
|-&lt;br /&gt;
| 3F66 || 1 || Equipped Outfit&lt;br /&gt;
|-&lt;br /&gt;
| 3F67 || 1 || Likes dogs or cats&lt;br /&gt;
|-&lt;br /&gt;
| 3F68 || 1 || Dream&lt;br /&gt;
|-&lt;br /&gt;
| 3F69 || 1 || Hobby&lt;br /&gt;
|-&lt;br /&gt;
| 3F6A || 6 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3F70 || 22 || Greeting text. UTF-16 encoded&lt;br /&gt;
|-&lt;br /&gt;
| 3F92 || A0 || List of IDs for personal greetings. Every ID (Mii ID + MAC address) is 10 bytes -&amp;amp;gt; Space for 16 IDs. List is built from last entry to first entry.&lt;br /&gt;
|-&lt;br /&gt;
| 4032 || 220 || List of personal greeting messages. Every message is 34(0x22) bytes long (16 UTF-16 characters + null terminator). Index corresponds to IDs&lt;br /&gt;
|-&lt;br /&gt;
| 4252 || 220 || List of greetings that where received while setting the personal greeting. Index corresponds to IDs&lt;br /&gt;
|-&lt;br /&gt;
| 4472 || 10 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4482 || 2 || Fantastic ratings&lt;br /&gt;
|-&lt;br /&gt;
| 4484 || 140 || List of IDs for fantastic ratings. Every ID (Mii ID + MAC address) is 10 bytes -&amp;amp;gt; Space for 32 IDs.&lt;br /&gt;
|-&lt;br /&gt;
| 45C4 || E || Collected pieces of first/preinstalled 7 puzzles from Puzzle swap. 2 bytes per puzzle&lt;br /&gt;
|-&lt;br /&gt;
| 45D2 || 1 || Unused&lt;br /&gt;
|-&lt;br /&gt;
| 45D3 || 1B18 || Collected pieces of additional 102 downloadable puzzles. 0x44 bytes per puzzle for possible 540 pieces. See [https://tcrf.net/StreetPass_Mii_Plaza#540_Pieces_Puzzle https://tcrf.net/StreetPass_Mii_Plaza#540_Pieces_Puzzle]&lt;br /&gt;
|-&lt;br /&gt;
| 60EB || 1 || Unused&lt;br /&gt;
|-&lt;br /&gt;
| 60EC || 40 || 16 bit values to tell that Mii that it looks &#039;fantastic&#039;. Index corresponds to the IDs for fantastic ratings&lt;br /&gt;
|-&lt;br /&gt;
| 612C || 10 || Greeting emote for personal greetings. List is built from highest to lowest byte.&lt;br /&gt;
|-&lt;br /&gt;
| 613C || 10 || Greeting emote from received greetings.&lt;br /&gt;
|-&lt;br /&gt;
| 614C || 4 || Emote for default greeting&lt;br /&gt;
|-&lt;br /&gt;
| 6150 || 4 || Unknown/Unused&lt;br /&gt;
|-&lt;br /&gt;
| 6154 || 4 || Flags if StreetPass Game of Game Pack 1 has save data (0x1 = Battle; 0x2 = Garden; 0x4 = Mansion; 0x8 = Squad)&lt;br /&gt;
|-&lt;br /&gt;
| 6158 || E8 || [[StreetPass Mii Plaza#StreetPass Battle Statistics|StreetPass Battle Statistics]]&lt;br /&gt;
|-&lt;br /&gt;
| 6240 || 500 || [[StreetPass Mii Plaza#StreetPass Garden Statistics|StreetPass Garden Statistics]]&lt;br /&gt;
|-&lt;br /&gt;
| 6740 || 100 || [[StreetPass Mii Plaza#StreetPass Mansion Statistics|StreetPass Mansion Statistics]]&lt;br /&gt;
|-&lt;br /&gt;
| 6840 || 100 || [[StreetPass Mii Plaza#StreetPass Squad Statistics|StreetPass Squad Statistics]]&lt;br /&gt;
|-&lt;br /&gt;
| 6940 || 10 || Speech bubbles for personal greetings&lt;br /&gt;
|-&lt;br /&gt;
| 6950 || 10 || Speech bubbles for received greetings&lt;br /&gt;
|-&lt;br /&gt;
| 6960 || 1 || Speech bubble for default greeting&lt;br /&gt;
|-&lt;br /&gt;
| 6961 || 7 || Unknown/Unused&lt;br /&gt;
|-&lt;br /&gt;
| 6968 || 4 || Flags if StreetPass Game of Game Pack 2 has save data (0x1 = Fishing; 0x2 = Zombie)&lt;br /&gt;
|-&lt;br /&gt;
| 696C || 200 || [[StreetPass Mii Plaza#StreetPass Fishing Statistics|StreetPass Fishing Statistics]]&lt;br /&gt;
|-&lt;br /&gt;
| 6B6C || 200 || [[StreetPass Mii Plaza#StreetPass Zombies Statistics|StreetPass Zombies Statistics]]&lt;br /&gt;
|-&lt;br /&gt;
| 6D6C || 2 || Unknown (Has StreetPass Premium?)&lt;br /&gt;
|-&lt;br /&gt;
| 6D6E || 2 || Steps (Pedometer)&lt;br /&gt;
|-&lt;br /&gt;
| 6D70 || 4 || Flags if StreetPass Game of Game Pack 3 has save data (0x1 = Slot Racer; 0x2 = Trader)&lt;br /&gt;
|-&lt;br /&gt;
| 6D74 || 400 || [[StreetPass Mii Plaza#StreetPass Slot Racer Statistics|StreetPass Slot Racer Statistics]]&lt;br /&gt;
|-&lt;br /&gt;
| 7174 || 100 || [[StreetPass Mii Plaza#StreetPass Trader Statistics|StreetPass Trader Statistics]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Battle Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown (Type of Castle?)&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 4 || StreetPass Battle Army Size&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 18 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 4 || Type of first army third (Always 1; Infantry)&lt;br /&gt;
|-&lt;br /&gt;
| 24 || 4 || Number of infantry&lt;br /&gt;
|-&lt;br /&gt;
| 28 || 4 || Type of second army third (Always 2; Cavalry)&lt;br /&gt;
|-&lt;br /&gt;
| 2C || 4 || Number of cavalry&lt;br /&gt;
|-&lt;br /&gt;
| 30 || 4 || Type of third army third (Always 3; Archer)&lt;br /&gt;
|-&lt;br /&gt;
| 34 || 4 || Number of archers&lt;br /&gt;
|-&lt;br /&gt;
| 38 || 18 || Header of CFPB container&lt;br /&gt;
|-&lt;br /&gt;
| 50 || 70 || Encrypted Mii data for the top scorer in StreetPass Battle.&lt;br /&gt;
|-&lt;br /&gt;
| C0 || 18 || Footer of CFPB container&lt;br /&gt;
|-&lt;br /&gt;
| D8 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| DC || 4 || StreetPass Battle Top Scorer&#039;s score&lt;br /&gt;
|-&lt;br /&gt;
| E0 || 8 || Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Garden Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 2 || Invited Guests&lt;br /&gt;
|-&lt;br /&gt;
| A || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| C || 2 || Number of Journal Entries&lt;br /&gt;
|-&lt;br /&gt;
| E || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 1 || Unknown If not 0 or FF garden can be viewed&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 3 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 1C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 24 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 28 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 2C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 30 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 32 || 1 || Yaw of Leaf 1 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 33 || 1 || Pitch of Leaf 1 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 34 || 1 || Roll of Leaf 1 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 35 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 37 || 1 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 38 || 2 || Scale factor 1 of Leaf 1&lt;br /&gt;
|-&lt;br /&gt;
| 3A || 2 || Scale factor 2 of Leaf 1&lt;br /&gt;
|-&lt;br /&gt;
| 3C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 42 || 1 || Yaw of Leaf 2 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 43 || 1 || Pitch of Leaf 2 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 44 || 1 || Roll of Leaf 2 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 45 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 47 || 1 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 2 || Scale factor 1 of Leaf 2&lt;br /&gt;
|-&lt;br /&gt;
| 4A || 2 || Scale factor 2 of Leaf 2&lt;br /&gt;
|-&lt;br /&gt;
| 4C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 50 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 52 || 1 || Yaw of Leaf 3 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 53 || 1 || Pitch of Leaf 3 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 54 || 1 || Roll of Leaf 3 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 55 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 57 || 1 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 58 || 2 || Scale factor 1 of Leaf 3&lt;br /&gt;
|-&lt;br /&gt;
| 5A || 2 || Scale factor 2 of Leaf 3&lt;br /&gt;
|-&lt;br /&gt;
| 5C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 60 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 62 || 1 || Yaw of Leaf 4 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 63 || 1 || Pitch of Leaf 4 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 64 || 1 || Roll of Leaf 4 of currently equipped flower&lt;br /&gt;
|-&lt;br /&gt;
| 65 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 67 || 1 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 68 || 2 || Scale factor 1 of Leaf 4&lt;br /&gt;
|-&lt;br /&gt;
| 6A || 2 || Scale factor 2 of Leaf 4&lt;br /&gt;
|-&lt;br /&gt;
| 6C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 70 || 370 || Unknown (Probably further stats for the model of the flower)&lt;br /&gt;
|-&lt;br /&gt;
| 3E0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3E4 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3E8 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3EC || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3F0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 3F4 || 4 || Garden Index&lt;br /&gt;
|-&lt;br /&gt;
| 3F8 || 80 || 32 [[StreetPass Mii Plaza#Object|object]] entries with 4 bytes per entry for the viewable garden&lt;br /&gt;
|-&lt;br /&gt;
| 478 || 40 || 8 [[StreetPass Mii Plaza#Flower Data|flower data]]s for the placed flowers in the viewable garden. These are referenced by the slot index in the object entries.&lt;br /&gt;
|-&lt;br /&gt;
| 4B8 || 48 || Unknown/Unused&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Object====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || Slot index(if flower)/ID(if decoration) of object 1 (Bit 1-8; Least significant)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || Object ID of object 1 (Bit 1-4; Most significant); Type of object (Bit 5-8; 0=Flower, 1=Decoration, 2-15=Empty slot)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1 || Rotation of object 1 (no effect on decorations)&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 1 || Position/Slot in garden of object 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Flower Data====&lt;br /&gt;
These datas are referenced by the slot index from an object entry if the type is flower.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || Blossom shape&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || Color of petals&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1 || Leaf shape ID&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 1 || Stem structure ID&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 2 || Grow height/status (200 = fully grown)&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 1 || Pot of flower&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 1 || Flags: 0x01 show flower petals&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Mansion Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 2 || Maximum HP&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 2 || Highest Floor completed&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 8 || [[StreetPass Mii Plaza#Item Slot|Item Slot]] 1&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 8 || Item Slot 2&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 8 || Item Slot 3&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 8 || Item Slot 4&lt;br /&gt;
|-&lt;br /&gt;
| 28 || 8 || Item Slot 5&lt;br /&gt;
|-&lt;br /&gt;
| 30 || 8 || Item Slot 6&lt;br /&gt;
|-&lt;br /&gt;
| 38 || 8 || Item Slot 7&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 8 || Item Slot 8&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 2 || Number of item slots that have an item&lt;br /&gt;
|-&lt;br /&gt;
| 4A || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4C || 2 || Puzzle Box 1 Record Time (Divide by 10 to get the seconds as a decimal number)&lt;br /&gt;
|-&lt;br /&gt;
| 4E || 2 || Puzzle Box 2 Record Time &lt;br /&gt;
|-&lt;br /&gt;
| 50 || 2 || Puzzle Box 3 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 52 || 2 || Puzzle Box 4 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 54 || 2 || Puzzle Box 5 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 56 || 2 || Puzzle Box 6 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 58 || 2 || Puzzle Box 7 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 5A || 2 || Puzzle Box 8 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 5C || 2 || Puzzle Box 9 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 5E || 2 || Puzzle Box 10 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 60 || 2 || Puzzle Box 11 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 62 || 2 || Puzzle Box 12 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 64 || 2 || Puzzle Box 13 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 66 || 2 || Puzzle Box 14 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 68 || 2 || Puzzle Box 15 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 6A || 2 || Puzzle Box 16 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 6C || 2 || Puzzle Box 17 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 6E || 2 || Puzzle Box 18 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 70 || 2 || Puzzle Box 19 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 72 || 2 || Puzzle Box 20 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 74 || 2 || Puzzle Box 21 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 76 || 2 || Puzzle Box 22 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 78 || 2 || Puzzle Box 23 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 7A || 2 || Puzzle Box 24 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 7C || 2 || Puzzle Box 25 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 7E || 2 || Puzzle Box 26 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 80 || 2 || Puzzle Box 27 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 82 || 2 || Puzzle Box 28 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 84 || 2 || Puzzle Box 29 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 86 || 2 || Puzzle Box 30 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 88 || 2 || Puzzle Box 31 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 8A || 2 || Puzzle Box 32 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 8C || 2 || Puzzle Box 33 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 8E || 2 || Puzzle Box 34 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 90 || 2 || Puzzle Box 35 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 92 || 2 || Puzzle Box 36 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 94 || 2 || Puzzle Box 37 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 96 || 2 || Puzzle Box 38 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 98 || 2 || Puzzle Box 39 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 9A || 2 || Puzzle Box 40 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 9C || 2 || Puzzle Box 41 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| 9E || 2 || Puzzle Box 42 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| A0 || 2 || Puzzle Box 43 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| A2 || 2 || Puzzle Box 44 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| A4 || 2 || Puzzle Box 45 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| A6 || 2 || Puzzle Box 46 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| A8 || 2 || Puzzle Box 47 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| AA || 2 || Puzzle Box 48 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| AC || 2 || Puzzle Box 49 Record Time&lt;br /&gt;
|-&lt;br /&gt;
| AE || 2 || Puzzle Box 50 Record Time&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Item Slot====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || Item Type (0 = Weapon; 1 = Usable Item; 2 = Passive Item)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || Item ID&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2 || Current Experience&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 1 || Skill ID of Weapon&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 1 || Skill Level&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 1 || Max Level of Weapon&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 1 || Current Level of Weapon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Squad Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 2 || Current title&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 4 || Arcade Mode Normal Highscore&lt;br /&gt;
|-&lt;br /&gt;
| C || 2 || Level reached in Arcade Mode Normal (-1 if beaten)&lt;br /&gt;
|-&lt;br /&gt;
| E || 2 || Level reached in Arcade Mode Normal&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 4 || Arcade Mode Hard Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 2 || Level reached in Arcade Mode Hard&lt;br /&gt;
|-&lt;br /&gt;
| 16 || 2 || Level reached in Arcade Mode Hard (?)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 4 || 1-1 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 1C || 4 || 1-2 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 4 || 1-3 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 24 || 4 || 2-1 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 28 || 4 || 2-2 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 2C || 4 || 2-3 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 30 || 4 || 3-1 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 34 || 4 || 3-2 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 38 || 4 || 3-3 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 3C || 4 || 4-1 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 4 || 4-2 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 44 || 4 || 4-3 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 4 || 5-1 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 4C || 4 || 5-2 Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 50 || 4 || 5-3 Highscore&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Fishing Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| C || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 2 || Index number of mysterious fish (e.g. 0xA0 for Giant Squid, 0xFFFF for no fish)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 2 || Remaining stamina of mysterious fish (divided by 100)&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 1 || Index of island where mysterious fish where failed to be catched&lt;br /&gt;
|-&lt;br /&gt;
| 15 || 1 || Index of fishing spot where mysterious  fish where failed to be catched&lt;br /&gt;
|-&lt;br /&gt;
| 16 || 2 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 1C || 4 || Catches&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 4 || Catched Species&lt;br /&gt;
|-&lt;br /&gt;
| 24 || 2 || Record of Sardine&#039;s size (multiplied with factor 0.0013)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Zombies Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 4 || CRC32 of the 0x200 bytes in this statistic with this field being 0&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 4 || Station Highscrore&lt;br /&gt;
|-&lt;br /&gt;
| C || 4 || Hospital Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 4 || Car Park Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 4 || Back Alley Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 4 || Stadium Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 1C || 4 || Stadium Showdown Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 4 || Mall Entrance Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 24 || 4 || Mall Walkway Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 28 || 4 || Mall Plaza Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 2C || 4 || Warehouse Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 30 || 4 || Food Court Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 34 || 4 || Food Court Showdown Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 38 || 4 || Suburb Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 3C || 4 || Construction Site Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 4 || Gas Station Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 44 || 4 || Highway Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 4 || Cornfield Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 4C || 4 || Suburb Showdown Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 50 || 4 || Tunnel Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 54 || 4 || Graveyard Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 58 || 4 || Power Plant Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 5C || 4 || Hydroelectric Dam Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 60 || 4 || Reservior Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 64 || 4 || Graveyard Showdown Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 68 || 4 || Research Center Entrance Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 6C || 4 || Slime Center Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 70 || 4 || Laboratory Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 74 || 4 || Elevator Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 78 || 4 || Rooftop Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 7C || 4 || Rooftop Showdown Highscore&lt;br /&gt;
|-&lt;br /&gt;
| 80 || 180 || Unknown/Unused&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Slot Racer Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 4 || CRC32 of the 0x400 bytes in this statistic with this field being 0&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| C || DC || Unknown Probably Custom Car&lt;br /&gt;
|-&lt;br /&gt;
| E8 || 1 || Record minutes of Smooth Circuit&lt;br /&gt;
|-&lt;br /&gt;
| E9 || 1 || Record seconds of Smooth Circuit&lt;br /&gt;
|-&lt;br /&gt;
| EA || 1 || Record hundredth of Smooth Circuit&lt;br /&gt;
|-&lt;br /&gt;
| EB || 1 || Record minutes of Fairytale Glade&lt;br /&gt;
|-&lt;br /&gt;
| EC || 1 || Record seconds of Fairytale Glade&lt;br /&gt;
|-&lt;br /&gt;
| ED || 1 || Record hundredth of Fairytale Glade&lt;br /&gt;
|-&lt;br /&gt;
| EE || 1 || Record minutes of Rolling Mountain&lt;br /&gt;
|-&lt;br /&gt;
| EF || 1 || Record seconds of Rolling Mountain&lt;br /&gt;
|-&lt;br /&gt;
| F0 || 1 || Record hundredth of Rolling Mountain&lt;br /&gt;
|-&lt;br /&gt;
| F1 || 1 || Record minutes of Smooth Night Circuit&lt;br /&gt;
|-&lt;br /&gt;
| F2 || 1 || Record seconds of Smooth Night Circuit&lt;br /&gt;
|-&lt;br /&gt;
| F3 || 1 || Record hundredth of Smooth Night Circuit&lt;br /&gt;
|-&lt;br /&gt;
| F4 || 1 || Record minutes of Autumn Fairytale&lt;br /&gt;
|-&lt;br /&gt;
| F5 || 1 || Record seconds of Autumn Fairytale&lt;br /&gt;
|-&lt;br /&gt;
| F6 || 1 || Record hundredth of Autumn Fairytale&lt;br /&gt;
|-&lt;br /&gt;
| F7 || 1 || Record minutes of Isle O&#039;Thrills&lt;br /&gt;
|-&lt;br /&gt;
| F8 || 1 || Record seconds of Isle O&#039;Thrills&lt;br /&gt;
|-&lt;br /&gt;
| F9 || 1 || Record hundredth of Isle O&#039;Thrills&lt;br /&gt;
|-&lt;br /&gt;
| FA || 1 || Record minutes of Boom Town Streets&lt;br /&gt;
|-&lt;br /&gt;
| FB || 1 || Record seconds of Boom Town Streets&lt;br /&gt;
|-&lt;br /&gt;
| FC || 1 || Record hundredth of Boom Town Streets&lt;br /&gt;
|-&lt;br /&gt;
| FD || 1 || Record minutes of Desert Whirl&lt;br /&gt;
|-&lt;br /&gt;
| FE || 1 || Record seconds of Desert Whirl&lt;br /&gt;
|-&lt;br /&gt;
| FF || 1 || Record hundredth of Desert Whirl&lt;br /&gt;
|-&lt;br /&gt;
| 100 || 1 || Record minutes of Sunset Isle O&#039;Thrills&lt;br /&gt;
|-&lt;br /&gt;
| 101 || 1 || Record seconds of Sunset Isle O&#039;Thrills&lt;br /&gt;
|-&lt;br /&gt;
| 102 || 1 || Record hundredth of Sunset Isle O&#039;Thrills&lt;br /&gt;
|-&lt;br /&gt;
| 103 || 1 || Record minutes of Boom Town Nightlife&lt;br /&gt;
|-&lt;br /&gt;
| 104 || 1 || Record seconds of Boom Town Nightlife&lt;br /&gt;
|-&lt;br /&gt;
| 105 || 1 || Record hundredth of Boom Town Nightlife&lt;br /&gt;
|-&lt;br /&gt;
| 106 || 1 || Record minutes of Sugar Dash!&lt;br /&gt;
|-&lt;br /&gt;
| 107 || 1 || Record seconds of Sugar Dash!&lt;br /&gt;
|-&lt;br /&gt;
| 108 || 1 || Record hundredth of Sugar Dash!&lt;br /&gt;
|-&lt;br /&gt;
| 109 || 1 || Record minutes of Soaring Skyway&lt;br /&gt;
|-&lt;br /&gt;
| 10A || 1 || Record seconds of Soaring Skyway&lt;br /&gt;
|-&lt;br /&gt;
| 10B || 1 || Record hundredth of Soaring Skyway&lt;br /&gt;
|-&lt;br /&gt;
| 10C || 1 || Record minutes of Dizzy Woods&lt;br /&gt;
|-&lt;br /&gt;
| 10D || 1 || Record seconds of Dizzy Woods&lt;br /&gt;
|-&lt;br /&gt;
| 10E || 1 || Record hundredth of Dizzy Woods&lt;br /&gt;
|-&lt;br /&gt;
| 10F || 1 || Record minutes of Dinner Dash!&lt;br /&gt;
|-&lt;br /&gt;
| 110 || 1 || Record seconds of Dinner Dash!&lt;br /&gt;
|-&lt;br /&gt;
| 111 || 1 || Record hundredth of Dinner Dash!&lt;br /&gt;
|-&lt;br /&gt;
| 112 || 1 || Record minutes of Stormy Skyway&lt;br /&gt;
|-&lt;br /&gt;
| 113 || 1 || Record seconds of Stormy Skyway&lt;br /&gt;
|-&lt;br /&gt;
| 114 || 1 || Record hundredth of Stormy Skyway&lt;br /&gt;
|-&lt;br /&gt;
| 115 || 1 || Record minutes of Sundown at Rolling Mountain&lt;br /&gt;
|-&lt;br /&gt;
| 116 || 1 || Record seconds of Sundown at Rolling Mountain&lt;br /&gt;
|-&lt;br /&gt;
| 117 || 1 || Record hundredth of Sundown at Rolling Mountain&lt;br /&gt;
|-&lt;br /&gt;
| 118 || 1 || Record minutes of Starry Desert Whirl&lt;br /&gt;
|-&lt;br /&gt;
| 119 || 1 || Record seconds of Starry Desert Whirl&lt;br /&gt;
|-&lt;br /&gt;
| 11A || 1 || Record hundredth of Starry Desert Whirl&lt;br /&gt;
|-&lt;br /&gt;
| 11B || 1 || Record minutes of Deep Dark Dizzy Woods&lt;br /&gt;
|-&lt;br /&gt;
| 11C || 1 || Record seconds of Deep Dark Dizzy Woods&lt;br /&gt;
|-&lt;br /&gt;
| 11D || 1 || Record hundredth of Deep Dark Dizzy Woods&lt;br /&gt;
|-&lt;br /&gt;
| 11E || 1 || Record minutes of Outer Space&lt;br /&gt;
|-&lt;br /&gt;
| 11F || 1 || Record seconds of Outer Space&lt;br /&gt;
|-&lt;br /&gt;
| 120 || 1 || Record hundredth of Outer Space&lt;br /&gt;
|-&lt;br /&gt;
| 121 || 6 || Unknown/Maybe record time of 2 unreleased tracks&lt;br /&gt;
|-&lt;br /&gt;
| 127 || 3F || Previous record time of tracks(?)&lt;br /&gt;
|-&lt;br /&gt;
| 166 || 2A || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 190 || 13 || Type of booster used for the record time (0 = grey; 1 = blue; 2 = gold)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===StreetPass Trader Statistics===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset !! Length !! Desciption&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 8 || Current amount of &lt;br /&gt;
|-&lt;br /&gt;
| 10 || 4 || Cummulative number of Day Tradings&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 4 || Number of Day Trades of Piece-by-Piece Deliveries&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 4 || Number of Day Trades of Kingfinder Studios&lt;br /&gt;
|-&lt;br /&gt;
| 1C || 4 || Number of Day Trades of Leisura Aerospace&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 4 || Number of Day Trades of Sparkleseed Landscaping&lt;br /&gt;
|-&lt;br /&gt;
| 24 || 4 || Number of Day Trades of Conqueror Construction&lt;br /&gt;
|-&lt;br /&gt;
| 28 || 4 || Number of Day Trades of Arzodius Research Labs&lt;br /&gt;
|-&lt;br /&gt;
| 2C || 4 || Number of Day Trades of Poseidon Island Fisheries&lt;br /&gt;
|-&lt;br /&gt;
| 30 || 4 || Number of Day Trades of Hobbiville Pharmaceuticals&lt;br /&gt;
|-&lt;br /&gt;
| 34 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 38 || 4 || Highest profit per second in Piece-by-Piece Deliveries&lt;br /&gt;
|-&lt;br /&gt;
| 40 || 4 || Highest profit per second in Kingfinder Studios&lt;br /&gt;
|-&lt;br /&gt;
| 48 || 4 || Highest profit per second in Leisura Aerospace&lt;br /&gt;
|-&lt;br /&gt;
| 50 || 4 || Highest profit per second in Sparkleseed Landscaping&lt;br /&gt;
|-&lt;br /&gt;
| 58 || 4 || Highest profit per second in Conqueror Construction&lt;br /&gt;
|-&lt;br /&gt;
| 60 || 4 || Highest profit per second in Arzodius Research Labs&lt;br /&gt;
|-&lt;br /&gt;
| 68 || 4 || Highest profit per second in Poseidon Island Fisheries&lt;br /&gt;
|-&lt;br /&gt;
| 70 || 4 || Highest profit per second in Hobbiville Pharmaceuticals&lt;br /&gt;
|-&lt;br /&gt;
| 78 || 4 || Profit/loss in Piece-by-Piece Deliveries&lt;br /&gt;
|-&lt;br /&gt;
| 80 || 4 || Profit/loss in Kingfinder Studios&lt;br /&gt;
|-&lt;br /&gt;
| 88 || 4 || Profit/loss in Leisura Aerospace&lt;br /&gt;
|-&lt;br /&gt;
| 90 || 4 || Profit/loss in Sparkleseed Landscaping&lt;br /&gt;
|-&lt;br /&gt;
| 98 || 4 || Profit/loss in Conqueror Construction&lt;br /&gt;
|-&lt;br /&gt;
| A0 || 4 || Profit/loss in Arzodius Research Labs&lt;br /&gt;
|-&lt;br /&gt;
| A8 || 4 || Profit/loss in Poseidon Island Fisheries&lt;br /&gt;
|-&lt;br /&gt;
| B0 || 4 || Profit/loss in Hobbiville Pharmaceuticals&lt;br /&gt;
|-&lt;br /&gt;
| B8 || 4 || Unknown&lt;br /&gt;
|-&lt;br /&gt;
| BC || 44 || Unknown/Unused&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=CECD_Savegame&amp;diff=23619</id>
		<title>CECD Savegame</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=CECD_Savegame&amp;diff=23619"/>
		<updated>2025-07-20T18:08:38Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: Wikitable class added to tables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;cec-system-save-00010026-format&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== CEC System Save (00010026) Format ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Folder and files                         `CecDataPathType`&lt;br /&gt;
[Root]&lt;br /&gt;
├── eventlog.dat&lt;br /&gt;
└── CEC                                  10&lt;br /&gt;
    ├── MacFilter___&lt;br /&gt;
    ├── MBoxList____                     1&lt;br /&gt;
    ├── &amp;amp;lt;8-digit ID&amp;amp;gt;                     11&lt;br /&gt;
    │   ├── MBoxInfo____                 2&lt;br /&gt;
    │   ├── MBoxData.001                 101&lt;br /&gt;
    │   ├── MBoxData.010                 110&lt;br /&gt;
    │   ├── MBoxData.050                 150&lt;br /&gt;
    │   ├── MBoxData.&amp;amp;lt;3-digit number&amp;amp;gt;    100 + &amp;amp;lt;number&amp;amp;gt;&lt;br /&gt;
    │   ├── ...&lt;br /&gt;
    │   ├── InBox___                     12&lt;br /&gt;
    │   │   ├── BoxInfo_____             3&lt;br /&gt;
    │   │   ├── _&amp;amp;lt;12-char ID&amp;amp;gt;            6&lt;br /&gt;
    │   │   └── ...&lt;br /&gt;
    │   └── OutBox__                     13&lt;br /&gt;
    │       ├── BoxInfo_____             4&lt;br /&gt;
    │       ├── OBIndex_____             5&lt;br /&gt;
    │       ├── _&amp;amp;lt;12-char ID&amp;amp;gt;            7&lt;br /&gt;
    │       └── ...&lt;br /&gt;
    ├── &amp;amp;lt;8-digit ID&amp;amp;gt;&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-mboxlist____&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== File &amp;lt;code&amp;gt;MBoxList____&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 2&lt;br /&gt;
| Magic 0x6868&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Version? always 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 4&lt;br /&gt;
| Number of boxes&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C&lt;br /&gt;
| 16 * 24&lt;br /&gt;
| List of box name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each box name is 16-char long. However, due to the fact that box name is usually a 8-digit ID, the rest of 8 chars are always null characters. Unused box names are filled with null characters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-mboxinfo____&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== File &amp;lt;code&amp;gt;MBoxInfo____&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 2&lt;br /&gt;
| Magic 0x6363&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Title ID (matches the box directory name)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 4&lt;br /&gt;
| Private ID?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C&lt;br /&gt;
| 1&lt;br /&gt;
| Flags?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0D&lt;br /&gt;
| 1&lt;br /&gt;
| Flags?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0E&lt;br /&gt;
| 2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 32&lt;br /&gt;
| HMAC Key&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 4&lt;br /&gt;
| Zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 12&lt;br /&gt;
| Timestamp when last accessed&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 1&lt;br /&gt;
| Display New Notification Dot&lt;br /&gt;
|-&lt;br /&gt;
| 0x41&lt;br /&gt;
| 1&lt;br /&gt;
| Flag?&lt;br /&gt;
|-&lt;br /&gt;
| 0x42&lt;br /&gt;
| 1&lt;br /&gt;
| Flag?&lt;br /&gt;
|-&lt;br /&gt;
| 0x43&lt;br /&gt;
| 1&lt;br /&gt;
| Flag?&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| 12&lt;br /&gt;
| Timestamp when last received&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| 16&lt;br /&gt;
| Zero?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: - &amp;lt;code&amp;gt;Private ID&amp;lt;/code&amp;gt; seems to be a number chosen by application arbitrarily, possibly for verification. Magic numbers such as 0x00000000, 0x00000001, 0xFFFFFFFF, 0xAABBCCDD and other random numbers have been observed here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-mboxdata.3-digit-number&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== File &amp;lt;code&amp;gt;MBoxData.&amp;amp;lt;3-digit number&amp;amp;gt;&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-mboxdata.001&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== File &amp;lt;code&amp;gt;MBoxData.001&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Icon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-mboxdata.010&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== File &amp;lt;code&amp;gt;MBoxData.010&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
This is the game title in null-terminated UTF-16 string.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-mboxdata.050&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== File &amp;lt;code&amp;gt;MBoxData.050&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
This is 8-byte file containing the title ID.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-boxinfo_____&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== File &amp;lt;code&amp;gt;BoxInfo_____&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
This file consists of a 0x20-byte header, and an array of 0x70-byte entry. Each entry is a copy of the message header. See the next section for the message header format. The box info header format is&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 2&lt;br /&gt;
| Magic 0x6262&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Size of this file&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 4&lt;br /&gt;
| Maximum box size&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C&lt;br /&gt;
| 4&lt;br /&gt;
| Current box size&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 4&lt;br /&gt;
| Maximum message count&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 4&lt;br /&gt;
| Current message count / the size of the following array&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 4&lt;br /&gt;
| Maximum batch size&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 4&lt;br /&gt;
| Maximum message size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-_12-char-id&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== File &amp;lt;code&amp;gt;_&amp;amp;lt;12-char ID&amp;amp;gt;&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Each such file is a message. The ID in the file name is the message ID encoded in base-64. A message file consists of a 0x70-byte header, several extra header, a message body, and a 0x20-byte HMAC(?).&lt;br /&gt;
&lt;br /&gt;
The header format is&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 2&lt;br /&gt;
| Magic 0x6060&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Message size&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 4&lt;br /&gt;
| Header + extra headers size&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C&lt;br /&gt;
| 4&lt;br /&gt;
| Body size&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 4&lt;br /&gt;
| Title ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 4&lt;br /&gt;
| Title ID 2?&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 4&lt;br /&gt;
| Batch ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 4&lt;br /&gt;
| ? ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Message ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 4&lt;br /&gt;
| Message version?&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| 8&lt;br /&gt;
| Message ID 2 (reply-to message id in an exchange)&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 1&lt;br /&gt;
| Flags&lt;br /&gt;
|-&lt;br /&gt;
| 0x35&lt;br /&gt;
| 1&lt;br /&gt;
| Send method&lt;br /&gt;
|-&lt;br /&gt;
| 0x36&lt;br /&gt;
| 1&lt;br /&gt;
| Is unopen&lt;br /&gt;
|-&lt;br /&gt;
| 0x37&lt;br /&gt;
| 1&lt;br /&gt;
| Is new&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 8&lt;br /&gt;
| Sender ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 8&lt;br /&gt;
| Sender ID 2?&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 12&lt;br /&gt;
| Timestamp when sent&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 12&lt;br /&gt;
| Timestamp when received&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| 12&lt;br /&gt;
| Timestamp when created&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C&lt;br /&gt;
| 1&lt;br /&gt;
| Send count&lt;br /&gt;
|-&lt;br /&gt;
| 0x6D&lt;br /&gt;
| 1&lt;br /&gt;
| Forward count&lt;br /&gt;
|-&lt;br /&gt;
| 0x6E&lt;br /&gt;
| 2&lt;br /&gt;
| User data&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each extra header has a format of&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Header type&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Data size&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| Data size&lt;br /&gt;
| Header data&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header type can be one of the follows:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Icon&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Game name&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Info text&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Region?&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=System_SaveData&amp;diff=23616</id>
		<title>System SaveData</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=System_SaveData&amp;diff=23616"/>
		<updated>2025-07-07T19:35:35Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: Link to CECD savegame page added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Savegames stored in NAND are located at [[Flash_Filesystem|nand:/data/&amp;lt;ID0&amp;gt;/sysdata/&amp;lt;SaveID-Low&amp;gt;/&amp;lt;SaveID-High&amp;gt;]], where SaveID-High is the filename. SaveID-High is normally 00000000.&lt;br /&gt;
&lt;br /&gt;
Access to system savedata via [[Filesystem_services|fs:USER]] is determined by the [[NCCH#CXI|exheader_storageinfo]] accessinfo and systemsavedataid. Most ARM11 processes using fs:USER only have access to the SaveIDs specified by systemsavedataid, when a certain accessinfo bit is set the process can access all system-savedata however. The 8-byte systemsavedataid is two SaveID-Low words which the process has access to, normally only the first word is used. When the process doesn&#039;t have access to any system-savedata via systemsavedataid, systemsavedataid is all-zero.&lt;br /&gt;
&lt;br /&gt;
=NAND Savegames=&lt;br /&gt;
The SaveID for system modules is usually 0x00010000 | [[Titles|uniqueID]]. The SaveID for other system processes (like applications) is 0x00020000 | [[Titles|uniqueID]].&lt;br /&gt;
&lt;br /&gt;
==System Module Savegames==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SaveID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0001000F&lt;br /&gt;
| [[Filesystem_services|FS]] module savedata, used for [[Filesystem_services#SEEDDB|SEEDDB]] and [[Filesystem_services#TITLETAG_Database|TITLETAG]] storage.&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010011&lt;br /&gt;
| [[Filesystem_services|FS]] module savedata, used for [[Filesystem_services#Anti_Savegame_Restore|Anti Savegame Restore]].&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010015&lt;br /&gt;
| [[Application_Manager_Services|AM]] module savedata&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010017&lt;br /&gt;
| [[Config Savegame]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010022&lt;br /&gt;
| [[PTM]] [[PTM_Savegame|savegame]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010026&lt;br /&gt;
| [[StreetPass|CECD]] [[CECD Savegame|savegame]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x0001002C&lt;br /&gt;
| [[NIM_Services|NIM]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010032&lt;br /&gt;
| [[FRD_Savegame|Friends module savegame]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010034&lt;br /&gt;
| [[SpotPass|BOSS]] module [[BOSS Savegame|savegame]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010035&lt;br /&gt;
| News module savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010038&lt;br /&gt;
| Act module savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010040&lt;br /&gt;
| [[NFC_Services|NFC]] module savegame&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==System application and applet savegames==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! JPN SaveID&lt;br /&gt;
! USA SaveID&lt;br /&gt;
! EUR SaveID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000200C5&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| &amp;quot;error&amp;quot; applet savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020082&lt;br /&gt;
| 0x0002008F&lt;br /&gt;
| 0x00020098&lt;br /&gt;
| [[Home Menu]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020086&lt;br /&gt;
| 0x00020092&lt;br /&gt;
| 0x0002009B&lt;br /&gt;
| Instruction Manual applet savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020087&lt;br /&gt;
| 0x00020093&lt;br /&gt;
| 0x0002009C&lt;br /&gt;
| Game Notes applet savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020088&lt;br /&gt;
| 0x00020094&lt;br /&gt;
| 0x0002009D&lt;br /&gt;
| Old3DS/New3DS [[Internet Browser]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x0002008D&lt;br /&gt;
| 0x00020096&lt;br /&gt;
| 0x0002009F&lt;br /&gt;
| Friend List applet savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x000200BB&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| Additional savedata for the New3DS [[Internet Browser]]. This only contains &amp;quot;t.bin&amp;quot; with filesize 0xadf80. This contains all browser history: each entry has the URL, UTF-16 title string, and icon gfx. This includes old pages which are not currently open in the browser as tabs?&lt;br /&gt;
|-&lt;br /&gt;
| 0x000200BC&lt;br /&gt;
| 0x000200BD&lt;br /&gt;
| 0x000200BE&lt;br /&gt;
| olv applet savegame (Miiverse)&lt;br /&gt;
|-&lt;br /&gt;
| 0x000200C6&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| mint applet savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020200&lt;br /&gt;
| 0x00020210&lt;br /&gt;
| 0x00020220&lt;br /&gt;
| [[System Settings]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020202&lt;br /&gt;
| 0x00020212&lt;br /&gt;
| 0x00020222&lt;br /&gt;
| [[Activity Log]] application savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020204&lt;br /&gt;
| 0x00020214&lt;br /&gt;
| 0x00020224&lt;br /&gt;
| [[Nintendo 3DS Camera]] application savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020205&lt;br /&gt;
| 0x00020215&lt;br /&gt;
| 0x00020225&lt;br /&gt;
| [[Nintendo 3DS Sound]] application savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020207&lt;br /&gt;
| 0x00020217&lt;br /&gt;
| 0x00020227&lt;br /&gt;
| [[Mii Maker]] application savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020208&lt;br /&gt;
| 0x00020218&lt;br /&gt;
| 0x00020228&lt;br /&gt;
| [[StreetPass Mii Plaza]] application savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020209&lt;br /&gt;
| 0x00020219&lt;br /&gt;
| 0x00020229&lt;br /&gt;
| [[eShop]] application savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x0002020A&lt;br /&gt;
| 0x0002021A&lt;br /&gt;
| 0x0002022A&lt;br /&gt;
| [[System Transfer]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x0002020B&lt;br /&gt;
| 0x0002021B&lt;br /&gt;
| 0x0002022B&lt;br /&gt;
| [[Nintendo Zone]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x0002020D&lt;br /&gt;
| 0x0002021D&lt;br /&gt;
| 0x0002022D&lt;br /&gt;
| [[Face Raiders]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x0002020E&lt;br /&gt;
| 0x0002021E&lt;br /&gt;
| 0x0002022E&lt;br /&gt;
| [[AR Games]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x000202BF&lt;br /&gt;
| 0x000202C0&lt;br /&gt;
| 0x000202C1&lt;br /&gt;
| act (NNID settings) application savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020231&lt;br /&gt;
| 0x00020241&lt;br /&gt;
| 0x00020251&lt;br /&gt;
| [[microSD Management]] application savegame&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22587</id>
		<title>SpotPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22587"/>
		<updated>2024-07-03T11:45:08Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* Payload Content Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;SpotPass&#039;&#039;&#039; is a Nintendo 3DS feature that allows the 3DS to automatically download content, notifications, and software when it&#039;s in standby mode.(SpotPass may download/upload some content while the 3DS is in &amp;quot;active&amp;quot; mode, but *only* if the currently active app uses SpotPass) SpotPass can upload content as well. Software downloaded with SpotPass is stored on SD card.&lt;br /&gt;
&lt;br /&gt;
SpotPass Internet communications are mostly HTTPS transfers.&lt;br /&gt;
&lt;br /&gt;
In System Settings, you can disable SpotPass automatic title downloading, but it states that important software will still downloaded.(This only disables downloading of free titles via SpotPass)&lt;br /&gt;
&lt;br /&gt;
&#039;nasc.nintendowifi.net&#039; confirmed usages:(not SpotPass related)&lt;br /&gt;
&lt;br /&gt;
*Friends List applet requires this server to be &#039;Online&#039; (most likely the reason for regular requests to this server)&lt;br /&gt;
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.&lt;br /&gt;
&lt;br /&gt;
In some cases the BOSS module will add the following URL parameter to HTTPS requests, when connected to a [[Nintendo Zone]] AP: &amp;quot;ap=&amp;lt;NZoneApNum&amp;gt;&amp;quot; or when using a specific [[Cfg:GetSystemModel|system model]]: &amp;quot;tm=&amp;lt;SystemModelNumber&amp;gt;&amp;quot;. The Old 3DS and Old 3DS XL don&#039;t set this value.&lt;br /&gt;
&lt;br /&gt;
== policylist ==&lt;br /&gt;
Every time the system connects to the wifi AP, the BOSS (&amp;quot;Background online storage service&amp;quot; = SpotPass) module itself will download the cleartext xml policylist: &amp;quot;https://nppl.c.app.nintendowifi.net/p01/policylist/3/&amp;lt;countrycode&amp;gt;&amp;quot;. This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all.&lt;br /&gt;
&lt;br /&gt;
As of the policylist updated 2017-11-08, this stops the &amp;lt;tt&amp;gt;OlvNotf&amp;lt;/tt&amp;gt; (Miiverse notification sync) task for &amp;lt;tt&amp;gt;000400300000bc00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000bd00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000be00&amp;lt;/tt&amp;gt; for all regions and &amp;lt;tt&amp;gt;basho0&amp;lt;/tt&amp;gt; for the [[Home Menu]]. Japan also has the &amp;lt;tt&amp;gt;9ER_NTD&amp;lt;/tt&amp;gt; task blocked for いつの間にテレビ (&amp;lt;tt&amp;gt;0004000000034700&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== User Agent ==&lt;br /&gt;
&lt;br /&gt;
The default user-agent used for SpotPass HTTPS requests (including the policylist) has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;user agent codename&amp;gt;-&amp;lt;user agent version&amp;gt;/&amp;lt;printed hex u64 [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]]&amp;gt;-&amp;lt;printed hex u64 [[FRDU:GetMyFriendKey|Friend]] [[FRDU:PrincipalIdToFriendCode|Code]]&amp;gt;/&amp;lt;text [[CVer|system]] [[NVer|version]]&amp;gt;/&amp;lt;CTRSDK version of sysmodule&amp;gt;/&amp;lt;[[Cfg:GetSystemModel|system model number]]&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The codename can be set to either &amp;lt;tt&amp;gt;PBOS&amp;lt;/tt&amp;gt; (Production BOSS?) or &amp;lt;tt&amp;gt;DBOS&amp;lt;/tt&amp;gt; (Development BOSS?) depending if the console is a [[Configuration_Memory#UNITINFO|retail]] unit. As of system version 11.17, the user agent version is hardcoded to 8.0 and the CTRSDK version is set to 62452 (0xF3F4).&lt;br /&gt;
&lt;br /&gt;
No user-agent is used for plaintext HTTP requests with SpotPass.&lt;br /&gt;
&lt;br /&gt;
== Titles Spotpass usage ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Title&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Home Menu]]&lt;br /&gt;
| Home Menu uses SpotPass for system notifications, and for uploading data from home-menu shared extdata.&lt;br /&gt;
|-&lt;br /&gt;
| [[System Settings]]&lt;br /&gt;
| System Settings uses SpotPass for uploading data, with this URL: https://npul.c.app.nintendowifi.net/p01/recv/&amp;lt;RegionID&amp;gt;/sendcfg This RegionID is separate from the RegionIDs home-menu uses.&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| Unknown log data is uploaded with this URL: https://logus-p.est.c.app.nintendowifi.net/LogServer_us_live/Upload&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Automatic System Update Download ==&lt;br /&gt;
See [[Automatic System Update Download]].&lt;br /&gt;
&lt;br /&gt;
== BOSS Sysmodule Savegame==&lt;br /&gt;
See [[BOSS Savegame]]&lt;br /&gt;
&lt;br /&gt;
== Content Container ==&lt;br /&gt;
&lt;br /&gt;
SpotPass content must use this container to encrypt the payload and sign it, for content downloads. The cleartext content is stored in [[extdata]]. The format of these headers is big-endian.&lt;br /&gt;
&lt;br /&gt;
=== BOSS Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number &amp;quot;boss&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number 0x10001&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Big-endian filesize&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x8&lt;br /&gt;
| u64 serial number (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x2&lt;br /&gt;
| Must always be 0x1&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header hash type, always 0x2 for SHA-256&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header RSA size, always 0x2 for RSA-2048 (X&amp;lt;&amp;lt;7)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xC&lt;br /&gt;
| First 12 bytes of the Initialization Vector (IV)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Data following the BOSS header is encrypted with AES-CTR. The AES key that is used is stored in [[AES_Registers#Keyslots|keyslot 0x38]]. The first 12 bytes of the IV are from offset 0x1C of the header, while the last 32-bit integer of the IV in big-endian is 0x1. The IV from the header is random per file, and an unique random IV is used each time the content is updated. The cleartext data begins with the content header.&lt;br /&gt;
&lt;br /&gt;
The 64-bit number at 0xC may be a serial number which is increased every time someone requested to sign and create a boss container for a file. The 3DS sees the downloaded file as new if this number is different from the previous download (Doesn&#039;t matter if the number is bigger or smaller).&lt;br /&gt;
&lt;br /&gt;
The boss system module v13314 begins at address 0x0010eb98 with the function for parsing the BOSS header.&lt;br /&gt;
&lt;br /&gt;
=== Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x10&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x2&lt;br /&gt;
| Number of payload contents (Payload Content Header + Payload)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x32&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the above hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 0x10-bytes are all-zero except the first byte which is usually 0x80. It&#039;s unknown what the first 0x10-bytes are used for.&lt;br /&gt;
&lt;br /&gt;
The 16-bit value at 0x10 tells how many payload contents follow after this the content header. For example there can be a downloaded file for a game followed by a message for the news system module.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory.&lt;br /&gt;
&lt;br /&gt;
=== Payload Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x8&lt;br /&gt;
| ProgramID&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content datatype, used for filtering with [[BOSSU:GetNsDataIdList]].&lt;br /&gt;
Usually 0x10001? (observed 0x20001 in eShop strings)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Size of the payload after this header&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| [[BOSS_Services|NsDataId]], used for generating the extdata filepath.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Probably some version field for the payload&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the previous SHA-256 hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This signature is signed by Nintendo with the same key-pair as the content header.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x1C hashes the 0x1C-byte data at offset 0x0 followed by a zero u16, followed by all of the remaining cleartext data following this header(the actual content data).&lt;br /&gt;
&lt;br /&gt;
The downloaded boss data is written in the following format to extdata. The file name that is generated might be Base85/Ascii85 encoded.&lt;br /&gt;
First an extdata header in the following format&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x1&lt;br /&gt;
| Size of header including this field. Always 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xB&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Download date in format: Bit 0-5 = day, Bit 6-9 = month, Bit 10-20 = year&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero? Padding?&lt;br /&gt;
|}&lt;br /&gt;
Followed by the Payload Content Header without the hash and signature (first 0x1C bytes) and the actual payload.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
* [http://wiiucodes.ddnss.eu/tools/BossDecryptor3DS.zip BossDecryptor3DS] Decrypts an encrypted boss container&lt;br /&gt;
* [http://wiiucodes.ddnss.eu/tools/BossEncryptor3DS.zip BossEncryptor3DS] Builds and encrypts a file into a boss container&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=StreetPass&amp;diff=22578</id>
		<title>StreetPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=StreetPass&amp;diff=22578"/>
		<updated>2024-06-08T17:44:57Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* StreetPass Relay */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;StreetPass&#039;&#039;&#039; is a feature that allows your 3DS to connect with other 3DS consoles using WiFi in standby mode.&lt;br /&gt;
It can be used to share Mii(s) on Mii Plaza for example. Applications&#039; StreetPass data are stored in the CECD module&#039;s NAND savegame, applications can move received StreetPass data to an arbitrary savegame. Wifi infrastructure with APs are used to communicate where the data-frames are encrypted with WPA2 CCMP, like [[NWM_Services|UDS]]/[[Download Play]].&lt;br /&gt;
&lt;br /&gt;
== WiFi Probe Request Frame ==&lt;br /&gt;
&lt;br /&gt;
Whenever the 3DS is woken from sleep (or turned on), and WiFi is enabled, it sends out a 802.11 Probe Request which include all saved access points, as well a probe to an SSID containing an arbitrary string of data, such as &amp;quot;ic[kSvm9s@*cYD&amp;gt;/~IEVj\(fGG;qDo8j&amp;quot;. This string changes at least daily, and most likely every time the device is woken up.&lt;br /&gt;
&lt;br /&gt;
The MAC address used for these probes is the static MAC address found in the System Settings application. Unlike the StreetPass MAC address, it will not change over time. This MAC address OUI also differs from the one used in StreetPass.&lt;br /&gt;
&lt;br /&gt;
== CCMP Key ==&lt;br /&gt;
The StreetPass local-WLAN CCMP data-encryption key is generated by the StreetPass CECD module, where the CCMP key is the 16-byte output from encrypting an all-zero block with AES-CTR via [[PS:EncryptDecryptAes]], with keytype6. The CTR is the first 0x10-bytes from a SHA1-HMAC hash. The SHA1-HMAC key is a 17-byte text string including the NULL-terminator, a seperate HMAC key is used for retail/dev-units, this is determined via [[Configuration_Memory#ENVINFO|ENVINFO]] bit0. The data hashed with SHA1-HMAC is a 0x1C-byte buffer, which is described below.&lt;br /&gt;
&lt;br /&gt;
=== Hash Block ===&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;
| 0x8&lt;br /&gt;
| 8-byte StreetPass consoleID for the host, from the probe frames.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x8&lt;br /&gt;
| 8-byte StreetPass consoleID for the client, from the probe frames.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x6&lt;br /&gt;
| MAC address for host.&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x6&lt;br /&gt;
| MAC address for client.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== StreetPass Exchange ==&lt;br /&gt;
&lt;br /&gt;
While StreetPass is enabled, the 3DS constantly sends out Probe Requests with an SSID of &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;. Unlike beacons, which are actively advertising the device&#039;s presence, the 3DS is essentially actively looking for other 3DSes. This design is likely to limit impact to non-3DS WiFi capable devices. Each Probe Request contains basic information about that 3DS, including an identifier, and active StreetPass services. If another 3DS is in range, the second 3DS (#2) will respond with a Probe Response, to which the original 3DS (#1), and of the receiving device with every frame thereafter, will respond with an 802.11 Acknowledgement. 3DS(#1) then sends an 802.11 Action frame, as well as an additional Probe Request. The second 3DS sends back another Probe Response that begins the encrypted exchange between the two devices, no authentication/association is done here.&lt;br /&gt;
&lt;br /&gt;
The MAC address used in sleep-mode seems to change every time there&#039;s a StreetPass hit, as well as the last 8-bytes(StreetPass consoleID) of the Nintendo tag data. The MAC address + 8-byte StreetPass consoleID is seen to change every time the user enters and exits and Settings application if they have not had a StreetPass in an observed time period of 24 hours. It is uncertain how the 3DS determines when it can do a StreetPass again with another 3DS, or what information is actually used to track that. It may be related to how long that 3DS was in range constantly/out of range. 3DSes that are constantly in range of each other in sleep-mode, usually do StreetPass every 11 hours.&lt;br /&gt;
&lt;br /&gt;
=== Probe Request Frame ===&lt;br /&gt;
&lt;br /&gt;
Using Wireshark tool with a WiFi card in monitor mode allow you to see the data used to scan for other 3DS in the range. The below is a broadcast probe request from an 3DS while in standby mode, with SSID &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;. This SSID remains consistent across all 3DS units. This frame also contains a custom variable length Nintendo tag, which contains information regarding the offered StreetPass services. The sequence numbers for these probe request increment by 3 for every probe, until another 3DS responds with a probe response.&lt;br /&gt;
&lt;br /&gt;
  0000   00 00 1a 00 2f 48 00 00 19 7d 19 de 2a 00 00 00  ..../H...}..*...&lt;br /&gt;
  0010   12 16 9e 09 a0 00 c9 02 00 00 40 00 00 00 ff ff  ..........@.....&lt;br /&gt;
  0020   ff ff ff ff da 6b f7 22 f3 77 ff ff ff ff ff ff  .....k.&amp;quot;.w......&lt;br /&gt;
  0030   40 77 00 20 4e 69 6e 74 65 6e 64 6f 5f 33 44 53  @w. Nintendo_3DS&lt;br /&gt;
  0040   5f 63 6f 6e 74 69 6e 75 6f 75 73 5f 73 63 61 6e  _continuous_scan&lt;br /&gt;
  0050   5f 30 30 30 01 08 82 84 8b 0c 12 96 18 24 32 04  _000.........$2.&lt;br /&gt;
  0060   30 48 60 6c dd 15 00 1f 32 01 11 05 00 02 08 00  0H`l....2.......&lt;br /&gt;
  0070   00 f0 08 c8 34 6e 05 0f c9 c6 80 5b 6f bc 5a     ....4n.....[o.Z&lt;br /&gt;
&lt;br /&gt;
==== Nintendo Tag Format ====&lt;br /&gt;
&lt;br /&gt;
The offsets, in bytes, mentioned in the table below start at the beginning of the Nintendo tag ID, which is variable in length, and can be found right after the Vendor Specific OUI type of the 802.11 frame, which is often seen as a byte of &amp;quot;01&amp;quot;. Each one of the elements are discussed in more detail after the table. Note that this table represents a current theory on what each of the fields represent, with the argument stated in the corresponding sections.&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;
!  Length&lt;br /&gt;
!  Purpose&lt;br /&gt;
!  Description&lt;br /&gt;
!  Example&lt;br /&gt;
|-&lt;br /&gt;
|  0x00&lt;br /&gt;
|  0x01&lt;br /&gt;
|  &#039;&#039;&#039;Protocol Identification&#039;&#039;&#039;&lt;br /&gt;
|  May be for protocol identification. All captures thus far show this value at 17, hexadecimal 11.&lt;br /&gt;
| 11&lt;br /&gt;
|-&lt;br /&gt;
|  0x01&lt;br /&gt;
|  0x01&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass Service Length&#039;&#039;&#039;&lt;br /&gt;
|  Length in bytes of only the StreetPass Services field.&lt;br /&gt;
|  05&lt;br /&gt;
|-&lt;br /&gt;
|  0x02&lt;br /&gt;
|  0x05&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass Services&#039;&#039;&#039;&lt;br /&gt;
|  Starting at the 0x02 offset, it appears to be a list of StreetPass services, each in length of 5 bytes. This continues on depending on the number of services the user has enabled at the time.&lt;br /&gt;
|  00 02 08 00 00&lt;br /&gt;
|-&lt;br /&gt;
|  varies&lt;br /&gt;
|  0x02&lt;br /&gt;
|  &#039;&#039;&#039;Unknown&#039;&#039;&#039;&lt;br /&gt;
|  At the end of the StreetPass Services field is a two byte field that is the same among all devices thus far. Its purpose is unknown.&lt;br /&gt;
|  f0 08&lt;br /&gt;
|-&lt;br /&gt;
|  -0x08&lt;br /&gt;
|  0x08&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass consoleID&#039;&#039;&#039;&lt;br /&gt;
|  Seen to change when the Settings app is used if there has not been a StreetPass tag recently. Also may change after each StreetPass hit and system power-off?&lt;br /&gt;
|  c8 34 6e 05 0f c9 c6 80&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Protocol Version =====&lt;br /&gt;
&lt;br /&gt;
Appears to represent a protocol version, or device identification. This field remains consistent on all devices, despite variable enabled StreetPass services or length of the tag. Could also represent region.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass Service Length =====&lt;br /&gt;
&lt;br /&gt;
This field is used to indicate the length of the StreetPass Services field. Removing and adding services has shown this field to increment and decrement in 5 bytes, or 11 bytes depending on the game. The StreetPass Services field has then expanded or reduced accordingly.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass Services =====&lt;br /&gt;
&lt;br /&gt;
The third field in the protocol header appears to be an arbitrary length list of StreetPass services enabled on the device. Each StreetPass service seems to be identified by a 5-byte ID. If you enable or disable services, the number of 5-byte IDs grows and shrinks within this list. Observed service IDs include:&lt;br /&gt;
&lt;br /&gt;
  Mii Plaza: 00 02 08 00 00&lt;br /&gt;
  Ridge Racer: 00 03 58 00 30&lt;br /&gt;
  Sims 3: 00 03 65 00 30&lt;br /&gt;
  Street Fighter: 00 03 05 00 02 (FF FF FF FF FF FF)&lt;br /&gt;
&lt;br /&gt;
The first 4 bytes are the titleID of the service, the last byte seems to contain flags.&lt;br /&gt;
&lt;br /&gt;
The last byte (flags) have been observed between those possibilities :&lt;br /&gt;
&lt;br /&gt;
  00000000&lt;br /&gt;
  00000010&lt;br /&gt;
  00010000&lt;br /&gt;
  00100000&lt;br /&gt;
  00110000&lt;br /&gt;
  00110010&lt;br /&gt;
&lt;br /&gt;
Only the bits 2,5,6 were used.&lt;br /&gt;
When set, the bit n°2 indicates the presence of a followinf 6-byte field filled with 0xff.&lt;br /&gt;
&lt;br /&gt;
Some services have a 6-byte field succeeding the StreetPass service that is just FF bytes (e.g. FF FF FF FF FF FF). The purpose of these is unknown, although may be used as data for a service, or as separator of some sort for different types of StreetPass services.&lt;br /&gt;
&lt;br /&gt;
Observed services (leading titleID 0x00 removed, 6*0xff ignored) on 68K probe requests between 2013-08-24 and 2014-06-29 in various european locations.&lt;br /&gt;
&lt;br /&gt;
The fact that a same titleID can have different flags should be noted.&lt;br /&gt;
&lt;br /&gt;
  0db6-00100000 5&lt;br /&gt;
  0db6-00110000 20&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Occurrences&lt;br /&gt;
!  TitleID &lt;br /&gt;
!  Flags&lt;br /&gt;
|-&lt;br /&gt;
| 131&lt;br /&gt;
| 0208&lt;br /&gt;
| 00000000&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 0516&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 053f&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 0306&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 44&lt;br /&gt;
| 0862&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 09f1&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 0db6&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0516&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0205&lt;br /&gt;
| 00110010&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0ec4&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0300&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 055d&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 08d3&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 053b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0916&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0306&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0300&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 0916&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0b1d&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 0ec4&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 080f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 07c8&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 038a&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0f30&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0db6&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0910&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0862&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 053f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0522&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0ae2&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 09f1&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 08c5&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 038c&lt;br /&gt;
| 00000000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 033b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 030b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0ba9&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0a53&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 08d3&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0751&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0402&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0f82&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0f5b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0e7f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0bff&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0b1d&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0ad6&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0a90&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0a05&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 073c&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 06da&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 05aa&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 05a5&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 053b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 04ca&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 038a&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 033b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 030b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0305&lt;br /&gt;
| 00000010&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Unknown 2-byte Field =====&lt;br /&gt;
&lt;br /&gt;
The purpose of this field is not known yet. It has remained the same across all devices thus far. The value has always been observed as &#039;&#039;&#039;f008&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass consoleID =====&lt;br /&gt;
&lt;br /&gt;
When there&#039;s a StreetPass hit, and no StreetPass data changed on either of the 3DSes, no data is transferred besides probes? After turning off power, then powering on and entering sleepmode, the MAC doesn&#039;t change from prior to power off but the last 8-bytes of the Nintendo tag changes. This tag has been seen to not be sequential over time. After one of the new StreetPass content is handled, (running one of the StreetPass titles etc) this 8-byte StreetPass consoleID changes?&lt;br /&gt;
&lt;br /&gt;
=== Initial Probe Response Frame ===&lt;br /&gt;
&lt;br /&gt;
If a 3DS (#2) receives another device&#039;s probe request and has not yet tagged that device in an arbitrary amount of time (~12 hours), the receiving 3DS (#2) will respond with a Probe Response frame. The destination MAC address is the StreetPass MAC address of the 3DS (#1) that was transmitting the probe request, while the receiving device sets its StreetPass MAC address as the source address. This is important to note because further exchanges may cease using destination and/or source addresses.&lt;br /&gt;
&lt;br /&gt;
In the probe response, the 3DS (#2) appears to offer a channel of 1, 6, or 11. Different channels have been seen offered between the same set of 3DS for each StreetPass. Offered channels, and channel range most likely varies by region.&lt;br /&gt;
&lt;br /&gt;
The StreetPass Probe Response frame contains the same Nintendo tag in Probe Requests of the device that is transmitting the Probe Response frame.&lt;br /&gt;
&lt;br /&gt;
=== Subsequent Probe Request and Response Frames ===&lt;br /&gt;
&lt;br /&gt;
The 3DS (#1) that the Initial Probe Response is directed to will send an 802.11 Action frame back to the device. The sequence numbers at this point stop stepping up by 3, and instead increase by one based from each originating device&#039;s SN. It will then send another Probe Request, this time sent directly to the responding 3DS (#2) by specifying its MAC address in the destination field, and setting its own MAC address in the source address field. It also does not have a SSID specified in the frame, except the frame will contain a BSSID with the value of the 3DS (#2) that responded to the initial Probe, and thus acts as the master in the 802.11 exchange.&lt;br /&gt;
&lt;br /&gt;
=== Send Mode ===&lt;br /&gt;
The 3DS can mark StreetPass data with one of 4 Send Modes&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!ID!!Send Mode!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0||EXCHANGE||StreetPass message exchange will only happen if both consoles can store the message of the other. E.g. the inbox isn&#039;t full. Example title: StreetPass Mii Plaza&lt;br /&gt;
|-&lt;br /&gt;
|1||RECV_ONLY||3DS doesn&#039;t have anything in its outbox so it is only receiving messages.&lt;br /&gt;
|-&lt;br /&gt;
|2||SEND_ONLY||&lt;br /&gt;
|-&lt;br /&gt;
|3||SEND_RECV||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== StreetPass Spoofing ==&lt;br /&gt;
&lt;br /&gt;
A streetpass &amp;quot;AP&amp;quot; was spoofed with hostapd by setting the SSID to &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;, with the extra Nintendo tag from another 3DS&#039; probe request. Like 3DS&amp;lt;&amp;gt;3DS communications, the 3DS didn&#039;t authenticate or associate with the host. Streetpass communications use CCMP encryption. Eventually the 3DS stops communicating with the host since the host doesn&#039;t reply to any of the data frames, then sends a 802.11 &amp;quot;Action&amp;quot; frame, with category ID 0x7f and Nintendo&#039;s vendor ID: 00 1f 32.(However the 3DS keeps communicating with the above process repeatedly)&lt;br /&gt;
Communication with two 3DSes are the same as above except there&#039;s actual encrypted data sent to/from both consoles, unlike the fake host.&lt;br /&gt;
&lt;br /&gt;
==StreetPass Relay==&lt;br /&gt;
This feature was implemented in version [[6.2.0-12]].&lt;br /&gt;
&lt;br /&gt;
It was probably controlled over the [[SpotPass#policylist]]. When connecting to a Nintendo Zone Hotspot the console will send an additional GET parameter named &#039;&#039;ap&#039;&#039;. Adding the following priority to the policylist will instruct the console to upload its data (The level tag can probably be lower and must not be HIGH).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Priority&amp;gt;&lt;br /&gt;
    &amp;lt;TitleId&amp;gt;0004013000003400&amp;lt;/TitleId&amp;gt;&lt;br /&gt;
    &amp;lt;TaskId&amp;gt;sprelay&amp;lt;/TaskId&amp;gt;&lt;br /&gt;
    &amp;lt;Level&amp;gt;HIGH&amp;lt;/Level&amp;gt;&lt;br /&gt;
    &amp;lt;Persistent&amp;gt;false&amp;lt;/Persistent&amp;gt;&lt;br /&gt;
    &amp;lt;Revive&amp;gt;false&amp;lt;/Revive&amp;gt;&lt;br /&gt;
  &amp;lt;/Priority&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
The following additional headers will be send in the request:&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|X-Boss-Apinfo||Access Point Info. The same number that is send with the policylist GET parameter ap. Probably identifies the SSID of connected Nintendo Zone Hotspot. If not connected to Nintendo Zone Hotspot this will be an empty string.||02012600000&lt;br /&gt;
|-&lt;br /&gt;
|X-Boss-Bssid||The MAC address of the access point the 3DS is connected to.||11:22:33:44:55:66&lt;br /&gt;
|-&lt;br /&gt;
|X-Boss-Country||2 letter country code of the set language.||ES&lt;br /&gt;
|-&lt;br /&gt;
|X-Boss-Region||3 letter region code of the 3DS&#039; region.||EUR&lt;br /&gt;
|-&lt;br /&gt;
|X-Boss-Userid||A unique 16 character long hexadecimal string that represents a 64-bit integer. It is unknown how this number is generated.||6966442DE2EED063&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the request body there will be a file named &#039;&#039;spr-meta&#039;&#039; and a file per registered StreetPass game &#039;&#039;spr-slotXX&#039;&#039; where XX is an incrementing number. If the game contains not messages in its outbox so the size of the file would be 0 then no file is created and sent but it will still be listed in the spr-meta file.&lt;br /&gt;
&lt;br /&gt;
===spr-meta file===&lt;br /&gt;
The spr-meta file is a text file which may contain the following content.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slotsize: 5&lt;br /&gt;
spr-slot01: 3,000EC400,10664&lt;br /&gt;
spr-slot02: 2,0007AD00,3648&lt;br /&gt;
spr-slot03: 3,00030000,3804&lt;br /&gt;
spr-slot04: 1,00051600,0&lt;br /&gt;
spr-slot05: 0,00020800,28228&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The comma seperated list after each spr-slotXX has the following meaning&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|Send Mode||StreetPass ID (Low title ID of the game. May be from a different region like japan.)||Size of the file in bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===spr-slotXX files===&lt;br /&gt;
These are binary files. They begin a with a header with the follwing structure.&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
!Offset!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x04||Magic number 0x00006161&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x04||Size of the file in bytes including this header&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x04||StreetPass ID (Low title ID of the game. May be from a different region like japan.)&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x04||Unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x10||0x04||Number of messages after this header&lt;br /&gt;
|}&lt;br /&gt;
After the header follows the StreetPass message exactly as it is stored in the outbox of [[CECD_Savegame#File_.3C12-char_ID.3E|CEC Save]].&lt;br /&gt;
&lt;br /&gt;
===Response===&lt;br /&gt;
The following headers are expected:&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
!Key!!colspan=3|Value!!Example&lt;br /&gt;
|-&lt;br /&gt;
|X-Spr-SlotXX-Result||StreetPass ID||Send Mode||Size of the file in bytes||X-Spr-Slot01-Result: 000EC400,3,17760&lt;br /&gt;
|}&lt;br /&gt;
It expects a header for every game it sent in the request.&lt;br /&gt;
&lt;br /&gt;
The body is expected to contain binary data with the same structure as the spr-slotXX files in the request. The order of these must be the same as the reponse header order.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=StreetPass&amp;diff=22577</id>
		<title>StreetPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=StreetPass&amp;diff=22577"/>
		<updated>2024-06-07T19:14:13Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* StreetPass Exchange */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;StreetPass&#039;&#039;&#039; is a feature that allows your 3DS to connect with other 3DS consoles using WiFi in standby mode.&lt;br /&gt;
It can be used to share Mii(s) on Mii Plaza for example. Applications&#039; StreetPass data are stored in the CECD module&#039;s NAND savegame, applications can move received StreetPass data to an arbitrary savegame. Wifi infrastructure with APs are used to communicate where the data-frames are encrypted with WPA2 CCMP, like [[NWM_Services|UDS]]/[[Download Play]].&lt;br /&gt;
&lt;br /&gt;
== WiFi Probe Request Frame ==&lt;br /&gt;
&lt;br /&gt;
Whenever the 3DS is woken from sleep (or turned on), and WiFi is enabled, it sends out a 802.11 Probe Request which include all saved access points, as well a probe to an SSID containing an arbitrary string of data, such as &amp;quot;ic[kSvm9s@*cYD&amp;gt;/~IEVj\(fGG;qDo8j&amp;quot;. This string changes at least daily, and most likely every time the device is woken up.&lt;br /&gt;
&lt;br /&gt;
The MAC address used for these probes is the static MAC address found in the System Settings application. Unlike the StreetPass MAC address, it will not change over time. This MAC address OUI also differs from the one used in StreetPass.&lt;br /&gt;
&lt;br /&gt;
== CCMP Key ==&lt;br /&gt;
The StreetPass local-WLAN CCMP data-encryption key is generated by the StreetPass CECD module, where the CCMP key is the 16-byte output from encrypting an all-zero block with AES-CTR via [[PS:EncryptDecryptAes]], with keytype6. The CTR is the first 0x10-bytes from a SHA1-HMAC hash. The SHA1-HMAC key is a 17-byte text string including the NULL-terminator, a seperate HMAC key is used for retail/dev-units, this is determined via [[Configuration_Memory#ENVINFO|ENVINFO]] bit0. The data hashed with SHA1-HMAC is a 0x1C-byte buffer, which is described below.&lt;br /&gt;
&lt;br /&gt;
=== Hash Block ===&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;
| 0x8&lt;br /&gt;
| 8-byte StreetPass consoleID for the host, from the probe frames.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x8&lt;br /&gt;
| 8-byte StreetPass consoleID for the client, from the probe frames.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x6&lt;br /&gt;
| MAC address for host.&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x6&lt;br /&gt;
| MAC address for client.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== StreetPass Exchange ==&lt;br /&gt;
&lt;br /&gt;
While StreetPass is enabled, the 3DS constantly sends out Probe Requests with an SSID of &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;. Unlike beacons, which are actively advertising the device&#039;s presence, the 3DS is essentially actively looking for other 3DSes. This design is likely to limit impact to non-3DS WiFi capable devices. Each Probe Request contains basic information about that 3DS, including an identifier, and active StreetPass services. If another 3DS is in range, the second 3DS (#2) will respond with a Probe Response, to which the original 3DS (#1), and of the receiving device with every frame thereafter, will respond with an 802.11 Acknowledgement. 3DS(#1) then sends an 802.11 Action frame, as well as an additional Probe Request. The second 3DS sends back another Probe Response that begins the encrypted exchange between the two devices, no authentication/association is done here.&lt;br /&gt;
&lt;br /&gt;
The MAC address used in sleep-mode seems to change every time there&#039;s a StreetPass hit, as well as the last 8-bytes(StreetPass consoleID) of the Nintendo tag data. The MAC address + 8-byte StreetPass consoleID is seen to change every time the user enters and exits and Settings application if they have not had a StreetPass in an observed time period of 24 hours. It is uncertain how the 3DS determines when it can do a StreetPass again with another 3DS, or what information is actually used to track that. It may be related to how long that 3DS was in range constantly/out of range. 3DSes that are constantly in range of each other in sleep-mode, usually do StreetPass every 11 hours.&lt;br /&gt;
&lt;br /&gt;
=== Probe Request Frame ===&lt;br /&gt;
&lt;br /&gt;
Using Wireshark tool with a WiFi card in monitor mode allow you to see the data used to scan for other 3DS in the range. The below is a broadcast probe request from an 3DS while in standby mode, with SSID &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;. This SSID remains consistent across all 3DS units. This frame also contains a custom variable length Nintendo tag, which contains information regarding the offered StreetPass services. The sequence numbers for these probe request increment by 3 for every probe, until another 3DS responds with a probe response.&lt;br /&gt;
&lt;br /&gt;
  0000   00 00 1a 00 2f 48 00 00 19 7d 19 de 2a 00 00 00  ..../H...}..*...&lt;br /&gt;
  0010   12 16 9e 09 a0 00 c9 02 00 00 40 00 00 00 ff ff  ..........@.....&lt;br /&gt;
  0020   ff ff ff ff da 6b f7 22 f3 77 ff ff ff ff ff ff  .....k.&amp;quot;.w......&lt;br /&gt;
  0030   40 77 00 20 4e 69 6e 74 65 6e 64 6f 5f 33 44 53  @w. Nintendo_3DS&lt;br /&gt;
  0040   5f 63 6f 6e 74 69 6e 75 6f 75 73 5f 73 63 61 6e  _continuous_scan&lt;br /&gt;
  0050   5f 30 30 30 01 08 82 84 8b 0c 12 96 18 24 32 04  _000.........$2.&lt;br /&gt;
  0060   30 48 60 6c dd 15 00 1f 32 01 11 05 00 02 08 00  0H`l....2.......&lt;br /&gt;
  0070   00 f0 08 c8 34 6e 05 0f c9 c6 80 5b 6f bc 5a     ....4n.....[o.Z&lt;br /&gt;
&lt;br /&gt;
==== Nintendo Tag Format ====&lt;br /&gt;
&lt;br /&gt;
The offsets, in bytes, mentioned in the table below start at the beginning of the Nintendo tag ID, which is variable in length, and can be found right after the Vendor Specific OUI type of the 802.11 frame, which is often seen as a byte of &amp;quot;01&amp;quot;. Each one of the elements are discussed in more detail after the table. Note that this table represents a current theory on what each of the fields represent, with the argument stated in the corresponding sections.&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;
!  Length&lt;br /&gt;
!  Purpose&lt;br /&gt;
!  Description&lt;br /&gt;
!  Example&lt;br /&gt;
|-&lt;br /&gt;
|  0x00&lt;br /&gt;
|  0x01&lt;br /&gt;
|  &#039;&#039;&#039;Protocol Identification&#039;&#039;&#039;&lt;br /&gt;
|  May be for protocol identification. All captures thus far show this value at 17, hexadecimal 11.&lt;br /&gt;
| 11&lt;br /&gt;
|-&lt;br /&gt;
|  0x01&lt;br /&gt;
|  0x01&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass Service Length&#039;&#039;&#039;&lt;br /&gt;
|  Length in bytes of only the StreetPass Services field.&lt;br /&gt;
|  05&lt;br /&gt;
|-&lt;br /&gt;
|  0x02&lt;br /&gt;
|  0x05&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass Services&#039;&#039;&#039;&lt;br /&gt;
|  Starting at the 0x02 offset, it appears to be a list of StreetPass services, each in length of 5 bytes. This continues on depending on the number of services the user has enabled at the time.&lt;br /&gt;
|  00 02 08 00 00&lt;br /&gt;
|-&lt;br /&gt;
|  varies&lt;br /&gt;
|  0x02&lt;br /&gt;
|  &#039;&#039;&#039;Unknown&#039;&#039;&#039;&lt;br /&gt;
|  At the end of the StreetPass Services field is a two byte field that is the same among all devices thus far. Its purpose is unknown.&lt;br /&gt;
|  f0 08&lt;br /&gt;
|-&lt;br /&gt;
|  -0x08&lt;br /&gt;
|  0x08&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass consoleID&#039;&#039;&#039;&lt;br /&gt;
|  Seen to change when the Settings app is used if there has not been a StreetPass tag recently. Also may change after each StreetPass hit and system power-off?&lt;br /&gt;
|  c8 34 6e 05 0f c9 c6 80&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Protocol Version =====&lt;br /&gt;
&lt;br /&gt;
Appears to represent a protocol version, or device identification. This field remains consistent on all devices, despite variable enabled StreetPass services or length of the tag. Could also represent region.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass Service Length =====&lt;br /&gt;
&lt;br /&gt;
This field is used to indicate the length of the StreetPass Services field. Removing and adding services has shown this field to increment and decrement in 5 bytes, or 11 bytes depending on the game. The StreetPass Services field has then expanded or reduced accordingly.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass Services =====&lt;br /&gt;
&lt;br /&gt;
The third field in the protocol header appears to be an arbitrary length list of StreetPass services enabled on the device. Each StreetPass service seems to be identified by a 5-byte ID. If you enable or disable services, the number of 5-byte IDs grows and shrinks within this list. Observed service IDs include:&lt;br /&gt;
&lt;br /&gt;
  Mii Plaza: 00 02 08 00 00&lt;br /&gt;
  Ridge Racer: 00 03 58 00 30&lt;br /&gt;
  Sims 3: 00 03 65 00 30&lt;br /&gt;
  Street Fighter: 00 03 05 00 02 (FF FF FF FF FF FF)&lt;br /&gt;
&lt;br /&gt;
The first 4 bytes are the titleID of the service, the last byte seems to contain flags.&lt;br /&gt;
&lt;br /&gt;
The last byte (flags) have been observed between those possibilities :&lt;br /&gt;
&lt;br /&gt;
  00000000&lt;br /&gt;
  00000010&lt;br /&gt;
  00010000&lt;br /&gt;
  00100000&lt;br /&gt;
  00110000&lt;br /&gt;
  00110010&lt;br /&gt;
&lt;br /&gt;
Only the bits 2,5,6 were used.&lt;br /&gt;
When set, the bit n°2 indicates the presence of a followinf 6-byte field filled with 0xff.&lt;br /&gt;
&lt;br /&gt;
Some services have a 6-byte field succeeding the StreetPass service that is just FF bytes (e.g. FF FF FF FF FF FF). The purpose of these is unknown, although may be used as data for a service, or as separator of some sort for different types of StreetPass services.&lt;br /&gt;
&lt;br /&gt;
Observed services (leading titleID 0x00 removed, 6*0xff ignored) on 68K probe requests between 2013-08-24 and 2014-06-29 in various european locations.&lt;br /&gt;
&lt;br /&gt;
The fact that a same titleID can have different flags should be noted.&lt;br /&gt;
&lt;br /&gt;
  0db6-00100000 5&lt;br /&gt;
  0db6-00110000 20&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Occurrences&lt;br /&gt;
!  TitleID &lt;br /&gt;
!  Flags&lt;br /&gt;
|-&lt;br /&gt;
| 131&lt;br /&gt;
| 0208&lt;br /&gt;
| 00000000&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 0516&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 053f&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 0306&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 44&lt;br /&gt;
| 0862&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 09f1&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 0db6&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0516&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0205&lt;br /&gt;
| 00110010&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0ec4&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0300&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 055d&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 08d3&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 053b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0916&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0306&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0300&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 0916&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0b1d&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 0ec4&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 080f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 07c8&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 038a&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0f30&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0db6&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0910&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0862&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 053f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0522&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0ae2&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 09f1&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 08c5&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 038c&lt;br /&gt;
| 00000000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 033b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 030b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0ba9&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0a53&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 08d3&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0751&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0402&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0f82&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0f5b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0e7f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0bff&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0b1d&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0ad6&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0a90&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0a05&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 073c&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 06da&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 05aa&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 05a5&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 053b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 04ca&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 038a&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 033b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 030b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0305&lt;br /&gt;
| 00000010&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Unknown 2-byte Field =====&lt;br /&gt;
&lt;br /&gt;
The purpose of this field is not known yet. It has remained the same across all devices thus far. The value has always been observed as &#039;&#039;&#039;f008&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass consoleID =====&lt;br /&gt;
&lt;br /&gt;
When there&#039;s a StreetPass hit, and no StreetPass data changed on either of the 3DSes, no data is transferred besides probes? After turning off power, then powering on and entering sleepmode, the MAC doesn&#039;t change from prior to power off but the last 8-bytes of the Nintendo tag changes. This tag has been seen to not be sequential over time. After one of the new StreetPass content is handled, (running one of the StreetPass titles etc) this 8-byte StreetPass consoleID changes?&lt;br /&gt;
&lt;br /&gt;
=== Initial Probe Response Frame ===&lt;br /&gt;
&lt;br /&gt;
If a 3DS (#2) receives another device&#039;s probe request and has not yet tagged that device in an arbitrary amount of time (~12 hours), the receiving 3DS (#2) will respond with a Probe Response frame. The destination MAC address is the StreetPass MAC address of the 3DS (#1) that was transmitting the probe request, while the receiving device sets its StreetPass MAC address as the source address. This is important to note because further exchanges may cease using destination and/or source addresses.&lt;br /&gt;
&lt;br /&gt;
In the probe response, the 3DS (#2) appears to offer a channel of 1, 6, or 11. Different channels have been seen offered between the same set of 3DS for each StreetPass. Offered channels, and channel range most likely varies by region.&lt;br /&gt;
&lt;br /&gt;
The StreetPass Probe Response frame contains the same Nintendo tag in Probe Requests of the device that is transmitting the Probe Response frame.&lt;br /&gt;
&lt;br /&gt;
=== Subsequent Probe Request and Response Frames ===&lt;br /&gt;
&lt;br /&gt;
The 3DS (#1) that the Initial Probe Response is directed to will send an 802.11 Action frame back to the device. The sequence numbers at this point stop stepping up by 3, and instead increase by one based from each originating device&#039;s SN. It will then send another Probe Request, this time sent directly to the responding 3DS (#2) by specifying its MAC address in the destination field, and setting its own MAC address in the source address field. It also does not have a SSID specified in the frame, except the frame will contain a BSSID with the value of the 3DS (#2) that responded to the initial Probe, and thus acts as the master in the 802.11 exchange.&lt;br /&gt;
&lt;br /&gt;
=== Send Mode ===&lt;br /&gt;
The 3DS can mark StreetPass data with one of 4 Send Modes&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!ID!!Send Mode!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0||EXCHANGE||StreetPass message exchange will only happen if both consoles can store the message of the other. E.g. the inbox isn&#039;t full. Example title: StreetPass Mii Plaza&lt;br /&gt;
|-&lt;br /&gt;
|1||RECV_ONLY||3DS doesn&#039;t have anything in its outbox so it is only receiving messages.&lt;br /&gt;
|-&lt;br /&gt;
|2||SEND_ONLY||&lt;br /&gt;
|-&lt;br /&gt;
|3||SEND_RECV||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== StreetPass Spoofing ==&lt;br /&gt;
&lt;br /&gt;
A streetpass &amp;quot;AP&amp;quot; was spoofed with hostapd by setting the SSID to &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;, with the extra Nintendo tag from another 3DS&#039; probe request. Like 3DS&amp;lt;&amp;gt;3DS communications, the 3DS didn&#039;t authenticate or associate with the host. Streetpass communications use CCMP encryption. Eventually the 3DS stops communicating with the host since the host doesn&#039;t reply to any of the data frames, then sends a 802.11 &amp;quot;Action&amp;quot; frame, with category ID 0x7f and Nintendo&#039;s vendor ID: 00 1f 32.(However the 3DS keeps communicating with the above process repeatedly)&lt;br /&gt;
Communication with two 3DSes are the same as above except there&#039;s actual encrypted data sent to/from both consoles, unlike the fake host.&lt;br /&gt;
&lt;br /&gt;
==StreetPass Relay==&lt;br /&gt;
This feature was implemented in version [[6.2.0-12]].&lt;br /&gt;
&lt;br /&gt;
It was probably controlled over the [[SpotPass#policylist]]. When connecting to a Nintendo Zone Hotspot the console will send an additional GET parameter named &#039;&#039;ap&#039;&#039;. Adding the following priority to the policylist will instruct the console to upload its data (The level tag can probably be lower and must not be HIGH).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Priority&amp;gt;&lt;br /&gt;
    &amp;lt;TitleId&amp;gt;0004013000003400&amp;lt;/TitleId&amp;gt;&lt;br /&gt;
    &amp;lt;TaskId&amp;gt;sprelay&amp;lt;/TaskId&amp;gt;&lt;br /&gt;
    &amp;lt;Level&amp;gt;HIGH&amp;lt;/Level&amp;gt;&lt;br /&gt;
    &amp;lt;Persistent&amp;gt;false&amp;lt;/Persistent&amp;gt;&lt;br /&gt;
    &amp;lt;Revive&amp;gt;false&amp;lt;/Revive&amp;gt;&lt;br /&gt;
  &amp;lt;/Priority&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following additional headers will be send in the request:&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|X-Boss-Apinfo||Access Point Info. The same number that is send with the policylist GET parameter ap. Probably identifies the SSID of connected Nintendo Zone Hotspot. If not connected to Nintendo Zone Hotspot this will be an empty string.||02012600000&lt;br /&gt;
|-&lt;br /&gt;
|X-Boss-Bssid||The MAC address of the access point the 3DS is connected to.||11:22:33:44:55:66&lt;br /&gt;
|-&lt;br /&gt;
|X-Boss-Country||2 letter country code of the set language.||ES&lt;br /&gt;
|-&lt;br /&gt;
|X-Boss-Region||3 letter region code of the 3DS&#039; region.||EUR&lt;br /&gt;
|-&lt;br /&gt;
|X-Boss-Userid||A unique 16 character long hexadecimal string that represents a 64-bit integer. It is unknown how this number is generated.||6966442DE2EED063&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the request body there will be a file named &#039;&#039;spr-meta&#039;&#039; and a file per registered StreetPass game &#039;&#039;spr-slotXX&#039;&#039; where XX is an incrementing number. If the game contains not messages in its outbox so the size of the file would be 0 then no file is created and sent but it will still be listed in the spr-meta file.&lt;br /&gt;
&lt;br /&gt;
===spr-meta file===&lt;br /&gt;
The spr-meta file is a text file which may contain the following content.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slotsize: 5&lt;br /&gt;
spr-slot01: 3,000EC400,10664&lt;br /&gt;
spr-slot02: 2,0007AD00,3648&lt;br /&gt;
spr-slot03: 3,00030000,3804&lt;br /&gt;
spr-slot04: 1,00051600,0&lt;br /&gt;
spr-slot05: 0,00020800,28228&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The comma seperated list after each spr-slotXX has the following meaning&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|Send Mode||StreetPass ID (Low title ID of the game. May be from a different region like japan.)||Size of the file in bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===spr-slotXX files===&lt;br /&gt;
These are binary files. They begin a with a header with the follwing structure.&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
!Offset!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x04||Magic number 0x00006161&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x04||Size of the file in bytes including this header&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x04||StreetPass ID (Low title ID of the game. May be from a different region like japan.)&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x04||Unknown. Maybe some version field. Always 0x00000001&lt;br /&gt;
|-&lt;br /&gt;
|0x10||0x04||Number of messages after this header&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=StreetPass&amp;diff=22576</id>
		<title>StreetPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=StreetPass&amp;diff=22576"/>
		<updated>2024-06-07T19:00:17Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* StreetPass Relay */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;StreetPass&#039;&#039;&#039; is a feature that allows your 3DS to connect with other 3DS consoles using WiFi in standby mode.&lt;br /&gt;
It can be used to share Mii(s) on Mii Plaza for example. Applications&#039; StreetPass data are stored in the CECD module&#039;s NAND savegame, applications can move received StreetPass data to an arbitrary savegame. Wifi infrastructure with APs are used to communicate where the data-frames are encrypted with WPA2 CCMP, like [[NWM_Services|UDS]]/[[Download Play]].&lt;br /&gt;
&lt;br /&gt;
== WiFi Probe Request Frame ==&lt;br /&gt;
&lt;br /&gt;
Whenever the 3DS is woken from sleep (or turned on), and WiFi is enabled, it sends out a 802.11 Probe Request which include all saved access points, as well a probe to an SSID containing an arbitrary string of data, such as &amp;quot;ic[kSvm9s@*cYD&amp;gt;/~IEVj\(fGG;qDo8j&amp;quot;. This string changes at least daily, and most likely every time the device is woken up.&lt;br /&gt;
&lt;br /&gt;
The MAC address used for these probes is the static MAC address found in the System Settings application. Unlike the StreetPass MAC address, it will not change over time. This MAC address OUI also differs from the one used in StreetPass.&lt;br /&gt;
&lt;br /&gt;
== CCMP Key ==&lt;br /&gt;
The StreetPass local-WLAN CCMP data-encryption key is generated by the StreetPass CECD module, where the CCMP key is the 16-byte output from encrypting an all-zero block with AES-CTR via [[PS:EncryptDecryptAes]], with keytype6. The CTR is the first 0x10-bytes from a SHA1-HMAC hash. The SHA1-HMAC key is a 17-byte text string including the NULL-terminator, a seperate HMAC key is used for retail/dev-units, this is determined via [[Configuration_Memory#ENVINFO|ENVINFO]] bit0. The data hashed with SHA1-HMAC is a 0x1C-byte buffer, which is described below.&lt;br /&gt;
&lt;br /&gt;
=== Hash Block ===&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;
| 0x8&lt;br /&gt;
| 8-byte StreetPass consoleID for the host, from the probe frames.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x8&lt;br /&gt;
| 8-byte StreetPass consoleID for the client, from the probe frames.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x6&lt;br /&gt;
| MAC address for host.&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x6&lt;br /&gt;
| MAC address for client.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== StreetPass Exchange ==&lt;br /&gt;
&lt;br /&gt;
While StreetPass is enabled, the 3DS constantly sends out Probe Requests with an SSID of &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;. Unlike beacons, which are actively advertising the device&#039;s presence, the 3DS is essentially actively looking for other 3DSes. This design is likely to limit impact to non-3DS WiFi capable devices. Each Probe Request contains basic information about that 3DS, including an identifier, and active StreetPass services. If another 3DS is in range, the second 3DS (#2) will respond with a Probe Response, to which the original 3DS (#1), and of the receiving device with every frame thereafter, will respond with an 802.11 Acknowledgement. 3DS(#1) then sends an 802.11 Action frame, as well as an additional Probe Request. The second 3DS sends back another Probe Response that begins the encrypted exchange between the two devices, no authentication/association is done here.&lt;br /&gt;
&lt;br /&gt;
The MAC address used in sleep-mode seems to change every time there&#039;s a StreetPass hit, as well as the last 8-bytes(StreetPass consoleID) of the Nintendo tag data. The MAC address + 8-byte StreetPass consoleID is seen to change every time the user enters and exits and Settings application if they have not had a StreetPass in an observed time period of 24 hours. It is uncertain how the 3DS determines when it can do a StreetPass again with another 3DS, or what information is actually used to track that. It may be related to how long that 3DS was in range constantly/out of range. 3DSes that are constantly in range of each other in sleep-mode, usually do StreetPass every 11 hours.&lt;br /&gt;
&lt;br /&gt;
=== Probe Request Frame ===&lt;br /&gt;
&lt;br /&gt;
Using Wireshark tool with a WiFi card in monitor mode allow you to see the data used to scan for other 3DS in the range. The below is a broadcast probe request from an 3DS while in standby mode, with SSID &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;. This SSID remains consistent across all 3DS units. This frame also contains a custom variable length Nintendo tag, which contains information regarding the offered StreetPass services. The sequence numbers for these probe request increment by 3 for every probe, until another 3DS responds with a probe response.&lt;br /&gt;
&lt;br /&gt;
  0000   00 00 1a 00 2f 48 00 00 19 7d 19 de 2a 00 00 00  ..../H...}..*...&lt;br /&gt;
  0010   12 16 9e 09 a0 00 c9 02 00 00 40 00 00 00 ff ff  ..........@.....&lt;br /&gt;
  0020   ff ff ff ff da 6b f7 22 f3 77 ff ff ff ff ff ff  .....k.&amp;quot;.w......&lt;br /&gt;
  0030   40 77 00 20 4e 69 6e 74 65 6e 64 6f 5f 33 44 53  @w. Nintendo_3DS&lt;br /&gt;
  0040   5f 63 6f 6e 74 69 6e 75 6f 75 73 5f 73 63 61 6e  _continuous_scan&lt;br /&gt;
  0050   5f 30 30 30 01 08 82 84 8b 0c 12 96 18 24 32 04  _000.........$2.&lt;br /&gt;
  0060   30 48 60 6c dd 15 00 1f 32 01 11 05 00 02 08 00  0H`l....2.......&lt;br /&gt;
  0070   00 f0 08 c8 34 6e 05 0f c9 c6 80 5b 6f bc 5a     ....4n.....[o.Z&lt;br /&gt;
&lt;br /&gt;
==== Nintendo Tag Format ====&lt;br /&gt;
&lt;br /&gt;
The offsets, in bytes, mentioned in the table below start at the beginning of the Nintendo tag ID, which is variable in length, and can be found right after the Vendor Specific OUI type of the 802.11 frame, which is often seen as a byte of &amp;quot;01&amp;quot;. Each one of the elements are discussed in more detail after the table. Note that this table represents a current theory on what each of the fields represent, with the argument stated in the corresponding sections.&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;
!  Length&lt;br /&gt;
!  Purpose&lt;br /&gt;
!  Description&lt;br /&gt;
!  Example&lt;br /&gt;
|-&lt;br /&gt;
|  0x00&lt;br /&gt;
|  0x01&lt;br /&gt;
|  &#039;&#039;&#039;Protocol Identification&#039;&#039;&#039;&lt;br /&gt;
|  May be for protocol identification. All captures thus far show this value at 17, hexadecimal 11.&lt;br /&gt;
| 11&lt;br /&gt;
|-&lt;br /&gt;
|  0x01&lt;br /&gt;
|  0x01&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass Service Length&#039;&#039;&#039;&lt;br /&gt;
|  Length in bytes of only the StreetPass Services field.&lt;br /&gt;
|  05&lt;br /&gt;
|-&lt;br /&gt;
|  0x02&lt;br /&gt;
|  0x05&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass Services&#039;&#039;&#039;&lt;br /&gt;
|  Starting at the 0x02 offset, it appears to be a list of StreetPass services, each in length of 5 bytes. This continues on depending on the number of services the user has enabled at the time.&lt;br /&gt;
|  00 02 08 00 00&lt;br /&gt;
|-&lt;br /&gt;
|  varies&lt;br /&gt;
|  0x02&lt;br /&gt;
|  &#039;&#039;&#039;Unknown&#039;&#039;&#039;&lt;br /&gt;
|  At the end of the StreetPass Services field is a two byte field that is the same among all devices thus far. Its purpose is unknown.&lt;br /&gt;
|  f0 08&lt;br /&gt;
|-&lt;br /&gt;
|  -0x08&lt;br /&gt;
|  0x08&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass consoleID&#039;&#039;&#039;&lt;br /&gt;
|  Seen to change when the Settings app is used if there has not been a StreetPass tag recently. Also may change after each StreetPass hit and system power-off?&lt;br /&gt;
|  c8 34 6e 05 0f c9 c6 80&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Protocol Version =====&lt;br /&gt;
&lt;br /&gt;
Appears to represent a protocol version, or device identification. This field remains consistent on all devices, despite variable enabled StreetPass services or length of the tag. Could also represent region.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass Service Length =====&lt;br /&gt;
&lt;br /&gt;
This field is used to indicate the length of the StreetPass Services field. Removing and adding services has shown this field to increment and decrement in 5 bytes, or 11 bytes depending on the game. The StreetPass Services field has then expanded or reduced accordingly.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass Services =====&lt;br /&gt;
&lt;br /&gt;
The third field in the protocol header appears to be an arbitrary length list of StreetPass services enabled on the device. Each StreetPass service seems to be identified by a 5-byte ID. If you enable or disable services, the number of 5-byte IDs grows and shrinks within this list. Observed service IDs include:&lt;br /&gt;
&lt;br /&gt;
  Mii Plaza: 00 02 08 00 00&lt;br /&gt;
  Ridge Racer: 00 03 58 00 30&lt;br /&gt;
  Sims 3: 00 03 65 00 30&lt;br /&gt;
  Street Fighter: 00 03 05 00 02 (FF FF FF FF FF FF)&lt;br /&gt;
&lt;br /&gt;
The first 4 bytes are the titleID of the service, the last byte seems to contain flags.&lt;br /&gt;
&lt;br /&gt;
The last byte (flags) have been observed between those possibilities :&lt;br /&gt;
&lt;br /&gt;
  00000000&lt;br /&gt;
  00000010&lt;br /&gt;
  00010000&lt;br /&gt;
  00100000&lt;br /&gt;
  00110000&lt;br /&gt;
  00110010&lt;br /&gt;
&lt;br /&gt;
Only the bits 2,5,6 were used.&lt;br /&gt;
When set, the bit n°2 indicates the presence of a followinf 6-byte field filled with 0xff.&lt;br /&gt;
&lt;br /&gt;
Some services have a 6-byte field succeeding the StreetPass service that is just FF bytes (e.g. FF FF FF FF FF FF). The purpose of these is unknown, although may be used as data for a service, or as separator of some sort for different types of StreetPass services.&lt;br /&gt;
&lt;br /&gt;
Observed services (leading titleID 0x00 removed, 6*0xff ignored) on 68K probe requests between 2013-08-24 and 2014-06-29 in various european locations.&lt;br /&gt;
&lt;br /&gt;
The fact that a same titleID can have different flags should be noted.&lt;br /&gt;
&lt;br /&gt;
  0db6-00100000 5&lt;br /&gt;
  0db6-00110000 20&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Occurrences&lt;br /&gt;
!  TitleID &lt;br /&gt;
!  Flags&lt;br /&gt;
|-&lt;br /&gt;
| 131&lt;br /&gt;
| 0208&lt;br /&gt;
| 00000000&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 0516&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 053f&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 0306&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 44&lt;br /&gt;
| 0862&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 09f1&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 0db6&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0516&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0205&lt;br /&gt;
| 00110010&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0ec4&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0300&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 055d&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 08d3&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 053b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0916&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0306&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0300&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 0916&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0b1d&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 0ec4&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 080f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 07c8&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 038a&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0f30&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0db6&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0910&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0862&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 053f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0522&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0ae2&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 09f1&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 08c5&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 038c&lt;br /&gt;
| 00000000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 033b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 030b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0ba9&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0a53&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 08d3&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0751&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0402&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0f82&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0f5b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0e7f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0bff&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0b1d&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0ad6&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0a90&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0a05&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 073c&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 06da&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 05aa&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 05a5&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 053b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 04ca&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 038a&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 033b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 030b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0305&lt;br /&gt;
| 00000010&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Unknown 2-byte Field =====&lt;br /&gt;
&lt;br /&gt;
The purpose of this field is not known yet. It has remained the same across all devices thus far. The value has always been observed as &#039;&#039;&#039;f008&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass consoleID =====&lt;br /&gt;
&lt;br /&gt;
When there&#039;s a StreetPass hit, and no StreetPass data changed on either of the 3DSes, no data is transferred besides probes? After turning off power, then powering on and entering sleepmode, the MAC doesn&#039;t change from prior to power off but the last 8-bytes of the Nintendo tag changes. This tag has been seen to not be sequential over time. After one of the new StreetPass content is handled, (running one of the StreetPass titles etc) this 8-byte StreetPass consoleID changes?&lt;br /&gt;
&lt;br /&gt;
=== Initial Probe Response Frame ===&lt;br /&gt;
&lt;br /&gt;
If a 3DS (#2) receives another device&#039;s probe request and has not yet tagged that device in an arbitrary amount of time (~12 hours), the receiving 3DS (#2) will respond with a Probe Response frame. The destination MAC address is the StreetPass MAC address of the 3DS (#1) that was transmitting the probe request, while the receiving device sets its StreetPass MAC address as the source address. This is important to note because further exchanges may cease using destination and/or source addresses.&lt;br /&gt;
&lt;br /&gt;
In the probe response, the 3DS (#2) appears to offer a channel of 1, 6, or 11. Different channels have been seen offered between the same set of 3DS for each StreetPass. Offered channels, and channel range most likely varies by region.&lt;br /&gt;
&lt;br /&gt;
The StreetPass Probe Response frame contains the same Nintendo tag in Probe Requests of the device that is transmitting the Probe Response frame.&lt;br /&gt;
&lt;br /&gt;
=== Subsequent Probe Request and Response Frames ===&lt;br /&gt;
&lt;br /&gt;
The 3DS (#1) that the Initial Probe Response is directed to will send an 802.11 Action frame back to the device. The sequence numbers at this point stop stepping up by 3, and instead increase by one based from each originating device&#039;s SN. It will then send another Probe Request, this time sent directly to the responding 3DS (#2) by specifying its MAC address in the destination field, and setting its own MAC address in the source address field. It also does not have a SSID specified in the frame, except the frame will contain a BSSID with the value of the 3DS (#2) that responded to the initial Probe, and thus acts as the master in the 802.11 exchange.&lt;br /&gt;
&lt;br /&gt;
== StreetPass Spoofing ==&lt;br /&gt;
&lt;br /&gt;
A streetpass &amp;quot;AP&amp;quot; was spoofed with hostapd by setting the SSID to &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;, with the extra Nintendo tag from another 3DS&#039; probe request. Like 3DS&amp;lt;&amp;gt;3DS communications, the 3DS didn&#039;t authenticate or associate with the host. Streetpass communications use CCMP encryption. Eventually the 3DS stops communicating with the host since the host doesn&#039;t reply to any of the data frames, then sends a 802.11 &amp;quot;Action&amp;quot; frame, with category ID 0x7f and Nintendo&#039;s vendor ID: 00 1f 32.(However the 3DS keeps communicating with the above process repeatedly)&lt;br /&gt;
Communication with two 3DSes are the same as above except there&#039;s actual encrypted data sent to/from both consoles, unlike the fake host.&lt;br /&gt;
&lt;br /&gt;
==StreetPass Relay==&lt;br /&gt;
This feature was implemented in version [[6.2.0-12]].&lt;br /&gt;
&lt;br /&gt;
It was probably controlled over the [[SpotPass#policylist]]. When connecting to a Nintendo Zone Hotspot the console will send an additional GET parameter named &#039;&#039;ap&#039;&#039;. Adding the following priority to the policylist will instruct the console to upload its data (The level tag can probably be lower and must not be HIGH).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Priority&amp;gt;&lt;br /&gt;
    &amp;lt;TitleId&amp;gt;0004013000003400&amp;lt;/TitleId&amp;gt;&lt;br /&gt;
    &amp;lt;TaskId&amp;gt;sprelay&amp;lt;/TaskId&amp;gt;&lt;br /&gt;
    &amp;lt;Level&amp;gt;HIGH&amp;lt;/Level&amp;gt;&lt;br /&gt;
    &amp;lt;Persistent&amp;gt;false&amp;lt;/Persistent&amp;gt;&lt;br /&gt;
    &amp;lt;Revive&amp;gt;false&amp;lt;/Revive&amp;gt;&lt;br /&gt;
  &amp;lt;/Priority&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following additional headers will be send in the request:&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|X-Boss-Apinfo||Access Point Info. The same number that is send with the policylist GET parameter ap. Probably identifies the SSID of connected Nintendo Zone Hotspot. If not connected to Nintendo Zone Hotspot this will be an empty string.||02012600000&lt;br /&gt;
|-&lt;br /&gt;
|X-Boss-Bssid||The MAC address of the access point the 3DS is connected to.||11:22:33:44:55:66&lt;br /&gt;
|-&lt;br /&gt;
|X-Boss-Country||2 letter country code of the set language.||ES&lt;br /&gt;
|-&lt;br /&gt;
|X-Boss-Region||3 letter region code of the 3DS&#039; region.||EUR&lt;br /&gt;
|-&lt;br /&gt;
|X-Boss-Userid||A unique 16 character long hexadecimal string that represents a 64-bit integer. It is unknown how this number is generated.||6966442DE2EED063&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the request body there will be a file named &#039;&#039;spr-meta&#039;&#039; and a file per registered StreetPass game &#039;&#039;spr-slotXX&#039;&#039; where XX is an incrementing number. If the game contains not messages in its outbox so the size of the file would be 0 then no file is created and sent but it will still be listed in the spr-meta file.&lt;br /&gt;
&lt;br /&gt;
===spr-meta file===&lt;br /&gt;
The spr-meta file is a text file which may contain the following content.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slotsize: 5&lt;br /&gt;
spr-slot01: 3,000EC400,10664&lt;br /&gt;
spr-slot02: 2,0007AD00,3648&lt;br /&gt;
spr-slot03: 3,00030000,3804&lt;br /&gt;
spr-slot04: 1,00051600,0&lt;br /&gt;
spr-slot05: 0,00020800,28228&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The comma seperated list after each spr-slotXX has the following meaning&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|Send Mode||StreetPass ID (Low title ID of the game. May be from a different region like japan.)||Size of the file in bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===spr-slotXX files===&lt;br /&gt;
These are binary files. They begin a with a header with the follwing structure.&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
!Offset!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x04||Magic number 0x00006161&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x04||Size of the file in bytes including this header&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x04||StreetPass ID (Low title ID of the game. May be from a different region like japan.)&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x04||Unknown. Maybe some version field. Always 0x00000001&lt;br /&gt;
|-&lt;br /&gt;
|0x10||0x04||Number of messages after this header&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=CECD_Savegame&amp;diff=22567</id>
		<title>CECD Savegame</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=CECD_Savegame&amp;diff=22567"/>
		<updated>2024-05-30T16:47:59Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: Credit goes to User:Wwylele. https://gist.github.com/wwylele/29a8caa6f5e5a7d88a00bedae90472ed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;cec-system-save-00010026-format&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== CEC System Save (00010026) Format ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Folder and files                         `CecDataPathType`&lt;br /&gt;
[Root]&lt;br /&gt;
├── eventlog.dat&lt;br /&gt;
└── CEC                                  10&lt;br /&gt;
    ├── MacFilter___&lt;br /&gt;
    ├── MBoxList____                     1&lt;br /&gt;
    ├── &amp;amp;lt;8-digit ID&amp;amp;gt;                     11&lt;br /&gt;
    │   ├── MBoxInfo____                 2&lt;br /&gt;
    │   ├── MBoxData.001                 101&lt;br /&gt;
    │   ├── MBoxData.010                 110&lt;br /&gt;
    │   ├── MBoxData.050                 150&lt;br /&gt;
    │   ├── MBoxData.&amp;amp;lt;3-digit number&amp;amp;gt;    100 + &amp;amp;lt;number&amp;amp;gt;&lt;br /&gt;
    │   ├── ...&lt;br /&gt;
    │   ├── InBox___                     12&lt;br /&gt;
    │   │   ├── BoxInfo_____             3&lt;br /&gt;
    │   │   ├── _&amp;amp;lt;12-char ID&amp;amp;gt;            6&lt;br /&gt;
    │   │   └── ...&lt;br /&gt;
    │   └── OutBox__                     13&lt;br /&gt;
    │       ├── BoxInfo_____             4&lt;br /&gt;
    │       ├── OBIndex_____             5&lt;br /&gt;
    │       ├── _&amp;amp;lt;12-char ID&amp;amp;gt;            7&lt;br /&gt;
    │       └── ...&lt;br /&gt;
    ├── &amp;amp;lt;8-digit ID&amp;amp;gt;&lt;br /&gt;
    ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-mboxlist____&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== File &amp;lt;code&amp;gt;MBoxList____&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 2&lt;br /&gt;
| Magic 0x6868&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Version? always 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 4&lt;br /&gt;
| Number of boxes&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C&lt;br /&gt;
| 16 * 24&lt;br /&gt;
| List of box name&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each box name is 16-char long. However, due to the fact that box name is usually a 8-digit ID, the rest of 8 chars are always null characters. Unused box names are filled with null characters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-mboxinfo____&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== File &amp;lt;code&amp;gt;MBoxInfo____&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 2&lt;br /&gt;
| Magic 0x6363&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Title ID (matches the box directory name)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 4&lt;br /&gt;
| Private ID?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C&lt;br /&gt;
| 1&lt;br /&gt;
| Flags?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0D&lt;br /&gt;
| 1&lt;br /&gt;
| Flags?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0E&lt;br /&gt;
| 2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 32&lt;br /&gt;
| HMAC Key&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 4&lt;br /&gt;
| Zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 12&lt;br /&gt;
| Timestamp when last accessed&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 1&lt;br /&gt;
| Flag?&lt;br /&gt;
|-&lt;br /&gt;
| 0x41&lt;br /&gt;
| 1&lt;br /&gt;
| Flag?&lt;br /&gt;
|-&lt;br /&gt;
| 0x42&lt;br /&gt;
| 1&lt;br /&gt;
| Flag?&lt;br /&gt;
|-&lt;br /&gt;
| 0x43&lt;br /&gt;
| 1&lt;br /&gt;
| Flag?&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| 12&lt;br /&gt;
| Timestamp when last received&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| 16&lt;br /&gt;
| Zero?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: - &amp;lt;code&amp;gt;Private ID&amp;lt;/code&amp;gt; seems to be a number chosen by application arbitrarily, possibly for verification. Magic numbers such as 0x00000000, 0x00000001, 0xFFFFFFFF, 0xAABBCCDD and other random numbers have been observed here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-mboxdata.3-digit-number&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== File &amp;lt;code&amp;gt;MBoxData.&amp;amp;lt;3-digit number&amp;amp;gt;&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-mboxdata.001&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== File &amp;lt;code&amp;gt;MBoxData.001&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Icon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-mboxdata.010&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== File &amp;lt;code&amp;gt;MBoxData.010&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
This is the game title in null-terminated UTF-16 string.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-mboxdata.050&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== File &amp;lt;code&amp;gt;MBoxData.050&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
This is 8-byte file containing the title ID.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-boxinfo_____&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== File &amp;lt;code&amp;gt;BoxInfo_____&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
This file consists of a 0x20-byte header, and an array of 0x70-byte entry. Each entry is a copy of the message header. See the next section for the message header format. The box info header format is&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 2&lt;br /&gt;
| Magic 0x6262&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Size of this file&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 4&lt;br /&gt;
| Maximum box size&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C&lt;br /&gt;
| 4&lt;br /&gt;
| Current box size&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 4&lt;br /&gt;
| Maximum message count&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 4&lt;br /&gt;
| Current message count / the size of the following array&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 4&lt;br /&gt;
| Maximum batch size&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 4&lt;br /&gt;
| Maximum message size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;file-_12-char-id&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== File &amp;lt;code&amp;gt;_&amp;amp;lt;12-char ID&amp;amp;gt;&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Each such file is a message. The ID in the file name is the message ID encoded in base-64. A message file consists of a 0x70-byte header, several extra header, a message body, and a 0x20-byte HMAC(?).&lt;br /&gt;
&lt;br /&gt;
The header format is&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 2&lt;br /&gt;
| Magic 0x6060&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Message size&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 4&lt;br /&gt;
| Header + extra headers size&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C&lt;br /&gt;
| 4&lt;br /&gt;
| Body size&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 4&lt;br /&gt;
| Title ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 4&lt;br /&gt;
| Title ID 2?&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 4&lt;br /&gt;
| Batch ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 4&lt;br /&gt;
| ? ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Message ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 4&lt;br /&gt;
| Message version?&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| 8&lt;br /&gt;
| Message ID 2?&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 1&lt;br /&gt;
| Flags&lt;br /&gt;
|-&lt;br /&gt;
| 0x35&lt;br /&gt;
| 1&lt;br /&gt;
| Send method&lt;br /&gt;
|-&lt;br /&gt;
| 0x36&lt;br /&gt;
| 1&lt;br /&gt;
| Is unopen&lt;br /&gt;
|-&lt;br /&gt;
| 0x37&lt;br /&gt;
| 1&lt;br /&gt;
| Is new&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 8&lt;br /&gt;
| Sender ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 8&lt;br /&gt;
| Sender ID 2?&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 12&lt;br /&gt;
| Timestamp when sent&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 12&lt;br /&gt;
| Timestamp when received&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| 12&lt;br /&gt;
| Timestamp when created&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C&lt;br /&gt;
| 1&lt;br /&gt;
| Send count&lt;br /&gt;
|-&lt;br /&gt;
| 0x6D&lt;br /&gt;
| 1&lt;br /&gt;
| Forward count&lt;br /&gt;
|-&lt;br /&gt;
| 0x6E&lt;br /&gt;
| 2&lt;br /&gt;
| User data&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each extra header has a format of&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Header type&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Data size&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| Data size&lt;br /&gt;
| Header data&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The header type can be one of the follows:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Icon&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Game name&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| Info text&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| Region?&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=BOSS_Savegame&amp;diff=22566</id>
		<title>BOSS Savegame</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=BOSS_Savegame&amp;diff=22566"/>
		<updated>2024-05-30T09:24:21Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the content of the [[SpotPass|BOSS]] sysmodule savegame.&lt;br /&gt;
&lt;br /&gt;
The savegame contains 7 files and no directories&lt;br /&gt;
&lt;br /&gt;
==BOSS_A.db==&lt;br /&gt;
&lt;br /&gt;
==BOSS_SS.db==&lt;br /&gt;
SS could stand for subscriptions&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!Offset!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||4||Magic Number (0x12348000)&lt;br /&gt;
|}&lt;br /&gt;
After an array of data chunks with a chunk size of 0xC00 follow.&lt;br /&gt;
An index of this array seem to correspond to the data with same index in BOSS_SV.db&lt;br /&gt;
&lt;br /&gt;
==BOSS_SV.db==&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!Offset!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||4||Magic Number (0x12348000)&lt;br /&gt;
|}&lt;br /&gt;
After an array of data chunks with a chunk size of 0xC00 follow.&lt;br /&gt;
&lt;br /&gt;
An index of this array seem to correspond to the data with same index in BOSS_SS.db&lt;br /&gt;
===Data Chunk===&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!Offset!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||16||Unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x10||8||Title ID&lt;br /&gt;
|-&lt;br /&gt;
|0x18||8||Task ID (ASCII String)&lt;br /&gt;
|-&lt;br /&gt;
|0x20||8||Unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x28||4||Intervall/Wait time until this task should be executed again (in seconds)&lt;br /&gt;
|-&lt;br /&gt;
|0x2C||4||Unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x30||8||Timestamp. Seconds since year 2000 of the user setable time (RTC + user time offset). Time of the last successful download/execution of the task.&lt;br /&gt;
|}&lt;br /&gt;
====Task sprelay====&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!Offset!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x288||4||Unknown&lt;br /&gt;
|-&lt;br /&gt;
|0x28C||4||Padding?&lt;br /&gt;
|-&lt;br /&gt;
|0x290||8||Timestamp. Seconds since year 2000 of the RTC (no user time offset). Time of the last successful download of StreetPass Relay data.&lt;br /&gt;
|-&lt;br /&gt;
|0x298||4|| (?) Intervall/Wait time (in seconds) until the same access point (defined by its MAC address) will be used again.&lt;br /&gt;
|-&lt;br /&gt;
|0x29C||4||Number of items in the visited access points list&lt;br /&gt;
|-&lt;br /&gt;
|0x2A0||?||Visited Access Points List&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Visited Access Points List Entry&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!Offset!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x2A0||8||MAC address of access point&lt;br /&gt;
|-&lt;br /&gt;
|0x2A8||4||Timestamp. Seconds since year 2000 of the RTC (no user time offset). Time of the last download from this access point.&lt;br /&gt;
|-&lt;br /&gt;
|0x2AC||4||Padding?&lt;br /&gt;
|}&lt;br /&gt;
The last entry of this list should have the same timestamp as the timestamp at offset 0x290.&lt;br /&gt;
&lt;br /&gt;
==BOSS_PH_INFO.db==&lt;br /&gt;
&lt;br /&gt;
==BOSS_PM_INFO.db==&lt;br /&gt;
&lt;br /&gt;
==BOSS_SP_INFO.db==&lt;br /&gt;
&lt;br /&gt;
==sendmgn00.up==&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22557</id>
		<title>SpotPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22557"/>
		<updated>2024-05-21T06:53:53Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* Payload Content Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;SpotPass&#039;&#039;&#039; is a Nintendo 3DS feature that allows the 3DS to automatically download content, notifications, and software when it&#039;s in standby mode.(SpotPass may download/upload some content while the 3DS is in &amp;quot;active&amp;quot; mode, but *only* if the currently active app uses SpotPass) SpotPass can upload content as well. Software downloaded with SpotPass is stored on SD card.&lt;br /&gt;
&lt;br /&gt;
SpotPass Internet communications are mostly HTTPS transfers.&lt;br /&gt;
&lt;br /&gt;
In System Settings, you can disable SpotPass automatic title downloading, but it states that important software will still downloaded.(This only disables downloading of free titles via SpotPass)&lt;br /&gt;
&lt;br /&gt;
&#039;nasc.nintendowifi.net&#039; confirmed usages:(not SpotPass related)&lt;br /&gt;
&lt;br /&gt;
*Friends List applet requires this server to be &#039;Online&#039; (most likely the reason for regular requests to this server)&lt;br /&gt;
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.&lt;br /&gt;
&lt;br /&gt;
In some cases the BOSS module will add the following URL parameter to HTTPS requests, when connected to a [[Nintendo Zone]] AP: &amp;quot;ap=&amp;lt;NZoneApNum&amp;gt;&amp;quot; or when using a specific [[Cfg:GetSystemModel|system model]]: &amp;quot;tm=&amp;lt;SystemModelNumber&amp;gt;&amp;quot;. The Old 3DS and Old 3DS XL don&#039;t set this value.&lt;br /&gt;
&lt;br /&gt;
== policylist ==&lt;br /&gt;
Every time the system connects to the wifi AP, the BOSS (&amp;quot;Background online storage service&amp;quot; = SpotPass) module itself will download the cleartext xml policylist: &amp;quot;https://nppl.c.app.nintendowifi.net/p01/policylist/3/&amp;lt;countrycode&amp;gt;&amp;quot;. This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all.&lt;br /&gt;
&lt;br /&gt;
As of the policylist updated 2017-11-08, this stops the &amp;lt;tt&amp;gt;OlvNotf&amp;lt;/tt&amp;gt; (Miiverse notification sync) task for &amp;lt;tt&amp;gt;000400300000bc00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000bd00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000be00&amp;lt;/tt&amp;gt; for all regions and &amp;lt;tt&amp;gt;basho0&amp;lt;/tt&amp;gt; for the [[Home Menu]]. Japan also has the &amp;lt;tt&amp;gt;9ER_NTD&amp;lt;/tt&amp;gt; task blocked for いつの間にテレビ (&amp;lt;tt&amp;gt;0004000000034700&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== User Agent ==&lt;br /&gt;
&lt;br /&gt;
The default user-agent used for SpotPass HTTPS requests (including the policylist) has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;user agent codename&amp;gt;-&amp;lt;user agent version&amp;gt;/&amp;lt;printed hex u64 [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]]&amp;gt;-&amp;lt;printed hex u64 [[FRDU:GetMyFriendKey|Friend]] [[FRDU:PrincipalIdToFriendCode|Code]]&amp;gt;/&amp;lt;text [[CVer|system]] [[NVer|version]]&amp;gt;/&amp;lt;CTRSDK version of sysmodule&amp;gt;/&amp;lt;[[Cfg:GetSystemModel|system model number]]&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The codename can be set to either &amp;lt;tt&amp;gt;PBOS&amp;lt;/tt&amp;gt; (Production BOSS?) or &amp;lt;tt&amp;gt;DBOS&amp;lt;/tt&amp;gt; (Development BOSS?) depending if the console is a [[Configuration_Memory#UNITINFO|retail]] unit. As of system version 11.17, the user agent version is hardcoded to 8.0 and the CTRSDK version is set to 62452 (0xF3F4).&lt;br /&gt;
&lt;br /&gt;
No user-agent is used for plaintext HTTP requests with SpotPass.&lt;br /&gt;
&lt;br /&gt;
== Titles Spotpass usage ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Title&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Home Menu]]&lt;br /&gt;
| Home Menu uses SpotPass for system notifications, and for uploading data from home-menu shared extdata.&lt;br /&gt;
|-&lt;br /&gt;
| [[System Settings]]&lt;br /&gt;
| System Settings uses SpotPass for uploading data, with this URL: https://npul.c.app.nintendowifi.net/p01/recv/&amp;lt;RegionID&amp;gt;/sendcfg This RegionID is separate from the RegionIDs home-menu uses.&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| Unknown log data is uploaded with this URL: https://logus-p.est.c.app.nintendowifi.net/LogServer_us_live/Upload&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Automatic System Update Download ==&lt;br /&gt;
See [[Automatic System Update Download]].&lt;br /&gt;
&lt;br /&gt;
== BOSS Sysmodule Savegame==&lt;br /&gt;
See [[BOSS Savegame]]&lt;br /&gt;
&lt;br /&gt;
== Content Container ==&lt;br /&gt;
&lt;br /&gt;
SpotPass content must use this container to encrypt the payload and sign it, for content downloads. The cleartext content is stored in [[extdata]]. The format of these headers is big-endian.&lt;br /&gt;
&lt;br /&gt;
=== BOSS Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number &amp;quot;boss&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number 0x10001&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Big-endian filesize&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x8&lt;br /&gt;
| u64 serial number (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x2&lt;br /&gt;
| Must always be 0x1&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header hash type, always 0x2 for SHA-256&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header RSA size, always 0x2 for RSA-2048 (X&amp;lt;&amp;lt;7)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xC&lt;br /&gt;
| First 12 bytes of the Initialization Vector (IV)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Data following the BOSS header is encrypted with AES-CTR. The AES key that is used is stored in [[AES_Registers#Keyslots|keyslot 0x38]]. The first 12 bytes of the IV are from offset 0x1C of the header, while the last 32-bit integer of the IV in big-endian is 0x1. The IV from the header is random per file, and an unique random IV is used each time the content is updated. The cleartext data begins with the content header.&lt;br /&gt;
&lt;br /&gt;
The 64-bit number at 0xC may be a serial number which is increased every time someone requested to sign and create a boss container for a file. The 3DS sees the downloaded file as new if this number is different from the previous download (Doesn&#039;t matter if the number is bigger or smaller).&lt;br /&gt;
&lt;br /&gt;
The boss system module v13314 begins at address 0x0010eb98 with the function for parsing the BOSS header.&lt;br /&gt;
&lt;br /&gt;
=== Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x10&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x2&lt;br /&gt;
| Number of payload contents (Payload Content Header + Payload)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x32&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the above hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 0x10-bytes are all-zero except the first byte which is usually 0x80. It&#039;s unknown what the first 0x10-bytes are used for.&lt;br /&gt;
&lt;br /&gt;
The 16-bit value at 0x10 tells how many payload contents follow after this the content header. For example there can be a downloaded file for a game followed by a message for the news system module.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory.&lt;br /&gt;
&lt;br /&gt;
=== Payload Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x8&lt;br /&gt;
| ProgramID&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content datatype, used for filtering with [[BOSSU:GetNsDataIdList]].&lt;br /&gt;
Usually 0x10001? (observed 0x20001 in eShop strings)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Size of the payload after this header&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| [[BOSS_Services|NsDataId]], used for generating the extdata filepath.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Probably some version field for the payload&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the previous SHA-256 hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This signature is signed by Nintendo with the same key-pair as the content header.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x1C hashes the 0x1C-byte data at offset 0x0 followed by a zero u16, followed by all of the remaining cleartext data following this header(the actual content data).&lt;br /&gt;
&lt;br /&gt;
The downloaded boss data is written in the following format to extdata. The file name that is generated might be Base85/Ascii85 encoded.&lt;br /&gt;
First an extdata header in the following format&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x1&lt;br /&gt;
| Size of header including this field. Always 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xB&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Download date in format: Bit 0-6 = day, Bit 7-10 = month, Bit 11-21 = year&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero? Padding?&lt;br /&gt;
|}&lt;br /&gt;
Followed by the Payload Content Header without the hash and signature (first 0x1C bytes) and the actual payload.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
* [http://wiiucodes.ddnss.eu/tools/BossDecryptor3DS.zip BossDecryptor3DS] Decrypts an encrypted boss container&lt;br /&gt;
* [http://wiiucodes.ddnss.eu/tools/BossEncryptor3DS.zip BossEncryptor3DS] Builds and encrypts a file into a boss container&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Seedminer&amp;diff=22556</id>
		<title>Seedminer</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Seedminer&amp;diff=22556"/>
		<updated>2024-05-21T06:47:40Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Seedminer&#039;&#039;&#039; is software by zoogie that lets you bruteforce your [[Nand/private/movable.sed|movable.sed]].&lt;br /&gt;
&lt;br /&gt;
https://github.com/zoogie/seedminer&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Seedminer&amp;diff=22555</id>
		<title>Seedminer</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Seedminer&amp;diff=22555"/>
		<updated>2024-05-21T06:42:03Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Seedminer&amp;#039;&amp;#039;&amp;#039; is software by zoogie that lets you bruteforce your moveable.sed.  https://github.com/zoogie/seedminer&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Seedminer&#039;&#039;&#039; is software by zoogie that lets you bruteforce your moveable.sed.&lt;br /&gt;
&lt;br /&gt;
https://github.com/zoogie/seedminer&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=StreetPass&amp;diff=22554</id>
		<title>StreetPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=StreetPass&amp;diff=22554"/>
		<updated>2024-05-12T16:59:56Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* StreetPass Relay */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;StreetPass&#039;&#039;&#039; is a feature that allows your 3DS to connect with other 3DS consoles using WiFi in standby mode.&lt;br /&gt;
It can be used to share Mii(s) on Mii Plaza for example. Applications&#039; StreetPass data are stored in the CECD module&#039;s NAND savegame, applications can move received StreetPass data to an arbitrary savegame. Wifi infrastructure with APs are used to communicate where the data-frames are encrypted with WPA2 CCMP, like [[NWM_Services|UDS]]/[[Download Play]].&lt;br /&gt;
&lt;br /&gt;
== WiFi Probe Request Frame ==&lt;br /&gt;
&lt;br /&gt;
Whenever the 3DS is woken from sleep (or turned on), and WiFi is enabled, it sends out a 802.11 Probe Request which include all saved access points, as well a probe to an SSID containing an arbitrary string of data, such as &amp;quot;ic[kSvm9s@*cYD&amp;gt;/~IEVj\(fGG;qDo8j&amp;quot;. This string changes at least daily, and most likely every time the device is woken up.&lt;br /&gt;
&lt;br /&gt;
The MAC address used for these probes is the static MAC address found in the System Settings application. Unlike the StreetPass MAC address, it will not change over time. This MAC address OUI also differs from the one used in StreetPass.&lt;br /&gt;
&lt;br /&gt;
== CCMP Key ==&lt;br /&gt;
The StreetPass local-WLAN CCMP data-encryption key is generated by the StreetPass CECD module, where the CCMP key is the 16-byte output from encrypting an all-zero block with AES-CTR via [[PS:EncryptDecryptAes]], with keytype6. The CTR is the first 0x10-bytes from a SHA1-HMAC hash. The SHA1-HMAC key is a 17-byte text string including the NULL-terminator, a seperate HMAC key is used for retail/dev-units, this is determined via [[Configuration_Memory#ENVINFO|ENVINFO]] bit0. The data hashed with SHA1-HMAC is a 0x1C-byte buffer, which is described below.&lt;br /&gt;
&lt;br /&gt;
=== Hash Block ===&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;
| 0x8&lt;br /&gt;
| 8-byte StreetPass consoleID for the host, from the probe frames.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x8&lt;br /&gt;
| 8-byte StreetPass consoleID for the client, from the probe frames.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x6&lt;br /&gt;
| MAC address for host.&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x6&lt;br /&gt;
| MAC address for client.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== StreetPass Exchange ==&lt;br /&gt;
&lt;br /&gt;
While StreetPass is enabled, the 3DS constantly sends out Probe Requests with an SSID of &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;. Unlike beacons, which are actively advertising the device&#039;s presence, the 3DS is essentially actively looking for other 3DSes. This design is likely to limit impact to non-3DS WiFi capable devices. Each Probe Request contains basic information about that 3DS, including an identifier, and active StreetPass services. If another 3DS is in range, the second 3DS (#2) will respond with a Probe Response, to which the original 3DS (#1), and of the receiving device with every frame thereafter, will respond with an 802.11 Acknowledgement. 3DS(#1) then sends an 802.11 Action frame, as well as an additional Probe Request. The second 3DS sends back another Probe Response that begins the encrypted exchange between the two devices, no authentication/association is done here.&lt;br /&gt;
&lt;br /&gt;
The MAC address used in sleep-mode seems to change every time there&#039;s a StreetPass hit, as well as the last 8-bytes(StreetPass consoleID) of the Nintendo tag data. The MAC address + 8-byte StreetPass consoleID is seen to change every time the user enters and exits and Settings application if they have not had a StreetPass in an observed time period of 24 hours. It is uncertain how the 3DS determines when it can do a StreetPass again with another 3DS, or what information is actually used to track that. It may be related to how long that 3DS was in range constantly/out of range. 3DSes that are constantly in range of each other in sleep-mode, usually do StreetPass every 11 hours.&lt;br /&gt;
&lt;br /&gt;
=== Probe Request Frame ===&lt;br /&gt;
&lt;br /&gt;
Using Wireshark tool with a WiFi card in monitor mode allow you to see the data used to scan for other 3DS in the range. The below is a broadcast probe request from an 3DS while in standby mode, with SSID &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;. This SSID remains consistent across all 3DS units. This frame also contains a custom variable length Nintendo tag, which contains information regarding the offered StreetPass services. The sequence numbers for these probe request increment by 3 for every probe, until another 3DS responds with a probe response.&lt;br /&gt;
&lt;br /&gt;
  0000   00 00 1a 00 2f 48 00 00 19 7d 19 de 2a 00 00 00  ..../H...}..*...&lt;br /&gt;
  0010   12 16 9e 09 a0 00 c9 02 00 00 40 00 00 00 ff ff  ..........@.....&lt;br /&gt;
  0020   ff ff ff ff da 6b f7 22 f3 77 ff ff ff ff ff ff  .....k.&amp;quot;.w......&lt;br /&gt;
  0030   40 77 00 20 4e 69 6e 74 65 6e 64 6f 5f 33 44 53  @w. Nintendo_3DS&lt;br /&gt;
  0040   5f 63 6f 6e 74 69 6e 75 6f 75 73 5f 73 63 61 6e  _continuous_scan&lt;br /&gt;
  0050   5f 30 30 30 01 08 82 84 8b 0c 12 96 18 24 32 04  _000.........$2.&lt;br /&gt;
  0060   30 48 60 6c dd 15 00 1f 32 01 11 05 00 02 08 00  0H`l....2.......&lt;br /&gt;
  0070   00 f0 08 c8 34 6e 05 0f c9 c6 80 5b 6f bc 5a     ....4n.....[o.Z&lt;br /&gt;
&lt;br /&gt;
==== Nintendo Tag Format ====&lt;br /&gt;
&lt;br /&gt;
The offsets, in bytes, mentioned in the table below start at the beginning of the Nintendo tag ID, which is variable in length, and can be found right after the Vendor Specific OUI type of the 802.11 frame, which is often seen as a byte of &amp;quot;01&amp;quot;. Each one of the elements are discussed in more detail after the table. Note that this table represents a current theory on what each of the fields represent, with the argument stated in the corresponding sections.&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;
!  Length&lt;br /&gt;
!  Purpose&lt;br /&gt;
!  Description&lt;br /&gt;
!  Example&lt;br /&gt;
|-&lt;br /&gt;
|  0x00&lt;br /&gt;
|  0x01&lt;br /&gt;
|  &#039;&#039;&#039;Protocol Identification&#039;&#039;&#039;&lt;br /&gt;
|  May be for protocol identification. All captures thus far show this value at 17, hexadecimal 11.&lt;br /&gt;
| 11&lt;br /&gt;
|-&lt;br /&gt;
|  0x01&lt;br /&gt;
|  0x01&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass Service Length&#039;&#039;&#039;&lt;br /&gt;
|  Length in bytes of only the StreetPass Services field.&lt;br /&gt;
|  05&lt;br /&gt;
|-&lt;br /&gt;
|  0x02&lt;br /&gt;
|  0x05&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass Services&#039;&#039;&#039;&lt;br /&gt;
|  Starting at the 0x02 offset, it appears to be a list of StreetPass services, each in length of 5 bytes. This continues on depending on the number of services the user has enabled at the time.&lt;br /&gt;
|  00 02 08 00 00&lt;br /&gt;
|-&lt;br /&gt;
|  varies&lt;br /&gt;
|  0x02&lt;br /&gt;
|  &#039;&#039;&#039;Unknown&#039;&#039;&#039;&lt;br /&gt;
|  At the end of the StreetPass Services field is a two byte field that is the same among all devices thus far. Its purpose is unknown.&lt;br /&gt;
|  f0 08&lt;br /&gt;
|-&lt;br /&gt;
|  -0x08&lt;br /&gt;
|  0x08&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass consoleID&#039;&#039;&#039;&lt;br /&gt;
|  Seen to change when the Settings app is used if there has not been a StreetPass tag recently. Also may change after each StreetPass hit and system power-off?&lt;br /&gt;
|  c8 34 6e 05 0f c9 c6 80&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Protocol Version =====&lt;br /&gt;
&lt;br /&gt;
Appears to represent a protocol version, or device identification. This field remains consistent on all devices, despite variable enabled StreetPass services or length of the tag. Could also represent region.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass Service Length =====&lt;br /&gt;
&lt;br /&gt;
This field is used to indicate the length of the StreetPass Services field. Removing and adding services has shown this field to increment and decrement in 5 bytes, or 11 bytes depending on the game. The StreetPass Services field has then expanded or reduced accordingly.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass Services =====&lt;br /&gt;
&lt;br /&gt;
The third field in the protocol header appears to be an arbitrary length list of StreetPass services enabled on the device. Each StreetPass service seems to be identified by a 5-byte ID. If you enable or disable services, the number of 5-byte IDs grows and shrinks within this list. Observed service IDs include:&lt;br /&gt;
&lt;br /&gt;
  Mii Plaza: 00 02 08 00 00&lt;br /&gt;
  Ridge Racer: 00 03 58 00 30&lt;br /&gt;
  Sims 3: 00 03 65 00 30&lt;br /&gt;
  Street Fighter: 00 03 05 00 02 (FF FF FF FF FF FF)&lt;br /&gt;
&lt;br /&gt;
The first 4 bytes are the titleID of the service, the last byte seems to contain flags.&lt;br /&gt;
&lt;br /&gt;
The last byte (flags) have been observed between those possibilities :&lt;br /&gt;
&lt;br /&gt;
  00000000&lt;br /&gt;
  00000010&lt;br /&gt;
  00010000&lt;br /&gt;
  00100000&lt;br /&gt;
  00110000&lt;br /&gt;
  00110010&lt;br /&gt;
&lt;br /&gt;
Only the bits 2,5,6 were used.&lt;br /&gt;
When set, the bit n°2 indicates the presence of a followinf 6-byte field filled with 0xff.&lt;br /&gt;
&lt;br /&gt;
Some services have a 6-byte field succeeding the StreetPass service that is just FF bytes (e.g. FF FF FF FF FF FF). The purpose of these is unknown, although may be used as data for a service, or as separator of some sort for different types of StreetPass services.&lt;br /&gt;
&lt;br /&gt;
Observed services (leading titleID 0x00 removed, 6*0xff ignored) on 68K probe requests between 2013-08-24 and 2014-06-29 in various european locations.&lt;br /&gt;
&lt;br /&gt;
The fact that a same titleID can have different flags should be noted.&lt;br /&gt;
&lt;br /&gt;
  0db6-00100000 5&lt;br /&gt;
  0db6-00110000 20&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Occurrences&lt;br /&gt;
!  TitleID &lt;br /&gt;
!  Flags&lt;br /&gt;
|-&lt;br /&gt;
| 131&lt;br /&gt;
| 0208&lt;br /&gt;
| 00000000&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 0516&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 053f&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 0306&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 44&lt;br /&gt;
| 0862&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 09f1&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 0db6&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0516&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0205&lt;br /&gt;
| 00110010&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0ec4&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0300&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 055d&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 08d3&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 053b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0916&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0306&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0300&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 0916&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0b1d&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 0ec4&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 080f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 07c8&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 038a&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0f30&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0db6&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0910&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0862&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 053f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0522&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0ae2&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 09f1&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 08c5&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 038c&lt;br /&gt;
| 00000000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 033b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 030b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0ba9&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0a53&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 08d3&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0751&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0402&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0f82&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0f5b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0e7f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0bff&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0b1d&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0ad6&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0a90&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0a05&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 073c&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 06da&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 05aa&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 05a5&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 053b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 04ca&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 038a&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 033b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 030b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0305&lt;br /&gt;
| 00000010&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Unknown 2-byte Field =====&lt;br /&gt;
&lt;br /&gt;
The purpose of this field is not known yet. It has remained the same across all devices thus far. The value has always been observed as &#039;&#039;&#039;f008&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass consoleID =====&lt;br /&gt;
&lt;br /&gt;
When there&#039;s a StreetPass hit, and no StreetPass data changed on either of the 3DSes, no data is transferred besides probes? After turning off power, then powering on and entering sleepmode, the MAC doesn&#039;t change from prior to power off but the last 8-bytes of the Nintendo tag changes. This tag has been seen to not be sequential over time. After one of the new StreetPass content is handled, (running one of the StreetPass titles etc) this 8-byte StreetPass consoleID changes?&lt;br /&gt;
&lt;br /&gt;
=== Initial Probe Response Frame ===&lt;br /&gt;
&lt;br /&gt;
If a 3DS (#2) receives another device&#039;s probe request and has not yet tagged that device in an arbitrary amount of time (~12 hours), the receiving 3DS (#2) will respond with a Probe Response frame. The destination MAC address is the StreetPass MAC address of the 3DS (#1) that was transmitting the probe request, while the receiving device sets its StreetPass MAC address as the source address. This is important to note because further exchanges may cease using destination and/or source addresses.&lt;br /&gt;
&lt;br /&gt;
In the probe response, the 3DS (#2) appears to offer a channel of 1, 6, or 11. Different channels have been seen offered between the same set of 3DS for each StreetPass. Offered channels, and channel range most likely varies by region.&lt;br /&gt;
&lt;br /&gt;
The StreetPass Probe Response frame contains the same Nintendo tag in Probe Requests of the device that is transmitting the Probe Response frame.&lt;br /&gt;
&lt;br /&gt;
=== Subsequent Probe Request and Response Frames ===&lt;br /&gt;
&lt;br /&gt;
The 3DS (#1) that the Initial Probe Response is directed to will send an 802.11 Action frame back to the device. The sequence numbers at this point stop stepping up by 3, and instead increase by one based from each originating device&#039;s SN. It will then send another Probe Request, this time sent directly to the responding 3DS (#2) by specifying its MAC address in the destination field, and setting its own MAC address in the source address field. It also does not have a SSID specified in the frame, except the frame will contain a BSSID with the value of the 3DS (#2) that responded to the initial Probe, and thus acts as the master in the 802.11 exchange.&lt;br /&gt;
&lt;br /&gt;
== StreetPass Spoofing ==&lt;br /&gt;
&lt;br /&gt;
A streetpass &amp;quot;AP&amp;quot; was spoofed with hostapd by setting the SSID to &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;, with the extra Nintendo tag from another 3DS&#039; probe request. Like 3DS&amp;lt;&amp;gt;3DS communications, the 3DS didn&#039;t authenticate or associate with the host. Streetpass communications use CCMP encryption. Eventually the 3DS stops communicating with the host since the host doesn&#039;t reply to any of the data frames, then sends a 802.11 &amp;quot;Action&amp;quot; frame, with category ID 0x7f and Nintendo&#039;s vendor ID: 00 1f 32.(However the 3DS keeps communicating with the above process repeatedly)&lt;br /&gt;
Communication with two 3DSes are the same as above except there&#039;s actual encrypted data sent to/from both consoles, unlike the fake host.&lt;br /&gt;
&lt;br /&gt;
==StreetPass Relay==&lt;br /&gt;
This feature was implemented in version [[6.2.0-12]].&lt;br /&gt;
&lt;br /&gt;
It was probably controlled over the [[SpotPass#policylist]]. When connecting to a Nintendo Zone Hotspot the console will send an additional GET parameter named &#039;&#039;ap&#039;&#039;. Adding the following priority to the policylist will instruct the console to upload its data (The level tag can probably be lower and must not be HIGH).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Priority&amp;gt;&lt;br /&gt;
    &amp;lt;TitleId&amp;gt;0004013000003400&amp;lt;/TitleId&amp;gt;&lt;br /&gt;
    &amp;lt;TaskId&amp;gt;sprelay&amp;lt;/TaskId&amp;gt;&lt;br /&gt;
    &amp;lt;Level&amp;gt;HIGH&amp;lt;/Level&amp;gt;&lt;br /&gt;
    &amp;lt;Persistent&amp;gt;false&amp;lt;/Persistent&amp;gt;&lt;br /&gt;
    &amp;lt;Revive&amp;gt;false&amp;lt;/Revive&amp;gt;&lt;br /&gt;
  &amp;lt;/Priority&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the request body there will be a file named &#039;&#039;spr-meta&#039;&#039; and a file per registered StreetPass game &#039;&#039;spr-slotXX&#039;&#039; where XX is an incrementing number. If the game contains not messages in its outbox so the size of the file would be 0 then no file is created and sent but it will still be listed in the spr-meta file.&lt;br /&gt;
&lt;br /&gt;
===spr-meta file===&lt;br /&gt;
The spr-meta file is a text file which may contain the following content.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slotsize: 5&lt;br /&gt;
spr-slot01: 3,000EC400,10664&lt;br /&gt;
spr-slot02: 2,0007AD00,3648&lt;br /&gt;
spr-slot03: 3,00030000,3804&lt;br /&gt;
spr-slot04: 1,00051600,0&lt;br /&gt;
spr-slot05: 0,00020800,28228&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The comma seperated list after each spr-slotXX has the following meaning&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|unknown||StreetPass ID (Low title ID of the game. May be from a different region like japan.)||Size of the file in bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===spr-slotXX files===&lt;br /&gt;
These are binary files. They begin a with a header with the follwing structure.&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
!Offset!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||0x04||Magic number 0x00006161&lt;br /&gt;
|-&lt;br /&gt;
|0x04||0x04||Size of the file in bytes including this header&lt;br /&gt;
|-&lt;br /&gt;
|0x08||0x04||StreetPass ID (Low title ID of the game. May be from a different region like japan.)&lt;br /&gt;
|-&lt;br /&gt;
|0x0C||0x04||Unknown. Maybe some version field. Always 0x00000001&lt;br /&gt;
|-&lt;br /&gt;
|0x10||0x04||Number of messages after this header&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=StreetPass&amp;diff=22553</id>
		<title>StreetPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=StreetPass&amp;diff=22553"/>
		<updated>2024-05-12T16:44:29Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* StreetPass Relay */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;StreetPass&#039;&#039;&#039; is a feature that allows your 3DS to connect with other 3DS consoles using WiFi in standby mode.&lt;br /&gt;
It can be used to share Mii(s) on Mii Plaza for example. Applications&#039; StreetPass data are stored in the CECD module&#039;s NAND savegame, applications can move received StreetPass data to an arbitrary savegame. Wifi infrastructure with APs are used to communicate where the data-frames are encrypted with WPA2 CCMP, like [[NWM_Services|UDS]]/[[Download Play]].&lt;br /&gt;
&lt;br /&gt;
== WiFi Probe Request Frame ==&lt;br /&gt;
&lt;br /&gt;
Whenever the 3DS is woken from sleep (or turned on), and WiFi is enabled, it sends out a 802.11 Probe Request which include all saved access points, as well a probe to an SSID containing an arbitrary string of data, such as &amp;quot;ic[kSvm9s@*cYD&amp;gt;/~IEVj\(fGG;qDo8j&amp;quot;. This string changes at least daily, and most likely every time the device is woken up.&lt;br /&gt;
&lt;br /&gt;
The MAC address used for these probes is the static MAC address found in the System Settings application. Unlike the StreetPass MAC address, it will not change over time. This MAC address OUI also differs from the one used in StreetPass.&lt;br /&gt;
&lt;br /&gt;
== CCMP Key ==&lt;br /&gt;
The StreetPass local-WLAN CCMP data-encryption key is generated by the StreetPass CECD module, where the CCMP key is the 16-byte output from encrypting an all-zero block with AES-CTR via [[PS:EncryptDecryptAes]], with keytype6. The CTR is the first 0x10-bytes from a SHA1-HMAC hash. The SHA1-HMAC key is a 17-byte text string including the NULL-terminator, a seperate HMAC key is used for retail/dev-units, this is determined via [[Configuration_Memory#ENVINFO|ENVINFO]] bit0. The data hashed with SHA1-HMAC is a 0x1C-byte buffer, which is described below.&lt;br /&gt;
&lt;br /&gt;
=== Hash Block ===&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;
| 0x8&lt;br /&gt;
| 8-byte StreetPass consoleID for the host, from the probe frames.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x8&lt;br /&gt;
| 8-byte StreetPass consoleID for the client, from the probe frames.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x6&lt;br /&gt;
| MAC address for host.&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x6&lt;br /&gt;
| MAC address for client.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== StreetPass Exchange ==&lt;br /&gt;
&lt;br /&gt;
While StreetPass is enabled, the 3DS constantly sends out Probe Requests with an SSID of &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;. Unlike beacons, which are actively advertising the device&#039;s presence, the 3DS is essentially actively looking for other 3DSes. This design is likely to limit impact to non-3DS WiFi capable devices. Each Probe Request contains basic information about that 3DS, including an identifier, and active StreetPass services. If another 3DS is in range, the second 3DS (#2) will respond with a Probe Response, to which the original 3DS (#1), and of the receiving device with every frame thereafter, will respond with an 802.11 Acknowledgement. 3DS(#1) then sends an 802.11 Action frame, as well as an additional Probe Request. The second 3DS sends back another Probe Response that begins the encrypted exchange between the two devices, no authentication/association is done here.&lt;br /&gt;
&lt;br /&gt;
The MAC address used in sleep-mode seems to change every time there&#039;s a StreetPass hit, as well as the last 8-bytes(StreetPass consoleID) of the Nintendo tag data. The MAC address + 8-byte StreetPass consoleID is seen to change every time the user enters and exits and Settings application if they have not had a StreetPass in an observed time period of 24 hours. It is uncertain how the 3DS determines when it can do a StreetPass again with another 3DS, or what information is actually used to track that. It may be related to how long that 3DS was in range constantly/out of range. 3DSes that are constantly in range of each other in sleep-mode, usually do StreetPass every 11 hours.&lt;br /&gt;
&lt;br /&gt;
=== Probe Request Frame ===&lt;br /&gt;
&lt;br /&gt;
Using Wireshark tool with a WiFi card in monitor mode allow you to see the data used to scan for other 3DS in the range. The below is a broadcast probe request from an 3DS while in standby mode, with SSID &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;. This SSID remains consistent across all 3DS units. This frame also contains a custom variable length Nintendo tag, which contains information regarding the offered StreetPass services. The sequence numbers for these probe request increment by 3 for every probe, until another 3DS responds with a probe response.&lt;br /&gt;
&lt;br /&gt;
  0000   00 00 1a 00 2f 48 00 00 19 7d 19 de 2a 00 00 00  ..../H...}..*...&lt;br /&gt;
  0010   12 16 9e 09 a0 00 c9 02 00 00 40 00 00 00 ff ff  ..........@.....&lt;br /&gt;
  0020   ff ff ff ff da 6b f7 22 f3 77 ff ff ff ff ff ff  .....k.&amp;quot;.w......&lt;br /&gt;
  0030   40 77 00 20 4e 69 6e 74 65 6e 64 6f 5f 33 44 53  @w. Nintendo_3DS&lt;br /&gt;
  0040   5f 63 6f 6e 74 69 6e 75 6f 75 73 5f 73 63 61 6e  _continuous_scan&lt;br /&gt;
  0050   5f 30 30 30 01 08 82 84 8b 0c 12 96 18 24 32 04  _000.........$2.&lt;br /&gt;
  0060   30 48 60 6c dd 15 00 1f 32 01 11 05 00 02 08 00  0H`l....2.......&lt;br /&gt;
  0070   00 f0 08 c8 34 6e 05 0f c9 c6 80 5b 6f bc 5a     ....4n.....[o.Z&lt;br /&gt;
&lt;br /&gt;
==== Nintendo Tag Format ====&lt;br /&gt;
&lt;br /&gt;
The offsets, in bytes, mentioned in the table below start at the beginning of the Nintendo tag ID, which is variable in length, and can be found right after the Vendor Specific OUI type of the 802.11 frame, which is often seen as a byte of &amp;quot;01&amp;quot;. Each one of the elements are discussed in more detail after the table. Note that this table represents a current theory on what each of the fields represent, with the argument stated in the corresponding sections.&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;
!  Length&lt;br /&gt;
!  Purpose&lt;br /&gt;
!  Description&lt;br /&gt;
!  Example&lt;br /&gt;
|-&lt;br /&gt;
|  0x00&lt;br /&gt;
|  0x01&lt;br /&gt;
|  &#039;&#039;&#039;Protocol Identification&#039;&#039;&#039;&lt;br /&gt;
|  May be for protocol identification. All captures thus far show this value at 17, hexadecimal 11.&lt;br /&gt;
| 11&lt;br /&gt;
|-&lt;br /&gt;
|  0x01&lt;br /&gt;
|  0x01&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass Service Length&#039;&#039;&#039;&lt;br /&gt;
|  Length in bytes of only the StreetPass Services field.&lt;br /&gt;
|  05&lt;br /&gt;
|-&lt;br /&gt;
|  0x02&lt;br /&gt;
|  0x05&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass Services&#039;&#039;&#039;&lt;br /&gt;
|  Starting at the 0x02 offset, it appears to be a list of StreetPass services, each in length of 5 bytes. This continues on depending on the number of services the user has enabled at the time.&lt;br /&gt;
|  00 02 08 00 00&lt;br /&gt;
|-&lt;br /&gt;
|  varies&lt;br /&gt;
|  0x02&lt;br /&gt;
|  &#039;&#039;&#039;Unknown&#039;&#039;&#039;&lt;br /&gt;
|  At the end of the StreetPass Services field is a two byte field that is the same among all devices thus far. Its purpose is unknown.&lt;br /&gt;
|  f0 08&lt;br /&gt;
|-&lt;br /&gt;
|  -0x08&lt;br /&gt;
|  0x08&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass consoleID&#039;&#039;&#039;&lt;br /&gt;
|  Seen to change when the Settings app is used if there has not been a StreetPass tag recently. Also may change after each StreetPass hit and system power-off?&lt;br /&gt;
|  c8 34 6e 05 0f c9 c6 80&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Protocol Version =====&lt;br /&gt;
&lt;br /&gt;
Appears to represent a protocol version, or device identification. This field remains consistent on all devices, despite variable enabled StreetPass services or length of the tag. Could also represent region.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass Service Length =====&lt;br /&gt;
&lt;br /&gt;
This field is used to indicate the length of the StreetPass Services field. Removing and adding services has shown this field to increment and decrement in 5 bytes, or 11 bytes depending on the game. The StreetPass Services field has then expanded or reduced accordingly.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass Services =====&lt;br /&gt;
&lt;br /&gt;
The third field in the protocol header appears to be an arbitrary length list of StreetPass services enabled on the device. Each StreetPass service seems to be identified by a 5-byte ID. If you enable or disable services, the number of 5-byte IDs grows and shrinks within this list. Observed service IDs include:&lt;br /&gt;
&lt;br /&gt;
  Mii Plaza: 00 02 08 00 00&lt;br /&gt;
  Ridge Racer: 00 03 58 00 30&lt;br /&gt;
  Sims 3: 00 03 65 00 30&lt;br /&gt;
  Street Fighter: 00 03 05 00 02 (FF FF FF FF FF FF)&lt;br /&gt;
&lt;br /&gt;
The first 4 bytes are the titleID of the service, the last byte seems to contain flags.&lt;br /&gt;
&lt;br /&gt;
The last byte (flags) have been observed between those possibilities :&lt;br /&gt;
&lt;br /&gt;
  00000000&lt;br /&gt;
  00000010&lt;br /&gt;
  00010000&lt;br /&gt;
  00100000&lt;br /&gt;
  00110000&lt;br /&gt;
  00110010&lt;br /&gt;
&lt;br /&gt;
Only the bits 2,5,6 were used.&lt;br /&gt;
When set, the bit n°2 indicates the presence of a followinf 6-byte field filled with 0xff.&lt;br /&gt;
&lt;br /&gt;
Some services have a 6-byte field succeeding the StreetPass service that is just FF bytes (e.g. FF FF FF FF FF FF). The purpose of these is unknown, although may be used as data for a service, or as separator of some sort for different types of StreetPass services.&lt;br /&gt;
&lt;br /&gt;
Observed services (leading titleID 0x00 removed, 6*0xff ignored) on 68K probe requests between 2013-08-24 and 2014-06-29 in various european locations.&lt;br /&gt;
&lt;br /&gt;
The fact that a same titleID can have different flags should be noted.&lt;br /&gt;
&lt;br /&gt;
  0db6-00100000 5&lt;br /&gt;
  0db6-00110000 20&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Occurrences&lt;br /&gt;
!  TitleID &lt;br /&gt;
!  Flags&lt;br /&gt;
|-&lt;br /&gt;
| 131&lt;br /&gt;
| 0208&lt;br /&gt;
| 00000000&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 0516&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 053f&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 0306&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 44&lt;br /&gt;
| 0862&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 09f1&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 0db6&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0516&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0205&lt;br /&gt;
| 00110010&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0ec4&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0300&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 055d&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 08d3&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 053b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0916&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0306&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0300&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 0916&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0b1d&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 0ec4&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 080f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 07c8&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 038a&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0f30&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0db6&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0910&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0862&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 053f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0522&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0ae2&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 09f1&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 08c5&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 038c&lt;br /&gt;
| 00000000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 033b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 030b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0ba9&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0a53&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 08d3&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0751&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0402&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0f82&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0f5b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0e7f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0bff&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0b1d&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0ad6&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0a90&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0a05&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 073c&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 06da&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 05aa&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 05a5&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 053b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 04ca&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 038a&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 033b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 030b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0305&lt;br /&gt;
| 00000010&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Unknown 2-byte Field =====&lt;br /&gt;
&lt;br /&gt;
The purpose of this field is not known yet. It has remained the same across all devices thus far. The value has always been observed as &#039;&#039;&#039;f008&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass consoleID =====&lt;br /&gt;
&lt;br /&gt;
When there&#039;s a StreetPass hit, and no StreetPass data changed on either of the 3DSes, no data is transferred besides probes? After turning off power, then powering on and entering sleepmode, the MAC doesn&#039;t change from prior to power off but the last 8-bytes of the Nintendo tag changes. This tag has been seen to not be sequential over time. After one of the new StreetPass content is handled, (running one of the StreetPass titles etc) this 8-byte StreetPass consoleID changes?&lt;br /&gt;
&lt;br /&gt;
=== Initial Probe Response Frame ===&lt;br /&gt;
&lt;br /&gt;
If a 3DS (#2) receives another device&#039;s probe request and has not yet tagged that device in an arbitrary amount of time (~12 hours), the receiving 3DS (#2) will respond with a Probe Response frame. The destination MAC address is the StreetPass MAC address of the 3DS (#1) that was transmitting the probe request, while the receiving device sets its StreetPass MAC address as the source address. This is important to note because further exchanges may cease using destination and/or source addresses.&lt;br /&gt;
&lt;br /&gt;
In the probe response, the 3DS (#2) appears to offer a channel of 1, 6, or 11. Different channels have been seen offered between the same set of 3DS for each StreetPass. Offered channels, and channel range most likely varies by region.&lt;br /&gt;
&lt;br /&gt;
The StreetPass Probe Response frame contains the same Nintendo tag in Probe Requests of the device that is transmitting the Probe Response frame.&lt;br /&gt;
&lt;br /&gt;
=== Subsequent Probe Request and Response Frames ===&lt;br /&gt;
&lt;br /&gt;
The 3DS (#1) that the Initial Probe Response is directed to will send an 802.11 Action frame back to the device. The sequence numbers at this point stop stepping up by 3, and instead increase by one based from each originating device&#039;s SN. It will then send another Probe Request, this time sent directly to the responding 3DS (#2) by specifying its MAC address in the destination field, and setting its own MAC address in the source address field. It also does not have a SSID specified in the frame, except the frame will contain a BSSID with the value of the 3DS (#2) that responded to the initial Probe, and thus acts as the master in the 802.11 exchange.&lt;br /&gt;
&lt;br /&gt;
== StreetPass Spoofing ==&lt;br /&gt;
&lt;br /&gt;
A streetpass &amp;quot;AP&amp;quot; was spoofed with hostapd by setting the SSID to &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;, with the extra Nintendo tag from another 3DS&#039; probe request. Like 3DS&amp;lt;&amp;gt;3DS communications, the 3DS didn&#039;t authenticate or associate with the host. Streetpass communications use CCMP encryption. Eventually the 3DS stops communicating with the host since the host doesn&#039;t reply to any of the data frames, then sends a 802.11 &amp;quot;Action&amp;quot; frame, with category ID 0x7f and Nintendo&#039;s vendor ID: 00 1f 32.(However the 3DS keeps communicating with the above process repeatedly)&lt;br /&gt;
Communication with two 3DSes are the same as above except there&#039;s actual encrypted data sent to/from both consoles, unlike the fake host.&lt;br /&gt;
&lt;br /&gt;
==StreetPass Relay==&lt;br /&gt;
This feature was implemented in version [[6.2.0-12]].&lt;br /&gt;
&lt;br /&gt;
It was probably controlled over the [[SpotPass#policylist]]. When connecting to a Nintendo Zone Hotspot the console will send an additional GET parameter named &#039;&#039;ap&#039;&#039;. Adding the following priority to the policylist will instruct the console to upload its data (The level tag can probably be lower and must not be HIGH).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Priority&amp;gt;&lt;br /&gt;
    &amp;lt;TitleId&amp;gt;0004013000003400&amp;lt;/TitleId&amp;gt;&lt;br /&gt;
    &amp;lt;TaskId&amp;gt;sprelay&amp;lt;/TaskId&amp;gt;&lt;br /&gt;
    &amp;lt;Level&amp;gt;HIGH&amp;lt;/Level&amp;gt;&lt;br /&gt;
    &amp;lt;Persistent&amp;gt;false&amp;lt;/Persistent&amp;gt;&lt;br /&gt;
    &amp;lt;Revive&amp;gt;false&amp;lt;/Revive&amp;gt;&lt;br /&gt;
  &amp;lt;/Priority&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the request body there will be a file named &#039;&#039;spr-meta&#039;&#039; and a file per registered StreetPass game &#039;&#039;spr-slotXX&#039;&#039; where XX is an incrementing number. If the game contains not messages in its outbox so the size of the file would be 0 then no file is created and sent but it will still be listed in the spr-meta file.&lt;br /&gt;
&lt;br /&gt;
===spr-meta file===&lt;br /&gt;
The spr-meta file is a text file which may contain the following content.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slotsize: 5&lt;br /&gt;
spr-slot01: 3,000EC400,10664&lt;br /&gt;
spr-slot02: 2,0007AD00,3648&lt;br /&gt;
spr-slot03: 3,00030000,3804&lt;br /&gt;
spr-slot04: 1,00051600,0&lt;br /&gt;
spr-slot05: 0,00020800,28228&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The comma seperated list after each spr-slotXX has the following meaning&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|unknown||StreetPass ID (Low title ID of the game. May be from a different region like japan.)||Size of the file in bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=StreetPass&amp;diff=22552</id>
		<title>StreetPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=StreetPass&amp;diff=22552"/>
		<updated>2024-05-12T16:43:03Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* StreetPass Relay */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;StreetPass&#039;&#039;&#039; is a feature that allows your 3DS to connect with other 3DS consoles using WiFi in standby mode.&lt;br /&gt;
It can be used to share Mii(s) on Mii Plaza for example. Applications&#039; StreetPass data are stored in the CECD module&#039;s NAND savegame, applications can move received StreetPass data to an arbitrary savegame. Wifi infrastructure with APs are used to communicate where the data-frames are encrypted with WPA2 CCMP, like [[NWM_Services|UDS]]/[[Download Play]].&lt;br /&gt;
&lt;br /&gt;
== WiFi Probe Request Frame ==&lt;br /&gt;
&lt;br /&gt;
Whenever the 3DS is woken from sleep (or turned on), and WiFi is enabled, it sends out a 802.11 Probe Request which include all saved access points, as well a probe to an SSID containing an arbitrary string of data, such as &amp;quot;ic[kSvm9s@*cYD&amp;gt;/~IEVj\(fGG;qDo8j&amp;quot;. This string changes at least daily, and most likely every time the device is woken up.&lt;br /&gt;
&lt;br /&gt;
The MAC address used for these probes is the static MAC address found in the System Settings application. Unlike the StreetPass MAC address, it will not change over time. This MAC address OUI also differs from the one used in StreetPass.&lt;br /&gt;
&lt;br /&gt;
== CCMP Key ==&lt;br /&gt;
The StreetPass local-WLAN CCMP data-encryption key is generated by the StreetPass CECD module, where the CCMP key is the 16-byte output from encrypting an all-zero block with AES-CTR via [[PS:EncryptDecryptAes]], with keytype6. The CTR is the first 0x10-bytes from a SHA1-HMAC hash. The SHA1-HMAC key is a 17-byte text string including the NULL-terminator, a seperate HMAC key is used for retail/dev-units, this is determined via [[Configuration_Memory#ENVINFO|ENVINFO]] bit0. The data hashed with SHA1-HMAC is a 0x1C-byte buffer, which is described below.&lt;br /&gt;
&lt;br /&gt;
=== Hash Block ===&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;
| 0x8&lt;br /&gt;
| 8-byte StreetPass consoleID for the host, from the probe frames.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x8&lt;br /&gt;
| 8-byte StreetPass consoleID for the client, from the probe frames.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x6&lt;br /&gt;
| MAC address for host.&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x6&lt;br /&gt;
| MAC address for client.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== StreetPass Exchange ==&lt;br /&gt;
&lt;br /&gt;
While StreetPass is enabled, the 3DS constantly sends out Probe Requests with an SSID of &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;. Unlike beacons, which are actively advertising the device&#039;s presence, the 3DS is essentially actively looking for other 3DSes. This design is likely to limit impact to non-3DS WiFi capable devices. Each Probe Request contains basic information about that 3DS, including an identifier, and active StreetPass services. If another 3DS is in range, the second 3DS (#2) will respond with a Probe Response, to which the original 3DS (#1), and of the receiving device with every frame thereafter, will respond with an 802.11 Acknowledgement. 3DS(#1) then sends an 802.11 Action frame, as well as an additional Probe Request. The second 3DS sends back another Probe Response that begins the encrypted exchange between the two devices, no authentication/association is done here.&lt;br /&gt;
&lt;br /&gt;
The MAC address used in sleep-mode seems to change every time there&#039;s a StreetPass hit, as well as the last 8-bytes(StreetPass consoleID) of the Nintendo tag data. The MAC address + 8-byte StreetPass consoleID is seen to change every time the user enters and exits and Settings application if they have not had a StreetPass in an observed time period of 24 hours. It is uncertain how the 3DS determines when it can do a StreetPass again with another 3DS, or what information is actually used to track that. It may be related to how long that 3DS was in range constantly/out of range. 3DSes that are constantly in range of each other in sleep-mode, usually do StreetPass every 11 hours.&lt;br /&gt;
&lt;br /&gt;
=== Probe Request Frame ===&lt;br /&gt;
&lt;br /&gt;
Using Wireshark tool with a WiFi card in monitor mode allow you to see the data used to scan for other 3DS in the range. The below is a broadcast probe request from an 3DS while in standby mode, with SSID &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;. This SSID remains consistent across all 3DS units. This frame also contains a custom variable length Nintendo tag, which contains information regarding the offered StreetPass services. The sequence numbers for these probe request increment by 3 for every probe, until another 3DS responds with a probe response.&lt;br /&gt;
&lt;br /&gt;
  0000   00 00 1a 00 2f 48 00 00 19 7d 19 de 2a 00 00 00  ..../H...}..*...&lt;br /&gt;
  0010   12 16 9e 09 a0 00 c9 02 00 00 40 00 00 00 ff ff  ..........@.....&lt;br /&gt;
  0020   ff ff ff ff da 6b f7 22 f3 77 ff ff ff ff ff ff  .....k.&amp;quot;.w......&lt;br /&gt;
  0030   40 77 00 20 4e 69 6e 74 65 6e 64 6f 5f 33 44 53  @w. Nintendo_3DS&lt;br /&gt;
  0040   5f 63 6f 6e 74 69 6e 75 6f 75 73 5f 73 63 61 6e  _continuous_scan&lt;br /&gt;
  0050   5f 30 30 30 01 08 82 84 8b 0c 12 96 18 24 32 04  _000.........$2.&lt;br /&gt;
  0060   30 48 60 6c dd 15 00 1f 32 01 11 05 00 02 08 00  0H`l....2.......&lt;br /&gt;
  0070   00 f0 08 c8 34 6e 05 0f c9 c6 80 5b 6f bc 5a     ....4n.....[o.Z&lt;br /&gt;
&lt;br /&gt;
==== Nintendo Tag Format ====&lt;br /&gt;
&lt;br /&gt;
The offsets, in bytes, mentioned in the table below start at the beginning of the Nintendo tag ID, which is variable in length, and can be found right after the Vendor Specific OUI type of the 802.11 frame, which is often seen as a byte of &amp;quot;01&amp;quot;. Each one of the elements are discussed in more detail after the table. Note that this table represents a current theory on what each of the fields represent, with the argument stated in the corresponding sections.&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;
!  Length&lt;br /&gt;
!  Purpose&lt;br /&gt;
!  Description&lt;br /&gt;
!  Example&lt;br /&gt;
|-&lt;br /&gt;
|  0x00&lt;br /&gt;
|  0x01&lt;br /&gt;
|  &#039;&#039;&#039;Protocol Identification&#039;&#039;&#039;&lt;br /&gt;
|  May be for protocol identification. All captures thus far show this value at 17, hexadecimal 11.&lt;br /&gt;
| 11&lt;br /&gt;
|-&lt;br /&gt;
|  0x01&lt;br /&gt;
|  0x01&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass Service Length&#039;&#039;&#039;&lt;br /&gt;
|  Length in bytes of only the StreetPass Services field.&lt;br /&gt;
|  05&lt;br /&gt;
|-&lt;br /&gt;
|  0x02&lt;br /&gt;
|  0x05&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass Services&#039;&#039;&#039;&lt;br /&gt;
|  Starting at the 0x02 offset, it appears to be a list of StreetPass services, each in length of 5 bytes. This continues on depending on the number of services the user has enabled at the time.&lt;br /&gt;
|  00 02 08 00 00&lt;br /&gt;
|-&lt;br /&gt;
|  varies&lt;br /&gt;
|  0x02&lt;br /&gt;
|  &#039;&#039;&#039;Unknown&#039;&#039;&#039;&lt;br /&gt;
|  At the end of the StreetPass Services field is a two byte field that is the same among all devices thus far. Its purpose is unknown.&lt;br /&gt;
|  f0 08&lt;br /&gt;
|-&lt;br /&gt;
|  -0x08&lt;br /&gt;
|  0x08&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass consoleID&#039;&#039;&#039;&lt;br /&gt;
|  Seen to change when the Settings app is used if there has not been a StreetPass tag recently. Also may change after each StreetPass hit and system power-off?&lt;br /&gt;
|  c8 34 6e 05 0f c9 c6 80&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Protocol Version =====&lt;br /&gt;
&lt;br /&gt;
Appears to represent a protocol version, or device identification. This field remains consistent on all devices, despite variable enabled StreetPass services or length of the tag. Could also represent region.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass Service Length =====&lt;br /&gt;
&lt;br /&gt;
This field is used to indicate the length of the StreetPass Services field. Removing and adding services has shown this field to increment and decrement in 5 bytes, or 11 bytes depending on the game. The StreetPass Services field has then expanded or reduced accordingly.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass Services =====&lt;br /&gt;
&lt;br /&gt;
The third field in the protocol header appears to be an arbitrary length list of StreetPass services enabled on the device. Each StreetPass service seems to be identified by a 5-byte ID. If you enable or disable services, the number of 5-byte IDs grows and shrinks within this list. Observed service IDs include:&lt;br /&gt;
&lt;br /&gt;
  Mii Plaza: 00 02 08 00 00&lt;br /&gt;
  Ridge Racer: 00 03 58 00 30&lt;br /&gt;
  Sims 3: 00 03 65 00 30&lt;br /&gt;
  Street Fighter: 00 03 05 00 02 (FF FF FF FF FF FF)&lt;br /&gt;
&lt;br /&gt;
The first 4 bytes are the titleID of the service, the last byte seems to contain flags.&lt;br /&gt;
&lt;br /&gt;
The last byte (flags) have been observed between those possibilities :&lt;br /&gt;
&lt;br /&gt;
  00000000&lt;br /&gt;
  00000010&lt;br /&gt;
  00010000&lt;br /&gt;
  00100000&lt;br /&gt;
  00110000&lt;br /&gt;
  00110010&lt;br /&gt;
&lt;br /&gt;
Only the bits 2,5,6 were used.&lt;br /&gt;
When set, the bit n°2 indicates the presence of a followinf 6-byte field filled with 0xff.&lt;br /&gt;
&lt;br /&gt;
Some services have a 6-byte field succeeding the StreetPass service that is just FF bytes (e.g. FF FF FF FF FF FF). The purpose of these is unknown, although may be used as data for a service, or as separator of some sort for different types of StreetPass services.&lt;br /&gt;
&lt;br /&gt;
Observed services (leading titleID 0x00 removed, 6*0xff ignored) on 68K probe requests between 2013-08-24 and 2014-06-29 in various european locations.&lt;br /&gt;
&lt;br /&gt;
The fact that a same titleID can have different flags should be noted.&lt;br /&gt;
&lt;br /&gt;
  0db6-00100000 5&lt;br /&gt;
  0db6-00110000 20&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Occurrences&lt;br /&gt;
!  TitleID &lt;br /&gt;
!  Flags&lt;br /&gt;
|-&lt;br /&gt;
| 131&lt;br /&gt;
| 0208&lt;br /&gt;
| 00000000&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 0516&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 053f&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 0306&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 44&lt;br /&gt;
| 0862&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 09f1&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 0db6&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0516&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0205&lt;br /&gt;
| 00110010&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0ec4&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0300&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 055d&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 08d3&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 053b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0916&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0306&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0300&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 0916&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0b1d&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 0ec4&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 080f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 07c8&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 038a&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0f30&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0db6&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0910&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0862&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 053f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0522&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0ae2&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 09f1&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 08c5&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 038c&lt;br /&gt;
| 00000000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 033b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 030b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0ba9&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0a53&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 08d3&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0751&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0402&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0f82&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0f5b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0e7f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0bff&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0b1d&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0ad6&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0a90&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0a05&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 073c&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 06da&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 05aa&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 05a5&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 053b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 04ca&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 038a&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 033b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 030b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0305&lt;br /&gt;
| 00000010&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Unknown 2-byte Field =====&lt;br /&gt;
&lt;br /&gt;
The purpose of this field is not known yet. It has remained the same across all devices thus far. The value has always been observed as &#039;&#039;&#039;f008&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass consoleID =====&lt;br /&gt;
&lt;br /&gt;
When there&#039;s a StreetPass hit, and no StreetPass data changed on either of the 3DSes, no data is transferred besides probes? After turning off power, then powering on and entering sleepmode, the MAC doesn&#039;t change from prior to power off but the last 8-bytes of the Nintendo tag changes. This tag has been seen to not be sequential over time. After one of the new StreetPass content is handled, (running one of the StreetPass titles etc) this 8-byte StreetPass consoleID changes?&lt;br /&gt;
&lt;br /&gt;
=== Initial Probe Response Frame ===&lt;br /&gt;
&lt;br /&gt;
If a 3DS (#2) receives another device&#039;s probe request and has not yet tagged that device in an arbitrary amount of time (~12 hours), the receiving 3DS (#2) will respond with a Probe Response frame. The destination MAC address is the StreetPass MAC address of the 3DS (#1) that was transmitting the probe request, while the receiving device sets its StreetPass MAC address as the source address. This is important to note because further exchanges may cease using destination and/or source addresses.&lt;br /&gt;
&lt;br /&gt;
In the probe response, the 3DS (#2) appears to offer a channel of 1, 6, or 11. Different channels have been seen offered between the same set of 3DS for each StreetPass. Offered channels, and channel range most likely varies by region.&lt;br /&gt;
&lt;br /&gt;
The StreetPass Probe Response frame contains the same Nintendo tag in Probe Requests of the device that is transmitting the Probe Response frame.&lt;br /&gt;
&lt;br /&gt;
=== Subsequent Probe Request and Response Frames ===&lt;br /&gt;
&lt;br /&gt;
The 3DS (#1) that the Initial Probe Response is directed to will send an 802.11 Action frame back to the device. The sequence numbers at this point stop stepping up by 3, and instead increase by one based from each originating device&#039;s SN. It will then send another Probe Request, this time sent directly to the responding 3DS (#2) by specifying its MAC address in the destination field, and setting its own MAC address in the source address field. It also does not have a SSID specified in the frame, except the frame will contain a BSSID with the value of the 3DS (#2) that responded to the initial Probe, and thus acts as the master in the 802.11 exchange.&lt;br /&gt;
&lt;br /&gt;
== StreetPass Spoofing ==&lt;br /&gt;
&lt;br /&gt;
A streetpass &amp;quot;AP&amp;quot; was spoofed with hostapd by setting the SSID to &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;, with the extra Nintendo tag from another 3DS&#039; probe request. Like 3DS&amp;lt;&amp;gt;3DS communications, the 3DS didn&#039;t authenticate or associate with the host. Streetpass communications use CCMP encryption. Eventually the 3DS stops communicating with the host since the host doesn&#039;t reply to any of the data frames, then sends a 802.11 &amp;quot;Action&amp;quot; frame, with category ID 0x7f and Nintendo&#039;s vendor ID: 00 1f 32.(However the 3DS keeps communicating with the above process repeatedly)&lt;br /&gt;
Communication with two 3DSes are the same as above except there&#039;s actual encrypted data sent to/from both consoles, unlike the fake host.&lt;br /&gt;
&lt;br /&gt;
==StreetPass Relay==&lt;br /&gt;
This feature was implemented in version [[6.2.0-12]].&lt;br /&gt;
&lt;br /&gt;
It was probably controlled over the [[SpotPass#policylist]]. When connecting to a Nintendo Zone Hotspot the console will send an additional GET parameter named &#039;&#039;ap&#039;&#039;. Adding the following priority to the policylist will instruct the console to upload its data (The level tag can probably be lower and must be HIGH).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Priority&amp;gt;&lt;br /&gt;
    &amp;lt;TitleId&amp;gt;0004013000003400&amp;lt;/TitleId&amp;gt;&lt;br /&gt;
    &amp;lt;TaskId&amp;gt;sprelay&amp;lt;/TaskId&amp;gt;&lt;br /&gt;
    &amp;lt;Level&amp;gt;HIGH&amp;lt;/Level&amp;gt;&lt;br /&gt;
    &amp;lt;Persistent&amp;gt;false&amp;lt;/Persistent&amp;gt;&lt;br /&gt;
    &amp;lt;Revive&amp;gt;false&amp;lt;/Revive&amp;gt;&lt;br /&gt;
  &amp;lt;/Priority&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the request body there will be a file named &#039;&#039;spr-meta&#039;&#039; and a file per registered StreetPass game &#039;&#039;spr-slotXX&#039;&#039; where XX is an incrementing number. If the game contains not messages in its outbox so the size of the file would be 0 then no file is created and sent but it will still be listed in the spr-meta file.&lt;br /&gt;
&lt;br /&gt;
===spr-meta file===&lt;br /&gt;
The spr-meta file is a text file which may contain the following content.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slotsize: 5&lt;br /&gt;
spr-slot01: 3,000EC400,10664&lt;br /&gt;
spr-slot02: 2,0007AD00,3648&lt;br /&gt;
spr-slot03: 3,00030000,3804&lt;br /&gt;
spr-slot04: 1,00051600,0&lt;br /&gt;
spr-slot05: 0,00020800,28228&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The comma seperated list after each spr-slotXX has the following meaning&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|unknown||StreetPass ID (Low title ID of the game. May be from a different region like japan.)||Size of the file in bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=StreetPass&amp;diff=22551</id>
		<title>StreetPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=StreetPass&amp;diff=22551"/>
		<updated>2024-05-12T11:28:24Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;StreetPass&#039;&#039;&#039; is a feature that allows your 3DS to connect with other 3DS consoles using WiFi in standby mode.&lt;br /&gt;
It can be used to share Mii(s) on Mii Plaza for example. Applications&#039; StreetPass data are stored in the CECD module&#039;s NAND savegame, applications can move received StreetPass data to an arbitrary savegame. Wifi infrastructure with APs are used to communicate where the data-frames are encrypted with WPA2 CCMP, like [[NWM_Services|UDS]]/[[Download Play]].&lt;br /&gt;
&lt;br /&gt;
== WiFi Probe Request Frame ==&lt;br /&gt;
&lt;br /&gt;
Whenever the 3DS is woken from sleep (or turned on), and WiFi is enabled, it sends out a 802.11 Probe Request which include all saved access points, as well a probe to an SSID containing an arbitrary string of data, such as &amp;quot;ic[kSvm9s@*cYD&amp;gt;/~IEVj\(fGG;qDo8j&amp;quot;. This string changes at least daily, and most likely every time the device is woken up.&lt;br /&gt;
&lt;br /&gt;
The MAC address used for these probes is the static MAC address found in the System Settings application. Unlike the StreetPass MAC address, it will not change over time. This MAC address OUI also differs from the one used in StreetPass.&lt;br /&gt;
&lt;br /&gt;
== CCMP Key ==&lt;br /&gt;
The StreetPass local-WLAN CCMP data-encryption key is generated by the StreetPass CECD module, where the CCMP key is the 16-byte output from encrypting an all-zero block with AES-CTR via [[PS:EncryptDecryptAes]], with keytype6. The CTR is the first 0x10-bytes from a SHA1-HMAC hash. The SHA1-HMAC key is a 17-byte text string including the NULL-terminator, a seperate HMAC key is used for retail/dev-units, this is determined via [[Configuration_Memory#ENVINFO|ENVINFO]] bit0. The data hashed with SHA1-HMAC is a 0x1C-byte buffer, which is described below.&lt;br /&gt;
&lt;br /&gt;
=== Hash Block ===&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;
| 0x8&lt;br /&gt;
| 8-byte StreetPass consoleID for the host, from the probe frames.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x8&lt;br /&gt;
| 8-byte StreetPass consoleID for the client, from the probe frames.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x6&lt;br /&gt;
| MAC address for host.&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x6&lt;br /&gt;
| MAC address for client.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== StreetPass Exchange ==&lt;br /&gt;
&lt;br /&gt;
While StreetPass is enabled, the 3DS constantly sends out Probe Requests with an SSID of &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;. Unlike beacons, which are actively advertising the device&#039;s presence, the 3DS is essentially actively looking for other 3DSes. This design is likely to limit impact to non-3DS WiFi capable devices. Each Probe Request contains basic information about that 3DS, including an identifier, and active StreetPass services. If another 3DS is in range, the second 3DS (#2) will respond with a Probe Response, to which the original 3DS (#1), and of the receiving device with every frame thereafter, will respond with an 802.11 Acknowledgement. 3DS(#1) then sends an 802.11 Action frame, as well as an additional Probe Request. The second 3DS sends back another Probe Response that begins the encrypted exchange between the two devices, no authentication/association is done here.&lt;br /&gt;
&lt;br /&gt;
The MAC address used in sleep-mode seems to change every time there&#039;s a StreetPass hit, as well as the last 8-bytes(StreetPass consoleID) of the Nintendo tag data. The MAC address + 8-byte StreetPass consoleID is seen to change every time the user enters and exits and Settings application if they have not had a StreetPass in an observed time period of 24 hours. It is uncertain how the 3DS determines when it can do a StreetPass again with another 3DS, or what information is actually used to track that. It may be related to how long that 3DS was in range constantly/out of range. 3DSes that are constantly in range of each other in sleep-mode, usually do StreetPass every 11 hours.&lt;br /&gt;
&lt;br /&gt;
=== Probe Request Frame ===&lt;br /&gt;
&lt;br /&gt;
Using Wireshark tool with a WiFi card in monitor mode allow you to see the data used to scan for other 3DS in the range. The below is a broadcast probe request from an 3DS while in standby mode, with SSID &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;. This SSID remains consistent across all 3DS units. This frame also contains a custom variable length Nintendo tag, which contains information regarding the offered StreetPass services. The sequence numbers for these probe request increment by 3 for every probe, until another 3DS responds with a probe response.&lt;br /&gt;
&lt;br /&gt;
  0000   00 00 1a 00 2f 48 00 00 19 7d 19 de 2a 00 00 00  ..../H...}..*...&lt;br /&gt;
  0010   12 16 9e 09 a0 00 c9 02 00 00 40 00 00 00 ff ff  ..........@.....&lt;br /&gt;
  0020   ff ff ff ff da 6b f7 22 f3 77 ff ff ff ff ff ff  .....k.&amp;quot;.w......&lt;br /&gt;
  0030   40 77 00 20 4e 69 6e 74 65 6e 64 6f 5f 33 44 53  @w. Nintendo_3DS&lt;br /&gt;
  0040   5f 63 6f 6e 74 69 6e 75 6f 75 73 5f 73 63 61 6e  _continuous_scan&lt;br /&gt;
  0050   5f 30 30 30 01 08 82 84 8b 0c 12 96 18 24 32 04  _000.........$2.&lt;br /&gt;
  0060   30 48 60 6c dd 15 00 1f 32 01 11 05 00 02 08 00  0H`l....2.......&lt;br /&gt;
  0070   00 f0 08 c8 34 6e 05 0f c9 c6 80 5b 6f bc 5a     ....4n.....[o.Z&lt;br /&gt;
&lt;br /&gt;
==== Nintendo Tag Format ====&lt;br /&gt;
&lt;br /&gt;
The offsets, in bytes, mentioned in the table below start at the beginning of the Nintendo tag ID, which is variable in length, and can be found right after the Vendor Specific OUI type of the 802.11 frame, which is often seen as a byte of &amp;quot;01&amp;quot;. Each one of the elements are discussed in more detail after the table. Note that this table represents a current theory on what each of the fields represent, with the argument stated in the corresponding sections.&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;
!  Length&lt;br /&gt;
!  Purpose&lt;br /&gt;
!  Description&lt;br /&gt;
!  Example&lt;br /&gt;
|-&lt;br /&gt;
|  0x00&lt;br /&gt;
|  0x01&lt;br /&gt;
|  &#039;&#039;&#039;Protocol Identification&#039;&#039;&#039;&lt;br /&gt;
|  May be for protocol identification. All captures thus far show this value at 17, hexadecimal 11.&lt;br /&gt;
| 11&lt;br /&gt;
|-&lt;br /&gt;
|  0x01&lt;br /&gt;
|  0x01&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass Service Length&#039;&#039;&#039;&lt;br /&gt;
|  Length in bytes of only the StreetPass Services field.&lt;br /&gt;
|  05&lt;br /&gt;
|-&lt;br /&gt;
|  0x02&lt;br /&gt;
|  0x05&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass Services&#039;&#039;&#039;&lt;br /&gt;
|  Starting at the 0x02 offset, it appears to be a list of StreetPass services, each in length of 5 bytes. This continues on depending on the number of services the user has enabled at the time.&lt;br /&gt;
|  00 02 08 00 00&lt;br /&gt;
|-&lt;br /&gt;
|  varies&lt;br /&gt;
|  0x02&lt;br /&gt;
|  &#039;&#039;&#039;Unknown&#039;&#039;&#039;&lt;br /&gt;
|  At the end of the StreetPass Services field is a two byte field that is the same among all devices thus far. Its purpose is unknown.&lt;br /&gt;
|  f0 08&lt;br /&gt;
|-&lt;br /&gt;
|  -0x08&lt;br /&gt;
|  0x08&lt;br /&gt;
|  &#039;&#039;&#039;StreetPass consoleID&#039;&#039;&#039;&lt;br /&gt;
|  Seen to change when the Settings app is used if there has not been a StreetPass tag recently. Also may change after each StreetPass hit and system power-off?&lt;br /&gt;
|  c8 34 6e 05 0f c9 c6 80&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Protocol Version =====&lt;br /&gt;
&lt;br /&gt;
Appears to represent a protocol version, or device identification. This field remains consistent on all devices, despite variable enabled StreetPass services or length of the tag. Could also represent region.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass Service Length =====&lt;br /&gt;
&lt;br /&gt;
This field is used to indicate the length of the StreetPass Services field. Removing and adding services has shown this field to increment and decrement in 5 bytes, or 11 bytes depending on the game. The StreetPass Services field has then expanded or reduced accordingly.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass Services =====&lt;br /&gt;
&lt;br /&gt;
The third field in the protocol header appears to be an arbitrary length list of StreetPass services enabled on the device. Each StreetPass service seems to be identified by a 5-byte ID. If you enable or disable services, the number of 5-byte IDs grows and shrinks within this list. Observed service IDs include:&lt;br /&gt;
&lt;br /&gt;
  Mii Plaza: 00 02 08 00 00&lt;br /&gt;
  Ridge Racer: 00 03 58 00 30&lt;br /&gt;
  Sims 3: 00 03 65 00 30&lt;br /&gt;
  Street Fighter: 00 03 05 00 02 (FF FF FF FF FF FF)&lt;br /&gt;
&lt;br /&gt;
The first 4 bytes are the titleID of the service, the last byte seems to contain flags.&lt;br /&gt;
&lt;br /&gt;
The last byte (flags) have been observed between those possibilities :&lt;br /&gt;
&lt;br /&gt;
  00000000&lt;br /&gt;
  00000010&lt;br /&gt;
  00010000&lt;br /&gt;
  00100000&lt;br /&gt;
  00110000&lt;br /&gt;
  00110010&lt;br /&gt;
&lt;br /&gt;
Only the bits 2,5,6 were used.&lt;br /&gt;
When set, the bit n°2 indicates the presence of a followinf 6-byte field filled with 0xff.&lt;br /&gt;
&lt;br /&gt;
Some services have a 6-byte field succeeding the StreetPass service that is just FF bytes (e.g. FF FF FF FF FF FF). The purpose of these is unknown, although may be used as data for a service, or as separator of some sort for different types of StreetPass services.&lt;br /&gt;
&lt;br /&gt;
Observed services (leading titleID 0x00 removed, 6*0xff ignored) on 68K probe requests between 2013-08-24 and 2014-06-29 in various european locations.&lt;br /&gt;
&lt;br /&gt;
The fact that a same titleID can have different flags should be noted.&lt;br /&gt;
&lt;br /&gt;
  0db6-00100000 5&lt;br /&gt;
  0db6-00110000 20&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Occurrences&lt;br /&gt;
!  TitleID &lt;br /&gt;
!  Flags&lt;br /&gt;
|-&lt;br /&gt;
| 131&lt;br /&gt;
| 0208&lt;br /&gt;
| 00000000&lt;br /&gt;
|-&lt;br /&gt;
| 58&lt;br /&gt;
| 0516&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 56&lt;br /&gt;
| 053f&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 55&lt;br /&gt;
| 0306&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 44&lt;br /&gt;
| 0862&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 26&lt;br /&gt;
| 09f1&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| 0db6&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0516&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| 0205&lt;br /&gt;
| 00110010&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0ec4&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| 0300&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| 055d&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 08d3&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| 053b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0916&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0306&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| 0300&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| 0916&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| 0b1d&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| 0ec4&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 080f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| 07c8&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| 038a&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0f30&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0db6&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0910&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0862&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 053f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 0522&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 0ae2&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 09f1&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 08c5&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 038c&lt;br /&gt;
| 00000000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 033b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 030b&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0ba9&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0a53&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 08d3&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 07ad&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0751&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 0402&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0f82&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0f5b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0e7f&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0bff&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0b1d&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0ad6&lt;br /&gt;
| 00010000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0a90&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0a05&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 073c&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 06da&lt;br /&gt;
| 00100000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 05aa&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 05a5&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 053b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 04ca&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 038a&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 033b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 030b&lt;br /&gt;
| 00110000&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 0305&lt;br /&gt;
| 00000010&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Unknown 2-byte Field =====&lt;br /&gt;
&lt;br /&gt;
The purpose of this field is not known yet. It has remained the same across all devices thus far. The value has always been observed as &#039;&#039;&#039;f008&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===== StreetPass consoleID =====&lt;br /&gt;
&lt;br /&gt;
When there&#039;s a StreetPass hit, and no StreetPass data changed on either of the 3DSes, no data is transferred besides probes? After turning off power, then powering on and entering sleepmode, the MAC doesn&#039;t change from prior to power off but the last 8-bytes of the Nintendo tag changes. This tag has been seen to not be sequential over time. After one of the new StreetPass content is handled, (running one of the StreetPass titles etc) this 8-byte StreetPass consoleID changes?&lt;br /&gt;
&lt;br /&gt;
=== Initial Probe Response Frame ===&lt;br /&gt;
&lt;br /&gt;
If a 3DS (#2) receives another device&#039;s probe request and has not yet tagged that device in an arbitrary amount of time (~12 hours), the receiving 3DS (#2) will respond with a Probe Response frame. The destination MAC address is the StreetPass MAC address of the 3DS (#1) that was transmitting the probe request, while the receiving device sets its StreetPass MAC address as the source address. This is important to note because further exchanges may cease using destination and/or source addresses.&lt;br /&gt;
&lt;br /&gt;
In the probe response, the 3DS (#2) appears to offer a channel of 1, 6, or 11. Different channels have been seen offered between the same set of 3DS for each StreetPass. Offered channels, and channel range most likely varies by region.&lt;br /&gt;
&lt;br /&gt;
The StreetPass Probe Response frame contains the same Nintendo tag in Probe Requests of the device that is transmitting the Probe Response frame.&lt;br /&gt;
&lt;br /&gt;
=== Subsequent Probe Request and Response Frames ===&lt;br /&gt;
&lt;br /&gt;
The 3DS (#1) that the Initial Probe Response is directed to will send an 802.11 Action frame back to the device. The sequence numbers at this point stop stepping up by 3, and instead increase by one based from each originating device&#039;s SN. It will then send another Probe Request, this time sent directly to the responding 3DS (#2) by specifying its MAC address in the destination field, and setting its own MAC address in the source address field. It also does not have a SSID specified in the frame, except the frame will contain a BSSID with the value of the 3DS (#2) that responded to the initial Probe, and thus acts as the master in the 802.11 exchange.&lt;br /&gt;
&lt;br /&gt;
== StreetPass Spoofing ==&lt;br /&gt;
&lt;br /&gt;
A streetpass &amp;quot;AP&amp;quot; was spoofed with hostapd by setting the SSID to &amp;quot;Nintendo_3DS_continuous_scan_000&amp;quot;, with the extra Nintendo tag from another 3DS&#039; probe request. Like 3DS&amp;lt;&amp;gt;3DS communications, the 3DS didn&#039;t authenticate or associate with the host. Streetpass communications use CCMP encryption. Eventually the 3DS stops communicating with the host since the host doesn&#039;t reply to any of the data frames, then sends a 802.11 &amp;quot;Action&amp;quot; frame, with category ID 0x7f and Nintendo&#039;s vendor ID: 00 1f 32.(However the 3DS keeps communicating with the above process repeatedly)&lt;br /&gt;
Communication with two 3DSes are the same as above except there&#039;s actual encrypted data sent to/from both consoles, unlike the fake host.&lt;br /&gt;
&lt;br /&gt;
==StreetPass Relay==&lt;br /&gt;
This feature was implemented in version [[6.2.0-12]].&lt;br /&gt;
It was probably controlled over the policylist&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=StreetPass_Mii_Plaza&amp;diff=22550</id>
		<title>StreetPass Mii Plaza</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=StreetPass_Mii_Plaza&amp;diff=22550"/>
		<updated>2024-05-12T11:19:09Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* Spotpass extdata */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This is [[Title list#00040010 - System Applications|system title]] pre-installed on all 3DS units since launch. The application is centered around using [[StreetPass]] to &amp;quot;meet&amp;quot; other 3DS owners, by walking near them and exchanging Mii/user data (this is done automatically through StreetPass). When a 3DS has &amp;quot;met&amp;quot; another 3DS, StreetPass Mii Plaza recreates the meeting using the owner&#039;s Miis. From here the user, can use these Miis in mini-games.&lt;br /&gt;
&lt;br /&gt;
While a system app, a software that is centered around the concept of Streetpassing, and arguably the most popular StreetPass app, it is worth noting that it doesn&#039;t have intrinsic technical privileges: it can&#039;t record Streetpasses between people who don&#039;t have both enabled it for Mii Plaza, and the &amp;quot;Invitations&amp;quot; feature is equally available to any software.&lt;br /&gt;
&lt;br /&gt;
== Major Updates ==&lt;br /&gt;
=== Launch Version ===&lt;br /&gt;
* Users could decorate their Mii with a Hat, these are earned in StreetPass Quest.&lt;br /&gt;
Contained two mini-games:&lt;br /&gt;
* Puzzle Swap - The user completes various puzzles slates to complete interactive 3D Images. Pieces for the puzzles can be obtained from Miis met in StreetPass, or by purchasing them with play coins.&lt;br /&gt;
* StreetPass Quest(Find Mii) - A simplistic medieval themed RPG where the user&#039;s Mii is kidnapped, and the user must use Miis met in StreetPass, to rescue him/her. Additionally wanderers can be hired to fight, paid for with play coins of course.&lt;br /&gt;
&lt;br /&gt;
=== Late 2011 ===&lt;br /&gt;
* &amp;quot;Achievements&amp;quot; were added, accessible from the main hub.&lt;br /&gt;
* Completed Puzzle Swap Slides were viewable in a slideshow, again accessible from the hub&lt;br /&gt;
* More Puzzle slates for Puzzle Swap could be added via [[SpotPass]]. The new puzzle slates have puzzle pieces (pink) which cannot be bought with play coins.&lt;br /&gt;
* A sequel to StreetPass Quest was added. In the sequel, users could hire (using play coins) previously met Miis to fight. More hats can be earned.&lt;br /&gt;
* Music used in StreetPass Mii Plaza, can be played manually via the music player accessible from the main hub. &lt;br /&gt;
&lt;br /&gt;
=== 6.0.0-12 Update ===&lt;br /&gt;
* Final update for the Mii Plaza main application&lt;br /&gt;
* Now supports SD &amp;quot;Patch Updates&amp;quot;, so StreetPass Mii Plaza can be updated without a system update; it also strongly encourages the user to check for updates, as Mii Plaza &amp;quot;v3&amp;quot; launched in this format at the same time.&lt;br /&gt;
&lt;br /&gt;
=== Mii Plaza 3.x ===&lt;br /&gt;
* Design Revamped: Instead of a simple popup window, the minigames are accessible from a fountain-shaped hub. [https://www.youtube.com/watch?v=X11AJ4UYE4o See video].&lt;br /&gt;
* Each game, plus the main Plaza and the Entrance, are accessible from touch-screen buttons.&lt;br /&gt;
* One of six preset emotions can be selected for the Streetpass greeting.&lt;br /&gt;
* Also supports paid &amp;quot;DLC&amp;quot;, [https://www.youtube.com/watch?v=u1a05W1UJwQ 4 extra mini-games] are available through micro-transactions made from within the app. The pack of four can be bought at a discount if all the games are purchased at once, and none has been bought yet.&lt;br /&gt;
* Songs and achievements are not numbered anymore, due to their availability depending on the selection of games owned.&lt;br /&gt;
* StreetPass Quest 1, now supports the ability to hire previously met Miis after completion. This was previously possible as a glitch by recruiting them in Find Mii 2, then selecting the first game.&lt;br /&gt;
* Many more hats and outfits can be bought from the &amp;quot;Exchange booth&amp;quot;, which inventory changes daily. Tickets are only obtained in the premium games. A &amp;quot;Pixel Mario Hat&amp;quot; is available for free to anyone who installs the update.&lt;br /&gt;
&lt;br /&gt;
=== Mii Plaza 4.x ===&lt;br /&gt;
Released April 2015. A commemorative theme and Streetpass relay mixing event also happened in European Nintendo Zones to celebrate its launch.&lt;br /&gt;
&lt;br /&gt;
* The greeting and emotion are now complemented by one of 64 speech bubble themes. Five of them are available for free, the others can be bought wit a ticket each.&lt;br /&gt;
* Vault feature to hide games from the fountain. They won&#039;t generate a &amp;quot;game still not played with current Miis&amp;quot; warning, and they are still playable or unarchivable from the Vault menu.&lt;br /&gt;
* Medals are optionally displayed over cleared games.&lt;br /&gt;
* Touch-screen shortcuts can be reordered, partially due to the new games pushing the number of icons over the maximum of 8. This also changes the order of games at the fountain.&lt;br /&gt;
* All animations that can be sped up by holding R can now also be sped up with L.&lt;br /&gt;
* Two more paid games added, which also form their own bundle.&lt;br /&gt;
* Paid &amp;quot;Premium Plaza&amp;quot; DLC adds a number of features:&lt;br /&gt;
** VIP Plaza, to mark up to 100 Miis as favorites. They won&#039;t be auto-deleted when the population maxes out, and are easily accessible from the toolbar.&lt;br /&gt;
** Birthday Calendar, which is marked with the birthdays of Miis met after purchase. Tickets are awarded for the completion of each month, and for collecting the 29th of February or your own birthday.&lt;br /&gt;
** Skip Conversations, not to be confused with Skip Greetings, allows the player to streamline the dialogues with Streetpassed Miis. The display of birthdays, number of connections, last played game, eShop link if 3+ players in the last batch have played the same title, and profile (animal/dream/wish) can each be disabled.&lt;br /&gt;
** An already unlocked main BGM can be selected to play as the main theme, regardless of the current population.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mii Plaza 5.x ===&lt;br /&gt;
Released september 2016. At the same time, Mii Plaza became the first, and to date the only, system application to have a Miiverse group (if the posting of Home screenshots through Badge Arcade is not considered).&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Swift Plaza&amp;quot;, a new UI which focuses on touchscreen controls and doesn&#039;t display old visitors, providing faster loading.&lt;br /&gt;
* More speech bubbles and clothing.&lt;br /&gt;
* Five new paid games, although one of the first two can be purchased for free. The remaining four are 3 dollars each or 9 for all.&lt;br /&gt;
* Only for Premium users:&lt;br /&gt;
** Golden crown-shaped pin attached to the body&lt;br /&gt;
** &amp;quot;Queue&amp;quot; which allows for archiving up to 100 new visitors (as long as there are some current visitors with unplayed minigames) and recalling them later, partially circumventing the need to play all minigames or lose the characters after every 10 or less Streetpasses.&lt;br /&gt;
&lt;br /&gt;
==Save organization==&lt;br /&gt;
&lt;br /&gt;
The backup of applications which [[System SaveData|save to NAND]] has historically been a problem, with no easy way to access them.&lt;br /&gt;
&lt;br /&gt;
Only as of March 2016 homebrews such as [[JK&#039;s save manager]] have been released with such access.&lt;br /&gt;
&lt;br /&gt;
===System Save===&lt;br /&gt;
meet.dat: Your shared Mii, Streetpassed Miis, Streetpass count, achievements, unlocked outfits and speech bubbles, list of obtained puzzle tiles, etc&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/3dshacks/comments/4c5rcp/streetpass_mii_plaza_puzzle_swap_unlock_all/ Documentation of some addresses of interest of meet.dat]&lt;br /&gt;
&lt;br /&gt;
===Extdata===&lt;br /&gt;
Two mostly identical files, apparently containing progress for the paid games.&lt;br /&gt;
&lt;br /&gt;
===Spotpass extdata===&lt;br /&gt;
Actual images and 3D models for the Spotpass puzzles (all but the first 8 ones).&lt;br /&gt;
&lt;br /&gt;
If this file is missing, the puzzles contained in it will be unavailable until it is redownloaded, at which point any accumulated progress will be remembered.&lt;br /&gt;
&lt;br /&gt;
A backup of this archive is imperative to preserve limited distribution puzzles.&lt;br /&gt;
&lt;br /&gt;
See [[PNEL]] for more information on the file structure&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Title_list&amp;diff=22542</id>
		<title>Title list</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Title_list&amp;diff=22542"/>
		<updated>2024-04-24T13:02:05Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* System Module Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== CTR Title List Notes ====&lt;br /&gt;
Reports/title-lists [https://yls8.mtheall.com/ninupdates/reports.php here] are automatically obtained from the system update SOAP.&lt;br /&gt;
&lt;br /&gt;
== CTR System Titles ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Category Bit Mask&lt;br /&gt;
!  Title Type&lt;br /&gt;
!  Internal Description&lt;br /&gt;
!  Bit Mask(s)&lt;br /&gt;
|-&lt;br /&gt;
|  0x0010&lt;br /&gt;
|  Application&lt;br /&gt;
|  SYSTEM_APPLICATION&lt;br /&gt;
|  Normal&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;System&lt;br /&gt;
|-&lt;br /&gt;
|  0x001B&lt;br /&gt;
|  System Data Archives&lt;br /&gt;
|  SYSTEM_CONTENT&lt;br /&gt;
|  Contents&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;CannotExecution&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;System&lt;br /&gt;
|-&lt;br /&gt;
|  0x009B&lt;br /&gt;
|  Shared Data Archives&lt;br /&gt;
|  SHARED_CONTENT&lt;br /&gt;
|  Contents&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;CannotExecution&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;System&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;NotRequireRightForMount&lt;br /&gt;
|-&lt;br /&gt;
|  0x00DB&lt;br /&gt;
|  System Data Archives&lt;br /&gt;
|  AUTO_UPDATE_CONTENT&lt;br /&gt;
|  Contents&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;CannotExecution&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;System&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;NotRequireUserApproval&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;NotRequireRightForMount&lt;br /&gt;
|-&lt;br /&gt;
|  0x0030&lt;br /&gt;
|  Applet&lt;br /&gt;
|  APPLET&lt;br /&gt;
|  Normal&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;System&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;RequireBatchUpdate&lt;br /&gt;
|-&lt;br /&gt;
|  0x0130&lt;br /&gt;
|  Module&lt;br /&gt;
|  BASE&lt;br /&gt;
|  Normal&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;System&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;RequireBatchUpdate&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;CanSkipConvertJumpId&lt;br /&gt;
|-&lt;br /&gt;
|  0x0138&lt;br /&gt;
|  Firmware &lt;br /&gt;
|  FIRMWARE&lt;br /&gt;
|  Normal&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;CannotExecution&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;System&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;RequireBatchUpdate&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;CanSkipConvertJumpId&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 00040010 - System Applications ===&lt;br /&gt;
==== System Application Notes ====&lt;br /&gt;
System Application titles have a unique title low that varies by region.&lt;br /&gt;
Regardless of version, the ExeFS:/.code for mset is the same for USA/EUR/JPN. &lt;br /&gt;
The [[4.0.0-7]] version of mset([[4.1.0-8]] for TWN) has the same ExeFS:/.code for all regions(JPN, USA, EUR, CHN, KOR, TWN). &lt;br /&gt;
The [[5.0.0-11]] mset ExeFS:/.code is the same for all regions as well, except for CHN. The [[7.0.0-13]] mset ExeFS:/.code is unique for the following regions: CHN, KOR, and TWN.&lt;br /&gt;
A limited number of system-applications are included with gamecard-sysupdates. They are: [[System Settings]], [[Download Play]], SAFE_MODE [[System Settings#System Updater|System Updater]], and [[Nintendo 3DS Sound]] (this one was only in firms 3.0.0 - 6.2.0 inclusive). &lt;br /&gt;
The only system-applications included with the New3DS gamecard-sysupdate partition are: &amp;quot;menu&amp;quot; stub and &amp;quot;friend&amp;quot; stub.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  JPN TIDLow&lt;br /&gt;
!  USA TIDLow&lt;br /&gt;
!  EUR TIDLow&lt;br /&gt;
!  CHN TIDLow&lt;br /&gt;
!  KOR TIDLow&lt;br /&gt;
!  TWN TIDLow&lt;br /&gt;
!  [[Product code]]&lt;br /&gt;
!  Description&lt;br /&gt;
!  JPN Versions&lt;br /&gt;
!  EUR Versions&lt;br /&gt;
!  USA Versions&lt;br /&gt;
!  CHN Versions&lt;br /&gt;
!  KOR Versions&lt;br /&gt;
!  TWN Versions&lt;br /&gt;
!  Status&lt;br /&gt;
|-&lt;br /&gt;
| 00020000&lt;br /&gt;
| 00021000&lt;br /&gt;
| 00022000&lt;br /&gt;
| 00026000&lt;br /&gt;
| 00027000&lt;br /&gt;
| 00028000&lt;br /&gt;
| CTR-N-HAS?&lt;br /&gt;
| [[System Settings]] (mset)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2060]], [[4.0.0-7|v3074]], [[5.0.0-11|v4097]], [[6.0.0-11|v5127]], [[7.0.0-13|v6157]], [[7.2.0-17|v7173]], [[8.1.0-0_New3DS|v8198]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v9224]], [[9.6.0-24|v10245]], [[10.6.0-31|v10256]], [[11.5.0-38|v11266]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2061]], [[4.0.0-7|v3075]], [[5.0.0-11|v4097]], [[6.0.0-11|v5127]], [[7.0.0-13|v6157]], [[7.2.0-17|v7174]], [[9.0.0-20|v8202]], [[9.6.0-24|v9220]], [[11.4.0-37|v10241]](New2DSXL), [[11.5.0-38|v10256]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[3.0.0-5|v2062]], [[4.0.0-7|v3078]], [[5.0.0-11|v4098]], [[6.0.0-11|v5128]], [[7.0.0-13|v6157]], [[7.2.0-17|v7174]], [[9.0.0-20|v8203]], [[9.6.0-24|v9221]], [[11.5.0-38|v10241]]&lt;br /&gt;
| [[4.0.0-7|v8]], [[4.4.0-10|v1024]](CHN-only sysupdate for just mset), [[5.0.0-11|v2049]], [[7.0.0-13|v3075]]&lt;br /&gt;
| [[4.0.0-7|v1026]], [[5.0.0-11|v2049]], [[7.0.0-13|v4098]]&lt;br /&gt;
| [[4.1.0-8|v8]], [[4.2.0-9|v1024]], [[5.0.0-11|v2050]], [[7.0.0-13|v3074]]&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 00020100&lt;br /&gt;
| 00021100&lt;br /&gt;
| 00022100&lt;br /&gt;
| 00026100&lt;br /&gt;
| 00027100&lt;br /&gt;
| 00028100&lt;br /&gt;
| CTR-N-HDL?&lt;br /&gt;
| [[Download Play]] (dlplay)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]], [[4.0.0-7|v2051]], [[9.0.0-20|v3072]](Also for [[8.1.0-0_New3DS]])&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]], [[4.0.0-7|v2051]], [[9.0.0-20|v3073]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]], [[4.0.0-7|v2051]], [[9.0.0-20|v3073]]&lt;br /&gt;
| [[4.0.0-7|v4]]&lt;br /&gt;
| [[4.0.0-7|v1027]]&lt;br /&gt;
| [[4.1.0-8|v4]]&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 00020200&lt;br /&gt;
| 00021200&lt;br /&gt;
| 00022200&lt;br /&gt;
| 00026200&lt;br /&gt;
| 00027200&lt;br /&gt;
| 00028200&lt;br /&gt;
| CTR-N-HMK?&lt;br /&gt;
| [[Activity Log]] (PLOG)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2051]], [[10.6.0-31|v2080]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2054]], [[7.0.0-13|v2064]]&lt;br /&gt;
| Same as EUR&lt;br /&gt;
| [[4.0.0-7|v3]]&lt;br /&gt;
| [[4.0.0-7|v2]], [[7.0.0-13|v16]]&lt;br /&gt;
| [[4.1.0-8|v2]]&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 00020300&lt;br /&gt;
| 00021300&lt;br /&gt;
| 00022300&lt;br /&gt;
| 00026300&lt;br /&gt;
| 00027300&lt;br /&gt;
| 00028300&lt;br /&gt;
| ?&lt;br /&gt;
| [[Health and Safety Information]] (safe)&lt;br /&gt;
| [[1.0.0-0|v0]], [[4.0.0-7|v1024]], [[6.0.0-11|v2050]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[4.0.0-7|v2050]], [[6.0.0-11|v3077]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[4.0.0-7|v1026]], [[6.1.0-12U|v2051]]&lt;br /&gt;
| [[4.0.0-7|v5]]&lt;br /&gt;
| [[4.0.0-7|v2]]&lt;br /&gt;
| [[4.1.0-8|v5]]&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 20020300&lt;br /&gt;
| 20021300&lt;br /&gt;
| 20022300&lt;br /&gt;
| N/A&lt;br /&gt;
| 20027300&lt;br /&gt;
| N/A&lt;br /&gt;
| CTR-N-HAC?&lt;br /&gt;
| [[New_3DS]] [[Health and Safety Information]] (ssafe)&lt;br /&gt;
| [[8.1.0-0_New3DS|v2]], [[9.3.0-21|v17]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v1]], [[11.4.0-37|v16]](New2DSXL)&lt;br /&gt;
| Same as EUR.&lt;br /&gt;
| N/A&lt;br /&gt;
| [[9.6.0-24|v2]]&lt;br /&gt;
| N/A&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 00020400&lt;br /&gt;
| 00021400&lt;br /&gt;
| 00022400&lt;br /&gt;
| 00026400&lt;br /&gt;
| 00027400&lt;br /&gt;
| 00028400&lt;br /&gt;
| CTR-N-HEP?&lt;br /&gt;
| [[Nintendo 3DS Camera]] (CtrApp)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1038]], [[4.0.0-7|v2048]], [[6.0.0-11|v3073]], [[9.0.0-20|v4097]](Also for [[8.1.0-0_New3DS]]), [[10.6.0-31|v4112]], [[11.5.0-38|v5120]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1039]], [[4.0.0-7|v2048]], [[6.0.0-11|v3073]], [[7.0.0-13|v3088]], [[9.0.0-20|v4097]], [[11.4.0-37|v5120]](New2DSXL), [[11.5.0-38|v5120]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.1.0-4|v16]], [[3.0.0-5|v1039]], [[4.0.0-7|v2048]], [[6.1.0-12U|v3074]], [[7.0.0-13|v3088]], [[9.0.0-20|v4097]],  [[11.5.0-38|v5120]]&lt;br /&gt;
| [[4.0.0-7|v3]]&lt;br /&gt;
| [[4.0.0-7|v2]], [[7.0.0-13|v1040]]&lt;br /&gt;
| [[4.1.0-8|v3]]&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 00020500&lt;br /&gt;
| 00021500&lt;br /&gt;
| 00022500&lt;br /&gt;
| 00026500&lt;br /&gt;
| 00027500&lt;br /&gt;
| 00028500&lt;br /&gt;
| CTR-N-HES?&lt;br /&gt;
| [[Nintendo 3DS Sound]] (CtrApp)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3089]],  [[11.4.0-37|v4096]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3088]], [[11.4.0-37|v4096]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[7.0.0-13|v3088]], [[11.4.0-37|v4096]]&lt;br /&gt;
| [[4.0.0-7|v2]], [[11.4.0-37|v1024]]&lt;br /&gt;
| [[4.0.0-7|v2]], [[7.0.0-13|v16]],[[11.4.0-37|v4096]]&lt;br /&gt;
| [[4.1.0-8|v3]], [[11.4.0-37|v1024]]&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 00020700&lt;br /&gt;
| 00021700&lt;br /&gt;
| 00022700&lt;br /&gt;
| 00026700&lt;br /&gt;
| 00027700&lt;br /&gt;
| 00028700&lt;br /&gt;
| CTR-N-HED?&lt;br /&gt;
| [[Mii Maker]] (EDIT)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[7.0.0-13|v2055]], [[10.6.0-31|v2064]]&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| [[4.0.0-7|v1]]&lt;br /&gt;
| [[4.0.0-7|v1]], [[7.0.0-13|v16]]&lt;br /&gt;
| [[4.1.0-8|v2]]&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 00020800&lt;br /&gt;
| 00021800&lt;br /&gt;
| 00022800&lt;br /&gt;
| 00026800&lt;br /&gt;
| 00027800&lt;br /&gt;
| 00028800&lt;br /&gt;
| CTR-N-HME?&lt;br /&gt;
| [[StreetPass Mii Plaza]] (MEET)&lt;br /&gt;
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.0.0-11|v5121]]&lt;br /&gt;
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.0.0-11|v5122]]&lt;br /&gt;
| [[1.0.0-0|v0]], v1027, [[2.1.0-4|v2048]], [[3.0.0-5|v3087]], [[3.0.0-6|v4096]], [[6.1.0-12U|v5124]], [[7.0.0-13|v5136]]&lt;br /&gt;
| [[4.0.0-7|v0]], [[4.4.0-10|v4096]]&lt;br /&gt;
| [[4.0.0-7|v1]], [[4.4.0-10|v4096]], [[7.0.0-13|v5120]]&lt;br /&gt;
| [[4.1.0-8|v1]], [[4.4.0-10|v4096]]&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 00020900&lt;br /&gt;
| 00021900&lt;br /&gt;
| 00022900&lt;br /&gt;
| N/A&lt;br /&gt;
| 00027900&lt;br /&gt;
| 00028900&lt;br /&gt;
| CTR-N-HGR?&lt;br /&gt;
| [[eShop]] (tiger)&lt;br /&gt;
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2057]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7169]], [[7.0.0-13|v8206]], [[7.1.0-14|v9231]], [[7.2.0-17|v10245]], [[8.0.0-18|v11265]], [[8.1.0-19|v12288]], [[9.0.0-20|v13320]], [[9.3.0-21|v15366]], [[9.5.0-22|v16384]], [[9.6.0-24|v17421]], [[9.7.0-25|v18432]], [[10.0.0-27|v19465]], [[10.4.0-29|v20483]], [[10.7.0-32|v21504]], [[11.3.0-36|v23552]], [[11.5.0-38|v25600]]&lt;br /&gt;
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2058]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7171]], [[7.0.0-13|v8206]], [[7.1.0-14|v9231]], [[7.2.0-17|v10245]], [[8.0.0-18|v11265]], [[8.1.0-19|v12288]], [[9.0.0-20|v13320]], [[9.3.0-21|v15366]], [[9.5.0-22|v16384]], [[9.6.0-24|v17421]], [[9.7.0-25|v18432]], [[10.0.0-27|v19465]], [[10.4.0-29|v20482]], [[10.7.0-32|v21505]], [[11.2.0-35|v22528]], [[11.3.0-36|v23552]], [[11.4.0-37|v24576]](New2DSXL), [[11.5.0-38|v25600]]&lt;br /&gt;
| [[2.0.0-2|v4]], [[2.1.0-3|v1026]], [[3.0.0-5|v2058]], [[4.0.0-7|v3081]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7170]], [[7.0.0-13|v8206]], [[7.1.0-14|v9231]], [[7.2.0-17|v10246]], [[8.0.0-18|v11265]], [[8.1.0-19|v12288]], [[9.0.0-20|v13321]], [[9.3.0-21|v15366]], [[9.5.0-22|v16384]], [[9.6.0-24|v17422]], [[9.7.0-25|v18432]], [[10.0.0-27|v19465]], [[10.4.0-29|v20482]], [[10.7.0-32|v21506]], [[11.3.0-36|v23552]], [[11.5.0-38|v25600]]&lt;br /&gt;
| N/A&lt;br /&gt;
| [[4.0.0-7|v3082]], [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7169]], [[7.0.0-13|v8205]], [[7.1.0-14|v9231]], [[8.1.0-19|v12288]], [[9.0.0-20|v13320]], [[9.3.0-21|v15366]], [[9.5.0-22|v16384]], [[9.6.0-24|v17420]], [[9.7.0-25|v18432]], [[10.0.0-27|v19465]], [[10.4.0-29|v20482]]&lt;br /&gt;
| [[4.1.0-8|v4096]], [[4.2.0-9|v5123]], [[4.3.0-10|v6146]], [[5.0.0-11|v7170]], [[7.0.0-13|v8205]], [[7.1.0-14|v9231]], [[8.1.0-19|v12288]], [[9.3.0-21|v15366]], [[9.5.0-22|v16384]], [[9.6.0-24|v17421]], [[9.7.0-25|v18432]], [[10.0.0-27|v19465]]&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 00020A00&lt;br /&gt;
| 00021A00&lt;br /&gt;
| 00022A00&lt;br /&gt;
| N/A&lt;br /&gt;
| 00027A00&lt;br /&gt;
| 00028A00&lt;br /&gt;
| CTR-N-HCB?&lt;br /&gt;
| [[System Transfer]] (CARDBOARD)&lt;br /&gt;
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2050]], [[5.0.0-11|v3074]], [[7.0.0-13|v4109]], [[9.0.0-20|v5130]], [[9.6.0-24|v6154]]&lt;br /&gt;
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2050]], [[5.0.0-11|v3073]], [[7.0.0-13|v4109]], [[9.0.0-20|v5131]], [[9.6.0-24|v6155]]&lt;br /&gt;
| [[2.0.0-2|v4]], [[3.0.0-5|v1035]], [[4.0.0-7|v2051]], [[5.0.0-11|v3073]], [[7.0.0-13|v4109]], [[9.0.0-20|v5131]], [[9.6.0-24|v6156]]&lt;br /&gt;
| N/A&lt;br /&gt;
| [[4.0.0-7|v2]], [[5.0.0-11|v1025]], [[7.0.0-13|v2061]], [[9.0.0-20|v3082]]&lt;br /&gt;
| [[4.1.0-8|v2]], [[5.0.0-11|v1025]], [[7.0.0-13|v2061]]&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 00020B00&lt;br /&gt;
| 00021B00&lt;br /&gt;
| 00022B00&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| CTR-N-HMA?&lt;br /&gt;
| [[Nintendo Zone]] (&amp;quot;Nintendo&amp;quot;) (MARS)&lt;br /&gt;
| [[1.0.0-0|v0]], [[3.0.0-5|v1034]]&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 00020D00&lt;br /&gt;
| 00021D00&lt;br /&gt;
| 00022D00&lt;br /&gt;
| 00026D00&lt;br /&gt;
| 00027D00&lt;br /&gt;
| 00028D00&lt;br /&gt;
| CTR-N-HCH?&lt;br /&gt;
| [[Face Raiders]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.1.0-4|v1028]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.1.0-4|v1028]], [[7.0.0-13|v1040]]&lt;br /&gt;
| Same as EUR&lt;br /&gt;
| [[4.0.0-7|v0]]&lt;br /&gt;
| [[4.0.0-7|v0]]&lt;br /&gt;
| [[4.1.0-8|v2]]&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 20020D00&lt;br /&gt;
| 20021D00&lt;br /&gt;
| 20022D00&lt;br /&gt;
| N/A&lt;br /&gt;
| 20027D00&lt;br /&gt;
| N/A&lt;br /&gt;
| ?&lt;br /&gt;
| [[New_3DS]] [[Face Raiders]] (FACE)&lt;br /&gt;
| [[8.1.0-0_New3DS|v2050]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v2049]]&lt;br /&gt;
| Same as EUR.&lt;br /&gt;
| N/A&lt;br /&gt;
| [[9.6.0-24|v2049]]&lt;br /&gt;
| N/A&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 00020E00&lt;br /&gt;
| 00021E00&lt;br /&gt;
| 00022E00&lt;br /&gt;
| 00026E00&lt;br /&gt;
| 00027E00&lt;br /&gt;
| 00028E00&lt;br /&gt;
| CTR-N-HAR?&lt;br /&gt;
| [[AR Games]] (AR_ACT)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.1.0-4|v1026]], [[7.0.0-13|v1040]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.1.0-4|v1027]], [[7.0.0-13|v1040]]&lt;br /&gt;
| [[4.0.0-7|v0]]&lt;br /&gt;
| [[4.0.0-7|v0]], [[7.0.0-13|v16]]&lt;br /&gt;
| [[4.1.0-8|v1]]&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 00020F00&lt;br /&gt;
| 00021F00&lt;br /&gt;
| 00022F00&lt;br /&gt;
| 00026F00&lt;br /&gt;
| 00027F00&lt;br /&gt;
| 00028F00&lt;br /&gt;
| CTR-N-HSH?&lt;br /&gt;
| SAFE_MODE [[System Settings#System Updater|System Updater]] (mset)&lt;br /&gt;
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[6.0.0-11|v2049]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[6.0.0-11|v2050]]&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| [[4.0.0-7|v1]], [[6.0.0-11|v1026]]&lt;br /&gt;
| [[4.0.0-7|v1]]&lt;br /&gt;
| [[4.1.0-8|v1]]&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 00023000&lt;br /&gt;
| 00024000&lt;br /&gt;
| 00025000&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| (Variable?)&lt;br /&gt;
| Promotional video&lt;br /&gt;
| [[1.1.0-1|v2]], [[2.0.0-2|v2048]]&lt;br /&gt;
| [[1.1.0-1|v0]], [[2.0.0-2|v2048]]&lt;br /&gt;
| [[1.1.0-1|v0]], [[2.0.0-2|v2048]]&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| Stubbed&lt;br /&gt;
|-&lt;br /&gt;
| 0002BF00&lt;br /&gt;
| 0002C000&lt;br /&gt;
| 0002C100&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| CTR-N-HAF?&lt;br /&gt;
| [[Nintendo Network ID Settings]] (act)&lt;br /&gt;
| [[7.0.0-13|v14]], [[7.2.0-17|v1029]], [[9.0.0-20|v2051]], [[9.3.0-21|v3072]]&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| Active&lt;br /&gt;
|-&lt;br /&gt;
| 20023100&lt;br /&gt;
| 20024100&lt;br /&gt;
| 20025100&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| CTR-N-HAJ?&lt;br /&gt;
| [[microSD Management]] (&#039;mcopy&#039;) ([[New_3DS]]-only)&lt;br /&gt;
| [[8.1.0-0_New3DS|v8]], [[9.0.0-20|v1024]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v4]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v5]]&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| Available&lt;br /&gt;
|-&lt;br /&gt;
| 2002C800&lt;br /&gt;
| 2002CF00&lt;br /&gt;
| 2002D000&lt;br /&gt;
| N/A&lt;br /&gt;
| 2002D700&lt;br /&gt;
| N/A&lt;br /&gt;
| CTR-P-CTAP&lt;br /&gt;
| [[New_3DS]] HOME menu digital manual&lt;br /&gt;
| [[8.1.0-0_New3DS|v2]], [[9.0.0-20|v18]], [[9.3.0-21|v34]], [[9.6.0-24|v50]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v1]], [[9.3.0-21|v17]], [[9.6.0-24|v34]], [[11.4.0-37|v48]](New2DSXL)&lt;br /&gt;
| [[8.1.0-0_New3DS|v1]], [[9.3.0-21|v18]], [[9.6.0-24|v33]]&lt;br /&gt;
| N/A&lt;br /&gt;
| [[9.6.0-24|v2]]&lt;br /&gt;
| N/A&lt;br /&gt;
| Stubbed&lt;br /&gt;
|-&lt;br /&gt;
| 2002C900&lt;br /&gt;
| 2002D100&lt;br /&gt;
| 2002D200&lt;br /&gt;
| N/A&lt;br /&gt;
| 2002D800&lt;br /&gt;
| N/A&lt;br /&gt;
| CTR-P-CTAP&lt;br /&gt;
| [[New_3DS]] Friends list digital manual&lt;br /&gt;
| [[8.1.0-0_New3DS|v1]]&lt;br /&gt;
| Same as JPN.&lt;br /&gt;
| [[8.1.0-0_New3DS|v0]], [[9.3.0-21|v16]]&lt;br /&gt;
| N/A&lt;br /&gt;
| [[9.6.0-24|v2]]&lt;br /&gt;
| N/A&lt;br /&gt;
| Stubbed&lt;br /&gt;
|-&lt;br /&gt;
| 2002CA00&lt;br /&gt;
| 2002D300&lt;br /&gt;
| 2002D400&lt;br /&gt;
| N/A&lt;br /&gt;
| 2002D900&lt;br /&gt;
| N/A&lt;br /&gt;
| CTR-P-CTAP&lt;br /&gt;
| [[New_3DS]] Notifications digital manual&lt;br /&gt;
| [[8.1.0-0_New3DS|v0]], v1([[Home_Menu|JPN-only]] Oct 2, 2014 &amp;quot;sysupdate&amp;quot;, actually uploaded on 09-29-14. Identical to v0, same TMDs besides title-versions)&lt;br /&gt;
| [[8.1.0-0_New3DS|v2]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v0]]&lt;br /&gt;
| N/A&lt;br /&gt;
| [[9.6.0-24|v2]]&lt;br /&gt;
| N/A&lt;br /&gt;
| Stubbed&lt;br /&gt;
|-&lt;br /&gt;
| 2002CB00&lt;br /&gt;
| 2002D500&lt;br /&gt;
| 2002D600&lt;br /&gt;
| N/A&lt;br /&gt;
| 2002DA00&lt;br /&gt;
| N/A&lt;br /&gt;
| CTR-P-CTAP&lt;br /&gt;
| [[New_3DS]] Game Notes digital manual&lt;br /&gt;
| [[8.1.0-0_New3DS|v0]], [[9.0.0-20|v1]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v2]]&lt;br /&gt;
| Same as EUR.&lt;br /&gt;
| N/A&lt;br /&gt;
| [[9.6.0-24|v1]]&lt;br /&gt;
| N/A&lt;br /&gt;
| Stubbed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0004001B - [[NCCH#CFA|System Data Archives]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  TitleID Low&lt;br /&gt;
!  Description&lt;br /&gt;
!  Versions&lt;br /&gt;
|-&lt;br /&gt;
| 00010002&lt;br /&gt;
| [[ClCertA]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 00010702&lt;br /&gt;
| [[NS CFA]]&lt;br /&gt;
| [[3.0.0-5|v0]], [[6.0.0-11|v1028]], [[6.3.0-12|v2048]], [[7.0.0-13|v3073]], [[9.0.0-20|v4096]](also for [[8.1.0-0_New3DS]])&lt;br /&gt;
|-&lt;br /&gt;
| 00010802&lt;br /&gt;
| This CFA only contains a 1-byte &amp;quot;dummy.txt&amp;quot; in the RomFS, which contains &#039;0&#039;.&lt;br /&gt;
| [[6.3.0-12|v0]], [[9.5.0-23|v1024]], [[10.5.0-30|v2048]], [[11.0.0-33|v3072]]&lt;br /&gt;
|-&lt;br /&gt;
| 00018002&lt;br /&gt;
| Same contents as 00010802. Starting with [[7.1.0-15]], the &amp;quot;dummy.txt&amp;quot; file was removed from RomFS: this CFA RomFS now contains web-browser data(similar to 00018102) for NNID / networking, etc.&lt;br /&gt;
| [[7.0.0-13|v14]], [[7.1.0-15|v1025]], [[7.2.0-17|v2055]], [[9.0.0-20|v3078]], [[9.3.0-21|v4096]], [[9.6.0-24|v5120]]&lt;br /&gt;
|-&lt;br /&gt;
| 00018102&lt;br /&gt;
| This contains local web-browser data(html/js, gfx, etc) for the Miiverse Offline-mode.&lt;br /&gt;
| [[7.0.0-13|v11]], [[9.0.0-20|v1025]](also for [[8.1.0-0_New3DS]])&lt;br /&gt;
|-&lt;br /&gt;
| 00018202&lt;br /&gt;
| This contains the webkit/OSS [[CRO0|CROs]] used with the Miiverse applet and the &amp;quot;act&amp;quot; application.&lt;br /&gt;
| [[7.0.0-13|v7]], [[8.1.0-0_New3DS|v1026]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v2050]]&lt;br /&gt;
|-&lt;br /&gt;
| 00019002&lt;br /&gt;
| [[Fangate_updater]]&lt;br /&gt;
| [[9.3.0-21|v2]], [[9.6.0-24|v1026]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 00040030 - System Applets===&lt;br /&gt;
==== System Applet Notes ====&lt;br /&gt;
Most of these processes are applets, see [[NS_and_APT_Services|here]] for details.&lt;br /&gt;
All of the below processes use the &amp;quot;SYSTEM&amp;quot; [[SVC|memory-region]].&lt;br /&gt;
The ExeFS for Home Menu is exactly the same for USA/EUR/JPN.&lt;br /&gt;
The Miiverse applet seems to use a web browser with webkit.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  JPN TitleIDLow&lt;br /&gt;
!  USA TitleIDLow&lt;br /&gt;
!  EUR TitleIDLow&lt;br /&gt;
!  CHN TitleIDLow&lt;br /&gt;
!  KOR TitleIDLow&lt;br /&gt;
!  TWN TitleIDLow&lt;br /&gt;
!  [[Product code]]&lt;br /&gt;
!  Description&lt;br /&gt;
!  JPN Versions&lt;br /&gt;
!  USA Versions&lt;br /&gt;
!  EUR Versions&lt;br /&gt;
|-&lt;br /&gt;
|colspan=6 align=center| 00008102&lt;br /&gt;
| CTR-P-CTAP&lt;br /&gt;
| [[NS#Alternate menu|Test Menu]] (Demo1)&lt;br /&gt;
|colspan=3 align=center| ..., v64, ..., v27648&lt;br /&gt;
|-&lt;br /&gt;
| 00008202&lt;br /&gt;
| 00008F02&lt;br /&gt;
| 00009802&lt;br /&gt;
| 0000A102&lt;br /&gt;
| 0000A902&lt;br /&gt;
| 0000B102&lt;br /&gt;
| CTR-P-HMM?&lt;br /&gt;
| [[Home Menu]] (menu)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[2.1.0-3|v2049]], [[2.2.0-X|v3075]], [[3.0.0-5|v4111]], [[4.0.0-7|v5131]], [[4.2.0-9|v6146]], [[5.0.0-11|v7172]], [[6.0.0-11|v8198]], [[7.0.0-13|v9230]], [[8.1.0-0_New3DS|v10250]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v13313]], [[9.1.0-20J|v14336]], [[9.2.0-20|v15360]], [[9.3.0-21|v16402]], [[9.4.0-21|v17408]], [[9.5.0-22|v18432]], [[9.6.0-24|v19476]], [[9.7.0-25|v20487]], [[9.8.0-25|v22528]], [[10.1.0-27|v23552]], [[10.2.0-28|v24576]], [[10.3.0-28|v25600]], [[10.4.0-29|v26626]], [[10.6.0-31|v27648]], [[11.1.0-34|v28672]], [[11.3.0-36|v29696]], [[11.5.0-38|v30721]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[2.1.0-3|v2049]], [[2.2.0-X|v3075]], [[3.0.0-5|v4111]], [[4.0.0-7|v5131]], [[4.2.0-9|v6146]], [[5.0.0-11|v7172]], [[6.0.0-11|v8198]], [[7.0.0-13|v9230]], [[9.0.0-20|v11272]], [[9.2.0-20|v12288]], [[9.3.0-21|v13330]], [[9.4.0-21|v14336]], [[9.5.0-22|v15360]], [[9.6.0-24|v16404]], [[9.7.0-25|v17415]], [[9.8.0-25|v19456]], [[9.9.0-26|v20480]], [[10.1.0-27|v21504]], [[10.2.0-28|v22528]], [[10.3.0-28|v23552]], [[10.4.0-29|v24578]], [[10.6.0-31|v25600]], [[11.1.0-34|v26624]], [[11.3.0-36|v27648]], [[11.5.0-38|v28673]], [[11.17.0-50|v30720]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1027]], [[2.1.0-3|v2049]], [[2.2.0-X|v3075]], [[3.0.0-5|v4111]], [[4.0.0-7|v5131]], [[4.2.0-9|v6146]], [[5.0.0-11|v7172]], [[6.0.0-11|v8198]], [[7.0.0-13|v9230]], [[9.0.0-20|v11272]], [[9.2.0-20|v12288]], [[9.3.0-21|v13330]], [[9.4.0-21|v14336]], [[9.5.0-22|v15360]], [[9.6.0-24|v16404]], [[9.7.0-25|v17415]], [[9.8.0-25|v19456]], [[10.1.0-27|v20480]], [[10.2.0-28|v21504]], [[10.3.0-28|v22528]], [[10.4.0-29|v23554]], [[10.6.0-31|v24576]], [[11.1.0-34|v25600]], [[11.3.0-36|v26624]], [[11.4.0-37|v27649]](New2DSXL), [[11.5.0-38|v27649]]&lt;br /&gt;
|-&lt;br /&gt;
| 00008402&lt;br /&gt;
| 00009002&lt;br /&gt;
| 00009902&lt;br /&gt;
| 0000A202&lt;br /&gt;
| 0000AA02&lt;br /&gt;
| 0000B202&lt;br /&gt;
| CTR-N-HCS?&lt;br /&gt;
| Camera applet used by Home-menu (CtrApp)&lt;br /&gt;
|colspan=3| v0, v1036, [[9.0.0-20|v2049]](Also for [[8.1.0-0_New3DS]])&lt;br /&gt;
|-&lt;br /&gt;
| 00008502&lt;br /&gt;
| 00009102&lt;br /&gt;
| 00009A02&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| Not available on CDN&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 00008602&lt;br /&gt;
| 00009202&lt;br /&gt;
| 00009B02&lt;br /&gt;
| 0000A402&lt;br /&gt;
| 0000AC02&lt;br /&gt;
| 0000B402&lt;br /&gt;
| CTR-N-HMV?&lt;br /&gt;
| Instruction Manual, applet for displaying instruction manuals&lt;br /&gt;
|colspan=3| v0, v1026, v2048, v3072, [[5.0.0-11|v4097]], [[9.0.0-20|v5120]](Also for [[8.1.0-0_New3DS]])&lt;br /&gt;
|-&lt;br /&gt;
| 00008702&lt;br /&gt;
| 00009302&lt;br /&gt;
| 00009C02&lt;br /&gt;
| 0000A502&lt;br /&gt;
| 0000AD02&lt;br /&gt;
| 0000B502&lt;br /&gt;
| CTR-N-HGM?&lt;br /&gt;
| Game Notes (Cherry)&lt;br /&gt;
|colspan=3| v0, v1026, v2049, [[5.0.0-11|v3073]], [[9.0.0-20|v4096]](Also for [[8.1.0-0_New3DS]])&lt;br /&gt;
|-&lt;br /&gt;
| 00008802&lt;br /&gt;
| 00009402&lt;br /&gt;
| 00009D02&lt;br /&gt;
| 0000A602&lt;br /&gt;
| 0000AE02&lt;br /&gt;
| 0000B602&lt;br /&gt;
| &lt;br /&gt;
| [[Internet Browser]] (spider)&lt;br /&gt;
|colspan=3| [[2.0.0-2|v6]], [[2.1.0-4|v1024]], [[4.0.0-7|v2050]], [[5.0.0-11|v3074 (EUR)/v3075(USA,JAP)]], [[7.0.0-13|v3088]], [[7.1.0-16|v4096]], [[9.5.0-23|v5121]], [[9.9.0-26|v6149]], [[10.2.0-28|v7168]], [[10.6.0-31|v8192]], [[10.7.0-32|v9232]], [[11.1.0-34|v10240]], [[11.9.0-42|v11297]]&lt;br /&gt;
|-&lt;br /&gt;
| 20008802&lt;br /&gt;
| 20009402&lt;br /&gt;
| 20009D02&lt;br /&gt;
| ?&lt;br /&gt;
| 2000AE02&lt;br /&gt;
| N/A&lt;br /&gt;
| CTR-N-HBR?&lt;br /&gt;
| [[New 3DS]] [[Internet Browser]] (SKATER)&lt;br /&gt;
|colspan=3| [[8.1.0-0_New3DS|v10]], [[9.3.0-21|v1027]], [[9.6.0-24|v2051]], [[9.9.0-26|v3077]], [[10.2.0-28|v4096]], [[10.4.0-29|v5121]], [[10.6.0-31|v6144]], [[10.7.0-32|v7184]], [[11.1.0-34|v8192]], [[11.9.0-42|v10272]]&lt;br /&gt;
|-&lt;br /&gt;
|colspan=6| 00008A02&lt;br /&gt;
| &lt;br /&gt;
| Fatal error viewer ([[ErrDisp]])&lt;br /&gt;
|colspan=3| v0, v1025, [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]], [[8.0.0-18|v6144]], [[9.0.0-20|v7168]](Also for [[8.1.0-0_New3DS]])&lt;br /&gt;
|-&lt;br /&gt;
|colspan=6| 00008A03&lt;br /&gt;
| &lt;br /&gt;
| SAFE_MODE [[ErrDisp]]&lt;br /&gt;
|colspan=3| v0&lt;br /&gt;
|-&lt;br /&gt;
| 20008A03&lt;br /&gt;
| 20008A03&lt;br /&gt;
| 20008A03&lt;br /&gt;
| ?&lt;br /&gt;
| 20008A03&lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[ErrDisp]]&lt;br /&gt;
|colspan=3| [[8.1.0-0_New3DS|v7169]]&lt;br /&gt;
|-&lt;br /&gt;
| 00008D02&lt;br /&gt;
| 00009602&lt;br /&gt;
| 00009F02&lt;br /&gt;
| 0000A702&lt;br /&gt;
| 0000AF02&lt;br /&gt;
| 0000B702&lt;br /&gt;
| CTR-N-HFR?&lt;br /&gt;
| Friend List (friend)&lt;br /&gt;
|colspan=3| v0, v1026, [[2.2.0-X|v2051]], v3082, v4099, [[7.0.0-13|v5120]], [[9.0.0-20|v6144]](Also for [[8.1.0-0_New3DS]]) (EUR v6, v1024, v3082, v4099, [[7.0.0-13|v5120]], [[9.0.0-20|v6144]])&lt;br /&gt;
|-&lt;br /&gt;
| 00008E02&lt;br /&gt;
| 00009702&lt;br /&gt;
| 0000A002&lt;br /&gt;
| 0000A802&lt;br /&gt;
| 0000B002&lt;br /&gt;
| 0000B802&lt;br /&gt;
| CTR-N-HCR?&lt;br /&gt;
| Notifications (newslist)&lt;br /&gt;
|colspan=3| v0, v1029, v2054, v3075, [[9.0.0-20|v4097]] (EUR v6, v1024, v2054, v3075, [[9.0.0-20|v4097]]) (JPN: ..., [[8.1.0-0_New3DS|v4096]], [[9.0.0-20|v5121]])&lt;br /&gt;
|-&lt;br /&gt;
| 0000C002&lt;br /&gt;
| 0000C802&lt;br /&gt;
| 0000D002&lt;br /&gt;
| 0000D802&lt;br /&gt;
| 0000DE02&lt;br /&gt;
| 0000E402&lt;br /&gt;
| CTR-N-HKY?&lt;br /&gt;
| Software Keyboard (swkbd)&lt;br /&gt;
|colspan=3| v0, v1026, v2053, [[7.0.0-13|v3072]], [[9.0.0-20|v4096]](Also for [[8.1.0-0_New3DS]])&lt;br /&gt;
|-&lt;br /&gt;
| 0000C003&lt;br /&gt;
| 0000C803&lt;br /&gt;
| 0000D003&lt;br /&gt;
| 0000D803&lt;br /&gt;
| 0000DE03&lt;br /&gt;
| 0000E403&lt;br /&gt;
| &lt;br /&gt;
| SAFE_MODE Software Keyboard (swkbd)&lt;br /&gt;
|colspan=3| v0&lt;br /&gt;
|-&lt;br /&gt;
| 2000C003&lt;br /&gt;
| 2000C803&lt;br /&gt;
| 2000D003&lt;br /&gt;
| ?&lt;br /&gt;
| 2000DE03&lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| [[New 3DS]] SAFE_MODE Software Keyboard (swkbd)&lt;br /&gt;
| [[8.1.0-0_New3DS|v1024]]&lt;br /&gt;
|colspan=2|[[9.0.0-20|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 0000C102&lt;br /&gt;
| 0000C902&lt;br /&gt;
| 0000D102&lt;br /&gt;
| 0000D902&lt;br /&gt;
| 0000DF02&lt;br /&gt;
| 0000E502&lt;br /&gt;
| CTR-N-HMS?&lt;br /&gt;
| Mii picker (appletEd)&lt;br /&gt;
|colspan=3| v0, v1026, [[9.0.0-20|v2048]](Also for [[8.1.0-0_New3DS]]), [[9.3.0-21|v3077]]&lt;br /&gt;
|-&lt;br /&gt;
| 0000C302&lt;br /&gt;
| 0000CB02&lt;br /&gt;
| 0000D302&lt;br /&gt;
| 0000DB02&lt;br /&gt;
| 0000E102&lt;br /&gt;
| 0000E702&lt;br /&gt;
| CTR-N-HCC?&lt;br /&gt;
| Picture picker (PNOTE_AP)&lt;br /&gt;
|colspan=3| v0, v1024, [[8.1.0-0_New3DS|v2049]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v3075]], [[9.3.0-21|v4096]]&lt;br /&gt;
|-&lt;br /&gt;
| 0000C402&lt;br /&gt;
| 0000CC02&lt;br /&gt;
| 0000D402&lt;br /&gt;
| 0000DC02&lt;br /&gt;
| 0000E202&lt;br /&gt;
| 0000E802&lt;br /&gt;
| CTR-N-HMC?&lt;br /&gt;
| [[Nintendo 3DS Sound|Voice memo]] picker (SNOTE_AP)&lt;br /&gt;
|colspan=3| v0, v3, [[8.0.0-18|v1026]], [[9.0.0-20|v2048]](Also for [[8.1.0-0_New3DS]])&lt;br /&gt;
|-&lt;br /&gt;
|colspan=3| 0000C502&lt;br /&gt;
|colspan=3| 0000CF02&lt;br /&gt;
| CTR-N-HEEA&lt;br /&gt;
CTR-N-HEEK&lt;br /&gt;
| Non-critical (online, etc) error display (error)&lt;br /&gt;
|colspan=3| v0, v1026, v2053, v3074, [[8.1.0-0_New3DS|v4096]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v5128]], [[9.6.0-24|v6145]]&lt;br /&gt;
|-&lt;br /&gt;
|colspan=3| 0000C503&lt;br /&gt;
|colspan=3| 0000CF03&lt;br /&gt;
| &lt;br /&gt;
| SAFE_MODE error applet&lt;br /&gt;
|colspan=3| v0&lt;br /&gt;
|-&lt;br /&gt;
| 2000C503&lt;br /&gt;
| 2000C503&lt;br /&gt;
| 2000C503&lt;br /&gt;
| ?&lt;br /&gt;
| 2000CF03&lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| [[New 3DS]] SAFE_MODE error applet&lt;br /&gt;
|colspan=3| [[8.1.0-0_New3DS|v1024]]&lt;br /&gt;
|-&lt;br /&gt;
|colspan=3| 0000CD02&lt;br /&gt;
|colspan=3| 0000D502&lt;br /&gt;
| CTR-N-HADA&lt;br /&gt;
CTR-N-HADK&lt;br /&gt;
| [[Circle Pad Pro]] test/calibration applet (extrapad)&lt;br /&gt;
|colspan=3| v1, v1026, [[8.1.0-0_New3DS|v2048]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v3073]], [[11.4.0-37|v4097]](New2DSXL), [[11.5.0-38|v4097]]&lt;br /&gt;
|-&lt;br /&gt;
| 0000C602&lt;br /&gt;
| 0000CE02&lt;br /&gt;
| 0000D602&lt;br /&gt;
| N/A&lt;br /&gt;
| 0000E302&lt;br /&gt;
| 0000E902&lt;br /&gt;
| CTR-N-HAA?&lt;br /&gt;
| eShop applet, used by applications for accessing the eShop, for DLC/etc. Also used by the eShop application itself. (mint)&lt;br /&gt;
|colspan=3| v5, v1028, [[4.2.0-9|v2050]], [[5.0.0-11|v3072]], [[7.0.0-13|v4109]], [[7.2.0-17|v5125]](v5123 for JPN), [[8.0.0-18|v6145]], [[8.1.0-0_New3DS|v7168]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v8200]], [[9.3.0-21|v9224]], [[9.6.0-24|v10247]], [[9.8.0-25|v11264]], [[10.0.0-27|v12293]], [[10.1.0-27|v13312]], [[10.3.0-28|v14337]], [[10.4.0-29|v15360]], [[10.7.0-32|v16384]], [[11.2.0-35|v17408]](EUR), [[11.3.0-36|v18432]], [[11.5.0-38|v19457]]&lt;br /&gt;
|-&lt;br /&gt;
| 0000BC02&lt;br /&gt;
| 0000BD02&lt;br /&gt;
| 0000BE02&lt;br /&gt;
| ?&lt;br /&gt;
| N/A&lt;br /&gt;
| ?&lt;br /&gt;
| CTR-N-HAE?&lt;br /&gt;
| Miiverse (olv)&lt;br /&gt;
|colspan=3| [[7.0.0-13|v14]], [[7.2.0-17|v1024]], [[9.0.0-20|v2048]](Also for [[8.1.0-0_New3DS]]), [[9.3.0-21|v3072]], [[9.6.0-24|v4096]]&lt;br /&gt;
|-&lt;br /&gt;
|colspan=3| 0000F602&lt;br /&gt;
| ?&lt;br /&gt;
| N/A&lt;br /&gt;
| ?&lt;br /&gt;
| CTR-N-HAGA&lt;br /&gt;
| Likely the &amp;quot;system library&amp;quot; for Miiverse (memolib)&lt;br /&gt;
|colspan=3| [[7.0.0-13|v5]], [[8.1.0-0_New3DS|v1024]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v2050]], [[9.3.0-21|v3072]]&lt;br /&gt;
|-&lt;br /&gt;
| 00008302&lt;br /&gt;
| 00008B02&lt;br /&gt;
| 0000BA02&lt;br /&gt;
| ?&lt;br /&gt;
| N/A&lt;br /&gt;
| ?&lt;br /&gt;
| CTR-N-HAH?&lt;br /&gt;
| In-app Miiverse-posting applet (solv3)&lt;br /&gt;
|colspan=3| [[9.0.0-20|v6]]&lt;br /&gt;
|-&lt;br /&gt;
| 00009502&lt;br /&gt;
| 00009E02&lt;br /&gt;
| 0000B902&lt;br /&gt;
| ?&lt;br /&gt;
| 00008C02&lt;br /&gt;
| 0000BF02&lt;br /&gt;
| CTR-N-HA3?&lt;br /&gt;
| Cabinet ([[amiibo Settings]])&lt;br /&gt;
|colspan=3| [[9.3.0-21|v7]], (v1024 for TWN), [[9.6.0-24|v1031]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0004009B - [[NCCH#CFA|Shared Data Archives]] ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  JPN TitleIDLow&lt;br /&gt;
!  USA TitleIDLow&lt;br /&gt;
!  EUR TitleIDLow&lt;br /&gt;
!  CHN TitleIDLow&lt;br /&gt;
!  KOR TitleIDLow&lt;br /&gt;
!  TWN TitleIDLow&lt;br /&gt;
!  Description&lt;br /&gt;
!  Versions&lt;br /&gt;
|-&lt;br /&gt;
| 00010202&lt;br /&gt;
| 00010202&lt;br /&gt;
| 00010202&lt;br /&gt;
| 00010202&lt;br /&gt;
| 00010202&lt;br /&gt;
| 00010202&lt;br /&gt;
| Probably Mii-related, contains &amp;quot;CFL_Res.dat&amp;quot; in the RomFS.&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00010402&lt;br /&gt;
| 00010402&lt;br /&gt;
| 00010402&lt;br /&gt;
| 00010402&lt;br /&gt;
| 00010402&lt;br /&gt;
| 00010402&lt;br /&gt;
| Region Manifest. Mounted as &amp;quot;area:&amp;quot;&lt;br /&gt;
| v0, v1024, v2050, v3072, [[7.0.0-13|v4098]], [[9.6.0-24|v5122]]&lt;br /&gt;
|-&lt;br /&gt;
| 00010602&lt;br /&gt;
| 00010602&lt;br /&gt;
| 00010602&lt;br /&gt;
| 00010602&lt;br /&gt;
| 00010602&lt;br /&gt;
| 00010602&lt;br /&gt;
| Non-Nintendo TLS Root-CA Certificates (RomFS contains files with filename &amp;quot;CACERT_PUBLIC_CA_&amp;lt;val&amp;gt;.der&amp;quot;, where &amp;lt;val&amp;gt; is 5..8)&lt;br /&gt;
| v2, [[10.5.0-30|v1024]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 00011002&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|  &amp;quot;CHN/CN&amp;quot; Dictionary.&lt;br /&gt;
|  v1&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 00011102  &lt;br /&gt;
| &amp;quot;TWN/TN&amp;quot; dictionary.&lt;br /&gt;
| v1&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 00011202&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|  &lt;br /&gt;
| &amp;quot;NL/NL&amp;quot; dictionary.&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 00011302&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|  &lt;br /&gt;
| &amp;quot;EN/GB&amp;quot; dictionary.&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| 00011402&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| &amp;quot;EN/US&amp;quot; dictionary.&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 00011502&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &amp;quot;FR/FR/regular&amp;quot; dictionary.&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| 00011602&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|  &lt;br /&gt;
| &amp;quot;FR/CA/regular&amp;quot; dictionary.&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 00011702&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &amp;quot;DE/regular&amp;quot; dictionary.&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 00011802&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &amp;quot;IT/IT&amp;quot; dictionary.&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00011902&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|  &lt;br /&gt;
| &amp;quot;JA_small/32&amp;quot; dictionary.&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 00011A02&lt;br /&gt;
|  &lt;br /&gt;
| &amp;quot;KO/KO&amp;quot; dictionary.&lt;br /&gt;
| v1&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 00011B02&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &amp;quot;PT/PT/regular&amp;quot; dictionary.&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| 00011C02&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &amp;quot;RU/regular&amp;quot; dictionary.&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| 00011D02&lt;br /&gt;
| 00011D02&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &amp;quot;ES/ES&amp;quot; dictionary.&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| 00011E02&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &amp;quot;PT/BR/regular&amp;quot; dictionary.&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00012202&lt;br /&gt;
| 00012302&lt;br /&gt;
| 00012102&lt;br /&gt;
| 00012402&lt;br /&gt;
| 00012502&lt;br /&gt;
| 00012602&lt;br /&gt;
| ?contains a lists with error strings&lt;br /&gt;
| v1026, v2053, v3073, [[4.2.0-9|v4096]], [[5.0.0-11|v5120]], [[7.0.0-13|v6149]], [[7.2.0-17|v7168]], [[8.0.0-18|v8192]], [[9.0.0-20|v9218]], [[9.3.0-21|v10242]], [[9.6.0-24|v11269]], [[10.0.0-27|v12289]], [[10.4.0-29|v13312]], [[10.7.0-32|v13313]] (JPN: [[11.1.0-34|v14336]]) (KOR: [[9.6.0-24|v6148]], [[10.0.0-27|v7169]], [[10.3.0-28|v8193]], [[10.4.0-29|v9216]], [[11.1.0-34|v10240]])&lt;br /&gt;
|-&lt;br /&gt;
| 00013202&lt;br /&gt;
| 00013302&lt;br /&gt;
| 00013102&lt;br /&gt;
| 00013502&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Mounted as &amp;quot;eula:&amp;quot;&lt;br /&gt;
| v0, v1024, v2049 USA: v1024, v2051, [[7.0.0-13|v3074]], [[7.2.0-17|v4100]](EUR-only), [[9.0.0-20|v4099]], [[9.9.0-26|v6144]], [[10.4.0-29|v7168]] (KOR: [[9.7.0-25|v1025]])&lt;br /&gt;
|-&lt;br /&gt;
| 00014002&lt;br /&gt;
| 00014002&lt;br /&gt;
| 00014002&lt;br /&gt;
| 00014002&lt;br /&gt;
| 00014002&lt;br /&gt;
| 00014002&lt;br /&gt;
| JPN/EUR/USA [[System Font]] (&amp;quot;font:&amp;quot;)&lt;br /&gt;
| v0&lt;br /&gt;
|-&lt;br /&gt;
| 00014102&lt;br /&gt;
| 00014102&lt;br /&gt;
| 00014102&lt;br /&gt;
| 00014102&lt;br /&gt;
| 00014102&lt;br /&gt;
| 00014102&lt;br /&gt;
| CHN [[System Font]] (&amp;quot;font:&amp;quot;)&lt;br /&gt;
| v0, v1024&lt;br /&gt;
|-&lt;br /&gt;
| 00014202&lt;br /&gt;
| 00014202&lt;br /&gt;
| 00014202&lt;br /&gt;
| 00014202&lt;br /&gt;
| 00014202&lt;br /&gt;
| 00014202&lt;br /&gt;
| KOR [[System Font]] (&amp;quot;font:&amp;quot;)&lt;br /&gt;
| v0, v1024&lt;br /&gt;
|-&lt;br /&gt;
| 00014302&lt;br /&gt;
| 00014302&lt;br /&gt;
| 00014302&lt;br /&gt;
| 00014302&lt;br /&gt;
| 00014302&lt;br /&gt;
| 00014302&lt;br /&gt;
| TWN [[System Font]] (&amp;quot;font:&amp;quot;)&lt;br /&gt;
| v0, v1024&lt;br /&gt;
|-&lt;br /&gt;
| 00015202&lt;br /&gt;
| 00015302&lt;br /&gt;
| 00015102&lt;br /&gt;
| N/A&lt;br /&gt;
| 00015502&lt;br /&gt;
| 0015602&lt;br /&gt;
| Mounted as &amp;quot;rate:&amp;quot;&lt;br /&gt;
| v0 (EUR: v0, v1024) (KOR: v1024)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 000400DB - [[NCCH#CFA|System Data Archives]] ===&lt;br /&gt;
==== System Data Archive Notes ====&lt;br /&gt;
These [[NVer]] titleIDs can be found @ offset 0x320 in every [[CCI]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  JPN TitleIDLow&lt;br /&gt;
!  USA TitleIDLow&lt;br /&gt;
!  EUR TitleIDLow&lt;br /&gt;
!  CHN TitleIDLow&lt;br /&gt;
!  KOR TitleIDLow&lt;br /&gt;
!  TWN TitleIDLow&lt;br /&gt;
!  Description&lt;br /&gt;
!  USA/EUR/JPN Versions&lt;br /&gt;
!  CHN Versions&lt;br /&gt;
!  TWN Versions&lt;br /&gt;
!  KOR Versions&lt;br /&gt;
|-&lt;br /&gt;
| 00010302&lt;br /&gt;
| 00010302&lt;br /&gt;
| 00010302&lt;br /&gt;
| 00010302&lt;br /&gt;
| 00010302&lt;br /&gt;
| 00010302&lt;br /&gt;
| NGWord bad word list&lt;br /&gt;
|colspan=4| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2052]], [[4.0.0-7|v3072]], [[4.3.0-10|v4096]], [[5.0.0-11|v5120]], [[9.0.0-20|v6144]], [[9.3.0-21|v7168]], [[9.6.0-24|v8192]], [[11.1.0-34|v9217]]&lt;br /&gt;
|-&lt;br /&gt;
| 00010502&lt;br /&gt;
| 00010502&lt;br /&gt;
| 00010502&lt;br /&gt;
| 00010502&lt;br /&gt;
| 00010502&lt;br /&gt;
| 00010502&lt;br /&gt;
| [[Nintendo Zone]] hotspot list&lt;br /&gt;
|colspan=4| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2048]], [[4.0.0-7|v3073]], [[4.3.0-10|v4096]], [[4.4.0-10|v5120]], [[4.5.0-10|v6144]], [[5.0.0-11|v7169]], [[6.0.0-11|v8192]], [[6.2.0-12|v9216]], [[7.0.0-13|v10242]], [[7.2.0-17|v11267]], [[8.0.0-18|v12288]], [[9.0.0-20|v14336]], [[9.3.0-21|v15360]], [[9.6.0-24|v16386]], [[10.0.0-27|v17409]], [[10.4.0-29|v18432]], [[11.1.0-34|v19457]], [[11.5.0-38|v20480]], [[11.9.0-42|v22528]]&lt;br /&gt;
|-&lt;br /&gt;
| 00016202&lt;br /&gt;
| 00016302&lt;br /&gt;
| 00016102&lt;br /&gt;
| 00016402&lt;br /&gt;
| 00016502&lt;br /&gt;
| 00016602&lt;br /&gt;
| [[NVer]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[1.1.0-1|v16]], [[2.0.0-2|v32]], [[2.1.0-3|v48]], [[2.1.0-4|v64]], [[3.0.0-5|v80]], [[3.0.0-6|v96]], [[4.0.0-7|v112]],  [[4.1.0-8|v128]], [[4.2.0-9|v144]], [[4.3.0-10|v160]], [[5.0.0-11|v176]], non-USA=[[6.0.0-11|v192]]/USA=[[6.1.0-12U|v192]], [[7.0.0-13|v208]], [[7.1.0-14|v224]], [[7.1.0-15|v240]], [[7.1.0-16|v256]], [[7.2.0-17|v272]], [[8.0.0-18|v288]], [[8.1.0-19|v304]], [[9.0.0-20|v320]], [[9.3.0-21|v336]], [[9.5.0-22|v352]], [[9.5.0-23|v368]], [[9.6.0-24|v384]], [[9.7.0-25|v400]], [[9.9.0-26|v416]], [[10.0.0-27|v432]], [[10.2.0-28|v448]], [[10.4.0-29|v464]], [[10.5.0-30|v480]], [[10.6.0-31|v496]], [[10.7.0-32|v512]], [[11.0.0-33|v528]], [[11.1.0-34|v544]], [[11.2.0-35|v560]], [[11.3.0-36|v576]], [[11.5.0-38|v608]], ..., [[11.9.0-42|v672]]&lt;br /&gt;
| [[4.0.0-7|v113]], [[4.2.0-9|v128]], [[5.0.0-11|v129]], [[7.1.0-16|v130]], [[7.2.0-17|v272]], [[9.5.0-23|v131]], [[9.9.0-26|v132]]&lt;br /&gt;
| [[4.1.0-8|v114]], [[4.2.0-9|v133]], [[4.3.0-10|v134]], [[5.0.0-11|v136]], [[7.0.0-13|v144]], [[7.1.0-14|v160]] [[7.1.0-16|v192]], [[7.2.0-17|v272]], [[8.0.0-18|v208]], [[8.1.0-19|v224]], [[9.0.0-20|v240]], [[9.5.0-22|v272]], [[9.5.0-23|v288]], [[9.6.0-24|v304]], [[9.7.0-25|v320]], [[9.9.0-26|v336]], [[10.0.0-27|v352]], [[10.2.0-28|v368]], [[10.4.0-29|v384]], [[10.5.0-30|v400]], [[10.6.0-31|v416]], [[10.7.0-32|v432]], [[11.0.0-33|v448]], [[11.1.0-34|v464]], [[11.2.0-35|v480]], [[11.3.0-36|v496]], ..., [[11.9.0-42|v544]]&lt;br /&gt;
| [[4.0.0-7|v113]], [[4.1.0-8|v114]], [[4.2.0-9|v133]], [[4.3.0-10|v134]], [[5.0.0-11|v136]], [[7.0.0-13|v160]], [[7.1.0-14|v176]], [[7.1.0-16|v176]], [[7.2.0-17|v272]], [[8.0.0-18|v224]], [[8.1.0-19|v240]], [[9.0.0-20|v256]], [[9.3.0-21|v272]], [[9.5.0-22|v288]], [[9.5.0-23|v304]], [[9.6.0-24|v320]], [[9.7.0-25|v336]], [[9.9.0-26|v352]], [[10.0.0-27|v368]], [[10.2.0-28|v384]], [[10.4.0-29|v400]], [[10.5.0-30|v416]], [[10.6.0-31|v432]], [[10.7.0-32|v448]], [[11.0.0-33|v464]], [[11.1.0-34|v480]], [[11.2.0-35|v496]], [[11.3.0-36|v512]], ..., [[11.9.0-42|v576]]&lt;br /&gt;
|-&lt;br /&gt;
| 20016202&lt;br /&gt;
| 20016302&lt;br /&gt;
| 20016102&lt;br /&gt;
| N/A&lt;br /&gt;
| 20016502&lt;br /&gt;
| N/A&lt;br /&gt;
| [[New_3DS]] [[NVer]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v0]], [[9.0.0-20|v320]], [[9.3.0-21|v336]], [[9.5.0-22|v352]], [[9.5.0-22|v352]], [[9.5.0-23|v368]], [[9.6.0-24|v384]], [[9.7.0-25|v400]], [[9.9.0-26|v416]], [[10.0.0-27|v432]], [[10.2.0-28|v448]], [[10.4.0-29|v464]], [[10.5.0-30|v480]], [[10.6.0-31|v496]], [[10.7.0-32|v512]], [[11.0.0-33|v528]], [[11.1.0-34|v544]], [[11.2.0-35|v560]], [[11.3.0-36|v576]], ..., [[11.9.0-42|v672]]&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| [[9.6.0-24|v320]], [[9.7.0-25|v336]], [[9.9.0-26|v352]], [[10.0.0-27|v368]], [[10.2.0-28|v384]], [[10.4.0-29|v400]], [[10.5.0-30|v416]], [[10.6.0-31|v432]], [[10.7.0-32|v448]], [[11.0.0-33|v464]], [[11.2.0-35|v496]], [[11.3.0-36|v512]], ..., [[11.9.0-42|v576]]&lt;br /&gt;
|-&lt;br /&gt;
| 00017202&lt;br /&gt;
| 00017302&lt;br /&gt;
| 00017102&lt;br /&gt;
| 00017402&lt;br /&gt;
| 00017502&lt;br /&gt;
| 00017602&lt;br /&gt;
| [[CVer]]&lt;br /&gt;
| [[1.0.0-0|v1024]], [[1.1.0-1|v1045]], [[2.0.0-2|v2049]], [[2.1.0-3|v2069]], [[2.2.0-X|v2088]] [[3.0.0-5|v3088]], [[4.0.0-7|v4098]], [[4.1.0-8|v4113]], [[4.2.0-9|v4130]], [[4.3.0-10|v4145]], [[4.4.0-10|v4163]], [[4.5.0-10|v4176]], [[5.0.0-11|v5120]], [[5.1.0-11|v5136]], [[6.0.0-11|v6146]], [[6.1.0-11|v6160]], [[6.2.0-12|v6178]], [[6.3.0-12|v6192]], [[7.0.0-13|v7175]], [[7.1.0-14|v7187]], [[7.2.0-17|v7203]], [[8.0.0-18|v8196]], [[8.1.0-18|v8208]], [[8.1.0-0_New3DS|v8215]](8.1.0-0_New3DS), [[9.0.0-20|v9218]], [[9.1.0-20J|v9232]](JPN-only), [[9.2.0-20|v9248]], [[9.3.0-21|v9264]], [[9.4.0-21|v9280]], [[9.5.0-22|v9296]], [[9.6.0-24|v9319]], [[9.7.0-25|v9328]], [[9.8.0-25|v9344]], [[9.9.0-26|v9360]], [[10.0.0-27|v10240]], [[10.1.0-27|v10256]], [[10.2.0-28|v10272]], [[10.3.0-28|v10288]], [[10.4.0-29|v10304]], [[10.5.0-30|v10320]], [[10.6.0-31|v10336]], [[10.7.0-32|v10352]], [[11.0.0-33|v11264]], [[11.1.0-34|v11280]], [[11.2.0-35|v11296]], [[11.3.0-36|v11312]], [[11.4.0-37|...]], [[11.5.0-38|v11344]], ..., [[11.9.0-42|v11408]]&lt;br /&gt;
| [[1.0.0-0|v1024]], [[1.1.0-1|v1045]], [[2.0.0-2|v2049]], [[2.1.0-3|v2069]], [[2.2.0-X|v2088]] [[3.0.0-5|v3088]], [[4.0.0-7|v4098]], [[4.1.0-8|v4113]], [[4.2.0-9|v4130]], [[4.3.0-10|v4145]], [[4.4.0-10|v4163]], [[4.5.0-10|v4176]], [[5.0.0-11|v5120]], [[5.1.0-11|v5136]], [[6.0.0-11|v6146]], [[6.1.0-11|v6160]], [[6.2.0-12|v6178]], [[6.3.0-12|v6192]], [[7.0.0-13|v7175]], [[7.1.0-14|v7187]], [[7.2.0-17|v7203]], [[8.0.0-18|v8196]], [[8.1.0-18|v8208]], [[9.0.0-20|v9217]], [[9.3.0-21|v9264]], [[9.5.0-22|v9296]], [[9.6.0-24|v9319]], [[9.7.0-25|v9328]], [[9.8.0-25|v9344]], [[9.9.0-26|v9360]], [[10.0.0-27|v10240]], [[10.2.0-28|v10272]], [[10.4.0-29|v10304]], [[10.5.0-30|v10320]], [[10.6.0-31|v10336]], [[10.7.0-32|v10352]], [[11.2.0-35|v11296]], [[11.3.0-36|v11312]], ..., [[11.9.0-42|v11408]]&lt;br /&gt;
| Same as CHN&lt;br /&gt;
| Same as CHN + [[11.1.0-34|v11280]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 00040130 - System [[Services API|Modules]] ===&lt;br /&gt;
==== System Module Notes ====&lt;br /&gt;
Once Home Menu finishes loading, all of the below system modules are running, except for MP, RO, and act which are automatically [[Process_Manager_Services|loaded]] when a process requires them. &lt;br /&gt;
When [[Process_Manager_Services|PM]]-module terminates processes, it will check whether the processes listed as dependencies for this process are listed as dependencies for other processes. &lt;br /&gt;
Any processes which are no longer listed in any processes dependencies lists are then terminated. On [[New_3DS]], the only New3DS-specific system-module which automatically gets loaded during system boot is qtm.&lt;br /&gt;
All of the below system modules use the &amp;quot;BASE&amp;quot; [[SVC|memory-region]](specified in the exheader), except when listed otherwise for certain modules.&lt;br /&gt;
When handling the exheader dependency list starting with [[8.0.0-18]], Old3DS FIRM [[Process_Manager_Services|PM]]-module now skips handling titles in this list which have any bits in programID-low bitmask 0xF0000000 set(with [[8.0.0-18]] this is hard-coded). &lt;br /&gt;
The exheader dependency list handling change is for the [[New 3DS]] system-module(s), which do not exist on Old3DS. &lt;br /&gt;
When the New3DS pm-module is launching any title except [[NS]], it first attempts to launch the title with programID-low bitmask 0x20000000 set, then with that bitmask clear if launching fails.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  TitleID Low&lt;br /&gt;
!  Description&lt;br /&gt;
!  Versions&lt;br /&gt;
|-&lt;br /&gt;
| 00001002&lt;br /&gt;
| [[Services|sm]] (Stored in [[FIRM|NATIVE_FIRM]])&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
| 00001003&lt;br /&gt;
| SAFE_MODE [[Services|sm]] (Stored in SAFE_MODE NATIVE_FIRM)&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
| 00001102&lt;br /&gt;
| [[Filesystem services‎|fs]] (Stored in [[FIRM|NATIVE_FIRM]])&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
| 00001103&lt;br /&gt;
| SAFE_MODE [[Filesystem services‎|fs]] (Stored in SAFE_MODE NATIVE_FIRM)&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
| 00001202&lt;br /&gt;
| [[Process Manager Services|pm]] (Stored in [[FIRM|NATIVE_FIRM]])&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
| 00001203&lt;br /&gt;
| SAFE_MODE [[Process Manager Services|pm]] (Stored in SAFE_MODE NATIVE_FIRM)&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
| 00001302&lt;br /&gt;
| [[Loader Services‎|loader]]  (Stored in [[FIRM|NATIVE_FIRM]])&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
| 00001303&lt;br /&gt;
| SAFE_MODE [[Loader Services‎|loader]]  (Stored in SAFE_MODE NATIVE_FIRM)&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
| 00001402&lt;br /&gt;
| [[PXI Services‎|pxi]]  (Stored in [[FIRM|NATIVE_FIRM]])&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
| 00001403&lt;br /&gt;
| SAFE_MODE [[PXI Services‎|pxi]]  (Stored in SAFE_MODE NATIVE_FIRM)&lt;br /&gt;
| N/A&lt;br /&gt;
|-&lt;br /&gt;
| 00001502&lt;br /&gt;
| [[Application Manager Services|AM]] ( Application Manager )&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2053]], [[4.0.0-7|v3072]], [[5.0.0-11|v4098]], [[6.0.0-11|v5120]], [[8.0.0-18|v6148]], [[8.1.0-0_New3DS|v7168]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v8192]], [[10.0.0-27|v9217]]&lt;br /&gt;
|-&lt;br /&gt;
| 00001503&lt;br /&gt;
| SAFE_MODE [[Application Manager Services|AM]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20001503&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[Application Manager Services|AM]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v7169]]&lt;br /&gt;
|-&lt;br /&gt;
| 00001602&lt;br /&gt;
| [[Camera Services|Camera]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[3.0.0-5|v2048]], [[4.0.0-7|v3074]], [[5.0.0-11|v4098]], [[6.0.0-11|v5120]], [[7.1.0-14|v6146]], [[8.0.0-18|v7172]], [[9.0.0-20|v9216]], [[9.3.0-21|v10242]], [[10.0.0-27|v11265]]&lt;br /&gt;
|-&lt;br /&gt;
| 20001602&lt;br /&gt;
| [[New_3DS]] [[Camera Services|Camera]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v8200]], [[9.0.0-20|v9218]], [[9.3.0-21|v10242]], [[10.0.0-27|v11265]], [[11.4.0-37|v12288]](New2DSXL)&lt;br /&gt;
|-&lt;br /&gt;
| 00001702&lt;br /&gt;
| [[Config Services|Config]] (cfg)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[3.0.0-5|v2049]], v3072, [[4.0.0-7|v4096]], [[5.0.0-11|v5122]], [[6.0.0-11|v6145]], [[6.1.0-11|v7168]], [[7.0.0-13|v8196]], [[7.2.0-17|v9220]], [[8.0.0-18|v10243]], [[8.1.0-0_New3DS|v11265]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v12290]], [[9.3.0-21|v13315]], [[9.6.0-24|v14342]], [[11.4.0-37|v15360]](New2DSXL)[[11.5.0-38|v15360]]&lt;br /&gt;
|-&lt;br /&gt;
| 00001703&lt;br /&gt;
| SAFE_MODE [[Config Services|Config]] (cfg)&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20001703&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[Config Services|Config]] (cfg)&lt;br /&gt;
| [[8.1.0-0_New3DS|v11265]]&lt;br /&gt;
|-&lt;br /&gt;
| 00001802&lt;br /&gt;
| [[Codec Services|Codec]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[5.0.0-11|v4098]], [[7.0.0-13|v5120]], [[8.0.0-18|v6144]], [[9.0.0-20|v7168]](Also for [[8.1.0-0_New3DS]])&lt;br /&gt;
|-&lt;br /&gt;
| 00001803&lt;br /&gt;
| SAFE_MODE [[Codec Services|Codec]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20001803&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[Codec Services|Codec]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v7169]]&lt;br /&gt;
|-&lt;br /&gt;
| 00001A02&lt;br /&gt;
| [[DSP Services|DSP]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[4.0.0-7|v2048]], [[5.0.0-11|v3074]], [[6.0.0-11|v4096]], [[8.0.0-18|v5120]], [[9.7.0-25|v6145]], [[11.1.0-34|v7169]]&lt;br /&gt;
|-&lt;br /&gt;
| 00001A03&lt;br /&gt;
| SAFE_MODE [[DSP Services|DSP]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20001A03&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[DSP Services|DSP]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v6145]]&lt;br /&gt;
|-&lt;br /&gt;
| 00001B02&lt;br /&gt;
| [[GPIO Services|GPIO]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]], [[8.0.0-18|v2048]], [[9.5.0-22|v3073]]&lt;br /&gt;
|-&lt;br /&gt;
| 00001B03&lt;br /&gt;
| SAFE_MODE [[GPIO Services|GPIO]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20001B03&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[GPIO Services|GPIO]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v3073]]&lt;br /&gt;
|-&lt;br /&gt;
| 00001C02&lt;br /&gt;
| [[GSP Services|GSP]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[1.1.0-1|v1040]], [[2.0.0-2|v2049]], [[3.0.0-5|v3075]], v4098, [[4.0.0-7|v5120]], [[5.0.0-11|v6145]], [[6.0.0-11|v7168]], [[8.0.0-18|v8196]], [[9.0.0-20|v10240]], [[9.3.0-21|v11264]], [[9.6.0-24|v12294]], [[11.3.0-36|v13312]], [[11.5.0-38|v14336]]&lt;br /&gt;
|-&lt;br /&gt;
| 20001C02&lt;br /&gt;
| [[New_3DS]] [[GSP Services|GSP]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v10243]], [[9.3.0-21|v11267]], [[9.6.0-24|v12294]], [[11.3.0-36|v13312]], [[11.4.0-37|v14336]](New2DSXL)&lt;br /&gt;
|-&lt;br /&gt;
| 00001C03&lt;br /&gt;
| SAFE_MODE [[GSP Services|GSP]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20001C03&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[GSP Services|GSP]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v9217]]&lt;br /&gt;
|-&lt;br /&gt;
| 00001D02&lt;br /&gt;
| [[HID Services|HID]] (Human Interface Devices) &lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]], [[7.2.0-17|v6148]], [[8.0.0-18|v7168]], [[8.1.0-0_New3DS|v8192]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v9216]], [[9.3.0-21|v10240]]&lt;br /&gt;
|-&lt;br /&gt;
| 00001D03&lt;br /&gt;
| SAFE_MODE [[HID Services|HID]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20001D03&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[HID Services|HID]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v8193]]&lt;br /&gt;
|-&lt;br /&gt;
| 00001E02&lt;br /&gt;
| [[I2C Services|i2c]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[3.0.0-5|v1024]], [[5.0.0-11|v2049]], [[8.0.0-18|v3076]], [[9.3.0-21|v5120]]&lt;br /&gt;
|-&lt;br /&gt;
| 20001E02&lt;br /&gt;
| [[New_3DS]] [[I2C Services|i2c]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v4096]], [[9.3.0-21|v5121]]&lt;br /&gt;
|- &lt;br /&gt;
| 00001E03&lt;br /&gt;
| SAFE_MODE [[I2C Services|i2c]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|- &lt;br /&gt;
| 20001E03&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[I2C Services|i2c]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v4097]]&lt;br /&gt;
|-&lt;br /&gt;
| 00001F02&lt;br /&gt;
| [[MCU Services|MCU]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.1.0-3|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4102]], [[5.0.0-11|v5122]], [[6.0.0-11|v6145]], [[7.0.0-13|v7168]], [[8.0.0-18|v8192]]&lt;br /&gt;
|-&lt;br /&gt;
| 20001F02&lt;br /&gt;
| [[New_3DS]] [[MCU Services|MCU]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v8192]], [[11.4.0-37|v9216]](New2DSXL)&lt;br /&gt;
|-&lt;br /&gt;
| 00001F03&lt;br /&gt;
| SAFE_MODE [[MCU Services|MCU]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20001F03&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[MCU Services|MCU]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v9217]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002002&lt;br /&gt;
| [[MIC Services|MIC]] (Microphone)&lt;br /&gt;
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]], [[8.0.0-18|v2048]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002102&lt;br /&gt;
| [[PDN Services|PDN]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]], [[8.0.0-18|v2048]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002103&lt;br /&gt;
| SAFE_MODE [[PDN Services|PDN]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20002103&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[PDN Services|PDN]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v3073]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002202&lt;br /&gt;
| [[PTM Services|PTM]] (Play time, pedometer, and battery manager)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3075]], v4096, [[4.0.0-7|v5120]], [[5.0.0-11|v6146]], [[6.0.0-11|v7168]], [[7.0.0-13|v8192]], [[8.0.0-18|v9219]], [[9.6.0-24|v11264]]&lt;br /&gt;
|-&lt;br /&gt;
| 20002202&lt;br /&gt;
| [[New_3DS]] [[PTM Services|PTM]] (Play time, pedometer, and battery manager)&lt;br /&gt;
| [[8.1.0-0_New3DS|v10240]], [[9.6.0-24|v11264]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002203&lt;br /&gt;
| SAFE_MODE [[PTM Services|PTM]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20002203&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[PTM Services|PTM]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v10241]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002302&lt;br /&gt;
| [[SPI Services|spi]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[5.0.0-11|v2049]], [[8.0.0-18|v3072]]&lt;br /&gt;
|-&lt;br /&gt;
| 20002302&lt;br /&gt;
| [[New_3DS]] [[SPI Services|spi]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v4096]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002303&lt;br /&gt;
| SAFE_MODE [[SPI Services|spi]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20002303&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[SPI Services|spi]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v4097]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002402&lt;br /&gt;
| [[AC Services|AC]] (Network manager)&lt;br /&gt;
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2052]], [[2.1.0-3|v3072]], [[3.0.0-5|v4101]], [[5.0.0-11|v5122]], [[7.0.0-13|v6145]], [[8.0.0-18|v7172]], [[9.0.0-20|v8192]](Also for [[8.1.0-0_New3DS]]), [[9.3.0-21|v9216]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002403&lt;br /&gt;
| SAFE_MODE [[AC Services|AC]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20002403&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[AC Services|AC]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v8193]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002602&lt;br /&gt;
| [[CECD Services|Cecd]] (StreetPass)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3073]], [[4.0.0-7|v4097]], [[5.0.0-11|v5122]], [[6.0.0-11|v6144]], [[6.2.0-12|v7170]], [[7.0.0-13|v8193]], [[8.0.0-18|v9216]], [[9.0.0-20|v10240]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002702&lt;br /&gt;
| [[CSND Services|CSND]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[4.0.0-7|v2048]], [[5.0.0-11|v3073]], [[8.0.0-18|v4096]], [[9.0.0-20|v5120]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002703&lt;br /&gt;
| SAFE_MODE [[CSND Services|CSND]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20002703&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[CSND Services|CSND]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v5121]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002802&lt;br /&gt;
| [[DLP Services|DLP]] ([[Download Play]])&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3078]], [[5.0.0-11|v4099]], [[8.0.0-18|v5123]], [[9.0.0-20|v6145]](Also for [[8.1.0-0_New3DS]]), [[9.6.0-24|v7174]], [[10.0.0-27|v8192]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002902&lt;br /&gt;
| [[HTTP Services|HTTP]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.1.0-3|v2049]], [[2.2.0-X|v3072]], [[3.0.0-5|v4099]], [[4.0.0-7|v5122]], [[5.0.0-11|v6145]], [[7.0.0-13|v7171]], [[7.1.0-14|v8192]], [[8.0.0-18|v9220]], [[8.1.0-18|v10245]], [[8.1.0-0_New3DS|v11264]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v12288]], [[9.6.0-24|v13318]], [[11.4.0-37|v14336]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002903&lt;br /&gt;
| SAFE_MODE [[HTTP Services|HTTP]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20002903&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[HTTP Services|HTTP]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v10241]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002A02&lt;br /&gt;
| [[MP Services|MP]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[5.0.0-11|v1025]], [[8.0.0-18|v2048]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002A03&lt;br /&gt;
| SAFE_MODE [[MP Services|MP]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002B02&lt;br /&gt;
| [[NDM Services|NDM]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[3.0.0-5|v2049]], [[4.0.0-7|v3072]], [[5.0.0-11|v4098]], [[8.0.0-18|v5124]], [[8.1.0-0_New3DS|v6144]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v7169]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002C02&lt;br /&gt;
| [[NIM Services|NIM]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[3.0.0-5|v2055]], [[4.0.0-7|v3074]], [[5.0.0-11|v4100]], [[6.0.0-11|v5120]], [[7.0.0-13|v6148]], [[7.2.0-17|v7174]], [[8.0.0-18|v8195]], [[8.1.0-0_New3DS|v9217]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v10249]], [[9.3.0-21|v11267]], [[9.6.0-24|v12296]], [[10.0.0-27|v13313]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002C03&lt;br /&gt;
| SAFE_MODE [[NIM Services|NIM]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20002C03&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[NIM Services|NIM]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v9217]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002D02&lt;br /&gt;
| [[NWM Services|NWM]] ( Low-level wifi manager )&lt;br /&gt;
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2052]], [[2.2.0-X|v3072]], [[3.0.0-5|v4101]], [[4.0.0-7|v5120]], [[5.0.0-11|v6148]], [[6.0.0-11|v7169]], [[7.2.0-17|v8196]], [[8.0.0-18|v9216]], [[9.0.0-20|v10240]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002D03&lt;br /&gt;
| SAFE_MODE [[NWM Services|NWM]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[6.0.0-11|v5120]]&lt;br /&gt;
|-&lt;br /&gt;
| 20002D03&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[NWM Services|NWM]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v10241]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002E02&lt;br /&gt;
| [[Socket Services|Sockets]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2053]], [[3.0.0-5|v3075]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]], [[8.0.0-18|v6144]], [[9.0.0-20|v7168]], [[10.6.0-31|v8192]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002E03&lt;br /&gt;
| SAFE_MODE [[Socket Services|Sockets]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20002E03&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[Socket Services|Sockets]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v7169]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002F02&lt;br /&gt;
| [[SSL Services|SSL]]&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1024]], [[2.1.0-3|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5122]], [[8.0.0-18|v6144]], [[9.0.0-20|v7168]], [[9.6.0-24|v8198]], [[11.14.0-46|v9217]]&lt;br /&gt;
|-&lt;br /&gt;
| 00002F03&lt;br /&gt;
| SAFE_MODE [[SSL Services|SSL]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20002F03&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[SSL Services|SSL]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v7169]]&lt;br /&gt;
|-&lt;br /&gt;
| 00003000&lt;br /&gt;
| [[FIRM|Process9]] (in SAFE_MODE and normal NATIVE_FIRM)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 00003102&lt;br /&gt;
| [[Process Services‎|PS]] ( Process Manager )&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1025]], [[5.0.0-11|v2049]], [[6.0.0-11|v3072]], [[8.0.0-18|v4096]], [[9.0.0-20|v5120]]&lt;br /&gt;
|-&lt;br /&gt;
| 00003103&lt;br /&gt;
| SAFE_MODE [[Process Services‎|PS]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20003103&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[Process Services‎|PS]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v5121]]&lt;br /&gt;
|-&lt;br /&gt;
| 00003202&lt;br /&gt;
| [[Friend Services‎|friends]] (Friends list)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5122]], [[7.0.0-13|v6145]], [[8.0.0-18|v7172]], [[9.0.0-20|v8192]](Also for [[8.1.0-0_New3DS]]), [[10.5.0-30|v9216]], [[10.7.0-32|v10240]], [[11.0.0-33|v11264]], [[11.1.0-34|v12288]], [[11.2.0-35|v13312]], [[11.3.0-36|v14336]], [[11.4.0-37|v15360]]&lt;br /&gt;
|-&lt;br /&gt;
| 00003203&lt;br /&gt;
| SAFE_MODE [[Friend Services‎|friends]] (Friends list)&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20003203&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[Friend Services‎|friends]] (Friends list)&lt;br /&gt;
| [[8.1.0-0_New3DS|v8193]]&lt;br /&gt;
|-&lt;br /&gt;
| 00003302&lt;br /&gt;
| [[IR Services‎|IR]] (Infrared)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[5.0.0-11|v5121]], [[8.0.0-18|v6148]], [[8.1.0-0_New3DS|v7170]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v8192]], [[9.3.0-21|v9216]], [[9.6.0-24|v10246]], [[10.0.0-27|v11265]], [[10.6.0-31|v12289]]&lt;br /&gt;
|-&lt;br /&gt;
| 00003303&lt;br /&gt;
| SAFE_MODE [[IR Services‎|IR]]&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20003303&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[IR Services‎|IR]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v7169]]&lt;br /&gt;
|- &lt;br /&gt;
| 00003402&lt;br /&gt;
| [[BOSS Services‎|BOSS]] (SpotPass)&lt;br /&gt;
| [[1.0.0-0|v0]], [[1.1.0-1|v1024]], [[2.0.0-2|v2053]], [[2.2.0-X|v3073]], [[3.0.0-5|v4101]], [[4.0.0-7|v5122]], [[5.0.0-11|v6146]], [[6.0.0-11|v7169]], [[6.2.0-12|v8193]], [[7.0.0-13|v9222]], [[8.0.0-18|v10240]], [[9.0.0-20|v11266]], [[10.0.0-27|v12289]], [[10.4.0-29|v13314]]&lt;br /&gt;
|-&lt;br /&gt;
| 00003502&lt;br /&gt;
| [[News Services‎|News]] (Notifications)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[5.0.0-11|v4097]], [[8.0.0-18|v5120]], [[9.0.0-20|v6147]], [[9.7.0-25|v7168]]&lt;br /&gt;
|-&lt;br /&gt;
| 00003702&lt;br /&gt;
| [[RO_Services|RO]]&lt;br /&gt;
| [[2.0.0-2|v0]], [[4.0.0-7|v1024]], [[5.0.0-11|v2049]], [[7.2.0-17|v3074]], [[8.0.0-18|v4096]], [[9.0.0-20|v5120]](Also for [[8.1.0-0_New3DS]]), [[9.3.0-21|v6148]]&lt;br /&gt;
|-&lt;br /&gt;
| 00003802&lt;br /&gt;
| [[ACT Services‎|act]] (handles Nintendo Network &#039;&#039;&#039;a&#039;&#039;&#039;c&#039;&#039;&#039;c&#039;&#039;&#039;oun&#039;&#039;&#039;t&#039;&#039;&#039;s)&lt;br /&gt;
| [[7.0.0-13|v1029]], [[7.1.0-14|v2050]], [[7.2.0-17|v3077]], [[8.0.0-18|v4099]], [[8.1.0-0_New3DS|v5120]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v6144]], [[9.3.0-21|v7168]], [[9.6.0-24|v8198]], [[11.4.0-37|v9216]](New2DSXL), [[11.5.0-38|v9216]]&lt;br /&gt;
|-&lt;br /&gt;
| 00004002&lt;br /&gt;
| Old3DS [[NFC_Services|nfc]]&lt;br /&gt;
| [[9.3.0-21|v2053]], [[9.6.0-24|v4106]], [[9.7.0-25|v5121]], [[10.0.0-27|v6145]], [[10.6.0-31|v7168]], [[10.7.0-32|v8192]]&lt;br /&gt;
|-&lt;br /&gt;
| 20004002&lt;br /&gt;
| [[New_3DS]] [[NFC_Services|nfc]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v0]], [[9.0.0-20|v1024]], [[9.3.0-21|v2053]], [[9.5.0-22|v3073]], [[9.6.0-24|v4102]], [[10.0.0-27|v6145]], [[10.6.0-31|v7168]]&lt;br /&gt;
|-&lt;br /&gt;
| 20004102&lt;br /&gt;
| [[New_3DS]] [[MVD Services|mvd]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v0]], [[9.0.0-20|v1024]]&lt;br /&gt;
|-&lt;br /&gt;
| 20004202&lt;br /&gt;
| [[New_3DS]] [[QTM Services|qtm]]&lt;br /&gt;
| [[8.1.0-0_New3DS|v8]], [[9.0.0-20|v1024]], [[9.3.0-21|v2052]], [[11.4.0-37|v3072]](New2DSXL)&lt;br /&gt;
|-&lt;br /&gt;
| 00008002&lt;br /&gt;
| [[NS]] (Memory-region: &amp;quot;SYSTEM&amp;quot;)&lt;br /&gt;
| [[1.0.0-0|v0]], [[2.0.0-2|v1028]], [[2.2.0-X|v2048]], [[3.0.0-5|v3077]], v4096, [[4.0.0-7|v5121]], [[5.0.0-11|v6148]], [[5.1.0-11|v7168]], [[6.0.0-11|v8193]], [[6.1.0-11|v9216]], [[7.0.0-13|v10248]], [[7.2.0-17|v11268]], [[8.0.0-18|v12291]], [[8.1.0-0_New3DS|v13312]]([[8.1.0-0_New3DS]]), [[9.0.0-20|v14336]], [[9.3.0-21|v15360]], [[9.6.0-24|v16390]], [[9.8.0-25|v17408]], [[10.0.0-27|v18433]], [[10.4.0-29|v19458]], [[11.1.0-34|v20482]], [[11.3.0-36|v21504]]&lt;br /&gt;
|-&lt;br /&gt;
| 00008003&lt;br /&gt;
| SAFE_MODE [[NS]] (Memory-region: &amp;quot;SYSTEM&amp;quot;)&lt;br /&gt;
| [[1.0.0-0|v0]]&lt;br /&gt;
|-&lt;br /&gt;
| 20008003&lt;br /&gt;
| [[New_3DS]] SAFE_MODE [[NS]] (Memory-region: &amp;quot;SYSTEM&amp;quot;)&lt;br /&gt;
| [[8.1.0-0_New3DS|v13313]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 00040138 - [[FIRM|System Firmware]] ===&lt;br /&gt;
==== System Firmare Notes ====&lt;br /&gt;
NATIVE_FIRM and SAFE_MODE_FIRM for the initial versions are exactly the same, besides [[Configuration_Memory|core-version]] fields. SAFE_MODE_FIRM is used for running SAFE_MODE titles, on retail SAFE_MODE_FIRM seems to be only used for running the [[System_Settings#System_Updater|System Updater]] application. When a GBA VC title is launched, AGB_FIRM is launched to handle running this title. GBA VC savegames stored under SD card /title/&amp;lt;TID&amp;gt;/data use a custom format, this is handled by AGB_FIRM.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  TitleID Low&lt;br /&gt;
!  Description&lt;br /&gt;
!  USA/EUR/JPN Versions&lt;br /&gt;
!  CHN Versions&lt;br /&gt;
!  KOR Versions&lt;br /&gt;
!  TWN Versions&lt;br /&gt;
|-&lt;br /&gt;
| 00000001&lt;br /&gt;
| Unknown, very similar to SAFE_MODE_FIRM. Exists only on dev units and seems to only be used by SystemUpdaters.&lt;br /&gt;
| v0&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 00000002&lt;br /&gt;
| NATIVE_FIRM (Native Firmware)&lt;br /&gt;
| [[1.0.0-0|v432]], [[1.1.0-1|v1472]], [[2.0.0-2|v2516]], [[2.1.0-3|v3553]], [[2.2.0-X|v4595]], [[3.0.0-5|v5647]], [[4.0.0-7|v6677]], [[4.1.0-8|v7712]], [[5.0.0-11|v8758]], [[5.1.0-11|v9792]], [[6.0.0-11|v10833]], [[6.1.0-11|v11872]], [[7.0.0-13|v12916]], [[7.2.0-17|v13956]], v15043, [[8.0.0-18|v15047]], [[9.0.0-20|v17120]], [[9.3.0-21|v18182]], [[9.5.0-22|v19216]], [[9.6.0-24|v20262]], [[10.0.0-27|v21288]], [[10.2.0-28|v22313]], [[10.4.0-29|v23341]], [[11.0.0-33|v24368]], [[11.1.0-34|v25396]], [[11.2.0-35|v26432]], [[11.3.0-36|v27476]]&lt;br /&gt;
| Same as USA/EUR/JPN starting with the USA/EUR/JPN [[4.0.0-7]] title-version&lt;br /&gt;
| Same as CHN.&lt;br /&gt;
| Same as CHN.&lt;br /&gt;
|-&lt;br /&gt;
| 20000002&lt;br /&gt;
| [[New_3DS]] NATIVE_FIRM (Native Firmware)&lt;br /&gt;
| [[8.1.0-0_New3DS|v16085]], [[9.0.0-20|v17120]], [[9.3.0-21|v18182]], [[9.5.0-22|v19218]], [[9.6.0-24|v20262]], [[10.0.0-27|v21288]], [[10.2.0-28|v22313]], [[10.4.0-29|v23341]], [[11.0.0-33|v24368]], [[11.1.0-34|v25396]], [[11.2.0-35|v26432]], [[11.3.0-36|v27476]]&lt;br /&gt;
| N/A&lt;br /&gt;
| Same as CHN.&lt;br /&gt;
| Same as CHN.&lt;br /&gt;
|-&lt;br /&gt;
| 00000003&lt;br /&gt;
| SAFE_MODE_FIRM &lt;br /&gt;
| [[1.0.0-0|v432]], [[3.0.0-5|v5632]]&lt;br /&gt;
| Same as USA/EUR/JPN starting with the USA/EUR/JPN [[3.0.0-5]] title-version&lt;br /&gt;
| Same as CHN.&lt;br /&gt;
| Same as CHN.&lt;br /&gt;
|-&lt;br /&gt;
| 20000003&lt;br /&gt;
| [[New_3DS]] SAFE_MODE_FIRM &lt;br /&gt;
| [[8.1.0-0_New3DS|v16081]]&lt;br /&gt;
| N/A&lt;br /&gt;
| Same as CHN.&lt;br /&gt;
| Same as CHN.&lt;br /&gt;
|-&lt;br /&gt;
| 00000102 &lt;br /&gt;
| TWL_FIRM ( DSi Firmware )&lt;br /&gt;
| [[1.0.0-0|v432]], [[2.0.0-2|v1489]], [[3.0.0-5|v2565]], v3601, [[4.0.0-7|v4625]], [[4.4.0-10|v5681]], [[4.5.0-10|v6704]], [[6.0.0-11|v7762]], [[6.2.0-12|v8817]]&lt;br /&gt;
| Same as USA/EUR/JPN starting with the USA/EUR/JPN [[4.0.0-7]] title-version&lt;br /&gt;
| Same as CHN.&lt;br /&gt;
| Same as CHN.&lt;br /&gt;
|-&lt;br /&gt;
| 20000102 &lt;br /&gt;
| [[New_3DS]] TWL_FIRM ( DSi Firmware )&lt;br /&gt;
| [[8.1.0-0_New3DS|v9936]]&lt;br /&gt;
| N/A&lt;br /&gt;
| Same as CHN.&lt;br /&gt;
| Same as CHN.&lt;br /&gt;
|- &lt;br /&gt;
| 00000202&lt;br /&gt;
| AGB_FIRM ( GBA Firmware )&lt;br /&gt;
| [[3.0.0-5|v519]], v1553, [[4.0.0-7|v2576]], [[6.0.0-11|v3665]]&lt;br /&gt;
| [[4.0.0-7|v2576]]&lt;br /&gt;
| [[4.0.0-7|v2576]], [[6.0.0-11|v3665]]&lt;br /&gt;
| Same as CHN.&lt;br /&gt;
|- &lt;br /&gt;
| 20000202&lt;br /&gt;
| [[New_3DS]] AGB_FIRM ( GBA Firmware )&lt;br /&gt;
| [[8.1.0-0_New3DS|v4816]]&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Application Titles ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Category Bit Mask&lt;br /&gt;
!  Content Category&lt;br /&gt;
!  Bit Mask(s)&lt;br /&gt;
|-&lt;br /&gt;
|  0x0000&lt;br /&gt;
|  [[Title list/eShop Titles|Application / eShop]]&lt;br /&gt;
|  Normal&lt;br /&gt;
|-&lt;br /&gt;
|  0x0001&lt;br /&gt;
|  Download Play Child&lt;br /&gt;
|  DlpChild&lt;br /&gt;
|-&lt;br /&gt;
|  0x0002&lt;br /&gt;
|  [[EShop Demos|Demo]]&lt;br /&gt;
|  Demo&lt;br /&gt;
|-&lt;br /&gt;
|  0x000E&lt;br /&gt;
|  [[Title list/Patches|Patch]]&lt;br /&gt;
|  CannotExecution&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;Patch&lt;br /&gt;
|-&lt;br /&gt;
|  0x008C&lt;br /&gt;
|  [[Title list/DLC|Downloadable Content]]&lt;br /&gt;
|  NotRequireRightForMount&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;CannotExecution&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;AddOnContents&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 00040001 - [[Download Play]] Titles ===&lt;br /&gt;
==== Download Play Notes ====&lt;br /&gt;
This titleID-high/programID-high is used for the titles sent over [[Download Play]]. Only one 00040001 Download Play title is installed to NAND /title at a time. There can be a maximum of 255 Download Play child titles per Unique ID, indexed by Title ID Variation. The legal index range: 0x0 - 0xff.&lt;br /&gt;
&lt;br /&gt;
== Factory Titles ==&lt;br /&gt;
==== Factory Titles Notes ====&lt;br /&gt;
This section is for hard-coded titleIDs referenced in codebins on retail. This can include [[Factory_Setup|factory]]/[[Nintendo_Service_Center_Tools|repair]] titles as well.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  TitleID&lt;br /&gt;
!  Description&lt;br /&gt;
!  Versions&lt;br /&gt;
|-&lt;br /&gt;
| 000400000F802A00&lt;br /&gt;
| Unknown. Appears to be a [[9.8.0-25|gamecard]] title. See also [[11.3.0-36|here]].&lt;br /&gt;
Used during [[Nintendo_Service_Center_Tools|repair]], first non-system title listed in [[PTM_Services|playlog]] from repair.&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 000400000F802100&lt;br /&gt;
| Used during [[Nintendo_Service_Center_Tools|repair]], second non-system title listed in [[PTM_Services|playlog]] from repair.&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 000400000F802200&lt;br /&gt;
| Used during [[Nintendo_Service_Center_Tools|repair]], third non-system title listed in [[PTM_Services|playlog]] from repair.&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 000400000FFFFD00&lt;br /&gt;
|  Used by retail NS for appID 0xF11, but this isn&#039;t available on retail CDN.&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 000400000FFFFC00&lt;br /&gt;
|  Used by retail NS for appID 0xF12, but this isn&#039;t available on retail CDN.&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 000400000FFFFB00&lt;br /&gt;
|  Used by retail NS for appID 0xF13, but this isn&#039;t available on retail CDN.&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 000400000FFFF900&lt;br /&gt;
|  Used by retail NS for appID 0xF14, but this isn&#039;t available on retail CDN.&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 000400000FFFF800&lt;br /&gt;
|  Used by retail NS for appID 0xF15, but this isn&#039;t available on retail CDN.&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 000400000FFFF700&lt;br /&gt;
|  Used by retail NS for appID 0xF16, but this isn&#039;t available on retail CDN.&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 000400000FFFF600&lt;br /&gt;
|  Used by retail NS for appID 0xF17, but this isn&#039;t available on retail CDN.&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 000400000FFFF500&lt;br /&gt;
|  Used by retail NS for appID 0xF18, but this isn&#039;t available on retail CDN.&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0004003000008900&lt;br /&gt;
|  Used by retail NS for appID 0xF10, but this isn&#039;t available on retail CDN.&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0004013000001902&lt;br /&gt;
| dmnt, debugger sysmodule. This use devunit-only HIO for devunit&amp;lt;&amp;gt;pc comms. This only exists for development units(launched by NS during startup depending on certain [[Configuration_Memory]] fields&#039; values). &lt;br /&gt;
This is installed at the [[Factory_Setup|factory]], then later deleted at the factory on retail units.&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0004013000003602&lt;br /&gt;
| &amp;quot;debugger&amp;quot;. This only exist for development units(launched by NS during startup depending on certain [[Configuration_Memory]] fields&#039; values).&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 000401300FEF0000&lt;br /&gt;
| Referenced in eShop Metadata (NS_UID 50010000000584), but does not exist on retail CDN&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TWL (DSi) Titles ==&lt;br /&gt;
==== TWL Title Notes ====&lt;br /&gt;
Bitmask 0x1 for TWL titles denotes a system title (determining whether the title will be updated during a System Update).&lt;br /&gt;
 &lt;br /&gt;
It appears to be sufficient, but not necessary, to make the title invisible on the [[Home Menu]].&lt;br /&gt;
&lt;br /&gt;
Bitmask 0x2 for TWL titles may indicate no-execute.&lt;br /&gt;
&lt;br /&gt;
Bitmask 0x4 for TWL titles indicates internal storage.&lt;br /&gt;
&lt;br /&gt;
Bitmask 0x10 for TWL titles is found on developer tools.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Content Category&lt;br /&gt;
!  Bit Mask(s)&lt;br /&gt;
!  Category Bit Mask&lt;br /&gt;
|-&lt;br /&gt;
|  Application (DSiWare)&lt;br /&gt;
|  TWL&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;0x4&lt;br /&gt;
|  0x8004&lt;br /&gt;
|-&lt;br /&gt;
|  System Application&lt;br /&gt;
|  TWL&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;0x1&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;0x4&lt;br /&gt;
|  0x8005&lt;br /&gt;
|-&lt;br /&gt;
|  System Archive&lt;br /&gt;
|  TWL&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;0x1&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;0x2&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;0x4&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;0x8&lt;br /&gt;
|  0x800F&lt;br /&gt;
|-&lt;br /&gt;
|  Developer Tool&lt;br /&gt;
|  TWL&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;0x1&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;0x4&amp;lt;nowiki&amp;gt; | &amp;lt;/nowiki&amp;gt;0x10&lt;br /&gt;
|  0x8015&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 00048005 - System Applications===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&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;
!  Information&lt;br /&gt;
|-&lt;br /&gt;
| 42383841(B88A)&lt;br /&gt;
| ALL&lt;br /&gt;
| [[DS Internet]]&lt;br /&gt;
| v0, [[2.1.0-4|v1025]], [[3.0.0-5|v2048]]&lt;br /&gt;
| [[DS Internet]] is the DS-mode application, (also integrated in every online-enabled DS game) and now accessible through [[System Settings]] for configuring network settings for DS software. &lt;br /&gt;
|-&lt;br /&gt;
| 484E4441(HNDA)&lt;br /&gt;
| ALL&lt;br /&gt;
| [[Download Play]]&lt;br /&gt;
| v1024&lt;br /&gt;
| This [[Download Play]] application is the DS-mode Download Play client, launched by the 3DS-mode Download Play application.&lt;br /&gt;
|-&lt;br /&gt;
| 484E4443(HNDC)&lt;br /&gt;
| CHN&lt;br /&gt;
| [[Download Play]]&lt;br /&gt;
| v1024&lt;br /&gt;
| See Above Description.&lt;br /&gt;
|-&lt;br /&gt;
| 484E444B(HNDK)&lt;br /&gt;
| KOR&lt;br /&gt;
| [[Download Play]]&lt;br /&gt;
| v1024&lt;br /&gt;
| See Above Description.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 0004800F - System Data Archives===&lt;br /&gt;
==== System Data Archive Notes ====&lt;br /&gt;
New system updates only block DS flash-cards when whitelist is updated, or when TWL_FIRM is updated. &lt;br /&gt;
The whitelist contains the data used for detecting flash-cards, this is used by TWL_FIRM.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  TitleID Low&lt;br /&gt;
!  Description&lt;br /&gt;
!  Versions&lt;br /&gt;
|-&lt;br /&gt;
| 484E4841(HNHA)&lt;br /&gt;
| [[Nintendo DS Cart Whitelist]] - &lt;br /&gt;
| v0, [[2.0.0-2|v1026]], [[2.2.0-X|v2048]], [[3.0.0-5|v3072]], [[4.0.0-7|v4096]], [[4.2.0-9|v5120]], [[4.3.0-10|v6145]], [[4.4.0-10|v7168]], [[4.5.0-10|v8192]], [[5.0.0-11|v9216]], [[6.0.0-11|v10240]], [[7.0.0-13|v11264]]&lt;br /&gt;
|-&lt;br /&gt;
| 484E4C41(HNLA)&lt;br /&gt;
| [[Version Data]]&lt;br /&gt;
| v0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 00048004 - DSiWare Ports ===&lt;br /&gt;
==== DSiWare Port Notes ====&lt;br /&gt;
Although these have a titleID high separate from DSi and a titleID is stored in the SRLs, the content of these SRLs are identical to DSi.&lt;br /&gt;
See [[3DS DSiWare Titles]] for a complete list.&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=CECDU:Start&amp;diff=22540</id>
		<title>CECDU:Start</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=CECDU:Start&amp;diff=22540"/>
		<updated>2024-04-15T13:07:00Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: Created page with &amp;quot;=Request= {{IPC/Request}} {{#vardefine:ipc_offset|0}} {{IPC/RequestEntry|Header code [0x000B0040]}} {{IPC/RequestEntry|Command}} {{IPC/RequestEnd}...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Request=&lt;br /&gt;
{{IPC/Request}}&lt;br /&gt;
{{#vardefine:ipc_offset|0}}&lt;br /&gt;
{{IPC/RequestEntry|Header code [0x000B0040]}}&lt;br /&gt;
{{IPC/RequestEntry|[[CECD_Services#CecCommand|Command]]}}&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
&lt;br /&gt;
=Response=&lt;br /&gt;
{{IPC/Request}}&lt;br /&gt;
{{#vardefine:ipc_offset|0}}&lt;br /&gt;
{{IPC/RequestEntry|Header code [0x000B0040]}}&lt;br /&gt;
{{IPC/RequestEntry|Result code}}&lt;br /&gt;
{{IPC/RequestEnd}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
Executes the given commmand.&lt;br /&gt;
&lt;br /&gt;
Available commands can be found [[CECD_Services#CecCommand|here]].&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=CECD_Services&amp;diff=22539</id>
		<title>CECD Services</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=CECD_Services&amp;diff=22539"/>
		<updated>2024-04-15T12:55:51Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* CECD Service &amp;quot;cecd:u&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Services]]&lt;br /&gt;
&lt;br /&gt;
Streetpass stuff.&lt;br /&gt;
&lt;br /&gt;
= CECD Service &amp;quot;cecd:u&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;
| 0x000100C2&lt;br /&gt;
| Open/[[CECDU:OpenRawFile|OpenRawFile]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020042&lt;br /&gt;
| Read/[[CECDU:ReadRawFile|ReadRawFile]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030104&lt;br /&gt;
| [[CECDU:ReadMessage|ReadMessage]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040106&lt;br /&gt;
| [[CECDU:ReadMessageWithHMAC|ReadMessageWithHMAC]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050042&lt;br /&gt;
| Write/[[CECDU:WriteRawFile|WriteRawFile]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060104&lt;br /&gt;
| [[CECDU:WriteMessage|WriteMessage]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070106&lt;br /&gt;
| [[CECDU:WriteMessageWithHMAC|WriteMessageWithHMAC]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080102&lt;br /&gt;
| [[CECDU:Delete|Delete]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000900C2&lt;br /&gt;
| SetData (16*length+10 of CecMessageId buffer in cmdbuff[4] (always 16*8+10), CecMessageId* in cmdbuf[5])&lt;br /&gt;
|-&lt;br /&gt;
| 0x000A00C4&lt;br /&gt;
| ReadData/[[CECDU:GetSystemInfo|GetSystemInfo]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000B0040&lt;br /&gt;
| [[CECDU:Start|Start]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000C0040&lt;br /&gt;
| [[CECDU:Stop|Stop]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x000D0082&lt;br /&gt;
| GetCecInfoBuffer&lt;br /&gt;
|-&lt;br /&gt;
| 0x000E0000&lt;br /&gt;
| GetCecdState (returns CecStateAbbreviated in cmdbuf[2])&lt;br /&gt;
|-&lt;br /&gt;
| 0x000F0000&lt;br /&gt;
| GetCecInfoEventHandle (returns event handle in cmdbuf[3])&lt;br /&gt;
|-&lt;br /&gt;
| 0x00100000&lt;br /&gt;
| GetChangeStateEventHandle (returns event handle in cmdbuf[3])&lt;br /&gt;
|-&lt;br /&gt;
| 0x00110104&lt;br /&gt;
| [[CECDU:OpenAndWrite|OpenAndWrite]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00120104&lt;br /&gt;
| [[CECDU:OpenAndRead|OpenAndRead]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x001E0082&lt;br /&gt;
| GetEventLog&lt;br /&gt;
|-&lt;br /&gt;
| 0x001F0000&lt;br /&gt;
| GetEventLogStart&lt;br /&gt;
|-&lt;br /&gt;
| 0x0020....&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0021....&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== CecDataPathType ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Value&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| CEC_PATH_MBOX_LIST || 1&lt;br /&gt;
| data:/CEC/MBoxList____&lt;br /&gt;
|-&lt;br /&gt;
| CEC_PATH_MBOX_INFO || 2&lt;br /&gt;
| data:/CEC/&amp;lt;id&amp;gt;/MBoxInfo____&lt;br /&gt;
|-&lt;br /&gt;
| CEC_PATH_INBOX_INFO || 3&lt;br /&gt;
| data:/CEC/&amp;lt;id&amp;gt;/InBox___/BoxInfo_____&lt;br /&gt;
|-&lt;br /&gt;
| CEC_PATH_OUTBOX_INFO  || 4&lt;br /&gt;
| data:/CEC/&amp;lt;id&amp;gt;/OutBox__/BoxInfo_____&lt;br /&gt;
|-&lt;br /&gt;
| CEC_PATH_OUTBOX_INDEX  || 5&lt;br /&gt;
| data:/CEC/&amp;lt;id&amp;gt;/OutBox__/OBIndex_____&lt;br /&gt;
|-&lt;br /&gt;
| CEC_PATH_INBOX_MSG  || 6&lt;br /&gt;
| data:/CEC/&amp;lt;id&amp;gt;/InBox___/_&amp;lt;message_id&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CEC_PATH_OUTBOX_MSG  || 7&lt;br /&gt;
| data:/CEC/&amp;lt;id&amp;gt;/OutBox__/_&amp;lt;message_id&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CEC_PATH_ROOT_DIR  || 10&lt;br /&gt;
| data:/CEC&lt;br /&gt;
|-&lt;br /&gt;
| CEC_PATH_MBOX_DIR  || 11&lt;br /&gt;
| data:/CEC/&amp;lt;id&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| CEC_PATH_INBOX_DIR  || 12&lt;br /&gt;
| data:/CEC/&amp;lt;id&amp;gt;/InBox___&lt;br /&gt;
|-&lt;br /&gt;
| CEC_PATH_OUTBOX_DIR  || 13&lt;br /&gt;
| data:/CEC/&amp;lt;id&amp;gt;/OutBox__&lt;br /&gt;
|-&lt;br /&gt;
| || 101 thru 199 (inclusive)&lt;br /&gt;
| data:/CEC/&amp;lt;id&amp;gt;/MBoxData.0&amp;lt;i-100&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| CECMESSAGE_BOX_ICON  || 101&lt;br /&gt;
| data:/CEC/&amp;lt;id&amp;gt;/MBoxData.001&lt;br /&gt;
|- &lt;br /&gt;
| CECMESSAGE_BOX_TITLE  || 110&lt;br /&gt;
| data:/CEC/&amp;lt;id&amp;gt;/MBoxData.010&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== CecCommand ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Name&lt;br /&gt;
!  Value&lt;br /&gt;
!  Notes&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_NONE&lt;br /&gt;
| 0&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_START&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_RESET_START&lt;br /&gt;
| 2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_READYSCAN&lt;br /&gt;
| 3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_READYSCANWAIT&lt;br /&gt;
| 4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_STARTSCAN&lt;br /&gt;
| 5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_RESCAN&lt;br /&gt;
| 6&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_NDM_RESUME&lt;br /&gt;
| 7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_NDM_SUSPEND&lt;br /&gt;
| 8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_NDM_SUSPEND_IMMEDIATE&lt;br /&gt;
| 9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_STOPWAIT&lt;br /&gt;
| 0xA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_STOP&lt;br /&gt;
| 0xB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_STOP_FORCE&lt;br /&gt;
| 0xC&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_STOP_FORCE_WAIT&lt;br /&gt;
| 0xD&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_RESET_FILTER&lt;br /&gt;
| 0xE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_DAEMON_STOP&lt;br /&gt;
| 0xF&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_DAEMON_START&lt;br /&gt;
| 0x10&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_EXIT&lt;br /&gt;
| 0x11&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_OVER_BOSS&lt;br /&gt;
| 0x12&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_OVER_BOSS_FORCE&lt;br /&gt;
| 0x13&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_OVER_BOSS_FORCE_WAIT&lt;br /&gt;
| 0x14&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| CEC_COMMAND_END&lt;br /&gt;
| 0x15&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== CecStateAbbreviated ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Name&lt;br /&gt;
!  Value&lt;br /&gt;
!  Notes&lt;br /&gt;
|-&lt;br /&gt;
| CEC_STATE_ABBREV_IDLE&lt;br /&gt;
| 1&lt;br /&gt;
| Corresponds to CEC_STATE_IDLE&lt;br /&gt;
|-&lt;br /&gt;
| CEC_STATE_ABBREV_INACTIVE&lt;br /&gt;
| 2&lt;br /&gt;
| Corresponds to CEC_STATEs *FINISH*, *POST, and OVER_BOSS&lt;br /&gt;
|-&lt;br /&gt;
| CEC_STATE_ABBREV_SCANNING&lt;br /&gt;
| 3&lt;br /&gt;
| Corresponds to CEC_STATE_SCANNING&lt;br /&gt;
|-&lt;br /&gt;
| CEC_STATE_ABBREV_WLREADY?&lt;br /&gt;
| 4&lt;br /&gt;
| Corresponds to CEC_STATE_WIRELESS_READY when some unknown bool is true&lt;br /&gt;
|-&lt;br /&gt;
| CEC_STATE_ABBREV_OTHER&lt;br /&gt;
| 5&lt;br /&gt;
| Corresponds to CEC_STATEs besides *FINISH*, *POST, and OVER_BOSS and those listed here&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== CecMessageId ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Type&lt;br /&gt;
!  Field&lt;br /&gt;
|-&lt;br /&gt;
| char[8]&lt;br /&gt;
| data&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= CECD Service &amp;quot;cecd:s&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
This contains a similar (probably the same) command handler from 0x0001.... to 0x0021.... as them in cecd:u. In addition, it also contains&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;
| 0x0401....&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x04020002&lt;br /&gt;
| GetCecInfoEventHandleSys&lt;br /&gt;
|-&lt;br /&gt;
| 0x040A....&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x040B....&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x040C0042&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x040D0082&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x040E....&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x040F....&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0410....&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x04110042&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x041200C2&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0413....&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0414....&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0415....&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x04160002&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x0417....&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= CECD Service &amp;quot;cecd:ndm&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;
| 0x00010000&lt;br /&gt;
| Initialize&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020000&lt;br /&gt;
| Deinitialize&lt;br /&gt;
|-&lt;br /&gt;
| 0x00030000&lt;br /&gt;
| ResumeDaemon&lt;br /&gt;
|-&lt;br /&gt;
| 0x00040040&lt;br /&gt;
| SuspendDaemon(bool immediately)&lt;br /&gt;
|-&lt;br /&gt;
| 0x00050000&lt;br /&gt;
| QueryStatus&lt;br /&gt;
|-&lt;br /&gt;
| 0x00060042&lt;br /&gt;
| GetNZoneInfo&lt;br /&gt;
|-&lt;br /&gt;
| 0x00070042&lt;br /&gt;
| SetNZoneSSIDList&lt;br /&gt;
|-&lt;br /&gt;
| 0x00080042&lt;br /&gt;
| SetNZoneMacFilter&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22537</id>
		<title>SpotPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22537"/>
		<updated>2024-04-07T09:43:38Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;SpotPass&#039;&#039;&#039; is a Nintendo 3DS feature that allows the 3DS to automatically download content, notifications, and software when it&#039;s in standby mode.(SpotPass may download/upload some content while the 3DS is in &amp;quot;active&amp;quot; mode, but *only* if the currently active app uses SpotPass) SpotPass can upload content as well. Software downloaded with SpotPass is stored on SD card.&lt;br /&gt;
&lt;br /&gt;
SpotPass Internet communications are mostly HTTPS transfers.&lt;br /&gt;
&lt;br /&gt;
In System Settings, you can disable SpotPass automatic title downloading, but it states that important software will still downloaded.(This only disables downloading of free titles via SpotPass)&lt;br /&gt;
&lt;br /&gt;
&#039;nasc.nintendowifi.net&#039; confirmed usages:(not SpotPass related)&lt;br /&gt;
&lt;br /&gt;
*Friends List applet requires this server to be &#039;Online&#039; (most likely the reason for regular requests to this server)&lt;br /&gt;
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.&lt;br /&gt;
&lt;br /&gt;
In some cases the BOSS module will add the following URL parameter to HTTPS requests, when connected to a [[Nintendo Zone]] AP: &amp;quot;ap=&amp;lt;NZoneApNum&amp;gt;&amp;quot; or when using a specific [[Cfg:GetSystemModel|system model]]: &amp;quot;tm=&amp;lt;SystemModelNumber&amp;gt;&amp;quot;. The Old 3DS and Old 3DS XL don&#039;t set this value.&lt;br /&gt;
&lt;br /&gt;
== policylist ==&lt;br /&gt;
Every time the system connects to the wifi AP, the BOSS (&amp;quot;Background online storage service&amp;quot; = SpotPass) module itself will download the cleartext xml policylist: &amp;quot;https://nppl.c.app.nintendowifi.net/p01/policylist/3/&amp;lt;countrycode&amp;gt;&amp;quot;. This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all.&lt;br /&gt;
&lt;br /&gt;
As of the policylist updated 2017-11-08, this stops the &amp;lt;tt&amp;gt;OlvNotf&amp;lt;/tt&amp;gt; (Miiverse notification sync) task for &amp;lt;tt&amp;gt;000400300000bc00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000bd00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000be00&amp;lt;/tt&amp;gt; for all regions and &amp;lt;tt&amp;gt;basho0&amp;lt;/tt&amp;gt; for the [[Home Menu]]. Japan also has the &amp;lt;tt&amp;gt;9ER_NTD&amp;lt;/tt&amp;gt; task blocked for いつの間にテレビ (&amp;lt;tt&amp;gt;0004000000034700&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== User Agent ==&lt;br /&gt;
&lt;br /&gt;
The default user-agent used for SpotPass HTTPS requests (including the policylist) has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;user agent codename&amp;gt;-&amp;lt;user agent version&amp;gt;/&amp;lt;printed hex u64 [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]]&amp;gt;-&amp;lt;printed hex u64 [[FRDU:GetMyFriendKey|Friend]] [[FRDU:PrincipalIdToFriendCode|Code]]&amp;gt;/&amp;lt;text [[CVer|system]] [[NVer|version]]&amp;gt;/&amp;lt;unknown decimal value&amp;gt;/&amp;lt;[[Cfg:GetSystemModel|system model number]]&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The codename can be set to either &amp;lt;tt&amp;gt;PBOS&amp;lt;/tt&amp;gt; (Production BOSS?) or &amp;lt;tt&amp;gt;DBOS&amp;lt;/tt&amp;gt; (Development BOSS?) depending if the console is a [[Configuration_Memory#UNITINFO|retail]] unit. As of system version 11.17, the user agent version is hardcoded to 8.0 and the decimal value is set to 62452 (0xF3F4).&lt;br /&gt;
&lt;br /&gt;
No user-agent is used for plaintext HTTP requests with SpotPass.&lt;br /&gt;
&lt;br /&gt;
== Titles Spotpass usage ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Title&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Home Menu]]&lt;br /&gt;
| Home Menu uses SpotPass for system notifications, and for uploading data from home-menu shared extdata.&lt;br /&gt;
|-&lt;br /&gt;
| [[System Settings]]&lt;br /&gt;
| System Settings uses SpotPass for uploading data, with this URL: https://npul.c.app.nintendowifi.net/p01/recv/&amp;lt;RegionID&amp;gt;/sendcfg This RegionID is separate from the RegionIDs home-menu uses.&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| Unknown log data is uploaded with this URL: https://logus-p.est.c.app.nintendowifi.net/LogServer_us_live/Upload&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Automatic System Update Download ==&lt;br /&gt;
See [[Automatic System Update Download]].&lt;br /&gt;
&lt;br /&gt;
== BOSS Sysmodule Savegame==&lt;br /&gt;
See [[BOSS Savegame]]&lt;br /&gt;
&lt;br /&gt;
== Content Container ==&lt;br /&gt;
&lt;br /&gt;
SpotPass content must use this container to encrypt the payload and sign it, for content downloads. The cleartext content is stored in [[extdata]]. The format of these headers is big-endian.&lt;br /&gt;
&lt;br /&gt;
=== BOSS Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number &amp;quot;boss&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number 0x10001&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Big-endian filesize&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x8&lt;br /&gt;
| u64 serial number (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x2&lt;br /&gt;
| Must always be 0x1&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header hash type, always 0x2 for SHA-256&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header RSA size, always 0x2 for RSA-2048 (X&amp;lt;&amp;lt;7)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xC&lt;br /&gt;
| First 12 bytes of the Initialization Vector (IV)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Data following the BOSS header is encrypted with AES-CTR. The AES key that is used is stored in [[AES_Registers#Keyslots|keyslot 0x38]]. The first 12 bytes of the IV are from offset 0x1C of the header, while the last 32-bit integer of the IV in big-endian is 0x1. The IV from the header is random per file, and an unique random IV is used each time the content is updated. The cleartext data begins with the content header.&lt;br /&gt;
&lt;br /&gt;
The 64-bit number at 0xC may be a serial number which is increased every time someone requested to sign and create a boss container for a file. The 3DS sees the downloaded file as new if this number is different from the previous download (Doesn&#039;t matter if the number is bigger or smaller).&lt;br /&gt;
&lt;br /&gt;
The boss system module v13314 begins at address 0x0010eb98 with the function for parsing the BOSS header.&lt;br /&gt;
&lt;br /&gt;
=== Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x10&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x2&lt;br /&gt;
| Number of payload contents (Payload Content Header + Payload)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x32&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the above hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 0x10-bytes are all-zero except the first byte which is usually 0x80. It&#039;s unknown what the first 0x10-bytes are used for.&lt;br /&gt;
&lt;br /&gt;
The 16-bit value at 0x10 tells how many payload contents follow after this the content header. For example there can be a downloaded file for a game followed by a message for the news system module.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory.&lt;br /&gt;
&lt;br /&gt;
=== Payload Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x8&lt;br /&gt;
| ProgramID&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content datatype, used for filtering with [[BOSSU:GetNsDataIdList]].&lt;br /&gt;
Usually 0x10001? (observed 0x20001 in eShop strings)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Size of the payload after this header&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| [[BOSS_Services|NsDataId]], used for generating the extdata filepath.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Probably some version field for the payload&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the previous SHA-256 hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This signature is signed by Nintendo with the same key-pair as the content header.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x1C hashes the 0x1C-byte data at offset 0x0 followed by a zero u16, followed by all of the remaining cleartext data following this header(the actual content data).&lt;br /&gt;
&lt;br /&gt;
The downloaded boss data is written in the following format to extdata.&lt;br /&gt;
First an extdata header in the following format&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x1&lt;br /&gt;
| Size of header including this field. Always 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xB&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Download date in format: Bit 0-6 = day, Bit 7-10 = month, Bit 11-21 = year&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero? Padding?&lt;br /&gt;
|}&lt;br /&gt;
Followed by the Payload Content Header without the hash and signature (first 0x1C bytes) and the actual payload.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
* [http://wiiucodes.ddnss.eu/tools/BossDecryptor3DS.zip BossDecryptor3DS] Decrypts an encrypted boss container&lt;br /&gt;
* [http://wiiucodes.ddnss.eu/tools/BossEncryptor3DS.zip BossEncryptor3DS] Builds and encrypts a file into a boss container&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22536</id>
		<title>SpotPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22536"/>
		<updated>2024-04-06T11:00:59Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* BOSS Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;SpotPass&#039;&#039;&#039; is a Nintendo 3DS feature that allows the 3DS to automatically download content, notifications, and software when it&#039;s in standby mode.(SpotPass may download/upload some content while the 3DS is in &amp;quot;active&amp;quot; mode, but *only* if the currently active app uses SpotPass) SpotPass can upload content as well. Software downloaded with SpotPass is stored on SD card.&lt;br /&gt;
&lt;br /&gt;
SpotPass Internet communications are mostly HTTPS transfers.&lt;br /&gt;
&lt;br /&gt;
In System Settings, you can disable SpotPass automatic title downloading, but it states that important software will still downloaded.(This only disables downloading of free titles via SpotPass)&lt;br /&gt;
&lt;br /&gt;
&#039;nasc.nintendowifi.net&#039; confirmed usages:(not SpotPass related)&lt;br /&gt;
&lt;br /&gt;
*Friends List applet requires this server to be &#039;Online&#039; (most likely the reason for regular requests to this server)&lt;br /&gt;
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.&lt;br /&gt;
&lt;br /&gt;
In some cases the BOSS module will add the following URL parameter to HTTPS requests, when connected to a [[Nintendo Zone]] AP: &amp;quot;ap=&amp;lt;NZoneApNum&amp;gt;&amp;quot; or when using a specific [[Cfg:GetSystemModel|system model]]: &amp;quot;tm=&amp;lt;SystemModelNumber&amp;gt;&amp;quot;. The Old 3DS and Old 3DS XL don&#039;t set this value.&lt;br /&gt;
&lt;br /&gt;
== policylist ==&lt;br /&gt;
Every time the system connects to the wifi AP, the BOSS (&amp;quot;Background online storage service&amp;quot; = SpotPass) module itself will download the cleartext xml policylist: &amp;quot;https://nppl.c.app.nintendowifi.net/p01/policylist/3/&amp;lt;countrycode&amp;gt;&amp;quot;. This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all.&lt;br /&gt;
&lt;br /&gt;
As of the policylist updated 2017-11-08, this stops the &amp;lt;tt&amp;gt;OlvNotf&amp;lt;/tt&amp;gt; (Miiverse notification sync) task for &amp;lt;tt&amp;gt;000400300000bc00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000bd00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000be00&amp;lt;/tt&amp;gt; for all regions and &amp;lt;tt&amp;gt;basho0&amp;lt;/tt&amp;gt; for the [[Home Menu]]. Japan also has the &amp;lt;tt&amp;gt;9ER_NTD&amp;lt;/tt&amp;gt; task blocked for いつの間にテレビ (&amp;lt;tt&amp;gt;0004000000034700&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== User Agent ==&lt;br /&gt;
&lt;br /&gt;
The default user-agent used for SpotPass HTTPS requests (including the policylist) has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;user agent codename&amp;gt;-&amp;lt;user agent version&amp;gt;/&amp;lt;printed hex u64 [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]]&amp;gt;-&amp;lt;printed hex u64 [[FRDU:GetMyFriendKey|Friend]] [[FRDU:PrincipalIdToFriendCode|Code]]&amp;gt;/&amp;lt;text [[CVer|system]] [[NVer|version]]&amp;gt;/&amp;lt;unknown decimal value&amp;gt;/&amp;lt;[[Cfg:GetSystemModel|system model number]]&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The codename can be set to either &amp;lt;tt&amp;gt;PBOS&amp;lt;/tt&amp;gt; (Production BOSS?) or &amp;lt;tt&amp;gt;DBOS&amp;lt;/tt&amp;gt; (Development BOSS?) depending if the console is a [[Configuration_Memory#UNITINFO|retail]] unit. As of system version 11.17, the user agent version is hardcoded to 8.0 and the decimal value is set to 62452 (0xF3F4).&lt;br /&gt;
&lt;br /&gt;
No user-agent is used for plaintext HTTP requests with SpotPass.&lt;br /&gt;
&lt;br /&gt;
== Titles Spotpass usage ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Title&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Home Menu]]&lt;br /&gt;
| Home Menu uses SpotPass for system notifications, and for uploading data from home-menu shared extdata.&lt;br /&gt;
|-&lt;br /&gt;
| [[System Settings]]&lt;br /&gt;
| System Settings uses SpotPass for uploading data, with this URL: https://npul.c.app.nintendowifi.net/p01/recv/&amp;lt;RegionID&amp;gt;/sendcfg This RegionID is separate from the RegionIDs home-menu uses.&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| Unknown log data is uploaded with this URL: https://logus-p.est.c.app.nintendowifi.net/LogServer_us_live/Upload&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Automatic System Update Download ==&lt;br /&gt;
See [[Automatic System Update Download]].&lt;br /&gt;
&lt;br /&gt;
== BOSS Sysmodule Savegame==&lt;br /&gt;
See [[BOSS Savegame]]&lt;br /&gt;
&lt;br /&gt;
== Content Container ==&lt;br /&gt;
&lt;br /&gt;
SpotPass content must use this container to encrypt the payload and sign it, for content downloads. The cleartext content is stored in [[extdata]]. The format of these headers is big-endian.&lt;br /&gt;
&lt;br /&gt;
=== BOSS Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number &amp;quot;boss&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number 0x10001&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Big-endian filesize&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x8&lt;br /&gt;
| u64 serial number (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x2&lt;br /&gt;
| Must always be 0x1&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header hash type, always 0x2 for SHA-256&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header RSA size, always 0x2 for RSA-2048 (X&amp;lt;&amp;lt;7)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xC&lt;br /&gt;
| First 12 bytes of the Initialization Vector (IV)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Data following the BOSS header is encrypted with AES-CTR. The AES key that is used is stored in [[AES_Registers#Keyslots|keyslot 0x38]]. The first 12 bytes of the IV are from offset 0x1C of the header, while the last 32-bit integer of the IV in big-endian is 0x1. The IV from the header is random per file, and an unique random IV is used each time the content is updated. The cleartext data begins with the content header.&lt;br /&gt;
&lt;br /&gt;
The 64-bit number at 0xC may be a serial number which is increased every time someone requested to sign and create a boss container for a file. The 3DS sees the downloaded file as new if this number is different from the previous download (Doesn&#039;t matter if the number is bigger or smaller).&lt;br /&gt;
&lt;br /&gt;
The boss system module v13314 begins at address 0x0010eb98 with the function for parsing the BOSS header.&lt;br /&gt;
&lt;br /&gt;
=== Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x10&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x2&lt;br /&gt;
| Number of payload contents (Payload Content Header + Payload)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x32&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the above hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 0x10-bytes are all-zero except the first byte which is usually 0x80. It&#039;s unknown what the first 0x10-bytes are used for.&lt;br /&gt;
&lt;br /&gt;
The 16-bit value at 0x10 tells how many payload contents follow after this the content header. For example there can be a downloaded file for a game followed by a message for the news system module.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory.&lt;br /&gt;
&lt;br /&gt;
=== Payload Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x8&lt;br /&gt;
| ProgramID&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content datatype, used for filtering with [[BOSSU:GetNsDataIdList]].&lt;br /&gt;
Usually 0x10001? (observed 0x20001 in eShop strings)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Size of the payload after this header&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| [[BOSS_Services|NsDataId]], used for generating the extdata filepath.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Probably some version field for the payload&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the previous SHA-256 hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This signature is signed by Nintendo with the same key-pair as the content header.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x1C hashes the 0x1C-byte data at offset 0x0 followed by a zero u16, followed by all of the remaining cleartext data following this header(the actual content data).&lt;br /&gt;
&lt;br /&gt;
The downloaded boss data is written in the following format to extdata.&lt;br /&gt;
First an extdata header in the following format&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x1&lt;br /&gt;
| Size of header including this field. Always 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xB&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Download date in format: Bit 0-6 = day, Bit 7-10 = month, Bit 11-21 = year&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero? Padding?&lt;br /&gt;
|}&lt;br /&gt;
Followed by the Payload Content Header without the hash and signature (first 0x1C bytes) and the actual payload.&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22535</id>
		<title>SpotPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22535"/>
		<updated>2024-04-05T17:59:30Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* BOSS Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;SpotPass&#039;&#039;&#039; is a Nintendo 3DS feature that allows the 3DS to automatically download content, notifications, and software when it&#039;s in standby mode.(SpotPass may download/upload some content while the 3DS is in &amp;quot;active&amp;quot; mode, but *only* if the currently active app uses SpotPass) SpotPass can upload content as well. Software downloaded with SpotPass is stored on SD card.&lt;br /&gt;
&lt;br /&gt;
SpotPass Internet communications are mostly HTTPS transfers.&lt;br /&gt;
&lt;br /&gt;
In System Settings, you can disable SpotPass automatic title downloading, but it states that important software will still downloaded.(This only disables downloading of free titles via SpotPass)&lt;br /&gt;
&lt;br /&gt;
&#039;nasc.nintendowifi.net&#039; confirmed usages:(not SpotPass related)&lt;br /&gt;
&lt;br /&gt;
*Friends List applet requires this server to be &#039;Online&#039; (most likely the reason for regular requests to this server)&lt;br /&gt;
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.&lt;br /&gt;
&lt;br /&gt;
In some cases the BOSS module will add the following URL parameter to HTTPS requests, when connected to a [[Nintendo Zone]] AP: &amp;quot;ap=&amp;lt;NZoneApNum&amp;gt;&amp;quot; or when using a specific [[Cfg:GetSystemModel|system model]]: &amp;quot;tm=&amp;lt;SystemModelNumber&amp;gt;&amp;quot;. The Old 3DS and Old 3DS XL don&#039;t set this value.&lt;br /&gt;
&lt;br /&gt;
== policylist ==&lt;br /&gt;
Every time the system connects to the wifi AP, the BOSS (&amp;quot;Background online storage service&amp;quot; = SpotPass) module itself will download the cleartext xml policylist: &amp;quot;https://nppl.c.app.nintendowifi.net/p01/policylist/3/&amp;lt;countrycode&amp;gt;&amp;quot;. This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all.&lt;br /&gt;
&lt;br /&gt;
As of the policylist updated 2017-11-08, this stops the &amp;lt;tt&amp;gt;OlvNotf&amp;lt;/tt&amp;gt; (Miiverse notification sync) task for &amp;lt;tt&amp;gt;000400300000bc00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000bd00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000be00&amp;lt;/tt&amp;gt; for all regions and &amp;lt;tt&amp;gt;basho0&amp;lt;/tt&amp;gt; for the [[Home Menu]]. Japan also has the &amp;lt;tt&amp;gt;9ER_NTD&amp;lt;/tt&amp;gt; task blocked for いつの間にテレビ (&amp;lt;tt&amp;gt;0004000000034700&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== User Agent ==&lt;br /&gt;
&lt;br /&gt;
The default user-agent used for SpotPass HTTPS requests (including the policylist) has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;user agent codename&amp;gt;-&amp;lt;user agent version&amp;gt;/&amp;lt;printed hex u64 [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]]&amp;gt;-&amp;lt;printed hex u64 [[FRDU:GetMyFriendKey|Friend]] [[FRDU:PrincipalIdToFriendCode|Code]]&amp;gt;/&amp;lt;text [[CVer|system]] [[NVer|version]]&amp;gt;/&amp;lt;unknown decimal value&amp;gt;/&amp;lt;[[Cfg:GetSystemModel|system model number]]&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The codename can be set to either &amp;lt;tt&amp;gt;PBOS&amp;lt;/tt&amp;gt; (Production BOSS?) or &amp;lt;tt&amp;gt;DBOS&amp;lt;/tt&amp;gt; (Development BOSS?) depending if the console is a [[Configuration_Memory#UNITINFO|retail]] unit. As of system version 11.17, the user agent version is hardcoded to 8.0 and the decimal value is set to 62452 (0xF3F4).&lt;br /&gt;
&lt;br /&gt;
No user-agent is used for plaintext HTTP requests with SpotPass.&lt;br /&gt;
&lt;br /&gt;
== Titles Spotpass usage ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Title&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Home Menu]]&lt;br /&gt;
| Home Menu uses SpotPass for system notifications, and for uploading data from home-menu shared extdata.&lt;br /&gt;
|-&lt;br /&gt;
| [[System Settings]]&lt;br /&gt;
| System Settings uses SpotPass for uploading data, with this URL: https://npul.c.app.nintendowifi.net/p01/recv/&amp;lt;RegionID&amp;gt;/sendcfg This RegionID is separate from the RegionIDs home-menu uses.&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| Unknown log data is uploaded with this URL: https://logus-p.est.c.app.nintendowifi.net/LogServer_us_live/Upload&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Automatic System Update Download ==&lt;br /&gt;
See [[Automatic System Update Download]].&lt;br /&gt;
&lt;br /&gt;
== BOSS Sysmodule Savegame==&lt;br /&gt;
See [[BOSS Savegame]]&lt;br /&gt;
&lt;br /&gt;
== Content Container ==&lt;br /&gt;
&lt;br /&gt;
SpotPass content must use this container to encrypt the payload and sign it, for content downloads. The cleartext content is stored in [[extdata]]. The format of these headers is big-endian.&lt;br /&gt;
&lt;br /&gt;
=== BOSS Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number &amp;quot;boss&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number 0x10001&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Big-endian filesize&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x8&lt;br /&gt;
| u64 serial number (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x2&lt;br /&gt;
| Must always be 0x1&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header hash type, always 0x2 for SHA-256&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header RSA size, always 0x2 for RSA-2048 (X&amp;lt;&amp;lt;7)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xC&lt;br /&gt;
| First 12 bytes of the Initialization Vector (IV)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Data following the BOSS header is encrypted with AES-CTR. The AES key that is used is stored in [[AES_Registers#Keyslots|keyslot 0x38]]. The first 12 bytes of the IV are from offset 0x1C of the header, while the last 32-bit integer of the IV in big-endian is 0x1. The IV from the header is random per file, and an unique random IV is used each time the content is updated. The cleartext data begins with the content header.&lt;br /&gt;
&lt;br /&gt;
The 64-bit number at 0xC may be a serial number which is increased every time someone requested to sign and create a boss container for his file. The 3DS sees the downloaded file as new if this number is different from the previous download (Doesn&#039;t matter if the number is bigger or smaller).&lt;br /&gt;
&lt;br /&gt;
The boss system module v13314 begins at address 0x0010eb98 with the function for parsing the BOSS header.&lt;br /&gt;
&lt;br /&gt;
=== Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x10&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x2&lt;br /&gt;
| Number of payload contents (Payload Content Header + Payload)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x32&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the above hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 0x10-bytes are all-zero except the first byte which is usually 0x80. It&#039;s unknown what the first 0x10-bytes are used for.&lt;br /&gt;
&lt;br /&gt;
The 16-bit value at 0x10 tells how many payload contents follow after this the content header. For example there can be a downloaded file for a game followed by a message for the news system module.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory.&lt;br /&gt;
&lt;br /&gt;
=== Payload Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x8&lt;br /&gt;
| ProgramID&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content datatype, used for filtering with [[BOSSU:GetNsDataIdList]].&lt;br /&gt;
Usually 0x10001? (observed 0x20001 in eShop strings)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Size of the payload after this header&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| [[BOSS_Services|NsDataId]], used for generating the extdata filepath.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Probably some version field for the payload&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the previous SHA-256 hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This signature is signed by Nintendo with the same key-pair as the content header.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x1C hashes the 0x1C-byte data at offset 0x0 followed by a zero u16, followed by all of the remaining cleartext data following this header(the actual content data).&lt;br /&gt;
&lt;br /&gt;
The downloaded boss data is written in the following format to extdata.&lt;br /&gt;
First an extdata header in the following format&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x1&lt;br /&gt;
| Size of header including this field. Always 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xB&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Download date in format: Bit 0-6 = day, Bit 7-10 = month, Bit 11-21 = year&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero? Padding?&lt;br /&gt;
|}&lt;br /&gt;
Followed by the Payload Content Header without the hash and signature (first 0x1C bytes) and the actual payload.&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22534</id>
		<title>SpotPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22534"/>
		<updated>2024-04-05T17:46:37Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* BOSS Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;SpotPass&#039;&#039;&#039; is a Nintendo 3DS feature that allows the 3DS to automatically download content, notifications, and software when it&#039;s in standby mode.(SpotPass may download/upload some content while the 3DS is in &amp;quot;active&amp;quot; mode, but *only* if the currently active app uses SpotPass) SpotPass can upload content as well. Software downloaded with SpotPass is stored on SD card.&lt;br /&gt;
&lt;br /&gt;
SpotPass Internet communications are mostly HTTPS transfers.&lt;br /&gt;
&lt;br /&gt;
In System Settings, you can disable SpotPass automatic title downloading, but it states that important software will still downloaded.(This only disables downloading of free titles via SpotPass)&lt;br /&gt;
&lt;br /&gt;
&#039;nasc.nintendowifi.net&#039; confirmed usages:(not SpotPass related)&lt;br /&gt;
&lt;br /&gt;
*Friends List applet requires this server to be &#039;Online&#039; (most likely the reason for regular requests to this server)&lt;br /&gt;
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.&lt;br /&gt;
&lt;br /&gt;
In some cases the BOSS module will add the following URL parameter to HTTPS requests, when connected to a [[Nintendo Zone]] AP: &amp;quot;ap=&amp;lt;NZoneApNum&amp;gt;&amp;quot; or when using a specific [[Cfg:GetSystemModel|system model]]: &amp;quot;tm=&amp;lt;SystemModelNumber&amp;gt;&amp;quot;. The Old 3DS and Old 3DS XL don&#039;t set this value.&lt;br /&gt;
&lt;br /&gt;
== policylist ==&lt;br /&gt;
Every time the system connects to the wifi AP, the BOSS (&amp;quot;Background online storage service&amp;quot; = SpotPass) module itself will download the cleartext xml policylist: &amp;quot;https://nppl.c.app.nintendowifi.net/p01/policylist/3/&amp;lt;countrycode&amp;gt;&amp;quot;. This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all.&lt;br /&gt;
&lt;br /&gt;
As of the policylist updated 2017-11-08, this stops the &amp;lt;tt&amp;gt;OlvNotf&amp;lt;/tt&amp;gt; (Miiverse notification sync) task for &amp;lt;tt&amp;gt;000400300000bc00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000bd00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000be00&amp;lt;/tt&amp;gt; for all regions and &amp;lt;tt&amp;gt;basho0&amp;lt;/tt&amp;gt; for the [[Home Menu]]. Japan also has the &amp;lt;tt&amp;gt;9ER_NTD&amp;lt;/tt&amp;gt; task blocked for いつの間にテレビ (&amp;lt;tt&amp;gt;0004000000034700&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== User Agent ==&lt;br /&gt;
&lt;br /&gt;
The default user-agent used for SpotPass HTTPS requests (including the policylist) has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;user agent codename&amp;gt;-&amp;lt;user agent version&amp;gt;/&amp;lt;printed hex u64 [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]]&amp;gt;-&amp;lt;printed hex u64 [[FRDU:GetMyFriendKey|Friend]] [[FRDU:PrincipalIdToFriendCode|Code]]&amp;gt;/&amp;lt;text [[CVer|system]] [[NVer|version]]&amp;gt;/&amp;lt;unknown decimal value&amp;gt;/&amp;lt;[[Cfg:GetSystemModel|system model number]]&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The codename can be set to either &amp;lt;tt&amp;gt;PBOS&amp;lt;/tt&amp;gt; (Production BOSS?) or &amp;lt;tt&amp;gt;DBOS&amp;lt;/tt&amp;gt; (Development BOSS?) depending if the console is a [[Configuration_Memory#UNITINFO|retail]] unit. As of system version 11.17, the user agent version is hardcoded to 8.0 and the decimal value is set to 62452 (0xF3F4).&lt;br /&gt;
&lt;br /&gt;
No user-agent is used for plaintext HTTP requests with SpotPass.&lt;br /&gt;
&lt;br /&gt;
== Titles Spotpass usage ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Title&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Home Menu]]&lt;br /&gt;
| Home Menu uses SpotPass for system notifications, and for uploading data from home-menu shared extdata.&lt;br /&gt;
|-&lt;br /&gt;
| [[System Settings]]&lt;br /&gt;
| System Settings uses SpotPass for uploading data, with this URL: https://npul.c.app.nintendowifi.net/p01/recv/&amp;lt;RegionID&amp;gt;/sendcfg This RegionID is separate from the RegionIDs home-menu uses.&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| Unknown log data is uploaded with this URL: https://logus-p.est.c.app.nintendowifi.net/LogServer_us_live/Upload&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Automatic System Update Download ==&lt;br /&gt;
See [[Automatic System Update Download]].&lt;br /&gt;
&lt;br /&gt;
== BOSS Sysmodule Savegame==&lt;br /&gt;
See [[BOSS Savegame]]&lt;br /&gt;
&lt;br /&gt;
== Content Container ==&lt;br /&gt;
&lt;br /&gt;
SpotPass content must use this container to encrypt the payload and sign it, for content downloads. The cleartext content is stored in [[extdata]]. The format of these headers is big-endian.&lt;br /&gt;
&lt;br /&gt;
=== BOSS Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number &amp;quot;boss&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number 0x10001&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Big-endian filesize&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x8&lt;br /&gt;
| u64 serial number (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x2&lt;br /&gt;
| Must always be 0x1&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header hash type, always 0x2 for SHA-256&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header RSA size, always 0x2 for RSA-2048 (X&amp;lt;&amp;lt;7)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xC&lt;br /&gt;
| First 12 bytes of the Initialization Vector (IV)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Data following the BOSS header is encrypted with AES-CTR. The AES key that is used is stored in [[AES_Registers#Keyslots|keyslot 0x38]]. The first 12 bytes of the IV are from offset 0x1C of the header, while the last 32-bit integer of the IV in big-endian is 0x1. The IV from the header is random per file, and an unique random IV is used each time the content is updated. The cleartext data begins with the content header.&lt;br /&gt;
&lt;br /&gt;
The 64-bit number at 0xC may be serial number which is increased every time someone requested to sign and create a boss container for his file. The 3DS sees the downloaded file as new if this number is different from the previous download (Doesn&#039;t matter if the number is bigger or smaller).&lt;br /&gt;
&lt;br /&gt;
The boss system module v13314 begins at address 0x0010eb98 with the function for parsing the BOSS header.&lt;br /&gt;
&lt;br /&gt;
=== Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x10&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x2&lt;br /&gt;
| Number of payload contents (Payload Content Header + Payload)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x32&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the above hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 0x10-bytes are all-zero except the first byte which is usually 0x80. It&#039;s unknown what the first 0x10-bytes are used for.&lt;br /&gt;
&lt;br /&gt;
The 16-bit value at 0x10 tells how many payload contents follow after this the content header. For example there can be a downloaded file for a game followed by a message for the news system module.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory.&lt;br /&gt;
&lt;br /&gt;
=== Payload Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x8&lt;br /&gt;
| ProgramID&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content datatype, used for filtering with [[BOSSU:GetNsDataIdList]].&lt;br /&gt;
Usually 0x10001? (observed 0x20001 in eShop strings)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Size of the payload after this header&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| [[BOSS_Services|NsDataId]], used for generating the extdata filepath.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Probably some version field for the payload&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the previous SHA-256 hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This signature is signed by Nintendo with the same key-pair as the content header.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x1C hashes the 0x1C-byte data at offset 0x0 followed by a zero u16, followed by all of the remaining cleartext data following this header(the actual content data).&lt;br /&gt;
&lt;br /&gt;
The downloaded boss data is written in the following format to extdata.&lt;br /&gt;
First an extdata header in the following format&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x1&lt;br /&gt;
| Size of header including this field. Always 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xB&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Download date in format: Bit 0-6 = day, Bit 7-10 = month, Bit 11-21 = year&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero? Padding?&lt;br /&gt;
|}&lt;br /&gt;
Followed by the Payload Content Header without the hash and signature (first 0x1C bytes) and the actual payload.&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22533</id>
		<title>SpotPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22533"/>
		<updated>2024-04-05T17:38:19Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* BOSS Header */ This is in no way a UNIX timestamp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;SpotPass&#039;&#039;&#039; is a Nintendo 3DS feature that allows the 3DS to automatically download content, notifications, and software when it&#039;s in standby mode.(SpotPass may download/upload some content while the 3DS is in &amp;quot;active&amp;quot; mode, but *only* if the currently active app uses SpotPass) SpotPass can upload content as well. Software downloaded with SpotPass is stored on SD card.&lt;br /&gt;
&lt;br /&gt;
SpotPass Internet communications are mostly HTTPS transfers.&lt;br /&gt;
&lt;br /&gt;
In System Settings, you can disable SpotPass automatic title downloading, but it states that important software will still downloaded.(This only disables downloading of free titles via SpotPass)&lt;br /&gt;
&lt;br /&gt;
&#039;nasc.nintendowifi.net&#039; confirmed usages:(not SpotPass related)&lt;br /&gt;
&lt;br /&gt;
*Friends List applet requires this server to be &#039;Online&#039; (most likely the reason for regular requests to this server)&lt;br /&gt;
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.&lt;br /&gt;
&lt;br /&gt;
In some cases the BOSS module will add the following URL parameter to HTTPS requests, when connected to a [[Nintendo Zone]] AP: &amp;quot;ap=&amp;lt;NZoneApNum&amp;gt;&amp;quot; or when using a specific [[Cfg:GetSystemModel|system model]]: &amp;quot;tm=&amp;lt;SystemModelNumber&amp;gt;&amp;quot;. The Old 3DS and Old 3DS XL don&#039;t set this value.&lt;br /&gt;
&lt;br /&gt;
== policylist ==&lt;br /&gt;
Every time the system connects to the wifi AP, the BOSS (&amp;quot;Background online storage service&amp;quot; = SpotPass) module itself will download the cleartext xml policylist: &amp;quot;https://nppl.c.app.nintendowifi.net/p01/policylist/3/&amp;lt;countrycode&amp;gt;&amp;quot;. This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all.&lt;br /&gt;
&lt;br /&gt;
As of the policylist updated 2017-11-08, this stops the &amp;lt;tt&amp;gt;OlvNotf&amp;lt;/tt&amp;gt; (Miiverse notification sync) task for &amp;lt;tt&amp;gt;000400300000bc00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000bd00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000be00&amp;lt;/tt&amp;gt; for all regions and &amp;lt;tt&amp;gt;basho0&amp;lt;/tt&amp;gt; for the [[Home Menu]]. Japan also has the &amp;lt;tt&amp;gt;9ER_NTD&amp;lt;/tt&amp;gt; task blocked for いつの間にテレビ (&amp;lt;tt&amp;gt;0004000000034700&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== User Agent ==&lt;br /&gt;
&lt;br /&gt;
The default user-agent used for SpotPass HTTPS requests (including the policylist) has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;user agent codename&amp;gt;-&amp;lt;user agent version&amp;gt;/&amp;lt;printed hex u64 [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]]&amp;gt;-&amp;lt;printed hex u64 [[FRDU:GetMyFriendKey|Friend]] [[FRDU:PrincipalIdToFriendCode|Code]]&amp;gt;/&amp;lt;text [[CVer|system]] [[NVer|version]]&amp;gt;/&amp;lt;unknown decimal value&amp;gt;/&amp;lt;[[Cfg:GetSystemModel|system model number]]&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The codename can be set to either &amp;lt;tt&amp;gt;PBOS&amp;lt;/tt&amp;gt; (Production BOSS?) or &amp;lt;tt&amp;gt;DBOS&amp;lt;/tt&amp;gt; (Development BOSS?) depending if the console is a [[Configuration_Memory#UNITINFO|retail]] unit. As of system version 11.17, the user agent version is hardcoded to 8.0 and the decimal value is set to 62452 (0xF3F4).&lt;br /&gt;
&lt;br /&gt;
No user-agent is used for plaintext HTTP requests with SpotPass.&lt;br /&gt;
&lt;br /&gt;
== Titles Spotpass usage ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Title&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Home Menu]]&lt;br /&gt;
| Home Menu uses SpotPass for system notifications, and for uploading data from home-menu shared extdata.&lt;br /&gt;
|-&lt;br /&gt;
| [[System Settings]]&lt;br /&gt;
| System Settings uses SpotPass for uploading data, with this URL: https://npul.c.app.nintendowifi.net/p01/recv/&amp;lt;RegionID&amp;gt;/sendcfg This RegionID is separate from the RegionIDs home-menu uses.&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| Unknown log data is uploaded with this URL: https://logus-p.est.c.app.nintendowifi.net/LogServer_us_live/Upload&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Automatic System Update Download ==&lt;br /&gt;
See [[Automatic System Update Download]].&lt;br /&gt;
&lt;br /&gt;
== BOSS Sysmodule Savegame==&lt;br /&gt;
See [[BOSS Savegame]]&lt;br /&gt;
&lt;br /&gt;
== Content Container ==&lt;br /&gt;
&lt;br /&gt;
SpotPass content must use this container to encrypt the payload and sign it, for content downloads. The cleartext content is stored in [[extdata]]. The format of these headers is big-endian.&lt;br /&gt;
&lt;br /&gt;
=== BOSS Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number &amp;quot;boss&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number 0x10001&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Big-endian filesize&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x8&lt;br /&gt;
| u64 serial number (?)&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x2&lt;br /&gt;
| Must always be 0x1&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header hash type, always 0x2 for SHA-256&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header RSA size, always 0x2 for RSA-2048 (X&amp;lt;&amp;lt;7)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xC&lt;br /&gt;
| First 12 bytes of the Initialization Vector (IV)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Data following the BOSS header is encrypted with AES-CTR. The AES key that is used is stored in [[AES_Registers#Keyslots|keyslot 0x38]]. The first 12 bytes of the IV are from offset 0x1C of the header, while the last 32-bit integer of the IV in big-endian is 0x1. The IV from the header is random per file, and an unique random IV is used each time the content is updated. The cleartext data begins with the content header.&lt;br /&gt;
&lt;br /&gt;
The 64-bit number may be serial number which is increased every time someone requested to sign and create a boss container for his file. The 3DS sees the downloaded file as new if this number is different from the previous download (Doesn&#039;t matter if the number is bigger or smaller).&lt;br /&gt;
&lt;br /&gt;
=== Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x10&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x2&lt;br /&gt;
| Number of payload contents (Payload Content Header + Payload)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x32&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the above hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 0x10-bytes are all-zero except the first byte which is usually 0x80. It&#039;s unknown what the first 0x10-bytes are used for.&lt;br /&gt;
&lt;br /&gt;
The 16-bit value at 0x10 tells how many payload contents follow after this the content header. For example there can be a downloaded file for a game followed by a message for the news system module.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory.&lt;br /&gt;
&lt;br /&gt;
=== Payload Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x8&lt;br /&gt;
| ProgramID&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content datatype, used for filtering with [[BOSSU:GetNsDataIdList]].&lt;br /&gt;
Usually 0x10001? (observed 0x20001 in eShop strings)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Size of the payload after this header&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| [[BOSS_Services|NsDataId]], used for generating the extdata filepath.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Probably some version field for the payload&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the previous SHA-256 hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This signature is signed by Nintendo with the same key-pair as the content header.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x1C hashes the 0x1C-byte data at offset 0x0 followed by a zero u16, followed by all of the remaining cleartext data following this header(the actual content data).&lt;br /&gt;
&lt;br /&gt;
The downloaded boss data is written in the following format to extdata.&lt;br /&gt;
First an extdata header in the following format&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x1&lt;br /&gt;
| Size of header including this field. Always 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xB&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Download date in format: Bit 0-6 = day, Bit 7-10 = month, Bit 11-21 = year&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero? Padding?&lt;br /&gt;
|}&lt;br /&gt;
Followed by the Payload Content Header without the hash and signature (first 0x1C bytes) and the actual payload.&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22531</id>
		<title>SpotPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22531"/>
		<updated>2024-04-01T06:53:57Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* Content Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;SpotPass&#039;&#039;&#039; is a Nintendo 3DS feature that allows the 3DS to automatically download content, notifications, and software when it&#039;s in standby mode.(SpotPass may download/upload some content while the 3DS is in &amp;quot;active&amp;quot; mode, but *only* if the currently active app uses SpotPass) SpotPass can upload content as well. Software downloaded with SpotPass is stored on SD card.&lt;br /&gt;
&lt;br /&gt;
SpotPass Internet communications are mostly HTTPS transfers.&lt;br /&gt;
&lt;br /&gt;
In System Settings, you can disable SpotPass automatic title downloading, but it states that important software will still downloaded.(This only disables downloading of free titles via SpotPass)&lt;br /&gt;
&lt;br /&gt;
&#039;nasc.nintendowifi.net&#039; confirmed usages:(not SpotPass related)&lt;br /&gt;
&lt;br /&gt;
*Friends List applet requires this server to be &#039;Online&#039; (most likely the reason for regular requests to this server)&lt;br /&gt;
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.&lt;br /&gt;
&lt;br /&gt;
In some cases the BOSS module will add the following URL parameter to HTTPS requests, when connected to a [[Nintendo Zone]] AP: &amp;quot;ap=&amp;lt;NZoneApNum&amp;gt;&amp;quot; or when using a specific [[Cfg:GetSystemModel|system model]]: &amp;quot;tm=&amp;lt;SystemModelNumber&amp;gt;&amp;quot;. The Old 3DS and Old 3DS XL don&#039;t set this value.&lt;br /&gt;
&lt;br /&gt;
== policylist ==&lt;br /&gt;
Every time the system connects to the wifi AP, the BOSS (&amp;quot;Background online storage service&amp;quot; = SpotPass) module itself will download the cleartext xml policylist: &amp;quot;https://nppl.c.app.nintendowifi.net/p01/policylist/3/&amp;lt;countrycode&amp;gt;&amp;quot;. This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all.&lt;br /&gt;
&lt;br /&gt;
As of the policylist updated 2017-11-08, this stops the &amp;lt;tt&amp;gt;OlvNotf&amp;lt;/tt&amp;gt; (Miiverse notification sync) task for &amp;lt;tt&amp;gt;000400300000bc00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000bd00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000be00&amp;lt;/tt&amp;gt; for all regions and &amp;lt;tt&amp;gt;basho0&amp;lt;/tt&amp;gt; for the [[Home Menu]]. Japan also has the &amp;lt;tt&amp;gt;9ER_NTD&amp;lt;/tt&amp;gt; task blocked for いつの間にテレビ (&amp;lt;tt&amp;gt;0004000000034700&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== User Agent ==&lt;br /&gt;
&lt;br /&gt;
The default user-agent used for SpotPass HTTPS requests (including the policylist) has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;user agent codename&amp;gt;-&amp;lt;user agent version&amp;gt;/&amp;lt;printed hex u64 [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]]&amp;gt;-&amp;lt;printed hex u64 [[FRDU:GetMyFriendKey|Friend]] [[FRDU:PrincipalIdToFriendCode|Code]]&amp;gt;/&amp;lt;text [[CVer|system]] [[NVer|version]]&amp;gt;/&amp;lt;unknown decimal value&amp;gt;/&amp;lt;[[Cfg:GetSystemModel|system model number]]&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The codename can be set to either &amp;lt;tt&amp;gt;PBOS&amp;lt;/tt&amp;gt; (Production BOSS?) or &amp;lt;tt&amp;gt;DBOS&amp;lt;/tt&amp;gt; (Development BOSS?) depending if the console is a [[Configuration_Memory#UNITINFO|retail]] unit. As of system version 11.17, the user agent version is hardcoded to 8.0 and the decimal value is set to 62452 (0xF3F4).&lt;br /&gt;
&lt;br /&gt;
No user-agent is used for plaintext HTTP requests with SpotPass.&lt;br /&gt;
&lt;br /&gt;
== Titles Spotpass usage ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Title&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Home Menu]]&lt;br /&gt;
| Home Menu uses SpotPass for system notifications, and for uploading data from home-menu shared extdata.&lt;br /&gt;
|-&lt;br /&gt;
| [[System Settings]]&lt;br /&gt;
| System Settings uses SpotPass for uploading data, with this URL: https://npul.c.app.nintendowifi.net/p01/recv/&amp;lt;RegionID&amp;gt;/sendcfg This RegionID is separate from the RegionIDs home-menu uses.&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| Unknown log data is uploaded with this URL: https://logus-p.est.c.app.nintendowifi.net/LogServer_us_live/Upload&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Automatic System Update Download ==&lt;br /&gt;
See [[Automatic System Update Download]].&lt;br /&gt;
&lt;br /&gt;
== BOSS Sysmodule Savegame==&lt;br /&gt;
See [[BOSS Savegame]]&lt;br /&gt;
&lt;br /&gt;
== Content Container ==&lt;br /&gt;
&lt;br /&gt;
SpotPass content must use this container to encrypt the payload and sign it, for content downloads. The cleartext content is stored in [[extdata]]. The format of these headers is big-endian.&lt;br /&gt;
&lt;br /&gt;
=== BOSS Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number &amp;quot;boss&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number 0x10001&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Big-endian filesize&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x8&lt;br /&gt;
| u64 release date (UNIX timestamp)&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x2&lt;br /&gt;
| Must always be 0x1&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header hash type, always 0x2 for SHA-256&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header RSA size, always 0x2 for RSA-2048 (X&amp;lt;&amp;lt;7)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xC&lt;br /&gt;
| First 12 bytes of the Initialization Vector (IV)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Data following the BOSS header is encrypted with AES-CTR. The AES key that is used is stored in [[AES_Registers#Keyslots|keyslot 0x38]]. The first 12 bytes of the IV are from offset 0x1C of the header, while the last 32-bit integer of the IV in big-endian is 0x1. The IV from the header is random per file, and an unique random IV is used each time the content is updated. The cleartext data begins with the content header.&lt;br /&gt;
&lt;br /&gt;
=== Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x10&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x2&lt;br /&gt;
| Number of payload contents (Payload Content Header + Payload)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x32&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the above hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 0x10-bytes are all-zero except the first byte which is usually 0x80. It&#039;s unknown what the first 0x10-bytes are used for.&lt;br /&gt;
&lt;br /&gt;
The 16-bit value at 0x10 tells how many payload contents follow after this the content header. For example there can be a downloaded file for a game followed by a message for the news system module.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory.&lt;br /&gt;
&lt;br /&gt;
=== Payload Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x8&lt;br /&gt;
| ProgramID&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content datatype, used for filtering with [[BOSSU:GetNsDataIdList]].&lt;br /&gt;
Usually 0x10001? (observed 0x20001 in eShop strings)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Size of the payload after this header&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| [[BOSS_Services|NsDataId]], used for generating the extdata filepath.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Probably some version field for the payload&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the previous SHA-256 hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This signature is signed by Nintendo with the same key-pair as the content header.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x1C hashes the 0x1C-byte data at offset 0x0 followed by a zero u16, followed by all of the remaining cleartext data following this header(the actual content data).&lt;br /&gt;
&lt;br /&gt;
The downloaded boss data is written in the following format to extdata.&lt;br /&gt;
First an extdata header in the following format&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x1&lt;br /&gt;
| Size of header including this field. Always 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xB&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Download date in format: Bit 0-6 = day, Bit 7-10 = month, Bit 11-21 = year&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero? Padding?&lt;br /&gt;
|}&lt;br /&gt;
Followed by the Payload Content Header without the hash and signature (first 0x1C bytes) and the actual payload.&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22530</id>
		<title>SpotPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22530"/>
		<updated>2024-04-01T06:44:50Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* Content Header */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;SpotPass&#039;&#039;&#039; is a Nintendo 3DS feature that allows the 3DS to automatically download content, notifications, and software when it&#039;s in standby mode.(SpotPass may download/upload some content while the 3DS is in &amp;quot;active&amp;quot; mode, but *only* if the currently active app uses SpotPass) SpotPass can upload content as well. Software downloaded with SpotPass is stored on SD card.&lt;br /&gt;
&lt;br /&gt;
SpotPass Internet communications are mostly HTTPS transfers.&lt;br /&gt;
&lt;br /&gt;
In System Settings, you can disable SpotPass automatic title downloading, but it states that important software will still downloaded.(This only disables downloading of free titles via SpotPass)&lt;br /&gt;
&lt;br /&gt;
&#039;nasc.nintendowifi.net&#039; confirmed usages:(not SpotPass related)&lt;br /&gt;
&lt;br /&gt;
*Friends List applet requires this server to be &#039;Online&#039; (most likely the reason for regular requests to this server)&lt;br /&gt;
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.&lt;br /&gt;
&lt;br /&gt;
In some cases the BOSS module will add the following URL parameter to HTTPS requests, when connected to a [[Nintendo Zone]] AP: &amp;quot;ap=&amp;lt;NZoneApNum&amp;gt;&amp;quot; or when using a specific [[Cfg:GetSystemModel|system model]]: &amp;quot;tm=&amp;lt;SystemModelNumber&amp;gt;&amp;quot;. The Old 3DS and Old 3DS XL don&#039;t set this value.&lt;br /&gt;
&lt;br /&gt;
== policylist ==&lt;br /&gt;
Every time the system connects to the wifi AP, the BOSS (&amp;quot;Background online storage service&amp;quot; = SpotPass) module itself will download the cleartext xml policylist: &amp;quot;https://nppl.c.app.nintendowifi.net/p01/policylist/3/&amp;lt;countrycode&amp;gt;&amp;quot;. This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all.&lt;br /&gt;
&lt;br /&gt;
As of the policylist updated 2017-11-08, this stops the &amp;lt;tt&amp;gt;OlvNotf&amp;lt;/tt&amp;gt; (Miiverse notification sync) task for &amp;lt;tt&amp;gt;000400300000bc00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000bd00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000be00&amp;lt;/tt&amp;gt; for all regions and &amp;lt;tt&amp;gt;basho0&amp;lt;/tt&amp;gt; for the [[Home Menu]]. Japan also has the &amp;lt;tt&amp;gt;9ER_NTD&amp;lt;/tt&amp;gt; task blocked for いつの間にテレビ (&amp;lt;tt&amp;gt;0004000000034700&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== User Agent ==&lt;br /&gt;
&lt;br /&gt;
The default user-agent used for SpotPass HTTPS requests (including the policylist) has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;user agent codename&amp;gt;-&amp;lt;user agent version&amp;gt;/&amp;lt;printed hex u64 [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]]&amp;gt;-&amp;lt;printed hex u64 [[FRDU:GetMyFriendKey|Friend]] [[FRDU:PrincipalIdToFriendCode|Code]]&amp;gt;/&amp;lt;text [[CVer|system]] [[NVer|version]]&amp;gt;/&amp;lt;unknown decimal value&amp;gt;/&amp;lt;[[Cfg:GetSystemModel|system model number]]&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The codename can be set to either &amp;lt;tt&amp;gt;PBOS&amp;lt;/tt&amp;gt; (Production BOSS?) or &amp;lt;tt&amp;gt;DBOS&amp;lt;/tt&amp;gt; (Development BOSS?) depending if the console is a [[Configuration_Memory#UNITINFO|retail]] unit. As of system version 11.17, the user agent version is hardcoded to 8.0 and the decimal value is set to 62452 (0xF3F4).&lt;br /&gt;
&lt;br /&gt;
No user-agent is used for plaintext HTTP requests with SpotPass.&lt;br /&gt;
&lt;br /&gt;
== Titles Spotpass usage ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Title&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Home Menu]]&lt;br /&gt;
| Home Menu uses SpotPass for system notifications, and for uploading data from home-menu shared extdata.&lt;br /&gt;
|-&lt;br /&gt;
| [[System Settings]]&lt;br /&gt;
| System Settings uses SpotPass for uploading data, with this URL: https://npul.c.app.nintendowifi.net/p01/recv/&amp;lt;RegionID&amp;gt;/sendcfg This RegionID is separate from the RegionIDs home-menu uses.&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| Unknown log data is uploaded with this URL: https://logus-p.est.c.app.nintendowifi.net/LogServer_us_live/Upload&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Automatic System Update Download ==&lt;br /&gt;
See [[Automatic System Update Download]].&lt;br /&gt;
&lt;br /&gt;
== BOSS Sysmodule Savegame==&lt;br /&gt;
See [[BOSS Savegame]]&lt;br /&gt;
&lt;br /&gt;
== Content Container ==&lt;br /&gt;
&lt;br /&gt;
SpotPass content must use this container to encrypt the payload and sign it, for content downloads. The cleartext content is stored in [[extdata]]. The format of these headers is big-endian.&lt;br /&gt;
&lt;br /&gt;
=== BOSS Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number &amp;quot;boss&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number 0x10001&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Big-endian filesize&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x8&lt;br /&gt;
| u64 release date (UNIX timestamp)&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x2&lt;br /&gt;
| Must always be 0x1&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header hash type, always 0x2 for SHA-256&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header RSA size, always 0x2 for RSA-2048 (X&amp;lt;&amp;lt;7)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xC&lt;br /&gt;
| First 12 bytes of the Initialization Vector (IV)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Data following the BOSS header is encrypted with AES-CTR. The AES key that is used is stored in [[AES_Registers#Keyslots|keyslot 0x38]]. The first 12 bytes of the IV are from offset 0x1C of the header, while the last 32-bit integer of the IV in big-endian is 0x1. The IV from the header is random per file, and an unique random IV is used each time the content is updated. The cleartext data begins with the content header.&lt;br /&gt;
&lt;br /&gt;
=== Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x10&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x2&lt;br /&gt;
| Number of payload contents (Payload Content Header + Payload)&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x32&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the above hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 0x10-bytes are all-zero except the first byte which is usually 0x80. It&#039;s unknown what the first 0x10-bytes are used for.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory.&lt;br /&gt;
&lt;br /&gt;
=== Payload Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x8&lt;br /&gt;
| ProgramID&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content datatype, used for filtering with [[BOSSU:GetNsDataIdList]].&lt;br /&gt;
Usually 0x10001? (observed 0x20001 in eShop strings)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Size of the payload after this header&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| [[BOSS_Services|NsDataId]], used for generating the extdata filepath.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Probably some version field for the payload&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the previous SHA-256 hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This signature is signed by Nintendo with the same key-pair as the content header.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x1C hashes the 0x1C-byte data at offset 0x0 followed by a zero u16, followed by all of the remaining cleartext data following this header(the actual content data).&lt;br /&gt;
&lt;br /&gt;
The downloaded boss data is written in the following format to extdata.&lt;br /&gt;
First an extdata header in the following format&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x1&lt;br /&gt;
| Size of header including this field. Always 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xB&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Download date in format: Bit 0-6 = day, Bit 7-10 = month, Bit 11-21 = year&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero? Padding?&lt;br /&gt;
|}&lt;br /&gt;
Followed by the Payload Content Header without the hash and signature (first 0x1C bytes) and the actual payload.&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=BOSS_Savegame&amp;diff=22528</id>
		<title>BOSS Savegame</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=BOSS_Savegame&amp;diff=22528"/>
		<updated>2024-03-30T19:54:02Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* BOSS_PM_INFO.db */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the content of the [[SpotPass|BOSS]] sysmodule savegame.&lt;br /&gt;
&lt;br /&gt;
The savegame contains 7 files and no directories&lt;br /&gt;
&lt;br /&gt;
==BOSS_A.db==&lt;br /&gt;
&lt;br /&gt;
==BOSS_SS.db==&lt;br /&gt;
SS could stand for subscriptions&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!Offset!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||4||Magic Number (0x12348000)&lt;br /&gt;
|}&lt;br /&gt;
After an array of data chunks with a chunk size of 0xC00 follow.&lt;br /&gt;
An index of this array seem to correspond to the data with same index in BOSS_SV.db&lt;br /&gt;
&lt;br /&gt;
==BOSS_SV.db==&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!Offset!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||4||Magic Number (0x12348000)&lt;br /&gt;
|}&lt;br /&gt;
After an array of data chunks with a chunk size of 0xC00 follow.&lt;br /&gt;
An index of this array seem to correspond to the data with same index in BOSS_SS.db&lt;br /&gt;
&lt;br /&gt;
==BOSS_PH_INFO.db==&lt;br /&gt;
&lt;br /&gt;
==BOSS_PM_INFO.db==&lt;br /&gt;
Probably StreetPass Relay related&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!Offset!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||8||(guess) MAC address of the last connected access point&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==BOSS_SP_INFO.db==&lt;br /&gt;
&lt;br /&gt;
==sendmgn00.up==&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22524</id>
		<title>SpotPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=22524"/>
		<updated>2024-03-22T18:48:28Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;SpotPass&#039;&#039;&#039; is a Nintendo 3DS feature that allows the 3DS to automatically download content, notifications, and software when it&#039;s in standby mode.(SpotPass may download/upload some content while the 3DS is in &amp;quot;active&amp;quot; mode, but *only* if the currently active app uses SpotPass) SpotPass can upload content as well. Software downloaded with SpotPass is stored on SD card.&lt;br /&gt;
&lt;br /&gt;
SpotPass Internet communications are mostly HTTPS transfers.&lt;br /&gt;
&lt;br /&gt;
In System Settings, you can disable SpotPass automatic title downloading, but it states that important software will still downloaded.(This only disables downloading of free titles via SpotPass)&lt;br /&gt;
&lt;br /&gt;
&#039;nasc.nintendowifi.net&#039; confirmed usages:(not SpotPass related)&lt;br /&gt;
&lt;br /&gt;
*Friends List applet requires this server to be &#039;Online&#039; (most likely the reason for regular requests to this server)&lt;br /&gt;
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.&lt;br /&gt;
&lt;br /&gt;
In some cases the BOSS module will add the following URL parameter to HTTPS requests, when connected to a [[Nintendo Zone]] AP: &amp;quot;ap=&amp;lt;NZoneApNum&amp;gt;&amp;quot; or when using a specific [[Cfg:GetSystemModel|system model]]: &amp;quot;tm=&amp;lt;SystemModelNumber&amp;gt;&amp;quot;. The Old 3DS and Old 3DS XL don&#039;t set this value.&lt;br /&gt;
&lt;br /&gt;
== policylist ==&lt;br /&gt;
Every time the system connects to the wifi AP, the BOSS (&amp;quot;Background online storage service&amp;quot; = SpotPass) module itself will download the cleartext xml policylist: &amp;quot;https://nppl.c.app.nintendowifi.net/p01/policylist/3/&amp;lt;countrycode&amp;gt;&amp;quot;. This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all.&lt;br /&gt;
&lt;br /&gt;
As of the policylist updated 2017-11-08, this stops the &amp;lt;tt&amp;gt;OlvNotf&amp;lt;/tt&amp;gt; (Miiverse notification sync) task for &amp;lt;tt&amp;gt;000400300000bc00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000bd00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000be00&amp;lt;/tt&amp;gt; for all regions and &amp;lt;tt&amp;gt;basho0&amp;lt;/tt&amp;gt; for the [[Home Menu]]. Japan also has the &amp;lt;tt&amp;gt;9ER_NTD&amp;lt;/tt&amp;gt; task blocked for いつの間にテレビ (&amp;lt;tt&amp;gt;0004000000034700&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== User Agent ==&lt;br /&gt;
&lt;br /&gt;
The default user-agent used for SpotPass HTTPS requests (including the policylist) has the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;user agent codename&amp;gt;-&amp;lt;user agent version&amp;gt;/&amp;lt;printed hex u64 [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]]&amp;gt;-&amp;lt;printed hex u64 [[FRDU:GetMyFriendKey|Friend]] [[FRDU:PrincipalIdToFriendCode|Code]]&amp;gt;/&amp;lt;text [[CVer|system]] [[NVer|version]]&amp;gt;/&amp;lt;unknown decimal value&amp;gt;/&amp;lt;[[Cfg:GetSystemModel|system model number]]&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The codename can be set to either &amp;lt;tt&amp;gt;PBOS&amp;lt;/tt&amp;gt; (Production BOSS?) or &amp;lt;tt&amp;gt;DBOS&amp;lt;/tt&amp;gt; (Development BOSS?) depending if the console is a [[Configuration_Memory#UNITINFO|retail]] unit. As of system version 11.17, the user agent version is hardcoded to 8.0 and the decimal value is set to 62452 (0xF3F4).&lt;br /&gt;
&lt;br /&gt;
No user-agent is used for plaintext HTTP requests with SpotPass.&lt;br /&gt;
&lt;br /&gt;
== Titles Spotpass usage ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Title&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Home Menu]]&lt;br /&gt;
| Home Menu uses SpotPass for system notifications, and for uploading data from home-menu shared extdata.&lt;br /&gt;
|-&lt;br /&gt;
| [[System Settings]]&lt;br /&gt;
| System Settings uses SpotPass for uploading data, with this URL: https://npul.c.app.nintendowifi.net/p01/recv/&amp;lt;RegionID&amp;gt;/sendcfg This RegionID is separate from the RegionIDs home-menu uses.&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| Unknown log data is uploaded with this URL: https://logus-p.est.c.app.nintendowifi.net/LogServer_us_live/Upload&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Automatic System Update Download ==&lt;br /&gt;
See [[Automatic System Update Download]].&lt;br /&gt;
&lt;br /&gt;
== BOSS Sysmodule Savegame==&lt;br /&gt;
See [[BOSS Savegame]]&lt;br /&gt;
&lt;br /&gt;
== Content Container ==&lt;br /&gt;
&lt;br /&gt;
SpotPass content must use this container to encrypt the payload and sign it, for content downloads. The cleartext content is stored in [[extdata]]. The format of these headers is big-endian.&lt;br /&gt;
&lt;br /&gt;
=== BOSS Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number &amp;quot;boss&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number 0x10001&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Big-endian filesize&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x8&lt;br /&gt;
| u64 release date (UNIX timestamp)&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x2&lt;br /&gt;
| Must always be 0x1&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header hash type, always 0x2 for SHA-256&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header RSA size, always 0x2 for RSA-2048 (X&amp;lt;&amp;lt;7)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xC&lt;br /&gt;
| First 12 bytes of the Initialization Vector (IV)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Data following the BOSS header is encrypted with AES-CTR. The AES key that is used is stored in [[AES_Registers#Keyslots|keyslot 0x38]]. The first 12 bytes of the IV are from offset 0x1C of the header, while the last 32-bit integer of the IV in big-endian is 0x1. The IV from the header is random per file, and an unique random IV is used each time the content is updated. The cleartext data begins with the content header.&lt;br /&gt;
&lt;br /&gt;
=== Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x10&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x2&lt;br /&gt;
| Used for generating the extdata filepath.&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x32&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the above hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 0x10-bytes are all-zero except the first byte which is usually 0x80. It&#039;s unknown what the first 0x10-bytes are used for.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory. &lt;br /&gt;
&lt;br /&gt;
=== Payload Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x8&lt;br /&gt;
| ProgramID&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content datatype, used for filtering with [[BOSSU:GetNsDataIdList]].&lt;br /&gt;
Usually 0x10001? (observed 0x20001 in eShop strings)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Size of the payload after this header&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| [[BOSS_Services|NsDataId]], used for generating the extdata filepath.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Probably some version field for the payload&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the previous SHA-256 hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This signature is signed by Nintendo with the same key-pair as the content header.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x1C hashes the 0x1C-byte data at offset 0x0 followed by a zero u16, followed by all of the remaining cleartext data following this header(the actual content data).&lt;br /&gt;
&lt;br /&gt;
The downloaded boss data is written in the following format to extdata.&lt;br /&gt;
First an extdata header in the following format&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x1&lt;br /&gt;
| Size of header including this field. Always 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xB&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Download date in format: Bit 0-6 = day, Bit 7-10 = month, Bit 11-21 = year&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero? Padding?&lt;br /&gt;
|}&lt;br /&gt;
Followed by the Payload Content Header without the hash and signature (first 0x1C bytes) and the actual payload.&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=System_SaveData&amp;diff=22523</id>
		<title>System SaveData</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=System_SaveData&amp;diff=22523"/>
		<updated>2024-03-22T18:46:57Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Savegames stored in NAND are located at [[Flash_Filesystem|nand:/data/&amp;lt;ID0&amp;gt;/sysdata/&amp;lt;SaveID-Low&amp;gt;/&amp;lt;SaveID-High&amp;gt;]], where SaveID-High is the filename. SaveID-High is normally 00000000.&lt;br /&gt;
&lt;br /&gt;
Access to system savedata via [[Filesystem_services|fs:USER]] is determined by the [[NCCH#CXI|exheader_storageinfo]] accessinfo and systemsavedataid. Most ARM11 processes using fs:USER only have access to the SaveIDs specified by systemsavedataid, when a certain accessinfo bit is set the process can access all system-savedata however. The 8-byte systemsavedataid is two SaveID-Low words which the process has access to, normally only the first word is used. When the process doesn&#039;t have access to any system-savedata via systemsavedataid, systemsavedataid is all-zero.&lt;br /&gt;
&lt;br /&gt;
=NAND Savegames=&lt;br /&gt;
The SaveID for system modules is usually 0x00010000 | [[Titles|uniqueID]]. The SaveID for other system processes (like applications) is 0x00020000 | [[Titles|uniqueID]].&lt;br /&gt;
&lt;br /&gt;
==System Module Savegames==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SaveID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010011&lt;br /&gt;
| [[Filesystem_services|FS]] module savedata, used for [[Anti Savegame Restore]].&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010015&lt;br /&gt;
| [[Application_Manager_Services|AM]] module savedata&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010017&lt;br /&gt;
| [[Config Savegame]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010022&lt;br /&gt;
| [[PTM]] [[PTM_Savegame|savegame]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010026&lt;br /&gt;
| [[StreetPass|CECD]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x0001002C&lt;br /&gt;
| [[NIM_Services|NIM]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010032&lt;br /&gt;
| [[FRD_Savegame|Friends module savegame]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010034&lt;br /&gt;
| [[SpotPass|BOSS]] module [[BOSS Savegame|savegame]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010035&lt;br /&gt;
| News module savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010038&lt;br /&gt;
| Act module savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00010040&lt;br /&gt;
| [[NFC_Services|NFC]] module savegame&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==System application and applet savegames==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! JPN SaveID&lt;br /&gt;
! USA SaveID&lt;br /&gt;
! EUR SaveID&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000200C5&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| &amp;quot;error&amp;quot; applet savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020082&lt;br /&gt;
| 0x0002008F&lt;br /&gt;
| 0x00020098&lt;br /&gt;
| [[Home Menu]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020086&lt;br /&gt;
| 0x00020092&lt;br /&gt;
| 0x0002009B&lt;br /&gt;
| Instruction Manual applet savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020087&lt;br /&gt;
| 0x00020093&lt;br /&gt;
| 0x0002009C&lt;br /&gt;
| Game Notes applet savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020088&lt;br /&gt;
| 0x00020094&lt;br /&gt;
| 0x0002009D&lt;br /&gt;
| Old3DS/New3DS [[Internet Browser]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x0002008D&lt;br /&gt;
| 0x00020096&lt;br /&gt;
| 0x0002009F&lt;br /&gt;
| Friend List applet savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x000200BB&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| Additional savedata for the New3DS [[Internet Browser]]. This only contains &amp;quot;t.bin&amp;quot; with filesize 0xadf80. This contains all browser history: each entry has the URL, UTF-16 title string, and icon gfx. This includes old pages which are not currently open in the browser as tabs?&lt;br /&gt;
|-&lt;br /&gt;
| 0x000200BC&lt;br /&gt;
| 0x000200BD&lt;br /&gt;
| 0x000200BE&lt;br /&gt;
| olv applet savegame (Miiverse)&lt;br /&gt;
|-&lt;br /&gt;
| 0x000200C6&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| Same as JPN&lt;br /&gt;
| mint applet savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020200&lt;br /&gt;
| 0x00020210&lt;br /&gt;
| 0x00020220&lt;br /&gt;
| [[System Settings]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020202&lt;br /&gt;
| 0x00020212&lt;br /&gt;
| 0x00020222&lt;br /&gt;
| [[Activity Log]] application savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020204&lt;br /&gt;
| 0x00020214&lt;br /&gt;
| 0x00020224&lt;br /&gt;
| [[Nintendo 3DS Camera]] application savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020205&lt;br /&gt;
| 0x00020215&lt;br /&gt;
| 0x00020225&lt;br /&gt;
| [[Nintendo 3DS Sound]] application savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020207&lt;br /&gt;
| 0x00020217&lt;br /&gt;
| 0x00020227&lt;br /&gt;
| [[Mii Maker]] application savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020208&lt;br /&gt;
| 0x00020218&lt;br /&gt;
| 0x00020228&lt;br /&gt;
| [[StreetPass Mii Plaza]] application savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020209&lt;br /&gt;
| 0x00020219&lt;br /&gt;
| 0x00020229&lt;br /&gt;
| [[eShop]] application savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x0002020A&lt;br /&gt;
| 0x0002021A&lt;br /&gt;
| 0x0002022A&lt;br /&gt;
| [[System Transfer]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x0002020B&lt;br /&gt;
| 0x0002021B&lt;br /&gt;
| 0x0002022B&lt;br /&gt;
| [[Nintendo Zone]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x0002020D&lt;br /&gt;
| 0x0002021D&lt;br /&gt;
| 0x0002022D&lt;br /&gt;
| [[Face Raiders]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x0002020E&lt;br /&gt;
| 0x0002021E&lt;br /&gt;
| 0x0002022E&lt;br /&gt;
| [[AR Games]] savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x000202BF&lt;br /&gt;
| 0x000202C0&lt;br /&gt;
| 0x000202C1&lt;br /&gt;
| act (NNID settings) application savegame&lt;br /&gt;
|-&lt;br /&gt;
| 0x00020231&lt;br /&gt;
| 0x00020241&lt;br /&gt;
| 0x00020251&lt;br /&gt;
| [[microSD Management]] application savegame&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=BOSS_Savegame&amp;diff=22522</id>
		<title>BOSS Savegame</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=BOSS_Savegame&amp;diff=22522"/>
		<updated>2024-03-22T18:46:13Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: Created page with &amp;quot;This page describes the content of the BOSS sysmodule savegame.  The savegame contains 7 files and no directories  ==BOSS_A.db==  ==BOSS_SS.db== SS could stand fo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the content of the [[SpotPass|BOSS]] sysmodule savegame.&lt;br /&gt;
&lt;br /&gt;
The savegame contains 7 files and no directories&lt;br /&gt;
&lt;br /&gt;
==BOSS_A.db==&lt;br /&gt;
&lt;br /&gt;
==BOSS_SS.db==&lt;br /&gt;
SS could stand for subscriptions&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!Offset!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||4||Magic Number (0x12348000)&lt;br /&gt;
|}&lt;br /&gt;
After an array of data chunks with a chunk size of 0xC00 follow.&lt;br /&gt;
An index of this array seem to correspond to the data with same index in BOSS_SV.db&lt;br /&gt;
&lt;br /&gt;
==BOSS_SV.db==&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!Offset!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|0x00||4||Magic Number (0x12348000)&lt;br /&gt;
|}&lt;br /&gt;
After an array of data chunks with a chunk size of 0xC00 follow.&lt;br /&gt;
An index of this array seem to correspond to the data with same index in BOSS_SS.db&lt;br /&gt;
&lt;br /&gt;
==BOSS_PH_INFO.db==&lt;br /&gt;
&lt;br /&gt;
==BOSS_PM_INFO.db==&lt;br /&gt;
&lt;br /&gt;
==BOSS_SP_INFO.db==&lt;br /&gt;
&lt;br /&gt;
==sendmgn00.up==&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Extdata&amp;diff=22521</id>
		<title>Extdata</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Extdata&amp;diff=22521"/>
		<updated>2024-03-22T17:55:07Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format and encryption of extdata, &amp;amp;quot;extra data&amp;amp;quot; stored on SD card and NAND, at:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;nand/data/&amp;amp;lt;ID&amp;amp;gt;/extdata/&amp;amp;lt;ExtdataID-High&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sdmc/Nintendo 3DS/&amp;amp;lt;ID0&amp;amp;gt;/&amp;amp;lt;ID1&amp;amp;gt;/extdata/&amp;amp;lt;ExtdataID-High&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ExtdataID-High is always 00000000 for SD, and always 00048000 for NAND. Regular apps can only mount SD extdata using the same extdataID which is stored in the CXI exheader. Therefore, regular apps which have the exheader extdataID set to zero can&#039;t use extdata. This restriction doesn&#039;t apply for shared extdata with extdataID high bitmask 0x48000 stored on NAND. System apps with a certain access right can mount arbitrary extdata. All NAND extdata is shared extdata, while all SD extdata is normal extdata.&lt;br /&gt;
&lt;br /&gt;
All data in this page is little-endian. All &amp;amp;quot;unused / padding&amp;amp;quot; fields can contain uninitialized data unless otherwise specified.&lt;br /&gt;
&lt;br /&gt;
= Format =&lt;br /&gt;
&lt;br /&gt;
To avoid confusion, the terms &#039;&#039;&#039;device directory / file&#039;&#039;&#039; and &#039;&#039;&#039;virtual directory / file&#039;&#039;&#039; are used with the following meanings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Device directory / file&#039;&#039;&#039; are the real directory / file stored on SD / NAND that can be seen under path &amp;lt;code&amp;gt;nand/data/&amp;amp;lt;ID&amp;amp;gt;/extdata/&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sdmc/Nintendo 3DS/&amp;amp;lt;ID0&amp;amp;gt;/&amp;amp;lt;ID1&amp;amp;gt;/extdata/&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Virtual directory / file&#039;&#039;&#039; are directory / file stored inside extdata virtual file system, which can be seen by applications in the mounted extdata archives.&lt;br /&gt;
&lt;br /&gt;
An extdata consists of several device directories and files, which forms a file system consisting of multiple virtual directories and files.&lt;br /&gt;
&lt;br /&gt;
An extdata with ID &amp;lt;code&amp;gt;ExtdataId&amp;lt;/code&amp;gt; has the following device files:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;.../extdata/&amp;amp;lt;ExtdataID-High&amp;amp;gt;/&amp;amp;lt;ExtdataId-Low&amp;amp;gt;/Quota.dat&amp;lt;/code&amp;gt; (optional)&lt;br /&gt;
* &amp;lt;code&amp;gt;.../extdata/&amp;amp;lt;ExtdataID-High&amp;amp;gt;/&amp;amp;lt;ExtdataId-Low&amp;amp;gt;/&amp;amp;lt;SubDirID&amp;amp;gt;/&amp;amp;lt;SubFileID&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
&lt;br /&gt;
* All device files are [[DISA and DIFF|DIFF containers]]. &#039;&#039;&#039;All format description below is about the inner content of the containers&#039;&#039;&#039;. Please unwrap these files first according to the DIFF format description before reading them using the extdata format description below.&lt;br /&gt;
* &amp;lt;code&amp;gt;Quota.dat&amp;lt;/code&amp;gt; is only observed existing for NAND shared extdata.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;lt;SubDirID&amp;amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;amp;lt;SubFileID&amp;amp;gt;&amp;lt;/code&amp;gt; are 8-digit hex strings.&lt;br /&gt;
* Device file with &amp;lt;code&amp;gt;SubDirID = SubFileID = 00000000&amp;lt;/code&amp;gt; doesn&#039;t exist. Other ID combinations can exists.&lt;br /&gt;
* Device file with &amp;lt;code&amp;gt;SubDirID = 00000000&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;SubFileID = 00000001&amp;lt;/code&amp;gt; is the VSXE metadata file and must exist.&lt;br /&gt;
* Other files, besides &amp;lt;code&amp;gt;Quota.dat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;00000000/00000001&amp;lt;/code&amp;gt;, are normal sub files, are these device files one-to-one correspond to virtual files. They contain raw virtual file data in the DIFF inner content.&lt;br /&gt;
* &amp;lt;code&amp;gt;SubDirID = 00000000&amp;lt;/code&amp;gt; is usually the only one device directory that can be seen. See [[#Device Directory Capacity]] for more information.&lt;br /&gt;
&lt;br /&gt;
== Quota File ==&lt;br /&gt;
&lt;br /&gt;
The inner data of &amp;lt;code&amp;gt;Quota.dat&amp;lt;/code&amp;gt; is 0x48 bytes with the following format. The file seems to limit the extdata total size.&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;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic &amp;amp;quot;QUOT&amp;amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic 0x30000&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 4&lt;br /&gt;
| 0x1000, block size&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C&lt;br /&gt;
| 4&lt;br /&gt;
| Always 126. Probably device directory capacity. See the [[#Device Directory Capacity]] more information.&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 4&lt;br /&gt;
| Always 0?&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 4&lt;br /&gt;
| Max number of blocks&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 4&lt;br /&gt;
| Always 0? &lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 4&lt;br /&gt;
| Free blocks remained&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Always 0? &lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Always 0? &lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 4&lt;br /&gt;
| Free blocks remained + (blocks occupied by the recently mounted file, specified by the ID below (0 if recently deleted))&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| 4&lt;br /&gt;
| Always 0? &lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 4&lt;br /&gt;
| ID of most recently mounted file. Same as the one in [[Inner_FAT#Filesystem Header]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 4&lt;br /&gt;
| Always 0?&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 4&lt;br /&gt;
| Always 0?&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 4&lt;br /&gt;
| Always 0?&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 4&lt;br /&gt;
| Size in bytes of most recently mounted file (device file size). 0 if recently deleted&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| 4&lt;br /&gt;
| Always 0?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Device Directory Capacity ==&lt;br /&gt;
&lt;br /&gt;
A device directory in an extdata (a &amp;lt;code&amp;gt;&amp;amp;lt;SubDirID&amp;amp;gt;&amp;lt;/code&amp;gt; directory) seems to have a maximum number of device files it can contain. For SD extdata, this maximum number seems to be hard-coded as 126. For NAND extdata, the number is probably indicated by a field in Quota.dat, which is, again, always 126 as observed. 3DS FS tries to put all device files in the device directory &amp;lt;code&amp;gt;00000000&amp;lt;/code&amp;gt; if possible, and only when more than 126 files needed to add, a second device directory &amp;lt;code&amp;gt;00000001&amp;lt;/code&amp;gt; and so on are created. However, few extdata have such amount of files to store, so the behavior lacks of use cases to confirm.&lt;br /&gt;
&lt;br /&gt;
The number 126 is probably from some kind of other capacity of 128 with &amp;lt;code&amp;gt;&amp;amp;quot;.&amp;amp;quot;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;amp;quot;..&amp;amp;quot;&amp;lt;/code&amp;gt; entries reserved. It is theorized that this is to keep a FAT directory table, with 0x20 bytes for each entry, in one 0x1000 cluster. The motivation is unclear.&lt;br /&gt;
&lt;br /&gt;
== VSXE Filesystem ==&lt;br /&gt;
&lt;br /&gt;
This is one variant of the [[Inner FAT|FAT filesystem]]. Please refer to its page for the description of the filesystem. In general, device file &amp;lt;code&amp;gt;00000000/00000001&amp;lt;/code&amp;gt; contains the metadata of the filesystem, while other device files (except for the Quota file) contains normal sub-files&lt;br /&gt;
&lt;br /&gt;
Each non-dummy file entry corresponds to a device file. The path to the device file is generated by the following computation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;// See previous section about this capacity&lt;br /&gt;
const uint32_t device_dir_capacity = 126;&lt;br /&gt;
&lt;br /&gt;
// entry index is the index in the file entry table, with the first dummy entry as&lt;br /&gt;
// index = 0, which is never used for a real file.&lt;br /&gt;
// file_index = 1 is reserved for the VSXE Filesystem Metadata itself, so real files&lt;br /&gt;
// started from file_index = 2.&lt;br /&gt;
uint32_t file_index = entry_index + 1;&lt;br /&gt;
&lt;br /&gt;
uint32_t SubDirID = file_index / device_dir_capacity;&lt;br /&gt;
uint32_t SubFileID = file_index % pdevice_dir_capacity;&lt;br /&gt;
&lt;br /&gt;
char extdata_path[...]; // &amp;amp;quot;.../extdata/&amp;amp;lt;ExtdataID-High&amp;amp;gt;/&amp;amp;lt;ExtdataId-Low&amp;amp;gt;&amp;amp;quot;&lt;br /&gt;
char device_path[...]; // output path&lt;br /&gt;
sprintf(device_path, &amp;amp;quot;%s/%08x/%08x&amp;amp;quot;, extdata_path, SubDirID, SubFileID);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When mounting extdata, the unique identifier is used to match the ID stored in subfile&#039;s [[DISA and DIFF#DIFF header|DIFF header]]. If the ID doesn&#039;t match, mounting will fail.&lt;br /&gt;
&lt;br /&gt;
== Virtual File System Structure ==&lt;br /&gt;
&lt;br /&gt;
When extdata is created, these are &#039;&#039;always&#039;&#039; created regardless of whether the title actually uses them.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/icon&amp;lt;/code&amp;gt; This virtual file contains the extdata icon displayed in data management. This icon can only be written to by titles when creating extdata, titles would have to recreate extdata to change the icon. This file can&#039;t be read directly, instead it is read via FS:ReadExtSaveDataIcon.&lt;br /&gt;
* &amp;lt;code&amp;gt;/user/&amp;lt;/code&amp;gt; This virtual directory contains the title&#039;s actual extdata files.&lt;br /&gt;
* &amp;lt;code&amp;gt;/boss/&amp;lt;/code&amp;gt; This virtual directory can contain SpotPass content. SpotPass content can only be downloaded to this &amp;lt;code&amp;gt;/boss&amp;lt;/code&amp;gt; virtual directory.&lt;br /&gt;
&lt;br /&gt;
User extdata and SpotPass extdata use separate mount points at &amp;lt;code&amp;gt;/user&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/boss&amp;lt;/code&amp;gt;. Therefore one mount can&#039;t access the other virtual directory, and also can&#039;t access &amp;lt;code&amp;gt;/icon&amp;lt;/code&amp;gt;.(The title&#039;s SpotPass extdata can be mounted by the title itself, if it uses SpotPass)&lt;br /&gt;
&lt;br /&gt;
Other optional but notable directories include:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/user/ExBanner&amp;lt;/code&amp;gt; This virtual directory can optionally store extended banners. When this is available, this banner is displayed instead of the CXI ExeFS banner. &amp;lt;code&amp;gt;COMMON.bin&amp;lt;/code&amp;gt; stores the common exbanner, while &amp;lt;code&amp;gt;&amp;amp;lt;regionlang_code&amp;amp;gt;.bin&amp;lt;/code&amp;gt; stores an optional separate region/language specific banner.(regionlang_code can be &amp;amp;quot;JPN_JP&amp;amp;quot;, &amp;amp;quot;USA_EN&amp;amp;quot;, etc)&lt;br /&gt;
&lt;br /&gt;
== SD Extdata ==&lt;br /&gt;
Usually the ExtdataID low is in the format &#039;00&amp;lt;Unique ID&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! JPN ExtdataID&lt;br /&gt;
! USA ExtdataID&lt;br /&gt;
! EUR ExtdataID&lt;br /&gt;
! Description&lt;br /&gt;
! Extdata images&lt;br /&gt;
|-&lt;br /&gt;
| 00000082&lt;br /&gt;
| 0000008f&lt;br /&gt;
| 00000098&lt;br /&gt;
| [[Home Menu]] extdata, this contains home-menu savedata and cached icons for applications.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 00000200&lt;br /&gt;
| 00000210&lt;br /&gt;
| 00000220&lt;br /&gt;
| [[System_Settings|System Settings]] extdata added with [[2.0.0-2]].&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 00000207&lt;br /&gt;
| 00000217&lt;br /&gt;
| 00000227&lt;br /&gt;
| [[Mii Maker]], contains an ExBanner&lt;br /&gt;
| [https://dl.dropbox.com/u/20520664/extdata00000217.zip cleartext]&lt;br /&gt;
|-&lt;br /&gt;
| 00000208&lt;br /&gt;
| 00000218&lt;br /&gt;
| 00000228&lt;br /&gt;
| Streetpass Mii Plaza&lt;br /&gt;
| 11 mb big!&lt;br /&gt;
|-&lt;br /&gt;
| 00000209&lt;br /&gt;
| 00000219&lt;br /&gt;
| 00000229&lt;br /&gt;
| [[eShop]], contains store music in AAC format.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0000020b&lt;br /&gt;
| 0000021b&lt;br /&gt;
| 0000022b&lt;br /&gt;
| Nintendo Zone&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0000020d&lt;br /&gt;
| 0000021d&lt;br /&gt;
| 0000022d&lt;br /&gt;
| Face Raiders, likely contains an ExBanner&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 000002cc&lt;br /&gt;
| 000002cd&lt;br /&gt;
| 000002ce&lt;br /&gt;
| [[Home Menu]] theme&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| 000004aa&lt;br /&gt;
| 000004ab&lt;br /&gt;
| Nintendo Video Extra Data&lt;br /&gt;
This is where the video files are stored, and [[Nintendo_Video|includes]] the thumbnail, the description, and possibly some checksum info in each video file stored in the extdata images. There are always 9 files within the subdirectory &amp;quot;00000000&amp;quot; of this folder, even without any videos downloaded. The files are &amp;quot;00000001&amp;quot; - &amp;quot;00000009&amp;quot;, and &amp;quot;00000003&amp;quot; - &amp;quot;00000008&amp;quot; have the same filesize of 50.7 MB. It is possible to restore the older videos by overwriting all the files within this directory. Provided of course you have made a backup of the files before hand, by copying all the files within this directory to your computer. As far I&#039;m aware its not possible to mix and match the files in order to get certain videos in one grouping, ie. having all 3 Zelda orchestral recordings in one group of 4 Nintendo videos.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|00000306&lt;br /&gt;
|00000308&lt;br /&gt;
|00000307&lt;br /&gt;
|Mario Kart 7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0000030b&lt;br /&gt;
| 0000030d&lt;br /&gt;
| 0000030c&lt;br /&gt;
| Nintendogs + Cats&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 00000326&lt;br /&gt;
| 00000326&lt;br /&gt;
| 00000326&lt;br /&gt;
| Pokédex 3D&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 00000305&lt;br /&gt;
| 0000032d&lt;br /&gt;
| 0000033c&lt;br /&gt;
| Super Street Fighter IV 3D&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 00000328&lt;br /&gt;
| 00000358&lt;br /&gt;
| 0000033b&lt;br /&gt;
| Ridge Racer 3D&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| 0000034d&lt;br /&gt;
| 00000402&lt;br /&gt;
| Samurai Warriors Chronicles&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| 0000034f&lt;br /&gt;
| 0000038a&lt;br /&gt;
| Dead or Alive Dimensions&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 00000481&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| Monster Hunter Tri G (Download-Quests)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| 00000517&lt;br /&gt;
| 00000518&lt;br /&gt;
| Swapnote&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0000055d&lt;br /&gt;
| 0000055d&lt;br /&gt;
| 0000055d&lt;br /&gt;
| Pokémon X&amp;lt;br&amp;gt;Pokémon Y&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| 00000725&lt;br /&gt;
| 00000724&lt;br /&gt;
| Ambassador Certificate&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 000007af&lt;br /&gt;
| New Super Mario Bros. 2&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| 00000863&lt;br /&gt;
| 00000864&lt;br /&gt;
| Animal Crossing: New Leaf&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| 00000a85&lt;br /&gt;
| 00000a86&lt;br /&gt;
| Professor Layton and the Miracle Mask&amp;lt;br&amp;gt;Professor Layton and the Azran Legacy&lt;br /&gt;
German Version ExtdataID is 00000a87&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 00000b4f&lt;br /&gt;
| Fullblox / Crashmo&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 00000ba9&lt;br /&gt;
| Pokémon Mystery Dungeon: Gates to Infinity&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 00000c24&lt;br /&gt;
| Denpa men&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 00000c73&lt;br /&gt;
| 00000c73&lt;br /&gt;
| 00000c73&lt;br /&gt;
| Save Data Transfer Tool&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 00000d9a&lt;br /&gt;
| Donkey Kong Country™&amp;lt;br&amp;gt;Returns 3D: Trailer&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 00000ea6&lt;br /&gt;
| Etrian Odyssey IV&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| 00000edf&lt;br /&gt;
| 00000ee0&lt;br /&gt;
| Super Smash Bros. for Nintendo 3DS&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| 00000f14&lt;br /&gt;
| 00000f1e&lt;br /&gt;
| Phoenix Wright: Ace Attorney - Dual Destinies&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| 00001007&lt;br /&gt;
| 00001005&lt;br /&gt;
| Professor Layton vs Phoenix Wright: Ace Attorney&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 00001062&lt;br /&gt;
| Nintendo Pocket Football Club&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 0000111c&lt;br /&gt;
| Yoshi&#039;s New Island&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| 00001132&lt;br /&gt;
| 00001131&lt;br /&gt;
| Fantasy Life&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 000011c5&lt;br /&gt;
| 000011c5&lt;br /&gt;
| 000011c5&lt;br /&gt;
| Pokémon Omega Ruby&amp;lt;br&amp;gt;Pokémon Alpha Sapphire&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| 000012c8&lt;br /&gt;
| 000012ca&lt;br /&gt;
| Mario vs. Donkey Kong: Tipping Stars&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 00001499&lt;br /&gt;
| Korg DSN-12&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 000014f2&lt;br /&gt;
| Animal Crossing: Happy Home Designer&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 000014d1&lt;br /&gt;
| 000014d1&lt;br /&gt;
| 000014d1&lt;br /&gt;
| [[Home Menu]] badge&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 00001632&lt;br /&gt;
| Fullblox / Stretchmo&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 00001646&lt;br /&gt;
| Pokémon Rumble World&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 00001648&lt;br /&gt;
| 00001648&lt;br /&gt;
| 00001648&lt;br /&gt;
| Pokémon Sun&amp;lt;br&amp;gt;Pokémon Moon&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0000165c&lt;br /&gt;
| 0000165c&lt;br /&gt;
| 0000165c&lt;br /&gt;
| [[Home Menu]] saved theme layouts&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 000016C6&lt;br /&gt;
| ?&lt;br /&gt;
| 00001678&lt;br /&gt;
| Yo-kai Watch&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 000018fa&lt;br /&gt;
| Phoenix Wright: Ace Attorney - Spirit of Justice&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| 0000198e&lt;br /&gt;
| 0000198f&lt;br /&gt;
| Animal Crossing: New Leaf - Welcome amiibo&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 00001a05&lt;br /&gt;
| Super Mario Maker&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| 00001a2e&lt;br /&gt;
| Swapdoodle&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== NAND Shared Extdata ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  ExtdataID&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0xe0000000&lt;br /&gt;
| Home Menu attempts to open this archive during boot, if [[FS:OpenArchive]] doesn&#039;t return an error Home Menu seems to then launch the [[System Transfer]] application. Home Menu doesn&#039;t actually use this archive at all except for checking whether it exists.&lt;br /&gt;
|-&lt;br /&gt;
|  0xf0000001&lt;br /&gt;
|  NAND JPEG/MPO files and phtcache.bin from the camera application are stored here. This also contains UploadData.dat.&lt;br /&gt;
|-&lt;br /&gt;
|  0xf0000002&lt;br /&gt;
|  NAND M4A files from the sound application are stored here&lt;br /&gt;
|-&lt;br /&gt;
|  0xf0000009&lt;br /&gt;
|  Used for [[BOSS_Services|SpotPass]] content storage for [[News_Services|notifications]].&lt;br /&gt;
|-&lt;br /&gt;
|  0xf000000b&lt;br /&gt;
|  Contains idb.dat, idbt.dat, gamecoin.dat, ubll.lst, CFL_DB.dat, and CFL_OldDB.dat. These files contain cleartext [[Mii_Maker|Miis]] and some data relating (including cached ICN data) to Play/Usage Records.&lt;br /&gt;
|-&lt;br /&gt;
|  0xf000000c&lt;br /&gt;
|  Contains bashotorya.dat and bashotorya2.dat.&lt;br /&gt;
|-&lt;br /&gt;
|  0xf000000d&lt;br /&gt;
|  Home Menu SpotPass content data [[BOSS_Services|storage]].&lt;br /&gt;
|-&lt;br /&gt;
|  0xf000000e&lt;br /&gt;
|  Contains [[VersionList|versionlist.dat]], used by Home Menu for the software update notification added with [[7.0.0-13]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Shared Extdata 0xf000000b gamecoin.dat ====&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;
| Magic number: 0x4F00&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x2&lt;br /&gt;
| Total Play Coins&lt;br /&gt;
|-&lt;br /&gt;
| 0x6&lt;br /&gt;
| 0x2&lt;br /&gt;
| Total Play Coins obtained on the date stored below. When the below date does not match the current date, this field is reset to zero, then the date(and other fields) are updated. Once this value is &amp;gt;=10, no more Play Coins can be obtained until the current date changes.&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Total step [[PTM:GetTotalStepCount|count]] at the time a new Play Coin was obtained.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Step count for the day the last Play Coin was obtained, for that day&#039;s step count(same as the step count displayed by home-menu when this file was updated).&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x2&lt;br /&gt;
| Year&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0x1&lt;br /&gt;
| Month&lt;br /&gt;
|-&lt;br /&gt;
| 0x13&lt;br /&gt;
| 0x1&lt;br /&gt;
| Day&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The above date stores the last time new Play Coin(s) were obtained. The contents of this file is updated by home-menu. [[PTM:GetTotalStepCount]] is not checked constantly, after home-menu boot this is only checked when waking from sleep-mode. Each time home-menu updates the contents of this file, home-menu will set the Play Coin total to 300 if it&#039;s higher than the 300 Play Coin limit.&lt;br /&gt;
&lt;br /&gt;
[[Home Menu]] loads this file / opens this archive during [[Home Menu|startup]]. When accessing this file fails, like when the file/archive is corrupted(or at least on older system-versions), the result is a brick due to Home Menu using [[SVC|svcBreak]]. [[User:Yellows8|Yellows8]] bricked a 3DS this way due to corruption via invalid [[FSFile:Write]] flush flags. When opening this extdata archive(0xf000000b) fails, Home Menu executes svcBreak.&lt;br /&gt;
&lt;br /&gt;
==== Shared Extdata 0xf000000b ubll.lst ====&lt;br /&gt;
List of blocked users.&lt;br /&gt;
&lt;br /&gt;
Empty space is filled with 0xC-long sequences of 00 00 ... 07&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
* [https://github.com/wwylele/3ds-save-tool 3ds-save-tool] - Extract/verifies extdata&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Inner_FAT&amp;diff=22520</id>
		<title>Inner FAT</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Inner_FAT&amp;diff=22520"/>
		<updated>2024-03-22T17:54:21Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: Added Tools section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes a common FAT-like file system used in [[Savegames]], [[Extdata]] and [[Title Database]]. This file system format has several variants depending on which kind of data it stores. All the three kinds of data that use this file system structure also happen to use the [[DISA and DIFF]] container as well, but there is no direct relationship between the file system and the DISA/DIFF container. All data formats described here is in the inner data of the DISA/DIFF container (i.e. IVFC level 4). Please refer to the DISA/DIFF page for how to unwrap it first before trying to extract the file system.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The file system consists of the following components:&lt;br /&gt;
* header&lt;br /&gt;
* directory hash table&lt;br /&gt;
* file hash table&lt;br /&gt;
* file allocation table&lt;br /&gt;
* directory entry table&lt;br /&gt;
* file entry table&lt;br /&gt;
* data region&lt;br /&gt;
&lt;br /&gt;
The file allocation table (FAT) forms several linked lists inside, each of which represents a &amp;quot;file&amp;quot; allocated in the data region. Please refer to the File Allocation Table section below for more detail. In some variants, the directory entry table and the file entry table are also allocated as two special &amp;quot;files&amp;quot; in the data region, managed by the FAT, while in others they are stand-alone tables located outside the data region.&lt;br /&gt;
&lt;br /&gt;
== Layout Variants ==&lt;br /&gt;
Four variants of the file system layout has been identified. A summary diagram:&lt;br /&gt;
&lt;br /&gt;
[[File:Inner-fat.png]]&lt;br /&gt;
&lt;br /&gt;
=== Savegame, &amp;lt;code&amp;gt;duplicate data = true&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Such savegame is a single DISA container that only has one partition which is always configured as external IVFC level 4 disabled (see [[DISA and DIFF|DISA]] format for details). All components are stored in this partition as&lt;br /&gt;
&lt;br /&gt;
* filesystem header at the beginning&lt;br /&gt;
* directory hash table&lt;br /&gt;
* file hash table&lt;br /&gt;
* file allocation table&lt;br /&gt;
* data region&lt;br /&gt;
** directory entry table is allocated inside data region&lt;br /&gt;
** file entry table as well&lt;br /&gt;
** all file data is also allocated here&lt;br /&gt;
&lt;br /&gt;
In this layout, all data is duplicated by DISA&#039;s DPFS tree, which is what the parameter &amp;lt;code&amp;gt;duplicate data&amp;lt;/code&amp;gt; implies.&lt;br /&gt;
&lt;br /&gt;
=== Savegame, &amp;lt;code&amp;gt;duplicate data = false&amp;lt;/code&amp;gt; === &lt;br /&gt;
Such savegame is a single DISA container that has two partitions. Partition A is always configured as external IVFC level 4 disabled, and partition B is configured as it enabled. Components are stored among the two partitions as&lt;br /&gt;
&lt;br /&gt;
* Partition A&lt;br /&gt;
** filesystem header at the beginning.&lt;br /&gt;
** directory hash table&lt;br /&gt;
** file hash table&lt;br /&gt;
** (stand-alone) file allocation table&lt;br /&gt;
** (stand-alone) directory entry table&lt;br /&gt;
** file entry table&lt;br /&gt;
* Partition B&lt;br /&gt;
** used as data region entirely, and only has file data allocated.&lt;br /&gt;
&lt;br /&gt;
In this layout, all file system metadata is duplicated by partition A DPFS tree, but file data is not as partition B has external IVFC level 4.&lt;br /&gt;
&lt;br /&gt;
=== Extdata ===&lt;br /&gt;
An extdata consists of several DIFF containers (device files), among which the special device file &amp;lt;code&amp;gt;00000000/00000001&amp;lt;/code&amp;gt; contains the inner FAT system, while other devices contains normal subfiles of the extdata. Please refer to [[Extdata]] for detail. The special file &amp;lt;code&amp;gt;00000000/00000001&amp;lt;/code&amp;gt; contists of the following components&lt;br /&gt;
&lt;br /&gt;
* filesystem header at the beginning&lt;br /&gt;
* directory hash table&lt;br /&gt;
* file hash table&lt;br /&gt;
* file allocation table (degenerate, because the data region only has two &amp;quot;files&amp;quot;: the directory entry table and the file entry table)&lt;br /&gt;
* data region&lt;br /&gt;
** directory entry table allocated inside data region&lt;br /&gt;
** file entry table as well&lt;br /&gt;
** normal subfiles are NOT in the data region. They are in their DIFF containers instead.&lt;br /&gt;
&lt;br /&gt;
The special file &amp;lt;code&amp;gt;00000000/00000001&amp;lt;/code&amp;gt; is configured as external IVFC level 4 disabled, and all other device files are configured as it enabled.&lt;br /&gt;
&lt;br /&gt;
=== Title database ===&lt;br /&gt;
All [[Title Database]] files are DIFF containers. Except for &amp;lt;code&amp;gt;certs.db&amp;lt;/code&amp;gt;, all of them uses this filesystem in the DIFF inner data, which consists of&lt;br /&gt;
&lt;br /&gt;
* database-specific pre-header at the beginning (See [[Title Database]])&lt;br /&gt;
* filesystem header&lt;br /&gt;
* directory Hash Table (degenerate and always has only one bucket, as there is only one directory for &amp;quot;root&amp;quot;)&lt;br /&gt;
* file Hash Table&lt;br /&gt;
* file allocation table&lt;br /&gt;
* data region&lt;br /&gt;
** directory entry table allocated inside data region (degenerate, as there is only one directory for &amp;quot;root&amp;quot;)&lt;br /&gt;
** file entry table as well&lt;br /&gt;
** title entries (title info or ticket) are allocated as normal files in the data region as well.&lt;br /&gt;
&lt;br /&gt;
== Filesystem Header ==&lt;br /&gt;
Offsets listed in the table below are all relative to the beginning of the header, while all &amp;quot;starting block index&amp;quot; are relative to the beginning of data region. This is especially important for title database, as the offsets doesn&#039;t count the pre header.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;SAVE&amp;quot; for savegame; &amp;quot;BDRI&amp;quot; for title database; &amp;quot;VSXE&amp;quot; for extdata)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Version (0x40000 for savegame; 0x30000 for title database and extdata)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Filesystem Information offset (Y, =0x20 for savegame and title database, =0x138 for extdata)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Filesystem image size in blocks (including pre header for title database)&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 4&lt;br /&gt;
| Filesystem Image block size&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 4&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x20 &lt;br /&gt;
| 0x118 in total&lt;br /&gt;
| Below is additional data for extdata. Not present in savegame or title database&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 4&lt;br /&gt;
| &#039;Action&#039; made on most recently mounted Extdata image&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 4&lt;br /&gt;
| ID of most recently mounted Extdata image&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 0x100&lt;br /&gt;
| Mount path, from most recently mounted Extdata image&lt;br /&gt;
|-&lt;br /&gt;
| Y &lt;br /&gt;
| 0x68 in total&lt;br /&gt;
| Below is Filesystem Information&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Data region block size&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Directory hash table offset&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x10&lt;br /&gt;
| 4&lt;br /&gt;
| Directory hash table bucket count (=1 for title database)&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x14&lt;br /&gt;
| 4&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| File hash table offset&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| File hash table bucket count&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| File allocation table offset&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x30&lt;br /&gt;
| 4&lt;br /&gt;
| File allocation table entry count &lt;br /&gt;
(excluding the leading 0th entry. See below)&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x34&lt;br /&gt;
| 4&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x38&lt;br /&gt;
| 8&lt;br /&gt;
| Data region offset &lt;br /&gt;
(0 for savegame &amp;lt;code&amp;gt;duplicate data = false&amp;lt;/code&amp;gt; layout, as the data region is in partition B for that layout)&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x40&lt;br /&gt;
| 4&lt;br /&gt;
| Data region block count &lt;br /&gt;
(= File allocation table entry count)&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x44&lt;br /&gt;
| 4&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x48&lt;br /&gt;
| 8&lt;br /&gt;
| for savegame &amp;lt;code&amp;gt;duplicate data = false&amp;lt;/code&amp;gt; layout: directory entry table offset;&lt;br /&gt;
otherwise: u32 directory entry table starting block index + u32 directory entry table block count&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x50&lt;br /&gt;
| 4&lt;br /&gt;
| Maximum directory count, excluding the mandatory &amp;quot;root&amp;quot; directory &lt;br /&gt;
(=1 for title database, but that 1 free directory slot is never used)&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x54&lt;br /&gt;
| 4&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x58&lt;br /&gt;
| 8&lt;br /&gt;
| for savegame &amp;lt;code&amp;gt;duplicate data = false&amp;lt;/code&amp;gt; layout: file entry table offset;&lt;br /&gt;
otherwise: u32 file entry table starting block index + u32 file entry table block count&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x60&lt;br /&gt;
| 4&lt;br /&gt;
| Maximum file count&lt;br /&gt;
|-&lt;br /&gt;
| Y + 0x64&lt;br /&gt;
| 4&lt;br /&gt;
| Padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* For savegames, the file/directory bucket count &amp;amp; maximum count are specified by the parameters of [[FS:FormatSaveData]] or [[FS:CreateSystemSaveData]].&lt;br /&gt;
* For extdata, the maximum file/directory count are specified by the parameters of [[FS:CreateExtSaveData]]. The bucket count is likely calculated by the system.&lt;br /&gt;
* Directory &amp;amp; file entry tables are allocated in the data region as if they are two normal files (except for savegame &amp;lt;code&amp;gt;duplicate data = false&amp;lt;/code&amp;gt; layout). However, only continuous allocation has been observed, so directly reading block_count * block_size bytes from data_region + starting_block_index * block_size should be safe.&lt;br /&gt;
* For title database (except for ticket), the range specified for data region seems overflow the file end by 0x80 bytes, which is exactly the size of the pre header. This makes it as if the data region offset should be relative to the pre header instead of the BDRI header. However, further investigation on the directory/file table allocated inside the data region shows that the data region offset is indeed relative to the BDRI header. It might be a bug in 3DS that the title database files miss 0x80-byte space at the end.&lt;br /&gt;
&lt;br /&gt;
== Directory Entry Table ==&lt;br /&gt;
&lt;br /&gt;
The directory entry table is an array of the entry type shown below. It describes the directory hierarchy of the file system. There are two variants of the directory entry type, and a dummy entry type.&lt;br /&gt;
&lt;br /&gt;
=== Savegame/Extdata Variant===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Parent directory index. 0 for root&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 16&lt;br /&gt;
| ASCII directory name in. All zero for root&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 4&lt;br /&gt;
| Next sibling directory index. 0 if this is the last one&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 4&lt;br /&gt;
| First subdirectory index. 0 if not exists&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 4&lt;br /&gt;
| First file index in file entry table. 0 for empty directory&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Padding / zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Index of the next directory in the same hash table bucket. 0 if this is the last one&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Title Database Variant===&lt;br /&gt;
Because title database only has one directory for &amp;quot;root&amp;quot;, its directory entry table degenerates into many zeros whose structure is not recognizable. The size of one entry here is guessed.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Parent directory index = 0 for root&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Next sibling directory index = 0 because this is the last one&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 4&lt;br /&gt;
| First subdirectory index = 0 because there is no subdirectory&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C&lt;br /&gt;
| 4&lt;br /&gt;
| First file index in file entry table. 0 for empty directory&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 12&lt;br /&gt;
| Padding / zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 4&lt;br /&gt;
| Index of the next directory in the same hash table bucket = 0 because there is no other directory&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dummy Entry===&lt;br /&gt;
There are also some dummy entries in the array&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Current Total entry count&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Maximum entry count = maximum directory count + 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 28/20&lt;br /&gt;
| Padding / All zero&lt;br /&gt;
|-&lt;br /&gt;
| 0x24/0x1C&lt;br /&gt;
| 4&lt;br /&gt;
| Index of the next dummy entry. 0 if this is the last one&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The 0-th entry of the array is always a dummy entry, which functions as the head of the dummy entry linked list. The 1-st entry of the array is always the root. Therefore maximum entry count is two more than maximum directory count. Dummy entries are left there when deleting directories, and reserved for future use.&lt;br /&gt;
&lt;br /&gt;
== File Entry Table ==&lt;br /&gt;
&lt;br /&gt;
The file entry table is an array of the entry type shown below. It contains information for each file. There are three variants of the file entry type, and a dummy entry type.&lt;br /&gt;
&lt;br /&gt;
=== Savegame Variant ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Parent directory index in directory entry table&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 16&lt;br /&gt;
| ASCII file name&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 4&lt;br /&gt;
| Next sibling file index. 0 if this is the last one&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 4&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 4&lt;br /&gt;
| First block index in data region. 0x80000000 if the file is just created and has no data.&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| File Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 4&lt;br /&gt;
| Padding?&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| 4&lt;br /&gt;
| Index of the next file in the same hash table bucket. 0 if this is the last one&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extdata Variant ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Parent directory index in directory entry table&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 16&lt;br /&gt;
| ASCII file name&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 4&lt;br /&gt;
| Next sibling file index. 0 if this is the last one&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 4&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 4&lt;br /&gt;
| Always 0x80000000&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Unique identifier. See [[Extdata]]&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 4&lt;br /&gt;
| Padding?&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C&lt;br /&gt;
| 4&lt;br /&gt;
| Index of the next file in the same hash table bucket. 0 if this is the last one&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Title database Variant ===&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;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Parent directory index in directory entry table&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 8&lt;br /&gt;
| Title ID&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C&lt;br /&gt;
| 4&lt;br /&gt;
| Next sibling file index. 0 if this is the last one&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 4&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 4&lt;br /&gt;
| First block index in data region.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| File size&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Padding?&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 4&lt;br /&gt;
| Index of the next file in the same hash table bucket. 0 if this is the last one&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dummy Entry ===&lt;br /&gt;
Like directory entry table, file entry table also has some dummy entries:&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;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Current total entry count&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Maximum entry count = maximum file count + 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 36/32&lt;br /&gt;
| Padding / All zero&lt;br /&gt;
|-&lt;br /&gt;
| 0x2C/0x28&lt;br /&gt;
| 4&lt;br /&gt;
| Index of the next dummy entry. 0 if this is the last one&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The 0-th entry of the array is always a dummy entry, which functions as the head of the dummy entry linked list. Therefore maximum entry count is one more than maximum file count. Dummy entries are left there when deleting files, and reserved for future use.&lt;br /&gt;
&lt;br /&gt;
== Directory Hash Table &amp;amp;amp; File Hash Table ==&lt;br /&gt;
&lt;br /&gt;
This is a u32 array of size = bucket count, each of which is an index to the directory / file entry table. The directory / file name is hashed and its entry index is put to the corresponding bucket. If there is already a directory/file entry in the bucket, then it appends to the linked list formed by &amp;lt;code&amp;gt;Index of the next directory/file in the same hash table bucket&amp;lt;/code&amp;gt; field in the directory/file entry table. i.e. this is a hash table using separate chaining with linked lists&lt;br /&gt;
&lt;br /&gt;
The hash function takes the parent index and the ASCII name (or title ID for title database) as key. The function is equivalent to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;uint32_t GetBucket(&lt;br /&gt;
    uint8_t name[16 or 8], // For savegame/extdata, this takes all 16 bytes including trailing zeros; For title database, this is the 8-byte title ID&lt;br /&gt;
    uint32_t parent_dir_index,&lt;br /&gt;
    uint32_t bucket_count&lt;br /&gt;
) {&lt;br /&gt;
    uint32_t hash = parent_dir_index ^ 0x091A2B3C;&lt;br /&gt;
    for (int i = 0; i &amp;amp;lt; 4 or 2; ++i) {&lt;br /&gt;
        hash = (hash &amp;amp;gt;&amp;amp;gt; 1) | (hash &amp;amp;lt;&amp;amp;lt; 31);&lt;br /&gt;
        hash ^= (uint32_t)name[i * 4]&lt;br /&gt;
        hash ^= (uint32_t)name[i * 4 + 1] &amp;amp;lt;&amp;amp;lt; 8&lt;br /&gt;
        hash ^= (uint32_t)name[i * 4 + 2] &amp;amp;lt;&amp;amp;lt; 16&lt;br /&gt;
        hash ^= (uint32_t)name[i * 4 + 3] &amp;amp;lt;&amp;amp;lt; 24&lt;br /&gt;
    }&lt;br /&gt;
    return hash % bucket_count;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File Allocation Table ==&lt;br /&gt;
&lt;br /&gt;
The file allocation table is an array of a 8-byte entry shown below. The array size is actually &#039;&#039;one larger than&#039;&#039; the size recorded in the filesystem header. Each entry corresponds to a block in the data region (the block size is defined in filesystem header). However, the 0th entry corresponds to nothing, so the corresponding block index is off by one. e.g. entry 31 in this table corresponds to block 30 in the data region.&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;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| bit[0:30]: Index U; bit[31]: Flag U&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| bit[0:30]: Index V; bit[31]: Flag V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Entries in this table forms several chains, representing how blocks in the data region should be linked together. However, unlike normal FAT systems, which uses chains of entries, 3DS savegames use chain of &#039;&#039;nodes&#039;&#039;. Each node spans one or multiple entries.&lt;br /&gt;
&lt;br /&gt;
One node spanning &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; entries starting from &amp;lt;code&amp;gt;FAT[k]&amp;lt;/code&amp;gt; is in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;FAT[k + 0]:&lt;br /&gt;
    Index_U = index of the first entry of the previous node. 0 if this is the first node.&lt;br /&gt;
    Index_V = index of the first entry of the next node. 0 if this is the last node.&lt;br /&gt;
    Flag_U set if this is the first node.&lt;br /&gt;
    Flag_V set if this node has multiple entries.&lt;br /&gt;
&lt;br /&gt;
FAT[k + 1]:&lt;br /&gt;
    Index_U = k (the first entry index of this node)&lt;br /&gt;
    Index_V = k + n - 1 (the last entry index of this node)&lt;br /&gt;
    Flag_U always set&lt;br /&gt;
    Flag_V always clear&lt;br /&gt;
&lt;br /&gt;
FAT[k + 2] ~ FAT[k + n - 2]:&lt;br /&gt;
    All these entries are uninitialized&lt;br /&gt;
&lt;br /&gt;
FAT[k + n - 1]:&lt;br /&gt;
    Index_U = k&lt;br /&gt;
    Index_V = k + n - 1&lt;br /&gt;
    Flag_U always set&lt;br /&gt;
    Flag_V always clear&lt;br /&gt;
    (Same values as FAT[k + 1])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Note: all indices above are entry indices (block index + 1)&lt;br /&gt;
&lt;br /&gt;
All free blocks that are not allocated to any files also form a node chain in the allocation table. The head index of this &amp;amp;quot;free chain&amp;amp;quot; is recorded in &amp;lt;code&amp;gt;FAT[0].Index_V&amp;lt;/code&amp;gt;. Other fields of &amp;lt;code&amp;gt;FAT[0]&amp;lt;/code&amp;gt; are all zero&lt;br /&gt;
&lt;br /&gt;
Here is an example: &lt;br /&gt;
&lt;br /&gt;
[[File:Disa-fat.png]]&lt;br /&gt;
&lt;br /&gt;
For extdata, because only two &amp;quot;files&amp;quot; (directory and file entry tables) are allocated in the data region, and their size never changes once the extdata is created, they are guaranteed continuous in the data region, and the FAT degenerates to two big nodes. Therefore, instead of going through FAT, the offset and size of directory / file entry table can be found directly by offset = entry_table_starting block * data_region_block_size + data_region_offset and size = entry_table_block_count * data_region_block_size.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
https://github.com/wwylele/3ds-save-tool&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Online_Play&amp;diff=22476</id>
		<title>Online Play</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Online_Play&amp;diff=22476"/>
		<updated>2024-01-05T10:53:17Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Online Play&#039;&#039;&#039; is a functionality of the Nintendo 3DS to play games online with other people.&lt;br /&gt;
&lt;br /&gt;
==Connection==&lt;br /&gt;
First a connection to &#039;&#039;nasc.nintendowifi.net&#039;&#039; is established and the resource &#039;&#039;/ac&#039;&#039; is requested with the POST method to get the actual address of the game server and a ticket for authentication on the game server.&amp;lt;br&amp;gt;&lt;br /&gt;
A typical request to &#039;&#039;nasc.nintendowifi.net/ac&#039;&#039; has this format:&lt;br /&gt;
&lt;br /&gt;
Header:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST https://nasc.nintendowifi.net/ac HTTP/1.1&lt;br /&gt;
Host: nasc.nintendowifi.net&lt;br /&gt;
X-GameId: 00003200&lt;br /&gt;
User-Agent: CTR FPD/000F&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
Content-Length: 841&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Body:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gameid=MDAwMDMyMDA%2A&amp;amp;sdkver=MDAwMDAw&amp;amp;titleid=MDAwNDAxMzAwMDAwMzIwMg%2A%2A&amp;amp;gamecd=LS0tLQ%2A%2A&amp;amp;gamever=MDAxNA%2A%2A&amp;amp;mediatype=MA%2A%2A&amp;amp;makercd=MDA%2A&amp;amp;unitcd=Mg%2A%2A&amp;amp;macadr=MTEyMjMzNDQ1NTY2&amp;amp;bssid=MTEyMjMzYWFiYmNj&amp;amp;apinfo=MDQ6MDAwMDAwMDAwMA%2A%2A&amp;amp;fcdcert=&amp;lt;base64 encoded fcdcert&amp;gt;&amp;amp;devname=&amp;lt;base64 encoded name of the console (utf-16)&amp;gt;&amp;amp;servertype=TDE%2A&amp;amp;fpdver=MDAwRg%2A%2A&amp;amp;devtime=MjEwMTAxMjAyNjAx&amp;amp;lang=MDE%2A&amp;amp;region=MDI%2A&amp;amp;csnum=&amp;lt;base64 encoded serial number of the 3DS system wihtout check number&amp;gt;&amp;amp;uidhmac=&amp;lt;base64 encoded of ?&amp;gt;&amp;amp;userid=&amp;lt;base64 encoded Nex [[Principal ID]]&amp;gt;&amp;amp;action=TE9HSU4%2A&amp;amp;ingamesn=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Key!!Value!!Value decoded!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|gameid||MDAwMDMyMDA*||00003200||&lt;br /&gt;
|-&lt;br /&gt;
|sdkver||MDAwMDAw||000000||&lt;br /&gt;
|-&lt;br /&gt;
|titleid||MDAwNDAxMzAwMDAwMzIwMg**||0004013000003202||&lt;br /&gt;
|-&lt;br /&gt;
|gamecd||LS0tLQ**||----||&lt;br /&gt;
|-&lt;br /&gt;
|gamever||MDAxNA**||0014||&lt;br /&gt;
|-&lt;br /&gt;
|mediatype||MA**||0||&lt;br /&gt;
|-&lt;br /&gt;
|makercd||MDA*||00||&lt;br /&gt;
|-&lt;br /&gt;
|unitcd||Mg**||2||&lt;br /&gt;
|-&lt;br /&gt;
|macadr||MTEyMjMzNDQ1NTY2||112233445566||MAC address of the console. Only the digits&lt;br /&gt;
|-&lt;br /&gt;
|bssid||MTEyMjMzYWFiYmNj||112233aabbcc||&lt;br /&gt;
|-&lt;br /&gt;
|apinfo||MDQ6MDAwMDAwMDAwMA**||04:0000000000||&lt;br /&gt;
|-&lt;br /&gt;
|fcdcert|| || || &lt;br /&gt;
|-&lt;br /&gt;
|devname|| || || Name of the console in UTF-16&lt;br /&gt;
|-&lt;br /&gt;
|servertype||TDE*||L1||&lt;br /&gt;
|-&lt;br /&gt;
|fpdver||MDAwRg**||000F||&lt;br /&gt;
|-&lt;br /&gt;
|devtime||MjEwMTAxMDkyMDMx||210101092031||&lt;br /&gt;
|-&lt;br /&gt;
|lang||MDE*||01||&lt;br /&gt;
|-&lt;br /&gt;
|region||MDE*||01||&lt;br /&gt;
|-&lt;br /&gt;
|csnum||Q0VGMTIzNDU2Nzg*||CEF12345678||[[Serials|Serial number]] of the device without the check digit&lt;br /&gt;
|-&lt;br /&gt;
|uidhmac||MGFmODZmYmQ*||0af86fbd||&lt;br /&gt;
|-&lt;br /&gt;
|userid||MTIzNDU2Nzg5MA**||1234567890||Nex [[Principal ID]]&lt;br /&gt;
|-&lt;br /&gt;
|action||TE9HSU4*||LOGIN||&lt;br /&gt;
|-&lt;br /&gt;
|ingamesn|| &#039;&#039;empty&#039;&#039; || &#039;&#039;empty&#039;&#039; || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Typical response to the above request:&lt;br /&gt;
&lt;br /&gt;
Header:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
NODE: pd42wfiap02&lt;br /&gt;
Content-Type: text/plain;charset=ISO-8859-1&lt;br /&gt;
Content-Length: 252&lt;br /&gt;
Date: Fri, 01 Jan 2021 09:20:55 GMT&lt;br /&gt;
Server: Nintendo Wii (http)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Body:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
locator=MzQuMjExLjIzNS4xMzU6NjAwMDA*&amp;amp;retry=MA**&amp;amp;returncd=MDAx&amp;amp;token=&amp;lt;Token for authentication on the game server&amp;gt;&amp;amp;datetime=MjAyMTAxMDEwOTIwNTU*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Key!!Value!!Value decoded!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|locator||MzQuMjExLjIzNS4xMzU6NjAwMDA*||34.211.235.135:60000||IP address and port of the game server&lt;br /&gt;
|-&lt;br /&gt;
|retry||MA**||0||&lt;br /&gt;
|-&lt;br /&gt;
|returncd||MDAx||001||001 for success. 119 if there is an update required&lt;br /&gt;
|-&lt;br /&gt;
|token|| || || Token for authentication on the game server. This token cannot be verified by the Nintendo 3DS&lt;br /&gt;
|-&lt;br /&gt;
|datetime||MjAyMTAxMDEwOTIwNTU*||20210101092055||&lt;br /&gt;
|}&lt;br /&gt;
If there is an error (returncd is not 001) no locator and token is send&lt;br /&gt;
&lt;br /&gt;
==Game Server Informations==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Game !! build name&lt;br /&gt;
|-&lt;br /&gt;
|Kid Icarus Uprising||branch:akd_server build:2_25_10595_1&lt;br /&gt;
|-&lt;br /&gt;
|Mario Kart 7||branch:origin/project/appsp build:3_4_17_3&lt;br /&gt;
|-&lt;br /&gt;
|Pokemon X/Y OR/AS||branch:origin/project/appsg build:3_3_15_6_0&lt;br /&gt;
|-&lt;br /&gt;
|Metroid Prime Federation Force||branch:origin/release/ngs/3.9.x.200x build:3_9_21_2005_0&lt;br /&gt;
|-&lt;br /&gt;
|Luigi&#039;s Mansion 2||branch:origin/release/ngs/3.4.x.3 build:3_4_16_3_0&lt;br /&gt;
|-&lt;br /&gt;
|The Legend of Zelda: Tri Force Heroes||branch:origin/release/ngs/3.9.x.200x build:3_9_21_2005_0&lt;br /&gt;
|-&lt;br /&gt;
|Pokemon Bank||branch:origin/project/ctr-jtta build:3_4_13_16_0&lt;br /&gt;
|-&lt;br /&gt;
|Nintendo Badge Arcade||branch:origin/project/ctr-jwv build:3_7_16_2006_0&lt;br /&gt;
|-&lt;br /&gt;
|Pokemon Sun/Moon US/UM||branch:origin/project/ctr-a2a build:3_10_23_3112_0&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Online_Play&amp;diff=22437</id>
		<title>Online Play</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Online_Play&amp;diff=22437"/>
		<updated>2023-11-23T14:41:49Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Online Play&#039;&#039;&#039; is a functionality of the Nintendo 3DS to play games online with other people.&lt;br /&gt;
&lt;br /&gt;
==Connection==&lt;br /&gt;
First a connection to &#039;&#039;nasc.nintendowifi.net&#039;&#039; is established and the resource &#039;&#039;/ac&#039;&#039; is requested with the POST method to get the actual address of the game server and a ticket for authentication on the game server.&amp;lt;br&amp;gt;&lt;br /&gt;
A typical request to &#039;&#039;nasc.nintendowifi.net/ac&#039;&#039; has this format:&lt;br /&gt;
&lt;br /&gt;
Header:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST https://nasc.nintendowifi.net/ac HTTP/1.1&lt;br /&gt;
Host: nasc.nintendowifi.net&lt;br /&gt;
X-GameId: 00003200&lt;br /&gt;
User-Agent: CTR FPD/000F&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
Content-Length: 841&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Body:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gameid=MDAwMDMyMDA%2A&amp;amp;sdkver=MDAwMDAw&amp;amp;titleid=MDAwNDAxMzAwMDAwMzIwMg%2A%2A&amp;amp;gamecd=LS0tLQ%2A%2A&amp;amp;gamever=MDAxNA%2A%2A&amp;amp;mediatype=MA%2A%2A&amp;amp;makercd=MDA%2A&amp;amp;unitcd=Mg%2A%2A&amp;amp;macadr=MTEyMjMzNDQ1NTY2&amp;amp;bssid=MTEyMjMzYWFiYmNj&amp;amp;apinfo=MDQ6MDAwMDAwMDAwMA%2A%2A&amp;amp;fcdcert=&amp;lt;base64 encoded fcdcert&amp;gt;&amp;amp;devname=&amp;lt;base64 encoded name of the console (utf-16)&amp;gt;&amp;amp;servertype=TDE%2A&amp;amp;fpdver=MDAwRg%2A%2A&amp;amp;devtime=MjEwMTAxMjAyNjAx&amp;amp;lang=MDE%2A&amp;amp;region=MDI%2A&amp;amp;csnum=&amp;lt;base64 encoded serial number of the 3DS system wihtout check number&amp;gt;&amp;amp;uidhmac=&amp;lt;base64 encoded of ?&amp;gt;&amp;amp;userid=&amp;lt;base64 encoded Nex [[Principal ID]]&amp;gt;&amp;amp;action=TE9HSU4%2A&amp;amp;ingamesn=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Key!!Value!!Value decoded!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|gameid||MDAwMDMyMDA*||00003200||&lt;br /&gt;
|-&lt;br /&gt;
|sdkver||MDAwMDAw||000000||&lt;br /&gt;
|-&lt;br /&gt;
|titleid||MDAwNDAxMzAwMDAwMzIwMg**||0004013000003202||&lt;br /&gt;
|-&lt;br /&gt;
|gamecd||LS0tLQ**||----||&lt;br /&gt;
|-&lt;br /&gt;
|gamever||MDAxNA**||0014||&lt;br /&gt;
|-&lt;br /&gt;
|mediatype||MA**||0||&lt;br /&gt;
|-&lt;br /&gt;
|makercd||MDA*||00||&lt;br /&gt;
|-&lt;br /&gt;
|unitcd||Mg**||2||&lt;br /&gt;
|-&lt;br /&gt;
|macadr||MTEyMjMzNDQ1NTY2||112233445566||MAC address of the console. Only the digits&lt;br /&gt;
|-&lt;br /&gt;
|bssid||MTEyMjMzYWFiYmNj||112233aabbcc||&lt;br /&gt;
|-&lt;br /&gt;
|apinfo||MDQ6MDAwMDAwMDAwMA**||04:0000000000||&lt;br /&gt;
|-&lt;br /&gt;
|fcdcert|| || || &lt;br /&gt;
|-&lt;br /&gt;
|devname|| || || Name of the console in UTF-16&lt;br /&gt;
|-&lt;br /&gt;
|servertype||TDE*||L1||&lt;br /&gt;
|-&lt;br /&gt;
|fpdver||MDAwRg**||000F||&lt;br /&gt;
|-&lt;br /&gt;
|devtime||MjEwMTAxMDkyMDMx||210101092031||&lt;br /&gt;
|-&lt;br /&gt;
|lang||MDE*||01||&lt;br /&gt;
|-&lt;br /&gt;
|region||MDE*||01||&lt;br /&gt;
|-&lt;br /&gt;
|csnum||Q0VGMTIzNDU2Nzg*||CEF12345678||[[Serials|Serial number]] of the device without the check digit&lt;br /&gt;
|-&lt;br /&gt;
|uidhmac||MGFmODZmYmQ*||0af86fbd||&lt;br /&gt;
|-&lt;br /&gt;
|userid||MTIzNDU2Nzg5MA**||1234567890||Nex [[Principal ID]]&lt;br /&gt;
|-&lt;br /&gt;
|action||TE9HSU4*||LOGIN||&lt;br /&gt;
|-&lt;br /&gt;
|ingamesn|| &#039;&#039;empty&#039;&#039; || &#039;&#039;empty&#039;&#039; || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Typical response to the above request:&lt;br /&gt;
&lt;br /&gt;
Header:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
NODE: pd42wfiap02&lt;br /&gt;
Content-Type: text/plain;charset=ISO-8859-1&lt;br /&gt;
Content-Length: 252&lt;br /&gt;
Date: Fri, 01 Jan 2021 09:20:55 GMT&lt;br /&gt;
Server: Nintendo Wii (http)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Body:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
locator=MzQuMjExLjIzNS4xMzU6NjAwMDA*&amp;amp;retry=MA**&amp;amp;returncd=MDAx&amp;amp;token=&amp;lt;Token for authentication on the game server&amp;gt;&amp;amp;datetime=MjAyMTAxMDEwOTIwNTU*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Key!!Value!!Value decoded!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|locator||MzQuMjExLjIzNS4xMzU6NjAwMDA*||34.211.235.135:60000||IP address and port of the game server&lt;br /&gt;
|-&lt;br /&gt;
|retry||MA**||0||&lt;br /&gt;
|-&lt;br /&gt;
|returncd||MDAx||001||001 for success. 119 if there is an update required&lt;br /&gt;
|-&lt;br /&gt;
|token|| || || Token for authentication on the game server. This token cannot be verified by the Nintendo 3DS&lt;br /&gt;
|-&lt;br /&gt;
|datetime||MjAyMTAxMDEwOTIwNTU*||20210101092055||&lt;br /&gt;
|}&lt;br /&gt;
If there is an error (returncd is not 001) no locator and token is send&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=21972</id>
		<title>SpotPass</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=SpotPass&amp;diff=21972"/>
		<updated>2022-10-20T17:56:35Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* Content Container */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;SpotPass&#039;&#039;&#039; is a Nintendo 3DS feature that allows the 3DS to automatically download content, notifications, and software when it&#039;s in standby mode.(SpotPass may download/upload some content while the 3DS is in &amp;quot;active&amp;quot; mode, but *only* if the currently active app uses SpotPass) SpotPass can upload content as well. Software downloaded with SpotPass is stored on SD card.&lt;br /&gt;
&lt;br /&gt;
SpotPass Internet communications are mostly HTTPS transfers.&lt;br /&gt;
&lt;br /&gt;
In System Settings, you can disable SpotPass automatic title downloading, but it states that important software will still downloaded.(This only disables downloading of free titles via SpotPass)&lt;br /&gt;
&lt;br /&gt;
&#039;nasc.nintendowifi.net&#039; confirmed usages:(not SpotPass related)&lt;br /&gt;
&lt;br /&gt;
*Friends List applet requires this server to be &#039;Online&#039; (most likely the reason for regular requests to this server)&lt;br /&gt;
*Required for initialization of [[eShop]], (for first time eShop users). Not required for using eShop after first use.&lt;br /&gt;
&lt;br /&gt;
In some cases the BOSS module will add the following URL parameter to HTTPS requests, when connected to a [[Nintendo Zone]] AP: &amp;quot;ap=&amp;lt;NZoneApNum&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== policylist ==&lt;br /&gt;
Every time the system connects to the wifi AP, the BOSS (&amp;quot;Background online storage service&amp;quot; = SpotPass) module itself will download the cleartext xml policylist: &amp;quot;https://nppl.c.app.nintendowifi.net/p01/policylist/3/&amp;lt;countrycode&amp;gt;&amp;quot;. This policylist contains a list of SpotPass tasks for certain titles. This policylist can control whether the specified tasks are processed at all. The default user-agent used for SpotPass HTTPS requests(including this policylist) is: &amp;quot;PBOS-5.0/&amp;lt;printed hex u64 [[CfgS:GetLocalFriendCodeSeed|LocalFriendCodeSeed]]&amp;gt;-&amp;lt;hex u64 obtained via the friends service&amp;gt;/&amp;lt;text [[CVer|system]] [[NVer|version]]&amp;gt;/&amp;lt;unknown decimal value&amp;gt;/0&amp;quot;. No user-agent is used for plaintext HTTP requests with SpotPass.&lt;br /&gt;
&lt;br /&gt;
As of the policylist updated 2017-11-08, this stops the &amp;lt;tt&amp;gt;OlvNotf&amp;lt;/tt&amp;gt; (Miiverse notification sync) task for &amp;lt;tt&amp;gt;000400300000bc00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000bd00&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;000400300000be00&amp;lt;/tt&amp;gt; for all regions and &amp;lt;tt&amp;gt;basho0&amp;lt;/tt&amp;gt; for the [[Home Menu]]. Japan also has the &amp;lt;tt&amp;gt;9ER_NTD&amp;lt;/tt&amp;gt; task blocked for いつの間にテレビ (&amp;lt;tt&amp;gt;0004000000034700&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Titles Spotpass usage ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Title&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| [[Home Menu]]&lt;br /&gt;
| Home Menu uses SpotPass for system notifications, and for uploading data from home-menu shared extdata.&lt;br /&gt;
|-&lt;br /&gt;
| [[System Settings]]&lt;br /&gt;
| System Settings uses SpotPass for uploading data, with this URL: https://npul.c.app.nintendowifi.net/p01/recv/&amp;lt;RegionID&amp;gt;/sendcfg This RegionID is separate from the RegionIDs home-menu uses.&lt;br /&gt;
|-&lt;br /&gt;
| ?&lt;br /&gt;
| Unknown log data is uploaded with this URL: https://logus-p.est.c.app.nintendowifi.net/LogServer_us_live/Upload&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Automatic System Update Download ==&lt;br /&gt;
See [[Automatic System Update Download]].&lt;br /&gt;
&lt;br /&gt;
== Content Container ==&lt;br /&gt;
&lt;br /&gt;
SpotPass content must use this container to encrypt the payload and sign it, for content downloads. The cleartext content is stored in [[extdata]]. The format of these headers is big-endian.&lt;br /&gt;
&lt;br /&gt;
=== BOSS Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number &amp;quot;boss&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Magic Number 0x10001&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Big-endian filesize&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x8&lt;br /&gt;
| u64 release date (UNIX timestamp)&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x2&lt;br /&gt;
| Must always be 0x1&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x2&lt;br /&gt;
| Padding&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header hash type, always 0x2 for SHA-256&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0x2&lt;br /&gt;
| Content header RSA size, always 0x2 for RSA-2048 (X&amp;lt;&amp;lt;7)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0xC&lt;br /&gt;
| First 12 bytes of the Initialization Vector (IV)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Data following the BOSS header is encrypted with AES-CTR. The AES key that is used is stored in [[AES_Registers#Keyslots|keyslot 0x38]]. The first 12 bytes of the IV are from offset 0x1C of the header, while the last 32-bit integer of the IV in big-endian is 0x1. The IV from the header is random per file, and an unique random IV is used each time the content is updated. The cleartext data begins with the content header.&lt;br /&gt;
&lt;br /&gt;
=== Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x10&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x2&lt;br /&gt;
| Used for generating the extdata filepath.&lt;br /&gt;
|-&lt;br /&gt;
| 0x12&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x32&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the above hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The first 0x10-bytes are all-zero except the first byte which is usually 0x80. It&#039;s unknown what the first 0x10-bytes are used for.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x12 hashes the 0x12-byte data at offset 0x0 followed by a zero u16. The RSA signature is signed by Nintendo. Following this header is the actual content payload, which is written to a cleartext file under the [[extdata]] /boss directory. &lt;br /&gt;
&lt;br /&gt;
=== Payload Content Header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x8&lt;br /&gt;
| ProgramID&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Content datatype, used for filtering with [[BOSSU:GetNsDataIdList]].&lt;br /&gt;
Usually 0x10001? (observed 0x20001 in eShop strings)&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Size of the payload after this header&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| [[BOSS_Services|NsDataId]], used for generating the extdata filepath.&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x4&lt;br /&gt;
| Probably some version field for the payload&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C&lt;br /&gt;
| 0x20&lt;br /&gt;
| SHA-256 hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x100&lt;br /&gt;
| RSA-2048 signature over the previous SHA-256 hash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This signature is signed by Nintendo with the same key-pair as the content header.&lt;br /&gt;
&lt;br /&gt;
The hash at offset 0x1C hashes the 0x1C-byte data at offset 0x0 followed by a zero u16, followed by all of the remaining cleartext data following this header(the actual content data).&lt;br /&gt;
&lt;br /&gt;
The downloaded boss data is written in the following format to extdata.&lt;br /&gt;
First an extdata header in the following format&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x1&lt;br /&gt;
| Size of header including this field. Always 0x18&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0xB&lt;br /&gt;
| Usually zero?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x4&lt;br /&gt;
| Download date in format: Bit 0-6 = day, Bit 7-10 = month, Bit 11-21 = year&lt;br /&gt;
|-&lt;br /&gt;
| 0x14&lt;br /&gt;
| 0x4&lt;br /&gt;
| Usually zero? Padding?&lt;br /&gt;
|}&lt;br /&gt;
Followed by the Payload Content Header without the hash and signature (first 0x1C bytes) and the actual payload.&lt;br /&gt;
&lt;br /&gt;
[[Category:Nintendo Software]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=3DS_Development_Unit_Software&amp;diff=21830</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=21830"/>
		<updated>2022-03-11T21:08:05Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* Friend Add Tool */ fixed media link&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;
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;
=System Updaters=&lt;br /&gt;
[[File:CSUscrnshot.png|300px|thumb|right|CSU Screenshot]]&lt;br /&gt;
&lt;br /&gt;
There are two kinds of system updaters for dev (panda) units, CTR System Updater (CSU) and SNAKE System Updater. As the names imply, the former is for original 3DS and the latter is for New 3DS. They are used to update the panda unit&#039;s &#039;firmware&#039;/SDK Version. The romfs of the CSU contains the contents that will be installed to NAND. They contain all system titles as well as Devmenu and Config.&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;
== Home Menu==&lt;br /&gt;
[[File:CTR_HMN_DEV_CPU.png|300px|thumb|right|3DS Dev Homemenu]]&lt;br /&gt;
&lt;br /&gt;
The 3DS Dev Homemenu have some features that the retail one don&#039;t have.&lt;br /&gt;
&lt;br /&gt;
*Debug informations (top screen left, can be shown by pressing X+Y):&lt;br /&gt;
:*Banner region (have every regions and languages, can be changed by pressing B+X),&lt;br /&gt;
:*Build date,&lt;br /&gt;
:*Homemenu rev,&lt;br /&gt;
:*System mode (see config system mode for more infos),&lt;br /&gt;
:*Screen capture (seems to be only for ctr debugger?),&lt;br /&gt;
:*First red bar: Maximum level for the other bars (100%),&lt;br /&gt;
:*Second bar: CPU processing,&lt;br /&gt;
:*Third bar: GPU processing.&lt;br /&gt;
&lt;br /&gt;
*Themes:&lt;br /&gt;
:The Dev Homemenu can load themes in SD:/theme/(theme name)/(theme files).&lt;br /&gt;
:Note that retail themes and setting dev themes in random don&#039;t work.&lt;br /&gt;
&lt;br /&gt;
*Icon database and icon cache:&lt;br /&gt;
:You can delete them by holding X+Y button while booting homemenu.&lt;br /&gt;
&lt;br /&gt;
== Dev Menu ==&lt;br /&gt;
[[File:Devmenuicon.png|||left]]&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|right|Old Dev Menu Screenshot]]&lt;br /&gt;
&lt;br /&gt;
This NAND application (00040000-0ff40002) 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;
*Program - From this tab, 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). Installed software can be uninstalled by pressing X on it.&lt;br /&gt;
&lt;br /&gt;
*Import - From this tab, the SD card can be browsed to select and install a .[[CIA]] file. In later revisions this was renamed to &#039;&#039;SDMC&#039;&#039;. In addition to the marked controls, also pressing X while requesting the installation of one or more CIA will delete them after a successful installation.&lt;br /&gt;
&lt;br /&gt;
*HIO - &amp;quot;Host IO&amp;quot; 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. Only usable on PARTNER-CTR (Capture+)Debugger, as HIO requires a direct USB connection with the console.&lt;br /&gt;
&lt;br /&gt;
*ExtData - From this tab, the 3DS&#039;s [[Extdata]] (except NAND shared extdata) can be deleted.&lt;br /&gt;
&lt;br /&gt;
*SExtData - &amp;quot;Shared Extdata&amp;quot;, this feature was removed early on in the history of this app.&lt;br /&gt;
&lt;br /&gt;
Titles are shown in the Program tab by [[Titles|Unique ID]] and by their [[Product code]] (CTR)/name in header (TWL); some other non-executable special titles (applets or CFAs), explicitly programmed in the specific version of DevMenu, are displayed in red.&lt;br /&gt;
&lt;br /&gt;
To perform a manual update with CIAs on a dev unit, pressing Start + Y while highlighting the NATIVE_FIRM CIA will trigger an option to update firmware, thus allowing a downgrade.&lt;br /&gt;
&lt;br /&gt;
Pressing L + R + Left + B + Start will, after confirmation, bulk uninstall all SDK tools. DevMenu itself will crash a few seconds later.&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 - ?&lt;br /&gt;
|  Applications(SD), Dev NAND Applications, Demos, DSiWare, WebBrowser, TwlNandFiler &lt;br /&gt;
|-&lt;br /&gt;
|  11.4 (0.24.67)&lt;br /&gt;
|  Applications(SD), Dev NAND Applications, Demos, DSiWare, WebBrowser, eShop, Miiverse, TwlNandFiler, dummy CFA &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Config == &lt;br /&gt;
[[File:Configicon.png|||left]]&lt;br /&gt;
&lt;br /&gt;
[[File:3DS_dev_configmenu.JPG|250px|thumb|right|Config Menu Screenshot]]&lt;br /&gt;
[[File:Dev config.jpg|250px|thumb|right|Newer Config Menu Screenshot]]&lt;br /&gt;
&lt;br /&gt;
This NAND application (00040000-0ff40102) is a text-mode advanced configuration menu for the 3DS.&lt;br /&gt;
&lt;br /&gt;
When open, similarly to the regular [[System Settings]], the Home menu is not accessible, and the console is forced to be rebooted on exit (accomplished by pressing the Power button).&lt;br /&gt;
&lt;br /&gt;
The functionality and menu layout of this app has changed a lot over its continuous development; some features include:&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;
*System Mode - [[Memory_layout#FCRAM_memory-regions_layout|Changes the memory mode]] for the Home/Test Menu. (Launching applications will be able to override this setting)&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 (No browser/Miiverse)&lt;br /&gt;
:*Dev2 - 80MB Memory mode&lt;br /&gt;
:*Dev3 - 72MB Memory mode&lt;br /&gt;
:*Dev4 - 32MB Memory mode&lt;br /&gt;
:*snake Prod - 124MB for New-3DS&lt;br /&gt;
:*snake dev1 - 178MB for New-3DS (No browser/Miiverse)&lt;br /&gt;
:*snake dev2 - 124MB for New-3DS&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). If anything other than prod or dev2 is selected, menu settings are automatically changed to test menu.&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;
&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. &lt;br /&gt;
:If the application is not set to handle exceptions, the application quits when an exception occurs. - 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;
*Debug Mode - (enable/disable) - Select enable or disable to enable and disable debugging functions.&lt;br /&gt;
:Debugging is always disabled for retail products.&lt;br /&gt;
&lt;br /&gt;
*Dlp Force Child Import/Dlp Debug - (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;
*Fangate Failure Emulation - Unknown, related to the [[NFC adapter|external Amiibo receiver]]?&lt;br /&gt;
&lt;br /&gt;
*Nup - Enable/disable online check for updates? Such a feature exists on WiiU&lt;br /&gt;
&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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*User Name - Console owner&#039;s &amp;quot;profile&amp;quot; nickname, unrelated to the Personal Mii&lt;br /&gt;
&lt;br /&gt;
*NG Name Flag - declares whether the name is &amp;quot;not good&amp;quot;, i.e. contains a banned word. Normally automatically set by System Settings after a warning; effect unknown.&lt;br /&gt;
&lt;br /&gt;
*CountryId - Changes 3DS between installed countries. It can also be set to an undefined ID (255).&lt;br /&gt;
&lt;br /&gt;
*RegionId - Selects the sub-location (region, state, county), if supported by the selected country. Unidentified is displayed when RegionId is set to 255.&lt;br /&gt;
&lt;br /&gt;
*Hid Setting - (human interface device) Calibrates touch screen and Analog stick.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*FLICKER TOP - Bias voltage for top screen (the misattributed &amp;quot;contrast&amp;quot; or &amp;quot;scanline&amp;quot; control found as potentiometers in the battery compartment in previous color-display Nintendo portables)&lt;br /&gt;
&lt;br /&gt;
*FLICKER BOTTOM - Bias voltage for bottom screen&lt;br /&gt;
&lt;br /&gt;
* ABL ENABLE - &amp;quot;Power Save mode&amp;quot;, adjusts backlight according to displayed image. Can also be enabled on 2DS, on which it is fully functional but the single backlight design may bring questionable results.&lt;br /&gt;
&lt;br /&gt;
* LUMINANCE LEVEL - Brightness. In older versions of Config, it could be set above 5, with no further increment and resulting in crashes of the Home Menu&#039;s quick settings.&lt;br /&gt;
&lt;br /&gt;
* BACKLIGHT DIMMING - Camera-controlled automatic backlight of New-3DS&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*RTC Setting - (real time clock) Sets system time, with equivalent results to System Settings.&lt;br /&gt;
&lt;br /&gt;
*Raw RTC Setting - Adjusts time directly on [[MCU Services|the hardware RTC]]. The resulting time is also displayed as a convenience. If the application being tested uses GetUserTimeOffset() to [[Anti Time-Travel|detect if the user has changed the clock]], this can be used to change the clock without the application detecting it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Eula Setting - Input the &amp;quot;Agree Version&amp;quot;, a 2-byte number representing the latest accepted version (major and minor) of the online services agreement. 00.00 is used to mean &amp;quot;not accepted&amp;quot;. This setting is commonly adjusted to its maximum value, ff.ff, to bypass issues with playing foreign region games online caused by mismatching latest agreement versions.&lt;br /&gt;
&lt;br /&gt;
*Sound Mode - mono/stereo/surround&lt;br /&gt;
&lt;br /&gt;
*Coppacs Setting - In the U.S., a law called the Children&#039;s Online Privacy Protection Act (COPPA) requires consent from the parent or guardian for collection and use of personal information from children under the age of 13. Canada has a nearly identical law. This setting is [[Cfg:GetRegionCanadaUSA|only enabled for software for the Americas region, and when the country in System Settings is set to the US or Canada]].&lt;br /&gt;
&lt;br /&gt;
*Olv Access Key - Related to Olive/OLV/Miiverse. Always appears to be 0 on retail units. WiiU titles have numbers also called OLV access keys in their metadata XMLs.&lt;br /&gt;
&lt;br /&gt;
*Test Setting - Verify operation and calibration of touchscreen and joystick.&lt;br /&gt;
&lt;br /&gt;
*Stereo Camera Cal for Check - Apparently writes incorrect calibration data for the camera.&lt;br /&gt;
&lt;br /&gt;
*Gyro / Accel Cal for Check - Apparently writes incorrect calibration data for the motion sensors.&lt;br /&gt;
       &lt;br /&gt;
*Ctr Info Setting - Loads settings from a ctrsetting.txt present on the SD. Such a sample file is provided in the resources/configtool folder of the SDK.&lt;br /&gt;
:The feature set of this option is only in most part the same as the interactive UI&#039;s, for instance ctrsetting.txt can also configure the DS Profile and [[Parental Controls]].&lt;br /&gt;
&lt;br /&gt;
*Reset Settings - Resets all settings to default. The initial configuration will be run again, but installed applications or their data will not be deleted unlike in a [[System Settings|System Format]].&lt;br /&gt;
&lt;br /&gt;
=CTR-SDK=&lt;br /&gt;
Descriptions Derived from SDK 2.3.4 except where notified otherwise. &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|||left]]&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 text-mode &amp;quot;Downloadplay Client&amp;quot; NAND application (00040000-0ff40402) can be installed as an alternative to the regular Download Play application.&lt;br /&gt;
&lt;br /&gt;
(A Developer 3DS cannot receive software from a Retail 3DS and viceversa due to different encryption keys.) &lt;br /&gt;
&lt;br /&gt;
This application is used for easy testing of 3DS-mode download play &#039;child&#039; apps (DS Download Play is not implemented), 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|||left]]&lt;br /&gt;
&lt;br /&gt;
This developer NAND application (00040000-0ff40702) 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;
The system must be rebooted to exit this app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SaveDataFiler ==&lt;br /&gt;
[[File:Saveflicon.png|||left]]&lt;br /&gt;
[[File:Saveflscnsht.jpg|250px|thumb|right|SaveDataFiler Screenshots]]&lt;br /&gt;
&lt;br /&gt;
This 3DS developer NAND application (00040000-0ff40a02) 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-mode installed and cartridge applications can be exported to the SD Card. After the initial release, button combinations for deleting the entire save archive or resetting the [[Anti Savegame Restore|secure value system]] for the selected title were added. The selected save archive can also be browsed by pressing A.&lt;br /&gt;
The entire save or individual files can be deliberately corrupted.&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 backups created through the first two tebs can be re-imported (with the options of an automatic target selection, or explicitly choosing the SD or the Game Card). Exported data can also be deleted here.&lt;br /&gt;
&lt;br /&gt;
Applications are listed only by Unique Id. TWL-mode software is ignored by this application, while GBA-mode apps will always be shown as not ever having saved (&amp;quot;broken&amp;quot; and highlighted in red).&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;
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;
Pressing L+R+Start will, after confirmation, delete all [[Shared Extdata]]. Home Menu will crash if returned to before rebooting.&lt;br /&gt;
&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|||left]]&lt;br /&gt;
&lt;br /&gt;
This system NAND application (00040010-0ff40b02) 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;
&lt;br /&gt;
It also features a basic [[System Font|font]] test.&lt;br /&gt;
&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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CecBoxTool ==&lt;br /&gt;
&lt;br /&gt;
[[Image:devCECBoxTool.jpg|thumb|200px|CECBoxTool screenshot ]]&lt;br /&gt;
&lt;br /&gt;
Streetpass backup and restore tool, can also delete boxes (disable [[StreetPass]] for a given software), check the number of contents of the inbox and outbox for any given box (or all of them), or reset the MAC filter.&lt;br /&gt;
&lt;br /&gt;
NAND application (00040000-0ff41602)&lt;br /&gt;
&lt;br /&gt;
== CecLotCheckTool ==&lt;br /&gt;
[[File:Ceclotscnsht.jpg|250px|thumb|right|CecLotcheckTool Screenshot]]&lt;br /&gt;
[[File:Cecloticon.png|||left]]&lt;br /&gt;
&lt;br /&gt;
This NAND application (00040000-0f800902) is used to manage CECs (Chance Encounter Communications, AKA StreetPass) for any of the twelve possible applications registered for StreetPass, if there are any.&lt;br /&gt;
&lt;br /&gt;
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 - Resets 8-hour per source rate limit. The [[CECD|StreetPass driver]] runs a [[Configuration_Memory#ENVINFO|ENVINFO]] check to verify independently whether the console is not retail before applying this.&lt;br /&gt;
&lt;br /&gt;
== BossLotCheckTool ==&lt;br /&gt;
[[File:Bosslcscnsht.png|100px|thumb|right|BossLotCheckTool Screenshot]]&lt;br /&gt;
[[File:Bosslcicon.png|||left]]&lt;br /&gt;
&lt;br /&gt;
This application (00040000-0ff40e00) 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|||left]]&lt;br /&gt;
&lt;br /&gt;
The Stereo Camera Calibrator (00040000-0ff40600), 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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SdCardDebugUtility ==&lt;br /&gt;
&amp;lt;!--[[File:SdCardDebugUtilityIcon.png|||left]]--&amp;gt;&lt;br /&gt;
A multipurpose application (00040000-07fffa00) which can:&lt;br /&gt;
&lt;br /&gt;
* Fill most free space on the SD card.&lt;br /&gt;
* Create some sample 2D or 3D pictures.&lt;br /&gt;
* Create empty [[Nintendo 3DS Sound|voice memos]].&lt;br /&gt;
* Launch the picker applets for the former media (neither canceling nor actually selecting a file have any effect).&lt;br /&gt;
* Create dummy SpotPass tasks.&lt;br /&gt;
&lt;br /&gt;
== FragDisk ==&lt;br /&gt;
This SD application (00040000-0ff41800) creates many small files on the SD card, then deletes one out of every two to fragment the free space.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Friend Add Tool ==&lt;br /&gt;
&amp;lt;!--[[File:FriendAddToolIcon.png|||left]]--&amp;gt;&lt;br /&gt;
[[File:FriendAddTool.png|100px|thumb|right|Friend Add Tool Screenshot]]&lt;br /&gt;
The purposes of this tool (00040000-0fe04000) are deleting all friends and/or filling the Friend List with dummy FCs, or with ones loaded from friend_code.txt on the root of the SD card.&lt;br /&gt;
&lt;br /&gt;
This file must contain 1-100 friend codes, one per line. Digits may be grouped at the user&#039;s discretion with spaces, dashes, or nothing.&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|||left]]&lt;br /&gt;
&lt;br /&gt;
The Friend Testing Partner application (00040000-0fe00c00) 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:Coinsticon.png|||left]]  &lt;br /&gt;
[[File:Coinstscnsht.png|100px|thumb|right|Game Coin Setter Screenshot]]&lt;br /&gt;
&lt;br /&gt;
This application (00040000-0ff40d00) 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; Sets byte 6 of [[Extdata#Shared_Extdata_0xf000000b_gamecoin.dat|the play coin database]] so that no coins will be earned through walking for the current day anymore.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PedometerHistoryChanger ==&lt;br /&gt;
A tool (00040000-0ff30300) to preview on-screen, or export to SD, pedometer data.&lt;br /&gt;
&lt;br /&gt;
The format of PedometerExport.csv is: year,month,day,hour,steps during that hour.&lt;br /&gt;
&lt;br /&gt;
Data can be read from an equally formatted PedometerImport.csv, replacing the entire pre-existing history or only conflicting hours at the user&#039;s discretion. History on internal storage can be cleared, too.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== IR Communication Checker ==&lt;br /&gt;
This application has title ID 00040000-0f804900 and cannot be closed (apart from forcing a power cycle).&lt;br /&gt;
&lt;br /&gt;
Counts data seen by the infrared port. It doesn&#039;t have to be valid, as it happily measures a camera flash...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== EcDevTool ==&lt;br /&gt;
&amp;lt;!--[[File:EcDevToolIcon.png|||left]]--&amp;gt;&lt;br /&gt;
[[File:EcDevTool_11.4.png|200px|thumb|right|SDK 11.4 EcDevTool Screenshot]]&lt;br /&gt;
This multipurpose tool (00040000-0ff41b00) provides several features propedeutical to simulating software sales:&lt;br /&gt;
&lt;br /&gt;
* Add balance: self explanatory, not functional on the production eShop server&lt;br /&gt;
* Delete title right: Local and (apparently) server-side [[ticket]] uninstaller&lt;br /&gt;
* Delete eshop account: self explanatory, sometimes functional on the production eShop server&lt;br /&gt;
* Change country - apply a country change without going through the multiple warnings present in the retail eShop app&lt;br /&gt;
* Change tax address - zipcode entry (USA and Canada only).&lt;br /&gt;
&lt;br /&gt;
== Dummy Nintendo eShop ==&lt;br /&gt;
[[File:INdummyshop.png|200px|thumb|right|SDK 11.6 DummyEshop Screenshot]]&lt;br /&gt;
This region-specific application exists to debug &amp;lt;code&amp;gt;API( JumpToEshop() )&amp;lt;/code&amp;gt; on the 3DS. This was created so a developer can test parts of their game in which the player can preview or purchase titles within a game. It is mainly used in conjunction with Downloadable content. It has a very simple interface showing the reason for its existence and controls for exiting to the home menu or finalizing the Dummy Shop. The Dummy Nintendo eShop also shares the same Title ID and Unique ID as the Retail Nintendo E-Shop.&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;
== FangateFwUpdater ==&lt;br /&gt;
&amp;lt;!--[[File:FangateUpdaterIcon.png|||left]]--&amp;gt;&lt;br /&gt;
00040000-0ff41f00 is a tool for updating or destroying (thus enabling downgrade of) the external NFC reader/writer&#039;s firmware. This tool cannot be used with SNAKE development devices or SNAKE development tools. It operates only with CTR development devices and CTR development tools.&lt;br /&gt;
&lt;br /&gt;
== NoftWriter ==&lt;br /&gt;
&amp;lt;!--[[File:NoftWriterIcon.png|||left]]--&amp;gt;&lt;br /&gt;
(00040000-0f807f00) Browse the SD card for Amiibo images, and flash them to non-locked tags. After programming, the tag may be left locked or not at the user&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
== NfpSdmcTool ==&lt;br /&gt;
(00040000-0ff42100) Can read, write, and modify NFP tag data.&lt;br /&gt;
&lt;br /&gt;
== NfpManager ==&lt;br /&gt;
&amp;lt;!--[[File:NfpManagerIcon.png|||left]]--&amp;gt;&lt;br /&gt;
A multipurpose Amiibo tool, having the title ID of 00040000-0ff41e00.&lt;br /&gt;
&lt;br /&gt;
The eventual connection to an external NFC adapter, to the Amiibo, and to its contents can all be enabled or disabled separately.&lt;br /&gt;
&lt;br /&gt;
Amiibo data (owner, save file, or both) can be deleted or replaced.&lt;br /&gt;
&lt;br /&gt;
The local NAND backup of scanned Amiibos can be deleted too.&lt;br /&gt;
&lt;br /&gt;
== NfpUtility ==&lt;br /&gt;
&amp;lt;!--[[File:NfpUtilityIcon.png|||left]]--&amp;gt;&lt;br /&gt;
A simplified, bulk Amiibo checker (00040000-0ff42000)&amp;lt;!--420 blaze it--&amp;gt;: just hold a supported tag over the NFC reader to view a summary of its character identity and owner info.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UdsLocalIdChecker ==&lt;br /&gt;
A scanner for local, console-to-console networks. Its title ID is 00040000-0ff3ff00.&lt;br /&gt;
&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|||left‎]]&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;
=== TWLNandFiler ===&lt;br /&gt;
&lt;br /&gt;
Browse, export, delete and import save archives from TWL Nand. Includes a basic hex viewer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NW4C=&lt;br /&gt;
NintendoWare for CTR is comprised of tools that deal with creating effects, fonts, models, layouts, sound, and text. There are CTR versions of some of the viewers.&lt;br /&gt;
&lt;br /&gt;
==H3D Model Viewer==&lt;br /&gt;
[[File:H3Dscrnshot.png|180px|thumb|right|H3D Viewer Screenshot]]&lt;br /&gt;
[[File:H3Dicon.png|||left]]&lt;br /&gt;
[[File:ModelViewericon.png|||left]]&lt;br /&gt;
[[File:ModelViewer.png|100px|thumb|right|3DS Model Viewer Screenshot]]&lt;br /&gt;
&lt;br /&gt;
Used for viewing Binary CTR Models (.bcmdl): the model can be viewed from any angle or scale, the perspective is controlled by the circle pad and directional buttons.&lt;br /&gt;
&lt;br /&gt;
Models need to be loaded into memory through Host IO, so this application is only usable for its intended purpose on a CTR-PARTNER (Capture-)Debugger; on a CTR-PARTNER Capture or Test Units, the model is restricted to three coloured lines depicting the 3 dimensions (x,y,z).&lt;br /&gt;
&lt;br /&gt;
There is also a Windows port of this program, running in a specialized proprietary emulator.&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;
==Layout Viewer==&lt;br /&gt;
[[File:LYTscrnshot.png|180px|thumb|right|Layout Viewer bottom screen]]&lt;br /&gt;
[[File:LYTicon.png|||left]]&lt;br /&gt;
&lt;br /&gt;
Used for viewing Binary CTR Layouts (.bclyt). It is used with CTR-PARTNER to load layouts into RAM.&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;
==Effect Viewer==&lt;br /&gt;
[[File:EFTscrnshot.png|180px|thumb|right|EffectViewer4C Screenshot]]&lt;br /&gt;
[[File:EFTicon.png|||left]]&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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mobiclip suite=&lt;br /&gt;
Along with (but separately from) the Mobiclip encoder, Nintendo offers to developers:&lt;br /&gt;
&lt;br /&gt;
==3D Movie Player==&lt;br /&gt;
A simple but polished gamecard or SD application (00040000-00036A00) that, comparably to retail multi-video titles (such as &amp;quot;Shaun The Sheep&amp;quot;), allows its user to select moflex files directly from the root of the SD card, then watch them (complete with seek bar, FF/pause/REW buttons, and an auto-dimming user interface!)&lt;br /&gt;
----&lt;br /&gt;
[[Category:3DS Development Unit Related Pages]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=Mii&amp;diff=21813</id>
		<title>Mii</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=Mii&amp;diff=21813"/>
		<updated>2022-02-08T18:38:30Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* Checksum */ The implementation is not wrong it&amp;#039;s just a different one called CRC-16/XMODEM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Originally [http://wiibrew.org/wiki/Mii_Data created for the Nintendo Wii] (and backported to a selection of DS/i games), the &#039;&#039;&#039;Mii&#039;&#039;&#039; format was expanded with a larger selection of facial features and a new &amp;quot;copying&amp;quot; permission for the 3DS family, and later implemented as-is on Wii U.&lt;br /&gt;
&lt;br /&gt;
See [[Mii Maker]] for the application chiefly designed to create, edit, delete, and trade Miis or convert them from and to a QR code.&lt;br /&gt;
&lt;br /&gt;
The default endianness in this page is little-endian, unless explicitly specified.&lt;br /&gt;
&lt;br /&gt;
==Mii Database==&lt;br /&gt;
Format of the Mii main database &#039;&#039;&#039;CFL_DB.dat&#039;&#039;&#039;, found in [[Extdata#NAND_Shared_Extdata|shared extdata]] archive f0000000b.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x4&lt;br /&gt;
| Header &amp;quot;CFOG&amp;quot; (Mii Maker section)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x4&lt;br /&gt;
| Header 0x00000100&lt;br /&gt;
|-&lt;br /&gt;
| 0x8&lt;br /&gt;
| 0x23F0 (100 * 0x5C)&lt;br /&gt;
| Array of owned (saved in Mii Maker) Miis. Order in file is unrelated to canonical order in-app.&lt;br /&gt;
|-&lt;br /&gt;
| 0x23F8&lt;br /&gt;
| 0x4&lt;br /&gt;
| Header &amp;quot;CFHE&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0x23FC&lt;br /&gt;
| 0x2&lt;br /&gt;
| Linked list tail index. 0xFFFF if the list is empty&lt;br /&gt;
|-&lt;br /&gt;
| 0x23FE&lt;br /&gt;
| 0x2&lt;br /&gt;
| Linked list head index. 0xFFFF if the list is empty&lt;br /&gt;
|-&lt;br /&gt;
| 0x2400&lt;br /&gt;
| 0xA410 (3000 * 0xE)&lt;br /&gt;
| Linked list of objects? See chapter&lt;br /&gt;
|-&lt;br /&gt;
| 0xC810&lt;br /&gt;
| 0xE&lt;br /&gt;
| Padding?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC81E&lt;br /&gt;
| 0x2&lt;br /&gt;
| Checksum of all of the above (the first 0xC81E byte). See section [[#Checksum|below]].&lt;br /&gt;
|-&lt;br /&gt;
| 0xC820&lt;br /&gt;
| 0x4&lt;br /&gt;
| Header &amp;quot;CFRA&amp;quot; (Invitations section)&lt;br /&gt;
|-&lt;br /&gt;
| 0xC824&lt;br /&gt;
| 0x4&lt;br /&gt;
| Mii count in this section. Maximum 100&lt;br /&gt;
|-&lt;br /&gt;
| 0xC828&lt;br /&gt;
| 0x64 (100 * 0x1)&lt;br /&gt;
| Order index of Mii in this section?&lt;br /&gt;
|-&lt;br /&gt;
| 0xC88C&lt;br /&gt;
| 0x1C20 (100 * 0x48)&lt;br /&gt;
| Array of Miis contributed from games, used for Mii Plaza &amp;quot;invitations&amp;quot; feature.&amp;lt;br/&amp;gt;The format isn&#039;t that of a full Mii. The &amp;quot;author&amp;quot; field is missing&lt;br /&gt;
|-&lt;br /&gt;
| 0xE4AC&lt;br /&gt;
| 0x12&lt;br /&gt;
| 01 00 [..] 00&lt;br /&gt;
|-&lt;br /&gt;
| 0xE4BE&lt;br /&gt;
| 0x2&lt;br /&gt;
| Checksum over the data above starting from 0xC820&lt;br /&gt;
|-&lt;br /&gt;
| 0xE4C0&lt;br /&gt;
| 0x3D860 (3000 * 0x54)&lt;br /&gt;
| Another array of Miis. Seems related to the CFHE section. &amp;lt;br/&amp;gt;The Mii format in this section is modified. The &amp;quot;author&amp;quot; field is missing, A 4-byte timestamp (seconds since 2000) together with 8-byte zeros(?) is appended at the end.&lt;br /&gt;
|}&lt;br /&gt;
When encrypted in QR codes, 4 additional bytes are added. Two null bytes and a CRC-16. It&#039;s the exact same CRC-16 as for the Wii blocks on the 0x5e first bytes. It seems that the CRC is ignored, the Mii Maker expecting the result of APT:Unwrap to detect integrity loss.&lt;br /&gt;
&lt;br /&gt;
==CFHE object==&lt;br /&gt;
&lt;br /&gt;
A 0xE-byte long linked list node. The format is 4-byte Mii ID (See Mii format) + 6-byte MAC + 2-byte previous node index (prev) + 2-byte next node index (next).&lt;br /&gt;
&lt;br /&gt;
An invalid node has value: ID = 0, MAC = 0, prev = 0x7FFF, next = 0x7FFF.&lt;br /&gt;
&lt;br /&gt;
The highest bit of these fields has some special meaning and isn&#039;t part of the index value.&lt;br /&gt;
&lt;br /&gt;
==Checksum==&lt;br /&gt;
&lt;br /&gt;
The algorithm used to verify the integrity of the database is based on CRC-16/XMODEM. It is the same algorithm used to verify [http://wiibrew.org/wiki/Mii_Data#Block_format Mii Data on the Wii].&lt;br /&gt;
&lt;br /&gt;
To obtain the correct value for the checksum, apply the algorithm to the first 0xC81E bytes of the database. This can be done using [https://gbatemp.net/threads/tutorial-give-your-mii-gold-pants-and-use-it-for-streetpass.379146/page-24#post-6569186 FixCRC]; alternativly a pseudocode implementation of the checksum algorithm is given below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def crc16_CCITTWii(u8[]: data) -&amp;gt; u16:&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Calculate a checksum of data using the CRC-16/XMODEM implementation&lt;br /&gt;
&lt;br /&gt;
    CRC-16/XMODEM implementation uses 0x0000 as the starting value&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    u32 crc := 0x0&lt;br /&gt;
&lt;br /&gt;
    for byte in data:&lt;br /&gt;
        # Iterate over every of the 8 bits in byte.&lt;br /&gt;
        # Begin with the most significant bit. (7, 6, ... , 1, 0)&lt;br /&gt;
        for bit in 7..0:&lt;br /&gt;
            # &amp;amp; - binary `and&#039;; &amp;lt;&amp;lt;/&amp;gt;&amp;gt; - bitshift left/right; ^ - binary `xor&#039;&lt;br /&gt;
            crc := (&lt;br /&gt;
                     (crc &amp;lt;&amp;lt; 1) | ((byte &amp;gt;&amp;gt; bit) &amp;amp; 0x1)&lt;br /&gt;
                     ^ (0x1021 if crc &amp;amp; 0x8000 else 0)&lt;br /&gt;
                   )&lt;br /&gt;
&lt;br /&gt;
    for _ in 0..15:&lt;br /&gt;
        crc := (crc &amp;lt;&amp;lt; 1) ^ (0x1021 if crc &amp;amp; 0x8000 else 0)&lt;br /&gt;
&lt;br /&gt;
    # only return the lowest 16 bit of crc&lt;br /&gt;
    return (u16) (crc &amp;amp; 0xffff)&lt;br /&gt;
&lt;br /&gt;
checksum := crc16_CCITTWii(miidb[0:0xc81e]) # checksum over the first 0xc81e bytes&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mii format==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Length&lt;br /&gt;
! &lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| 0x1&lt;br /&gt;
| Mii Version - Always 3&lt;br /&gt;
|-&lt;br /&gt;
| 0x1&lt;br /&gt;
| 0x1&lt;br /&gt;
| bit 0: allow copying&amp;lt;br/&amp;gt;bit 1: profanity flag (whether in Mii name or creator name does not matter)&amp;lt;br/&amp;gt;bit 2-3: region lock (0=no lock, 1=JPN, 2=USA, 3=EUR)&amp;lt;br/&amp;gt;bit4-5:character set(0=JPN+USA+EUR, 1=CHN, 2=KOR, 3=TWN)&lt;br /&gt;
|-&lt;br /&gt;
| 0x2&lt;br /&gt;
| 0x1&lt;br /&gt;
| Mii position shown on the selection screen&amp;lt;br/&amp;gt;bit 0-3: page index &amp;lt;br/&amp;gt;bit 4-7: slot index&lt;br /&gt;
|-&lt;br /&gt;
| 0x3&lt;br /&gt;
| 0x1&lt;br /&gt;
| bit 0-3: ?&amp;lt;br/&amp;gt;bit 4-6: Device Mii was originally made on (1=Wii, 2=DS, 3=3DS, 4=Wii U/Switch)&lt;br /&gt;
|-&lt;br /&gt;
| 0x4&lt;br /&gt;
| 0x8&lt;br /&gt;
| System ID (identifies owner, for purpose of enforcing editing restrictions and blue pants).&amp;lt;br/&amp;gt;Is not tied to the MAC address anymore.&lt;br /&gt;
|-&lt;br /&gt;
| 0xC&lt;br /&gt;
| 0x4&lt;br /&gt;
| Mii ID (big-endian 32bit unsigned integer):&amp;lt;br/&amp;gt;Bit 0..27: (bit[0..27] * 2) = date of creation (seconds since 01/01/2010 00:00:00)&amp;lt;br/&amp;gt;Bit 28: Always set?&amp;lt;br/&amp;gt;Bit 29: set for temporary Mii&amp;lt;br/&amp;gt;Bit 30: Set for DSi mii?&amp;lt;br/&amp;gt;Bit 31: not set if Mii is special&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0x6&lt;br /&gt;
| Creator&#039;s full MAC&lt;br /&gt;
|-&lt;br /&gt;
| 0x16&lt;br /&gt;
| 0x2&lt;br /&gt;
| Padding (0000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 0x2&lt;br /&gt;
| bit 0: sex (0 if male, 1 if female)&amp;lt;br/&amp;gt;bit 1-4: birthday month&amp;lt;br/&amp;gt;bit 5-9: birthday day&amp;lt;br/&amp;gt;bit 10-13: favorite color&amp;lt;br/&amp;gt;bit 14: favorite mii (0 if false, 1 if true)&lt;br /&gt;
|-&lt;br /&gt;
| 0x1A&lt;br /&gt;
| 0x14&lt;br /&gt;
| UTF-16 Mii Name (10 chars max, 0000 terminated)&lt;br /&gt;
|-&lt;br /&gt;
| 0x2E&lt;br /&gt;
| 0x2&lt;br /&gt;
| width &amp;amp; height&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 0x1&lt;br /&gt;
| bit 0: disable sharing&amp;lt;br/&amp;gt;bit 1-4: face shape&amp;lt;br/&amp;gt;bit 5-7: skin color&lt;br /&gt;
|-&lt;br /&gt;
| 0x31&lt;br /&gt;
| 0x1&lt;br /&gt;
| bit 0-3: wrinkles&amp;lt;br/&amp;gt;bit 4-7: makeup&lt;br /&gt;
|-&lt;br /&gt;
| 0x32&lt;br /&gt;
| 0x1&lt;br /&gt;
| hair style&lt;br /&gt;
|-&lt;br /&gt;
| 0x33&lt;br /&gt;
| 0x1&lt;br /&gt;
| bit 0-2: hair color&amp;lt;br/&amp;gt;bit 3: flip hair&lt;br /&gt;
|-&lt;br /&gt;
| 0x34&lt;br /&gt;
| 0x4&lt;br /&gt;
| bit 0-5: eye style&amp;lt;br/&amp;gt;bit 6-8: eye color &amp;lt;br/&amp;gt;bit 9-12: eye scale &amp;lt;br/&amp;gt;bit 13-15: eye yscale&amp;lt;br/&amp;gt;bit 16-20: eye rotation&amp;lt;br/&amp;gt;bit 21-24: eye x spacing&amp;lt;br/&amp;gt;bit 25-29: eye y position&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 0x4&lt;br /&gt;
| bit 0-4: eyebrow style&amp;lt;br/&amp;gt;bit 5-7: eyebrow color &amp;lt;br/&amp;gt;bit 8-11: eyebrow scale&amp;lt;br/&amp;gt;bit 12-14: eyebrow yscale &amp;lt;br/&amp;gt;bit 16-19: eyebrow rotation&amp;lt;br/&amp;gt;bit 21-24: eyebrow x spacing&amp;lt;br/&amp;gt;bit 25-29: eyebrow y position&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 0x2&lt;br /&gt;
| bit 0-4: nose style&amp;lt;br/&amp;gt;bit 5-8: nose scale&amp;lt;br/&amp;gt;bit 9-13: nose y position&lt;br /&gt;
|-&lt;br /&gt;
| 0x3E&lt;br /&gt;
| 0x2&lt;br /&gt;
| bit 0-5: mouth style&amp;lt;br/&amp;gt;bit 6-8: mouth color&amp;lt;br/&amp;gt;bit 9-12: mouth scale&amp;lt;br/&amp;gt;bit 13-15: mouth yscale&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 0x2&lt;br /&gt;
| bit 0-4: mouth y position&amp;lt;br/&amp;gt;bit 5-7: mustach style&lt;br /&gt;
|-&lt;br /&gt;
| 0x42&lt;br /&gt;
| 0x2&lt;br /&gt;
| bit 0-2: beard style&amp;lt;br/&amp;gt;bit 3-5: beard color&amp;lt;br/&amp;gt;bit 6-9: mustache scale&amp;lt;br/&amp;gt;bit 10-14:mustache y position&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| 0x2&lt;br /&gt;
| bit 0-3: glasses style&amp;lt;br/&amp;gt;bit 4-6: glasses color&amp;lt;br/&amp;gt;bit 7-10: glasses scale&amp;lt;br/&amp;gt;bit 11-15: glasses y position&lt;br /&gt;
|-&lt;br /&gt;
| 0x46&lt;br /&gt;
| 0x2&lt;br /&gt;
| bit 0: enable mole&amp;lt;br/&amp;gt;bit 1-4: mole scale&amp;lt;br/&amp;gt;bit 5-9: mole x position&amp;lt;br/&amp;gt;bit 10-14: mole y position&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 0x14&lt;br /&gt;
| UTF-16 Author Name (10 chars max, 0000 terminated)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Mii categories (pants colors)==&lt;br /&gt;
&lt;br /&gt;
====Special (gold) Miis====&lt;br /&gt;
Specialness will override any other pants color.&lt;br /&gt;
&lt;br /&gt;
A special Mii cannot have sharing on or else it will be deemed invalid.&lt;br /&gt;
&lt;br /&gt;
Zeroed system-id and timestamp?&lt;br /&gt;
&lt;br /&gt;
====Imported (blue) Miis====&lt;br /&gt;
Any (non-gold) Mii with a different System ID will appear as a foreign one.&lt;br /&gt;
&lt;br /&gt;
There is also a range of Mii IDs that are always foreign and uneditable, regardless of the System ID:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Regular (black/red) Miis====&lt;br /&gt;
Always editable, since they can only appear as such on the console that created them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Personal (red) Mii====&lt;br /&gt;
A red Mii that happens to be the first in the file!&lt;br /&gt;
&lt;br /&gt;
The Mii doesn&#039;t really need to be red, it is only red because the personal Mii is always favorited.&lt;br /&gt;
&lt;br /&gt;
==Mii values==&lt;br /&gt;
Each of the following values were found with NTR Debugger:&lt;br /&gt;
If you want to access the value, grab the given &amp;quot;NTR address&amp;quot; and add 0x08815000.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Data&lt;br /&gt;
! NTR address&lt;br /&gt;
! Variation (hex)&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Face style&lt;br /&gt;
| 0x894&lt;br /&gt;
| 00-0B&lt;br /&gt;
| Not ordered as in editor, read below&lt;br /&gt;
|-&lt;br /&gt;
| Face color&lt;br /&gt;
| 0x898&lt;br /&gt;
| 00-05&lt;br /&gt;
| From top to bottom&lt;br /&gt;
|-&lt;br /&gt;
| Wrinkles&lt;br /&gt;
| 0x89C&lt;br /&gt;
| 00-0B&lt;br /&gt;
| Same order as displayed in editor&lt;br /&gt;
|-&lt;br /&gt;
| Makeup&lt;br /&gt;
| 0x8A0&lt;br /&gt;
| 00-0B&lt;br /&gt;
| Same order as displayed in editor&lt;br /&gt;
|-&lt;br /&gt;
| Hair style&lt;br /&gt;
| 0x8A4&lt;br /&gt;
| 00-84&lt;br /&gt;
| Not ordered as in editor, read below&lt;br /&gt;
|-&lt;br /&gt;
| Hair color&lt;br /&gt;
| 0x8A8&lt;br /&gt;
| 00-07&lt;br /&gt;
| From top to bottom&lt;br /&gt;
|-&lt;br /&gt;
| Hair flipped&lt;br /&gt;
| 0x8AC&lt;br /&gt;
| 1 if true&lt;br /&gt;
| From top to bottom&lt;br /&gt;
|-&lt;br /&gt;
| Eye style&lt;br /&gt;
| 0x8B0&lt;br /&gt;
| 00-3C&lt;br /&gt;
| Not ordered as in editor, read below&lt;br /&gt;
|-&lt;br /&gt;
| Eyes color&lt;br /&gt;
| 0x8B4&lt;br /&gt;
| 00-05&lt;br /&gt;
| From top to bottom&lt;br /&gt;
|-&lt;br /&gt;
| Eyes size&lt;br /&gt;
| 0x8B8&lt;br /&gt;
| 07-00&lt;br /&gt;
| Left button increases value.&lt;br /&gt;
|-&lt;br /&gt;
| Eyes thickness&lt;br /&gt;
| 0x8BC&lt;br /&gt;
| 06-00&lt;br /&gt;
| Left button increases value.&lt;br /&gt;
|-&lt;br /&gt;
| Eyes rotation&lt;br /&gt;
| 0x8C0&lt;br /&gt;
| 00-07&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Eyes spacing&lt;br /&gt;
| 0x8C4&lt;br /&gt;
| 00-0C&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Eyes height&lt;br /&gt;
| 0x8C8&lt;br /&gt;
| 00-12&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Eyebrows style&lt;br /&gt;
| 0x8CC&lt;br /&gt;
| 00-18&lt;br /&gt;
| Not ordered as in editor, read below&lt;br /&gt;
|-&lt;br /&gt;
| Eyebrows color&lt;br /&gt;
| 0x8D0&lt;br /&gt;
| 00-07&lt;br /&gt;
| From top to bottom&lt;br /&gt;
|-&lt;br /&gt;
| Eyebrows size&lt;br /&gt;
| 0x8D4&lt;br /&gt;
| 08-00&lt;br /&gt;
| Left button increases value.&lt;br /&gt;
|-&lt;br /&gt;
| Eyebrows thickness&lt;br /&gt;
| 0x8D8&lt;br /&gt;
| 06-00&lt;br /&gt;
| Left button increases value.&lt;br /&gt;
|-&lt;br /&gt;
| Eyebrows rotation&lt;br /&gt;
| 0x8DC&lt;br /&gt;
| 00-0B&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Eyebrows spacing&lt;br /&gt;
| 0x8E0&lt;br /&gt;
| 00-0C&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Eyebrows height&lt;br /&gt;
| 0x8E4&lt;br /&gt;
| 03-12&lt;br /&gt;
| Yup, minimum is 0x03&lt;br /&gt;
|-&lt;br /&gt;
| Nose style&lt;br /&gt;
| 0x8E8&lt;br /&gt;
| 00-11&lt;br /&gt;
| Not ordered as in editor, read below&lt;br /&gt;
|-&lt;br /&gt;
| Nose size&lt;br /&gt;
| 0x8EC&lt;br /&gt;
| 08-00&lt;br /&gt;
| Left button increases value.&lt;br /&gt;
|-&lt;br /&gt;
| Nose height&lt;br /&gt;
| 0x8F0&lt;br /&gt;
| 00-12&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mouth style&lt;br /&gt;
| 0x8F4&lt;br /&gt;
| 00-23&lt;br /&gt;
| Not ordered as in editor, read below&lt;br /&gt;
|-&lt;br /&gt;
| Mouth color&lt;br /&gt;
| 0x8F8&lt;br /&gt;
| 00-04&lt;br /&gt;
| From top to bottom.&lt;br /&gt;
|-&lt;br /&gt;
| Mouth size&lt;br /&gt;
| 0x8FC&lt;br /&gt;
| 08-00&lt;br /&gt;
| Left button increases value.&lt;br /&gt;
|-&lt;br /&gt;
| Mouth thickness&lt;br /&gt;
| 0x900&lt;br /&gt;
| 06-00&lt;br /&gt;
| Left button increases value.&lt;br /&gt;
|-&lt;br /&gt;
| Mouth height&lt;br /&gt;
| 0x904&lt;br /&gt;
| 00-12&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mustache style&lt;br /&gt;
| 0x908&lt;br /&gt;
| 00-05&lt;br /&gt;
| Order like in editor.&lt;br /&gt;
|-&lt;br /&gt;
| Beard style&lt;br /&gt;
| 0x90C&lt;br /&gt;
| 00-05&lt;br /&gt;
| Order like in editor.&lt;br /&gt;
|-&lt;br /&gt;
| Mustache/Beard color&lt;br /&gt;
| 0x910&lt;br /&gt;
| 00-07&lt;br /&gt;
| From top to button.&lt;br /&gt;
|-&lt;br /&gt;
| Mustache size&lt;br /&gt;
| 0x914&lt;br /&gt;
| 08-00&lt;br /&gt;
| Left button increases value.&lt;br /&gt;
|-&lt;br /&gt;
| Mustache height&lt;br /&gt;
| 0x918&lt;br /&gt;
| 00-10&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Glasses style&lt;br /&gt;
| 0x91C&lt;br /&gt;
| 00-08&lt;br /&gt;
| Order like in editor.&lt;br /&gt;
|-&lt;br /&gt;
| Glasses color&lt;br /&gt;
| 0x920&lt;br /&gt;
| 00-05&lt;br /&gt;
| From top to bottom&lt;br /&gt;
|-&lt;br /&gt;
| Glasses size&lt;br /&gt;
| 0x924&lt;br /&gt;
| 07-00&lt;br /&gt;
| Left button increases value.&lt;br /&gt;
|-&lt;br /&gt;
| Glasses height&lt;br /&gt;
| 0x928&lt;br /&gt;
| 00-14&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mole enable&lt;br /&gt;
| 0x92C&lt;br /&gt;
| 1 if enabled, 0 else.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mole size&lt;br /&gt;
| 0x930&lt;br /&gt;
| 08-00&lt;br /&gt;
| Left button increases value.&lt;br /&gt;
|-&lt;br /&gt;
| Mole horiz pos&lt;br /&gt;
| 0x934&lt;br /&gt;
| 00-10&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mole vert pos&lt;br /&gt;
| 0x938&lt;br /&gt;
| 00-1E&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mii height&lt;br /&gt;
| 0x93C&lt;br /&gt;
| 00-7F&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mii weight&lt;br /&gt;
| 0x940&lt;br /&gt;
| 00-7F&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mii name&lt;br /&gt;
| 0x944-0x959&lt;br /&gt;
| UTF-16&lt;br /&gt;
| Terminated with 0x0000. Not updated immediatly?&lt;br /&gt;
|-&lt;br /&gt;
| Creator&#039;s name&lt;br /&gt;
| 0x95A-96F&lt;br /&gt;
| UTF-16&lt;br /&gt;
| Terminated with 0x0000. Not updated immediatly?&lt;br /&gt;
|-&lt;br /&gt;
| Mii gender&lt;br /&gt;
| 0x970&lt;br /&gt;
| 0: Male, 1: Female&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Birthdate month&lt;br /&gt;
| 0x974&lt;br /&gt;
| 01-0C&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Birthdate day&lt;br /&gt;
| 0x978&lt;br /&gt;
| 01-1F&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Mii shirt color&lt;br /&gt;
| 0x97C&lt;br /&gt;
| 00-0B&lt;br /&gt;
| Ordered like in editor.&lt;br /&gt;
|-&lt;br /&gt;
| Favorite&lt;br /&gt;
| 0x980&lt;br /&gt;
| 0: false, 1: true&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Allow copy&lt;br /&gt;
| 0x981&lt;br /&gt;
| 0: false, 1: true&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Unused byte?&lt;br /&gt;
| 0x982&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Allow sharing&lt;br /&gt;
| 0x983&lt;br /&gt;
| 0: true, 1: false&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ???&lt;br /&gt;
| 0x984-0x98F&lt;br /&gt;
| All zero?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ???&lt;br /&gt;
| 0x990-0x997&lt;br /&gt;
| 4?&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
0x08815998: Same 4 bytes as encrypted Mii: first 4 bits for Mii type, 4 next for number of seconds since 01/01/2010 00:00:00 UTC+3 (should be verified by other country and region 3DS) divided by 2.&lt;br /&gt;
0x0881599C: 6 bytes of MAC address of the 3DS that created the Mii.&lt;br /&gt;
0x088159A2: 6 unknow uses bytes&lt;br /&gt;
0x088159A8: Same 8 bytes as decrypted Mii at 0x04 through 0x0B. Seems NAND specific, kept the same on Miis created on same NAND but different 3DS via System Transfer. Might be a coincidence but the two first bytes are in ID0 folder name in the Nintendo 3DS folder.&lt;br /&gt;
&lt;br /&gt;
===Mapped Editor &amp;lt;-&amp;gt; Hex values===&lt;br /&gt;
&lt;br /&gt;
Most of the values are ordered (left button decreases, right increases, color choices are top to bottom...) but for most &amp;quot;main&amp;quot; part of the UI, where you choose the style of the part being edited, hex values has no correlation with displayed order.&lt;br /&gt;
Here is a JSON that can go from a Part, a Page and Position to the right hex value. This is 0 indexed (eg: datas[&amp;quot;face&amp;quot;][0][11]).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{&lt;br /&gt;
face: [&lt;br /&gt;
    0x00,0x01,0x08,&lt;br /&gt;
    0x02,0x03,0x09,&lt;br /&gt;
    0x04,0x05,0x0a,&lt;br /&gt;
    0x06,0x07,0x0b&lt;br /&gt;
],&lt;br /&gt;
hairs: [&lt;br /&gt;
    [0x21,0x2f,0x28,&lt;br /&gt;
    0x25,0x20,0x6b,&lt;br /&gt;
    0x30,0x33,0x37,&lt;br /&gt;
    0x46,0x2c,0x42],&lt;br /&gt;
    [0x34,0x32,0x26,&lt;br /&gt;
    0x31,0x2b,0x1f,&lt;br /&gt;
    0x38,0x44,0x3e,&lt;br /&gt;
    0x73,0x4c,0x77],&lt;br /&gt;
    [0x40,0x51,0x74,&lt;br /&gt;
    0x79,0x16,0x3a,&lt;br /&gt;
    0x3c,0x57,0x7d,&lt;br /&gt;
    0x75,0x49,0x4b],&lt;br /&gt;
    [0x2a,0x59,0x39,&lt;br /&gt;
    0x36,0x50,0x22,&lt;br /&gt;
    0x17,0x56,0x58,&lt;br /&gt;
    0x76,0x27,0x24],&lt;br /&gt;
    [0x2d,0x43,0x3b,&lt;br /&gt;
    0x41,0x29,0x1e,&lt;br /&gt;
    0x0c,0x10,0x0a,&lt;br /&gt;
    0x52,0x80,0x81],&lt;br /&gt;
    [0x0e,0x5f,0x69,&lt;br /&gt;
    0x64,0x06,0x14,&lt;br /&gt;
    0x5d,0x66,0x1b,&lt;br /&gt;
    0x04,0x11,0x6e],&lt;br /&gt;
    [0x7b,0x08,0x6a,&lt;br /&gt;
    0x48,0x03,0x15,&lt;br /&gt;
    0x00,0x62,0x3f,&lt;br /&gt;
    0x5a,0x0b,0x78],&lt;br /&gt;
    [0x05,0x4a,0x6c,&lt;br /&gt;
    0x5e,0x7c,0x19,&lt;br /&gt;
    0x63,0x45,0x23,&lt;br /&gt;
    0x0d,0x7a,0x71],&lt;br /&gt;
    [0x35,0x18,0x55,&lt;br /&gt;
    0x53,0x47,0x83,&lt;br /&gt;
    0x60,0x65,0x1d,&lt;br /&gt;
    0x07,0x0f,0x70],&lt;br /&gt;
    [0x4f,0x01,0x6d,&lt;br /&gt;
    0x7f,0x5b,0x1a,&lt;br /&gt;
    0x3d,0x67,0x02,&lt;br /&gt;
    0x4d,0x12,0x5c],&lt;br /&gt;
    [0x54,0x09,0x13,&lt;br /&gt;
    0x82,0x61,0x68,&lt;br /&gt;
    0x2e,0x4e,0x1c,&lt;br /&gt;
    0x72,0x7e,0x6f]&lt;br /&gt;
],&lt;br /&gt;
eyebrows: [&lt;br /&gt;
    [0x06,0x00,0x0c,&lt;br /&gt;
    0x01,0x09,0x13,&lt;br /&gt;
    0x07,0x15,0x08,&lt;br /&gt;
    0x11,0x05,0x04],&lt;br /&gt;
    [0x0b,0x0a,0x02,&lt;br /&gt;
    0x03,0x0e,0x14,&lt;br /&gt;
    0x0f,0x0d,0x16,&lt;br /&gt;
    0x12,0x10,0x17]&lt;br /&gt;
],&lt;br /&gt;
eyes: [&lt;br /&gt;
    [0x02,0x04,0x00,&lt;br /&gt;
    0x08,0x27,0x11,&lt;br /&gt;
    0x01,0x1a,0x10,&lt;br /&gt;
    0x0f,0x1b,0x14],&lt;br /&gt;
    [0x21,0x0b,0x13,&lt;br /&gt;
    0x20,0x09,0x0c,&lt;br /&gt;
    0x17,0x22,0x15,&lt;br /&gt;
    0x19,0x28,0x23],&lt;br /&gt;
    [0x05,0x29,0x0d,&lt;br /&gt;
    0x24,0x25,0x06,&lt;br /&gt;
    0x18,0x1e,0x1f,&lt;br /&gt;
    0x12,0x1c,0x2e],&lt;br /&gt;
    [0x07,0x2c,0x26,&lt;br /&gt;
    0x2a,0x2d,0x1d,&lt;br /&gt;
    0x03,0x2b,0x16,&lt;br /&gt;
    0x0a,0x0e,0x2f],&lt;br /&gt;
    [0x30,0x31,0x32,&lt;br /&gt;
    0x35,0x3b,0x38,&lt;br /&gt;
    0x36,0x3a,0x39,&lt;br /&gt;
    0x37,0x33,0x34]&lt;br /&gt;
],&lt;br /&gt;
nose: [&lt;br /&gt;
    [0x01,0x0a,0x02,&lt;br /&gt;
    0x03,0x06,0x00,&lt;br /&gt;
    0x05,0x04,0x08,&lt;br /&gt;
    0x09,0x07,0x0B],&lt;br /&gt;
    [0x0d,0x0e,0x0c,&lt;br /&gt;
    0x11,0x10,0x0f]&lt;br /&gt;
],&lt;br /&gt;
mouth: [&lt;br /&gt;
    [0x17,0x01,0x13,&lt;br /&gt;
    0x15,0x16,0x05,&lt;br /&gt;
    0x00,0x08,0x0a,&lt;br /&gt;
    0x10,0x06,0x0d],&lt;br /&gt;
    [0x07,0x09,0x02,&lt;br /&gt;
    0x11,0x03,0x04,&lt;br /&gt;
    0x0f,0x0b,0x14,&lt;br /&gt;
    0x12,0x0e,0x0c],&lt;br /&gt;
    [0x1b,0x1e,0x18,&lt;br /&gt;
    0x19,0x1d,0x1c,&lt;br /&gt;
    0x1a,0x23,0x1f,&lt;br /&gt;
    0x22,0x21,0x20]&lt;br /&gt;
]&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=CSEQ&amp;diff=21608</id>
		<title>CSEQ</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=CSEQ&amp;diff=21608"/>
		<updated>2021-09-28T12:58:34Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: Created page with &amp;quot; ==File Format== ===Header=== The header has almost the same format as CSAR files {| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; |- !  OFFSET !  SIZE !  DESCRIPTION |- |  0x0 |  0x4 |  Magic...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==File Format==&lt;br /&gt;
===Header===&lt;br /&gt;
The header has almost the same format as CSAR files&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;
|  Magic word &amp;quot;CSEQ&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x4&lt;br /&gt;
|  0x2&lt;br /&gt;
|  Byte order mark (0xFEFF = Big Endian, 0xFFFE = Little Endian)&lt;br /&gt;
|-&lt;br /&gt;
|  0x6&lt;br /&gt;
|  0x2&lt;br /&gt;
|  Length of CSEQ header&lt;br /&gt;
|-&lt;br /&gt;
|  0x8&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Version&lt;br /&gt;
|-&lt;br /&gt;
|  0xC&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Length of the entire CSEQ file (starting from 0x0)&lt;br /&gt;
|-&lt;br /&gt;
|  0x10&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Amount of main partitions in the CSEQ (DATA + LABL = 2)&lt;br /&gt;
|-&lt;br /&gt;
|  0x14&lt;br /&gt;
|  0x4&lt;br /&gt;
|  DATA partition reference ID? (Always 0x5000)&lt;br /&gt;
|-&lt;br /&gt;
|  0x18&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Absolute offset of DATA partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x1C&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Size of DATA partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x20&lt;br /&gt;
|  0x4&lt;br /&gt;
|  LABL partition reference ID? (Always 0x5001)&lt;br /&gt;
|-&lt;br /&gt;
|  0x24&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Absolute offset of LABL partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x28&lt;br /&gt;
|  0x4&lt;br /&gt;
|  Size of LABL partition&lt;br /&gt;
|-&lt;br /&gt;
|  0x2C&lt;br /&gt;
|  0x14&lt;br /&gt;
|  Padding / Resevered for 2 more partitions&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=GFCP&amp;diff=21605</id>
		<title>GFCP</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=GFCP&amp;diff=21605"/>
		<updated>2021-09-28T04:49:03Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* File Format */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;GFCP&#039;&#039;&#039; is a container for compression.&lt;br /&gt;
&lt;br /&gt;
==File Format==&lt;br /&gt;
&lt;br /&gt;
===Header===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset !!  Size !! Type !!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 4 || char[4] || Magic Word &#039;GFCP&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || 4 || uint32 || Always 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || 4 || uint32 || Compression type/algorithm which was used to compress the data&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || 4 || uint32 || Raw/Uncompressed data size&lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || 4 || uint32 || Compressed data size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The remaining data is the compressed data. It should have the same size as stated in the &#039;&#039;Compressed data size&#039;&#039; field of the header.&lt;br /&gt;
&lt;br /&gt;
===Algorithms===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  ID !!  Algorithm&lt;br /&gt;
|-&lt;br /&gt;
| 1 || byte pair encoding&lt;br /&gt;
|-&lt;br /&gt;
| 2 || LZ77&lt;br /&gt;
|-&lt;br /&gt;
| 3 || [https://wiibrew.org/wiki/LZ77 LZ77] Version 0x10 but without header&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=GFCP&amp;diff=21599</id>
		<title>GFCP</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=GFCP&amp;diff=21599"/>
		<updated>2021-09-27T18:14:26Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* Algorithms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;GFCP&#039;&#039;&#039; is a container for compression.&lt;br /&gt;
&lt;br /&gt;
==File Format==&lt;br /&gt;
&lt;br /&gt;
===Header===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset !!  Size !! Type !!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 4 || char[4] || Magic Word &#039;GFCP&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || 4 || uint32 || Always 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || 4 || uint32 || Compression type/algorithm which was used to compress the data&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || 4 || uint32 || Raw/Uncompressed data size&lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || 4 || uint32 || Compressed data size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Algorithms===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  ID !!  Algorithm&lt;br /&gt;
|-&lt;br /&gt;
| 1 || byte pair encoding&lt;br /&gt;
|-&lt;br /&gt;
| 2 || LZ77&lt;br /&gt;
|-&lt;br /&gt;
| 3 || [https://wiibrew.org/wiki/LZ77 LZ77] Version 0x10 but without header&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=GFAC&amp;diff=21598</id>
		<title>GFAC</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=GFAC&amp;diff=21598"/>
		<updated>2021-09-27T16:34:06Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* File Table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;GFAC&#039;&#039;&#039; files are archive files.&lt;br /&gt;
&lt;br /&gt;
==File Format==&lt;br /&gt;
===Header===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset !!  Size !! Type !!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 4 || char[4] || Magic Word &#039;GFAC&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || 4 || uint32 || Version?&lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || 4 || uint32 || Always 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || 4 || uint32 || Absolut offset of file table&lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || 4 || uint32 || Size of file table&lt;br /&gt;
|-&lt;br /&gt;
| 0x14 || 4 || uint32 || Absolut offset of file data&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || 4 || uint32 || Size of file data&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C || 16 || || Padding/Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===File Table===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset !!  Size !! Type !!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 4 || uint32 || Entry count / Number of files&lt;br /&gt;
|-&lt;br /&gt;
|colspan=4 style=&amp;quot;text-align:center;font-weight:bold&amp;quot;| Entry&lt;br /&gt;
|-&lt;br /&gt;
|  || 4 || uint32 || CRC-32 ?&lt;br /&gt;
|-&lt;br /&gt;
|  || 4 || uint32 || Absolut offset of file name; Last offset has MSB set to 1&lt;br /&gt;
|-&lt;br /&gt;
|  || 4 || uint32 || file size&lt;br /&gt;
|-&lt;br /&gt;
|  || 4 || uint32 || file offset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The file offset refers to the raw file data. If a container like [[GFCP]] is used the data has to be decompressed and must replace the whole container.&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=GFAC&amp;diff=21592</id>
		<title>GFAC</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=GFAC&amp;diff=21592"/>
		<updated>2021-09-17T17:13:25Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* File Format */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;GFAC&#039;&#039;&#039; files are archive files.&lt;br /&gt;
&lt;br /&gt;
==File Format==&lt;br /&gt;
===Header===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset !!  Size !! Type !!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 4 || char[4] || Magic Word &#039;GFAC&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || 4 || uint32 || Version?&lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || 4 || uint32 || Always 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || 4 || uint32 || Absolut offset of file table&lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || 4 || uint32 || Size of file table&lt;br /&gt;
|-&lt;br /&gt;
| 0x14 || 4 || uint32 || Absolut offset of file data&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || 4 || uint32 || Size of file data&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C || 16 || || Padding/Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===File Table===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset !!  Size !! Type !!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 4 || uint32 || Entry count / Number of files&lt;br /&gt;
|-&lt;br /&gt;
|colspan=4 style=&amp;quot;text-align:center;font-weight:bold&amp;quot;| Entry&lt;br /&gt;
|-&lt;br /&gt;
|  || 4 || uint32 || CRC-32 ?&lt;br /&gt;
|-&lt;br /&gt;
|  || 4 || uint32 || Absolut offset of file name&lt;br /&gt;
|-&lt;br /&gt;
|  || 4 || uint32 || file size&lt;br /&gt;
|-&lt;br /&gt;
|  || 4 || uint32 || file offset&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The file offset refers to the raw file data. If a container like [[GFCP]] is used the data has to be decompressed and must replace the whole container.&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=GFCP&amp;diff=21591</id>
		<title>GFCP</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=GFCP&amp;diff=21591"/>
		<updated>2021-09-17T16:52:01Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;GFCP&amp;#039;&amp;#039;&amp;#039; is a container for compression.  ==File Format==  ===Header=== {| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; !  Offset !!  Size !! Type !!  Description |- | 0x00 || 4 || char[4]...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;GFCP&#039;&#039;&#039; is a container for compression.&lt;br /&gt;
&lt;br /&gt;
==File Format==&lt;br /&gt;
&lt;br /&gt;
===Header===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset !!  Size !! Type !!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 4 || char[4] || Magic Word &#039;GFCP&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || 4 || uint32 || Always 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || 4 || uint32 || Compression type/algorithm which was used to compress the data&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || 4 || uint32 || Raw/Uncompressed data size&lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || 4 || uint32 || Compressed data size&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Algorithms===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  ID !!  Algorithm&lt;br /&gt;
|-&lt;br /&gt;
| 1 || byte pair encoding&lt;br /&gt;
|-&lt;br /&gt;
| 2 || lz77&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=GFAC&amp;diff=21590</id>
		<title>GFAC</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=GFAC&amp;diff=21590"/>
		<updated>2021-09-17T16:06:23Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: /* File Format */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;GFAC&#039;&#039;&#039; files are archive files.&lt;br /&gt;
&lt;br /&gt;
==File Format==&lt;br /&gt;
===Header===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset !!  Size !! Type !!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 4 || char[4] || Magic Word &#039;GFAC&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x04 || 4 || uint32 || Version?&lt;br /&gt;
|-&lt;br /&gt;
| 0x08 || 4 || uint32 || Always 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x0C || 4 || uint32 || Absolut offset of file table&lt;br /&gt;
|-&lt;br /&gt;
| 0x10 || 4 || uint32 || Size of file table&lt;br /&gt;
|-&lt;br /&gt;
| 0x14 || 4 || uint32 || Absolut offset of file data&lt;br /&gt;
|-&lt;br /&gt;
| 0x18 || 4 || uint32 || Size of file data&lt;br /&gt;
|-&lt;br /&gt;
| 0x1C || 16 || || Padding/Unknown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===File Table===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset !!  Size !! Type !!  Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00 || 4 || uint32 || Entry count / Number of files&lt;br /&gt;
|-&lt;br /&gt;
|colspan=4 style=&amp;quot;text-align:center;font-weight:bold&amp;quot;| Entry&lt;br /&gt;
|-&lt;br /&gt;
|  || 4 || uint32 || CRC-32 ?&lt;br /&gt;
|-&lt;br /&gt;
|  || 4 || uint32 || Absolut offset of file name&lt;br /&gt;
|-&lt;br /&gt;
|  || 4 || uint32 || file size&lt;br /&gt;
|-&lt;br /&gt;
|  || 4 || uint32 || file offset&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=GFAC&amp;diff=21589</id>
		<title>GFAC</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=GFAC&amp;diff=21589"/>
		<updated>2021-09-17T15:44:16Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;GFAC&amp;#039;&amp;#039;&amp;#039; files are archive files.  ==File Format== ===Header=== {| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; !  Offset !!  Size !! Type !!  Description |- |  0x000 || 4 || char[4] || Mag...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;GFAC&#039;&#039;&#039; files are archive files.&lt;br /&gt;
&lt;br /&gt;
==File Format==&lt;br /&gt;
===Header===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset !!  Size !! Type !!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  0x000 || 4 || char[4] || Magic Word &#039;GFAC&#039;&lt;br /&gt;
|-&lt;br /&gt;
|  0x004 || 4 || uint32 || Version?&lt;br /&gt;
|-&lt;br /&gt;
|  0x008 || 4 || uint32 || Always 1&lt;br /&gt;
|-&lt;br /&gt;
|  0x00C || 4 || uint32 || Absolut offset of file table&lt;br /&gt;
|-&lt;br /&gt;
|  0x010 || 4 || uint32 || Size of file table&lt;br /&gt;
|-&lt;br /&gt;
|  0x014 || 4 || uint32 || Absolut offset of file data&lt;br /&gt;
|-&lt;br /&gt;
|  0x018 || 4 || uint32 || Size of file data&lt;br /&gt;
|-&lt;br /&gt;
|  0x01C || 16 || || Padding/Unknown&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=11.15.0-47&amp;diff=21544</id>
		<title>11.15.0-47</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=11.15.0-47&amp;diff=21544"/>
		<updated>2021-07-29T20:21:39Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Old3DS+New3DS 11.15.0-47 system update was released on July 27, 2021 (UTC). This Old3DS update was released for the following regions: USA, EUR, JPN, CHN, KOR, and TWN. This New3DS update was released for the following regions: USA, EUR, JPN, and KOR.&lt;br /&gt;
&lt;br /&gt;
Security flaws fixed: &amp;lt;fill this in manually later, see the updatedetails page from the ninupdates-report page(s) once available for now&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Change-log==&lt;br /&gt;
[https://en-americas-support.nintendo.com/app/answers/detail/a_id/231/~/system-menu-update-history Official] USA change-log:&lt;br /&gt;
*   &lt;br /&gt;
*    Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.&lt;br /&gt;
*    &lt;br /&gt;
*   &lt;br /&gt;
&lt;br /&gt;
==System Titles==&lt;br /&gt;
&amp;lt;fill this in (manually) later&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
System update report(s):&lt;br /&gt;
* [https://yls8.mtheall.com/ninupdates/reports.php?date=2021-07-27_00-00-33&amp;amp;sys=ctr Old 3DS]&lt;br /&gt;
* [https://yls8.mtheall.com/ninupdates/reports.php?date=2021-07-27_00-00-37&amp;amp;sys=ktr New 3DS]&lt;br /&gt;
&lt;br /&gt;
[[Category:Firmware Versions]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
	<entry>
		<id>https://www.3dbrew.org/w/index.php?title=PSLB&amp;diff=21503</id>
		<title>PSLB</title>
		<link rel="alternate" type="text/html" href="https://www.3dbrew.org/w/index.php?title=PSLB&amp;diff=21503"/>
		<updated>2021-03-17T18:34:39Z</updated>

		<summary type="html">&lt;p&gt;Meleemeister: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page documents the format of PSLB.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
PSLB are data-interchange files like JSON or XML.&lt;br /&gt;
&lt;br /&gt;
== Header ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Offset !! Size !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
|  0x000 || 4 || char[4] || Magic Number &#039;PSLB&#039;&lt;br /&gt;
|-&lt;br /&gt;
|  0x004 || 4 || uint32 || Unkown&lt;br /&gt;
|-&lt;br /&gt;
|  0x008 || 4 || uint32 || Unkown&lt;br /&gt;
|-&lt;br /&gt;
|  0x00C || 4 || uint32 || Unkown&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;br /&gt;
The data is constructed of 1 byte that represents what type of data follows&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!  Value !! Type&lt;br /&gt;
|-&lt;br /&gt;
|  1 || String&lt;br /&gt;
|-&lt;br /&gt;
|  2 || int32&lt;br /&gt;
|-&lt;br /&gt;
|  3 || float (4 byte)&lt;br /&gt;
|-&lt;br /&gt;
|  4 || Byte&lt;br /&gt;
|-&lt;br /&gt;
|  5 || Map&lt;br /&gt;
|-&lt;br /&gt;
|  6 || List&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The string type is a combination of an uint32 for the length of the string followed by the characters of the string.&lt;br /&gt;
&lt;br /&gt;
For the Map and List after the type a uint32 follows that represents the number of entries in the Map/List.&lt;br /&gt;
&lt;br /&gt;
The keys of the Map are always strings but the values can have any type of the table&lt;br /&gt;
&lt;br /&gt;
[[Category:File formats]]&lt;/div&gt;</summary>
		<author><name>Meleemeister</name></author>
	</entry>
</feed>