Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

GeckoLoader Wii

From GameBrew
Revision as of 02:44, 5 February 2023 by HydeWing (talk | contribs) (Created page with "{{#seo: |title=Wii Homebrew Apps (Utilities) - GameBrew |title_mode=append |image=geckoloadermodwii.png |image_alt=GeckoLoader Mod }} {{Infobox Wii Homebrews |title=GeckoLoader Mod |image=geckoloadermodwii.png |description=An easy way to have near unlimited code space, allowing thousands of lines of gecko code for every Wii/GCN game. |author=JoshuaMKW |lastupdated=2020/12/06 |type=Utilities |version=7.1.0 |license=GPL-3.0 |download=https://dlhb.gamebrew.org/wiihomebrews/...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
GeckoLoader Mod
File:Geckoloadermodwii.png
General
AuthorJoshuaMKW
TypeUtilities
Version7.1.0
LicenseGPL-3.0
Last Updated2020/12/06
Links
Download
Website
Source

GeckoLoader is a powerful, command-line tool designed for Wii and GCN gamers. It provides an easy and convenient way to access an almost unlimited amount of code space, enabling users to run thousands of lines of Gecko code for every game on these platforms.

Whether you're looking to enhance your gaming experience or unlock hidden features in your favorite games, GeckoLoader is the perfect tool for the job. With its intuitive and straightforward interface, you can easily and quickly apply custom codes to your games, bringing new levels of excitement and challenge to every play session.

So why wait? Start using GeckoLoader today and start unlocking the full potential of your Wii and GCN games.

Installation

Run the installer and choose to install GeckoLoader.

Screenshots

geckoloadermodwii-01.png geckoloadermodwii-02.png

Usage

Codes

GeckoLoader supports 2 methods:

  1. GCT files (Raw codelist)
  2. Textual Codelist (Ocarina Manager or Dolphin Format txt files)

GeckoLoader also supports the ability to use a folder filled with GCT files and/or Textual codelists as input for multi codelist patching.

DOL

GeckoLoader needs a valid dol file to patch with your codes. Simply supply the path to your dol file in either the GUI or the CLI.

GeckoLoader also supports patching the same dol file multiple times until the file becomes filled with section data.

Compilation

Then you can do either:

  1. In command prompt, input GeckoLoader -h for help on syntax and options
  2. Run the command GeckoLoader <dol> <codelist> <options> filling in the variables as needed

Or:

  1. Fill out the relevant data in the GUI
  2. Click the "RUN" button

Your new patched dol file will be in the folder ./geckoloader-build by default.

Common Issues

The allocation was invalid
This means the manual allocation amount you've passed into GeckoLoader is not a hexidecimal number.

The codehandler hook address was beyond bounds
This means the manual hook address you've passed into GeckoLoader is beyond valid range. Values from 0x80000000 to 0x817FFFFF (inclusive) are allowed.

The codehandler hook address was invalid
This means the manual hook address you've passed into GeckoLoader is not a hexidecimal number.

There are no unused sections left for GeckoLoader to use
This means you've used up all of the remaining text/data sections, and GeckoLoader can't make space for itself. Try using a fresh DOL if this has been patched many times. Otherwise you're out of luck.

Init address specified for GeckoLoader (x) clobbers existing dol sections
This means the address you specified manually for GeckoLoader to initialize at is about to mutilate your game and thus, try a safer address instead.

Failed to find a hook address
This means it couldn't find a known location to hook to. This can be resolved by trying different hooktypes, or manually specifying a hook address.

Allocated codespace was smaller than the given codelist
This means you manually specified an allocation size that happens to be smaller than the codelist's minimum space requirements. Give it some more room to work with or let it automatically decide the allocation amount.

Changelog

v7.1

  • 🚧 Fixed error caused by overflowing the lower 16 bits of the target address (Happened with NTSC-U MKW dol)
  • ⛔ Removed deprecated option LEGACY which continuously broke various loaders and was only a limitation
  • ✨ Fun code refactoring that most people will never see :)

