Hacking Old 3ds XL Blackscreen, Luma and Godmode9 open

AngelBelmont

Member
OP
Newcomer
Joined
Nov 19, 2022
Messages
21
Trophies
0
Age
29
XP
36
Country
Dominican Republic
Hello there,

Been having a problem with my 3ds for quite some time, it doesnt boot to the Home Screen like normal. At first i thought it was totally bricked, however, i can access both the Luma Rosalina Menu from the static black screen, the godmode9 menu on boot by pressing start and the Luma config menu by pressing select on boot, no issues there.

I've did a ctrtransfer, updated the Luma to the latest version, took out the SD card and tried to boot from the console after installing Luma to it, nothing has worked.

Is there any way that the Internat System Files got corrupted or something? And is there a way to replace those? Or any other solution? Thanks
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
4,323
Trophies
1
XP
4,454
Country
Canada
Yes, i have it, it says that the file is "too small", but the file has always been 32 bytes (is not a big file)
I would rather defer to someone who knows more about this, as you are probably not the first person to encounter this problem. (Did you try the Discord yet?)

But if you would like a wild and misinformed guess, I would suggest opening 11.15.0-47U_ctrtransfer_o3ds.bin.sha in Notepad and changing it from
Code:
[random-looking-32-bit-string]

to
Code:
[random-looking-32-bit-string] 11.15.0-47U_ctrtransfer_o3ds.bin
 

AngelBelmont

Member
OP
Newcomer
Joined
Nov 19, 2022
Messages
21
Trophies
0
Age
29
XP
36
Country
Dominican Republic
I would rather defer to someone who knows more about this, as you are probably not the first person to encounter this problem. (Did you try the Discord yet?)

But if you would like a wild and misinformed guess, I would suggest opening 11.15.0-47U_ctrtransfer_o3ds.bin.sha in Notepad and changing it from
Code:
[random-looking-32-bit-string]

to
Code:
[random-looking-32-bit-string] 11.15.0-47U_ctrtransfer_o3ds.bin
I opened it in notepad and this is what it looks like

1668996814579.png
 

Aspenpaw

Member
Newcomer
Joined
Nov 20, 2022
Messages
7
Trophies
0
Age
19
XP
24
Country
New Zealand
I would rather defer to someone who knows more about this, as you are probably not the first person to encounter this problem. (Did you try the Discord yet?)

But if you would like a wild and misinformed guess, I would suggest opening 11.15.0-47U_ctrtransfer_o3ds.bin.sha in Notepad and changing it from
Code:
[random-looking-32-bit-string]

