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

Custom IOS Module and Tester Wii: Difference between revisions

From GameBrew
m (HydeWing moved page Custom IOS Module Toolkit Wii to Custom IOS Module and Tester Wii without leaving a redirect)
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox Wii Homebrews
{{Infobox Wii Homebrews
|title=Custom IOS Module Toolkit
|title=Custom IOS Module Toolkit
|image=wii-logo.jpg
|image=customiosmoduletoolkitwii2.png
|description=Allows the creation of custom IOS modules.
|description=Allows the creation of custom IOS modules.
|author=neimod
|author=neimod
Line 9: Line 9:
|license=Mixed
|license=Mixed
|download=https://dlhb.gamebrew.org/wiihomebrews/customiosmoduletoolkitwii.7z
|download=https://dlhb.gamebrew.org/wiihomebrews/customiosmoduletoolkitwii.7z
|website=https://wiibrew.org/wiki/Custom_IOS_Module_Toolkit
}}
}}
{{#seo:
This package contains the necessary basic tools and project files needed to create a custom IOS module and interact with it. This is perfect for running test code on the Wii's IOS system.
|title=Wii Homebrew PC Tools (PC utilities) - GameBrew
|title_mode=append
|image=wii-logo.jpg
|image_alt=Custom IOS Module Toolkit
}}
 
The '''Custom IOS Module Toolkit''' contains the necessary basic tools and project files needed to create a custom IOS module and interact with it. This is perfect for running test code on the Wii's Starlet processor.
 
Source code is delivered for all tools and projects.


== Requirements ==
==User guide==
Sourcecode is delivered for all tools and projects.


In order to compile a custom IOS module you need [http://devkitpro.org/wiki/Getting_Started/devkitARM devkitARM] (arm-elf, or arm-eabi), and to compile the test application, you need devkitPPC and libogc.
*For compiling the ARM IOS code, [http://devkitpro.org/wiki/Getting_Started/devkitARM devkitARM] (arm-elf or arm-eabi) is needed.
*For compiling the PPC Wii code, [https://wiibrew.org/wiki/DevkitPPC devkitPPC] and [https://wiibrew.org/wiki/Libogc libOGC] are needed.


== Package contents ==
This package contains:


This package contains the following contents:
* stripios
* Stripios
* iosmodule
* Iosmodule
* iostester
* Iostester


== Stripios ==
=== stripios ===
This tool takes a traditional ARM ELF file and converts it into a format the IOS system understands.
This tool takes a traditional ARM ELF file and converts it into a format the IOS system understands.


== Iosmodule ==
=== iosmodule ===
This is the project which will create a custom IOS module.
This is the project which will create a custom IOS module.


Line 48: Line 41:
The example main source file sets up a device called "/dev/haxx" and allows you to read/write to the IOS memory space (currently limited to the module's memory space because it is running from usermode), and allows you to upload and execute custom code.
The example main source file sets up a device called "/dev/haxx" and allows you to read/write to the IOS memory space (currently limited to the module's memory space because it is running from usermode), and allows you to upload and execute custom code.


== Iostester ==
=== iostester ===
This is the project which will interact with the custom IOS module.
This is the project which will interact with the custom IOS module.


Line 58: Line 51:


==External links==
==External links==
* wiibrew - https://wiibrew.org/wiki/Custom_IOS_Module_Toolkit
* Wiibrew - https://wiibrew.org/wiki/Custom_IOS_Module_Toolkit

Latest revision as of 07:06, 27 March 2023

Custom IOS Module Toolkit
Customiosmoduletoolkitwii2.png
General
Authorneimod
TypePC utilities
Version0.1.1
LicenseMixed
Last Updated2008/09/05
Links
Download
Website

This package contains the necessary basic tools and project files needed to create a custom IOS module and interact with it. This is perfect for running test code on the Wii's IOS system.

User guide

Sourcecode is delivered for all tools and projects.

  • For compiling the ARM IOS code, devkitARM (arm-elf or arm-eabi) is needed.
  • For compiling the PPC Wii code, devkitPPC and libOGC are needed.

This package contains:

  • stripios
  • iosmodule
  • iostester

stripios

This tool takes a traditional ARM ELF file and converts it into a format the IOS system understands.

iosmodule

This is the project which will create a custom IOS module.

In order to create a working IOS module, you must supply the fixed absolute memory addresses for the module to live in, in the linker script.

Currently, it defaults to the memory addresses set by the DIP module from IOS31.

To install a custom IOS module, you need to add it to the TMD of an existing IOS, and allocate it with an unused content id, or replace an existing one.

Currently, the produced IOS module is tested by replacing the DIP module from IOS 31. This is done by letting patchmii install IOS 31 as IOS 254, and replacing the contents of the DIP module with the custom IOS module.

The example main source file sets up a device called "/dev/haxx" and allows you to read/write to the IOS memory space (currently limited to the module's memory space because it is running from usermode), and allows you to upload and execute custom code.

iostester

This is the project which will interact with the custom IOS module.

In the first step, a completely position independent ARM program is compiled, and the file arm.bin is produced.

The ARM program is made position independent by means of an global offset table (GOT), which the ARM program will automatically correct upon boot up.

Then the arm.bin file is automatically added into the PPC program, so that it can upload it to the custom IOS module, and let it execute it from the IOS side.

External links

Advertising: