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

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,836
Country
United States
You have a space before game.cia, therefore the .cia filename is not getting passed properly. In other words, you have:
$ py -3 custom-install.py -b boot9.bin -m movable.sed --sd F:\ game.cia
but should have:
$ py -3 custom-install.py -b boot9.bin -m movable.sed --sd F:\game.cia
Incorrect, the original is a valid command for custom-install and Windows Command Prompt. "--sd" should be getting a directory, which F:\ is. But bash (in git bash) was parsing \ with a space after it, causing this error as explained above.
 
Last edited by ihaveahax,

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,836
Country
United States
Well all the gateway holdouts have no excuse now. Also, installing the UM cia on my 3DS definitely didn't take 48 mins.
Installing over the network? That's what I tried in the example. A local install may be a bit faster, but you also have to consider time copying the file over first.
 
  • Like
Reactions: Pickle_Rick

Confusion_18

Well-Known Member
Member
Joined
Nov 4, 2019
Messages
102
Trophies
0
XP
269
Country
Canada
You have a space before game.cia, therefore the .cia filename is not getting passed properly. In other words, you have:
$ py -3 custom-install.py -b boot9.bin -m movable.sed --sd F:\ game.cia
but should have:
$ py -3 custom-install.py -b boot9.bin -m movable.sed --sd F:\game.cia
the F:\ and the cia are two seperate arguments, also it was just bash, works fine with cmd
 
Last edited by Confusion_18,

kultsi

Member
Newcomer
Joined
Oct 21, 2015
Messages
9
Trophies
0
Age
37
XP
158
Country
Finland
this is all of it (also i'm on windows if that helps):
$ py -3 custom-install.py -b boot9.bin -m movable.sed --sd F:\ game.cia
usage: custom-install.py [-h] -m MOVABLE [-b BOOT9] [--sd SD]
[--skip-contents]
cia [cia ...]
custom-install.py: error: the following arguments are required: cia
Just use F: without the \ that worked for me, got the same problem ;)
 

Elwyndas

Well-Known Member
Member
Joined
Dec 19, 2018
Messages
197
Trophies
0
XP
680
Country
United States
This is obviously a revolutionary step for the 3DS.
For the GUI, I very much imagine as a PC based FBI. Would this be possible? It should be able to display the titles installed, delete them, add them, etc, and some other file operations. In addition it should allow simple file transfers.
I also envision a batch installation of CIA's, including a warning if you go over the space limit on the SD card.
 

Confusion_18

Well-Known Member
Member
Joined
Nov 4, 2019
Messages
102
Trophies
0
XP
269
Country
Canada
This is obviously a revolutionary step for the 3DS.
For the GUI, I very much imagine as a PC based FBI. Would this be possible? It should be able to display the titles installed, delete them, add them, etc, and some other file operations. In addition it should allow simple file transfers.
I also envision a batch installation of CIA's, including a warning if you go over the space limit on the SD card.
I'm no legend at coding but I can say that Python gui's are a pain.
 
Last edited by Confusion_18,

NekoBit

Member
Newcomer
Joined
Nov 5, 2019
Messages
19
Trophies
0
Age
27
XP
97
Country
United States
All apologize for my new account spam, apparently occurred when I tried creating an account... anyways
I am willing to help write a Gtk3 client for this tool, and if that isn't what you want (since not many linux users exist here) I can try the dreaded tk gui since that works cross platform, I think. I don't know QT, but if I did write a QT library, the code would probably suck.
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,836
Country
United States
All apologize for my new account spam, apparently occurred when I tried creating an account... anyways
I am willing to help write a Gtk3 client for this tool, and if that isn't what you want (since not many linux users exist here) I can try the dreaded tk gui since that works cross platform, I think. I don't know QT, but if I did write a QT library, the code would probably suck.
You can use any gui toolkit you like. I'm pretty sure Gtk3 has ports to Windows and Mac but I don't know about their quality. Cross-platform would be nice, especially since most of the users who aren't experienced with a command line interface are probably on Windows.

If you choose to use something other than Python, I can update custom-install to support json output or something that can be easily parsed by a wrapper program.
 
Last edited by ihaveahax,

NekoBit

Member
Newcomer
Joined
Nov 5, 2019
Messages
19
Trophies
0
Age
27
XP
97
Country
United States
You can use any gui toolkit you like. I'm pretty sure Gtk3 has ports to Windows and Mac but I don't know about their quality. Cross-platform would be nice, especially since most of the users who aren't experienced with a command line interface are probably on Windows.

