Hacking Switching CFW N3DS with 10.7 EmuNAND to arm9loaderhax

pedroren

Member
OP
Newcomer
Joined
Feb 17, 2016
Messages
20
Trophies
0
Age
45
XP
64
Country
Hi, I'm currently using CFW with EmuNAND updated to version 10.7 on my N3DS (9.2 SysNAND).
Booting to lesshax->ctrlbootmanager->Reinand->Emunand

There's a great tutorial to go from full stock to A9LH. But, what's the way to go (steps) if I want to install/switch to A9LH without loosing my current EmuNAND data, which is on version 10.7, not version 9.2 as expected from the current tutorial?

Thanks
 

astronautlevel

Well-Known Member
Member
Joined
Jan 26, 2016
Messages
4,128
Trophies
2
Location
Maryland
Website
ataber.pw
XP
5,008
Country
United States
Hi, I'm currently using CFW with EmuNAND updated to version 10.7 on my N3DS (9.2 SysNAND).
Booting to lesshax->ctrlbootmanager->Reinand->Emunand

There's a great tutorial to go from full stock to A9LH. But, what's the way to go (steps) if I want to install/switch to A9LH without loosing my current EmuNAND data, which is on version 10.7, not version 9.2 as expected from the current tutorial?

Thanks
Follow Plailect's guide from part 4.
 
  • Like
Reactions: pedroren

frosty5689

Well-Known Member
Member
Joined
Jan 30, 2016
Messages
146
Trophies
0
Age
70
XP
170
Country
Also, just for the sake of the tutorial. RedNAND or EmuNAND doesn't really matter.

It will matter in the long run if you decide to not copy EmuNAND to SysNAND and keep 9.2 SysNAND.

I have converted EmuNAND to RedNAND for better performance as I am still using EmuNAND with SysNAND 9.2 post-a9lh
 
  • Like
Reactions: astronautlevel

astronautlevel

Well-Known Member
Member
Joined
Jan 26, 2016
Messages
4,128
Trophies
2
Location
Maryland
Website
ataber.pw
XP
5,008
Country
United States
Also, just for the sake of the tutorial. RedNAND or EmuNAND doesn't really matter.

It will matter in the long run if you decide to not copy EmuNAND to SysNAND and keep 9.2 SysNAND.

I have converted EmuNAND to RedNAND for better performance as I am still using EmuNAND with SysNAND 9.2 post-a9lh
Only practical difference between redNAND and EmuNAND is that rednand is smaller if you create it from scratch on an n3ds with a 1.8 gig NAND chip. It actually doesn't have any speed improvements :P
 

frosty5689

Well-Known Member
Member
Joined
Jan 30, 2016
Messages
146
Trophies
0
Age
70
XP
170
Country
Only practical difference between redNAND and EmuNAND is that rednand is smaller if you create it from scratch on an n3ds with a 1.8 gig NAND chip. It actually doesn't have any speed improvements :P
That is false if you take into consideration the difference between if else and +512 to every NAND access request

Here's what I posted in AuReiNAND threed and a few other threads asking diff between RedNAND and EmuNAND:

Looking at the differences between RedNAND and EmuNAND, we can assume the CFW needs to correct the offset for every read/write request to NAND.

RedNAND:
1. 3DS firmware requests for access to some place in NAND
2. CFW Calculate offset using formula: offset + 512
3. CFW redirect read/write to SD Card.

EmuNAND
1. 3DS firmware requests for access to some place in NAND
2. CFW Calculate offset using formula:
if (offset < 512) {
actualOffset = EmuNANDSizeInBytes + offset;
}
else {
actualOffset = offset;
}
3. CFW redirect read/write to SD Card.

This is just an abstraction and the calculation could have off-by-one error as I quickly wrote it up.
But having to do integer comparsion for every request is always going to take longer than always adding 512 to the offset.
Now this has a negligible impact on performance, but it still impacts performance.

Here's the original post by neobrain comparing the two for those who is into technical stuff:
https://gbatemp.net/threads/emunand-rednand-technical-implementation.401969/#post-5783813
 

astronautlevel

Well-Known Member
Member
Joined
Jan 26, 2016
Messages
4,128
Trophies
2
Location
Maryland
Website
ataber.pw
XP
5,008
Country
United States
That is false if you take into consideration the difference between if else and +512 to every NAND access request