to
Code:
[random-looking-32-bit-string] 11.15.0-47U_ctrtransfer_o3ds.bin
It tells me the file is too big. Notably my notepad was able to open, edit and reopen the file flawlessly. (this may be due to some improvements made between Win10 (What AngelBelmont appears to be using) and Windows 11 (what I'm using))
 

Aspenpaw

Member
Newcomer
Joined
Nov 20, 2022
Messages
7
Trophies
0
Age
19
XP
24
Country
New Zealand
I opened it in notepad and this is what it looks like

View attachment 339032
It seems your notepad is trying to open the file in Macintosh CR format for some weird reason. I do not know why it may be trying to do this, possibly your computer being in (presumably considering your profile) ES_DO locale, demanding a wider unicode space? If you can get it into Windows CRLF it may fix that.
Post automatically merged:

I have worked out that the script checks to see if the checksum is exactly 33 bytes. (by worked out I just looked at the script readout on the top screen) However the checksum, by definition, is 32. I am not sure why it wants that, but maybe adding a space and no more at the end may fix it?
 
Last edited by Aspenpaw,

AngelBelmont

Member
OP
Newcomer
Joined
Nov 19, 2022
Messages
21
Trophies
0
Age
29
XP
36
Country
Dominican Republic
It seems your notepad is trying to open the file in Macintosh CR format for some weird reason. I do not know why it may be trying to do this, possibly your computer being in (presumably considering your profile) ES_DO locale, demanding a wider unicode space? If you can get it into Windows CRLF it may fix that.
Post automatically merged:

I have worked out that the script checks to see if the checksum is exactly 33 bytes. (by worked out I just looked at the script readout on the top screen) However the checksum, by definition, is 32. I am not sure why it wants that, but maybe adding a space and no more at the end may fix it?
Try to make it 33 bytes then, add those spaces
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
4,323
Trophies
1
XP
4,454
Country
Canada
by worked out I just looked at the script readout on the top screen
Argh! I got confused by the references to 20, but of course, hex 20 = 32. Also it says right there in the comments. >_< Perhaps this calls for another Github issue report, but I'm not sure the project is still maintained.

Code:
##########################################################
# Check if the SHA file exists and is exactly 33 bytes.  #
##########################################################

set CTRNAND_REGION ""
  
  if findnot "$[CTRNAND_SHA]" NULL
	echo "$[CTRNAND_SHA_NAME]\nFile is missing."
	goto CHOICE_CTRTransfer
elif fget "$[CTRNAND_SHA]@21:01" CTRNAND_REGION
	echo "$[CTRNAND_SHA_NAME]\nFile is too big."
	goto CHOICE_CTRTransfer
elif fget "$[CTRNAND_SHA]@20:01" CTRNAND_REGION
else
	echo "$[CTRNAND_SHA_NAME]\nFile is too small."
	goto CHOICE_CTRTransfer
end

ETA: To make another wild guess at the script, it looks like the last byte of the SHA is supposed to correspond to the region? This is a bit of an abuse of the SHA format! But if that's the case, you'll need a hex editor (I like xvi32) to add the byte "01" to the end of the SHA file. (I don't think you can do that with a standard text editor since hex value "01" does not correspond to an ASCII character.)

It seems your notepad is trying to open the file in Macintosh CR format for some weird reason
Windows Notepad is notoriously crazy. See for instance https://en.wikipedia.org/wiki/Bush_hid_the_facts .
 
Last edited by Kwyjor,

AngelBelmont

Member
OP
Newcomer
Joined
Nov 19, 2022
Messages
21
Trophies
0
Age
29
XP
36
Country
Dominican Republic
I would rather defer to someone who knows more about this, as you are probably not the first person to encounter this problem. (Did you try the Discord yet?)

But if you would like a wild and misinformed guess, I would suggest opening 11.15.0-47U_ctrtransfer_o3ds.bin.sha in Notepad and changing it from
Code:
[random-looking-32-bit-string]

to
Code:
[random-looking-32-bit-string] 11.15.0-47U_ctrtransfer_o3ds.bin

I actually went to the Discord Server, we haven't been able to make any relevant progress as of now, however, i can tell you that .sha file is not really useful for this process. Since it does not contain the region data, we would need to export a .sha file from a 3ds from the region that we need... I dont have any other 3ds so i cant do it myself
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
4,323
Trophies
1
XP
4,454
Country
Canada
Since it does not contain the region data, we would need to export a .sha file from a 3ds from the region that we need... I dont have any other 3ds so i cant do it myself
Not sure if you saw the edit to my last post, but a .sha file isn't supposed to contain region data. A .sha file is normally just a digital signature used to quickly verify the contents of a file. It seems that it should be easy to add the extra byte that the script expects. (It's easy enough to try, anyway.)
 

AngelBelmont

Member
OP
Newcomer
Joined
Nov 19, 2022
Messages
21
Trophies
0
Age
29
XP
36
Country
Dominican Republic
Not sure if you saw the edit to my last post, but a .sha file isn't supposed to contain region data. A .sha file is normally just a digital signature used to quickly verify the contents of a file. It seems that it should be easy to add the extra byte that the script expects. (It's easy enough to try, anyway.)
How can we add that data to the file?
 

Kwyjor

Well-Known Member
Member
Joined
May 23, 2018
Messages
4,323
Trophies
1
XP
4,454
Country
Canada
How can we add that data to the file?
That was in my last post. >_<

you'll need a hex editor (I like xvi32) to add the byte "01" to the end of the SHA file. (I don't think you can do that with a standard text editor since hex value "01" does not correspond to an ASCII character.)

