More actions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Infobox Wii Homebrews | {{Infobox Wii Homebrews | ||
|title=Brainslug wii | |title=Brainslug wii | ||
Line 14: | Line 8: | ||
|version=0.1.2 | |version=0.1.2 | ||
|license=Mixed | |license=Mixed | ||
|download= | |download=https://dlhb.gamebrew.org/wiihomebrews/brainslugwii.7z Source Only | ||
|website=https://github.com/Chadderz121/brainslug-wii | |website=https://github.com/Chadderz121/brainslug-wii | ||
|source=https://github.com/Chadderz121/brainslug-wii | |source=https://github.com/Chadderz121/brainslug-wii | ||
}} | }} | ||
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. | 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. | ||
Line 24: | Line 18: | ||
This project is in several parts: | This project is in several parts: | ||
* bslug_include - Header files used by BrainSlug modules. | * bslug_include - Header files used by BrainSlug modules. | ||
* modules | * modules - A collection of premade BrainSlug modules. | ||
* src | * src - The BrainSlug Wii channel, which actually does the patching. | ||
* symbols | * symbols - Symbol information needed by the channel to perform linking. | ||
* test | * test - Regression testing for the Wii channel. | ||
== | ==Installation== | ||
To install BrainSlug for development of modules you must first have a copy of | To install BrainSlug for development of modules you must first have a copy of [http://sourceforge.net/projects/devkitpro/ devkitPro], specifically with devkitPPC included. | ||
In the root directory of the BrainSlug repository, run the following commands: | In the root directory of the BrainSlug repository, run the following commands: | ||
Line 41: | Line 33: | ||
This installs the necessary headers into a bslug subdirectory within devkitPro. | 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. | Now BrainSlug modules can be compiled. See modules/README for more information about BrainSlug module development. | ||
To uninstall run: | To uninstall run: | ||
make uninstall | make uninstall | ||
== | ==User guide== | ||
The BrainSlug channel is still very simple, it lacks any sort of user interface | 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. | ||
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 | 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. | ||
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 | 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. | ||
messages or warnings occur, you will need to press the RESET button on the Wii | |||
before it can be launched or the channel exits. | |||
The game ID of Zelda: Twilight Princess PAL is RZDP so this would not look in the RMC directory. This allows game specific configurations. | |||
RZDP so this would not look in the RMC directory. This allows game specific | |||
configurations. | |||
==Changelog== | ==Changelog== | ||
Line 77: | Line 62: | ||
==External Links== | ==External Links== | ||
* Reddit - https://www.reddit.com/r/WiiHacks/comments/5otjo7/use_brainslug_to_play_wii_games_online_after_the/ | * Reddit - https://www.reddit.com/r/WiiHacks/comments/5otjo7/use_brainslug_to_play_wii_games_online_after_the/ | ||
* | * GitHub - https://github.com/Chadderz121/brainslug-wii |
Revision as of 07:03, 22 February 2023
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.