Here's what I posted in AuReiNAND threed and a few other threads asking diff between RedNAND and EmuNAND:

Looking at the differences between RedNAND and EmuNAND, we can assume the CFW needs to correct the offset for every read/write request to NAND.

Code:
RedNAND:
1. 3DS firmware requests for access to some place in NAND
2. CFW Calculate offset using formula: offset + 512
3. CFW redirect read/write to SD Card.

EmuNAND
1. 3DS firmware requests for access to some place in NAND
2. CFW Calculate offset using formula:
if (offset < 512) {
actualOffset = EmuNANDSizeInBytes + offset;
}
else {
actualOffset = offset;
}
3. CFW redirect read/write to SD Card.

This is just an abstraction and the calculation could have off-by-one error as I quickly wrote it up.
But having to do integer comparsion for every request is always going to take longer than always adding 512 to the offset.
Now this has a negligible impact on performance, but it still impacts performance.

Here's the original post by neobrain comparing the two for those who is into technical stuff:
https://gbatemp.net/threads/emunand-rednand-technical-implementation.401969/#post-5783813
From that post though: "Now this has a negligible impact on performance"

I had mentioned that the only practical difference was NAND size :P
 

pedroren

Member
OP
Newcomer
Joined
Feb 17, 2016
Messages
20
Trophies
0
Age
45
XP
64
Country
I thought RedNAND was just another name for EmuNAND.
Can I follow the Plailect's guide using my EmuNAND?
 

astronautlevel

Well-Known Member
Member
Joined
Jan 26, 2016
Messages
4,128
Trophies
2
Location
Maryland
Website
ataber.pw
XP
5,008
Country
United States
To the average user, yes only the smaller size NAND matters (I think only on N3DS? Not sure as I only own N3DS)
Only on the n3ds with the 1.8 gig NAND chip (1.2 gig NAND chip is unaffected). It doesn't reduce the size if you convert from EmuNAND though, you have to start from scratch.

--------------------- MERGED ---------------------------

I thought RedNAND was just another name for EmuNAND.
Can I follow the Plailect's guide using my EmuNAND?
Yes, just mentally replace "RedNAND" with "EmuNAND" wherever you see it.
 
  • Like
Reactions: pedroren

pedroren

Member
OP
Newcomer
Joined
Feb 17, 2016
Messages
20
Trophies
0
Age
45
XP
64
Country
Only on the n3ds with the 1.8 gig NAND chip (1.2 gig NAND chip is unaffected). It doesn't reduce the size if you convert from EmuNAND though, you have to start from scratch.

--------------------- MERGED ---------------------------


Yes, just mentally replace "RedNAND" with "EmuNAND" wherever you see it.

Ok
 

frosty5689

Well-Known Member
Member
Joined
Jan 30, 2016
Messages
146
Trophies
0
Age
70
XP
170
Country
Only on the n3ds with the 1.8 gig NAND chip (1.2 gig NAND chip is unaffected). It doesn't reduce the size if you convert from EmuNAND though, you have to start from scratch.
Or you can do:
1. Backup EmuNAND using EmuNAND9 (latest ver)
2. Copy all content from SD Card (including the emunand.bin) to PC
3. Do a complete setup of RedNAND using EmuNAND9 (latest)
4. Restore RedNAND from emunand.bin

EmuNAND9 will write the 1.8GB~ NAND to the 1.2GB partition for RedNAND accordingly and everything will work fine.
 

astronautlevel

Well-Known Member
Member
Joined
Jan 26, 2016
Messages
4,128
Trophies
2
Location
Maryland
Website
ataber.pw
XP
5,008
Country
United States
Or you can do:
1. Backup EmuNAND using EmuNAND9 (latest ver)
2. Copy all content from SD Card (including the emunand.bin) to PC
3. Do a complete setup of RedNAND using EmuNAND9 (latest)
4. Restore RedNAND from emunand.bin

EmuNAND9 will write the 1.8GB~ NAND to the 1.2GB partition for RedNAND accordingly and everything will work fine.
That's mostly what I meant by start from scratch; you can't convert it, you have to do a complete setup.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: https://www.youtube.com/watch?v=pnRVIC7kS4s