Hacking wwt+wit: Wiimms WBFS+ISO Tools

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
oggzee said:
Solving this should be fairly simple - switch compiler from cygwin to mingw and call a couple of windows specific apis before creating the file:
Its not so easy because many tools are missing, I have uninstalled mingw again.
 

P0ida

New Member
Newbie
Joined
Apr 11, 2010
Messages
2
Trophies
0
XP
27
Country
nvm

re-reading the answers already provided has answered my question

Thanks for this very powerful toolset
smile.gif
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
WIT: Wiimms ISO Tools v1.11a - 2010-07-26
A command line 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 http://wit.wiimm.de/features.html for more details.

Download of the current version:There are also some GUI available:
Highlights of this release:
  • The commands "wit COPY", "wwt ADD" and some others accepts the patching options --id, --name, --ios, --region and --psel to modify the ISO image on the fly. If needed, the partitons will be truscha signed.
    .
  • The new command "wit EDIT" modifies existing ISO images directly without copying.
    .
  • The command "wit DUMP" is able to print much more info. There are new keywords for the option --show: USAGE, PATCH, RELOCATE. Try "--show all,-files" to see the nearly full output.
    .
  • The GUI QtWitGui is able to handle most of this.
    .
  • Cloning a Wii disc witn an alternate ID to have more save slots can be done with one command. See Cloning a disc @ wit.wiimm.de for more info.
    .
Change log:


Code:
wit v1.10a r1386 - 2010-07-15

- wiitdb.com: Support of new languages: ru, zhcn, zhtw
- wwt ANALYZE: If option --long is set then calculated values are printed too
ÂÂ if other values are available. If option --long is set twice calculated
ÂÂ values are always printed.
- wit+wwt: Option --trunc: Truncate created PLAIN ISO image to needed size.

wit v1.10a.beta r1428 - 2010-07-24ÂÂ(correct version should be "v1.11a.beta")

- Computed line breaks for error messages.
- "wit COPY" accepts the options --id --name --ios --region to patch the
ÂÂ image while copying.
- New command: wit EDIT: Patch ISO images directly without copying.

wit v1.11a r1434 - 2010-07-26

- Option --region: endian bug fix

Missing docu:

- wit commands ILIST + EXTRACT
- Option --show => see built in help

The source is published under the license of GPL2. Checkout the sources directly from the SVN repository or browse the source. Visit http://wit.wiimm.de/ for more information.
 

deo

Member
Newcomer
Joined
Jun 20, 2009
Messages
14
Trophies
0
XP
29
Country
Brazil
Hello Wiimm,

please consider the following patch to allow the users who don't have the universal MacOSX 10.4 SDK installed, to compile without problems:

Code:
Index: makefiles-local/Makefile.local.mac
===================================================================
--- makefiles-local/Makefile.local.macÂÂÂÂ(revision 1445)
+++ makefiles-local/Makefile.local.macÂÂÂÂ(working copy)
@@ -6,9 +6,17 @@

#-----------------------------------------------------------------------------

+ifneq ($(wildcard /Developer/SDKs/MacOSX10.4u.sdk),)
+ÂÂÂÂSDKVERSION = 10.4
+ÂÂÂÂSDKROOT = /Developer/SDKs/MacOSX10.4u.sdk
+else 
+ÂÂÂÂSDKVERSION = 10.5
+ÂÂÂÂSDKROOT = /Developer/SDKs/MacOSX10.5.sdk
+endif
+
CCÂÂÂÂ = "gcc-4.0"
-CFLAGSÂÂÂÂ+= -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk
-LDFLAGSÂÂÂÂ+= -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk
+CFLAGSÂÂÂÂ+= -mmacosx-version-min=${SDKVERSION} -isysroot ${SDKROOT}
+LDFLAGSÂÂÂÂ+= -mmacosx-version-min=${SDKVERSION} -isysroot ${SDKROOT}

#-----------------------------------------------------------------------------

As always, keep the great work... ;-)

Thanks in advance.

--deo
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
WIT: Wiimms ISO Tools v1.12a - 2010-08-01
A command line 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 http://wit.wiimm.de/features.html for more details.

Download of the current version:
There are also some GUI available:

Change log:


CODEwit v1.10a.beta r1428 - 2010-07-24ÂÂ(correct version should be "v1.11a.beta")

- Computed line breaks for error messages.
- "wit COPY" accepts the options --id --name --ios --region to patch the
ÂÂ image while copying.
- New command: wit EDIT: Patch ISO images directly without copying.

wit v1.11a r1434 - 2010-07-26

- Option --region: endian bug fix

wit v1.12a r1451 - 2010-08-01

- Bug fix for option --sneek: Option --psel was not set in a correct way.
- New command: wit CREATE TICKET/TMD: Create a ticket or tmd file from
ÂÂ scratch. Options and parameters control the creation.
- Composing: If files ticket.bin or tmd.bin missed or have a wrong size
ÂÂ TICKET and/or TMD will be created automatically.
- New command: wit MIX: Mix partitions from different sources into one
ÂÂ new Wii disc image. "wit MIX" is EXPERIMENTAL!

Known bugs:

- There a new problems while reading from non seekable sources (e.g. pipes).
ÂÂ The reason is the complete new and more intelligent wiidisc lib which makes
ÂÂ more lookups. I have to insert some code especially for pipes. My plans
ÂÂ that copying multiple partition discs works too.
ÂÂ ==> The best is to use a version see built in help

The source is published under the license of GPL2. Checkout the sources directly from the SVN repository or browse the source. Visit http://wit.wiimm.de/ for more information.
 

W hat

Rhythm Heaven Fan
Member
Joined
Feb 28, 2007
Messages
632
Trophies
1
XP
697
Country
United States
Is this the beta for combining two signed partitions?

Re: Windows GUI

I have the Cygwin version of WIT, I can't find a Windows version of qtwitgui.
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
W hat said:
Is this the beta for combining two signed partitions?
Yes, its nearly the same as the last beta. "wit MIX" combines partitions.

QUOTE(W hat @ Aug 1 2010, 09:13 PM) Re: Windows GUI

I have the Cygwin version of WIT, I can't find a Windows version of qtwitgui.
In deed, the windows version is missing. I'm sure that some weeks ago there was a windows release.


EDIT:
Go to download, and search "all downloads" with an empty pattern.
Or follow this link: http://code.google.com/p/qtwitgui/download...e+DownloadCount
 

W hat

Rhythm Heaven Fan
Member
Joined
Feb 28, 2007
Messages
632
Trophies
1
XP
697
Country
United States
I don't understand the syntax for WIT MIX. If I have Wii Fit (wf.wdf) and Lego Indiana Jones (l.wdf) and they are located in F:/, what command do I use to MIX the two for Mario Kart Pwns?
 

giantpune

Well-Known Member
Member
Joined
Apr 10, 2009
Messages
2,860
Trophies
0
XP
213
Country
United States
there is a windows version of the gui still in the downloads ( r69 ), but it was designed to be used with an older version of wit. when the formatting of the output text in wit changed, it broke this version. and i have marked that version as "depreciated". maybe later ill make a newer windows version.

as far as using these to create the mariokart pwns ISO that i made, im not sure if it will work. i had to move the DATA partition to 0x50000. i believe wit always puts it at 0xf800000. this is like 0.24GB wasted and pushed my iso dangerously close to the #001 error range. then i put my new channel installer partition just ~0x20000 after the end of the DATA partition. using any predefined locations will probably give you a huge game that will not fit on a 8.5GB dvd.
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
@W hat:
If you just combine DATA partitions it is very easy:
Code:
wit mix infile1 infile2 infile3 --dest outfile
Each infile can have some optional qualifiers:
  • select mode
    "select" are exact this 6 letters in any case. mode is the same keyword list as --psel.
    It selects which source partitions should be used. If not set, only the DATA partition is used.
  • as mode
    "as" are exact this 2 letters in any case. mode is either "ptab." or "ptype" or both "ptab.ptype".
    A source partition is stored in the same partition table (ptab=0..3) with the same partition type. The 'as' qualifier overrides the defaults and defines a new partition table and/or a new partition type.
  • Example:
    "select update as data" select the update partitions and stores it as DATA partition.
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
WIT: Wiimms ISO Tools v1.13a - 2010-08-04
A command line 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 http://wit.wiimm.de/features.html for more details.

Download of the current version:There are also some GUI available:
Highlights of this release:
  • The new command wit MIX is able to mix the partitions from different sources into one new Wii disc. The user can select the source partitions and can change the partition type. Because of copying the partitions 1:1 there is no need to fake sign. See http://wit.wiimm.de/wit/cmd-mix.html for details.
    .
  • wit MIX has a special option: --overlay.
    If set the command will try to overly the partitons so that data of one partition resides in the unused areas of other partitons. This can reduce the totla image size dramatically. See http://wit.lemmi/wit/cmd-mix.html#overlay for details.
    .
