Go to file
mariomadproductions 04872a3e83 README.md: documented autoskip mode 2023-12-26 13:19:29 +01:00
.github Create dependabot.yml 2023-07-23 10:39:36 +02:00
data Add a icon to the WUHB 2022-09-20 20:40:46 +02:00
source Improve logging 2023-01-10 16:45:57 +01: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 Bump wiiu-env/devkitppc from 20221228 to 20230621 2023-07-24 13:19:31 +02:00
Makefile Update Makefile to be compatible with CLion 2023-01-02 17:14:49 +01:00
README.md README.md: documented autoskip mode 2023-12-26 13:19:29 +01:00

README.md

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.

If you want to create a partial dump (skipped sectors represented by 00 bytes) for discs with unreadable sectors, you can avoid the need to manually choose the skip sectors option on each error, by pressing Y at the error message to activate auto skip mode

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 ghcr.io/wiiu-env/clang-format:13.0.0-2 -r ./source -i