BrainSlug Wii

From GameBrew
Revision as of 06:02, 24 January 2023 by HydeWing (talk | contribs)
Brainslug wii
File:Brainslugwii.jpg
General
AuthorChadderz121
TypeOther Apps
Version0.1.2
LicenseMixed
Last Updated2014/03/31
Links
[Source Only Download]
Website
Source

BrainSlug is a specialized Wii disc loader that allows for the patching of loaded games' functions. Unlike other loaders, BrainSlug utilizes relocatable ELF files as patches, allowing for a more efficient and user-friendly method of adding functionality to Wii games. This is achieved by allowing programmers to write code in C rather than assembly and have BrainSlug take care of linking the code into the game.

The modifications made to the game are called BrainSlug modules. To create these modules, a specific format must be followed, and a template module is provided in the "modules/template" folder. More information on how to get started with module development can be found in the "modules/README" file.

This project is in several parts:

  • bslug_include - Header files used by BrainSlug modules.
  • modules - A collection of premade BrainSlug modules.
  • src - The BrainSlug Wii channel, which actually does the patching.
  • symbols - Symbol information needed by the channel to perform linking.
  • test - Regression testing for the Wii channel.

How To Install

To install BrainSlug for development of modules you must first have a copy of devkitPro, specifically with devkitPPC included:

   http://sourceforge.net/projects/devkitpro/

In the root directory of the BrainSlug repository, run the following commands:

   make clean && make -C modules clean
   make install
   

It may be necessary to run the last command with administrative privileges.

This installs the necessary headers into a bslug subdirectory within devkitPro. Now BrainSlug modules can be compiled. See modules/README for more information about BrainSlug module development.

To uninstall run:

   make uninstall

Usage

BrainSlug is a specialised Wii disc loader which is designed to allow the loaded game to be patched. BrainSlug is designed to make the process of adding functionality to Wii games much easier and more enjoyable for all.

The BrainSlug channel is still very simple, it lacks any sort of user interface or even configuration file. When it starts, BrainSlug immediately begins loading the disc in the drive. It then searches sd:/bslug/modules for .mod BrainSlug module files. It also searches sd:/bslug/symbols for .xml symbol information. Using all of this information it patches the game and boots it. If any error messages or warnings occur, you will need to press the RESET button on the Wii before it can be launched or the channel exits.

When searching for either modules or symbols, the channel will search any subdirectories for which the game ID is a prefix. For example the game ID of Mario Kart Wii PAL is RMCP. Therefore if a folder called RMC exists in modules or symbols it will be searched. The game ID of Zelda: Twilight Princess PAL is RZDP so this would not look in the RMC directory. This allows game specific configurations.

Changelog

v0.1.2

  • Undo changes to dwc.xml which broke several games.

v0.1.1

  • Added symbols marking game start and end to modules.
  • Bumped to library & channel version 0.1.1.
  • Altered https module to take advantage of new symbols.

v0.1.0

  • Added IOS_* symbols and header definitions.

Advertising: