2022-02-04 21:44:03 +01:00
[![CI-Release ](https://github.com/wiiu-env/WUMSLoader/actions/workflows/ci.yml/badge.svg )](https://github.com/wiiu-env/WUMSLoader/actions/workflows/ci.yml)
2021-12-28 18:38:22 +01:00
# Wii U Module System Loader
This is a payload that should be run with [EnvironmentLoader ](https://github.com/wiiu-env/EnvironmentLoader ).
2020-04-28 14:43:07 +02:00
## Usage
2021-12-28 18:38:22 +01:00
Put the `10_wums_loader.rpx` in the `fs:/vol/external01/wiiu/environments/[ENVIRONMENT]/modules/setup` folder of your sd card and use the `EnvironmentLoader` to run this setup payload.
2020-04-28 14:43:07 +02:00
2021-12-28 18:38:22 +01:00
Put modules (in form of `.wms` files) that should be used a main()-hook into `fs:/vol/external01/wiiu/environments/[ENVIRONMENT]/modules/` .
2020-04-28 14:43:07 +02:00
2021-12-28 18:38:22 +01:00
The area between `0x00800000` and whereever this loader is loaded, will be used.
2020-04-28 14:43:07 +02:00
## Building
2020-05-17 21:14:27 +02:00
Make you to have [wut ](https://github.com/devkitPro/wut/ ) and [WiiUModuleSystem ](https://github.com/wiiu-env/WiiUModuleSystem ) installed and use the following command for build:
2020-04-28 14:43:07 +02:00
```
make install
```
2020-06-25 19:13:12 +02:00
## Building using the Dockerfile
It's possible to use a docker image for building. This way you don't need anything installed on your host system.
```
# Build docker image (only needed once)
2021-12-28 18:38:22 +01:00
docker build . -t wumsloader-builder
2020-06-25 19:13:12 +02:00
# make
2021-12-28 18:38:22 +01:00
docker run -it --rm -v ${PWD}:/project wumsloader-builder make
2020-06-25 19:13:12 +02:00
# make clean
2021-12-28 18:38:22 +01:00
docker run -it --rm -v ${PWD}:/project wumsloader-builder make clean
2020-06-25 19:13:12 +02:00
```
2022-02-04 21:44:03 +01:00
## Format the code via docker
`docker run --rm -v ${PWD}:/src wiiuenv/clang-format:13.0.0-2 -r ./source ./relocator/src -i`
2020-06-25 19:13:12 +02:00
2020-04-28 14:43:07 +02:00
## Credits
- maschell
- Copy paste stuff from dimok
- Copy pasted the solution for using wut header in .elf files from [RetroArch ](https://github.com/libretro/RetroArch )
- Copy pasted resolving the ElfRelocations from [decaf ](https://github.com/decaf-emu/decaf-emu )