You can tell it has to be "01" because that's what it says in the script.
Code:
##########################################################
# Determine the native region for the CTRNAND image.     #
##########################################################

set SYSTEM_REGION ""

  if chk "$[CTRNAND_REGION]" "00"
	set SYSTEM_REGION "JPN"
elif chk "$[CTRNAND_REGION]" "01"
	set SYSTEM_REGION "USA"
elif chk "$[CTRNAND_REGION]" "02"
	set SYSTEM_REGION "EUR"
elif chk "$[CTRNAND_REGION]" "03"
	set SYSTEM_REGION "AUS"
elif chk "$[CTRNAND_REGION]" "04"
	set SYSTEM_REGION "CHN"
elif chk "$[CTRNAND_REGION]" "05"
	set SYSTEM_REGION "KOR"
elif chk "$[CTRNAND_REGION]" "06"
	set SYSTEM_REGION "TWN"
else
	echo "CTRNAND image region unknown."
	goto CHOICE_CTRTransfer
end

This may not have been necessary before since for the longest time the CTRNAND images provided in the Guide were based on 11.5.
 

AngelBelmont

Member
OP
Newcomer
Joined
Nov 19, 2022
Messages
21
Trophies
0
Age
29
XP
36
Country
Dominican Republic
That was in my last post. >_<



You can tell it has to be "01" because that's what it says in the script.
Code:
##########################################################
# Determine the native region for the CTRNAND image.     #
##########################################################

set SYSTEM_REGION ""

  if chk "$[CTRNAND_REGION]" "00"
    set SYSTEM_REGION "JPN"
elif chk "$[CTRNAND_REGION]" "01"
    set SYSTEM_REGION "USA"
elif chk "$[CTRNAND_REGION]" "02"
    set SYSTEM_REGION "EUR"
elif chk "$[CTRNAND_REGION]" "03"
    set SYSTEM_REGION "AUS"
elif chk "$[CTRNAND_REGION]" "04"
    set SYSTEM_REGION "CHN"
elif chk "$[CTRNAND_REGION]" "05"
    set SYSTEM_REGION "KOR"
elif chk "$[CTRNAND_REGION]" "06"
    set SYSTEM_REGION "TWN"
else
    echo "CTRNAND image region unknown."
    goto CHOICE_CTRTransfer
end

This may not have been necessary before since for the longest time the CTRNAND images provided in the Guide were based on 11.5.
Ok, here is the file open, on which square should i write the "01"?

1669057849949.png
 

XLuma

Pkmn Rom Hacker
Member
Joined
Feb 12, 2017
Messages
490
Trophies
0
Age
23
Location
Quebec
XP
642
Country
Canada
Yes, i have it, it says that the file is "too small", but the file has always been 32 bytes (is not a big file)

View attachment 339027
open the sha file in a hex editor like hxd, and *add* an extra 00 byte at the end of the file. this method expects the signature to be exactly 33 bytes instead of 32, so adding an extra byte that is zeroed out works and wont mess with the signature at all
I'll also note i am having the exact same problem with a new 3ds xl right now, and nothing seems to be able to fix it (everything works pre-home menu init)
Also, for the luma arm11 handlers: the option is still present, but can only be turned on or off by editing the .ini file in the luma folder. They just removed it from the setup screen
 

AngelBelmont

Member
OP
Newcomer
Joined
Nov 19, 2022
Messages
21
Trophies
0
Age
29
XP
36
Country
Dominican Republic
open the sha file in a hex editor like hxd, and *add* an extra 00 byte at the end of the file. this method expects the signature to be exactly 33 bytes instead of 32, so adding an extra byte that is zeroed out works and wont mess with the signature at all
I'll also note i am having the exact same problem with a new 3ds xl right now, and nothing seems to be able to fix it (everything works pre-home menu init)
Also, for the luma arm11 handlers: the option is still present, but can only be turned on or off by editing the .ini file in the luma folder. They just removed it from the setup screen
OK! I edited the file and could advance on the D9 process:

Im getting these messages now

1669059946497.png


1669059965708.png
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: @salazarcosplay, Good.