Homebrew ARM9Loader -- Technical Details and Discussion

Supster131

(づ。◕‿‿◕。)づ *:・゚✧
Member
Joined
Jan 19, 2016
Messages
3,315
Trophies
1
Location
My Computer
XP
2,758
Country
United States
After some weeks we will have a whole host of new additions, and most likely 100% working official support from current CFWs.

I couldn't figure out my dodgy theme issues on emunand, so I just formatted my sd card, removing emunand, copied back my files and will sit on sysnand 9.2 for now. Ultimately I want to be using sysnand anyway, with some sort of protection built into a payload that can load a nand restore app (possibly on holding a button or something).
Yeah, I don't think we'll be seeing work on sysNAND until we get a way to backup/restore the NAND with Arm9Hax. That way, incase you brick your sysNAND, you won't need a hardmod.
 

Audioboxer

Well-Known Member
Member
Joined
Jun 7, 2007
Messages
524
Trophies
0
XP
392
Country
Yeah, I don't think we'll be seeing work on sysNAND until we get a way to backup/restore the NAND with Arm9Hax. That way, incase you brick your sysNAND, you won't need a hardmod.

Even just restore is fine. I mean alllll of us should have a sysnand 9.2 backup right now anyway, right? ;)

I think the big issue is the LCD screen not working on boot. I assume this will have to be fixed before it's even a possibility to get an app to boot to do restoring. Unless it is something very primitive where the screen can be black, and you're simply instructed to have sysnand.bin on the root and push A to do a restore. Then obviously wait 15~20 mins. Without a progress bar though this is a risky process.
 
Last edited by Audioboxer,
  • Like
Reactions: Supster131

mid-kid

GBAtemp spamBOT
Member
Joined
Aug 2, 2012
Messages
879
Trophies
0
Age
25
XP
1,163
Country
I successfully made my OLD 3ds boot into emunand using this fork of cakesfw (https://github.com/fox8091/CakesForA9LH)

Of course you have to trim 0x12000 bytes of Cakes.dat.

Also when you boot, both screen will remain black.

But CakesFW configuration is still working behind black screen.

Just memorize the key stroke which checks patches and toggles autoboot before installing arm9loaderhax and press that key storke after the installation)
(↓ -> A -> A -> ↓ -> A -> ↓ -> A -> B -> ↓ -> ↓ -> A -> A-> A -> B -> B -> A)

Don't apply 4th patch of CakesFW.

Just use "make build/main.bin" and use that file as arm9loaderhax.bin.
 
Last edited by mid-kid,

Mrrraou

Well-Known Member
Member
Joined
Oct 17, 2015
Messages
1,873
Trophies
0
XP
2,374
Country
France
I'm trying to do something like bootctr on arm9, but I have problems to get reading the bootctr ini file working.
If somebody wants to help me, the first implementation try with very crappy code is in the bootloader branch of my arm9loaderhax fork.
Don't fork arm9loaderhax to add your custom payload... I mean, seriously. Do a Brahma payload, as arm9loaderhax can run these, but please, PLEASE, don't edit arm9loaderhax.
 

Sgt. Lulz

Beef up
Member
Joined
Oct 16, 2010
Messages
404
Trophies
0
XP
1,207
Country
United Kingdom
After several hours I've managed to dump the OTP on my N3DS as well, and got my build environment working. Python 2.7 is a such a pain.

I would test my installer right now, but I'd rather wait for a way to undo the process without restoring a whole NAND backup. It's possible to back up and restore FIRM0 and FIRM1 through Decrypt9, but no such thing exists for the 0x96 sector yet.
Is anything like that in the works yet?
 

Mrrraou

Well-Known Member
Member
Joined
Oct 17, 2015
Messages
1,873
Trophies
0
XP
2,374
Country
France
After several hours I've managed to dump the OTP on my N3DS as well, and got my build environment working. Python 2.7 is a such a pain.

I would test my installer right now, but I'd rather wait for a way to undo the process without restoring a whole NAND backup. It's possible to back up and restore FIRM0 and FIRM1 through Decrypt9, but no such thing exists for the 0x96 sector yet.
Is anything like that in the works yet?
"undoing" the process would be the worst thing ever to do, actually. Just flash your NAND backup. It'll be cleaner, you'll have less chances to brick, and it won't cause fragmentation on your NAND.
 
Last edited by Mrrraou,

Supster131

(づ。◕‿‿◕。)づ *:・゚✧
Member
Joined
Jan 19, 2016
Messages
3,315
Trophies
1
Location
My Computer
XP
2,758
Country
United States
"undoing" the process would be the worst thing ever to do, actually. Just flash your NAND backup. It'll be cleaner, you'll have less chances to brick, and it won't cause fragmentation on your NAND.
Isn't the only way to restore a NAND backup with Arm9Hax is to use a hardmod? Since Decrypt9 currently doesn't work with a9lh.
 

Mrrraou

