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

AkikoKumagara

The Coolest Bear Around
Member
Joined
Jan 4, 2017
Messages
1,537
Trophies
1
Website
thebearsden.web.fc2.com
XP
3,933
Country
United States
@Sophie-bear maybe try dumping them again. Some games i have the header file broke from converting them to cxi and then back to cia. Thats just me but i think that may cause it to fail too.
Just a wild guess
Yeah, I'll try a few things and see if I can't come to some conclusion of what the cause might be. Thanks :)
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,830
Country
United States
I'm running into it again with some other .cia files.
Could them being created with the wrong version number maybe cause this somehow? A couple I have are like that and coincidentally when I start installing a batch with them is when I start running into the problem again.
I’m not sure right now. I’ll create a version of custom-install-finalize that prints more information to help figure out what this issue is. The wrong version shouldn’t matter much though, since this program only installs a ticket and seed, and doesn’t do anything with the actual title.
 
  • Like
Reactions: AkikoKumagara

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,293
Trophies
4
Location
Space
XP
13,851
Country
Norway
Though this error is strange and I'll have to look into it, DSiWare titles can't be installed to the SD card, so you have to do it the old-fashioned way.


Looks good to me so far. In this little example, I would probably rename logLines to log_lines to match PEP 8 and be consistent with everything else in the project.

Some of the methods should be split into their own functions, like one that starts writing a single title, one to update the title database, one to update cifinish.bin and add to it (currently it overwrites). Then start() should exist to call all of them to keep it simple for anything else that may use this.
Maybe it would be possible to create importable DSiWare that can be imported through System Settings? Although I am not sure if that would be any faster than just installing the DSiWare CIA on the console... But I suppose it could be useful to some.
 
  • Like
Reactions: Deleted-236924

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,830
Country
United States
Maybe it would be possible to create importable DSiWare that can be imported through System Settings? Although I am not sure if that would be any faster than just installing the DSiWare CIA on the console... But I suppose it could be useful to some.
It's technically possible, but I don't know the format of DSiWare exports. Plus given their small size it wouldn't be that useful.
so will there be a single .exe file instead of many files where we don't need to type or run any the command's ?
As soon as there is a gui fully implemented I will try to build and provide standalone exe and app forms.
 

NekoBit

Member
Newcomer
Joined
Nov 5, 2019
Messages
19
Trophies
0
Age
27
XP
97
Country
United States
upload_2019-11-7_0-28-13.png

Wish if I didn't have tasks in my way I could've finished it tonight, but it will wait until tomorrow.
I am sooooo close, but I think it will be pushed tomorrow.
Need to do threads, but the percentage works and all that jazz. Give it some time. The code is kinda messy too, it got kind of all over the place when I had to get the thing jumbled together, will make some room tomorrow to clean as well.
 
Last edited by NekoBit,

MorningBlunt

Controller Smasher
Member
Joined
Jun 11, 2017
Messages
124
Trophies
0
XP
1,897
Country
Jamaica
Fantastic, but I'll wait for the GUI because I lazy.

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

Also, what would 'Skip Contents' do?
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,830
Country
United States
Fantastic, but I'll wait for the GUI because I lazy.

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

Also, what would 'Skip Contents' do?
--skip-contents means everything but writing the contents of the title happens (creating cifinish.bin and adding to title.db). This is useful if, for example a game was written to the SD, but it failed to add to title.db. You can use this to finish the install without rewriting all of the game's data.
 
  • Like
Reactions: MorningBlunt

Tempylon

Well-Known Member
Member
Joined
Mar 4, 2018
Messages
248
Trophies
0
XP
1,020
Country
Germany
custom-install is a Python 3.6+ tool that will install CIA files to a Nintendo 3DS SD card entirely on a PC. This completely bypasses the slow wireless and I/O speeds of the hardware.

