UpdateCDN 3DS: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox-3DS-Homebrews
{{Infobox 3DS Homebrews
| title = UpdateCDN
|title=UpdateCDN
| image = https://dlhb.gamebrew.org/3dshomebrew/UpdateCDN.jpg|250px
|image=Updatecdn2.png
| type = PC Utilities
|description=Download 3DS FW contents, create installable cia.
| version=2014
|author=cearp
| lastupdated = 2014/12/14
|lastupdated=2014/12/14
| licence = Mixed
|type=PC Utilities
| author = cearp
|version=2014
| website = https://gbatemp.net/threads/release-updatecdn-download-3ds-fw-contents-create-installable-cia.375993/
|license=Mixed
| download = https://dlhb.gamebrew.org/3dshomebrew/UpdateCDN.rar
|download=https://dlhb.gamebrew.org/3dshomebrews/updatecdn.7z?k33p0fil35
| source =
|website=https://gbatemp.net/threads/release-updatecdn-download-3ds-fw-contents-create-installable-cia.375993/
}}
}}
<youtube>uXu-dHnTiJA</youtube>
{{Obsolete}}


Ok so here is something I was working on recently - 'UpdateCDN'
UpdateCDN is a Python script that downloads the titles (programs) that make up a 3DS FW update and create .cias to use with devmenu. It uses the CSV files from [http://yls8.mtheall.com/ninupdates/reports.php here].


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!)
==Installation==
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!
Download contains the following versions (requires Python 2 to use):
* UpdateCDN.zip - Orignal version with a mac version of make_cdn_cia.
* UpdateCDN-update.zip - Includes an updated make_cdn_cia for Linux x86_64 with sources (by [https://gbatemp.net/threads/release-updatecdn-download-3ds-fw-contents-create-installable-cia.375993/post-5894607 lucks]).
* make_cdn-cia.zip - Windows bin of make_cdn_cia (from [https://github.com/tanglangxia/ctrsdk/tree/master/tools/make_cdn_cia/bin here]).


'''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!
==User guide==
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.'''
===How it works===
* You download the csv file you want (2.0.0-2 - 9.4.0-21 are already included), and this tool will download everything, and create cia files that will install on your 3DS.
* The tool requires make_cdn_cia and you will need to put it in the folder with the UpdateCDN.py.
* By default the titles are downloaded into folders based on when they were last updated (this can be turned on with -nosort).
** When downloading 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.


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.
===Dir Output===
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)
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)


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.)
===Command line===
I have not used python before, so maybe the things I am doing are not the best way, but it seems fine to me :)
Here is how to use it/the help output you get when you type: <code>python UpdateCDN.py -h</code>


By default the titles are downloaded into folders based on when they were last updated. (This can be turned on with -nosort)
Note that you need to specify an input file and at least one region.
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==
inputfile  CSV file that contains title information, ideally from:
'''UpdateCDN'''
          http://yls8.mtheall.com/ninupdates/reports.php
*9.4.0-12 (folder created from CSV filename, 9.4.0-21.csv will make a folder called 9.4.0-21)
-JPN        Download JPN titles
**JPN (separate folder for each region you specify)
-EUR        Download EUR titles
**raw (where titles are downloaded to)
-USA        Download USA titles
**cia (where cia files are output to)
-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


Here is how to use it / the help output you get when you type: python UpdateCDN.py -h
'''Note:''' Be careful with using this, though it is only on emuNAND you should still make an emuNAND backup.


You need to specify an input file and at least one region.
==Credits==
Thanks to friendxsis and riku for help, person/people who managed http://yls8.mtheall.com, sbJFn5r for the python files which this tool is based off.


<syntaxhighlight>
==External links==
inputfile  CSV file that contains title information, ideally from:
* GBAtemp - https://gbatemp.net/threads/release-updatecdn-download-3ds-fw-contents-create-installable-cia.375993
          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
</syntaxhighlight>
 
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!

Latest revision as of 06:09, 1 February 2024

UpdateCDN
Updatecdn2.png
General
Authorcearp
TypePC Utilities
Version2014
LicenseMixed
Last Updated2014/12/14
Links
Download
Website

UpdateCDN is a Python script that downloads the titles (programs) that make up a 3DS FW update and create .cias to use with devmenu. It uses the CSV files from here.

Installation

Download contains the following versions (requires Python 2 to use):

  • UpdateCDN.zip - Orignal version with a mac version of make_cdn_cia.
  • UpdateCDN-update.zip - Includes an updated make_cdn_cia for Linux x86_64 with sources (by lucks).
  • make_cdn-cia.zip - Windows bin of make_cdn_cia (from here).

User guide

How it works

  • You download the csv file you want (2.0.0-2 - 9.4.0-21 are already included), and this tool will download everything, and create cia files that will install on your 3DS.
  • The tool requires make_cdn_cia and you will need to put it in the folder with the UpdateCDN.py.
  • By default the titles are downloaded into folders based on when they were last updated (this can be turned on with -nosort).
    • When downloading 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.

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)

Command line

Here is how to use it/the help output you get when you type: python UpdateCDN.py -h

Note that you need to specify an input file and at least one region.

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

Note: Be careful with using this, though it is only on emuNAND you should still make an emuNAND backup.

Credits

Thanks to friendxsis and riku for help, person/people who managed http://yls8.mtheall.com, sbJFn5r for the python files which this tool is based off.

External links

Advertising: