Difference between revisions of "SD Filesystem"

From Nintendo Switch Brew
Jump to navigation Jump to search
(.)
Line 19: Line 19:
 
Contains directories "placehld" and "registered".
 
Contains directories "placehld" and "registered".
  
Also contains file "private". Modifying this file results in the system throwing the <this microSD is for another system> error.
+
Also contains file "private", which stores the 0x10 [[Filesystem_services|#SetSdCardEncryptionSeed|sd card seed verification vector]].  
  
 
===placehld and registered ===
 
===placehld and registered ===
"placehld" and "registered" are the same, except that the former stores the temp data during eShop title download, while the latter is for the final title data. The contents of the former for a title("placehld/<hex>/") are moved into the latter when title download finishes.
+
"placehld" and "registered" store game contents; contents are initially downloaded temporarily into the "placehld" folder, and then [[NCM_services#IContentStorage|moved into the registered folder]] when downloading is complete.  
  
Some of the "placehld/<hex>" directories are temp-only and don't get moved into "registered". These are deleted when the title is launched(?), at that point the directories are already empty.
+
Some of the "placehld/<hex>" directories are temp-only and don't get moved into "registered".
  
 
No titleIDs are stored in any directories/filenames here.
 
No titleIDs are stored in any directories/filenames here.
  
All hex IDs(below XXXXXXXX and NcaId) used here are unique per title/content, these are the same for different systems for the same title(s).
+
All hex IDs(below 000000XX and NcaId) used here are unique per title/content. XX is calculated as the first byte from the output of SHA-256(NcaId).
 +
 
 +
Game contents are stored inside [[NAX0]] archives; due to the 4 GB filesize limit on FAT32, contents that are bigger than 4 GB have additional file contents automatically split into separate files. This automatic file-splitting occurs even on exFAT SD cards where it is not necessary.
  
 
  <sub-directory under Contents>
 
  <sub-directory under Contents>
  └── <directories with upper-case hex: XXXXXXXX>
+
  └── <directories with upper-case hex: 000000XX>
 
     └── <lowercase hex [[Content_Manager_services|NcaId]]>.nca
 
     └── <lowercase hex [[Content_Manager_services|NcaId]]>.nca
         └── 00 (Actual file for data storage)
+
         └── 00 [[NAX0|actual file for data storage]]
 +
        └── 01 (storage for file data at +4GB in the actual NCA)
 +
        └── {etc}

Revision as of 02:43, 11 February 2018

Overview

sd
└── Nintendo
    ├── Album
    ├── Contents
    └── save

All files stored under the Contents sub-directories and save/ use the NAX0 format.

Album

Contains the screenshots: "YYYY/MM/DD/<hex>.jpg". These contain some sort of MAC, the system will display an error for screenshots with invalid MACs.

save

Contains system-only savedata "8000000000000000" and "8000000000000124".

Contents

It seems this directory didn't exist until 2.0.0.

Contains directories "placehld" and "registered".

Also contains file "private", which stores the 0x10 #SetSdCardEncryptionSeed|sd card seed verification vector.

placehld and registered

"placehld" and "registered" store game contents; contents are initially downloaded temporarily into the "placehld" folder, and then moved into the registered folder when downloading is complete.

Some of the "placehld/<hex>" directories are temp-only and don't get moved into "registered".

No titleIDs are stored in any directories/filenames here.

All hex IDs(below 000000XX and NcaId) used here are unique per title/content. XX is calculated as the first byte from the output of SHA-256(NcaId).

Game contents are stored inside NAX0 archives; due to the 4 GB filesize limit on FAT32, contents that are bigger than 4 GB have additional file contents automatically split into separate files. This automatic file-splitting occurs even on exFAT SD cards where it is not necessary.

<sub-directory under Contents>
└── <directories with upper-case hex: 000000XX>
    └── <lowercase hex NcaId>.nca
        └── 00 actual file for data storage
        └── 01 (storage for file data at +4GB in the actual NCA)
        └── {etc}