ROM Hack custom-install - Install CIAs to a Nintendo 3DS SD card entirely on PC

Hephaestus

Well-Known Member
Member
Joined
Sep 29, 2017
Messages
335
Trophies
0
Age
36
XP
1,294
Country
Korea, North
A little script to manually add the info to the title database could be made since most of the information is with the title contents, which should still be on the SD card. It's been a while since I did anything with this so it might take me some time.
Would be extremely helpful.
Gotta admit, i am kinda lost here.

@ihaveamac
Can some other tool maybe do what i need it to do?
godmode9 has an option called "rebuild 3ds database", is that what i am looking for?
 
Last edited by Hephaestus,

Hephaestus

Well-Known Member
Member
Joined
Sep 29, 2017
Messages
335
Trophies
0
Age
36
XP
1,294
Country
Korea, North
Maybe give that a try. I haven't used it myself yet so I don't know how it works.
If you dont know about it then i doubt its gonna work.
If i understand correctly then those games that are already available as files on my microsd need to be added to the list of applications stored on the 3ds itself.
I suppose there is no simple way to get this done?
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,805
Country
United States
If you dont know about it then i doubt its gonna work.
If i understand correctly then those games that are already available as files on my microsd need to be added to the list of applications stored on the 3ds itself.
I suppose there is no simple way to get this done?
You should try it out anyway, it sounds like it would help with your issue. A guide is available here: https://gbatemp.net/threads/release-godmode9-scripts-megathread.482150/page-9#post-8550543
 

Hephaestus

Well-Known Member
Member
Joined
Sep 29, 2017
Messages
335
Trophies
0
Age
36
XP
1,294
Country
Korea, North
@ihaveamac Alright. I will try the quick method.

Anything else would take multiple days on a 2ds with this sheer amount of titles installed.

EDIT: he Full version didnt work. Refused to run.
Quick seems to work tho.
Running as we speak. Will report back.

EDIT 2: Didnt work.
 
Last edited by Hephaestus,

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,805
Country
United States
https://git.ianburgwin.net/ianburgwin/rebuild-title-database
This is a new tool to assist with rebuilding title.db from installed contents. It can be used and automated by anyone with some command line experience. It does not import into title.db automatically, you need to use save3ds_fuse yourself. This will probably get its own thread later.
 

Hephaestus

Well-Known Member
Member
Joined
Sep 29, 2017
Messages
335
Trophies
0
Age
36
XP
1,294
Country
Korea, North
@ihaveamac Installing the requirements worked fine. I even tried running it again and it said "Requirement already satisfied"
i put my boot9.bin and my moveable.sed files into the same folder as the titlebase rebuilder but keep getting errors.

like this one:
"G:\2dsr>python3 rebuild-title-database.py -b boot9.bin -m movable.sed -s M: -o out
Traceback (most recent call last):
File "C:\Users\bread\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pyctr\type\tmd.py", line 222, in load
sig_size, sig_padding = signature_types[sig_type]
KeyError: 1167829985

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "rebuild-title-database.py", line 57, in <module>
tmd = TitleMetadataReader.load(tmd_cfh)
File "C:\Users\bread\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pyctr\type\tmd.py", line 224, in load
raise InvalidSignatureTypeError(sig_type)
pyctr.type.tmd.InvalidSignatureTypeError: 0x459babe1"

Any clue whats going on?
 
Last edited by Hephaestus,

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,805
Country
United States
@ihaveamac Installing the requirements worked fine. I even tried running it again and it said "Requirement already satisfied"
i put my boot9.bin and my moveable.sed files into the same folder as the titlebase rebuilder but keep getting errors.

like this one:
"G:\2dsr>python3 rebuild-title-database.py -b boot9.bin -m movable.sed -s M: -o out
Traceback (most recent call last):
File "C:\Users\bread\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pyctr\type\tmd.py", line 222, in load
sig_size, sig_padding = signature_types[sig_type]
KeyError: 1167829985

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "rebuild-title-database.py", line 57, in <module>
tmd = TitleMetadataReader.load(tmd_cfh)
File "C:\Users\bread\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\pyctr\type\tmd.py", line 224, in load
raise InvalidSignatureTypeError(sig_type)
pyctr.type.tmd.InvalidSignatureTypeError: 0x459babe1"

Any clue whats going on?
Are you running the script on a encrypted “Nintendo 3DS” directory? It doesn’t support decrypted contents yet. That and simple corruption are the two reasons I can think of for this error.
 

Hephaestus

Well-Known Member
Member
Joined
Sep 29, 2017
Messages
335
Trophies
0
Age
36
XP
1,294
Country
Korea, North
Are you running the script on a encrypted “Nintendo 3DS” directory? It doesn’t support decrypted contents yet. That and simple corruption are the two reasons I can think of for this error.
just a folder on my pc where i added boot9.bin and moveable.sed.
i followed your guide.
 

Hephaestus

Well-Known Member
Member
Joined
Sep 29, 2017
Messages
335
Trophies
0
Age
36
XP
1,294
Country
Korea, North
@ihaveamac Well, that error message was definitely a lot more detailed!

"G:\2dsr>py -3 rebuild-title-database.py -b boot9.bin -m movable.sed -s M: -o out
Failed to parse tmd at M:Nintendo 3DS\4a79295daf23db5a97a61928ec0c4612\b71a0139308018bc5343323000035344\title_4a79295daf23db5a97a61928ec0c4612\00040000\00030200\content\00000000.tmd
Traceback (most recent call last):
File "C:\Users\bread\AppData\Roaming\Python\Python37\site-packages\pyctr\type\tmd.py", line 222, in load
sig_size, sig_padding = signature_types[sig_type]
KeyError: 1167829985

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "rebuild-title-database.py", line 59, in <module>
tmd = TitleMetadataReader.load(tmd_cfh)
File "C:\Users\bread\AppData\Roaming\Python\Python37\site-packages\pyctr\type\tmd.py", line 224, in load
raise InvalidSignatureTypeError(sig_type)
pyctr.type.tmd.InvalidSignatureTypeError: 0x459babe1
Traceback (most recent call last):
File "rebuild-title-database.py", line 64, in <module>
print('Parsing', tmd.title_id)
NameError: name 'tmd' is not defined"
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,805
Country
United States
@ihaveamac Well, that error message was definitely a lot more detailed!

"G:\2dsr>py -3 rebuild-title-database.py -b boot9.bin -m movable.sed -s M: -o out
Failed to parse tmd at M:Nintendo 3DS\4a79295daf23db5a97a61928ec0c4612\b71a0139308018bc5343323000035344\title_4a79295daf23db5a97a61928ec0c4612\00040000\00030200\content\00000000.tmd
Traceback (most recent call last):
File "C:\Users\bread\AppData\Roaming\Python\Python37\site-packages\pyctr\type\tmd.py", line 222, in load
sig_size, sig_padding = signature_types[sig_type]
KeyError: 1167829985

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "rebuild-title-database.py", line 59, in <module>
tmd = TitleMetadataReader.load(tmd_cfh)
File "C:\Users\bread\AppData\Roaming\Python\Python37\site-packages\pyctr\type\tmd.py", line 224, in load
raise InvalidSignatureTypeError(sig_type)
pyctr.type.tmd.InvalidSignatureTypeError: 0x459babe1
Traceback (most recent call last):
File "rebuild-title-database.py", line 64, in <module>
print('Parsing', tmd.title_id)
NameError: name 'tmd' is not defined"
It's trying to parse a tmd outside of the usual title directory structure. I pushed a new commit to only check inside "title" in id1, so this file should no longer be found by the script.
 

Hephaestus

Well-Known Member
Member
Joined
Sep 29, 2017
Messages
335
Trophies
0
Age
36
XP
1,294
Country
Korea, North
@ihaveamac Seems like that change isnt available, yet on the github, but i will try once it is!

Thanks so much for all this effort!
Sorry, forgot to push it, it's available now

This time it ran without issues. It spat out no message, at least.

I got save3ds_fuse, but cant quite figure out how to use it.

I tried running "save3ds_fuse -i" but it asks me to specify a mount path
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,805
Country
United States
This time it ran without issues. It spat out no message, at least.

I got save3ds_fuse, but cant quite figure out how to use it.

I tried running "save3ds_fuse -i" but it asks me to specify a mount path
Example: save3ds_fuse -b boot9.bin -m movable.sed --sd M: --db sdtitle -i out
 

Hephaestus

Well-Known Member
Member
Joined
Sep 29, 2017
Messages
335
Trophies
0
Age
36
XP
1,294
Country
Korea, North
Example: save3ds_fuse -b boot9.bin -m movable.sed --sd M: --db sdtitle -i out

I ran that and it completed without any issues.
When i inserted the sd card back into my 2ds and started the console all games were missing on the homescreen.
it only showed the system settings and stuff.
Was that what was supposed to happen?
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,805
Country
United States
I ran that and it completed without any issues.
When i inserted the sd card back into my 2ds and started the console all games were missing on the homescreen.
it only showed the system settings and stuff.
Was that what was supposed to happen?
title.db probably got corrupted at some point. Try copying a clean one: "fix-titledb.py -b boot9.bin -m movable.sed -s M: --copy-clean" and then run save3ds_fuse again. If it fails again, import.db might need to be fixed (this currently isn't automated).
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    LeoTCK @ LeoTCK: yes for nearly a month i was officially a wanted fugitive, until yesterday when it ended