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

  • Thread starter Thread starter d0k3
  • Start date Start date
  • Views Views 253,402
  • Replies Replies 961
  • Likes Likes 87
so if i accidentally update my emunand on my n3ds for some strange reason, can I use themehax to autoboot homebrew loader and launch this tool to inject an older emunand <=9.5 fw? All without using a computer?
As long as you have a backup of that on the card then yep... Otherwise you need to transfer the backup to the card
 
  • Like
Reactions: kirbymaster101
so if i accidentally update my emunand on my n3ds for some strange reason, can I use themehax to autoboot homebrew loader and launch this tool to inject an older emunand <=9.5 fw? All without using a computer?
Yup that's possible. Given you thought about making a backup earlier.

Edit: Ooops too late :)
 
  • Like
Reactions: dark_samus3
Outstanding work. I never tought I'd live to see this, given how much time passed and no emunand formatting tool ever appeared. And it's even better than GW's.
 
  • Like
Reactions: thaikhoa
Well, I think that's because you didn't set everything but the name in the menu structures to zero. I'll have a look later, though.
Nah it's all set like the d9menu.h in this one i just called ed9menu.h
Commented out d9menu.h and included this one in main.c
Now the issue is only minor, but annoying all the same... I get the "Main Menu" text 3 times at the top of the image rather than once.
I'm probably missing something simple somewhere to fix this...

Test Image

Cw8qCE3.png


Code:
#pragma once

#define MENU_MAX_ENTRIES    12
#define SUBMENU_START 1

typedef struct {
    char* name;
    char* desc;
    u32 (*function)(u32 param);
    u32 param;
} MenuEntry;

typedef struct {
    char* name;
    u32 n_entries;
    MenuEntry entries[MENU_MAX_ENTRIES];
} MenuInfo;

MenuInfo menu[] =
{
    {
        "Main Menu", 3,
        {
            { "Complete EmuNAND Setup", NULL, 0, 0 },
            { "SD Format Options...", NULL, 0, 0 },
            { "EmuNAND Manager Options...", NULL, 0, 0 }
        }
    },
    {
        "SD Format Options", 4,
        {
            { "Format SD (EmuNAND)", NULL, 0, 0 },
            { "Format SD (EmuNAND/auto)", NULL, 0, 0 },
            { "Format SD (standard)", NULL, 0, 0 },
            { "Format SD (standard/auto)", NULL, 0, 0 }
        }
    },
    {
        "EmuNAND Manager Options", 5,
        {
            { "Clone SysNAND to EmuNAND", NULL, 0, 0 },
            { "Clone NAND.bin to EmuNAND", NULL, 0, 0 },
            { "Clone EmuNAND.bin to EmuNAND", NULL, 0, 0 },
            { "Dump SysNAND to NAND.bin", NULL, 0, 0 },
            { "Dump EmuNAND to EmuNAND.bin", NULL, 0, 0 }
        }
    },
    {
        NULL, 0, {}, // empty menu to signal end
    }
};
 
Nah it's all set like the d9menu.h in this one i just called ed9menu.h
Commented out d9menu.h and included this one in main.c
Now the issue is only minor, but annoying all the same... I get the "Main Menu" text 3 times at the top of the image rather than once.
I'm probably missing something simple somewhere to fix this...

Test Image

Cw8qCE3.png


Code:
#pragma once

#define MENU_MAX_ENTRIES    12
#define SUBMENU_START 1

typedef struct {
    char* name;
    char* desc;
    u32 (*function)(u32 param);
    u32 param;
} MenuEntry;

typedef struct {
    char* name;
    u32 n_entries;
    MenuEntry entries[MENU_MAX_ENTRIES];
} MenuInfo;

MenuInfo menu[] =
{
    {
        "Main Menu", 3,
        {
            { "Complete EmuNAND Setup", NULL, 0, 0 },
            { "SD Format Options...", NULL, 0, 0 },
            { "EmuNAND Manager Options...", NULL, 0, 0 }
        }
    },
    {
        "SD Format Options", 4,
        {
            { "Format SD (EmuNAND)", NULL, 0, 0 },
            { "Format SD (EmuNAND/auto)", NULL, 0, 0 },
            { "Format SD (standard)", NULL, 0, 0 },
            { "Format SD (standard/auto)", NULL, 0, 0 }
        }
    },
    {
        "EmuNAND Manager Options", 5,
        {
            { "Clone SysNAND to EmuNAND", NULL, 0, 0 },
            { "Clone NAND.bin to EmuNAND", NULL, 0, 0 },
            { "Clone EmuNAND.bin to EmuNAND", NULL, 0, 0 },
            { "Dump SysNAND to NAND.bin", NULL, 0, 0 },
            { "Dump EmuNAND to EmuNAND.bin", NULL, 0, 0 }
        }
    },
    {
        NULL, 0, {}, // empty menu to signal end
    }
};
The problem was in main.c. I already fixed it, can you take a look again?

