Changes

Jump to navigation Jump to search
2,906 bytes added ,  08:30, 6 November 2019
→‎System Savegames: prepo-ap contents
Line 33: Line 33:  
|-
 
|-
 
|  0x010000
 
|  0x010000
0xF0000
+
0xEC000
60 additional BCTs, normally unused/empty on retail systems.
+
59 additional BCTs, normally unused/empty on retail systems.
 +
|-
 +
|  0x0FC000
 +
|  0x4000
 +
|  [[#System Update Control|System Update Control area]]
 
|-
 
|-
 
|  0x100000
 
|  0x100000
Line 49: Line 53:  
|-
 
|-
 
|  0x184000
 
|  0x184000
0x20
+
0x200
Unknown pseudorandom data, often changes on reboot. All zero on 1.0.
+
[2.0.0+] [[#NAND Patrol|NAND Patrol area]]
|-
  −
|  0x184020
  −
|  0x8?
  −
| Increments on every boot until hitting a certain number? Bottom 10 bits (0x3FF) are always zero. All zero on 1.0.
   
|}
 
|}
   Line 74: Line 74:  
|  0x40000
 
|  0x40000
 
|  SafeMode Firmware [[Package1|package1]] from [[Title_list#System_Data_Archives|Title 010000000000081A]] (backup)
 
|  SafeMode Firmware [[Package1|package1]] from [[Title_list#System_Data_Archives|Title 010000000000081A]] (backup)
 +
|-
 +
|  0x080000
 +
|  0x40000
 +
|  Reserved
 +
|-
 +
|  0x0C0000
 +
|  0x40000
 +
|  Reserved
 +
|}
 +
 +
=== System Update Control ===
 +
The 0x4000 bytes at offset 0xFC000 are used by [[NS_Services|NS]] and [[Boot|boot]] for keeping track of the status of a system update. This area is used by the [[NS_Services#ns:su|ISystemUpdateControl]] commands "ApplyDownloadedUpdate", "ApplyCardUpdate" and "ApplyReceivedUpdate".
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Offset
 +
!  Size
 +
!  Description
 +
|-
 +
| 0x0
 +
| 0x1
 +
| BootImages status. Set to 1 by [[NS_Services|NS]] during a system update and cleared by [[Boot|boot]] after restarting.
 +
|-
 +
| 0x1
 +
| 0x1
 +
| BootImagesSafe status. Set to 1 by [[NS_Services|NS]] during a system update and cleared by [[Boot|boot]] after restarting.
 
|}
 
|}
   Line 110: Line 136:     
The currently active keyblob is officially known as "SecureInfo".
 
The currently active keyblob is officially known as "SecureInfo".
 +
 +
=== NAND Patrol ===
 +
The 0x200 bytes at offset 0x184000 are used by [[Filesystem_services|FS]] for keeping track of NAND patrolling.
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Offset
 +
!  Size
 +
!  Description
 +
|-
 +
| 0x0
 +
| 0x20
 +
| HMAC-SHA-256 over the next 0x1E0 bytes
 +
|-
 +
| 0x20
 +
| 0x4
 +
| Last patrolled NAND block's offset
 +
|-
 +
| 0x24
 +
| 0x4
 +
| NAND patrol count
 +
|-
 +
| 0x28
 +
| 0x1D8
 +
| Unused, all-zero.
 +
|}
    
== User Partitions ==
 
== User Partitions ==
Line 128: Line 180:  
|  GPT header, Bis-storage also allows raw access to the entire NAND eMMC sectors starting at sector0. The official name for this partition is "UserDataRoot".
 
|  GPT header, Bis-storage also allows raw access to the entire NAND eMMC sectors starting at sector0. The official name for this partition is "UserDataRoot".
 
|-
 
|-
|  PRODINFO
+
[[Calibration|PRODINFO]]
 
|  0x00004400
 
|  0x00004400
 
|  0x003FBC00
 
|  0x003FBC00
 
|  27
 
|  27
|  Yes
+
|  Yes (Bis key 0)
 
|  "CAL0" raw partition containing set:cal data. The official name for this partition is "CalibrationBinary".
 
|  "CAL0" raw partition containing set:cal data. The official name for this partition is "CalibrationBinary".
 
|-
 
|-
|  PRODINFOF
+
[[Calibration|PRODINFOF]]
 
|  0x00400000
 
|  0x00400000
 
|  0x00400000
 
|  0x00400000
 
|  28
 
|  28
|  Yes
+
|  Yes (Bis key 0)
 
|  FAT12 filesystem, additional calibration. The official name for this partition is "CalibrationFile".
 
|  FAT12 filesystem, additional calibration. The official name for this partition is "CalibrationFile".
 
|-
 
|-
Line 147: Line 199:  
|  21
 
|  21
 
|  No
 
|  No
|  Raw partition where the first 0x4000 bytes (usually empty) contain the "BootConfig" and the remaining space contains the [[Package2|package2]] image from [[Title_list#System_Data_Archives|Title 0100000000000819]] by default. With the exFAT update installed, the [[Package2|package2]] image is switched to the one from [[Title_list#System_Data_Archives|Title 010000000000081B]]. The official name for this partition is "BootConfigAndPackage2Part1".
+
|  Raw partition where the first 0x4000 bytes (usually empty) contain the [[BootConfig]] and the remaining space contains the [[Package2|package2]] image from [[Title_list#System_Data_Archives|Title 0100000000000819]] by default. With the exFAT update installed, the [[Package2|package2]] image is switched to the one from [[Title_list#System_Data_Archives|Title 010000000000081B]]. The official name for this partition is "BootConfigAndPackage2Part1".
 
|-
 
|-
 
|  BCPKG2-2-Normal-Sub
 
|  BCPKG2-2-Normal-Sub
Line 161: Line 213:  
|  23
 
|  23
 
|  No
 
|  No
|  Raw partition where the first 0x4000 bytes (usually empty) contain the "BootConfig" and the remaining space contains the [[Package2|package2]] image from [[Title_list#System_Data_Archives|Title 010000000000081A]] by default. Starting with firmware version [[4.0.0|4.0.0]], the [[Package2|package2]] image is switched to the one from [[Title_list#System_Data_Archives|Title 010000000000081C]]. The official name for this partition is "BootConfigAndPackage2Part3".
+
|  Raw partition where the first 0x4000 bytes (usually empty) contain the [[BootConfig]] and the remaining space contains the [[Package2|package2]] image from [[Title_list#System_Data_Archives|Title 010000000000081A]] by default. On [4.0.0+] and with the exFAT update installed, the [[Package2|package2]] image is switched to the one from [[Title_list#System_Data_Archives|Title 010000000000081C]]. The official name for this partition is "BootConfigAndPackage2Part3".
 
|-
 
|-
 
|  BCPKG2-4-SafeMode-Sub
 
|  BCPKG2-4-SafeMode-Sub
Line 188: Line 240:  
|  0x04000000
 
|  0x04000000
 
|  29
 
|  29
|  Yes
+
|  Yes (Bis key 1)
 
|  FAT32 filesystem. The official name for this partition is "SafeMode".
 
|  FAT32 filesystem. The official name for this partition is "SafeMode".
 
|-
 
|-
Line 194: Line 246:  
|  0x07800000  
 
|  0x07800000  
 
|  0xA0000000
 
|  0xA0000000
|  31 and 32
+
|  31, 32 and 33
|  Yes
+
|  Yes (Bis key 2)
|  FAT32 filesystem. The official name for this partition is "SystemProperEncryption".
+
|  FAT32 filesystem. The official names for these partitions are "System", "SystemProperEncryption" and "SystemProperPartition".
 
|-
 
|-
 
|  USER
 
|  USER
Line 202: Line 254:  
|  0x680000000
 
|  0x680000000
 
|  30
 
|  30
|  Yes
+
|  Yes (Bis key 3)
 
|  FAT32 filesystem.
 
|  FAT32 filesystem.
 
|-
 
|-
Line 215: Line 267:  
If the client process lacks the relevant permission for any of the above partition IDs, error 0x2EE202 is returned.
 
If the client process lacks the relevant permission for any of the above partition IDs, error 0x2EE202 is returned.
   −
[[NCA]]s stored in NAND are raw, identical to the data readable with [[Content_Manager_services#ReadEntryRaw]].
+
[[NCA]]s stored in NAND are raw, identical to the data readable with [[NCM_services#ReadContentIdFile]].
    
The filenames for saveimages is just "<lower-case hex u64 saveID>". SYSTEM-partition saveIDs are specified by [[Filesystem_services|FS]] commands, while USER-partition saveIDs are determined by FS-module internally. The high u32 of the saveID is normally either 0x00000000 or 0x80000000.
 
The filenames for saveimages is just "<lower-case hex u64 saveID>". SYSTEM-partition saveIDs are specified by [[Filesystem_services|FS]] commands, while USER-partition saveIDs are determined by FS-module internally. The high u32 of the saveID is normally either 0x00000000 or 0x80000000.
   −
Encrypted partitions use AES-XTS using the same non-standard (endian-swapped) tweak as other Nintendo AES-XTS code, initial_sector = 0, and sector size 0x4000. All encrypted partitions use console unique keydata.
+
Encrypted partitions use AES-XTS using the same non-standard tweak (tweak[0] = sectorIdx[MSB] .. tweak[15] = sectorIdx[LSB], if using 32bit sectorIdx that means tweak[0]..tweak[11] are 0, with tweak[12]..tweak[15] containing big-endian sectorIdx) as other Nintendo AES-XTS code, initial_sector = 0, and sector size 0x4000. All encrypted partitions use console unique keydata.
    
=== PRODINFOF ===
 
=== PRODINFOF ===
Line 303: Line 355:  
! SaveID || Owner || Mount || Notes
 
! SaveID || Owner || Mount || Notes
 
|-
 
|-
| 0x8000000000000000 || || ||  
+
| 0x8000000000000000 || fs || <nowiki>saveDataIxrDb:/</nowiki>, <nowiki>saveDataIxrDbSf:/</nowiki>, <nowiki>saveDataIxrDbPr:/</nowiki>, <nowiki>saveDataIxrDbSd:/</nowiki> || Contains [[IMKV|imkvdb.arc]] and "lastPublishedId".
 
|-
 
|-
 
| 0x8000000000000010 || account || <nowiki>account:/</nowiki> || Account database.
 
| 0x8000000000000010 || account || <nowiki>account:/</nowiki> || Account database.
Line 323: Line 375:  
| 0x8000000000000044 || ns || <nowiki>ns_sysup:/</nowiki> || Content update context.
 
| 0x8000000000000044 || ns || <nowiki>ns_sysup:/</nowiki> || Content update context.
 
|-
 
|-
| 0x8000000000000045 || ns || <nowiki>vmdb:/</nowiki> || Version List/Required Version List storage.
+
| 0x8000000000000045 || ns || <nowiki>vmdb:/</nowiki> || Required Version List storage. Also contained Version List storage before 7.0.0.
 
|-
 
|-
 
| 0x8000000000000046 || ns || <nowiki>dtlman:/</nowiki> ||
 
| 0x8000000000000046 || ns || <nowiki>dtlman:/</nowiki> ||
Line 330: Line 382:  
|-
 
|-
 
| 0x8000000000000048 || ns || <nowiki>ns_systemseed:/</nowiki> ||
 
| 0x8000000000000048 || ns || <nowiki>ns_systemseed:/</nowiki> ||
 +
|-
 +
| 0x8000000000000049 || ns || <nowiki>ns_ssversion:/</nowiki> || Safe System version.
 +
|-
 +
| 0x800000000000004A || ns || <nowiki>ns_rightsid:/</nowiki> || List of RightsIDs with NCA IDs for corresponding Program title.
 
|-
 
|-
 
| 0x8000000000000050 || settings || <nowiki>SystemSettings:/</nowiki> ||
 
| 0x8000000000000050 || settings || <nowiki>SystemSettings:/</nowiki> ||
Line 355: Line 411:  
| 0x8000000000000075 || nim || <nowiki>nim_vac:/</nowiki> ||
 
| 0x8000000000000075 || nim || <nowiki>nim_vac:/</nowiki> ||
 
|-
 
|-
| 0x8000000000000080 || friends || <nowiki>friends:/</nowiki> ||
+
| 0x8000000000000076 || nim || <nowiki>nim_local:/</nowiki> ||
 +
|-
 +
| 0x8000000000000077 || nim || <nowiki>nim_lsys:/</nowiki> ||
 +
|-
 +
| 0x8000000000000078 || nim || <nowiki>nim_eca_dbg:/</nowiki> ||
 +
|-
 +
| 0x8000000000000080 || friends || <nowiki>friends:/</nowiki> || Per-user savedata.
 
|-
 
|-
 
| 0x8000000000000081 || friends || <nowiki>friends-sys:/</nowiki> ||
 
| 0x8000000000000081 || friends || <nowiki>friends-sys:/</nowiki> ||
Line 370: Line 432:  
|-
 
|-
 
| 0x80000000000000A1 || bcat || <nowiki>prepo:/</nowiki> || Play Report msgpack archives.
 
| 0x80000000000000A1 || bcat || <nowiki>prepo:/</nowiki> || Play Report msgpack archives.
 +
|-
 +
| 0x80000000000000A2 || bcat || <nowiki>prepo-ap:/</nowiki> || Play Report msgpack archives of EventId "application_execution_history".
 
|-
 
|-
 
| 0x80000000000000B0 || bsdsockets || <nowiki>nsdsave:/</nowiki> || Socket configuration saved data.
 
| 0x80000000000000B0 || bsdsockets || <nowiki>nsdsave:/</nowiki> || Socket configuration saved data.
Line 385: Line 449:  
| 0x80000000000000E2 || es || <nowiki>espersonalized:/</nowiki> ||
 
| 0x80000000000000E2 || es || <nowiki>espersonalized:/</nowiki> ||
 
|-
 
|-
| 0x80000000000000F0 || ns || <nowiki>pdm:/</nowiki> || Play Data log.
+
| 0x80000000000000E3 || es || <nowiki>esmetarecord:/</nowiki> ||
 +
|-
 +
| 0x80000000000000E4 || es || <nowiki>eselicense:/</nowiki> ||
 +
|-
 +
| 0x80000000000000F0 || ns || <nowiki>pdm:/</nowiki> || Play Data log. Per-user savedata.
 
|-
 
|-
 
| 0x8000000000000100 || pctl || <nowiki>pctlss:/</nowiki> || Parental Control settings.
 
| 0x8000000000000100 || pctl || <nowiki>pctlss:/</nowiki> || Parental Control settings.
Line 391: Line 459:  
| 0x8000000000000110 || npns || <nowiki>npns_save:/</nowiki> || Push notifications persistent storage.
 
| 0x8000000000000110 || npns || <nowiki>npns_save:/</nowiki> || Push notifications persistent storage.
 
|-
 
|-
| 0x8000000000000120 || ncm || ? || meta/[[IMKV|imkvdb.arc]] for system partition. Cache of data extracted from the [[NCA|.cnmt]] for installed titles?(Including 816)
+
| 0x8000000000000120 || ncm || ? || meta/[[IMKV|imkvdb.arc]] for system partition. Cache of data extracted from the [[CNMT]] for installed firmware titles (including 816).
 
|-
 
|-
| 0x8000000000000121 || ncm || ? || meta/[[IMKV|imkvdb.arc]] for sd partition. In some cases this save only contains a "meta/" directory without any file.
+
| 0x8000000000000121 || ncm || ? || meta/[[IMKV|imkvdb.arc]] for user partition. Cache of data extracted from the [[CNMT]] for installed game, update, and DLC titles.
 
|-
 
|-
 
| 0x8000000000000122 || || ||  
 
| 0x8000000000000122 || || ||  
 
|-
 
|-
| 0x8000000000001010 || || ||  
+
| 0x8000000000000130 || migration || <nowiki>state:/</nowiki> ||
 +
|-
 +
| 0x8000000000000131 || migration || <nowiki>context:/</nowiki> ||
 +
|-
 +
| 0x8000000000000140 || capsrv || <nowiki>TM:/</nowiki> ||  
 
|-
 
|-
| 0x8000000000001040 || || ||  
+
| 0x8000000000000150 || olsc || ? ||  
 
|-
 
|-
| 0x8000000000001050 || || ||  
+
| 0x8000000000000153 || olsc || ? ||  
 
|-
 
|-
| 0x8000000000001070 || || ||  
+
| 0x8000000000000180 || sdb || ? || Version list was moved here in 7.0.0 or 7.0.1
 
|-
 
|-
| 0x80000000000010B0 || || ||  
+
| 0x8000000000000190 || glue || ? ||  
 
|-
 
|-
| 0x0000000000000001 || || ||  
+
| 0x8000000000001010 || qlaunch || || Contains "savedata.dat".
 
|-
 
|-
| 0x0000000000000003 || || ||  
+
| 0x8000000000001020 || swkbd || || Per-user savedata.
 
|-
 
|-
| 0x0000000000000004 || || ||  
+
| 0x8000000000001040 || miiEdit || ||  
 
|-
 
|-
| 0x0000000000000005 || || ||  
+
| 0x8000000000001050 || miiEdit || || Contains "database.dat". Possibly Mii data and Mii texture data?
 
|-
 
|-
| 0x0000000000000006 || || ||  
+
| 0x8000000000001060 || shop || ||  
 
|-
 
|-
| 0x0000000000000007 || || ||  
+
| 0x8000000000001061 || shop || || Per-user savedata.
 
|-
 
|-
| 0x0000000000000008 || || ||  
+
| 0x8000000000001070 || web || ||  
 
|-
 
|-
| 0x0000000000000009 || || ||  
+
| 0x8000000000001071 || web || || Per-user savedata.
 
|-
 
|-
| 0x000000000000000A || || ||  
+
| 0x8000000000001091 || loginShare || || Per-user savedata.
 
|-
 
|-
| 0x8000000000001060 || || ||  
+
| 0x80000000000010B0 || playerSelect || || Contains "savedata.dat". Per-user savedata.
 
|-
 
|-
| 0x000000000000000C || || ||  
+
| 0x80000000000010C0 || myPage || || Per-user savedata.
 
|-
 
|-
| 0x000000000000000D || || ||  
+
| 0x8000000000010003 || bcat || ||  
 
|-
 
|-
 +
| 0x8000000000010004 || bcat || ||
 
|}
 
|}
77

edits

Navigation menu