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

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

NANASHI89

Well-Known Member
Member
Joined
May 3, 2012
Messages
2,473
Trophies
1
XP
5,333
Country
United States
*******************************************************
Processing list mlist.txt
*******************************************************
Calculating final content:
Exception: read returned empty 0x1c8b38ea0
Exception: read returned empty 0x1e2a48a0
Filename: UNKNOWN [] .xci
Exception: read returned empty 0x1c8b38ea0
Exception: read returned empty 0x1e2a48a0
- Writing XCI header...
- Writing XCI game info...
- Generating padding...
- Writing XCI certificate...
- Writing ROOT HFS0 header...
- Writing UPDATE partition header...
Calculated multiplier: 1
- Writing NORMAL partition header...
Calculated multiplier: 1
- Writing SECURE partition header...
Calculated multiplier: 1
99%|████████████████████████████████████████████████████████████████████████████▍| 63.0k/63.5k [00:00<00:00, 2.26MB/s]Exception: read returned empty 0x1c8b38ea0
Exception: read returned empty 0x1e2a48a0
...................................................
STILL 0 FILES TO PROCESS
...................................................

What am I doing wrong?
 

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
*******************************************************
Processing list mlist.txt
*******************************************************
Calculating final content:
Exception: read returned empty 0x1c8b38ea0
Exception: read returned empty 0x1e2a48a0
Filename: UNKNOWN [] .xci
Exception: read returned empty 0x1c8b38ea0
Exception: read returned empty 0x1e2a48a0
- Writing XCI header...
- Writing XCI game info...
- Generating padding...
- Writing XCI certificate...
- Writing ROOT HFS0 header...
- Writing UPDATE partition header...
Calculated multiplier: 1
- Writing NORMAL partition header...
Calculated multiplier: 1
- Writing SECURE partition header...
Calculated multiplier: 1
99%|████████████████████████████████████████████████████████████████████████████▍| 63.0k/63.5k [00:00<00:00, 2.26MB/s]Exception: read returned empty 0x1c8b38ea0
Exception: read returned empty 0x1e2a48a0
...................................................
STILL 0 FILES TO PROCESS
...................................................

What am I doing wrong?
Do a verify in the files you're using. UNKNOWN content seems weird. You can find the verify in both individual mode and info mode. Individual mode is to check several files in one go.
The way NSCB works it reads the files decrypted and writes encrypted, so for some reason X part of a nca is bad it won't be able to decrypt it. I wonder if that was the case here but i need more data to know what happened.
 

PT333

Well-Known Member
Newcomer
Joined
Jul 19, 2018
Messages
55
Trophies
0
Age
27
XP
461
Country
United States
When I launch My Friend Pedro cxci it crashes after few seconds with message "Software was closed because an error occured". I'm using FW 7.0.1 with SXOS 2.6.2. Game was converted to cxci with latest version of NSB, keygeneration was changed from 8 to 7. Do you think it's NSB problem or is this a special game that won't run on lower FW like Hellblade?
 

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
When I launch My Friend Pedro cxci it crashes after few seconds with message "Software was closed because an error occured". I'm using FW 7.0.1 with SXOS 2.6.2. Game was converted to cxci with latest version of NSB, keygeneration was changed from 8 to 7. Do you think it's NSB problem or is this a special game that won't run on lower FW like Hellblade?
There are many games that doesn't run under lower firmware but my bet is you have a bad nsp. I know that there was a "My friend Pedro" floating around from a scene group that had a bad titlekey, if you generate a xci with that NSCB will generate a wrong header.
Is easy to know, just use the verifier i introduced recently with the original nsp or xci. The original nsp should say the ticket is bad, the xci should fail the first verification on the program nca.
That assuming that you have the bad file. Either way 7.01-8.01 is keygeneration8\master_key_07 so it should run on that firmware and 8.1 is keygeneration9\master_key_08
 

PT333

Well-Known Member
Newcomer
Joined
Jul 19, 2018
Messages
55
Trophies
0
Age
27
XP
461
Country
United States
There are many games that doesn't run under lower firmware but my bet is you have a bad nsp. I know that there was a "My friend Pedro" floating around from a scene group that had a bad titlekey, if you generate a xci with that NSCB will generate a wrong header.
Is easy to know, just use the verifier i introduced recently with the original nsp or xci. The original nsp should say the ticket is bad, the xci should fail the first verification on the program nca.
That assuming that you have the bad file. Either way 7.01-8.01 is keygeneration8\master_key_07 so it should run on that firmware and 8.1 is keygeneration9\master_key_08

You were right, titlekey is wrong, thx for advice
 

disown

Member
Newcomer
Joined
Jun 22, 2019
Messages
13
Trophies
0
Age
34
XP
143
Country
United States
Thank you so much for making this tool.

Just one suggestion, if you have time, can you implement a way to inject game cert into generated xci?
Possibly by automatically detect "game_cert.dat" file in the folder and inject it.
 

disown

Member
Newcomer
Joined
Jun 22, 2019
Messages
13
Trophies
0
Age
34
XP
143
Country
United States
A possible bug:

Packing Bomberman R and its update (01007AD00013E000 + 01007AD00013E800) together produces a broken xci, or at least one that can crash XCI-Explorer.

Please look into it.
 
Last edited by disown,

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
A possible bug:

Packing Bomberman R and its update (01007AD00013E000 + 01007AD00013E800) together produces a broken xci, or at least one that can crash XCI-Explorer.