If you choose to use something other than Python, I can update custom-install to support json output or something that can be easily parsed by a wrapper program.

I can use python for the library, best I could ask is if you want this to be an unofficial wrapper tool, and you support json output, or I manually fork your tool and add the gui wrapper and you merge it (or I keep the fork), we would need to make it a bit more OOP friendly maybe or rely on functions a bit instead of just a script, it's your choice. (I am willing to turn most of your code into functions tomorrow maybe too)
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,836
Country
United States
I can use python for the library, best I could ask is if you want this to be an unofficial wrapper tool, and you support json output, or I manually fork your tool and add the gui wrapper and you merge it (or I keep the fork), we would need to make it a bit more OOP friendly maybe or rely on functions a bit instead of just a script, it's your choice. (I am willing to turn most of your code into functions tomorrow maybe too)
Yeah it's mostly in script form right now, most things I make it start off as that (I'm not a professional developer by any means, just a hobbyist). Having it integrated in the project would be nice, but whatever's easier.

Before trying to change it to be functions or objects, I think we should figure out what and how the gui looks like and functions, then make the script into a module. I think it would be easier and better that way.
 

NekoBit

Member
Newcomer
Joined
Nov 5, 2019
Messages
19
Trophies
0
Age
27
XP
97
Country
United States
Yeah it's mostly in script form right now, most things I make it start off as that (I'm not a professional developer by any means, just a hobbyist). Having it integrated in the project would be nice, but whatever's easier.

Before trying to change it to be functions or objects, I think we should figure out what and how the gui looks like and functions, then make the script into a module. I think it would be easier and better that way.

Just a hobbyist
A really good one, I could never get good or even know where to begin with what you are doing to the homebrewing community!

Here is something I went overboard as hell with and wrote in HTML/CSS, lol (I haven't touched HTML/CSS in a while so it was a way to practice as well), I wanted to aim at a minimalist GUI that is primarily just the terminal with with GUI elements for ease of use.

upload_2019-11-5_1-25-27.png

Edit: Select drive meant to select the MicroSD card, should've made it clearer
 

Attachments

  • upload_2019-11-5_1-25-23.png
    upload_2019-11-5_1-25-23.png
    15.2 KB · Views: 149
Last edited by NekoBit,

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,836
Country
United States
A really good one, I could never get good or even know where to begin with what you are doing to the homebrewing community!

Here is something I went overboard as hell with and wrote in HTML/CSS, lol (I haven't touched HTML/CSS in a while so it was a way to practice as well), I wanted to aim at a minimalist GUI that is primarily just the terminal with with GUI elements for ease of use.

View attachment 185113
Edit: Select drive meant to select the MicroSD card, should've made it clearer
Looks fine to me, though we could probably add a bit more to it, like a progress bar. We also need a way for a user to select boot9.bin, seeddb.bin, and movable.sed.

The installation code could run on a second thread, though I have little experience with threads and sometimes hear using them with guis is a pain. Maybe you have more experience with that?
 

NekoBit

Member
Newcomer
Joined
Nov 5, 2019
Messages
19
Trophies
0
Age
27
XP
97
Country
United States
Figures... Oh, I almost forgot the multiprocessing module exists, we could probably use that.
This is what I used for one of my projects, its good, but I still struggled a little personally with it, did some research and have been doing some things wrong (Will look into it all tomorrow), I need to sleep well anyway, so goodnight.
 
  • Like
Reactions: ihaveahax

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,317
Trophies
4
Location
Space
XP
13,898
Country
Norway
Ooh. Now if only I didn't already have pretty much every game I wanted installed. I always wanted something like this, only wish it had happened sooner. Very nice nonetheless.
 

AkikoKumagara

The Coolest Bear Around
Member
Joined
Jan 4, 2017
Messages
1,538
Trophies
1
Website
thebearsden.web.fc2.com
XP
3,942
Country
United States
I was able to install Pokémon Ultra Sun using this method, but... when I run the finalize step it says something about failing to install the ticket?
The game works fine anyway, but I'm curious why this might be happening.
 

ihaveahax

Well-Known Member
OP
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,836
Country
United States
I was able to install Pokémon Ultra Sun using this method, but... when I run the finalize step it says something about failing to install the ticket?
The game works fine anyway, but I'm curious why this might be happening.
How are you running custom-install-finalize?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    DinohScene @ DinohScene: ahh nothing beats a coffee disaronno at work