ROM Hack RELEASE NSC_Builder. Nintendo Switch Cleaner and Builder. (Game+updates+dlc in a single xci)

  • Thread starter JRoad
  • Start date
  • Views 729,456
  • Replies 2,826
  • Likes 74

pcwizard7

Well-Known Member
Member
Joined
Aug 2, 2013
Messages
1,409
Trophies
0
XP
1,688
Country
Australia
I d question what hdd your using i.e portable or one with its own power adapter? seagate or western digital, black or green model etc. and make sure u plug into the 3.0 port in the dock or use usb A to C adapter. all things affect the speed

EDIT. I almost forgot. SXAUTOLOADER which auto-load the xci you loaded in the past without the need to go into the menu. nice timesaver
 
Last edited by pcwizard7,
  • Like
Reactions: jellybeangreen2

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
NSC_Builder v0.99
Introducing MTP Mode a mtp manager for DBI Installer
Codewise probably one of the biggest releases in a year. Since DBI installer gives good access to the switch itself i implemented:
I.- Installer. Local, google drive, 1fichier
II.- File transfer. Local, google drive, 1fichier. Including generate xci and multicontent xci and transfer
III.- Auto-updater. Checks content on device against your libraries and autoupdates the console via usb. Local, google drive
IV.- Uninstaller.
VI.- Content dumper.
VI.- Archived games cleaner.
VIII.- Information such as comparation of the content installed in your switch and xci in your SD Card against nutdb
IX.- Savegame dumper in JKSV format
X.- Generate SX autoloader files

Also solves the issue of the windows explorer not tracking correctly the end of the mtp streams and since DBI can transfer files bigger than 4GB archived to fat32 cards NSCB can also generate and transfer those.


For full features read the changelog at:
https://github.com/julesontheroad/NSC_BUILDER/releases/tag/v0.99

It'll also gives you an understanding on how to setup the libraries.

Some things are missing, some are to come in the future. Probably the most important is the ability of generating new files (nsp to xci or patched files) on the fly but that'll require the implementation of patched streams which needs some work.

I'll be around this week and maybe the next since this was done in about a week, so even if i tested everything i kept stacking functions so this time specially i fear i may have missed some bug.

Anyway the gui also gained support for a rough libraries function, reading part of the info from google drive and reading splitted files, running without a cmd console and some other stuff you can find in the changelog.
 
Last edited by JRoad,

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
Why to use some strange close source tool, when we have Tinfoil with "Best MTP implementation ever"?
I did explain it on the repo, on the mtp documentation. I couldn't make tinfoil run with the mediadevices api, so i kept working on it using DBI.

Some days later i realized there was a driver on tinfoil's repo so i tried with it and got the mediadevices api to recognize it. Then i start adding tinfoil locations to my code and the information functions did run with it, for example the one on info that shows new updates and dlcs will work with tinfoil though tinfoil will make error popups when checking what registries are installed and which are archived\placeholders, which unfortunately stack on top of each other. This is pretty minor and i'm sure i can ask blawar to change it.

Ok so second issue was when installations prompted from the api hanged with tinfoil, seems the request is received but the stream won't advance so i kept working on DBI support.

My original plan was bring support to DBI, tinfoil and nx-mtp, allowing some functions or others to run depending on the one used but that soon was discarded and well, DBI gives access to a titleversions csv and saves too which makes things easier and gave it a couple of functions. Also sends to the pc the version of firmware that's installed on the switch as device version like nx-mtp does, instead tinfoil sends the version of the tinfoil build. Another DBI advantage is that it gives you access to select emmc and sd when installing while tinfoil seems to join both of them on the same storage trough mtp.

About tinfoil, it's solution has it's advantages too since mtp and usb run at the same time. As I stated in the readme i plan to use this to implement a hybrid solution where i use mtp to check on the storage available, xcis and versions of content installed on the device and then normal usb install to make installations.

About DBI being closed source, yep it is though is pretty obvious it's base is Old Tinfoil by Addubz with the fixes blawar made while it's server seems to be a fork of old nut server's code using DBI0 magic for normal usb installation.

About it's mtp implementation is very compliant with the mediadevices api from Microsoft though for some reason they didn't implement changeparent so cut and paste or moved are interpreted as copy in the windows file explorer, while that's actually properly implemented in nx-mtp and tinfoil. Still i don't currently use that and you can get it to work by using changeparent on the api properly.

Anyway that's my reasoning i'm not against tinfoil at all and the intention was and still will be to support both. I won't no longer support nx-mtp since it doesn't really offer advantages. The reason to add a mtp manager for DBI is that it allows to do a lot of things i really tried and wanted to do with NX-MTP before but in a very much friendly and easy way so i rescued my research about mtp support on windows and made this. It's focus was on things i wanted primordially, but as always since it's done and some may find it useful i decided to share it.

Now as I said before current tinfoil's target will be a hybrid solution with a specific tinfoil mode on the NSCB batch. If newer versions of tinfoil work better with the mediadevices api i can also add the tinfoil identifier and locations, to more functions, not only the info one where it's currently added.

The following screenshot is tinfoil's device info on NSCB, it's also supported in the info about installed titles and the update checker too.
I may check if i have the same issue with transfer as i have it with installation, but currently i can't give full tinfoil support, for some reason the mediadevices api has a different behavior when compared to the windows file explorer implementation even if theirs core should be she same.

tinfoil_.PNG
 
Last edited by JRoad,
  • Like
Reactions: Tokiwa

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
OK. And what about mtp-server-nx?
Server-NX only gives you file transfer as far as I'm aware. Won't serve you the games and saves decrypted, data about the registered games and all that stuff DBI dows.
It offers you the same nx-mtp as far as I'm aware but with less performance, unless it improved since I tested it.

Sincerely I explained my reasoning and told you tinfoil support will probably come later on as a mixed solution as I always say this is something I do mainly for my usage, if it's of any use to someone fine I'm glad it is, if it's not sorry about it but there's other solutions.
 
Last edited by JRoad,

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
@JRoad got this error in new 0.99, not seen it before:

Code:
- Calculating base-ids for:
        Z:\Downloads\Switch\sxs-minecraft_v1900544.nsp
Exception: read returned empty 0x141ede0ed
That seems a scene update, did it finished decompressing? That error is typical of a file that didn't finish decompression I saw it a lot.
 

DbGt

Well-Known Member
Member
Joined
Jul 28, 2004
Messages
490
Trophies
1
Website
Visit site
XP
2,877
Country
Mexico
is there a limit to the number of files that can be merged into a single xci? Im trying to merge taiko no tatsujin game, update, and its 175 dlcs released so far into a single xci, but no matter what i try, nsc builder "only" adds 136 dlcs to the final super xci
 
Last edited by DbGt,

pcwizard7

Well-Known Member
Member
Joined
Aug 2, 2013
Messages
1,409
Trophies
0
XP
1,688
Country
Australia
is there a limit to the number of files that can be merged into a single xci? Im trying to merge taiko no tatsujin game, update, and its 175 dlcs released so far into a single xci, but no matter what i try, nsc builder "only" adds 136 dlcs to the final super xci

there is only a size limit, atm its 32 GB total so as long as the final xci file size is under 32 GB should be ok

EDIT. are you merging by baseid or by all in folder?
 
Last edited by pcwizard7,

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
is there a limit to the number of files that can be merged into a single xci? Im trying to merge taiko no tatsujin game, update, and its 175 dlcs released so far into a single xci, but no matter what i try, nsc builder "only" adds 136 dlcs to the final super xci
Would take off the list files with same ID choosing the ones that have a bigger version. So if 2 of your dlcs have the same ID one would be dropped, if they have the same version number it'll be the second listed if the version number is different it will be the one with smaller version number. That should be the case at least.
The limit is 8 different games, there's no limit to dlcs. The 32GB limit is not enforced since I thought it'll be a matter of time for the OS to support them, it may be time to start enforcing it I guess.

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

there is only a size limit, atm its 32 GB total so as long as the final xci file size is under 32 GB should be ok

EDIT. are you merging by baseid or by all in folder?
Even if you set the full list to go in a xci it'll pick the latest versions for each file if 2 have the same ID, it won't allow 2 games, updates or dlcs with the same ID in the file. It'll choose the one with a bigger number.
 
Last edited by JRoad,

Moko

Well-Known Member
Member
Joined
Feb 19, 2007
Messages
113
Trophies
1
XP
1,774
Country
Germany
I have some files, that in v98 File-Info mode / Game-Info works, but in v99 not:
What am I doing wrong? Both version have the same keys.txt.
98vs99.jpg

Logfile from interface:
NSC_Builder by JulesOnTheRoad
Launched using Chrome Installation

