Read First!

The below wiki article is based on user submitted content.
Please verify all hyperlinks and terminal commands below!

See a mistake? Want to contribute? Edit this article on Github

Dumping Config Savegame from a 3DS Console

How to dump the Config Savegame

By default, Citra creates a dummy config file representing a 3DS console’s config savegame, which is sufficient to play most games without any work by the user or any files dumped from a real console. However, a dump of a real config savegame from a physical 3DS is required if an error similar to below is encountered while using Citra:

Service.CFG  core/hle/service/cfg/cfg.cpp:GetConfigInfoBlock:197: Config block 0xB0001 with flags 2 and size 2048 was not found

This tutorial will cover how to dump the config savegame from a 3DS console, but note that this file is copyrighted and not allowed to be shared, so don’t ask for it on the forum. If you do not own a 3DS to dump a config savegame from, you are out of luck.

Diagram showing the correct location of the config savegame in Citra’s User Directory.
"User Directory"
└── nand
    └── data
        └── 00000000000000000000000000000000
            └── sysdata
                └── 00010017
                    └── 00000000
                        └── config 

Required tools

  • 3DS system with boot9strap and GodMode9 installed (or any other tools that can dump decrypted NAND files)
  • SD card reader, or a way to use wireless file transfer
  • Python 3 installed on PC
  • Save file extractor. You need to download the entire repo.

Instructions

  1. Set up GodMode9 using SigHax / Boot9Strap. [Read its readme] on how to do this.
  2. Put the SD card into the 3DS.
  3. From the root GodMode9 menu, navigate to [1:] SYSNAND CTRNAND -> data -> {a folder with random numbers} -> sysdata -> 00010017.
  4. Select 00000000, then select Copy to 0:/gm9/out.
  5. Once this process complets, mount SD card on PC.
  6. Open command line / powershell / terminal, run

    py -3 disa-extract.py {SD}/gm9/out/00000000 {an-arbitrary-path}
    

    Note:

    • Linux and macOS users must use python3 instead of py -3.
    • Make sure python is in your system path and it is python 3, or you will have to give the full path to python
    • disa-extract.py is the save file extractor downloaded above. Replace it with a full path if necessary.
    • {SD}/gm9/out/00000000 is where GodMode9 copied the file out. Replace it with the correct directory/driver.
    • {an-arbitrary-path} is a directory to store the output.

    On success, you will see Finished! printed on the last line

  7. go to {an-arbitrary-path} you have set and find a file named config. Copy this file to the computer into Citra’s User Directory at /nand/data/00000000000000000000000000000000/sysdata/00010017/00000000. Allow the computer to overwrite any existing file.