@dark_samus3 maybe you can help! In the EmuNAND9Tool 'starter' subdir is a Windows batch script. A pretty simple one, and I see no reason why using this should be limited to Windows users. I also had to include 7za (EXE). I'd very much like to use GZip, but I'm unsure how to get the same result with it (don't compress .hidden files and use ./starter/extstarterpack/ as the root dir of the ZIP archive). Any idea how to handle this in GZip without actually moving files around?
 
Yep that does the trick. :)
It uses the base_sub image though which looks kinda weird with the B back there... I'll just do another base like the normal base but without the L R on it i think.
Can u do it with not such a ungly color?
 
Like what rxTools nightly build uses
Umm and that would be what exactly?
I don't touch rxTools anymore and haven't for a fair while now.
You're welcome to do your own theme graphics though. :) https://github.com/d0k3/Decrypt9-Menu-GFX-Generator
Show us a screenshot! Also, you can do theme files yourself, it really is pretty easy. The menu screens are just converted from PNG and for EmuNAND9Tool there are only a handful anyways.

@Shadowtrance , there is a problem in EmuNAND9Tool for the unlock sequence screens... these work a little differently. We'd either have to leave them out (might be the best choice) or think about something. By the way, I do in fact think that the Decrypt9 UI style is a little technical, and something more 'light' may fit EmuNAND9Tool a little better. Just my opinion, you're the designer!
 
Show us a screenshot! Also, you can do theme files yourself, it really is pretty easy. The menu screens are just converted from PNG and for EmuNAND9Tool there are only a handful anyways.

@Shadowtrance , there is a problem in EmuNAND9Tool for the unlock sequence screens... these work a little differently. We'd either have to leave them out (might be the best choice) or think about something. By the way, I do in fact think that the Decrypt9 UI style is a little technical, and something more 'light' may fit EmuNAND9Tool a little better. Just my opinion, you're the designer!
Well I've always said I'm open to ideas/suggestions, but so far no suggestions / rough mock up ideas or anything have come my way.
And i don't consider "can you do it in a Not such ugly color" as a constructive suggestion/idea either...

How do the unlock sequences work in this? I honestly haven't played with the current version yet.
 
Show us a screenshot! Also, you can do theme files yourself, it really is pretty easy. The menu screens are just converted from PNG and for EmuNAND9Tool there are only a handful anyways.

@Shadowtrance , there is a problem in EmuNAND9Tool for the unlock sequence screens... these work a little differently. We'd either have to leave them out (might be the best choice) or think about something. By the way, I do in fact think that the Decrypt9 UI style is a little technical, and something more 'light' may fit EmuNAND9Tool a little better. Just my opinion, you're the designer!
4zePvpw.gif
 
Something like this maybe?
OCpvh1k.png
That looks pretty good! The icons that rxTools has for each feature are nice, too, if you want something like that in the batch script, let me know! (icons might not be feasible for bigger meu strcutures such as thos of Decrypt9, though).
 
It is possible with this tool to delete old palantine rednand without delete RX emunand?
 
It is possible with this tool to delete old palantine rednand without delete RX emunand?
Well... you have a Palatine RedNAND somewhere + a (GW type) rxTools EmuNAND on one SD card, correct? You need to be careful following these steps, but it is possible....
  1. Backup all the data from your SD card (this will be wiped!) / Also make a backup of your rxTools EmuNAND, just to be safe (use EmuNAND Tool / EmuNAND9Tool for that)
  2. Format your SD using SD Format Options (EmuNAND) or (EmuNAND/auto) - don't worry, if you select one of these two, your rxTools EmuNAND won't be touched.
  3. Move your SD data back to the wiped SD card
if you followed (1) completely nothing bad can happen even if you mess up the other steps anyways.
 

Site & Scene News

Popular threads in this forum