Releases: julesontheroad/NSC_BUILDER
NSC_BUILDER v0.96b
v0.96b - Little fixes:
- Added xcz and nsz extension in the multi mode. In the latest release due to an overlook it was added only in the first input shown when the user enters in the multimode.
- Added extensions to the current auto functions.
v0.96 - nsz and xcz as input for most funtions:
- Added nsz and xcz as input to several functions. Though some were alredy added i'll recapitulate the current state of all functions regarding nsz\xcz support.
- Mode 1: Individual Mode.
- Support to repack as nsp\xci with support for keygeneration and rsv patching.
- Support in erase deltas and rebuild functions. Rebuild will give the same output as the decompressor but add a xml if needed for nsz files.
- Support to rename of nsz\xcz which was already supported
- Support for nsz\xcz verification which was also already supported.
- xci trimmer\supertrimmer\untrimmer will filter the xcz\nsz from the list since it currently wouldn't have a different effect than repack\decompress.
- Mode 2: Multi Mode.
- Adds support to nsz\xcz as input. Mixed inputs of nsz\xcz\nsp\xci are supported to all multi options.
- Mode 3: Splitter mode.
- Now allows to split in a decompressed state multi nsz\xcz as it does with xci\nsp
- Mode 4: Info mode.
- All info functions except nut-info are currently supported.
- Mode 5: Database mode.
- Currently doesn't output the titlekey. It will be corrected in future releases
- Mode 6: Advanced mode.
- File extractor will extract all files in a decompressed state. Nsz get decompressed during extraction.
- Raw extractor will extract the nsz files uncompressed
- Plaintext and nca extraction operations aren't addapted yet.
- Linked account patcher will support nsz and xcz files.
- IMPORTANT: When FAT32 types are selected as output format the nsz\xcz will be filtered from list for modes that output fat32 files, this is due to not have added the fat32 output code yet. I'll due for next release since it always require more testing.
- XCZ and NSZ will be added as output formats too for modes 1,2 and 3 in next releases.
Bugfixes:
- Corrected issue where verification of keygeneration patch cnmts will show as correct and then show a second message as incorrect.
- Corrected issue where restoration mode won't restore the cnmt file under some conditions for RSV patched cnmts
- Added mirror for nutdb database
Important Note
Rommenu SX OS gallery installer currently doesn't work properly with games using master_key_09\keygeneration 10. These won't install properly in that installer and xci or cxci that uses that masterkey will show a white icon in the loader, though they will mount properly due to the system handling that part.
The solution is to lower the keygeneration, as it happened before in FW 6.2 if my memory serves me right. I checked and lowering these games to keygeneration 9 (master_key_08) will show the icons as expected and allow to install those games under that installer.
If you only plan to install them remember you can use other alternative like SX Installer, tinfoil, OGTinfoil, lithium or goldleaf.
Hopefully TX solves this soon but for now please use this countermeasure.
NSC_BUILDER v0.95b
v0.95b - Bugfixes:
- Fixed titles section in file-info gui not showing data for nsz files.
- Fixed keys.txt checker showing master_key_08 was missing when in fact master_key_09 was the one missing.
v0.95 - xcz format, fixes and other stuff:
- Added xcz format supertrimmed to compressor. This means that it won't pack the update partition (system firmware content), a lossless compressor that will compress that partion will be added at a later time.
- Added more compression presets
- Added nsz and xcz verification to both the file-info gui and the batch interface
- Added renaming for nsz and xcz.
- xcz and nsz support will be added slowly to all functions
- Added option to convert xci to nsz when compressing them in configuration. It is a highly unneeded thing to do since tinfoil would install xcz or nsz files but to each their own if you feel the need of converting at least do it in a restorable and verifiable way.
- Added more information options in the FILE-INFO mode for nsz\xcz
- Fixed user compression profile configuration.
- Added -1 threads as an option. This sets the threads depending on the cpu logic cores.
- Reduced nsz header size and change file order to standard cnmt order.
- Individual mode will now filter the extensions not supported for the selected function preprocessing.
- Added romaji conversion as optional when renaming files.
- Added option to select files and folders to add to list via filebrowser window.
- Changed Read_cnmt option in File-Info to reflect the improvements made to it in the gui.
- Fixed restoration for keygeneration10
- Fixed verification for files transformed from keygeneration10 to a lower one.
Note: All the building processes and verification of unmodified files were unafected the
issue was in header restoration to keygeneration10 since it must be specified in hex as
0A instead of 10.
- Added RSV for 9.01 to the RSV check and restoration.
NSC_BUILDER v0.94b
v0.94b - Added nsz format to verify in Mode 1
- I forgot in v0.94, should be ok now
v0.94 - Improvements in compression support and restore mode:
- Compression\decompression is now tied to the buffer option which reduces hangups in the process
- Decompression is done in a single operation now which makes it faster and enables the progress bar to be equal to the size of the file
- Added verification for nsz compressed files. Notes:
- Level 1 verification runs normally in nca objects
- Level 1 verification works in ncz base games and dlc ncz objects
- In the testing fase a level 1 verifcation failure in a ncz object will prompt to hash the file. This is done to prevent false positives in this fase.
- Ticket verification only works when there is nca with titlerights uncompressed in the nsz if not is ommited
- Level 2 verification works normally as it does in nsp\xci files
- Level 3 verification aka hashing works normally without decompression to the disk
- If all ncz files hash properly the ticket should be ok.
- Added pressets for compression.
- The user is welcomed now with a screen where he can choose to set compression level and threads manually or to use 5 presets. A 6th preset can be setup in the program CONFIGURATION MODE.
- Added file restoration for nsp and xci files as MODE 9. This can undo NSCB operations.
- Can restore headers and detect if original file was xci or nsp
- Can undo titlerights removal, keygeneration changes, RSV changes and isgamecard changes
- Linked account patched restoration is not supported yet
- Basically if a file passes trough NSCB verification it can be restored
- For now multifiles are blocked, the reason is the content must be splitted between origins in some occasions so the program should give xci and nsp files sometimes. This will be added in the future, for now use the multicontent splitter to separate the files before restoration.
- Won't work with conversion methods that change the signature or create a nsp from files.
- Added option to NSCB config to start the Interface.bat minimized when starting the File-Info Web Interface (GUI)
- While the console is useful for debugging errors some people don't like how it starts on top. Just modify the variable in zconfig\Interface_options.cmd
- Alternatively an option was added in the NSCB.bat CONFIGURATION MODE. This option is kept separate from Auto and Global options and doesn't get modified when restoring the defaults unless is from the option itself.
NSC_BUILDER v0.93
v0.93- Compression and decompression of update nsps
- Added update compression and decompression by blawar to NSCB
- Added thread option (0-4) and timings for compression and decompression.
- Fix GAME-INFO and FW requirements reads for updates and DLCs
Note: Nothing to do with SX OS note or xci game-info, that wasn't changed since hacbuild got replaced by squirrel in v0.79 f(27 of January 2019). Any xci gameinfo after that date is perfectly fine and previous xcis can get fixed when reprocessed.
Note 2: You'll note decompression has a higher listed size in the bar, it's actually not measuring final size but writes, since the decompressed plaintext is written first and then gets encrypted to restore the ncas to original form. Even if it looks a little weird i thought it was more understandable than tqdm cycles.
Note 3: Corrected settings in nutdb_not_auto_update.zip it was set to update each 24h by mistake.
Note 4: Remember, if you don't use internet with the program you need to download the nutdb_not_auto_update.zip and unzip it's contents into zconfig.
NSC_BUILDER v0.92b
Note: I see confusion around due to my previous release note. When I said GameInfo I meant the info function from the Mode 4: File-Info, which got broken on 0.91 (see issues), not the xci GameInfo in the header. There's nothing wrong with the xci GameInfo since NSCB 0.80 which released on January. The thing Team Xecuter referred to in 2.9.2 SX OS Beta release is the game-info sections created via hacbuild, xci builder or NSCB pre-0.80 which weren't accurate. Those xci can be fixed reprocessing them with any modern NSCB release.
This info mode is still broken for update and dlc nsps. It'll be fixed in 0.92c later during the day.
v0.92b - Bugfix:
- Fixes error with compression level argument in squirrel.
v0.92 - Adds compression and decompression of nsp files to NSCB:
- Added mode 8 which implements direct compression and decompression of nsp files using the nsz standard from blawar.
https://github.com/blawar/nsz
- For now it only supports base games and dlcs. xcz implementation coming soon.
- Added reads for game info, cnmt and nacp in NSCB for nsz files
- Added reads in NSCB File_Info GUI for nsz files. Titles tab is currently unsupported for nsz.
- Added slimjet portable as option for file_info gui. Just drop slimjet portable in ztools\Chromium
- Fixed Game-Info reader for xci files
NSC_BUILDER v0.91b
Note: It seems the xci files affected for the bug that didn't allow them to run on SX OS 2.9.1 and FW9.0 were made on versions equal or lower than v0.79. This versions used hacbuild that did a not 100% accurate gameinfo, this was fixed when i made my own python code since i remade the xci building from scratch. Either way, while just processing the files fixes them I'll made something to update the game-info to the ones squirrel makes instead of the old hacbuild system.
v0.91b- Introducing NSCB File_Info:
- Fixed Typerror from lines 6873 and 6957, result of adding roma argument to new functions. This error tipically showed when using mode 2 "Multi-Mode"
- Added some gui sample pictures to releases, more here:
v0.91- Introducing NSCB File_Info:
- NSCB File_Info is a html based gui that gives a graphic interface to NSCB info.
Yes, it has game-icons, pictures and that stuff you guys like.
- Current functions are:
* Game Information. Combines data read from file with eshop data from nutdb
* Description: Description from the eshop (nutdb)
* Image Gallery: Pictures from the eshop (nutdb)
* BaseID File-Tree: Shows the lates version for dlcs and updates associated to the game (nutdb)
* Titles: Advanced Files List from NSCB-new
* NACP Reader from NSCB
* NPDM Reader from NSCB
* CNMT Reader from NSCB
* Verification from NSCB, till Level 2 so it's loaded fast. Use normal NSCB for hashing for now.
- You'll notice some information like BuildIDs is added now, the cnmt was made more readable and I added detection for multiprogram games like Grandia and Hotline Miami
- Known Issues:
* CSS probably needs some work, specially for fullscreen.
* Upper corner menu is a placeholder
* NPDM decryption is failing in some games, is on my TODO list
* Multicontent files (generally xci) may need some work to improve parsing speeds
* Not reading yet splitted files (ns*,xc*,0*) but will add that soon
- TODO:
* Output css to a file for theming
* Language translations
* Porting NSCB functions
* Let user choose nutdb files
- How to use:
* If you have Chrome or Chromium Installed you're good to go.
* If you don't want to install those browsers you can use chromium portable.
1. Get the last version for your system here: https://chromium.woolyss.com/
2. Create a folder in ztools called "Chromium"
3. Decompress the chromium files somewhere in your pc and execute "chrlauncher 2.5.6 (64-bit).exe" or whatever is called in your zip to get the needed files downloaded
4. Move all files to ztools\Chromium and rename "chrlauncher 2.5.6 (64-bit).exe" to "chrlauncher.exe". This takes priority over a chrome\chromium installation
* Once you have all setup just execute "Interface.bat"
5. Remember you need to fill keys_template.txt in ztools but i imagine you already know that
- I use python:
* Just get latest python 3.7.X and install these dependencies:
urllib3 unidecode tqdm bs4 tqdm requests image pywin32 pycryptodome pykakasi
googletrans chardet eel bottle
* Now the tricky part, I use the unreleased version of eel that isn't in pypy so go
here https://github.com/ChrisKnott/Eel Download the master, seek the folder where
your eel installation is and overwrite the files with the ones in the master.
If you have trouble finding it try doing again pip install eel it'll tell you is
up to date and installed in 'X' folder.
* Then execute "Interface.bat"
- I use linux or mac:
* Well i tested it on linux and i'll give you a build at a later time, have to admit I didn't test anything on mac though i imagine it works
* Install python and:
urllib3 unidecode tqdm bs4 tqdm requests image pycryptodome pykakasi googletrans chardet eel bottle
* Basically same as before ignoring pywin32 that NSCB uses to set the archive bit in folders
* Replace the eel files for the ones in the master like explained above.
* Run squirrel with:
squirrel.py -lib_call Interface start
* Or wait a few days for a build if you don't like python
- Enough with the gui you fixed something did you not? Yep, here's the NSCB changelog:
* Added BuildID to gameinfo
* Fixed issue where fat32 files are bigger than the allowed block in fat32 cards
* Couldn't fixed the issue where some files are a little smaller when using mode2 yetbut tested the files itself and they work fine, remember SX OS allows any block size for splitted files in ns0 and xc0 formats.
* Fixed issue in untrimmer.
* Added check when refreshing nutdb against 404 errors
* Added force update option for nutdb in MODE0: CONFIGURATION
* Added hash for masterkey9
* Added options in verification to check 9.0 RSV
* Added keygeneration10 to the patch limit in all options
* Probably something else that I don't remember.
* Fixed times in not autoupdate zip.
* Changed packed squirrel.exe system to onefolder. While less visually pleasing the gui made squirrel bigger which also increased the gui boot times. Onefolder doesn't have the files compressed which gives it faster boot times
- Final Note: If you want support for cxci and titlerights removed files don't update to FW9.0 SX OS Beta9. I'll wait and see if they fix the several bugs the beta has before I try some alternatives to make converted files run in 9.0.
- Big thanks to blawar for nutdb and nut of course, ChrisKnott for Eel and Metro4 for their great css AND javascript library.
NSC_BUILDER v0.90d
v0.90d- Bugfixes:
- Fixed issue where renamer won't rename xci and added nsx to type of files that can be renamed
- Updated nutdb file
v0.90c- Bugfixes:
- Fixed issue with renamer where it didn't delete processed items from list when using one worker
- Disable threaded renames since for some reason the changes i did in 0.90b broke it apparently. Threaded database processing is working fine, i'll activate the renamer when i have time to debug the issue.
- Updated the offline nutdb zip. Remember those files are set to update once a year, i'll add a manual updater in 0.91 but if you want to force the update of the files you can delete the json files in the db folder, also you don't need the zip, the normal NSCB is setup to redownload the json files every 24h, this can be modified editing "NUT_DB_TITLES_URL.txt" and "NUT_DB_REGIONS_URL.txt" as described in v0.90 release notes.
NSC_BUILDER v0.90c
v0.90c- Bugfixes:
- Fixed issue with renamer where it didn't delete processed items from list when using one worker
- Disable threaded renames since for some reason the changes i did in 0.90b broke it apparently. Threaded database processing is working fine, i'll activate the renamer when i have time to debug the issue.
- Updated the offline nutdb zip. Remember those files are set to update once a year, i'll add a manual updater in 0.91 but if you want to force the update of the files you can delete the json files in the db folder, also you don't need the zip, the normal NSCB is setup to redownload the json files every 24h, this can be modified editing "NUT_DB_TITLES_URL.txt" and "NUT_DB_REGIONS_URL.txt" as described in v0.90 release notes.
NSC_BUILDER v0.90b
NOTE: The url for nutdb changed since the release, if you have issues update the zips or download the NUT_DB_TITLES_URL.txt and NUT_DB_REGIONS_URL.txt, then replace them in zconfig. This is a solution while i change things in the code.
v0.90b- Bugfixes:
- Fixes issue with name detection for dlcs non listed in the nutdb json files
- Adds nsx format to allowed for the info functions. Except for the npdm reader the reason is that without a titlekey you can't read the npdm file
- Fixes routes for the download of the nut json files for exe releases. Now the json get download correctly to zconfig\DB
- Fixes thread support for renaming and DB operations
- Fixes the option 14 not working on the configuration
- Note: For offline support on NSCB you need to download the json files and add a big refresh value to NUT_DB_REGIONS_URL and NUT_DB_REGIONS_URL.txt, then you can update them manually. I'll add support to manual update from the program on next release.
- For now a nutdb.zip that has been added to the release, download it if you want to use the previously described scheme. The zip already includes the 4 nutdb json files that are being currently used, it also includes a value of 9999 hours in the refresh time, that's more than a year.
- Download that file, and extract it in NSCB route. It already includes the zconfig folder. Overwrite the contents when asked by your system.
NSC_BUILDER v0.90
v0.90- Several Bugfixes and aditions:
- Since i've been made aware of several bugs while i was on vacations I decided to release an early v0.90. Several experimental stuff has been added to squirrel but is not available on NSCB yet.
- Bugfixes:
* Fixed another error that prevented the creation of titlerights removed multi-nsps
* Expanded xci trimming functions in indidual mode, after selecting trimming now there is these options:
- Supertrimmer. Removes ending padding, padding between partitions, logo partition, firmware from update partition and content from normal partition. Also removes game updates from the xci but keeps dlc. Respects certificates. Meant for xci installation on tinfoil while keeping file verification
- Supertrimmer respecting updates. Supertrimm that keeps game updates.
- Normal trimming: Removes "FFFF" end padding
- Untrimmer: Adds back "FFFF" end padding
* Fixed dlc naming. Current approach will use the nut json files. The json files are downoaded to the DB folder for speed on demand. The url and refresh time of the json files is controlled by "NUT_DB_TITLES_URL.txt" and "NUT_DB_REGIONS_URL.txt" in zconfig.
The refresh time has 3 parameters, representing hours, minutes and seconds. The defaulted time is 24h for each json used.
Be aware that the json files are downloaded by demand. Titles json will be downloaded for dlc renames and US region for descriptions, genres, etc... The json will only refresh themselves when the refresh period is reached and the json is needed.
* Fixed error in joiner mode
* Fixed false positive in decription verification for the updates included in 5 recent xci which exefs doesn't include a main.npdm.
- Moved korean translation to zconfig\Regional. Paste those files to the main folder if you need that New NSCB functions aren't added yet but fixes made to squirrel will apply to those files.
- Added more information to game-info using information from the nut json files
- Added optional google translation for game descriptions. You can activate\deactivate this option on the program's configuration.
- Added removal of list objects and counters to squirrel to fix the too many arguments in command line" issue that affected some users
- Added more characters to the banned lists on renames
- Added multi-threaded experimental option for renamer and database functions. It increases significantly the speed of the renaming and database operations, specially for virtual disks mounted from google drive (tested till 100 workers using raidrive).
* This option can be activated on the configuration.
Note: Too many workers can mess a little the console prints and need a little work for polished prints.
The writes to text files for the database operations are done on different files and joined after each cycle so they aren't affected.
NOTE: Exe versions while they worked fine don't seem to have the advantage on speed the python versions get it will be analized if it's due to the pyinstaller options used.
- UPCOMING: Next release will take some time, features i'm working on are:
Included permanent database for nsp and xci with search functions,library management functions, autoupdates,... and restore mode.