Hacking WIT: Wiimms ISO Tools / beta test

  • Thread starter Thread starter Wiimm
  • Start date Start date
  • Views Views 44,298
  • Replies Replies 223
wiimms-tools.png


WIT: Wiimms ISO Tools v2.03a.beta1 - 2011-12-17
Beta test version, for EXPERIMENTAL use only.

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).

For productive versions see the main WIT thread or visit http://wit.wiimm.de/.

Download this EXPERIMENTAL release:

Highlights of this release:
  • I have implmented a new WBFS interface to detect and reduce WBFS errors. Most common are errors in the free blocks table. Instead of using the stored one an internal memory map of used blocks is built. This needs only a part of a second. See change log for more details.
  • Please test it!


Change log:

Code:
wit v2.03a.beta1 r3275 - 2011-12-17

- wit+wwt SKELETON: Support of GameCube images.
- New command: wwt DUP: Duplicate an existing WBFS to a new file including
block assigning errors. The idea is to have a command, that can duplicate
a defect WBFS for tests.
- Command "wwt DUMP" accept now --show for a fine control of printed data.
The dump may now contain also a usage table and a integrity check report.

- Since many versions the code contains a WBFS extension. Now I have
completed and enabled it. With this extension the WBFS "free blocks table"
is managed in a total different way:
- WBFS access: While opening a WBFS the free blocks table is ignored.
Instead of using the stored one an internal memory map of used blocks is
built. This needs only a part of a second. Some advantages:
- Errors in the free blocks table are irrelevant.
- Blocks overlaps and invalid block assignings are automatically
detected, perhaps reported, and fixed for internal usage.
- If removing a discs with overlaps, the blocks are still marked used.
- Blocks, that are not handled by the free blocks tables (table to small,
a result of a calculation bug in the original libwbfs) can be used.
If closing, a new and corrected free blocks table will be written. This
makes the whole process compatible to other WBFS managers and loaders.
- wwt ADD: Before adding a disc it size is compared against the free size
of the WBFS. This allows an early "disc full" error message.
- wwt ADD: If adding a disc to a partition a continuous memory block is
searched to minimize the (non existent) fragmentation. This disabled for
WBFS files by default because a file itself can be fragmented. 
- wwt ADD+PHANTOM --wbfs-alloc=mode: Set the WBFS block allocation mode.
- The commands "wwt CHECK", "wwt REPAIR" and "wwt EDIT" have been modified
to work with the new interface.


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 ==> The best is to use version 1.01c for pipes.

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

Site & Scene News

Popular threads in this forum