diff --git a/Dumping-Extra-Data-from-a-3DS-Console.md b/Dumping-Extra-Data-from-a-3DS-Console.md index b3662b5..2bd82ea 100644 --- a/Dumping-Extra-Data-from-a-3DS-Console.md +++ b/Dumping-Extra-Data-from-a-3DS-Console.md @@ -20,18 +20,21 @@ Location of the "User Directory": on Windows it is the user folder in the same d - [JKSM](https://github.com/J-D-K/JKSM/releases) - SD card reader (preferred), or a way to use wireless file transfer -In addition to the tools required, some knowledge is required as well. The game to have its extra data dumped from has an ID associated with its extra data (called its Ext ID). This needs to be known in order to place the dumped data in the correct place in Citra's directory structure. Below are some of the known extra data IDs. This list is a work in progress and not comprehensive. Please add additional extra data IDs as they are learned. +#### Ext IDs +The title to have its extra data dumped from has an ID associated with its extra data called its Ext ID. This is not the same as its Title ID (TID), but can usually be derived from it. The title's Ext ID needs to be known in order to place the dumped data in the correct place in Citra's directory structure. Follow the below steps to derive a title's Ext ID from its TID: -| Game | Ext ID High | Ext ID Low | -| ------------- |:-------------:|:----------:| -| Mario vs. Donkey Kong: Tipping Stars | 00000000 | 000012C8 | +1. Find the title's TID. The TID is exactly 16 [hexadecimal](https://en.wikipedia.org/wiki/Hexadecimal) characters. There are multiple ways to do this on a 3DS or a computer, including using [JKSM](https://github.com/J-D-K/JKSM/releases) to browse the 3DS's installed title list or by using a [simple internet search](https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=3ds+title+IDs). +2. Split the TID into its TID high and TID low. The TID high is the first eight characters of the TID and the TID low is the last eight characters. We don't need the TID high, so just note the TID low. +3. The TID low should end with two zeroes. Move them to the beginning of the TID low (example: `0012C800` becomes `000012C8`). The modified TID low is the Ext ID Low. +4. The Ext ID High is `00000000` for games and system applications. This tutorial does not cover extracting NAND extra data. +5. The Ext ID High and Ext ID low put together form the Ext ID. For purposes of this tutorial though, keep them separated. ### Installing JKSM 1. Download JK's Save Manager from the link above. 2. Move the JKSV folder containing filter.txt to the root of the SD card. 3. Move JKSM.cia to the SD card and install it to the home menu. -***Note - JKSM has a homebrew app available, but The .cia is recommended because the homebrew app does not work with up-to-date 3DS firmware. To install the homebrew app, merge the 3ds/JKSM folder containing the JKSM.3dsx, JKSM.smdh, and JKSM.xml file with the 3ds folder on the SD card and use the [homebrew launcher](http://smealum.github.io/3ds/) to open it. +**Note** - JKSM has a homebrew app available, but The .cia is recommended because the homebrew app does not work with up-to-date 3DS firmware. To install the homebrew app, merge the 3ds/JKSM folder containing the JKSM.3dsx, JKSM.smdh, and JKSM.xml file with the 3ds folder on the SD card and use the [homebrew launcher](http://smealum.github.io/3ds/) to open it. --- @@ -43,6 +46,8 @@ In addition to the tools required, some knowledge is required as well. The game 5. You will be prompted to select a folder or `New`. If selecting `New`, enter any name you wish and then select `OK`. 6. A popup should appear that says `Complete!` Close JKSM. 7. Transfer all files located in `/JKSV/ExtData//<Folder name selected or created in Step 5>` to the computer. -8. Place the files in Citra's emulated SD card's extra data directory at `user/sdmc/Nintendo 3DS/000...0/000...0/extdata/<Ext ID High>/<Ext ID Low>/user/`. These directories may have to be created if the title the extra data was dumped from hasn't been played in Citra yet. +8. Place the files in Citra's emulated SD card's extra data directory at `user/sdmc/Nintendo 3DS/000...0/000...0/extdata/<Ext ID High>/<Ext ID Low>/user/`. These directories may have to be created if the title the extra data was dumped from hasn't been played in Citra yet**. -*In step 3, If the title to be dumped isn't on the list, JKSM's filter may need to be updated. This can be done easily from the app's root menu and selecting `Download Filter` (internet connection required). If that still doesn't work, filter.txt will have to be updated manually. Look up the game [here](http://www.3dsdb.com/) and grab it's title ID. Open filter.txt located in the JKSM folder and add a new line. Type 0xXXXXXXXX where XXXXXXXX is the game's title low (the last 8 characters of the game's title ID). Save the edited file. The game should now appear in the list. \ No newline at end of file +*In step 3, If the title to be dumped isn't on the list, JKSM's filter may need to be updated. This can be done easily from the app's root menu and selecting `Download Filter` (internet connection required). If that still doesn't work, the filter will have to be updated manually. Open `/JKSV/filter.txt` and add a new line. Type 0xXXXXXXXX where XXXXXXXX is the game's TID Low (the last 8 characters of the game's Title ID). Save the edited file. The game should now appear in the list. + +** If the extra data found in `/JKSV/ExtData/<Title Name>/<Folder name selected or created in Step 5>` is a folder with a weird name containing 11 characters including numbers, letters, and/or parentheses (examples include but are not limited to `kK7fB3)uOyD` or `SwrPp8xUGz6`) then this extra data is tied to the title's save data, which will need to be dumped and associated with Citra as well or the extra data will be ignored by Citra. See [[Dumping Save Data from a 3DS Console]] for help dumping save data. Currently the only known instance of this being the case is with Super Smash Bros. for Nintendo 3DS, but there may be more. See this [forum post](https://discuss.citra-emu.org/d/800-extra-data) for additional details. \ No newline at end of file