Hacking Old 3ds XL Blackscreen, Luma and Godmode9 open

AngelBelmont

Member
OP
Newcomer
Joined
Nov 19, 2022
Messages
21
Trophies
0
Age
28
XP
26
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
2,945
Trophies
1
XP
3,499
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
28
XP
26
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
18
XP
14
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
18
XP
14
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
28
XP
26
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
2,945
Trophies
1
XP
3,499
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
28
XP
26
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
2,945
Trophies
1
XP
3,499
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
28
XP
26
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
2,945
Trophies
1
XP
3,499
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
28
XP
26
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
487
Trophies
0
Age
22
Location
Quebec
XP
592
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
28
XP
26
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
 
General chit-chat
Help Users
  • SylverReZ @ SylverReZ:
    Hope they made lots of spaget
  • K3N1 @ K3N1:
    Chill dog
  • SylverReZ @ SylverReZ:
    Chilli dog
  • Skelletonike @ Skelletonike:
    Damn, I'm loving the new zelda.
  • xtremegamer @ xtremegamer:
    loving the new zelda, i started a game, it was so fucking good, so i
    am waiting on my friend to get home so we can start a new one together
  • Skelletonike @ Skelletonike:
    I just dislike that they don't let me choose the voices before the game starts. Happened with botw as well, had to change to japanese and restart.
  • K3N1 @ K3N1:
    But the important question is can you choose gender
  • Skelletonike @ Skelletonike:
    Same way you can choose Gerald's gender.
  • Skelletonike @ Skelletonike:
    *Geralt, damn autocorrect.
  • Psionic Roshambo @ Psionic Roshambo:
    But can he be trans? Lol
  • K3N1 @ K3N1:
    Zelda transforms into link
  • Psionic Roshambo @ Psionic Roshambo:
    Link I'm not the princess your looking for.... *Pulls a crying game*
  • K3N1 @ K3N1:
    *skirt up* it's exactly what I always wanted
  • Skelletonike @ Skelletonike:
    Just scanned all my zelda amiibos, took a while but didn't get anything that cool, did get the lon lon ranch hylian fabrics though.
  • Skelletonike @ Skelletonike:
    It was pretty funny when I scanned wolf link and got a shit load of meat.
  • K3N1 @ K3N1:
    @Skelletonike, btw I ran that custom for mgs4 on the deck I'm amazed it got that far in game
  • K3N1 @ K3N1:
    Plug in*
  • K3N1 @ K3N1:
    Your favorite activity
  • BentlyMods @ BentlyMods:
    My fav actvity is:

    mario-dancing.gif
  • Psionic Roshambo @ Psionic Roshambo:
    Do the Mario lol
  • K3N1 @ K3N1:
    🍑
    K3N1 @ K3N1: 🍑