More actions
Brainslug wii | |
---|---|
File:Brainslugwii.jpg | |
General | |
Author | Chadderz121 |
Type | Other Apps |
Version | 0.1.2 |
License | Mixed |
Last Updated | 2014/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.
Installation
To install BrainSlug for development of modules you must first have a copy of devkitPro, specifically with devkitPPC included.
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
User guide
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.