Go to file
2022-07-28 08:43:42 -07:00
.github/workflows Update workflows to not pull submodules anymore 2022-07-28 08:43:42 -07:00
source Improve displayed error messages 2022-07-28 08:43:42 -07:00
.clang-format Format the code via clang-format 2022-07-25 23:42:15 -07:00
.gitignore Build .wuhb 2021-10-16 14:13:07 +02:00
Dockerfile Update Dockerfile to use latest wut version 2022-07-28 08:43:42 -07:00
Makefile Various improvements including: 2022-07-27 08:22:12 -07:00
README.md Fix handling of discs without a discId 2022-07-28 04:40:58 -07:00

WUDD - Wii U Disc Dumper

Inspired by wudump from FIX94.

Features:

  • Dump a Wii U Disc in WUD (uncompressed) or WUX (loseless compression) format (including the game.key)
  • Dump the GM Partitions (Game, Updates, DLCs) of an Wii U Disc as .app,.h3, .tmd, .tik, .cert files
  • Supports dumping to SD (FAT32) and USB (NTFS only). When dumping to SD the files get slitted in 2 GiB parts.

Files will be dumped to /wudump/[DISC-ID]/. The disc id of a game can be found on the disc (e.g. WUP-P-ARDP for the EUR version of Super Mario 3D World). If WUDD fails to determine the disc id, "DISC" with a timestamp will be used instead.

How to merge splitted files

When you dump a .wux or .wud to the SD card it gets splitted into 2 GiB parts (FAT32 limitation). To merge them you can use the copy cmd tool.

Example: copy /b game.wux.part1 + game.wux.part2 game.wux

Dependencies

Requires an Environment (e.g. Tiramisu or Aroma) with MochaPayload (Nightly-MochaPayload-20220725-155554 or newer)

Buildflags

Logging

Building via make only logs errors (via OSReport). To enable logging via the LoggingModule set DEBUG to 1 or VERBOSE.

make Logs errors only (via OSReport).
make DEBUG=1 Enables information and error logging via LoggingModule.
make DEBUG=VERBOSE Enables verbose information and error logging via LoggingModule.

If the LoggingModule is not present, it'll fallback to UDP (Port 4405) and CafeOS logging.

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)
docker build . -t wudd-builder

# make 
docker run -it --rm -v ${PWD}:/project wudd-builder make

# make clean
docker run -it --rm -v ${PWD}:/project wudd-builder make clean

Format the code via docker

docker run --rm -v ${PWD}:/src wiiuenv/clang-format:13.0.0-2 -r ./source -i