1. V10lator

    OP V10lator GBAtemp Regular
    Member

    Joined:
    Apr 21, 2019
    Messages:
    212
    Country:
    Germany
    A new tool has been born: NUSspli, the NUS simple package loader / installer.

    [​IMG]

    upload_2020-6-17_17-9-52.png

    Important note

    If you have any issues try to load this from https://github.com/GaryOderNichts/homebrew_launcher/releases/tag/v2.1_fix
    Thanks to @alexander1970, @AmandaRose and @yoyoyo69 for figuring this out.

    There's some version on the web calling itself Freeshop. I'm not associated with Freeshop or that version in any way and while it seems all they did was exchanging tga files in the zip file I wouldn't recommend using it,

    Credits

    Note that many of these guys did not work directly on NUSspli but I'm just using their work which they wrote before NUSspli was even an idea in my head. Do not contact any of these guys for support!
    • cJSON - The config file and the keys file is in JSON format.
    • @E1ite007 for the artwork.
    • libgui - For allowing easy UI design.
    • @Pokes303 / WUPDownloader - For being the codebase of NUSspli.
    • @QuarkTheAwesome / RetroArch - For Quarkys awesome ASAN.
    • Simone Z. - Just for being that awesome human being she is.
    • WUP Installer (mostly Mod Y but also all other versions) - For having figured out how to install content and possible hickups while doing so.

    BETA testers


    Usage

    I hope the tool is pretty self-explainatory but will slowly add more text to this section.

    Bugs

    See https://github.com/V10lator/NUSspli/issues

    FAQ

    Q: Why is the eShop downloading faster than this?
    A: Multitasking. NUSspli already does a bit of multitasking to speed up downloads but still not enough. It will soon download faster through.

    Q: ETA?
    A: WEN.

    Q: Who's Simone Z.?
    A: Do you need to know everything? I don't think so... :P

    Q: Are you breaking Nintendos copyright by using that font?
    A: No. I'm just using normal API calls to get the font at runtime from the Wii Us operating system. NUSspli does not include a copy of that font!

    Q: What's that background music?
    A: It's the Dreamy Ambient Background Music Loop by Alexander Blu.

    Q: Are you breaking @dimoks copyright by using the ASAN?
    A: No. I'm just using codes written by @QuarkTheAwesome

    Q: So you are breaking copyright of @QuarkTheAwesome !
    A: That's no question. And no, I'm not. Quarky gave permission to relicense the codes.

    Q: Why is this around 8 times faster than WUPDownloader?
    A: That's a cosmetic bug in WUPDownloader: It claims to show the speed in Bit/s while it's Byte/s. Currently WUPDownloader 1.2 and NUSspli 1.0 should download with around the same speed (I didn't test this, so take it with a grain of salt) but that will change in the future (see the question "Why is the eShop downloading faster than this?"). Also NUSsplis download speed is more stable thanks to using an I/O queue instead of downloading and writing to the storage medium from the same thread.

    Q: Does this contain a link to That Title Key Site?
    A: No. In fact it doesn't use that title key site at all since version 1.9.

    Q: How is this tool generating keys on its own?
    A: It simply implements the informations given at https://gbatemp.net/threads/3ds-wii-u-titlekey-generation-algorithm-leaked.566318/

    Q: Does this contain the Wii U common key, which might be a illegal number?
    A: No. That key is stored on your console, so it grabs it at runtime.

    Changelog

    1.0:
    • Initial release.
    1.1:
    • Show more installation errors on screen.
    • Use I/O queue for title.tik and title.cert creation.
    • Create title.cert after title.tik.
    • Remove unused variables.
    • Fix libCURL header callback.
    • Fix bug #4.
    1.2:
    • Try to fix installer.
    1.3:
    • Try to fix installer².
    • Ask for new URL if the server returns no JSON data.
    • Fix slight mistake on the home menu.
    1.4:
    • Revert "Try to fix installer²".
    • Add better error messages to the installation.
    • Fix file skipping.
    1.5:
    • Change colors and logos. Credits to @E1ite007
    • Better error message for 0xfffbfc17.
    • Revert "Try to fix installer".
    1.6:
    • Fix typo.
    • Add keygen.
    • Clear screen on exit.
    • Revert ""First work towards channel."
    1.7:
    • Add goodbye screen.
    • Fix bug #6 and #5.
    • Change some colors.
    • Fix getting filesize of large files.
    1.8:
    • Add Channel version!
    • Add option to cancel downloads (press home while downloading). This fixes bug #9.
    1.9:
    • Get rid of that title key site dependency.
    • Read TID from folder dir.
    • Don't overwrite title.tik if it already exists.
    • Change PATH character filtering from whitelist to blacklist.
    • Fix USB on Mocha.
    • Add better handling of storage medium errors.
    1.10:
    • Fix .h3 downloads. This fixes downloading Zelda BotW DLC.
    1.11:
    • Fix custom folder names.
    • Update cJSON to newest nightly.
    • Cleanup ARM hack.
    1.12:
    • Simplify ARM hack even more.
    • Add experimental self updater (as requested by @Sonic Angel Knight).
    • Update to WUT 1.0.0-beta10.
    • Fix title parser.

    Planned features

    Note that this list is not setted in stone:
    • Even faster downloads.
    • Download to NAND.
    • Install from NAND.
    • A full fledged GX2 GUI.
    • Supporting more controllers.
    • Brazillian Tickets.

    Disclaimer

    This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

    Downloads


    Source code

    https://github.com/V10lator/NUSspli
     
    Last edited by V10lator, Jul 12, 2020 at 2:22 PM
  2. AmandaRose

    AmandaRose Do what I do. Hold tight and pretend it’s a plan
    Member

    Joined:
    Aug 19, 2015
    Messages:
    6,770
    Country:
    United Kingdom
    So is this is like USB download helper exept everything is done on the WiiIU??
     
    alexander1970 likes this.
  3. stranno

    stranno Advanced Member
    Newcomer

    Joined:
    Feb 17, 2013
    Messages:
    91
    Country:
    So, it is like pkgj (PS3/PSV) for WiiU, right?
     
  4. V10lator

    OP V10lator GBAtemp Regular
    Member

    Joined:
    Apr 21, 2019
    Messages:
    212
    Country:
    Germany
    This. Oh and it will install the content after downloading (but there's an option to download only, too, as well as another option to install content already on the SD or USB drive (like WUP Installer)).

    //EDIT:
    I don't know pkgj, sry. But most likely it is what you think it is. :)
     
  5. AmandaRose

    AmandaRose Do what I do. Hold tight and pretend it’s a plan
    Member

    Joined:
    Aug 19, 2015
    Messages:
    6,770
    Country:
    United Kingdom
    Ah so this is pretty awesome then.
     
    alexander1970, depaul and V10lator like this.
  6. depaul

    depaul GBAtemp Advanced Fan
    Member

    Joined:
    May 21, 2014
    Messages:
    842
    Country:
    France
    That's a great release does the tool generate a fake ticket on its own? Or from that Wii U title key site..
     
    alexander1970 likes this.
  7. V10lator

    OP V10lator GBAtemp Regular
    Member

    Joined:
    Apr 21, 2019
    Messages:
    212
    Country:
    Germany
    It gets the json file containing the keys from that title key site and creates its own tickets with it. They contain a human (hex editor) and machinereadable header but I'm not at home right now, so more on this later.

    //EDIT @depaul This is directly from the codes. Note that the desription is not 100% correct, for example the strings are IIRC always 64 bit, ending with \0 and padded. Also the first string is the name of the tool (in case other tools want to copy that header format):

    Code:
    /*
     * The header is meaned to be human (hex editor) and machine readable. The format is:
     *  - Magic 32 bit value (defined by Nintendo)
     *  - 0x00010203040506070809 As a magic value / metadata detection
     *  - 2 bit spacing
     *  - 64 bit "NUSspli\0" string
     *  - 64 bit padding
     *  - 64 bit version string ending with 0x00
     *  - 64 bit padding
     *  - Max 64 bit file type string ending with 0x00
     *  - Padding till 0x000000EE / area reserved for future use
     *  - uint8_t storing the meta version number (currently 1, so 00000001 or 0x01)
     *  - 128 + 32 random bits marking the end of the header usable area
     *  - 256 + 128 + 64 + 32 bit padding (defined by Nintendo / end of header)
     */
    void writeHeader(FILE *fp, FileType type)
    {
        writeCustomBytes(fp, "0x00010004000102030405060708090000"); // Magic 32 bit value + our magic value + padding
        writeCustomBytes(fp, "0x4E555373706C69"); // "NUSspli"
        writeVoidBytes(fp, 0x9);
        int vl = strlen(NUSSPLI_VERSION);
        fwrite(NUSSPLI_VERSION, vl, 1, fp);
     
        writeVoidBytes(fp, 0x10 - vl);
        char *cb;
        int v;
        switch(type)
        {
            case FILE_TYPE_TIK:
                cb = "0x5469636B6574"; // Ticket
                v = 0xB9;
                break;
            case FILE_TYPE_CERT:
                cb = "0x4365727469666963617465"; // "Certificate"
                v = 0xB4;
                break;
            default:
                cb = "00";
                v = 0xBE;
        }
     
        writeCustomBytes(fp, cb);
        writeVoidBytes(fp, v);
        writeCustomBytes(fp, "0x01"); // TODO: Don't hardcode in here
        writeRandomBytes(fp, 0x14);
        writeVoidBytes(fp, 0x3C);
    }
    This ticket was created by a older version, so not sure if has all the things defined above but it's prpbably close enough:
    upload_2020-5-26_21-16-55.png

    //EDIT²: You're also able to enter keys manually.
     
    Last edited by V10lator, May 26, 2020
    alexander1970 and depaul like this.
  8. depaul

    depaul GBAtemp Advanced Fan
    Member

    Joined:
    May 21, 2014
    Messages:
    842
    Country:
    France
    Good work ;) I've put both title ID and title key and it worked for me. Thanks God Wii U scene is advancing again
     
    Exnor and alexander1970 like this.
  9. Souperman9

    Souperman9 GBAtemp Regular
    Member

    Joined:
    Dec 1, 2017
    Messages:
    100
    Country:
    Australia
    So just to be clear, you could download a game onto an SD with this, and replace the fake ticket with one from that ticket site, then install it with WUP Installer?
     
  10. OrGoN3

    OrGoN3 GBAtemp Psycho!
    Member

    Joined:
    Apr 23, 2007
    Messages:
    3,030
    Country:
    United States
    Does this stream install or download and then install? And if the latter, any plans on making it a stream install?
     
  11. AmandaRose

    AmandaRose Do what I do. Hold tight and pretend it’s a plan
    Member

    Joined:
    Aug 19, 2015
    Messages:
    6,770
    Country:
    United Kingdom
    So had a chance finally to try this out and downloaded a few games. None of them would install using the apps built in installer. I had to install them with wup installer gx2.

    So can only assume there is some kinda issue going on with the apps built in installer sadly.
     
    alexander1970 likes this.
  12. alexander1970

    alexander1970 I'm totally a bot!
    Member

    Joined:
    Nov 8, 2018
    Messages:
    9,537
    Country:
    Austria
    Hello.:)

    I think the Wii U USBHelper is much better......:evil::P:ha:





    :rofl2::D

    THANK YOU for this awesome Tool !!!! :yay::bow:
    And of course your Work,I appreciate your Time for developing and testing,to "serve" us a near perfect and easy to use Homebrew Tool for the Wii U.

    Where are now these "loud" Voices - "Wii U and their Homebrew Scene is dead....".:teach:

    Thank you very much,my Friend.:D
     
  13. V10lator

    OP V10lator GBAtemp Regular
    Member

    Joined:
    Apr 21, 2019
    Messages:
    212
    Country:
    Germany
    Sad to hear this. Could you tell me some of the title IDs you're trying to install, please?

    //EDIT:
    Yes.
    No need for WUP Installer. Well, except for that bug @AmandaRose experiences.

    The latter. Currenty streamed installations aren't planned, sorry.

    //EDIT²: @AmandaRose Also what's the error message you're getting?
     
    Last edited by V10lator, May 27, 2020
    OrGoN3, alexander1970 and Souperman9 like this.
  14. AmandaRose

    AmandaRose Do what I do. Hold tight and pretend it’s a plan
    Member

    Joined:
    Aug 19, 2015
    Messages:
    6,770
    Country:
    United Kingdom
    The wierd thing is I dont get a error message. I click install and then the title I want to install then the app just goes back to the main screen with nothing installed. Does this with everything I have downloaded so far. Here are just a few of the title IDs I have tried.

    Mario 64 00050000-10199500
    Super Mario Bros 0005000010106e00
    Excitebike 0005000010108200
     
    Last edited by AmandaRose, May 27, 2020
    depaul likes this.
  15. V10lator

    OP V10lator GBAtemp Regular
    Member

    Joined:
    Apr 21, 2019
    Messages:
    212
    Country:
    Germany
    That's really weird and I can't recreate it with the title IDs you provided. Are you maybe downloading only by accident (there's an option for that: Pressing Y after entering the title ID) ? Also what happens when you try to install an already downloaded game (second option on the main menu) ?

    If you're not downloading only by accident and if downloading an already installeg game also doesn't show any error: Could you try running https://github.com/dimok789/loadiine_gx2/blob/master/udp_debug_reader/UdpDebugReader.exe on your PC, press F to create a log file, then run the debug build of NUSspli, recreate the error while this setup is running (really no need to configure anything, both tools just need to be in the same network) and handle the logfile over to me after it skipped the installation? Hopefully that will reveal what's going on here.
     
    AmandaRose and depaul like this.
  16. DragonBoy

    DragonBoy Advanced Member
    Newcomer

    Joined:
    Sep 30, 2003
    Messages:
    74
    Country:
    Greece
    Thank you so much for sharing this awesome tool! Will try it at the weekend when I'm back home!
     
  17. AmandaRose

    AmandaRose Do what I do. Hold tight and pretend it’s a plan
    Member

    Joined:
    Aug 19, 2015
    Messages:
    6,770
    Country:
    United Kingdom
    No its doing it if I select download and install and its doing it if I only select download then select the install option afterwards. I will run the debug program later as I am busy sunbathing in my garden right now lol.
     
    alexander1970 and V10lator like this.
  18. wurstpistole

    wurstpistole GBAtemp MVP
    Member

    Joined:
    Nov 19, 2015
    Messages:
    4,363
    Country:
    United Kingdom
    That is one hell of a way to find a name that exactly matches the abbreviation you want

    [​IMG]
     
  19. kfrfansub

    kfrfansub GBAtemp Regular
    Member

    Joined:
    Jun 13, 2016
    Messages:
    103
    Country:
    Belgium
    Thank you for this amazing homebrew !!!!!

    May I now what is the download speed (min/max/average) for the wii u games ?
     
  20. V10lator

    OP V10lator GBAtemp Regular
    Member

    Joined:
    Apr 21, 2019
    Messages:
    212
    Country:
    Germany
    This hardly depends on your connection. With a LAN adapter the values are roughly:

    min: 3.5 Mbit/s
    max: 4.9 Mbit/s
    avg: 4 Mbit/s

    Note that these values may change in the future as more multitasking work is planned.
     
    Last edited by V10lator, May 27, 2020
    kfrfansub and alexander1970 like this.
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - directly, Nintendo, NUSspli