This has no GUI at the moment, so you are expected to know how to use a command-line interface. It also currently does not verify CIAs, so corrupted CIAs may not show errors during install.

Example speeds installing Pokémon Ultra Moon, about 3.45 GB (does not include final step to install a ticket and seed):
  • Class 4 SD: 15 minutes, 15 seconds
  • Class 10 UHS-1 microSD: 2 minutes, 58 seconds
  • For comparison, FBI network install to a New 3DS with a Class 10 UHS-1 microSD: 48 minutes, 14 seconds
Thanks to wwylele and his work on save3ds which has made modifying title.db on PC possible.

Please read the README for usage details.
https://github.com/ihaveamac/custom-install
Should I create a GUI for you?
 
Last edited by Tempylon,

HalMuntz97

Member
Newcomer
Joined
Nov 9, 2019
Messages
10
Trophies
0
XP
63
Country
United States
Quick tutorial:
FIRST AND FOREMOST, install Python and add it to the Windows path variable
Extract custom-install-master somewhere you want.
Paste boot9.bin seeddb.bin and movable.sed to the root of the custom-install-master folder
Take out sd-card from 3ds, download custom-install-finalize and paste it in the 3ds folder of your sd-card
Paste the .cia files you want to install to the root of the custom-install-master folder
Open command prompt, preferably with admin rights, in the folder custom-install-master
Insert the following code
Code:
py -3 custom-install.py -b boot9.bin -m movable.sed --sd *YourSDCARDDISKLETTER:\* *yourgamename*.cia *yourgamename*.cia
Wait for install
Insert sd-card to 3ds and open custom-install-finalize through homebrew channel
???
PROFIT!
Hi, can you tell me where I went wrong? Thank you in advance.
upload_2019-11-9_1-13-1.png
 

Attachments

  • upload_2019-11-9_1-12-38.png
    upload_2019-11-9_1-12-38.png
    56.4 KB · Views: 147

AkikoKumagara

The Coolest Bear Around
Member
Joined
Jan 4, 2017
Messages
1,537
Trophies
1
Website
thebearsden.web.fc2.com
XP
3,933
Country
United States
Hi, can you tell me where I went wrong? Thank you in advance.
Make sure you're running that in the directory that custom-install.py is located in. If all the necessary files are not in the AM directory you're currently in, it won't find them. You can use the command "cd" followed by the path to the folder the files you're working with are in to change directories.
 

HalMuntz97

Member
Newcomer
Joined
Nov 9, 2019
Messages
10
Trophies
0
XP
63
Country
United States
Make sure you're running that in the directory that custom-install.py is located in. If all the necessary files are not in the AM directory you're currently in, it won't find them. You can use the command "cd" followed by the path to the folder the files you're working with are in to change directories.
If I understand correctly, you're saying I should open CMD in the folder where "custom-install.py" "boot9.bin" "moveable.sed" and "seeddb.bin" are located? Please take a look (my folder's content):
 

Attachments

  • Capture.JPG
    Capture.JPG
    79.5 KB · Views: 201
Last edited by HalMuntz97,

AkikoKumagara

The Coolest Bear Around
Member
Joined
Jan 4, 2017
Messages
1,537
Trophies
1
Website
thebearsden.web.fc2.com
XP
3,933
Country
United States
If I understand correctly, you're saying I should open CMD in the folder where "custom-install.py" "boot9.bin" "moveable.sed" and "seeddb.bin" are located? Please take a look (my folder's content):
That's right. Either Open CMD there or change directories to there after opening CMD. Doesn't matter which you do, same result.
 

Wuigi

Well-Known Member
Member
Joined
Sep 14, 2012
Messages
728
Trophies
1
XP
1,784
Country
United States
Worked really well for me, thanks for your efforts to make this program possible.
I only wonder where the CIAs are installed to, directly to the correct ID0/ID1/... paths?
@HalMuntz97 Shift+right click in the directory with the custom-install.py and select open powershell/open command prompt here.
 
