Skip to content

d0k3/EmuNAND9

Repository files navigation

EmuNAND9

Open source EmuNAND SD formatter & manager for the 3DS console aka. "The final nail in the coffin of GW software for GW non-owners"

Important note

This is discontinued. While it most likely still works for everything that you want to do, bugs will no more be fixed and new versions will not come. Use GodMode9 instead, which is a superior alternative to EmuNAND9.

What can this do?

Actually, a lot! See this incomplete list:

  • Completely setup a fresh SD card for EmuNAND, including cloning SysNAND to EmuNAND and autosetup of a homebrew starter pack
  • Setup a minimum size RedNAND, saving space on your SD card
  • Clone your SysNAND to your EmuNAND, at any time, without wiping SD data
  • Make backups of your SysNAND and EmuNAND
  • Convert GW type EmuNANDs to RedNAND and vice versa
  • Inject these backups back into EmuNAND (without wiping SD data)
  • Convert a RedNAND to a GW type EmuNAND (without wiping SD data)
  • Format an SD card without EmuNAND / remove an existing EmuNAND

Why is this better than GW software?

EmuNAND9 is better than GW software for a number of reasons:

  • Open source, licensed under the GPL v2
  • Formats SD cards according to official recommendations for better performance & longer lifetime
  • Bigger functionality - see the list above
  • Includes a number of safety measures to make it idiot proof
  • Has more ways of running than GW software (HB Launcher, anyone?)
  • Doesn't require a PC to setup a fresh SD card

Warning

As written above, this includes a number of safety measures to make it as idiot proof as possible. However, this is a powerful tool. It can wipe your SD card and it can overwrite your EmuNAND. You will be warned every step along the way, but it lies in the hands of the user to actually read the text on screen and to react accordingly.

How to run this / entry points

EmuNAND9 can be built to run from a number of entry points, descriptions are below. Note that you need to be on or below 3DS firmware version v9.2 or have ARM9loaderhax installed for any of these to work.

  • Gateway Browser Exploit: Copy Launcher.dat to your SD card root and run this via http://go.gateway-3ds.com/ from your 3DS browser. Build this with make gateway.
  • A9LH & Brahma: Copy EmuNAND9.bin to somewhere on your SD card and run it via either Brahma or arm9loaderhax. Brahma derivatives / loaders (such as BrahmaLoader, BootCTR and CTR Boot Manager) and A9LH chainloaders (such as Luma3DS and BootCTR9) will work with this as well. Build this with make a9lh.
  • Homebrew Launcher: Copy EmuNAND9.3dsx & EmuNAND9.smdh into /3DS/EmuNAND9 on your SD card. Run this via Smealums Homebrew Launcher, Mashers Grid Launcher or any other compatible software. Build this with make brahma.
  • CakeHax Browser: Copy EmuNAND9.dat to the root of your SD card. You can then run it via http://dukesrg.github.io/?EmuNAND9.dat from your 3DS browser. Build this via make cakehax.
  • CakeHax MSET: Copy EmuNAND9.dat to the root of your SD card and EmuNAND9.nds to anywhere on the SD card. You can then run it either via MSET and EmuNAND9.nds. Build this via make cakerop.

If you are a developer and you are building this, you may also just run make release to build all files at once. If you are a user, all files are already included in the release archive.

EmuNAND9 controls

The most important controls are displayed on screen, here is a list of all:

  • DOWN/UP - Navigate menus, select between options.
  • A - Enter submenu or confirm action.
  • B - Depending on location, leave submenu or cancel.
  • X - Make a screenshot (works in menu only).
  • X + LEFT/RIGHT - Batch screenshot all submenus / entries (only on menu)
  • SELECT - Unmount SD card (only on menu).
  • START (+ LEFT) - Reboot (START only) / Poweroff (with LEFT).

There are some features (NAND backup and restore, f.e.), that require the user to choose a filename. In these cases, use the arrow keys to select and A / B to confirm and cancel.

EmuNAND9 features description

See below for a quick descriction of features in EmuNAND9.

  • Complete EmuNAND Setup: The recommended option, with the highest comaptibility, for everyone. Works on any CFW and/or hardware. This will format your SD card, clone your SysNAND to EmuNAND and setup a base starter pack (see below). The contents of your SD card & your EmuNAND (if existing) will be wiped, so keep backups. You are given the possibility to switch the SD card after starting this, just in case you want to format a different SD card than the one EmuNAND9 is running from.
  • Complete RedNAND Setup: Same as above, but will setup a RedNAND instead of a standard GW type EmuNAND. RedNANDs are at the moment only compatible with CakesFW and AuReiNAND CFW.
  • SD Format Options: This lets you format your SD card, with various options. Each of these options will wipe your SD card, but you will get a warning and a chance to switch SD cards before it actually starts.
    • with / without starter pack: Choose to setup the base starter pack after formatting or to skip it.
    • without EmuNAND: This also removes your EmuNAND from the SD card, freeing up the space it took.
    • for EmuNAND (default/legacy/minsize): Choose default to avoid wasting space and for best compatibility. For some outdated tools to keep working with your EmuNAND, you may need to choose legacy, but know that this will waste a lot of space on some systems and is not recommended. Choose minsize for a minimum size RedNAND partition, but know that you will only be able to setup a RedNAND on this (see above/below). Choosing minsize will damage your GW type EmuNAND (RedNAND will be untouched), while the other two options will leave your existing EmuNAND / RedNAND untouched.
  • EmuNAND Manager Options: This includes various options to manage your EmuNAND. Note that the writing options (clone / restore) will overwrite your existing EmuNAND. You can...
    • Clone your SysNAND to EmuNAND / RedNAND: Use this to directly copy SysNAND to EmuNAND.
    • Backup your SysNAND / EmuNAND to a file: This should be self explaining. There is no difference in GW type EmuNAND backups / RedNAND backups - EmuNAND9 will handle this for you.
    • Restore your EmuNAND from a backup: This should be self explaining as well. Again note that backups for GW type EmuNANDs / RedNANDs are the same - EmuNAND9 handles the conversion for you.
    • Convert your EmuNAND -> RedNAND or vice versa: Convert an existing GW type EmuNAND to RedNAND or vice versa. Do not turn off your system while doing this, or your EmuNAND will be damaged. It is recommend to make a backup before the conversion.

Why should I use RedNAND?

Read more about the RedNAND / GW EmuNAND difference here. RedNANDs are, by now, only supported by CakesFW and AuReiNAND, and technically a superior alternative to GW type EmuNANDs. For N3DS consoles with a 1.8GB NAND chip, choosing RedNAND over EmuNAND will create an EmuNAND that is a whopping 560MB smaller than a standard one, with other console types your mileage may vary. If you want to convert an existing GW type EmuNAND to RedNAND, do this:

  • Backup your current EmuNAND and SD card contents (via EmuNAND Manager Options).
  • Either use 'Complete RedNAND Setup' or 'Format SD for EmuNAND (min size)' to setup your SD card.
  • Restore your EmuNAND and copy back the contents of your SD card.

Just doing the conversion (in EmuNAND Manager Options) will not save any space on your SD card.

Starter pack contents

As a new feature, EmuNAND9 contains the ability to transfer a starter pack to your newly formatted SD card. The starter pack is in the file called 'starter.bin'. This file can be either a boot.3dsx or a Launcher.dat, but you have to rename it to 'starter.bin' for it work. EmuNAND9 will detect the type of 'starter.bin' automatically and name it accordingly when transferring to the formatted SD card. The maximum size of 'starter.bin' is 16MB.

The 'starter.bin' included with EmuNAND9 is an extended version of smealums homebrew starter pack (from https://smealum.github.io/ninjhax2/). It was converted to a 3DS compatible self extracting ZIP archive using ZIP3DSFX (https://github.com/d0k3/ZIP3DSFX). ZIP3DSFX doesn't have a graphical user interface at the moment, but you can use the simple batch script included in the release archive to convert any ZIP archive to your personal .3DSX self extracting ZIP archive. You can also open the starter.bin in any ZIP archiver.

The starter.bin contains the following homebrew software:

  • Gridlauncher by mashers (instead of regular HB launcher)
  • MenuHax Manager by Yellows8
  • HANS by smealum
  • CHMM2 by Rinnegatamante
  • ftBrony by mtheall
  • mGBA by endrift
  • Playcoin Setter by MrCheeze
  • FBI by SteveIce10
  • svdt by meladroit
  • uncart by Archshift & others
  • CTRXplorer by d0k3
  • Decrypt9 by Archshift & d0k3
  • EmuNAND9 by d0k3
  • GodMode9 by d0k3
  • Luma3DS by AuroraWright
  • ReiNAND CFW by reisyukaku
  • CakesFW by mid-kid (you need to get some files yourself)
  • MiniPasta by zoogie
  • ... and more!

Credits

  • Archshift for the basic code behind this
  • Cha(N), Kane49, and all other FatFS contributors for FatFS
  • Normmatt for sdmmc.c as well as the project infrastructure (Makefile, linker setup, etc)
  • Shadowtrance, Datalogger and countless others for helping me test and develop this
  • The fine folks on freenode #Cakey