USB Loader GX

By cyrex, Apr 19, 2009 5,933,652 26,914 39

  1. leseratte

    leseratte Wiimmfi Team
    Member

    Joined:
    Jun 2, 2012
    Messages:
    379
    Country:
    Germany
    @blackb0x @Cyan
    Just wanted to ask if there are plans to merge the changes / fixed from the USB Loader GX Enhanced fork back into the official USB Loader GX release, or is that fork intended as a long-term fork, seeing that there haven't been many changes since around 2017?

    Forking the USB-Loader GX to add more features is nice, but not many people will find a random fork of an USB-Loader unless specifically told; and it'd probably also be easier to support if all the improvements were merged into the main repository on sourceforge.
     
  2. Cyan

    Cyan GBATemp's lurking knight
    Former Staff

    Joined:
    Oct 27, 2002
    Messages:
    23,190
    Country:
    France
    it would be nice, but I don't know if or when I'll get the time to merge or work on it again.
    for now it's stalled, I made a copy on git to let others easily branch from it as they wish.
    I didn't even follow what he did and what were the new enhanced features (if he added more since last year).

    I can add a link to his github repository on the first post, like all other modded versions I know.

    edit: ah, well, it's already there.
     
    Last edited by Cyan, Aug 10, 2020
    geoGolem, alexander1970 and jeannotte like this.
  3. blackb0x

    blackb0x GBAtemp Regular
    Member

    Joined:
    Apr 22, 2019
    Messages:
    122
    Country:
    United Kingdom
    @vbarros22 I replied to your private message, but I'll repeat it here.

    In the settings menu I kept the setting named "Wiinnertag" so that it doesn't confuse people who follow the guides, although I might change this shortly. But if you're doing a fresh install (e.g. you delete your config file) then when you enable Wiinnertag it'll correctly link to RiiTag.

    For me IOS 58 boots faster than cIOS 249, but if it's the opposite for you then you can go to the settings menu and change it to 249. But you'll also need to edit a few lines in the meta.xml file so that it actually uses it.

    @leseratte I plan to to support my fork through GitHub no matter what, since I'm not a fan of SourceForge.

    I'm currently testing some changes and then I'll release another update in a few days.
     
    Last edited by blackb0x, Aug 11, 2020
  4. igano

    igano Newbie
    Newcomer

    Joined:
    Aug 20, 2020
    Messages:
    2
    Country:
    Greece
    Does anyone know how I can do this thing? I have USB Loader and Nintendont installed on a Wii. When I just use Nintendont and want to exit a Gamecube game I press R+Z+B+Down and it brings me back to Nintendont's game list. But when I use USB Loader in conjunction with Nintendont the same key combo just restarts the console. How can I make USB Loader return me to its game list instead of restarting? I asked this on wiihacks/r but didn't get an answer.
     
  5. geoGolem

    geoGolem GBAtemp Regular
    Member

    Joined:
    Feb 18, 2012
    Messages:
    134
    Country:
    Canada
    I'm not sure but I am pretty sure you have to change the option in usbloaderGX, you can either change it on a global basis (for every game) or on a specific game basis. I can't remember what the option is specifically, but it is something like "return to" it is probably set to home menu, you'll want to set it to usbloader gx.

    EDIT: I think you need a usbloaderGX forwarder wad installed to your home menu to make this work, since all it really does is return to the home menu then immediately and automatically launch that channel...

    If you install a usbloaderGX forwarder WAD make sure you install the right one for your wii or vWII.
     
    Last edited by geoGolem, Aug 21, 2020
    igano, jeannotte and alexander1970 like this.
  6. igano

    igano Newbie
    Newcomer

    Joined:
    Aug 20, 2020
    Messages:
    2
    Country:
    Greece
    Thank you very much! I installed the forwarder and now it works beautifully.
     
    jeannotte, geoGolem and alexander1970 like this.
  7. Codemastershock

    Codemastershock GBAtemp Regular
    Member

    Joined:
    Oct 14, 2013
    Messages:
    155
    Country:
    Brazil
    Just a small update on the portuguese-br translation.

    - Translated the lines related to recent features of Nintendont such as network support.
    - Minor adjustments.
     

    Attached Files:

    blackb0x, alexander1970 and jeannotte like this.
  8. geoGolem

    geoGolem GBAtemp Regular
    Member

    Joined:
    Feb 18, 2012
    Messages:
    134
    Country:
    Canada
    Last edited by geoGolem, Aug 26, 2020
  9. ukigh4ie

    ukigh4ie Newbie
    Newcomer

    Joined:
    Aug 27, 2020
    Messages:
    3
    Country:
    Germany
    Hi @Cyan @blackb0x

    I am trying to compile USB Loader GX in the container devkitpro/devkitppc:latest. The environment variable PORTLIBS contains two paths, so I adjusted the rule "export INCLUDE" in the Makefile accordingly. What I am still missing and is not part of the PORTLIBS are the libraries zlib and ntfs (can't find them in their GitHub repo either). What is the correct procedure? Where can I get them and how can I use them?

    Code:
    In file included from /source/source/ZipFile.cpp:39:
    /source/source/ZipFile.h:31:10: fatal error: zip/unzip.h: No such file or directory
       31 | #include <zip/unzip.h>
          |          ^~~~~~~~~~~~~
    compilation terminated.
    
     
    Last edited by ukigh4ie, Aug 27, 2020
  10. blackb0x

    blackb0x GBAtemp Regular
    Member

    Joined:
    Apr 22, 2019
    Messages:
    122
    Country:
    United Kingdom
    The latest version of devkitPro can't compile the loader without issues. You'll encounter lots of errors and warnings.

    The portlibs archive on SourceForge contains the required libs & headers.
     
    jeannotte and alexander1970 like this.
  11. ukigh4ie

    ukigh4ie Newbie
    Newcomer

    Joined:
    Aug 27, 2020
    Messages:
    3
    Country:
    Germany
    @blackb0x
    Thank you. Which version is needed and do you know if there is a docker container?

    I just tried your enhanced version. It would be nice if one could create issues for it in your GitHub repo. This feature is probably disabled.

    If the download from GeckoCodes.org doesn't provide a file, the one on the SD card will be deleted. This is not good.
     
  12. blackb0x

    blackb0x GBAtemp Regular
    Member

    Joined:
    Apr 22, 2019
    Messages:
    122
    Country:
    United Kingdom
    You need devkitPPC r29, which you can find online. But there isn't a docker container for it.

    I'm currently in the process of updating the code to work with newer versions of devkitPro.

    I might enable the feature after my next release. I've currently got a few commits staged which fix some issues, so I wouldn't want reports for the issues that I've already fixed.

    That might be related to a bug that I've already fixed where the cheats for a game do exist on geckocodes.org, but because it can't validate the text file due to a UTF-8 BOM the file is removed.
     
  13. ukigh4ie

    ukigh4ie Newbie
    Newcomer

    Joined:
    Aug 27, 2020
    Messages:
    3
    Country:
    Germany
    I would like to contribute if you don't mind.
     
  14. JacobM

    JacobM GBAtemp Regular
    Member

    Joined:
    Jun 16, 2017
    Messages:
    211
    Country:
    United States
    That would be awesome if you manage to get brainslug working in one of the current generation loaders. Chadderz did once suggest that brainslug should be able to be extended for channels, but USB loader compatibility is currently unknown.

    A different implementation by @wilm0x42 for SSBB based on geckocodes initially seemed to be incompatible with USB Loaders due to cIOS limitations, but he has suggested recently that he is nearing the end of development for a version compatible with USB Loader GX. The developer has also suggested that it should be fairly easy to modify to increase game compatibility on an individual basis.

    A new generation loader called BBLoader by @Aurelio is on the horizon based on a new patching technique that doesn't depend on the d2x cIOS or any traditional cIOS. It has been suggested that it will have riivolution support among other features and likely is the best bet for GCA adapter compatibility.
     
    Last edited by JacobM, Aug 29, 2020
    geoGolem likes this.
  15. geoGolem

    geoGolem GBAtemp Regular
    Member

    Joined:
    Feb 18, 2012
    Messages:
    134
    Country:
    Canada
    I really am doubtful I will make any progress on this, but I find it interesting to look through the code etc. etc. Without knowing too much or looking too much in the code, if usb presents a challenge, i wonder if loading from sd card is any easier... I mean, if brainslug can load from disc drive and also can read/write to the sd card (as it does for the brainslug modules and logging etc.)--> i would think it might be possible to make it read an iso from the sd card instead of the disc (some kind of redirection).. alas I really have no idea what i am talking about, im just thinking out load.. if we could make it able to load an iso from sd card, we could make it sort of work with usbloaderGX by making USBLOADERGX (when the game option to load with brainslug is specified otherwise just load normally) first copy iso to preagreed place on SD card, before launching sdModifiedBrainSlugChannel...

    i know its icky.. and like i said, i am just thinking out loud..

    i am hopeful the other folks do make progress on their projects and eventually have a good release...

    EDIT: I'm thinking somehow basically usbloaderGX could interact with Brainslug in a similar fashion to how it interacts with Nintendont... and in usbloaderGX there is just an option to choose to load normally (default) or load with Brainslug etc.
     
    Last edited by geoGolem, Aug 30, 2020
  16. leseratte

    leseratte Wiimmfi Team
    Member

    Joined:
    Jun 2, 2012
    Messages:
    379
    Country:
    Germany
    I mean, modding the Brainslug channel to load the game from somewhere other than the disc will probably be quite some work, right now Brainslug doesn't even need a cIOS.

    However, all brainslug does is load the modules from the SD into memory, then load the game DOL into memory, and then link all the modules into the game. There's nothing that would stop USB-Loaders from doing the same.
     
  17. geoGolem

    geoGolem GBAtemp Regular
    Member

    Joined:
    Feb 18, 2012
    Messages:
    134
    Country:
    Canada
    ya, its probably better to somehow integrate brainslug into usbloader GX ... perhaps, it might be easier to just integrate one type of brainslug module --> is that what privateserver did? though i think the patch for that is easier than something like the GC adapter.

    EDIT: Even if I could somehow get brainslug to spit out pre-patched ISO that I could then launch in usbloaderGX, I would be happy for the few games i want to use the GCA adapter with.. but full integration would be much better.
     
    Last edited by geoGolem, Sep 1, 2020
  18. geoGolem

    geoGolem GBAtemp Regular
    Member

    Joined:
    Feb 18, 2012
    Messages:
    134
    Country:
    Canada
    @blackb0x --> im having a little difficulty building usbloadergx.

    maybe it would be a good idea to include a zip file of the necessary libraries in the github repo (and have a build.sh script that sets the DEVKITPPC environment variable and runs the makefile or something.

    so that one can simply clone the repo potentially extract some libraries and build

    EDIT: I managed to get it built.

    EDIT: I have done some work to integrate brainslug into usbloaderGX. You can see the branch here: https://github.com/geogolem/usbloadergx/commits/integrateBrainslug

    Please understand this is a work in progress - i just started looking into it a few days ago.

    If there are no brainslug modules on the sd card - games will load like normal - brainslug executes but basically does nothing since it finds no modules.

    so far I tested by adding console-gx module to the sd card and trying to load Mario kart.

    I do get the console on the bottom portion of the screen and the white wii rmote space warning on the top of the screen. But if I try to proceed further, the top screen goes black and the bottom screen shows
    ```
    Callback...
    cancel all threads...
    Done...
    ```

    I have a feeling something is wrong with how the entry point is being passed or used or something. If anybody can help it is much appreciated. Special thanks to @leseratte for chatting with me on discord and providing some invaluable information.

    If anybody thinks they can help or improve this in any way - please let me know.
     
    Last edited by geoGolem, Sep 2, 2020
  19. geoGolem

    geoGolem GBAtemp Regular
    Member

    Joined:
    Feb 18, 2012
    Messages:
    134
    Country:
    Canada
    @blackb0x : I implemented a small feature that caches the EmuChannelList to a file, so that it doesn't constantly need to be reloaded. I have tested it and it seems to work without issue, drastically improving speed of loading the GameList when nothing has changed. Of course if one installs/uninstalls emunand wads, or changes the emunand path etc. they will all be reloaded. likewise, if the cache file does not exist they will be reloaded. So if you are managing an emuNand outside of usbloaderGX you will want to delete the cache file in order to trigger a refresh..

    Please let me know what you think of the code. I am new to the wii development stuff - so any feedback you have would be greatly appreciated. I built on top of your enhanced build - if possible I would love to work with you and clean it up and actually merge it into your enhanced build. I think perhaps all that is left to do is implement an option that enables or disables the feature.

    You can find the branch here: https://github.com/geogolem/usbloadergx/commits/gamelistCache
     
    Last edited by geoGolem, Sep 2, 2020
    blackb0x and ber71 like this.
  20. blackb0x

    blackb0x GBAtemp Regular
    Member

    Joined:
    Apr 22, 2019
    Messages:
    122
    Country:
    United Kingdom
    @geoGolem Hey,

    I would say send me a pull request, but I can see two issues that'd cause me to reject it. The first issue is with the config edits, which shouldn't be required with a normal installation of devkitPro and the second is with the commit that adds the old devKitPPC binaries into the project. Just search for "Collection of old devkitPro versions" and read the posts by WinterMute and you'll quickly understand why I'd rather avoid that headache.

    I only have a handful of games on my emunand, so I can't easily benchmark your changes to be sure that they're working. You say that it works though, so I guess I could I could cherry pick the commit and edit it slightly? Giving you credit for it of course.

    I haven't been doing a whole lot lately because I'm currently recovering from a back injury and the pain meds make me both dizzy and sleepy. By the weekend I'll try to get this both tested and merged though.
     
    Last edited by blackb0x, Sep 3, 2020
    alexander1970 likes this.
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - Loader,