Change log:


Code:
wit v1.12a r1451 - 2010-08-01

- Bug fix for option --sneek: Option --psel was not set in a correct way.
- New command: wit CREATE TICKET/TMD: Create a ticket or tmd file from
ÂÂ scratch. Options and parameters control the creation.
- Composing: If files ticket.bin or tmd.bin missed or have a wrong size
ÂÂ TICKET and/or TMD will be created automatically.
- New command: wit MIX: Mix partitions from different sources into one
ÂÂ new Wii disc image.ÂÂ*** "wit MIX" is EXPERIMENTAL! ***

wit v1.13a r1468 - 2010-08-04

- Command "wit MIX" accepts now the option --overlay: Partitions will
ÂÂ be overlayed so that data from one partition is stored in unused areas
ÂÂ of a other partition. To find the optimum order a permutation is done.
ÂÂ Option --overlay limits the number of input partitions to 12, because
ÂÂ the calculation is rated as O(2^n).ÂÂ*** "wit MIX" is EXPERIMENTAL! ***
- "wit MIX" wil accept the keyword 'psel' as alternative to 'select'.
ÂÂ The reason is that 'select' accepts the same keyword list as --psel.
- The disc subsystems recognize overlayes partitons. For overlayed
ÂÂ partitions the --psel keyword "WHOLE" is ignored.
- Command "wit DUMP" will print an info line for overlayed partitions.

Known bugs:

- There are new problems while reading from non seekable sources (e.g. pipes).
ÂÂ The reason is the complete new and more intelligent wiidisc lib which makes
ÂÂ more lookups. I have to insert some code especially for pipes. My plans
ÂÂ that copying multiple partition discs works too.
ÂÂ ==> The best is to use a version 1.01c for pipes.

Missing docu:

- wit commands ILIST + EXTRACT + EDIT + CREATE => see built in help
- Option --show => see built in help

The source is published under the license of GPL2. Checkout the sources directly from the SVN repository or browse the source. Visit http://wit.wiimm.de/ for more information.
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
WIT: Wiimms ISO Tools v1.14a - 2010-08-09
A command line 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 http://wit.wiimm.de/features.html for more details.

Download of the current version:There are also some GUI available:
Highlights of this release:
  • The command wit MIX have been improved. Each source image accept qualifiers to define options:
    • The qualifier select gives you fine control about the partitions of the image that should be copied.
    • The qualifier as defines the destination partition table and partition type.
    • The qualifier ignore defines files of the file system that should be ignored while copying. This creates large holes and makes mixing with --overlay more efficient. But it creates bad dumps and is a dirty trick to save space.
    Before creating the image an additional verify function is called. This function controls that no sector is used by more than one partition. With verbose level >=3 a usage map is printed too.
    See http://wit.wiimm.de/wit/cmd-mix.html for more details.
    .
  • If you think about the sense of all above, read MarioKart Pwns.
    .
  • There are 3 new (patching) options: --rm-files, --zero-files and --ignore-files.
    Option --ignore-files works like the "wit mix" qualifier ignore. Read this and try the command "wit dump image1 --show usage --ignore-files ruleset" to view the effect of ignored files.
    .
  • The option --psel to select partitions has changed again. It allow the selection of any specific source partitions. Read http://wit.wiimm.de/options/scrubbing.html#psel for details.
    .
Change log:


Code:
wit v1.14a r1506 - 2010-08-09

- Option --psel redesigned: it is now possible to allow or deny any partiton
ÂÂ by partiton type, partiton table and/or by partiton index. Only with the
ÂÂ unambiguous partiton index it is possible to select the one wanted DATA
ÂÂ partition if multiple exists.
- New option --rm-files: 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.
- New option --zero-files: 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.
- New option --ignore-files: This option defines filter rules to ignore
ÂÂ system and real directories and 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.
- New qualifier for "wit MIX": "IGNORE ruleset": Ignore files when copying a
ÂÂ disc image. See http://wit.wiimm.de/wit/cmd-mix.html#ignore for details.
- Some modification for expanding '@file' parameters: wit MIX needs control.
- wit MIX: A new algorithm for 2 partitions: It tries every possible shift to
ÂÂ find the best overlay. All holes in both partitions are relevant.
- wit MIX: Before creating the image a additional verify function is called.
ÂÂ This function controls that no sector is used by more than one partition.
ÂÂ With verbose level >=3 an usage map is printed too.

