Converting from/to ISO, WDF, WIA, CISO, WBFS, GCZ and FST is done on the fly. The source file format is detected automatically and split source files are joined together. Output files can be split controlled by the options --split and --split-size.
While copying you can patch ID, disc title, IOS and region. Objects for patching are disc header, ticket, tmd and boot.bin. If necessary the partitions will be fake signed (trucha sign) automatically.
|VERSION||Print program name and version and exit.|
|HELP||H||Print help and exit. If the first non option is a valid command name, then a help for the given command is printed.|
|ARGTEST||This debug command accepts all kinds of parameters and prints one line for each parameter.|
|INFO||Print some internal information about the keywords. If the keyword
|TEST||Test options: All options are allowed, some are printed.|
|ERROR||ERR||Translate an exit code to a message name. If no exit code is entered, print a table with all error messages.|
|COMPR||Scan compression modes and print the normalized names. See option --compression for syntax details. If no mode is given than print a table with all available compression modes and alternative mode names.|
|FEATURES||Check, if the requested features are available. All keywords are possible. If no keyword is used, all supported features are printed. The exit status is 0 for 'all features supported', 1 for 'some features supported' and 2 for 'no feature supported'.|
|ANAID||Analyze the entered IDs and print one line for each ID with 3 columns: HEX_ID, ASCII_ID, Game title.|
|EXCLUDE||Dump the internal exclude database to standard output (stdout).|
|TITLES||Dump the internal title database to standard output (stdout).|
|GETTITLES||Call the script 'load-titles.sh' in the share folder to update the title database.|
|CERT||Collect certificates and eliminate multiple entires of the same certificate. Dump all collected certificates to standard output (stdout) and/or write the certificate to a new binary cert file. The optional parameters are handled like parameters of option --cert.|
|CREATE||Create a system file (TICKET or TMD).|
|DOLPATCH||Patch a dol file. A sub-command is either (upper case are keywords) 'XML=filname' or 'NEW=type,addr,size' or 'NEW=type,AUTO ' or 'LOAD=addr,filename' or 'addr=patch[#cond]', and 'type' is either 'TEXT' or 'DATA'.|
|FILELIST||FLIST||List all source files in a table.|
|FILETYPE||FTYPE||Print a status line for each source file.|
|ISOSIZE||SIZE||Print a status line with size infos for each source file.|
|DUMP||D||Dump the data structure and content of Wii and GameCube ISO files,
|ID6||ID||Print ID6 of all found ISO files as simple list.|
|ID8||Print ID6 + 2 next bytes as disc and version number of all found ISO files as simple list.|
|FRAGMENTS||Print the image fragments and, if possible, their file system mapping and fragments. If option --brief is set, only the fragment counts are printed. The Mac version can only detect the file system mapping for WBFS partitions.|
|LIST||LS||List all found ISO files.|
|LIST-L||LL||List all found ISO files with size and region. 'LIST-L' is a shortcut for »LIST --long«.|
|LIST-LL||LLL||List all found ISO files with date, size and region. 'LIST-LL' is a shortcut for »LIST --long --long«.|
|LIST-LLL||LLLL||List all found ISO files with date, size and region and add a second status line with more info. 'LIST-LLL' is a shortcut for »LIST --long --long --long«.|
|FILES||F||List all files of all discs.|
|FILES-L||FL||List all files of all discs. 'FILES-L' is a shortcut for »FILES --long«.|
|FILES-LL||FLL||List all files of all discs. 'FILES-LL' is a shortcut for »FILES --long --long«.|
|DIFF||CMP||DIFF compares ISO images in scrubbed or raw mode or on file level. Images, WBFS partitions and directories are accepted as source. DIFF works like COPY but comparing source and destination.|
|FDIFF||FCMP||FDIFF compares ISO images on file level. Images, WBFS partitions and directories are accepted as source. 'FDIFF' is a shortcut for »DIFF --files +«.|
|EXTRACT||X||Extract all files of each source to new directory structures. Images, WBFS partitions and directories are accepted as source.|
|COPY||CP||Copy, scrub, convert, join, split, compose, extract, patch, encrypt and decrypt Wii and GameCube disc images. Images, WBFS partitions and directories are accepted as source.|
|CONVERT||CV||Convert, scrub, join, split, compose, extract, patch, encrypt and decrypt Wii and GameCube disc images and replace the source with the result. Images, WBFS partitions and directories are accepted as source. The former command name was
»wit CONVERT« is like »wit COPY« but removes the source and replace it with the new file if copying is successful. It have been implemented as replacement of the
|EDIT||ED||Edit an existing Wii and GameCube ISO image and patch some values. Images, WBFS partitions and directories are accepted as source.|
|IMGFILES||IF||Print a list of all image files including their associated split files. Each file is printed on a separate line for further batch processing.|
|REMOVE||RM||Remove images including their associated split files.|
|MOVE||MV||Move and rename Wii and GameCube ISO images. Images, WBFS partitions and directories are accepted as source.|
|RENAME||REN||Rename the ID6 of discs. Disc title can also be set.|
|SETTITLE||ST||Set the disc title of discs.|
|VERIFY||V||Verify ISO images (calculate and compare SHA1 checksums) to find bad dumps.|
|SKELETON||SKEL||Create very small skeletons of ISO images. A skeleton contains only disc and partition headers for further analysis and is not playable because all files are zeroed.|
|MIX||Mix the partitions from different sources into one new Wii or GameCube disc.|
|--align-files||If creating a partition the file 'align-files.txt' is read. Files listed with values >=0x8000 (Wii sector size) are automatically aligned to 0x8000.|
|--align-part||size||If creating or moving partitions the beginning of each partition is set to an offset that is a multiple of the align size. Size must be a power of 2 and at least 32 KiB (=default).|
The optional parameter
|--allow-fst||[=mode]||Enable the usage of extracted images.
|--allow-nkit||[=mode]||Enable the detection of NKIT images.
Anyway, NKIT images are not supported yet, but detected to print warnings.
|--array||Use an array on script output if possible. If arrays are not supported, then append a '_#' suffix with an zero based index to the variable name defined by »--var name«. In this case, only one output file is created.|
|--atime||Select 'atime' (last access time) for printing.
|-a||--auto||Search WBFS partitions using '/proc/partitions' or searching hard disks in '/dev/' and use all readable as source. This works like »wwt --auto --all«.|
|--auto-split||Enable auto split modus: Split only if necessary and determine the split size automatically.
THIS OPTION IS EXPERIMENTAL. In future versions it becomes the default.
|--avar||varname||Shortcut for: »--array --var name«|
|--bash||Dump info using BASH syntax. Use »--var name« as prefix.|
|--block-size||size||If a mismatch is found in raw or disc mode then the comparison is continued with the next block. This option sets the block size. The default value is
|--boot-id||id||This patching option changes the ID of boot.bin to the given parameter. 1 to 6 characters are expected. Only defined characters not equal '.' are modified. The plus sign '+' is a wildcard for multiple '.' to fill the complete entered ID to 6 characters. Option --boot-id overrides the definition of option --id.|
|-b||--brief||Print only a summary.|
|--cert||file||Scan a file for certificates and add them to the internal certificate database. Valid sources are CERT, TICKET, TMD and ISO files. All partitions of ISO images are scanned for certificates. Files without certificates are ignored without notification.|
|--chunk-mode||mode||Defines an operation mode for --chunk-size and --max-chunks. Allowed keywords are
|--chunk-size||sz||Define the minimal chunk size if creating a CISO or WIA file (for WIA details see option --compression}). The default is to calculate the chunk size from the input file size and find a good value by using a minimal value of 1 MiB for »--chunk-mode ISO« and
The parameter 'sz' is a floating point number followed by an optional unit factor (one of 'cb' [=1] or 'kmgtpe' [base=1000] or 'KMGTPE' [base=1024]). The default unit is 'M' (MiB). If the number is prefixed with a
If the input file size is not known (e.g. reading from pipe), its size is assumed as
|-C||--ciso||Set image output file type to CISO (Compact ISO, same as WBI).|
|--color||[=modus]||Define the modus for colored text output. Allowed keywords are:
If a command is prefixed by
|--256-colors||Short cut for --color=256-colors: Force colorized text with 256 color support.|
|--common-key||index||This patching option defines the common key index as part of the TICKET. Keywords
|--compression||mode||Select one compression method, level and chunk size for new WIA files. The syntax for mode is:
All three parts are optional. All default values may be changed in the future.
|--copy-gc||If extracting a GameCube disc image, don't extract the real files to
|--ctime||Select 'ctime' (last status change time) for printing.
|-d||--dest||path||Define a destination path (directory or file). The destination path is scanned for escape sequences (see option --esc) to allow generic paths.|
|-D||--DEST||path||Like --dest, but create the directory path automatically.|
|--diff||Diff source and destination after copying.|
|--disc-id||id||This patching option changes the ID of the disc header to the given parameter. 1 to 6 characters are expected. Only defined characters not equal '.' are modified. The plus sign '+' is a wildcard for multiple '.' to fill the complete entered ID to 6 characters. Option --disc-id overrides the definition of option --id.|
|--disc-size||size||Define a minimal (virtual) ISO disc size.|
|--domain||domain||This patching option replaces the domain 'nintendowifi.net' by the new domain. The length of the new domain must not be larger than the old length (16 characters).
If the new domain length is not larger than 11, then 'gamespy.com' of 'sake.gamespy.com' is replaced too. This is a special support for 'Super Smash Bros. Brawl'.
|--dsync||[=mode]||This option enables the usage of flag O_DSYNC when opening a partition at a hard drive for writing. With activated flag, writing an image is some percent slower, but the progress counters are exact again.
Parameter MODE is optional. If set, it is one of OFF (disable), ON (enable) or AUTO (default). With AUTO, DSYNC is enabled if the progress counters are active.
This option has only impact, if compiler and operation system support the flag O_DSYNC. Linux does.
|--enc||encoding||Define the encoding mode. The mode is one of NONE, HASHONLY, DECRYPT, ENCRYPT, SIGN or AUTO. The case of the keywords is ignored. The default mode is 'AUTO'.|
|-E||--esc||char||Define an alternative escape character for destination files. The default is '%'. For Windows (CYGWIN) it is a good choice to set
|-x||--exclude||id||A comma separated list with ID4 and ID6 values is expected.
|-X||--exclude-path||file_or_dir||Scan the ID of the source and add it to the exclude list. If the source is a directory then scan all images of the directory. Images with the given ID are excluded from operation. Each use of this option expands the exclude list. See --include-first for precedence issues.|
|--fake-sign||ruleset||Add a certificate selection rule. All certificates that matches the rule set will be fake signed.|
|--file-limit||size||This option is only used if comparing discs on file level. If not set or set to null, then all files will be compared. If set to a value greater than comparison is aborted for the current source image if the entered number of files differ. This option is ignored in quiet mode.|
|-F||--files||ruleset||Append file select rules. This option can be used multiple times to extend the rule list. Rules beginning with a '+' or a '-' are allow or deny rules rules. Rules beginning with a ':' are macros for predefined rule sets.|
|--flat||While extracting a disc image strip all path names of the source file and store all files in the same directory. This option sets the default for --pmode to
|--fst||Set image output mode to 'file system' (extracted ISO).|
|-G||--gcz||Set image output file type to GCZ (Dolphins GameCube Zip).|
|--gcz-block||size||The value defines the block size, if creating a GCZ image. The default is 16K (also Dolphins default). Smaller values enlarge the managment data and reduce the compression ratio. Use the option with caution!|
|--gcz-zip||If creating a GCZ image, a blockwise z-compression is tried. If the compressed data is larger than 98.5%, the uncompressed data is stored. Encrypted blocks are stored directly as uncompressed data, because the 98.5% test fails all the time.
Option --gcz-zip disables this optimization for encrypted data and makes the creation process slower.
|-h||--help||Stop parsing the command line, print a help message and exit.|
|--http||This patching option replaces 'https' request to 'http' in the files 'main.dol' and 'rel/StaticR.rel', if the files exist. It also replaces the sub-domain 'naswii' to 'nas'.|
|--id||id||This patching option changes the ID of the disc to the given parameter. 1 to 6 characters are expected. Only defined characters not equal '.' are modified. The plus sign '+' is a wildcard for multiple '.' to fill the complete entered ID to 6 characters. The disc header, boot.bin, ticket.bin and tmd.bin are objects to modify. The option --modify selects the objects.|
|-i||--ignore||Ignore non existing files/discs without warning. If set twice then all non Wii and GameCube ISO images are ignored too.|
|--ignore-files||ruleset||This option defines filter rules to ignore real files of the FST of the DATA partition. Fake signing is not necessary, but the partition becomes invalid, because the content of some files is not copied. If such file is accessed the Wii will halt immediately, because the verification of the checksum calculation fails. The processing order of file options is: »--rm-files --zero-files --ignore-files«.|
|--ignore-fst||Disable composing and ignore FST directories as input. This legacy option is a shortcut for --allow-fst=off.|
|--ignore-setup||While composing ignore the file
|-n||--include||id||A comma separated list with ID values is expected.
|--include-first||The options --include, --include-path, --exclude and --exclude-path decide which discs are included into the operation. If neither include nor exclude options are used, than all disc are included into the operation. If only include options are used, than only the specified discs are operated. If only exclude options are used, than all all discs but not the excluded are operated.
If include and exclude options are used together and
|-N||--include-path||file_or_dir||Scan the ID of the source and add it to the include list. If the source is a directory then scan all images of the directory. Only images with the given ID are included into the operation. Each use of this option expands the include list. See --include-first for precedence issues.|
|--install||Manage configuration for an installation.|
|--io||flags||Setup the IO mode for experiments. The standard file IO is based on open() function. The value '1' defines that WBFS IO is based on fopen() function. The value '2' defines the same for ISO files and value '4' for WIA files. You can combine the values by adding them.|
|--ios||ios||This patching option defines the system version (IOS to load) within TMD. The format is
|-I||--iso||Set image output file type to PLAIN ISO.|
|--itime||Select 'itime' (insertion time) for printing.
|--job-limit||num||Execute only the first
|--json||Dump info using JSON syntax. Options --var and --array are ignored.|
|--lang||lang||Define the language for titles.|
|--limit||num||Limit the output to NUM messages.|
|--links||Detect soft and hard linked source files while composing or extracting discs and try to create hard links instead of independent copies on the destination file system.|
|-L||--logging||This debug option enables the logging of internal memory maps. If set twice second level memory maps are printed too.|
|-l||--long||Print in long format. Multiple usage possible.|
|--makedoc||Dump infos using MakeDoc syntax. Use »--var name« as variable name of the resulting map.|
|--max-chunks||n||Define the maximal number of chunks if creating a CISO file. The default value is 8192 for »--chunk-mode ISO« and 32760 (maximal value) for all other modes. If this value is set than the automatic calculation of --chunk-size will be modified too.
|--mem||size||This option defines a memory usage limit for compressing files (in MiB if no other unit is entered). When compressing a file with method
If this option is not set or the value is 0, then the environment
|--modify||list|| This patching option defines the impact of the options --name and --id. It expects a comma separated list of the following keywords (case ignored) as parameter: NONE, DISC, BOOT, TICKET, TMD, WBFS, TT, ALL and
All keywords can be prefixed by
|--mtime||Select 'mtime' (last modification time) for printing.
|--name||name||This patching option changes the name (disc title) of the disc to the given parameter. Up to 63 characters are expected. The disc header and boot.bin are objects to modify. The option --modify selects the objects.|
|--neek||Abbreviation of »--psel data --pmode none --files :neek --copy-gc«. The old name --sneek is accepted too.|
|--no-colors||Short cut for --color=off: Deactivate colorized text. This is the default, if an output file is not a terminal.|
|--no-expand||Do not expand directories to the containing files or images. This option does not change the behavior of --recurse.|
|-H||--no-header||Suppress printing of header and footer.|
|--no-link||Don't try to create a hard link if copying the image forced by the option --copy-gc.|
|--no-sort||Don't sort. Same as --sort=none.|
|--no-split||Disable output file splitting. This is the default, but in future versions, the new option --auto-split becomes the default.|
|--no-utf-8||Disables UTF-8 support for filenames.|
|-0||--null||Terminate each output line with a NUL (ASCII 0) character instead with a line feed (LF, ASCII 10).|
|--numeric||Force numeric output instead of printing names.|
|--old-style||Print in old style. This is important for tools and GUIs that are scanning the output.|
|-1||--one-job||Execute only the first job and exit. This is a shortcut for »--job-limit 1«.|
|--overlay||Most partitions have holes (unused areas) in the data section. If combining multiple partitions into one disc it is possible to overlay the partitions so that the data of one partition resides in the hole of other partitions. This option enables this feature. It also limits the number of input partitions to 12, because the calculation is rated as O(2N). 12 partitions can be combined in 479 millions permutations and all are tested with a back tracking algorithm to find the best one.|
|-o||--overwrite||Overwrite already existing files without warning.|
|--php||Dump infos using PHP syntax. Use »--var name« as variable name of the resulting object.|
|--pmode||p-mode||This options set the prefix mode for listed or extracted files. One of the following values is allowed: AUTO, NONE, POINT, ID, NAME, INDEX, COMBI. The default value is
|--prealloc||[=mode]||This option enables or disables the disc space preallocation. If enabled the tools try to allocate disc space for the new files before writing the data. This reduces the fragmentation but also disables the sparse effect for preallocated areas.
The optional parameter decides the preallocation mode:
|-p||--preserve||Preserve file times (atime+mtime) while copying an image. This option is enabled by default if an unmodified disc image is copied.|
|-P||--progress||Print progress counter. If --verbose is set at least twice, printing is enabled too. If progress is enabled, the default of --dsync is changed.|
|--psel||list||This option set the scrubbing mode and defines, which disc partitions are handled. It expects a comma separated list of keywords, numbers and names; all together called parameter. All parameters are case insensitive and non ambiguous abbreviations of keywords are allowed.
Each parameter becomes a rule and each rule is appended to a rule list. Rules prefixed by a minus sign are DENY rules. Rules prefixed by a plus sign or without a prefix are ALLOW rules. Each partition is compared with each rule until a rule matches the partition. If a match it found, the partition is enabled for a ALLOW rule or disabled for a DENY rule.
The allowed keywords are:
|-q||--quiet||Be quiet and print only error messages.|
|--raw||Abbreviation of »--psel RAW«.|
|--rdepth||depth||Set the maximum recurse depth for option --recurse. The default search depth is 10.|
|--real-path||Print real path instead of entered path.|
Directories are scanned for source files recursively. The option --rdepth limits the search depth. Hidden files and hidden sub directories (file names begins with a point) and files with non supported file types (non ISO files for most commands) are ignored without notification.
|--region||region||This patching option defines the region of the disc. The region is one of
|-R||--remove||Remove source files/discs if operation is successful. If the source is an extracted file systems (FST) it isn't removed.|
|--rm-files||ruleset||This patching option defines filter rules to remove real files and directories from the FST of the DATA partition. Fake signing of the TMD is necessary. The processing order of file options is: »--rm-files --zero-files --ignore-files«.|
|--scan-progress||Print a message for each found image while scanning the file system.|
|--sections||Print in machine readable sections and parameter lines.|
|--security-fix||Try to fix a security bug in the game. This is game dependent.|
|--sh||Dump info using SH syntax. Use »--var name« as prefix.|
|-+||--show||list||This option allows fine control over the things that are to be printed. The parameter is a comma separated list of the following keywords, case is ignored: NONE, INTRO, HEADER, SLOTS, GEOMETRY, D-ID, P-ID, P-TAB, P-INFO, P-MAP, D-MAP, W-MAP, TICKET, TMD, USAGE, PATCH, RELOCATE, FILES, UNUSED, OFFSET, SIZE, PATH and
All keywords can be prefixed by '+' to enable that option, by a '-' to disable it or by a '=' to enable that option and disable all others.
The additional keywords
The commands recognize only some of these keywords and ignore the others. If
|-S||--sort||list||Define the sort mode for listings. The parameter is a comma separated list of the following keywords: NONE, NAME, TITLE, PATH, NINTENDO, FILE, SIZE, OFFSET, REGION, WBFS, NPART, FRAGMENTS, ITIME, MTIME, CTIME, ATIME, TIME = DATE, DEFAULT, ASCENDING, DESCENDING = REVERSE.|
|-s||--source||path||Use the entered file or directory as source.
Directories are expanded to all containing files but hidden files (file names begins with a point) are ignored. If a command needs only images then non image files of the directory are ignored without notification. The option --no-expand suppress the directory expansion.
|-z||--split||Enable output file splitting. The default split size is 4 GB.|
|-Z||--split-size||sz||Enable output file splitting and define a split size. The parameter 'sz' is a floating point number followed by an optional unit factor (one of 'cb' [=1] or 'kmgtpe' [base=1000] or 'KMGTPE' [base=1024]). The default unit is 'G' (GiB).|
|--technical||Force a technical output instead of user friendly text. --tech is a short cut for --technical.|
|-t||--test||Run in test mode, modify nothing.
>>> USE THIS OPTION IF UNSURE! <<<
|--ticket-id||id||This patching option changes the ID of ticket.bin to the given parameter. 1 to 4 characters are expected. Only defined characters not equal '.' are modified. The plus sign '+' is a wildcard for multiple '.' to fill the complete entered ID to 4 characters. Option --ticket-id overrides the definition of option --id.|
|--time||list||Set time printing and sorting mode. The parameter is a comma separated list of the following keywords, case is ignored: RESET, OFF, ON, SINGLE, MULTI, NONE, ALL, I, M, C, A, DATE, TIME, SEC, IDATE, MDATE, CDATE, ADATE, ITIME, MTIME, CTIME, ATIME, ISEC, MSEC, CSEC, ASEC.|
|-T||--titles||file||Read file for disc titles.
|--tmd-id||id||This patching option changes the ID of tmd.bin to the given parameter. 1 to 4 characters are expected. Only defined characters not equal '.' are modified. The plus sign '+' is a wildcard for multiple '.' to fill the complete entered ID to 4 characters. Option --tmd-id overrides the definition of option --id.|
|--trunc||Truncate PLAIN ISO and WBFS images after creating or copying to the minimal needed size with respect to the block size.|
|--tt-id||id||This is a short cut for »--ticket id --tmd id«. If TICKET and TMD differ, the game will freeze after loading. So it makes only sense to change TICKET and TMD IDs together.|
|-U||--unique||Eliminate multiple entries with same ID6.|
|--unit||list||This option set the output unit for sizes. The parameter is a comma separated list of the following keywords, case is ignored: 1000=10, 1024=2, BYTES, K, M, G, T, P, E, KB, MB, GB, TB, PB, EB, KIB, MIB, GIB, TIB, PIB, EIB, HDS, WDS, GAMECUBE=GC, WII, AUTO and
|-u||--update||Copy only files that do not exist. Already existing files are ignored without warning.|
|--utf-8||Enables UTF-8 support for filenames (default).|
|-v||--verbose||Be verbose and print more progress information. Multiple usage is possible: Progress counter is enabled if set at least two times. Extended logging is enabled if set at least four times. The impact of the other verbose levels are command dependent.|
|-V||--version||Stop parsing the command line, print a version info and exit.|
|-B||--wbfs||Set image output file type to WBFS (Wii Backup File System, default).|
|--wbfs-id||id||This patching option changes the ID of the WBFS header to the given parameter if adding a file to a WBFS or if creating a WBFS file. 1 to 6 characters are expected. The already patched disc ID of the source is used as base and only defined characters not equal '.' are modified. The plus sign '+' is a wildcard for multiple '.' to fill the complete entered ID to 6 characters. Option --wbfs-id overrides the definition of option --id.|
|-W||--wdf||[=param]||Set the image output file type to WDF (Wii Disc Format). The output format is either WDFv1 or WDFv2 (default). It depends of the input file format and of the aligning. --wdf=param is a short cut for »--wdf --align-wdf=param«.|
|--wdf1||[=param]||Set image output file type to WDF and force version 1. --wdf1=param is a short cut for »--wdf1 --align-wdf=param«.|
|--wdf2||[=param]||Set image output file type to WDF and force version 2. --wdf2=param is a short cut for »--wdf2 --align-wdf=param«.|
|--wia||[=compr]||Set image output file type to WIA (Wii ISO Archive). The optional parameter is a compression mode and --wia=mode is a shortcut for »--wia --compression mode«.|
|--width||width||Define the width (number of columns) for help and some other messages and disable the automatic detection of the terminal width.|
|--wiimmfi||Patch the images for Wiimmfi, the new custom server. It is a short cut for »--http --domain wiimmfi.de --security-fix«.|
|--xhelp||Stop parsing the command line and print a help message with all commands included. Exit after printing.|
|--zero-files||ruleset||This patching option defines filter rules to zero (set size to zero) real files of the FST of the DATA partition. Fake signing of the TMD is necessary. The processing order of file options is: »--rm-files --zero-files --ignore-files«.|