mirror of
https://github.com/citra-emu/citra.git
synced 2025-06-09 15:20:13 +00:00
Updated and simplified Config Savegame process
parent
3a71298c53
commit
2dd2e75875
@ -1,8 +1,7 @@
|
|||||||
## Dumping the Home Folder
|
## Dumping the Home Folder
|
||||||
|
|
||||||
At this time, Citra can run many games without needing to do any special work on a physical 3DS. However, some games do require files dumped from a 3DS in order to function properly. These files are copyrighted and are not allowed to be shared, so don't ask for them on the forum. If you do not own a 3DS to dump the files from, you are out of luck.
|
At this time, Citra can run many games without needing to do any special work on a physical 3DS. However, some games do require files dumped from a 3DS in order to function properly. These files are copyrighted and are not allowed to be shared, so don't ask for them on the forum. If you do not own a 3DS to dump the files from, you are out of luck.
|
||||||
|
|
||||||
This tutorial will teach you [how to dump the system archives and system font](https://github.com/citra-emu/citra/wiki/Home-Folder#how-to-dump-system-archives-nand00000000000000000000000000000000-folder-and-system-font-sysdatashared_fontbin), which are critical for some games, such as Pokemon, to work. It will also teach you how to [dump the config savegame](https://github.com/citra-emu/citra/wiki/Home-Folder#how-to-dump-the-config-savegame-nanddata00000000000000000000000000000000sysdata0001001700000000config), but that is much more difficult to do and is generally not required to play most titles except in certain special cases.
|
This tutorial will teach you [how to dump the system archives and system font](https://github.com/citra-emu/citra/wiki/Home-Folder#how-to-dump-system-archives-and-system-font), which are critical for some games, such as Pokemon, to work. It will also teach you how to [dump the config savegame](https://github.com/citra-emu/citra/wiki/Home-Folder#how-to-dump-the-config-savegame), but that is much more difficult to do and is generally not required to play most titles except in certain special cases.
|
||||||
|
|
||||||
##### Preview of the dumped files in this tutorial after being merged into Citra, from Citra's root directory
|
##### Preview of the dumped files in this tutorial after being merged into Citra, from Citra's root directory
|
||||||
Location of the "User Directory": on Windows it is the user folder in the same directory as the Citra executable. on macOS and Linux it is at ~/.local/share/citra-emu/
|
Location of the "User Directory": on Windows it is the user folder in the same directory as the Citra executable. on macOS and Linux it is at ~/.local/share/citra-emu/
|
||||||
@ -33,14 +32,13 @@ Location of the "User Directory": on Windows it is the user folder in the same d
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### How to dump system archives (`nand/00000000000000000000000000000000` folder) and system font (`sysdata/shared_font.bin`)
|
### How to dump system archives and system font
|
||||||
|
The system archives (found at `nand/00000000000000000000000000000000`) and system font (found at `sysdata/shared_font.bin`) are required to play some games in Citra. Dumping these files is relatively simple.
|
||||||
The system archives and font are required to play some games in Citra. Dumping these files is relatively simple.
|
|
||||||
|
|
||||||
#### Required tools
|
#### Required tools
|
||||||
- A 3DS with [homebrew launcher](http://smealum.github.io/3ds/) access.
|
- A 3DS with [homebrew launcher](http://smealum.github.io/3ds/) access
|
||||||
- [3dsutils](https://github.com/citra-emu/3dsutils) - (There is no official precompiled version now, you can download [an unofficial build](https://cdn.discordapp.com/attachments/220742362740162560/222507077031952384/3dsutils-master.3dsx), or [install devkitPro](http://wiki.gbatemp.net/wiki/3DS_Homebrew_Development#Install_devkitPro_w.2F_devkitARM) and [compile it](http://wiki.gbatemp.net/wiki/3DS_Homebrew_Development#Compiling_sources) yourself).
|
- [3dsutils](https://github.com/citra-emu/3dsutils) - (There is no official precompiled version now, you can download [an unofficial build](https://cdn.discordapp.com/attachments/220742362740162560/222507077031952384/3dsutils-master.3dsx), or [install devkitPro](http://wiki.gbatemp.net/wiki/3DS_Homebrew_Development#Install_devkitPro_w.2F_devkitARM) and [compile it](http://wiki.gbatemp.net/wiki/3DS_Homebrew_Development#Compiling_sources) yourself)
|
||||||
- SD card reader (preferred), or a way to use wireless file transfer.
|
- SD card reader (preferred), or a way to use wireless file transfer
|
||||||
|
|
||||||
### Instructions
|
### Instructions
|
||||||
1. Run 3dsutils via the homebrew launcher.
|
1. Run 3dsutils via the homebrew launcher.
|
||||||
@ -51,81 +49,23 @@ The system archives and font are required to play some games in Citra. Dumping t
|
|||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
### How to dump the Config Savegame (`nand/data/00000000000000000000000000000000/sysdata/00010017/00000000/config`)
|
### How to dump the Config Savegame
|
||||||
|
The Config Savegame (found at `nand/data/00000000000000000000000000000000/sysdata/00010017/00000000/config`) is required to play some specific games in Citra. If you don't dump it, a dummy `config` file is created (sufficient to play various games) but you will get an error similar to the one below if the game you are trying to play requires a dumped Config Savegame.
|
||||||
The Config Savegame is required to play some specific games in Citra. If you don't dump it, a dummy `config` file is created (sufficient to play various games) but you will get an error similar to the one below if the game you are trying to play requires a dumped Config Savegame.
|
|
||||||
|
|
||||||
Service.CFG <Error> core/hle/service/cfg/cfg.cpp:GetConfigInfoBlock:197: Config block 0xB0001 with flags 2 and size 2048 was not found
|
Service.CFG <Error> core/hle/service/cfg/cfg.cpp:GetConfigInfoBlock:197: Config block 0xB0001 with flags 2 and size 2048 was not found
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### Required Tools:
|
#### Required Tools:
|
||||||
|
This procedure to dump the Config Savegame requires a 3DS able to run Decrypt9WIP. Instructions on modding a 3DS can be found [here](https://plailect.github.io/Guide/).
|
||||||
|
|
||||||
For now, this procedure to dump the Config Savegame requires a Linux computer, as there are steps that cannot be performed on a Windows machine. You will also require your 3DS to be able to run Decrypt9 and either the Gateway Launcher or FBI. Instructions on modding a 3DS can be found [here](https://plailect.github.io/Guide/). You are also going to need space on your SD card to contain a dump of your 3DS's NAND and its decryption keys (~2 GB)
|
- A build of [Decrypt9WIP](https://github.com/d0k3/Decrypt9WIP) from commit __5ab96d2__ or higher (There is no official precompiled release now, you can download [an unofficial build](https://cdn.discordapp.com/attachments/246339406372405260/246339432494399488/Decrypt9WIP-20161110-132007.zip), or [install devkitPro](http://wiki.gbatemp.net/wiki/3DS_Homebrew_Development#Install_devkitPro_w.2F_devkitARM) and [compile it](http://wiki.gbatemp.net/wiki/3DS_Homebrew_Development#Compiling_sources) yourself)
|
||||||
|
- 3DS system with 9.2.0-20 or lower, or arm9loaderhax
|
||||||
|
- SD card with enough space to hold the dump; 8GB or higher recommended
|
||||||
|
- SD card reader (preferred), or a way to use wireless file transfer
|
||||||
|
|
||||||
Before you get started, make sure you have the following...
|
#### Instructions
|
||||||
|
1. Set up Decrypt9WIP using one of the various entry points. [Read its readme](https://github.com/d0k3/Decrypt9WIP#how-to-run-this--entry-points) on how to do this.
|
||||||
|
2. Create a folder at the root of the 3DS SD card called `files9`.
|
||||||
|
4. Put the SD card into the 3DS.
|
||||||
|
5. From the root Decrypt9 menu, choose `SysNAND Options`, then `Miscellaneous`, then `Dump Config (for Citra)`
|
||||||
|
|
||||||
_On a Linux PC:_
|
The extracted `config` file is in `/files9/config` on your SD card. Copy this file to the computer you will be running Citra on, and paste it into `<Citra location>/user/nand/data/00000000000000000000000000000000/sysdata/00010017/00000000`. If you are asked if you wish to overwrite the file, say yes.
|
||||||
- [3DSFAT16tool](https://github.com/d0k3/3DSFAT16tool) - extract this somewhere on your machine, preferably in its own folder.
|
|
||||||
- [3dsfuse](https://github.com/3dshax/3ds) - There is no precompiled version of this tool. Instructions for compiling 3dsfuse are below, in step 5.
|
|
||||||
|
|
||||||
_On your 3DS:_
|
|
||||||
- [Decrypt9](https://github.com/archshift/Decrypt9)
|
|
||||||
- (Optional) [Gateway launcher](http://www.gateway-3ds.com/downloads)
|
|
||||||
- (Optional) [FBI](https://github.com/Steveice10/FBI)
|
|
||||||
|
|
||||||
#### Step 1 – **Dumping NAND**
|
|
||||||
First you will have to dump your system NAND. This can be done several ways, a few of which are detailed below:
|
|
||||||
|
|
||||||
1) Boot the [Gateway launcher](http://www.gateway-3ds.com/downloads) using the Launcher.dat file placed at the root of the SD Card and accessing 'http://go.gateway-3ds.com'. Select the option Backup System NAND and press START to dump your NAND to your SD card. The SD card should then contain a file `NAND.bin`.
|
|
||||||
|
|
||||||
2) Open the [FBI](https://github.com/Steveice10/FBI) homebrew app. From the main menu, select Dump NAND. Follow the prompts to dump your NAND. When finished, the SD card will contain the dump inside the folder `/fbi/nand`.
|
|
||||||
|
|
||||||
3) Open [Decrypt9](https://github.com/archshift/Decrypt9) and select `SysNAND / EmuNAND Options`->`SysNAND Backup & Restore...`->`NAND Backup`. When finished, the SD card will contain a file `NAND.bin`.
|
|
||||||
|
|
||||||
#### Step 2 – **Generating NAND Xorpad**
|
|
||||||
The NAND.bin file dumped in the previous step is encrypted. To decrypt it, we need to generate xorpads using [Decrypt9](https://github.com/archshift/Decrypt9). Within Decrypt9, select `XORpad Generator Options`->`CTRNAND Padgen`. This will generate the NAND xorpad, which is saved to your SD card as `nand.fat16.xorpad`.
|
|
||||||
|
|
||||||
#### Step 3 – **Decrypt and mount NAND**
|
|
||||||
Place your NAND dump somewhere on your computer and rename it to `NAND.bin` if it's not already named `NAND.bin`. Place the `NAND.fat16.xorpad` file in the same directory that you extracted the [3DSFAT16tool](https://github.com/d0k3/3DSFAT16tool) zip to. Open a terminal window in that folder and execute the following command, which will generate a file called `NAND.fat16.bin`.
|
|
||||||
|
|
||||||
./3DSFAT16tool -d NAND.bin NAND.fat16.bin nand.fat16.xorpad
|
|
||||||
|
|
||||||
#### Step 4 - **Mounting the decrypted NAND**
|
|
||||||
|
|
||||||
Some partition information about the `NAND.fat16.bin` file in order to mount it. Execute the following commands on your PC (in order):
|
|
||||||
|
|
||||||
parted NAND.fat16.bin
|
|
||||||
unit
|
|
||||||
B
|
|
||||||
print
|
|
||||||
q
|
|
||||||
|
|
||||||
The output from these commands include a table that includes the columns "Number", "Start", "End", etc.
|
|
||||||
Look underneath "Start" and copy that value, excluding the 'B' indicating the number of bytes that number refers to (if the value if 182784B, copy 182784). With this number in hand, you should now be able to mount `NAND.fat16.bin`. Execute the following commands:
|
|
||||||
|
|
||||||
sudo mkdir /mnt/firstmnt
|
|
||||||
sudo mount -t msdos -o loop,offset=<the number you copied> NAND.fat16.bin /mnt/firstmnt
|
|
||||||
|
|
||||||
Now you can use the terminal or the file browser to browse the mounted image. The Config Savegame file is at `/mnt/data/<unique-ID>/sysdata/00010017/00000000` but it's in IVFC format and Citra needs the bare file content, so we have one more step to take, and this one's the hardest step if you're not a relatively experienced Linux user.
|
|
||||||
|
|
||||||
#### Step 5 - **Compiling 3dsfuse**
|
|
||||||
If in the future [3dsfuse](https://github.com/3dshax/3ds) is available precompiled or you are able to obtain it precompiled then this step can be skipped.
|
|
||||||
|
|
||||||
First, download the project files from https://github.com/3dshax/3ds/archive/master.zip and extract the downloaded zip somewhere on your computer. In a terminal window, navigate to the extracted folder and from there into the folder `3dsfuse`.
|
|
||||||
|
|
||||||
From here, you might just have to type 'make' and hit enter to compile it, but you might hit errors relating to pkg-config, openssl, and/or fuse. If you do, follow the below instructions for getting past those errors:
|
|
||||||
- Ensure that openssl is installed by entering the command `/usr/local/openssl/bin/openssl version`. If you don't get a response similar to `OpenSSL <version> <date>`, you need to install openssl. Follow the instructions [here](https://geeksww.com/tutorials/libraries/openssl/installation/installing_openssl_on_ubuntu_linux.php).
|
|
||||||
- Ensure that pkg_config (not pkgconfig) is installed. Run the command `sudo apt-get install pkg_config`.
|
|
||||||
- Ensure that fuse is installed. Run the command `sudo apt-get install libfuse-dev`.
|
|
||||||
- Ensure that devkitpro and devkitarm are set up on your machine. Follow the instructions [here](http://wiki.gbatemp.net/wiki/3DS_Homebrew_Development#Install_devkitPro_w.2F_devkitARM).
|
|
||||||
|
|
||||||
Once compiled, a new file will be generated called `3dsfuse`.
|
|
||||||
|
|
||||||
#### Step 6 – **Extract the Config Savegame**
|
|
||||||
With `NAND.fat16.bin` mounted as described in Step 4, go to the folder containing the compiled [3dsfuse](https://github.com/3dshax/3ds) and run the following commands:
|
|
||||||
|
|
||||||
sudo mkdir /mnt/secondmnt
|
|
||||||
./3dsfuse /mnt/firstmnt/data/<unique-id>/sysdata/00010017/00000000 --nowear /mnt/secondmnt
|
|
||||||
|
|
||||||
The extracted config file is in `/mnt/secondmnt/part_00`. There will be a file called `config`. Copy this file to the computer you will be running Citra on, and paste it into `<Citra location>/user/nand/data/00000000000000000000000000000000/sysdata/00010017/00000000`. If you are asked if you wish to overwrite the file, say yes.
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user