Hi all! First of all, sorry for my english!!
I read in this site a Thread about a utility called 3DS MultiEmuNAND creator, from DarkMatterCore, that created it to simplify the process described by nop90 about having two emunand on the same SD, but it needs Palantine and I own a New 3DS XL with 9.2.
I've revised and made a little modification to ReiNand code to build an alternative version that allows to put a second emuNAND on the SD card with an offset of 2GB, making it compatible with 3DS MultiEmuNAND creator.
It works in New 3DS 9.2 (as ReiNand does), allowing me to have on the same SD a 10.5 main emunand, with separated id from my sysnand, to install 3ds backup cias, and all that stuff... and a (in my case 9.2) secondary emunand, with the same id that has the sysnand, where i install GBA titles, allowing me to play GBA games in the native emulator, without having to install them to sysnand.
But it can have more applications!!
I hope it is useful for other users. In the linked file there are the three releases of ReiNand, 3.0, 3.1 and 3.2b with the mod applied. As you can see, the usually called "rei" folder is now called "rei2", allowing to boot the first emunand with another reinand installation without colliding with it, not being tied to use the same version, and being able to use another splash image for example. For that double-reinand installation, i recommend not using the "3dsx launcher", but renaming Launcher.dat to Launcher1.dat and Launcher2.dat for example (being Launcher1.dat the not-modified Launcher.dat of reinand available on the github), and use CtrBootManager (another incredible and inspiring software) to reference .dat files directly by their distinct names.
Once you are booted into the second emunand, you can use tools like SysUpdater or FBI if they are installed as cias into the system and you can launch them from Home Menu. If they have to write something to the nand, they will write it to the second emunand, as it must be. But, if you run tools from outside the second emunand system, for example, executing an exploit to run them, or botting them when powering on, through homebrew launcher or similar... any functionality respecting to emunand, will act on firs emunand, that has the traditional location on the SD card. In my case, i needed to use Decrypt9 to dump and later inject FBI on the second emunand, so i had that in mind, and first of all, i put the nand image i was going to use as second emunand, alone, in another SD. There i used Decrypt9 to inject FBI, copied emunand, and used that image to set my second emunand on my first SD.
IMPORTANT NOTES:
* If you set an emunand with the same ID as the sysnand, as is my case for second emunand, have in mind that Reinand 3.1 has an important bug respecting to this situation!! It doesn't show the string "Rei" before the firmware version on 3DS settings, so take care not to think you are booting into sysnand!! This bug affects not only my modified version!! Having the same id on sys and emunand, they share the theme and home menu appearance. I don't know an easy way to test it on 3.1, but... if you installed FBI into Health and Security on a separate SD first, as i mentioned, you can see if it is installed and check that way... Or use 3.0 or 3.2b Reinand
* If, for obtaining an emunand with the same id as the sysnand, you made a copy of your sysnand... have in mind that it also has installed the exploit that makes your sysnand boot into emunand... so... once you boot into that emunand... it will execute the exploit and start the boot process again!! So, you must prevent a way to disable the exploit when booting that emunand. For example: In my installation, i use homemenuhax as exploit. It can be configured to boot only if a key is pressed or not (in my case, it boots unless i keep pressing L). So, when i power on my 3ds, i dont press L, and the exploit runs taking me to CtrBootManager, that shows me the boot menu. If i want to enter into the same-id-emunand, i choose it and press L until it enters home menu, to avoid it to enter the booting loop.
* Another thing respecting HomeMenuHax: Do not change your theme on your same-id-emunand or you will loose HomeMenuHax on emunand and sysnand! (not exactly on sysnand. homemenuhax keeps part of its code in the nintendo ds folder on sd card, associated to the nand id, but you will have to install it again, anyway).
That's all!! I will be please of helping anyone who needs. This is my fist time taking part actively in a forum and contributing with something that i think is really useful, so will try my best.
Thanks for reading!
Download the pack with the three modified versions of ReiNand.
New
I have just seen an important thing. For the ones who owns an Old model. If you select "Old 3DS" on 3DS MultiEmuNAND creator, the layout on the SD card will change and my mod of Reinand will not work. I guess you can select "New 3DS" with no problems, as i think the only thing that changes is the offset on the card.
----------------------------------------------
I will explain here what i did on code:
I modified the function getEmunandSect on emunand.c from:
void getEmunandSect(u32 *off, u32 *head){
to:
void getEmunandSect(u32 *off, u32 *head){
And changed all the ocurrences of "/rei" on source code to "/rei2".
I read in this site a Thread about a utility called 3DS MultiEmuNAND creator, from DarkMatterCore, that created it to simplify the process described by nop90 about having two emunand on the same SD, but it needs Palantine and I own a New 3DS XL with 9.2.
I've revised and made a little modification to ReiNand code to build an alternative version that allows to put a second emuNAND on the SD card with an offset of 2GB, making it compatible with 3DS MultiEmuNAND creator.
It works in New 3DS 9.2 (as ReiNand does), allowing me to have on the same SD a 10.5 main emunand, with separated id from my sysnand, to install 3ds backup cias, and all that stuff... and a (in my case 9.2) secondary emunand, with the same id that has the sysnand, where i install GBA titles, allowing me to play GBA games in the native emulator, without having to install them to sysnand.
But it can have more applications!!
I hope it is useful for other users. In the linked file there are the three releases of ReiNand, 3.0, 3.1 and 3.2b with the mod applied. As you can see, the usually called "rei" folder is now called "rei2", allowing to boot the first emunand with another reinand installation without colliding with it, not being tied to use the same version, and being able to use another splash image for example. For that double-reinand installation, i recommend not using the "3dsx launcher", but renaming Launcher.dat to Launcher1.dat and Launcher2.dat for example (being Launcher1.dat the not-modified Launcher.dat of reinand available on the github), and use CtrBootManager (another incredible and inspiring software) to reference .dat files directly by their distinct names.
Once you are booted into the second emunand, you can use tools like SysUpdater or FBI if they are installed as cias into the system and you can launch them from Home Menu. If they have to write something to the nand, they will write it to the second emunand, as it must be. But, if you run tools from outside the second emunand system, for example, executing an exploit to run them, or botting them when powering on, through homebrew launcher or similar... any functionality respecting to emunand, will act on firs emunand, that has the traditional location on the SD card. In my case, i needed to use Decrypt9 to dump and later inject FBI on the second emunand, so i had that in mind, and first of all, i put the nand image i was going to use as second emunand, alone, in another SD. There i used Decrypt9 to inject FBI, copied emunand, and used that image to set my second emunand on my first SD.
IMPORTANT NOTES:
* If you set an emunand with the same ID as the sysnand, as is my case for second emunand, have in mind that Reinand 3.1 has an important bug respecting to this situation!! It doesn't show the string "Rei" before the firmware version on 3DS settings, so take care not to think you are booting into sysnand!! This bug affects not only my modified version!! Having the same id on sys and emunand, they share the theme and home menu appearance. I don't know an easy way to test it on 3.1, but... if you installed FBI into Health and Security on a separate SD first, as i mentioned, you can see if it is installed and check that way... Or use 3.0 or 3.2b Reinand
* If, for obtaining an emunand with the same id as the sysnand, you made a copy of your sysnand... have in mind that it also has installed the exploit that makes your sysnand boot into emunand... so... once you boot into that emunand... it will execute the exploit and start the boot process again!! So, you must prevent a way to disable the exploit when booting that emunand. For example: In my installation, i use homemenuhax as exploit. It can be configured to boot only if a key is pressed or not (in my case, it boots unless i keep pressing L). So, when i power on my 3ds, i dont press L, and the exploit runs taking me to CtrBootManager, that shows me the boot menu. If i want to enter into the same-id-emunand, i choose it and press L until it enters home menu, to avoid it to enter the booting loop.
* Another thing respecting HomeMenuHax: Do not change your theme on your same-id-emunand or you will loose HomeMenuHax on emunand and sysnand! (not exactly on sysnand. homemenuhax keeps part of its code in the nintendo ds folder on sd card, associated to the nand id, but you will have to install it again, anyway).
That's all!! I will be please of helping anyone who needs. This is my fist time taking part actively in a forum and contributing with something that i think is really useful, so will try my best.
Thanks for reading!
Download the pack with the three modified versions of ReiNand.
New
I have just seen an important thing. For the ones who owns an Old model. If you select "Old 3DS" on 3DS MultiEmuNAND creator, the layout on the SD card will change and my mod of Reinand will not work. I guess you can select "New 3DS" with no problems, as i think the only thing that changes is the offset on the card.
----------------------------------------------
I will explain here what i did on code:
I modified the function getEmunandSect on emunand.c from:
void getEmunandSect(u32 *off, u32 *head){
u32 nandSize = getMMCDevice(0)->total_size;
if (sdmmc_sdcard_readsectors(nandSize, 1, temp) == 0) {
}if (sdmmc_sdcard_readsectors(nandSize, 1, temp) == 0) {
if (*(u32*)(temp + 0x100) == NCSD_MAGIC) {
}*off = 0;
*head = nandSize;
}*head = nandSize;
to:
void getEmunandSect(u32 *off, u32 *head){
u32 nandSize = getMMCDevice(0)->total_size;
if (sdmmc_sdcard_readsectors(0x400000+nandSize, 1, temp) == 0) {
}if (sdmmc_sdcard_readsectors(0x400000+nandSize, 1, temp) == 0) {
if (*(u32*)(temp + 0x100) == NCSD_MAGIC) {
}*off = 0x400000;
*head = nandSize;
}*head = nandSize;
And changed all the ocurrences of "/rei" on source code to "/rei2".
Last edited by wrongmlg,