Hacking wwt+wit: Wiimms WBFS+ISO Tools

  • Thread starter Thread starter Wiimm
  • Start date Start date
  • Views Views 690,498
  • Replies Replies 1,984
  • Likes Likes 12
Right now, while WIT will work with any game, wstrt has been written specifically for Mario Kart Wii, and stuff like adding a GCT to non-MKWii DOL files isn't supported.
 
There's an issue with the current version where if the output folder contains any special characters such as the Ō in Ōkami or the ° in 1080° Snowboarding (these characters are in the included titles.txt btw) the output directory becomes wrong and weird, eg.
Code:
wit extract "C:\Games\Ōkami\Game.wbfs" "C:\Games\Ōkami" --files +/sys/main.dol --overwrite --flat

Produces the output path: C:\PathToWitExecutable\• C •\Games\Ōkami• (yes, with those weird bullet symbols)

I think it's a cygwin issue though.
 
Last edited by NoobletCheese,
How would I automatically extract patched files from a pre-patched wfbs in comparison with a vanilla wfbs? I know I need to use wit diff, but as far as I know that only prints the patched files.
 
@Wiimm, where may I obtain updated source code of wiimms-iso-tools?
I've found (https://download.wiimm.de/source/wiimms-iso-tools/):
a49c0fe7e5cf7fff7dd13fbdacb946eb wiimms-iso-tools.source-3.02a.txz
but 'gcc version 11.2.1 20210728 (Red Hat 11.2.1-1) (GCC)' throws this:
Code:
***  helper gen-ui            
/usr/bin/ld: cert.o:(.bss+0x20): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: dclib-basics.o:(.data+0xc0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: dclib-color.o:(.bss+0x80): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: dclib-debug.o:(.bss+0x80): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: dclib-file.o:(.bss+0x20): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: dclib-numeric.o:(.bss+0x20): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: dclib-option.o:(.bss+0x0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: dclib-tables.o:(.bss+0x0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: dclib-ui.o:(.bss+0x0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: dclib-utf8.o:(.bss+0x0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: dclib-vector.o:(.bss+0x20): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: dclib-xdump.o:(.bss+0x0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: file-formats.o:(.bss+0x0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: iso-interface.o:(.bss+0x8c180): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: lib-bzip2.o:(.bss+0x0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: lib-ciso.o:(.bss+0x20): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: lib-file.o:(.bss+0x20): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: lib-gcz.o:(.bss+0x20): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: lib-lzma.o:(.bss+0x0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: lib-sf.o:(.bss+0x20): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: lib-std.o:(.bss+0x400160): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: lib-wdf.o:(.bss+0x20): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: lib-wia.o:(.bss+0x0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: libwbfs.o:(.bss+0x0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: match-pattern.o:(.bss+0xe0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: patch.o:(.bss+0xc0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: titles.o:(.bss+0x60): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: tools.o:(.bss+0x0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: wbfs-interface.o:(.bss+0x1fc0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
/usr/bin/ld: wiidisc.o:(.bss+0x0): multiple definition of `ColorTab_M0_M15'; gen-ui.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:387: gen-ui] Error 1
UPDATE
Found this: https://github.com/Wiimm/wiimms-iso-tools
Source compiles now.
 
Last edited by mike333,
wiimms-tools.png


WIT: Wiimms ISO Tools v3.05a - 2022-08-27
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:

There are also some GUI available:

Change log:

Code:
wit v3.05a r8638 - 2022-08-27

 - New debug command for wit and wwt: ARGTEST: Print all scanned arguments as
   list. This helps to find out wrong parameters, especially for windows.
 - File ./sys/bi2.bin is optional now and will be created if missed.
 - File ./sys/bi2.bin offset 0x30 will be patched for a double layer image
   if the source was a single layer image.
 - Bug fix: Command wit edit --ios=NUMBER did not mark the image as modified,
   so the modified file was not written.
 - Bug fix: If only recursive sources (option --recurse) but no standard
   sources were specified, then "wit EXTRACT" was terminated prematurely.
 - Options --source=PATH and --recurse=PATH support now wildcards. In this
   case PATH is used as search pattern and all found files are added. In order
   to use this variant, the calling shell must not interpret the wildcards.
   Therefore, PATH must usually be enclosed in single or double quotes.

The source is available at github.
 
Last edited by Wiimm,
Is there a method to list ZIP files with witt on Linux?
No
How come wfuse is missing in the latest version?
It's only missed in Linux i386, because I haven't such old computer and cross compiling of wfuse failed.
The x64 version of Linux contains wfuse.

I don't think I'm high, wfuse is most definitely missing from every modern Linux release
I think you mean fuse and not wfuse. fuse is nowadays supported by most kernels. Try grep fuse /proc/filesystems.
 
Hi, it's been a long time since I wrote my last message here. I've been recently contacted by a Witgui user and learned that some games are composed of two discs, like G4BE08 - Resident Evil 4. I haven't tested this myself, but according to the user, UBSLoaderGX needs those two discs to be named game.iso and disc2.iso, accordingly. Do you know anything about this? Is wit able to detect such games and would it be able to output this information when listing games, so that Witgui can set the correct name when batch renaming games?
 
Hi. Does anyone have any idea how to deal with the following issue?
* COPY/SCRUB 1/1 ISO:[Nintendo Wii] Super Smash Bros Brawl [NTSC, Multi2].iso -> WBFS:/destination/[Nintendo Wii] Super Smash Bros Brawl [NTSC, Multi2].wbfs
!! wit: ERROR #88 [WRITE FILE FAILED] in WriteWBFS() @ src/lib-sf.c#2018
!! Write failed [F=4,4294934528+32768]: /destination/wbfs/.[Nintendo Wii] Super Smash Bros Brawl [NTSC, Mult.Ww6WVG.tmp
!! -> File too large [27]
!! wit: ERROR #88 [WRITE FILE FAILED] in WrapperWriteSector() @ src/lib-file.c#2810
!! Write failed [-=-1,0+512]:
Post automatically merged:

Hi. Does anyone have any idea how to deal with the following issue?
* COPY/SCRUB 1/1 ISO:[Nintendo Wii] Super Smash Bros Brawl [NTSC, Multi2].iso -> WBFS:/destination/[Nintendo Wii] Super Smash Bros Brawl [NTSC, Multi2].wbfs
!! wit: ERROR #88 [WRITE FILE FAILED] in WriteWBFS() @ src/lib-sf.c#2018
!! Write failed [F=4,4294934528+32768]: /destination/wbfs/.[Nintendo Wii] Super Smash Bros Brawl [NTSC, Mult.Ww6WVG.tmp
!! -> File too large [27]
!! wit: ERROR #88 [WRITE FILE FAILED] in WrapperWriteSector() @ src/lib-file.c#2810
!! Write failed [-=-1,0+512]:
 
Yeah, don't use a FAT32 system. SSBB is larger than 4GB, and a FAT32 system can't have files larger than 4GB.

Or, if that's your FAT32 USB drive for your Wii games and it needs to go on that drive, use the option "--split" to make it split the file into 4GB chunks.
 
was redirected here from the witgui support
whenever i refresh in witgui, it gives me a error and only shows 3 games out of the more downloaded. on the drive, i told the witgui support thread and was told to go here, the errors were
!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1594

!! Disc magic not found: /Volumes/WIIUSB1/wbfs/S7BP69.wbfs/#0

!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1695

!! Can't open wii disc: /Volumes/WIIUSB1/wbfs/S7BP69.wbfs/#0

!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1594

!! Disc magic not found: /Volumes/WIIUSB1/wbfs/SC8P01.wbfs/#0

!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1695

!! Can't open wii disc: /Volumes/WIIUSB1/wbfs/SC8P01.wbfs/#0

!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1594

!! Disc magic not found: /Volumes/WIIUSB1/wbfs/RYQP69.wbfs/#0

!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1695

!! Can't open wii disc: /Volumes/WIIUSB1/wbfs/RYQP69.wbfs/#0

!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1594

!! Disc magic not found: /Volumes/WIIUSB1/wbfs/RUUP01.wbfs/#0

!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1695

!! Can't open wii disc: /Volumes/WIIUSB1/wbfs/RUUP01.wbfs/#0
Post automatically merged:

i was redirected here from witgui support
some of the games dont show up on witgui when its on the drive. if i refresh, i get the error
!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1594

!! Disc magic not found: /Volumes/WIIUSB1/wbfs/S7BP69.wbfs/#0

!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1695

!! Can't open wii disc: /Volumes/WIIUSB1/wbfs/S7BP69.wbfs/#0

!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1594

!! Disc magic not found: /Volumes/WIIUSB1/wbfs/SC8P01.wbfs/#0

!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1695

!! Can't open wii disc: /Volumes/WIIUSB1/wbfs/SC8P01.wbfs/#0

!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1594

!! Disc magic not found: /Volumes/WIIUSB1/wbfs/RYQP69.wbfs/#0

!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1695

!! Can't open wii disc: /Volumes/WIIUSB1/wbfs/RYQP69.wbfs/#0

!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1594

!! Disc magic not found: /Volumes/WIIUSB1/wbfs/RUUP01.wbfs/#0

!! ERROR in wd_open_disc() @ src/libwbfs/wiidisc.c#1695


!! Can't open wii disc: /Volumes/WIIUSB1/wbfs/RUUP01.wbfs/#0
any way to fix this?
 
Hey guys, I'm sure this types of questions and issues are extremely common, but I can't get wit's tools to do anything. They puke out errors left and right. I either don't have a WBFS partittion, it can't find files or it refuses to extract isos. It also says it can't create directories. I used to be able to do my own custom MKWii isos with this tool, but idk what I'm doing wrong. I'm willing to get the command to puke out the errors again just to show you and hopefully get an answer. The reason I wanna use the tool is because I wanted to add some Rock Band 3 mods to my game, but I can't use the tools. Any help would be greatly appreciated.
 
hello i would like to ask a request. i use to modify isos example fatal frame 4 in order to apply in iso the english translation. i used wiiscrubber back then. but both wiiscrubber and this tool have one drawback if i want to play the burned dvd and yes i know thats old and outdated compared to faster and more reliable usb method. but i would like to play it on dvd drive the issue is if the game partition is modified the wii will not accept the disk. original untouched iso will burn and not regected by the wii. looks like something is broken when partition is modified is there a way to recreate the partition and wii accept it. or can it be looked for future wiimms relese? yes i know im 1 of the very few who like disks. for wbfs modified image from hdd this tool is amazing and flawles though
 
hello i would like to ask a request. i use to modify isos example fatal frame 4 in order to apply in iso the english translation. i used wiiscrubber back then. but both wiiscrubber and this tool have one drawback if i want to play the burned dvd and yes i know thats old and outdated compared to faster and more reliable usb method. but i would like to play it on dvd drive the issue is if the game partition is modified the wii will not accept the disk. original untouched iso will burn and not regected by the wii. looks like something is broken when partition is modified is there a way to recreate the partition and wii accept it. or can it be looked for future wiimms relese? yes i know im 1 of the very few who like disks. for wbfs modified image from hdd this tool is amazing and flawles though

What are you using to launch the disc? Have you tried ULGX's disc loader feature?
 
with official disk chanel. it can launch any burn dvd as long the partitions are untouched. for every modified game example fatal frame 4 english. fatal frame 2 undub i can launch only via neogamma beta. if im on wii menu the modified games will black screen the wii and error mesage will appear complaining for the disk and the only thing i can do is reboot
 
hey, i have been attempting to rebuild a Super Smash Bros. Brawl ISO which i already extracted with wit, but the partitions of partition table 1 (the VC channel partitions) are always ignored. i have tried using the psel argument to resolve this (both --psel ALL and --psel DATA,PTAB1) but the outcome is the same. is this a bug? i am using v3.05a.
 

Site & Scene News

Popular threads in this forum