UpdateCDN 3DS

From GameBrew
Revision as of 04:41, 16 June 2021 by HydeWing (talk | contribs) (Created page with "{{Infobox 3DS homebrew | title = UpdateCDN | image = https://dlhb.gamebrew.org/3dshomebrew/UpdateCDN.jpg|250px | type = PC Utilities | version = | licence = Mixed | author = c...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Template:Infobox 3DS homebrew

Ok so here is something I was working on recently - 'UpdateCDN' It downloads the titles ('programs') that make up a 3DS FW update and create .cias to use with devmenu (import all - L+R+A is useful here!) It uses the CSV files on http://yls8.mtheall.com/ninupdates/reports.php - without the work this guy did to get this data in the first place this would not exist! �From my 4.5 JPN emunand, I manually updated to 6.3, and then manually downgraded (via an ugly trick/hack) to 5.1. It all worked fine! I tried to go from 4.5 JPN to 5.0 KOR, but my system was still Japanese. I had some duplicate (Korean) titles, like eshop, safety warning, settings, etc, which didn't load when I opened them. So to change regions (surely it must be possible) we will have to do something more involved. �So, you download the csv file you want, for example, 5.0.0-11 Korean, and this tool will download everything, and create 'perfect' (as perfect as we will get them I think) cia files that will install on your 3DS. You don't need to download any files for 2.0.0-2 - 9.4.0-21 because I downloaded virtually all of them and included them in a zip. (I left out one Japanese fw that didn't have a name, it was after 8.1 and before 9.0, I don't think anyone will miss it) �The tool is a python file, it requires make_cdn_cia. I have included a mac version that works for me. I have not included a windows exe version, but I am sure it is not hard to find/someone can compile it. -- name the exe make_cdn_cia.exe and put it in the folder with the UpdateCDN.py. (It should work fine, but I have not tested it on windows.) I have not used python before, so maybe the things I am doing are not the best way, but it seems fine to me :) �By default the titles are downloaded into folders based on when they were last updated. (This can be turned on with -nosort) When I download FW 9.4.0-21 JPN, title '0004001B00010002' has not been updated since 2.0.0-2 (maybe before, the site 'began' with 2.0.0-2). So this title will be in a folder called 2.0.0-2. If you are above FW 2.0.0-2, you do not need to install that cia. If you are on 8.0.0-18, and want to go to 9.4.0-21, simply ignore all the cias in the folders equal and below 8.0.0-18. (I could have let the user input a 'source' FW and 'target' FW to only download titles are are required but, it would have been more work. - maybe later, but it's not neccesary) �Dir Output UpdateCDN -9.4.0-12 (folder created from CSV filename, 9.4.0-21.csv will make a folder called 9.4.0-21) --JPN (separate folder for each region you specify) ---raw (where titles are downloaded to) ---cia (where cia files are output to) �Here is how to use it / the help output you get when you type: python UpdateCDN.py -h You need to specify an input file and at least one region.

Code:

inputfile�CSV file that contains title information, ideally from:
�����http://yls8.mtheall.com/ninupdates/reports.php
-JPN����Download JPN titles
-EUR����Download EUR titles
-USA����Download USA titles
-KOR����Download KOR titles
-CHN����Download CHN titles
-TWN����Download TWN titles
-ALL����Download all regions
-nosort��Turn OFF sorting of the titles into folders based on their debut
�����fw. For example, if title X was added in FW 4.0.0 and not
�����updated since, by default it is placed in a folder called 4.0.0.
�����So, if you are on 4.0.0 or above, you will not need to install
�����it.
-nobuild��Turn OFF generation of CIA files, titles will be downloaded
�����only.
-h, --help�show this help message and exit

What would be great is to have an edited devmenu/homebrew title manager that lets us view system titles/downgrade titles etc. Then we would be able to downgrade a lot neater and easier without leaving unused titles still installed. (Maybe region change would be possible then too) �Of course, be careful with using this, it's only on emunand (since we mere mortals don't have devmenu on sysnand), but make a emunand backup. :)Thanks for friendxsis for help and letting me know that what i wanted to do was possible, riku for help, http://yls8.mtheall.com - the guy who does this, sbJFn5r for the python files I based some of this off! for windows people try this: https://github.com/ctrdev/ctrsdk/blob/master/tools/make_cdn_cia/bin/make_cdn_cia.exe?raw=true put it in the folder with UpdateCDN.py, it should/might work :)

Advertising: