Hacking wwt+wit: Wiimms WBFS+ISO Tools

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,286
Trophies
0
Location
Germany
Website
wiimmfi.de
XP
1,428
Country
Germany
wiimms-tools.png


WIT: Wiimms ISO Tools v3.01a - 2017-12-03
A command line ISO+WBFS tool set for various os.

WIT (Wiimms ISO Tools) is a set of command line tools to manipulate Wii ISO images and WBFS containers. The two main tools are called wit (Wiimms ISO Tool) and wwt (Wiimms WBFS Tool, the WBFS manager).

Feature overview:
Visit https://wit.wiimm.de/features.html for more details.

Download of the current version:

There are also some GUI available:

Change log:

Code:
wit v3.01a r7464 - 2017-12-03

 - New option: --dsync: The option enables the usage of flag O_DSYNC when
   opening a partition at a hard drive. With activated flag, writing an image
   is some percent slower, but the progress counters are exact again.

The source is published under the license of GPL2. Checkout the sources directly from the SVN repository or browse the source. Visit https://wit.wiimm.de/ for more information.
 
Last edited by Wiimm,

mousex

Well-Known Member
Member
Joined
Jan 23, 2009
Messages
986
Trophies
0
XP
114
Country
United States
Any plans on going open source?
I just ask because your binary won't run on Darwin/OS X and I'm interested if I could compile it on Cygwin because on my Windows box I still use the first cygwin port of wbfs tool as I don't use drive letters for my wbfs drive.
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,286
Trophies
0
Location
Germany
Website
wiimmfi.de
XP
1,428
Country
Germany
wwt: Wiimms WBFS Tool V0.00c - 2009-09-30
A command line WBFS tool for linux.

I like to work with the linux command line. And the only WBFS tool I found is poor in viewing information and perhaps buggy (I have destroyed the WBFS 2 times). And because of that I have written a new command line tool for linux.

Some special features:
  • Supports sparse files (files with holes) to save disc space.
  • May store truncated ISO images (option --trunc) to save disc space.
  • Support WBFS on block devices and as plain files.
  • Find WBFS partitions on block devices automatically.
  • Multi WBFS support:
    • List multiple WBFS together.
    • Copies ISO images to multiple WBFS with one command.
    • Remove ISO images from multiple WBFS with one command.
    • Searches multiple WBFS for extracting discs.
  • Advanced shell support:
    • Exit codes are explaind by the tool itself.
    • Output controlling with --quiet and --verbose.
    • Several listings, some of them machine readable.
    • May read parameters from files.
I have tested this tool very well and the software do what I want.

But the usage is dangerous like usage of any Alpha-Software!


Please test the software! Comments are welcome!


Download: http://wiimm.de/x/wwt-v0.00c-r145.tar.gz (Documentation is included)

And here is the output of 'wwt --help':
Code:
# wwt --help

wwt: Wiimms WBFS Tool V0.00c r145 - Dirk Clemens - 2009-09-30
This is a command line tool to manage WBFS partitions and Wii ISO Images.

Syntax: wwt [option]... command [option|parameter|@file]...


Commands:

ÂÂÂÂHELPÂÂÂÂ| ?ÂÂÂÂ: Print this help
ÂÂÂÂERRORÂÂ | ERRÂÂ: Translate exit code to message.

ÂÂÂÂFINDÂÂÂÂ| FÂÂÂÂ: Find WBFS partitions.
ÂÂÂÂSPACEÂÂ | DFÂÂ : Print disc space of WBFS partitions.
ÂÂÂÂDUMPÂÂÂÂ| DPÂÂ : Dump the content of WBFS partitions.

ÂÂÂÂID6ÂÂÂÂ | IDÂÂ : Print ID6 of all discs of WBFS partitions.
ÂÂÂÂLISTÂÂÂÂ| LSÂÂ : List all discs of WBFS partitions.
ÂÂÂÂLIST-LÂÂ| LLÂÂ : Same as 'LIST --long'.
ÂÂÂÂLIST-AÂÂ| LAÂÂ : Same as 'LIST --autoÂÂ --all --long'.
ÂÂÂÂLIST-MÂÂ| LMÂÂ : Same as 'LIST --mixedÂÂ--all --long'.
ÂÂÂÂLIST-UÂÂ| LUÂÂ : Same as 'LIST --unique --all --long'.

ÂÂÂÂFORMATÂÂ| INIT : Format WBFS partitions.
ÂÂ? CHECKÂÂ | FSCK : Check WBFS partitions.

ÂÂÂÂADDÂÂÂÂ | AÂÂÂÂ: Add ISO images to WBFS partitions.
ÂÂÂÂEXTRACT | XÂÂÂÂ: Extract discs from WBFS partitions as ISO images.
ÂÂÂÂREMOVEÂÂ| RMÂÂ : Remove discs from WBFS partitions.
ÂÂ? COPYÂÂÂÂ| CPÂÂ : Copy discs from one to another WBFS partition.
ÂÂ? SCRUBÂÂ | SCÂÂ : Scrubs Wii ISO images (fills holes with zeros).

ÂÂÂÂCommands marked with '?' are not implemented yet.


Options:

ÂÂÂÂ-h --helpÂÂÂÂÂÂÂÂ Print this help, ignore other options+parameters and exit.
ÂÂÂÂ-q --quietÂÂÂÂÂÂÂÂBe quietÂÂ -> print only error messages and needed output.
ÂÂÂÂ-v --verboseÂÂÂÂÂÂBe verbose -> print as much infos as possible.
ÂÂÂÂ-t --testÂÂÂÂÂÂÂÂ Run in test mode, modify nothing.
ÂÂÂÂ-T --titles fileÂÂRead file for disc titles; -T/ disables this feature.
ÂÂÂÂÂÂ --utf-8ÂÂÂÂÂÂÂÂEnables UTF-8 support (default).
ÂÂÂÂÂÂ --no-utf-8ÂÂÂÂ DisablesÂÂUTF-8 support.

ÂÂÂÂ-A --allÂÂÂÂÂÂÂÂÂÂUse all WBFS partitions found.
ÂÂÂÂ-a --autoÂÂÂÂÂÂÂÂ Search for WBFS partitions using /proc/partitions.
ÂÂÂÂ-p --partÂÂpartÂÂ File of primary WBFS partition. Multiple usage allowed.
ÂÂÂÂ-p --partÂÂ@fileÂÂ Special case: read partition list from 'file' ('-'=stdin).
ÂÂÂÂ-P --part2 partÂÂ File of secondary WBFS partition.
ÂÂÂÂ-d --destÂÂpathÂÂ Defines a destination file/directory.
ÂÂÂÂ-s --sizeÂÂsizeÂÂ Size for a new partition. Factors: bckKmMgGtT, default=G.
ÂÂÂÂ-f --forceÂÂÂÂÂÂÂÂForce operation without query.
ÂÂÂÂ-o --overwriteÂÂÂÂOverwrite existing files
ÂÂÂÂ-0 --sparseÂÂÂÂÂÂ Enables zero block searching.
ÂÂÂÂ-C --truncÂÂÂÂÂÂÂÂTrunc ISO images while writing.
ÂÂÂÂ-r --removeÂÂÂÂÂÂ Remove source if operation is successful.
ÂÂÂÂ-l --longÂÂÂÂÂÂÂÂ Print in long format. Multiple usage possible.
ÂÂÂÂ-m --mixedÂÂÂÂÂÂÂÂPrint disc infos of all WBFS in mixex mode.
ÂÂÂÂ-u --uniqueÂÂÂÂÂÂ Eliminate multiple entries with same ID6.
ÂÂÂÂ-H --no-headerÂÂÂÂSuppress printing of header and footer.
ÂÂÂÂ-S --sortÂÂÂÂÂÂÂÂ Sort by -=none I=ID N=name R=region S=size W=WBFS D=default

ÂÂÂÂOptions marked with '?' are useless yet.


Usage:

ÂÂÂÂHELPÂÂÂÂ| ?ÂÂÂÂ[ignored]...
ÂÂÂÂERRORÂÂ | ERRÂÂ[error_code] // NOT ANY OPTION

ÂÂÂÂFINDÂÂÂÂ| FÂÂÂÂ-p part -a -A -ll -HÂÂÂÂÂÂÂÂÂÂÂÂ[wbfs_partition]...
ÂÂÂÂSPACEÂÂ | DFÂÂ -p part -a -A -lÂÂ-HÂÂÂÂÂÂÂÂÂÂÂÂ[wbfs_partition]...
ÂÂÂÂDUMPÂÂÂÂ| DPÂÂ -p part -a -A -lÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ[wbfs_partition]...

ÂÂÂÂID6ÂÂÂÂ | IDÂÂ -p part -a -AÂÂÂÂÂÂ -uÂÂÂÂ-SÂÂÂÂ[wbfs_partition]...
ÂÂÂÂLISTÂÂÂÂ| LSÂÂ -p part -a -A -l -m -u -H -SÂÂÂÂ[wbfs_partition]...
ÂÂÂÂLIST-*ÂÂ| L*ÂÂ -p part -a -A -l -m -u -H -SÂÂÂÂ[wbfs_partition]...

ÂÂÂÂFORMATÂÂ| INIT -s sizeÂÂÂÂÂÂÂÂÂÂ-fÂÂÂÂÂÂÂÂÂÂÂÂ file|blockdev...
ÂÂÂÂADDÂÂÂÂ | AÂÂÂÂ-p part -a -A -r -oÂÂÂÂÂÂÂÂÂÂÂÂ iso_image...
ÂÂÂÂEXTRACT | XÂÂÂÂ-p* -d* -a -A -u -r -o -C -0ÂÂÂÂid6...
ÂÂÂÂREMOVEÂÂ| RMÂÂ -p part -a -A -u -fÂÂÂÂÂÂÂÂÂÂÂÂ id6...

ÂÂÂÂThe options --help, --quite, --verbose, --test, --titles,
ÂÂÂÂ--utf-8 and --ansi may be used with all commands.

Last changes:
Code:
wwt V0.00c r145 - 2009-09-30

- EXTRACT & REMOVE: -tt (--test twice) => print normalized ID6 list and exit.
- EXTRACT: option --unique enabled.
- EXTRACT & ADD: progress info enabled with -vv.
- New processing of ID6 parameters.
- Bug fix: the long option --sort does'n take a parameter.
- Output of LIST improved.
- The read and write file subroutines are rewritten. ==> tests needed.
- The new option --sparse enables improved sparse handling.
 
  • Like
Reactions: cvskid

mousex

Well-Known Member
Member
Joined
Jan 23, 2009
Messages
986
Trophies
0
XP
114
Country
United States
Maybe I should read more before asking questions
tongue.gif

SVN always tells me that the Repository moved to the address I entered and that I should relocate
tongue.gif
But how can I relocate anything that I never checked out before?
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,286
Trophies
0
Location
Germany
Website
wiimmfi.de
XP
1,428
Country
Germany
mousex said:
SVN always tells me that the Repository moved to the address I entered and that I should relocate
tongue.gif
But how can I relocate anything that I never checked out before?
That URI is not the the SVN repos itself, it is only a repos viewer and co is not possible.
 

jivaros

Member
Newcomer
Joined
Sep 29, 2009
Messages
8
Trophies
0
XP
12
Country
France
Awsome tool ! It seems to be much better than the wbfs cli tools !
I' am waiting for the CHECK feature, I think no one has this feature for now ...
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,286
Trophies
0
Location
Germany
Website
wiimmfi.de
XP
1,428
Country
Germany
jivaros said:
I' am waiting for the CHECK feature, I think no one has this feature for now ...I'm waiting too
wink.gif

I have made the specification before start to implement. At I hope that I will able to implement a CHECK. But therefor I have to go deep inside WBFS.

QUOTE(cojiro @ Sep 29 2009, 10:54 PM) good work! If people like this I can make a nice GUI for it. What do you think?
Why not! I think most of the options are already stable.
 

mousex

