diff --git a/User-Directory.md b/User-Directory.md index 22ea926..8e73238 100644 --- a/User-Directory.md +++ b/User-Directory.md @@ -11,14 +11,14 @@ There are at least three directories within the user directory: `config`, `nand` ├── nand │   ├── 00000000000000000000000000000000 (optional) │   └── data -│   ├── extdata -│   └── sysdata +│   ├── sysdata +│   └── extdata ├── sdmc │   └── Nintendo 3DS │   ├── 00000000000000000000000000000000 │   | └── 00000000000000000000000000000000 -│   | ├── extdata -│   | └── title +│   | ├── title +│   | └── extdata │   └── Private └── sysdata (optional) ``` @@ -49,20 +49,20 @@ This directory is the emulated 3DS system NAND. It does not match an actual cons This directory is automatically generated by Citra and contains the system and extra data for the emulated NAND. Inside this directory is another directory, `00000000000000000000000000000000`. On a physical 3DS, the directory inside `data` would be named differently. Its name would be 32 characters long and made of hexadecimal characters (0-9 and A-F) instead of it being all 0's like Citra. This knowledge is only important if you plan on dumping any NAND system data or extra data from a physical 3DS and associating it with Citra. The `00000000000000000000000000000000` contains two folders, `extdata`, containing NAND extra data, and `sysdata`, containing NAND system save data. +##### sysdata + +System save data is identified by a title ID, separated into TID High, the first 8 characters of the title ID, and TID Low, the last 8 characters of the title ID. Most system save data has a TID high of 00000000. An individual piece of system save data is stored in `sysdata//`. For details about the different kinds of system save data, see [3dbrew](https://www.3dbrew.org/wiki/System_SaveData). For first-time Citra users, there may be nothing inside the `sysdata` directory. In fact this will be the case for most Citra users, and is nothing to be alarmed about. This data will be created automatically in some cases, such as when a Mii is saved in Mii Maker. Almost none of this data is essential for Citra to run homebrew games or backups of licensed titles. + +There is one notable exception to the last statement. Citra requires a dump of a physical 3DS's config savegame in order to run a small number of games. Follow the instructions located at [[Dumping Config Savegame from a 3DS Console]] to obtain the config savegame from a 3DS console. + +Other system save data aside from the config savegame can be dumped from a 3DS console by an expert user and placed in the `sysdata` folder. At this time, though, many features that read from or write to system save data have not been implemented so there is currently little value in doing so. See [this discussion topic](https://discuss.citra-emu.org/d/905-nand-sysdata) for more details about dumping system save data. + ##### extdata NAND extra data always has a TID High of 00048000, so the `extdata` directory should contain a `00048000` folder, though it has been observed in Citra that there may be a `00000000` folder instead, and users have reported issues if there is both a `00000000` and `00048000` folder contained therein, so it is advised to delete the `00000000` folder if that is the case. Inside the folder may be nothing, or it may contain one or more directories named `F000000#`, where # can be the characters A-F or the numbers 0-9. Each of these folders corresponds to a TID low, which can be used to identify the type of extra data stored therein. See [3dbrew](https://www.3dbrew.org/wiki/Extdata?section=13#NAND_Shared_Extdata) for details about the different kinds of extra data stored in NAND. At this point in time, it is possible to dump extra data from a physical 3DS's NAND using a save manager like [JKSM](https://github.com/J-D-K/JKSM) and to place it in the `extdata` directory, but doing so is entirely optional and Citra does not currently emulate NAND features that utilize most of this extra data. -##### sysdata - -System save data is identified by a title ID,separated into TID High, the first 8 characters of the title ID, and TID Low, the last 8 characters of the title ID. Most system save data has a TID high of 00000000. An individual piece of system save data is stored in `sysdata//`. For details about the different kinds of system save data, see [3dbrew](https://www.3dbrew.org/wiki/System_SaveData). For first-time Citra users, there may be nothing inside the `sysdata` directory. In fact this will be the case for most Citra users, and is nothing to be alarmed about. This data will be created automatically in some cases, such as when a Mii is saved in Mii Maker. Almost none of this data is essential for Citra to run homebrew games or backups of licensed titles. - -There is one notable exception to the last statement. Citra requires a dump of a physical 3DS's config savegame in order to run a small number of games. If you are playing a game and encounter an error similar to `Service.CFG core/hle/service/cfg/cfg.cpp:GetConfigInfoBlock:197: Config block 0xB0001 with flags 2 and size 2048 was not found`, then a dumped config savegame is needed. Follow the instructions located at [[Dumping Config Savegame from a 3DS Console]] to obtain the config savegame from a 3DS console. - -Other system save data aside from the config savegame can be dumped from a 3DS console by an expert user and placed in the `sysdata` folder. At this time, though, many features that read from or write to system save data have not been implemented so there is currently little value in doing so. See [this discussion topic](https://discuss.citra-emu.org/d/905-nand-sysdata) for more details about dumping system save data. - #### system archives This folder, named `00000000000000000000000000000000`, will only exist if the system archives have been dumped from a physical 3DS. The system archives are required for some games to work with Citra. To obtain the system archives, follow the instructions located at [[Dumping System Archives and the Shared Fonts from a 3DS Console]]. @@ -79,16 +79,16 @@ The `Private` directory on a real 3DS contains camera data (in `00020400/phtcach This directory contains another directory of the same name, and inside of that is where game saves (in the `title` directory) and extra data (in the `extdata` directory) can be found. On a real SD card, there would not be two `00000000000000000000000000000000` folders, but instead the folders would be named as hexadecimal characters corresponding to a 3DS console ID. If a user wishes to extract save or extra data from their physical console, they do not need to worry about the console ID not matching Citra's `00000000000000000000000000000000` folders. -##### extdata - -This directory contains all of the extra data created when playing 3DS game backups. Citra emulates a console's behavior of reading from and writing to extra data, so this data can be dumped from an SD card using a physical 3DS console and imported into Citra. See [[Dumping Extra Data from a 3DS Console]] for instructions. - ##### title If any games have been saved while playing them with Citra, there should be a folder inside `sysdata` named `00040000`. This folder contains all of the save data for 3DS titles. It is entirely possible to retrieve save data from an SD card using a physical 3DS console and import it into Citra to continue a game where it was last left off on the console. See [[Dumping Save Data from a 3DS Console]] for instructions. On a real SD card, the `sysdata` folder will also contain the files required to run any 3DS titles installed to the SD card. This can be mimicked somewhat by [[Dumping Installed Titles]] and importing them into Citra's `sysdata` directory but this is unnecessary since Citra can run them from anywhere on a computer filesystem and doesn't require the accompanying .tmd and .cmd files. On a real SD card, there may be two other directories inside `sysdata`. These directories are named `0004000e` and `0004008c` and correspond to downloaded game updates and DLC respectively. The data contained within these directories can be decrypted backed up on a computer, but at this time features have not been implemented in Citra to utilize any of it, so titles cannot be played with DLC or updates applied to them unless the user is willing to unpack their game backup, merge the updates with the game files, and then repack the game. See [this](https://discuss.citra-emu.org/d/527-smash-bros-update) and [this](https://discuss.citra-emu.org/d/818-where-are-the-updates-and-dlcs-in-the-nand-folder) relevant discussion topics. +##### extdata + +This directory contains all of the extra data created when playing 3DS game backups. Citra emulates a console's behavior of reading from and writing to extra data, so this data can be dumped from an SD card using a physical 3DS console and imported into Citra. See [[Dumping Extra Data from a 3DS Console]] for instructions. + ##### other folders If a real SD card is compared to Citra's emulated SD card, Citra may appear to be missing one or more folders present on the real SD card: `dbs`, `backups`, and `Nintendo DSiWare`. The `dbs` folder contains a 3DS console's title database. The `backups` folder contains saved data backed up via the Home Menu. The `Nintendo DSiWare` folder contains exported DSi exports. Citra does not need any of these folders so there is currently no value in dumping them.