Hacking Luma3DS - Noob-proof 3DS Custom Firmware

Status
Not open for further replies.

codeluca

Well-Known Member
Member
Joined
Mar 7, 2016
Messages
159
Trophies
0
Age
30
Location
Naples, Italy
Website
www.lucacesarano.tk
XP
157
Country
Italy
Guys really a quick question, I have AuReiNand installed and I'm asking if there is a way to check that FIRM partitions are really blocked. I would not like to update sysnand and lose a9lh for a mistake that I eventually made.

Thank you.
 

Februarysn0w

Well-Known Member
Member
Joined
Oct 31, 2014
Messages
1,206
Trophies
0
Age
36
XP
837
Country
Japan
Guys really a quick question, I have AuReiNand installed and I'm asking if there is a way to check that FIRM partitions are really blocked. I would not like to update sysnand and lose a9lh for a mistake that I eventually made.

Thank you.
Yes, it's really blocked from system update I confirmed 2 times.
 
  • Like
Reactions: codeluca

Aurora Wright

Well-Known Member
OP
Member
Joined
Aug 13, 2006
Messages
1,550
Trophies
3
XP
4,498
Country
Italy
I did exactly the same thing, it always freezes at "Copied FIRM".
Same build with same firmware.bin works fine with AuReiNand v3.11.
It's not just me, two people already confirmed they got same result.
I have O3DS, if that's important, but I'm not sure about others.

I am really sorry for bothering you. Usually I'm trying not to ask for anything,
but I just really don't know what can possibly be wrong here… :sleep:
Thank you for your effort anyway. And thank you even more for all your hard work.
Sorry if I sounded rude, it's because I actually receive so many requests for help...
Anyway I've confirmed it, and there was actually a problem (the ARM11 was in an infinite loop waiting for a function to be passed to it, but since Cakes and the other payloads use the same space in FCRAM as AuReiNand, the infinite loop ended up being overwritten lol (I was dumb not to realize this beforehand). Now I have separated the ARM11 screen init code from the AuRei main code and I copy it just after the chainloader. So no payload overwrites it. Now ARM11 access works for payloads, tested cakes and it works.
http://www105.zippyshare.com/v/8Ubd9Zk2/file.html
 

qlm2009

Well-Known Member
Member
Joined
Oct 28, 2015
Messages
101
Trophies
0
XP
114
Country
Switzerland
I
Sorry if I sounded rude, it's because I actually receive so many requests for help...
Anyway I've confirmed it, and there was actually a problem (the ARM11 was in an infinite loop waiting for a function to be passed to it, but since Cakes and the other payloads use the same space in FCRAM as AuReiNand, the infinite loop ended up being overwritten lol (I was dumb not to realize this beforehand). Now I have separated the ARM11 screen init code from the AuRei main code and I copy it just after the chainloader. So no payload overwrites it. Now ARM11 access works for payloads, tested cakes and it works.
http://www105.zippyshare.com/v/8Ubd9Zk2/file.html
It's working now. (Cakes_152 A9LH)
Thanks a ton for your update.
 

redunka

Well-Known Member
Member
Joined
Nov 26, 2014
Messages
436
Trophies
0
Age
29
XP
2,567
Country
Russia
Sorry if I sounded rude, it's because I actually receive so many requests for help...
Anyway I've confirmed it, and there was actually a problem (the ARM11 was in an infinite loop waiting for a function to be passed to it, but since Cakes and the other payloads use the same space in FCRAM as AuReiNand, the infinite loop ended up being overwritten lol (I was dumb not to realize this beforehand). Now I have separated the ARM11 screen init code from the AuRei main code and I copy it just after the chainloader. So no payload overwrites it. Now ARM11 access works for payloads, tested cakes and it works.
http://www105.zippyshare.com/v/8Ubd9Zk2/file.html
Thank you, everything works perfect now!
You are the best! :bow:
 

Red46

Member
Newcomer
Joined
Mar 17, 2016
Messages
23
Trophies
0
Age
37
XP
86
Country
Italy
I am having a problem in getting uncart to work with the aureinand boot manager. I've placed the uncart.bin in the payloads folder and renamed it to a.bin. Alongside uncart I've also got emunand9 and decrypt9 renamed respectively to default.bin and y.bin. Those last two, work perfectly on boot and they'll launch when I press the appropriate button combination.

However, I can't get uncart.bin to work. When I try to launch it (L+A) at boot, it will complain that aurei/firmware(90).bin is missing. Though, I do have the appropriate firmware.bin in the aurei folder. How can I fix this?
 

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
I am having a problem in getting uncart to work with the aureinand boot manager. I've placed the uncart.bin in the payloads folder and renamed it to a.bin. Alongside uncart I've also got emunand9 and decrypt9 renamed respectively to default.bin and y.bin. Those last two, work perfectly on boot and they'll launch when I press the appropriate button combination.

However, I can't get uncart.bin to work. When I try to launch it (L+A) at boot, it will complain that aurei/firmware(90).bin is missing. Though, I do have the appropriate firmware.bin in the aurei folder. How can I fix this?
A is not a valid key to launch payloads with. Neither is B.
 