Loaded: Z:/JDownloader/Biped NSW-HR/hr-biped.nsp
* Seeking icon
Exception: a bytes-like object is required, not 'NoneType'
* Retrieving Game Information
Traceback (most recent call last):
File "src\gevent\greenlet.py", line 766, in gevent._greenlet.Greenlet.run
File "lib\Interface.py", line 699, in getinfo
File "Fs\ChromeNsp.py", line 8112, in return_DBdict
File "Fs\ChromeNsp.py", line 8153, in getDBdict
File "Fs\ChromeNsp.py", line 8414, in get_data_from_cnmt
UnboundLocalError: local variable 'titleid' referenced before assignment
2020-07-11T12:08:55Z <Greenlet at 0x57cb598: getinfo('Z:/JDownloader/Biped NSW-HR/hr-biped.nsp', False)> failed with UnboundLocalError

* Generating Titles File Data
* Reading Data from Nacp
Traceback (most recent call last):
File "src\gevent\greenlet.py", line 766, in gevent._greenlet.Greenlet.run
File "lib\Interface.py", line 1073, in getnacpdata
File "Fs\ChromeNsp.py", line 2228, in read_nacp
File "Fs\ChromeNacp.py", line 152, in par_getNameandPub
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbe in position 1: invalid start byte
2020-07-11T12:08:56Z <Greenlet at 0x57cb6a8: getnacpdata('Z:/JDownloader/Biped NSW-HR/hr-biped.nsp', False)> failed with UnicodeDecodeError

* Reading Data from Npdm
* Reading Data from Cnmt
* Verifying files
 
Last edited by Moko, , Reason: add logfile

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
I have some files, that in v98 File-Info mode / Game-Info works, but in v99 not:
What am I doing wrong? Both version have the same keys.txt.
That seems a keys thing tbh, I don't know the reason if both files are the same but i can't replicate the error. Attached is the information i get:
4.PNG

5.PNG
 

DbGt

Well-Known Member
Member
Joined
Jul 28, 2004
Messages
490
Trophies
1
Website
Visit site
XP
2,877
Country
Mexico
Would take off the list files with same ID choosing the ones that have a bigger version. So if 2 of your dlcs have the same ID one would be dropped, if they have the same version number it'll be the second listed if the version number is different it will be the one with smaller version number. That should be the case at least.
The limit is 8 different games, there's no limit to dlcs. The 32GB limit is not enforced since I thought it'll be a matter of time for the OS to support them, it may be time to start enforcing it I guess.

I see, thanks for the reply. That must be whats happening, but dont know which ones have the same ID or version number and to check one by one would take an eternity, and even if i find out, i guess theres still nothing i can do to merge all 175 dlcs into a single xci then... The game and update is 5gb only and all the dlcs are like 30 mb


there is only a size limit, atm its 32 GB total so as long as the final xci file size is under 32 GB should be ok

EDIT. are you merging by baseid or by all in folder?

The game and update is 5gb only and all the dlcs are like 30 mb, so its far from the 32 gb limit. And im merging by all in folder
 
Last edited by DbGt,

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
That seems a keys thing tbh, I don't know the reason if both files are the same but i can't replicate the error. Attached is the information i get:
It could also be
I see, thanks for the reply. That must be whats happening, but dont know which ones have the same ID or version number and to check one by one would take an eternity, and even if i find out, i guess theres still nothing i can do to merge all 175 dlcs into a single xci then... The game and update is 5gb only and all the dlcs are like 30 mb
The game and update is 5gb only and all the dlcs are like 30 mb, so its far from the 32 gb limit. And im merging by all in folder
From what is implemented you can save the final list then you could check against the original i guess.
After you add your files use -> Input "3" to save list for later
Then:
Input "1" to SAVE the list as a MERGE job (single multifile list) -> To make xci\nsps that include files or multiple games
Input "2" to SAVE the list as a MULTIPLE jobs by baseid of files-> To separate into a list per game from the original list

They'll get saved in \lists\m_multi\ and the program tells you the exact name of the list

Then when you enter again in multimode:
Input "1" to process PREVIOUSLY SAVED JOBS
And then you set the options you like to repack the lists.

Well after you generated the list you can find it in \lists\m_multi\ check it or edit it.
 

Moko

Well-Known Member
Member
Joined
Feb 19, 2007
Messages
113
Trophies
1
XP
1,774
Country
Germany
That seems a keys thing tbh, I don't know the reason if both files are the same but i can't replicate the error. Attached is the information i get:
f*ck... have copied the wrong keys.txt without the 0a keys from wrong directory :(
Sorry, and thanks for your great program.
 
  • Like
Reactions: LeviDL

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: It's mostly the ones that are just pictures and no instructions at all