Well-Known Member
Member
Joined
Jan 23, 2009
Messages
986
Trophies
0
XP
114
Country
United States
Wiimm said:
mousex said:
SVN always tells me that the Repository moved to the address I entered and that I should relocate
tongue.gif
But how can I relocate anything that I never checked out before?
That URI is not the the SVN repos itself, it is only a repos viewer and co is not possible.
And is there an anonymus real SVN address? Downloading the Tarball is fine but I'm used to SVN
tongue.gif
 

cojiro

Well-Known Member
Member
Joined
Apr 1, 2009
Messages
152
Trophies
0
Age
31
Location
Boston, MA
Website
Visit site
XP
151
Country
United States
Wiimm said:
jivaros said:
I' am waiting for the CHECK feature, I think no one has this feature for now ...I'm waiting too
wink.gif

I have made the specification before start to implement. At I hope that I will able to implement a CHECK. But therefor I have to go deep inside WBFS.

QUOTE(cojiro @ Sep 29 2009, 10:54 PM) good work! If people like this I can make a nice GUI for it. What do you think?
Why not! I think most of the options are already stable.
your tool has a bit more features that would make it more fool proof as a gui. I'll get working on it when I find some time!
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,286
Trophies
0
Location
Germany
Website
wiimmfi.de
XP
1,428
Country
Germany
wwt: Wiimms WBFS Tool V0.00c - 2009-09-30
A command line WBFS tool for linux.

I have updated the tool. The first post with more details is updated too.

I have tested this tool very well and the software do what I want.

But the usage is dangerous like usage of any Alpha-Software!


Please test the software! Comments are welcome!


Download: http://wiimm.de/x/wwt-v0.00c-r145.tar.gz (Documentation is included)

Last changes:
Code:
wwt V0.00c r145 - 2009-09-30

- EXTRACT & REMOVE: -tt (--test twice) => print normalized ID6 list and exit.
- EXTRACT: option --unique enabled.
- EXTRACT & ADD: progress info enabled with -vv.
- New processing of ID6 parameters.
- Bug fix: the long option --sort does'n take a parameter.
- Output of LIST improved.
- The read and write file subroutines are rewritten. ==> tests needed.
- The new option --sparse enables improved sparse handling.
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,286
Trophies
0
Location
Germany
Website
wiimmfi.de
XP
1,428
Country
Germany
mousex said:
Wiimm said:
mousex said:
SVN always tells me that the Repository moved to the address I entered and that I should relocate
tongue.gif
But how can I relocate anything that I never checked out before?
That URI is not the the SVN repos itself, it is only a repos viewer and co is not possible.
And is there an anonymus real SVN address? Downloading the Tarball is fine but I'm used to SVN
tongue.gif
Sorry, no. But I will think about it
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,286
Trophies
0
Location
Germany
Website
wiimmfi.de
XP
1,428
Country
Germany
wwt: Wiimms WBFS Tool V0.00d - 2009-10-03
A command line WBFS tool for linux.

I have updated the tool. The first post with more details is updated too.

I have tested this tool very well and the software do what I want.

But the usage is dangerous like usage of any Alpha-Software!


Please test the software! Comments are welcome!


Download: http://wiimm.de/x/wwt-v0.00d-r164.tar.gz (Documentation is included)

Last changes:
Code:
wwt V0.00d r164 - 2009-10-03

- Support for WDF images (see file 'WDF.txt', EXPERIMENTAL)
- New tools: wdf-dump, wdf2iso, iso2wdf, wdf-cat
- Option --sparse replaced by --fast.
- Scan environment variable 'WWT_WBFS' for WBFS partitions.
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,286
Trophies
0
Location
Germany
Website
wiimmfi.de
XP
1,428
Country
Germany
wwt: Wiimms WBFS Tool V0.01a - 2009-10-04
A command line WBFS tool for linux.

I have updated the tool. The first post with more details is updated too.

I have tested this tool very well and the software do what I want but I can't give any warranty. I have made different import and export (ISO and WDF) tests with about 20 games and the resulting ISO images are absolute identical as the source files.

wwt is now Beta and I'm using it as replacement for the tool 'wbfs'.


Download: http://wiimm.de/x/wwt-v0.01a-r168.tar.gz (Documentation is included)
More Infos about WDF: http://svn.wiimm.de/open/wii/trunk/wiimms-...WDF.txt?view=co

