The EmuNAND/Save Data Mega Guide GBATemp Doesn't Deserve mods feel free to edit the title There are way too many people running around asking the same questions and getting the same answers, so here we go. Running the exploit So, you finally get to use that shiny new Gateway 3DS flashcart sitting that's been sitting on your shelf for a month. Gateway 3.0 is out! If you are on firmware 4.5-9.2, here are your options: 1. Bookmark http://go.gateway-3ds.com/ and navigate there using the web browser whenever you want to run the exploit 2. Use the android app to do the above even if you don't have an internet connection 3. Downgrade to 4.x and use the old DS Profile exploit BUT WAIT! Don't do any of those things yet! There are other things you need to know before starting. The next few sections will explain some info that you should know before you so much as breathe on that gateway card: 1. How 3DS memory works 2. What EmuNAND does 3. Why that might cause problems 4. How to fix those problems 5. Everything about Save data 6. Why you should think hard before downgrading to 4.x 1. How 3DS memory works I'm going to talk relatively precisely about how things work, because I think people on this site generally talk very loosely about various things, and it confuses beginners. First let's talk about how the 3DS system memory works. It can basically be divided into two sections: "stuff that gets saved to SD", and "stuff that gets saved to system memory (NAND)". Stuff that gets saved to SD: Games, extra save data that games wish to save to SD Stuff that gets saved to system memory (NAND): System firmware, housekeeping info like which titles are installed, system settings, unique info that differentiates this 3DS system from another Most people already know this, but data written to SD by a certain 3DS system (or, a system with certain unique data in its NAND) can only be read and written by that same 3DS system. Unique data in that 3DS's NAND enables it to read/write data to a specific folder on SD. If you put the same SD card into another 3DS, that 3DS will have to make another folder for itself, because it doesn't have the same unique NAND data as the 3DS that wrote to SD in the first place. 2. What EmuNAND does Here's pretty much what happens when you press "Format EmuNAND" in the Gateway launcher: 1. Your SD card's partition table is wiped (data is lost) 2. A small (~1-2GB, maybe?) partition is created 3. A larger partition is created to fill the remaining unallocated space on the SD card 4. An exact copy of your system NAND is made and placed on the SD card's small partition When you launch Gateway mode or Classic mode, the NAND copy on your SD card is loaded instead of the 3ds's system NAND. Pretty neat, huh! This allows you to update the copy of your console's firmware that lives on your SD without updating your console's actual firmware. It also allows really neat things, like the ability to install .cia files without worrying about bricking your NAND firmware. If you install a .cia that bricks your EmuNAND, you can just inject an EmuNAND backup that i'm sure you made ahead of time, and you're good to go. 3. Why that might cause problems Mostly this is just why that might cause one relatively big problem. You see, your EmuNAND really does start off as an exact copy of your system NAND. It has the same unique info, the same everything. That means that when it wants to write to SD, it can and does write to the same SD data folder that your system nand uses. This can lead to issues with themes and cia installations. One of the big issues: If your system NAND and EmuNAND use the same data folder, going into Data Management while using system NAND will delete ALL .cias installed to EmuNAND, and ALL of their data. Bad bad bad. 4. How to fix those problems The main issue is that your system NAND and your EmuNAND have the same unique data, so they both think that they are the same 3DS and write to the same data folder. You want your system NAND and EmuNAND to think that they are different systems, so that they will behave like different systems. Thankfully, performing a System Format on either system NAND or EmuNAND will achieve this. But don't do that yet. First you need to create a NAND backup and an EmuNAND backup. You can make a NAND backup from the Gateway launcher, and you can make an EmuNAND backup by using EmuNAND Tool. You're going to want to keep this EmuNAND backup (one of a fresh copy of your NAND), as well as a backup of a freshly formatted (using System Format, that is) EmuNAND, as well as a "recent" backup of your EmuNAND. After you have a backup of your system NAND and your fresh EmuNAND in a safe place, you can proceed to format one of the two. You're good to go, as long as you don't have save data from eshop games that you want to be able to use on EmuNAND. Here are some things to consider when deciding which NAND to format: 1. Your friend code will change on whichever NAND you format 2. You will not be able to access your old Streetpass Mii Plaza data when you're running on whichever NAND you format 3. You will not be able to access eshop game save data when you're running on whichever NAND you format 4. You will be able to use the eshop account linked with the console on EmuNAND regardless of which NAND you format. However, there is a way to keep your eshop saves. Read on if you'd like to know how. My recommendation is to format EmuNAND, because there's a much lower chance that you'll lose things from your system NAND that way. 5. Everything about save data .3ds saves (all) These are the ez pz saves. They were made using a Gateway card running a .3ds rom. There are two types of rom files: Card 1 and Card 2: Card 1: On a retail cart, the save data would be saved to seperate memory outside of the game ROM itself, but still on the cart. The way Gateway handles this is by making a <titleid>.sav file on the SD card. This file can be transferred to different systems without issue. Card 2: On a retail cart, the save data gets stored after the ROM, in the same memory. I'm not 100% sure about this, but I think gateway does it in pretty much the same way: the save data gets saved to the .3ds file. To back this up, you need to use savedatafiler. Look for "CTR card" Just a note, savedatafiler would also work for Card 1 games, but Gateway needs to fix something for that to work. This means that you can't transfer saves from Card 1 games to .cia games. Our great savior LioMajor has found a way to transfer saves from card1 games to .cia! It works on MT Card, though. One way to fix this is to convert your Card 1 .3ds files to Card 2. It'll only work before you make your save though. After doing this, you can use savedatafiler to move your save between the .3ds and .cia. You can use this tool to convert a Card 1 .3ds file into a Card 2 one. Remember, you have to start a new save if you do this, so do it sooner rather than later! .cia files (all) and eshop games (<6.0.0 only, see very last "save data" section) I'm going to write about eshop games next, because they are the next easiest to understand. Eshop games, and their saves, are saved to the SD card. They can only be accessed by the 3DS when it's running on the NAND that they were originally installed with. Or, more precisely, the NAND that has the same unique info as the NAND that installed it. This information also holds true for .cia files (that's almost exactly what eshop games are). I'm relatively certain, though, that save data is stored encrypted on the SD card. If you want to back up or transfer a save, you have to use a program called savedatafiler. It can extract and inject saves to/from the SD card. It also has the ability to extract and inject saves in card 2 game carts, which I'll talk about further down. So, if you have eshop games that you want to back up the save data for, savedatafiler is the way to do it. Here's the process (as long as the eshop game and save data haven't been deleted from your SD card): 1. Make you have savedatafiler.3ds (renamed from .csu) on the Gateway red card 2. Backup your EmuNAND using EmuNAND tool 3. Inject your "fresh" EmuNAND backup using EmuNAND tool. This is the one that has the same NAND data as your sysNAND did when you first started. If you don't have a backup like this, you can also try injecting your original sysNAND backup. 4. Boot into Gateway mode 5. For each game you want to backup, find the titleid on http://3ds.essh.co/ 6. Find the corresponding titleid slot in the first tab of savedatafiler and follow the directions on the top screen to backup your save (don't choose the "secure" way) 7. The third tab of savedatafiler should show all of the data you've backed up 8. Reinject the backup you made at step 2 9. Install the eshop games again, either from eshop or .cia 10. Open savedatafiler, go to the 3rd tab, and import all of the save data Your saves should be imported and usable! You can use a similar process for transferring .cia or eshop saves to a different 3DS. Note: If, after reading this section, you still have questions about how to use savedatafiler, see this awesome guide by lemanuel. Retail carts (<6.0.0 only, see very last "save data" section) If you're trying to extract a Pokemon X/Y/OR/AS save, look here. Otherwise, read on... So this issue is, uh, complicated. First thing's first, here's how things are supposed to work: 1. You dump your retail cart rom (or maybe obtain it another way?) 2. You dump your retail cart save 3. You rename your .3ds dump to .3dz and put it on your Gateway red card 4. You rename your .sav dump to <titleid>.sav and put it on your SD card 5. Load up the .3ds dump Now I'm going to tell you that this will work with like 15% of games. Sorry This will only work if that game's save is 512kb in size. If it isn't then it'll read as corrupt. That's not the only issue though... All retail games released after 6.0.0 In firmware 6.0.0-11, nintendo introduced a new way of encrypting save data. Games that include a 6.0.0-11 or higher firmware on the retail cart use this encryption. This is where things get dicey. One of the keys used for the encryption is loaded on console boot. It doesn't get reloaded when you boot into EmuNAND. This used to be an issue for 4.x users wanting to play retail carts with this kind of encryption. Gateway basically overcame this issue by making those games playable in Classic mode using the 4.x key loaded at boot. This meant that the games would save fine, but you couldn't open that save on a 9.x sysnand console, and the reverse was true as well. Well, now those 9.x sysnand saves will work in Classic mode, as long as your console is on sysnand 9.x. Gateway properly uses the 9.x key that was loaded at boot... but if you dump the same saves with the Gateway launcher, they won't work. I'm pretty sure this is a bug, and I've sent an email to Gateway about it. You can read about that here. There are two bottom lines here. The first is that dumped saves won't work under the following conditions: 1. The game's save is not 512kb in size 2. The game uses >6.0 encryption for saving The second bottom line is that you will lose the ability to play retail saves that use >6.0 encryption on your 3ds if you downgrade to system NAND 4.x. Additionally, if you have >6.0 eshop games that you started playing on a >6.0 system, and you weren't in gateway mode, you won't be able to keep those saves either*. This is because of the aforementioned mismatch in the keys used to encrypt and decrypt saves. Basically, if you want to continue to be able to play retail games with >6.0 save encryption, you need to stay on the system NAND version you are currently on. You'll need to stay at that system NAND version until gateway fixes all of these save compatability issues. THE ISSUES IN THIS SECTION ONLY APPLY TO RETAIL CARTS! See "Eshop games and .cia files" for backing up eshop/cia saves! * This statement seems to be contested. I can't test it myself because I don't have any eshop games that fit the criteria, but we have two conflicting stories about this. 6. Why you should think hard before downgrading to 4.x See the last two paragraphs in the previous section.