Known bugs:

- There are new problems while reading from non seekable sources (e.g. pipes).
ÂÂ The reason is the complete new and more intelligent wiidisc lib which makes
ÂÂ more lookups. I have to insert some code especially for pipes. My plans
ÂÂ that copying multiple partition discs works too.
ÂÂ ==> The best is to use a version 1.01c for pipes.

Missing docu:

- wit commands ILIST + EXTRACT + EDIT + CREATE => see built in help
- Option --show => see built in help

The source is published under the license of GPL2. Checkout the sources directly from the SVN repository or browse the source. Visit http://wit.wiimm.de/ for more information.
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
A WARNING FOR "WIT MIX":

I wanted to cleanup the code of "wit MIX" and now I'm not sure, if all times the correct data is copied when using the multi hole overlay. If you are using wit and something isn't working like expected then it's possible that I'm the bad guy.

I'm trying to fix it ...
 

drh

Well-Known Member
Newcomer
Joined
Nov 14, 2009
Messages
76
Trophies
0
XP
81
Country
ARRRGGHHH, I've been using Wiimms tools for several months now, but I do find the command line infuriatingly complicated.
Fortunately, I use the same commands the majority of the time, but I decided to leave this message out of desperation, because I confess WWT beat me in the end, despite re-reading the docs several times.

I needed to pull a load of discs off a HDD so I used the command:
Code:
wwt -p /dev/rdisk1s2 extract *
which worked fine until I ran out of disc space on the destination drive.

Once I sorted out the disk space issues and since the extract works through the files alphabetically, all I wanted to do was carry on pulling off all files from the letter T through Z.
After what seemed like trying hundreds of random command lines variations, I had to give up :-(

Why can't a simple command like this work!?!?!?!?!?!?
Code:
wwt -p /dev/rdisk1s2 extract T*
I mean at least if that worked, I would only need to repeat the command 6 times for the letter U-Z to finish off all the missing discs.
 

Wiimm

Developer
OP
Member
Joined
Aug 11, 2009
Messages
2,292
Trophies
1
Location
Germany
Website
wiimmfi.de
XP
1,519
Country
Germany
@drh:
In deed, its missing, but only for windows. Something lige that is already in my 2do list.

If you use an unixoide os (and it looks like mac) then

1.) Use '+' instead of '*' to avoid shell expansion.

2.) Try: wwt -p /dev/rdisk1s2 extract $(wwt -p /dev/rdisk1s2 id | grep ^T)
 

drh

Well-Known Member
Newcomer
Joined
Nov 14, 2009
Messages
76
Trophies
0
XP
81
Country
Hi Wiimm,

Its been a while since we spoke :-)

Thanks for the tip, I'm still getting missing parameters with that line:

Code:
iMac-1:wdf drh$ wwt -p /dev/rdisk4s1 extract $(wwt -p /dev/rdisk4s1 id | grep ^T)
*****ÂÂwwt: Wiimms WBFS Tool v1.14a r1506 mac - Dirk Clemens - 2010-08-09ÂÂ*****
!! wwt: ERROR #27 [MISSING PARAMETERS] in cmd_extract() @ src/wwt.c#1924
!!ÂÂÂÂÂÂmissing parameters
iMac-1:wdf drh$
 

giantpune

Well-Known Member
Member
Joined
Apr 10, 2009
Messages
2,860
Trophies
0
XP
213
Country
United States
i have questions about how to get your programs to gather data from another program. my idea is to make 2 littles programs. 1 that will run on the wii and 1 that will run on the pc and basically it will just read from the wii DVD and feed that over WiFi/usb gecko to the PC app, and then from that PC app, i can feed the data to wit/wwt. and basically it will allow to save games directly to whatever container wit supports.

since i can control what data is read from the wii, it is technically seekable. but IDK how to feed that data to wit without using a pipe. so, that makes it non-seekable and will create headaches.

what would be the preferred method to feed this data to your programs from another program?
is there a way to get that data to your programs that allows seeking and random access and all the good stuff?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://www.youtube.com/watch?v=KYZD7ykz9aQ