frosty5689

Well-Known Member
Member
Joined
Jan 30, 2016
Messages
146
Trophies
0
Age
70
XP
170
Country
Any speed difference?

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
 
  • Like
Reactions: linuxares

Aurora Wright

Well-Known Member
OP
Member
Joined
Aug 13, 2006
Messages
1,550
Trophies
3
XP
4,498
Country
Italy
- You can load external ARM9 programs (like Decrypt9) on boot. You need to create a payloads directory inside the aurei folder, place a default.bin inside of it, and (optionally) these other payloads: x.bin, y.bin, select.bin, start.bin, right.bin, left.bin, up.bin, down.bin. default.bin gets launched by holding L+R, for the others you need to hold L plus the corresponding button. If you're using a non-screen-init A9LH, it will be done automatically before launching the payload.

Use arm9select it takes priority over built in AuReiNand loader.
The problem with arm9select is that some buttons interfere with AuRei functions (both use buttons for stuff). The aurei loader (which is, basically, a stripped down arm9select) only allows the payloads whose buttons don't interfere with anything.
 

Aurora Wright

Well-Known Member
OP
Member
Joined
Aug 13, 2006
Messages
1,550
Trophies
3
XP
4,498
Country
Italy
That is why I fell in love with AuReiNand's earlier releases when the loader.vin was separate. That way I could delete it and have no conflict with arm9select.
I suppose I need to explain what I just said. Suppose you're soft rebooting and you need to hold A to override the forced boot. Or, suppose that you need to hold R+B to launch the second emuNAND. Of course you can't assign R, B or A to arm9select (same for L, and Select too). Now, with the built-in loader I can change the order of stuff to allow you to have an "R" payload and a "Select" one (which you can't have with arm9select!). I can also not include the other buttons (B, A) which would interfere with AuRei.

The way I see it, the built-in loader removes the burden from the user to figure out which buttons are usable, and allows for more buttons which wouldn't be useable from a loader which comes before aurei.
 
Last edited by Aurora Wright,

stl25

Well-Known Member
Member
Joined
Feb 3, 2008
Messages
1,107
Trophies
1
Location
Here, there and everywhere
XP
1,012
Country
United States
I suppose I need to explain what I just said. Suppose you're soft rebooting and you need to hold A to override the forced boot. Or, suppose that you need to hold R+B to launch the second emuNAND. Of course you can't assign R, B or A to arm9select (same for L, and Select too). Now, with the built-in loader I can change the order of stuff to allow you to have an "R" payload and a "Select" one (which you can't have with arm9select!). I can also not include the other buttons (L, R, B, A) which would interfere with AuRei.

I understand now, thanks for the explanation.


AuReiNand is the best CFW for people using a second emuNAND or using updatedsysNAND. Unfortunately I use neither so some of the button combos used by AuReiNand are unnecessary for me. Now that ReiNand has added the GBA reboot patch that I realize you implemented into AuReiNand first. I can use my custom build of arm9select that allows me to use R,L,a,b,x,y,select,start,up,down,left & right. The only conflict of note with ReiNand would be if I wanted (key being wanted) to boot into sysNAND I would need to hold start (which conflicts with the fact that I have decrypt9wip set as start in arm9select), however the last time I needed to enter sysNAND was to install GBA cias and I can still enter sysNAND by playing a GBA game and exiting which forces me into sysNAND. AuReiNand is an awesome CFW which is best suited for the users who use the features I mentioned earlier. For the basic I play games on emuNAND user and enjoy simple payload loading arm9select and ReiNand is a good alternative (not replacement) to AuReiNand.
 
Last edited by stl25,

leonmagnus99

Well-Known Member
Member
Joined
Apr 2, 2013
Messages
3,704
Trophies
2
Age
33
Location
Seinegald
XP
2,875
Country
Iraq
well i did convert my NANDs using d9, from GW emuNAND into redNAND.

speed difference is maybe 1-2seconds faster booting, but come on guys.

it is only 1-2 friggin seconds, are 8-12 seconds that much to wait for it to boot ? i think not, so i dont see the big benefit of that 'redNAND' thingie.

besides, whenever i think of menuhax i go very happy with a9lh+aurei , cause holysheep the bootrate/time is like day and night.(compared to menuhax..) xD
 

pbanj

The "friendly" neighborhood sandwich
Member
Joined
Dec 29, 2014
Messages
2,746
Trophies
1
Location
in a ziploc
Website
pbanjin.space
XP
1,660
Country
United States
well i did convert my NANDs using d9, from GW emuNAND into redNAND.

speed difference is maybe 1-2seconds faster booting, but come on guys.

it is only 1-2 friggin seconds, are 8-12 seconds that much to wait for it to boot ? i think not, so i dont see the big benefit of that 'redNAND' thingie.

besides, whenever i think of menuhax i go very happy with a9lh+aurei , cause holysheep the bootrate/time is like day and night.(compared to menuhax..) xD
I think the main benefits are the slightly smaller size. Makes backups and restores take a bit less
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://youtu.be/sGvT5FKSiyk?si=TYqsdjjbF-4N8Xc8