Last edited by Wuigi,

AkikoKumagara

The Coolest Bear Around
Member
Joined
Jan 4, 2017
Messages
1,537
Trophies
1
Website
thebearsden.web.fc2.com
XP
3,933
Country
United States
Love! Could you teach me how please? I can't seem to figure it out admittedly
Open a command prompt, then click in the address bar I've highlighted in my attachment (in the blank space, not on the text). Copy that text. type "cd" then a space in the command prompt, then paste that text you copied. Press Enter, then run the command you're using to install the cia files again.

Screenshot_1.png
 
Last edited by AkikoKumagara,

HalMuntz97

Member
Newcomer
Joined
Nov 9, 2019
Messages
10
Trophies
0
XP
63
Country
United States
Open a command prompt, then click in the address bar I've highlighted in my attachment (in the blank space, not on the text). Copy that text. type "cd" then a space in the command prompt, then paste that text you copied. Press Enter, then run the command you're using to install the cia files again.

View attachment 185700
You rock and a half, look at what you've helped me achieve. Thank YOU! :-)
 

Attachments

  • Capture.JPG
    Capture.JPG
    64.2 KB · Views: 193
  • Like
Reactions: AkikoKumagara

Xmortal

Other Nickname Legarad
Member
Joined
May 28, 2008
Messages
305
Trophies
1
Age
36
Location
Venezuela
XP
1,101
Country
Venezuela
This still requires double space in the SD memory, but the installation is much faster than the FBI

I have a error

Code:
D:\custom-install-master>py -3 custom-install.py -b boot9.bin -m movable.sed --s
d G:\ LEGOCUTCB.cia
Finding path to install to...
Reading CIA...
Installing The Chase Begins...
Writing /title/00040000/000ad500/content/00000000.tmd...
 100.0%  0.0 MiB / 0.0 MiB
Writing /title/00040000/000ad500/content/00000000.app...
 100.0%  735.3 MiB / 735.3 MiB
Writing /title/00040000/000ad500/content/00000001.app...
 100.0%  0.4 MiB / 0.4 MiB
Generating blank save at /title/00040000/000ad500/data/00000001.sav...
Generating /title/00040000/000ad500/content/cmd/00000001.cmd
Writing /title/00040000/000ad500/content/cmd/00000001.cmd
[b'\x00\x00\x01.\x00\x00\x00\x00', b'@\x00\x00\x00', b'\x00\x00', b'\x02\x00', b
'\x01\x00\x00\x00', b'\x00\x00\x00\x00', b'\x01\x00\x00\x00', b'\x01\x00\x00\x00
', b'\x00\x00\x00\x00', b'\x00\x00\x00\x00', b'\x00\x00\x00\x00\x01\x00\x00\x00'
, b'CTR-P-AA8E\x00\x00\x00\x00\x00\x00', b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\
x00\x00\x00\x00\x00\x00\x00', b'GS\xed\xc4', b'\x00\x00\x00\x00\x00\x00\x00\x00\
x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00']
Extracting Title Database...
Traceback (most recent call last):
  File "custom-install.py", line 318, in <module>
    subprocess.run(save3ds_fuse_common_args + ['-x'])
  File "C:\Python3\lib\subprocess.py", line 453, in run
    with Popen(*popenargs, **kwargs) as process:
  File "C:\Python3\lib\subprocess.py", line 756, in __init__
    restore_signals, start_new_session)
  File "C:\Python3\lib\subprocess.py", line 1155, in _execute_child
    startupinfo)
OSError: [WinError 216] Esta versión de %1 no es compatible con la versión de Windows que está ejecutando. Compruebe la información de sistema del equipo para consultar si necesita una versión x86 (32 bits) o x64 (64 bits) del programa, y después póngase en contacto con el editor del software

D:\custom-install-master>
 
Last edited by Xmortal,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Nut on the hill