Well-Known Member
Member
Joined
Oct 17, 2015
Messages
1,873
Trophies
0
XP
2,374
Country
France
Isn't the only way to restore a NAND backup with Arm9Hax is to use a hardmod? Since Decrypt9 currently doesn't work with a9lh.
I guess that some payloads will be done for this. Just wait a bit for screen init, and I guess Decrypt9 will work. And, Decrypt9 actually works. It's just that you can't see the menus.
 

RednaxelaNnamtra

Well-Known Member
Member
Joined
Dec 8, 2011
Messages
1,208
Trophies
1
XP
3,341
Country
Germany
Don't fork arm9loaderhax to add your custom payload... I mean, seriously. Do a Brahma payload, as arm9loaderhax can run these, but please, PLEASE, don't edit arm9loaderhax.
Its much more work to load a payload to same same address the own payload is loaded to, than simply loading the bootloader to another address.
That's why I'm doing it this way atm. I would have to fix more than one problem at once if I'm simply doing it with a brahma payload, or I would need to add a arm9loaderhax.bin that loads the bootloader to another address. Don't know what's better atm, since only devs should use a9lh atm.
 

Sgt. Lulz

Beef up
Member
Joined
Oct 16, 2010
Messages
404
Trophies
0
XP
1,207
Country
United Kingdom
"undoing" the process would be the worst thing ever to do, actually. Just flash your NAND backup. It'll be cleaner, you'll have less chances to brick, and it won't cause fragmentation on your NAND.
Is the 3DS's eMMC really slow enough to make fragmentation cause a considerable performance impact?
 

Mrrraou

Well-Known Member
Member
Joined
Oct 17, 2015
Messages
1,873
Trophies
0
XP
2,374
Country
France
Is the 3DS's eMMC really slow enough to make fragmentation cause a considerable performance impact?
Thought you were talking about "undoing" the downgrade, sorry.

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

Its much more work to load a payload to same same address the own payload is loaded to, than simply loading the bootloader to another address.
That's why I'm doing it this way atm. I would have to fix more than one problem at once if I'm simply doing it with a brahma payload, or I would need to add a arm9loaderhax.bin that loads the bootloader to another address. Don't know what's better atm, since only devs should use a9lh atm.
I don't want to reinstall arm9loaderhax again to implement a custom bootloader, that I can't update easily when screen init will be done. (and as I don't have hardmod...)
 

RednaxelaNnamtra

Well-Known Member
Member
Joined
Dec 8, 2011
Messages
1,208
Trophies
1
XP
3,341
Country
Germany
Thought you were talking about "undoing" the downgrade, sorry.

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


I don't want to reinstall arm9loaderhax again to implement a custom bootloader, that I can't update easily when screen init will be done. (and as I don't have hardmod...)
I will add a bootloader loader, so people without hardmod won't need to install it again.
Edit:
But it should be possible to add the screen init stuff to it after its sone, thats one of the reason, why I directly added it directly to arm9loaderhax, because its easier to the new changes to the bootloader, than adding it to the sector, because you would need to install it again for this.
 
Last edited by RednaxelaNnamtra,

Ntrack

Member
Newcomer
Joined
Jan 10, 2016
Messages
21
Trophies
0
Age
28
XP
450
Country
N3ds XL successfully downgraded to 2.1.0 following the guide (no hardmod btw :D). Now I'm waiting for the second time for a9f.bin to be created on SD card.What size should be? The browser is flashing for the last 5 minutes,the first time I just stopped it and the file was just 1kb on the card.
 

Mrrraou

Well-Known Member
Member
Joined
Oct 17, 2015
Messages
1,873
Trophies
0
XP
2,374
Country
France
N3ds XL successfully downgraded to 2.1.0 following the guide (no hardmod btw :D). Now I'm waiting for the second time for a9f.bin to be created on SD card.What size should be? The browser is flashing for the last 5 minutes,the first time I just stopped it and the file was just 1kb on the card.
Wrong topic: http://gbatemp.net/threads/otp-guide.415140
The OTP is just 256 bytes.
 
  • Like
Reactions: Ntrack

Plailect

Well-Known Member
Member
Joined
Jan 30, 2016
Messages
546
Trophies
1
XP
1,502
Country
United States
N3ds XL successfully downgraded to 2.1.0 following the guide (no hardmod btw :D). Now I'm waiting for the second time for a9f.bin to be created on SD card.What size should be? The browser is flashing for the last 5 minutes,the first time I just stopped it and the file was just 1kb on the card.

0x100, or 256 bytes.
 
  • Like
Reactions: Ntrack and Mrrraou

Supster131

(づ。◕‿‿◕。)づ *:・゚✧
Member
Joined
Jan 19, 2016
Messages
3,315
Trophies
1
Location
My Computer
XP
2,758
Country
United States
N3ds XL successfully downgraded to 2.1.0 following the guide (no hardmod btw :D). Now I'm waiting for the second time for a9f.bin to be created on SD card.What size should be? The browser is flashing for the last 5 minutes,the first time I just stopped it and the file was just 1kb on the card.
You're fine. Windows shows the file as 1KB. If you click on properties you'll see the file is actually 256 bytes.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: This movie rip so werid has 1080p quality but the audios ripped with movie theater audio quality