Last changes:
Code:
wwt V0.01a r168 - 2009-10-04

- WWT leaves Alpha and goes Beta!
- WDF is now productive; WDF documentation expanded.
- Extracting to WDF is now default. --iso forces ISO output.
- Bug fix: Wrong "end of disc" handling while writing a double layer ISO
ÂÂ and --trunc is not set.
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,286
Trophies
0
Location
Germany
Website
wiimmfi.de
XP
1,428
Country
Germany
wwt: Wiimms WBFS Tool v0.02a - 2009-10-05
A command line WBFS tool for linux.

I have updated the tool. The first post with more details is updated too.

I have tested this tool very well and the software do what I want but I can't give any warranty. I have made different import and export (ISO and WDF) tests with about 20 games and the resulting ISO images are absolute identical as the source files.

wwt is now Beta and I'm using it as replacement for the tool 'wbfs'.


Download: http://wiimm.de/x/wwt-v0.02a-r179.tar.gz (Documentation is included)
More Infos about WDF: http://svn.wiimm.de/open/wii/trunk/wiimms-...WDF.txt?view=co

Last changes:
Code:
wwt V0.02a r179 - 2009-10-05

- Command abbreviations are allowed if they are unambiguous.
- EXTRACT: Improved filename handling when using 'ID6=filename'.
- Enhanced error management.
- Bug fix [wdf2iso]: Couldn't create zero length files.
- From now on, the distribution has subdirectories: bin lib doc scripts
- Tools wdf-dump, iso2wdf, wdf2iso, wdf-cat: options available.
- New: scripts/test-wdf-tools.sh: test the wdf tools.
ÂÂ -> over 320000 files (mixed user files) testet without failures.
- New: scripts/time-test.sh: run time tests -> see file 'STATISTICS.txt'.
 

moparisthebest

Member
Newcomer
Joined
Sep 24, 2009
Messages
9
Trophies
0
XP
14
Country
United States
Looks like a great tool, and unlike wbfs it compiles on my 64-bit system with a minimal edit. If anyone gets the error:
Code:
$ make
***ÂÂcreate templates.sed
***ÂÂcreate version.h
***ÂÂobject debug.o
debug.c:1: error: CPU you selected does not support x86-64 instruction set
make: *** [debug.o] Error 1

Just change this line in the Makefile:
Code:
CFLAGSÂÂÂÂÂÂÂÂ= -march=i686 -fomit-frame-pointer -fno-strict-aliasing \
to
Code:
CFLAGSÂÂÂÂÂÂÂÂ= -march=x86-64 -fomit-frame-pointer -fno-strict-aliasing \

And it compiles (and appears to work) like a dream.

Thanks for the excellent open source tool.
smile.gif


edit: Minor bug report, using command DP is not recognized, but the full command DUMP works.
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,286
Trophies
0
Location
Germany
Website
wiimmfi.de
XP
1,428
Country
Germany
moparisthebest said:
Code:
CFLAGSÂÂÂÂÂÂÂÂ= -march=x86-64 -fomit-frame-pointer -fno-strict-aliasing \

And it compiles (and appears to work) like a dream.
From next distrib on you can use: XFLAGS=-march=x86-64 make
But i will thinking about using -march.

QUOTE(moparisthebest @ Oct 6 2009, 06:22 AM) edit: Minor bug report, using command DP is not recognized, but the full command DUMP works.
This is a misspelling in --help: The shortcut for 'DUMP' is 'D' and not 'DP'.
 

thefunkygibbon

Well-Known Member
Newcomer
Joined
Mar 31, 2008
Messages
86
Trophies
0
XP
364
Country
dont mean to sound dim but when running wwt FIND -A or LIST etc I just get a
Code:
!! wwt: ERROR #6 [NO WBFS FOUND] in AnalysePartitions() @ wwt-file.c#882
!! wwt: no WBFS partitions found -> abort

is there anything I need to do other than plugging the usb drive in to the machine?
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    KenniesNewName @ KenniesNewName: https://youtu.be/Ueu-y2rE16k