Please look into it.
Did you verify the files with NSCB? It would be good to know if the original files and the result verify properly.

Is there anyway to remove nintendo link account with this tool
No, I didn't see it necessary when there's Kefir and before that there was the import account method via a save file. Yes, i know that you loose the unlink accounts and saves, but you can backup the saves and add them to the new account.

Thank you so much for making this tool.

Just one suggestion, if you have time, can you implement a way to inject game cert into generated xci?
Possibly by automatically detect "game_cert.dat" file in the folder and inject it.
Yes, i can see about adding an option in advance to inject and extract the certs. I can make it so it let you inject the same cert to all games in the list, with a warning about online play and injected certs. I know they work but at the very least it seems that injecting the same one to a ton of games ends in a ban.
 

18Phoenix

Well-Known Member
Member
Joined
Nov 21, 2005
Messages
766
Trophies
1
XP
2,298
Country
Germany
The menu:
What's the difference between choosing 1-1-2-... and 2-1-2-... ?
I see no difference for building a XCI, even using one or multiple number of files.
 

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
The menu:
What's the difference between choosing 1-1-2-... and 2-1-2-... ?
I see no difference for building a XCI, even using one or multiple number of files.
You mean separate by baseid? That's meant to do several multixci in one go. Like you have game 1 with update1 and dlc1 in one side and game2, update2,dlc2 in other. You generate a list with the content of both games, process it separating by base id and the program will output game1.xci and game2.xci with all content.
Then you have the options to setup lists for later that lets you also separate by baseid or put all in the same list. The meaning of having both options is so you're able to generate both xci with the content of 1game or xci with the content of several games.

Basically those are options that allow you to do several xci in one operation, either in the current session or to save them for a future session.
 

18Phoenix

Well-Known Member
Member
Joined
Nov 21, 2005
Messages
766
Trophies
1
XP
2,298
Country
Germany
I forgot that it's possible to mix several games in one XCI.
But I never use that, I only want to build single game XCI incl. update and DLCs.
So for this case there's no real difference using 1-1-2 or 2-1-2, right ?
2 is normally meant to build multi-game-XCI, but it works for one game, correct?
 
Last edited by 18Phoenix,

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
I forgot that it's possible to mix several games in one XCI.
But I never use that, I only want to build single game XCI incl. update and DLCs.
So for this case there's no real difference using 1-1-2 or 2-1-2, right ?
2 is normally meant to build multi-game-XCI, but it works for one game, correct?
I mean, if you don't plan to do multigames you're better always using 2. 2 can make several xci in one go and in the case you add an update or a dlc from a different region it'll add that to other file instead of you having orphaned files inside of your xci\nsp.
numb2.PNG

In the case that you wont to save the lists for later you will have also that option before generating the lists, if you choose that it'll split the lists into the different games in there, with it's dlc and updates.
And i just realized that wannt that will be corrected in the next version. XD
 
  • Like
Reactions: 18Phoenix

disown

Member
Newcomer
Joined
Jun 22, 2019
Messages
13
Trophies
0
Age
34
XP
143
Country
United States
Did you verify the files with NSCB? It would be good to know if the original files and the result verify properly.

The verification is good. I looked a bit further into it and it seems the problem may be with the header of the generated xci.

I cannot post any link so please see here for more details: pastebin . com / aiyyqFWv

This is the only xci with this error, so I don't think the bug is with XCI-Explorer.

Yes, i can see about adding an option in advance to inject and extract the certs. I can make it so it let you inject the same cert to all games in the list, with a warning about online play and injected certs. I know they work but at the very least it seems that injecting the same one to a ton of games ends in a ban.

Thank you, it would be really great to have this feature.
 
Last edited by disown,

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
A possible bug:

Packing Bomberman R and its update (01007AD00013E000 + 01007AD00013E800) together produces a broken xci, or at least one that can crash XCI-Explorer.

Please look into it.
You're right about xci explorer and that game but the issue can't be related to number of files. I encounter that exception but looking at the number of files:
Root hfs0 -> 3, which are update, normal and secure partitions
update hfs0 ->0
normal hfs0 ->0
secure hfs0 ->9
Completely accurate being the paramaters what should be expected, having the game 4 nca and the update 5 nca files. File also works fine in SX OS so to be honest i don't know what it's reading to get that big file number.
 

JRoad

Developer
OP
Developer
Joined
May 18, 2018
Messages
1,003
Trophies
0
XP
1,746
Country
Spain
Just came across a weird bug:

NSCB cannot verify file name "無名.xci", but can verify with name "無名無.xci".
Well could be a parsing issue? Either way next realease will use romanji as default and will fix the chinese\asia naming detection that's being haunting the program for a while. Those will be romanized b default since the library i'm using accepts extended kana\chinese and results seem good. There will be an option to dissable that though, it's just that i had reports of SX OS not liking japanese characters.
understandable.PNG


About the verify if it's being done with file-info instead of the individual mode the initial parsing is done in batch instead of python. It's being adapted to python but i need to catch all messeges to make it work like it does currently in batch.
 

disown

Member
Newcomer
Joined
Jun 22, 2019
Messages
13
Trophies
0
Age
34
XP
143
Country
United States
Another weird bug:

Mass verification using folder, for example, c:\xci\
2 files:
abc.xci
This is name ‘n’ here.xci

There would be an error at verifying "This is name ‘n’ here.xci"
However, if I remove "abc.xci" from the folder and there is only 1 file left, it works.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: @Psionic Roshambo, JonTron's back yet again until he disappears into the void for another 6 or...