v7.0

  • Fixed optimization error when parsing the C0 codetype
  • Brand new GUI with Dark Theme and Session open/save functionality to help get you back on track
  • Various bugfixes

v6.0.1

  • Hotfix for hook data corruption
  • Upgraded the installer

v6.0

  • The codehandler can now be hooked to any address containing a valid instruction that is not a conditional non spr branch
  • There are now 3 different hooks to choose from ["VI", "GX", "PAD"] which can be accessed via option --hooktype
  • Option --codehook is renamed to --hookaddress
  • Parsing for Gecko Code txt files has been improved

v5.1.1

  • Refactored more code, and extended the argparse.ArgumentParser class for better error output
  • Upgraded splash and text color functions
  • Added option --check-update which is a simple and fast way to check for the existence of a new release

v5.0

  • Added an installer to add GeckoLoader to the Windows PATH variable and store the files in the user's appdata
  • Refactored and overhauled code
  • Add 2 new options (--protect, [-d, --dest])

v4.5.1

  • Removed debug print

v4.5

  • Added support for dolphin formatted gecko txt files
  • Improved on the temporary directory logic, it now creates a directory containing six random characters plus a "-GeckoLoader" extension for temporary file storage

v4.4

  • Fix multiple bugs with legacy patching
  • Added functionality to not patch in GeckoLoader + codehandler when the entire codelist is successfully pre patched into the dol
  • Added directory support. Pass the name of a directory as the gecko codes and it will parse through all the files in the folder, patching them into the dol file.

v4.2

  • Added option (-o, --optimize), which takes all ram write type gecko codes that aren't within an if block, and patches them directly into the dol file, removing them from the codelist to save space. This is off by default.
  • Made GeckoLoader aware of unsafe addresses while assigning the init point, meaning it is now possible to stack multiple GeckoLoader patches in one dol (this assumes you are using the arena and you are designating unique addresses for the codehandler hook each time), and it also allows higher compatibility for other patchers like WSTRT.

v4.1

  • Fixed an allocation bug

v4.0

  • Added option --handler, which lets you choose between the "MINI" and "FULL" codehandler. If not specified it uses "FULL"
  • Added option --init (-i), which lets you choose where GeckoLoader initializes at. If not specified it is auto calculated.
  • Added option --movecodes (-m), which lets you choose if the codes are put in the legacy codehandler space or at the end of the Arena. If not specified it is auto calculated what to use
  • Added option --codehook, which lets you choose where the codehandler hooks to (MUST BE A BLR INSTRUCTION). If not specified it is auto calculated where to hook (VIHook)
  • Reformatted most options, so they are more descriptive and strict
  • Reformatted verbosity output slightly
  • Codehandler is now relocated to the heap when using the Arena, as opposed to the legacy space

v3.0

  • Fixed alignment bug
  • Updated to C++

v2.3

  • Various optimizations and fixes

v2.2

  • Optimized loader more
  • Fixed typos in compiler
  • Fixed fatal bug with codehandler if statements

v2.0.2

  • Fixed compile error when using gecko txt files.

v2.0.1

  • Converted the python script into a command line tool
  • Added a parser for gecko text files made by Ocarina Manager, and all tools following the same format.
  • Added option --txtcodes (-tc), that lets you define what codes are included. ALL or ACTIVE settings are available.
  • Added option --verbose (-v), that lets you define extra print info. Strongest setting is --verbose --verbose (-vv).
  • Added option --quiet (-q), that lets you suppress all output except error info.
  • Added option --alloc, that lets you define the size of the code allocation in hex. Autosizes if not used.
  • Colorized text output

v1.1

  • Added auto size calculation option to main.exe
  • Added support for all codetypes
  • GeckoLoader is now fully optimized

v1.0

  • Initial release

Credits

  • Wiimm - Original idea and implementation this is based from
  • Riidefi - Taught me C/C++, which this uses

Make sure to give proper credit to myself (JoshuaMK) and this project when you utilize it in a mod! It's much appreciated

External Links

Advertising: