Official [Release] EmuNAND9 - Open Source EmuNAND Formatter & Manager

Discussion in '3DS - Homebrew Development and Emulators' started by d0k3, Dec 15, 2015.

  1. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,568
    2,586
    Dec 3, 2004
    Gambia, The
    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"


    Main Version:

    [​IMG] [​IMG] [​IMG]

    Download: https://github.com/d0k3/EmuNAND9/releases
    Source Code: https://github.com/d0k3/EmuNAND9



    Alternative UI version:


    [​IMG] [​IMG] [​IMG]

    Download: https://github.com/Shadowtrance/EmuNAND9/releases
    Source Code: https://github.com/Shadowtrance/EmuNAND9



    How to run this?
    You can only use this if your 3DS FW is <= 9.2. There are multiple ways of running this:
    • CakeHax - use EmuNAND9.dat, EmuNAND9.nds for MSET is included
    • Homebrew Launcher - use EmuNAND9.3dsx to run this from Homebrew Launcher
    • Gateway 4.x browser exploit - use Launcher.dat
    • Bootstrap / Brahma - use EmuNAND9.bin
    What can this do?
    Actually, a lot! See this incomplete list:
    • Completely setup a fresh SD card for EmuNAND, including cloning SysNAND to EmuNAND
    • Autosetup of a homebrew starter pack
    • Clone your SysNAND to your EmuNAND, at any time, without wiping SD data
    • Make backups of your SysNAND and EmuNAND
    • 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
    But 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
    Additional info
    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.

    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 transfering 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
    • ReiNAND CFW by reisyukaku (without the evil firmware.bin file)
    • CakesFW by mid-kid (you need to get some files yourself)
    • MiniPasta by zoogie

    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 project infrastructure (Makefile, linker setup, etc)
    • Shadowtrance for the UI version
    • dark_samus3, Datalogger and countless others for helping me test this
     
    Last edited by d0k3, Apr 13, 2016
    Kvnrdrguez, chaosrunner, 1x7 and 84 others like this.


  2. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,568
    2,586
    Dec 3, 2004
    Gambia, The
    A previous version of this was initially part of my Decrypt9WIP project (by the way, check it out, too, it is cool stuff!) and was tested by several people. It was also tested by me, so it should be safe too use. There may still be some minor bugs in there, but nothing game breaking for sure. Nobody is perfect, though, so testing and feedback (even about cosmetic stuff) is highly appreciated. Especially entry points other than Brahma still have to be tested (the other entrypoints are well tested in Decrypt9, though). Other stuff has been part of Decrypt9 (SysNAND/EmuNAND dumper and EmuNAND injector) for a while, but testing is still a good idea.

    As for the starter pack - not sure if everything in there is working as it should. If you don't like it or need a different one, you can just make your own, all the instructions you need are included in the readme file. Posting personal starter packs here is appreciated, but no copyrighted stuff! Or, even better, tell me what you think is missing from the pack and I'll consider adding it.

    Also, maybe @Shadowtrance will want to do a GUI for this ;).

    Also, please, please, please, don't ask for a CIA. Because this relies on ARM9, a CIA is only possible with several limitations (that you wouldn't be willing to accept). This already has been asked in the other thread (multiple times) and has been discussed at length.
     
    Last edited by d0k3, Dec 15, 2015
  3. dark_samus3

    dark_samus3 GBAtemp Addict

    Member
    2,314
    1,712
    May 30, 2015
    United States
    Nice to see a release, didn't know you were working so hard on this... I really like the CFWs and other stuff included in the starter pack...

    I'd like to thank you (and everyone in the credits) for all of your hard work, the 3ds scene wouldn't be where it is without you guys! I look forward to using this in the future :)
     
  4. ZeCroque

    ZeCroque Advanced Member

    Newcomer
    59
    13
    Sep 29, 2015
    France
    Wow. You're going to be the new standard for all CFW tuto, well done x)
     
    Arithmatics likes this.
  5. Guantanamo

    Guantanamo Member

    Newcomer
    41
    10
    Nov 7, 2010
    Macau
    Morocco
    Seems Very nice. Good job !! This will help a lot :)
     
  6. yusuo

    yusuo GBAtemp Addict

    Member
    2,492
    846
    Oct 19, 2006
    Wow, seems like a neat tool is there anyway you are able to make a backup of my emunand without having all the games included I dont really want my emunand backup to be 20gb, plus I don have the space to do that
     
    Kvnrdrguez and Arithmatics like this.
  7. dark_samus3

    dark_samus3 GBAtemp Addict

    Member
    2,314
    1,712
    May 30, 2015
    United States
    emuNAND has a max size of 1 GB on o3ds and 2 GB on n3ds....
     
  8. yusuo

    yusuo GBAtemp Addict

    Member
    2,492
    846
    Oct 19, 2006
    So this wont backup my games as well
     
  9. dark_samus3

    dark_samus3 GBAtemp Addict

    Member
    2,314
    1,712
    May 30, 2015
    United States
    nope
     
    Kvnrdrguez likes this.
  10. yusuo

    yusuo GBAtemp Addict

    Member
    2,492
    846
    Oct 19, 2006
    awesome, thanks
     
    Kvnrdrguez likes this.
  11. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,568
    2,586
    Dec 3, 2004
    Gambia, The
    Your games are installed on your SD card anyways, not on the EmuNAND ;).
     
    dark_samus3 likes this.
  12. cvskid

    cvskid GBAtemp Addict

    Member
    2,166
    779
    Apr 13, 2014
    United States
    Very nice tool, but this? "The last nail in the coffin of GW software for non GW users". :O
     
    Macheen likes this.
  13. dark_samus3

    dark_samus3 GBAtemp Addict

    Member
    2,314
    1,712
    May 30, 2015
    United States
    yeah, you don't have to use GW software to format emuNAND anymore... which means that there's no need for GW software anymore as that is pretty much the main reason that it is still used :)
     
    Arithmatics and cvskid like this.
  14. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,568
    2,586
    Dec 3, 2004
    Gambia, The
    That just means that no one has to use GW software anymore if he doesn't own a GW card ;).
     
    -Xin- and cvskid like this.
  15. cvskid

    cvskid GBAtemp Addict

    Member
    2,166
    779
    Apr 13, 2014
    United States
    Nice. I still use a gateway 3ds myself but i will try this tool out sometime.
     
  16. dark_samus3

    dark_samus3 GBAtemp Addict

    Member
    2,314
    1,712
    May 30, 2015
    United States
    It's even useful to GW users, as they don't need to format the whole SD card to make an emuNAND anymore (with pre existing emuNAND that is) :) it's funny when people outdo gateway in every way :rofl2:

    @d0k3 do you think it will ever be possible to resize a partition that has enough free space instead of erasing it? (yeah I know it's easier to erase but that would make this even MORE useful)
     
    Last edited by dark_samus3, Dec 15, 2015
    Arithmatics likes this.
  17. zoogie

    zoogie simple pimp tool

    Member
    6,159
    7,782
    Nov 30, 2014
    United States
    It might be a cool feature to include holding the EmuNAND9Tool.3dsx (or *.bin) and the boot.3dsx in FCRAM and rewrite it after the reformat. You know, just enough to rerun the program without copying backups from the PC. This is similar to how GW rewrites the LAUNCHER.DAT to sd after a reformat.
     
  18. dark_samus3

    dark_samus3 GBAtemp Addict

    Member
    2,314
    1,712
    May 30, 2015
    United States
    it already does that, the .bin is a self extracting zip archive that gets copied to the new fat32 partition and then when the HB launcher is run it automatically upzips itself ;)
     
    zoogie likes this.
  19. zoogie

    zoogie simple pimp tool

    Member
    6,159
    7,782
    Nov 30, 2014
    United States
    I was about to edit my post when this sank in. lol
    Awesome feature, awesome homebrew.
     
    dark_samus3 likes this.
  20. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,568
    2,586
    Dec 3, 2004
    Gambia, The
    I thought about that, but at the moment it is unlikely. Resizing the partition would force me to edit the FAT boot record, and that can be more complicated than one might think. I, f.e. still don't know why my earlier 'manual' SD formatting experiments didn't work. Add to that that the 3DS SD card writer boasts abysmal performance and we would have to process the whole SD card, meaning it could take several hours. So, we have a somewhat complicated operation that would require extensive testing plus conditions that will drive away almost all testers - not very good.

    It can already be done on PC, though. Much faster, too. Use Partition Wizard to resize the partition, leave at least [size_of_your_NAND] free at the beginning of the card. Then use EmuNAND9Tool to either inject a NAND backup or to directly transfer the SysNAND to the free space. [size_of_your_nand], for those that are unsure, is roughly 1GB on O3DS and 2GB on N3DS. Even if you set it wrong, nothing bad will happen (well, except that you'll have to try again), as EmuNAND9Tool will check your SD card if it is EmuNAND ready before even beginning to process it.
     
    Arithmatics likes this.