Hacking WIT: Wiimms ISO Tools / beta test

  • Thread starter Thread starter Wiimm
  • Start date Start date
  • Views Views 44,301
  • Replies Replies 223
use copy and slash instead of backslash: Try: wit copy C:/R27E54/disc new.iso -v

all though that command you gave me didnt work
i managed to mess with wit enough that i finally have it doing exactly what i need it to do

thanks so much for your help wiimm!!!!!!!!!!!
 
Just curious, has any progress been made with wit converting GC games? I'm getting reports that discex works better\differently than wit.exe
I started with GC support at the day when Dios Mios was born and I stopped it at its death. And now I spent my time for the szs (Mario Kart) project.
 
Just curious, has any progress been made with wit converting GC games? I'm getting reports that discex works better\differently than wit.exe
I started with GC support at the day when Dios Mios was born and I stopped it at its death.
Meaning it is now a zombie. ;)
 
@wiimm, dios mios may have died but from the ashes came dios mios lite! I personally would really appreciate it if you continued developing wit's GC image conversion for sneek. Anyways, if you have no plans to work on it further please let me know so I can consider supporting both wit and discex in ModMii (discex for iso's and wit for everything else).

Whether you expand on this feature or not, you have my gratitude. Cheers buddy.
 
If I remember right, extracting works.

EDIT:
Tested, it works! (Hope it works correct)
I think I have stopped the development when I planned trimming and image creation.
 
While I agree that it will extract the game image, I'm not sure if it's doing so correctly for GC games. In the ModMii thread I've had 2 or 3 ppl tell me that when using wit (via ModMii) to convert GC games it will not work with DML, but if they use discex to convert the same image it will work. So basically discex and wit have different output for gc games or all games, but it's definitely an issue only for GC games and not all games.
 
While I agree that it will extract the game image, I'm not sure if it's doing so correctly for GC games. In the ModMii thread I've had 2 or 3 ppl tell me that when using wit (via ModMii) to convert GC games it will not work with DML, but if they use discex to convert the same image it will work. So basically discex and wit have different output for gc games or all games, but it's definitely an issue only for GC games and not all games.

i think it is because Disc-ex aligns all GC games by 32 bytes(i could be wrong too)
 
@wiimm

i have no ideal about FS chunk sizes but i remember reading something about crediar saying he had to redo the Gamecube extraction from v7 of disc-ex to v8 because he needed to make sure all files were aligned by 32 bytes(i may be wrong though)
 
After a first test I see the result of extraction without options:
* Some sys/* files are extracted.
* A copy of the source iso image is done.
That's nearly nothing.

For further analysis I need the command(s) that are used for extracting a gc game with discex.
 
After a first test I see the result of extraction without options:
* Some sys/* files are extracted.
* A copy of the source iso image is done.
That's nearly nothing.

For further analysis I need the command(s) that are used for extracting a gc game with discex.

yep its kinda weird how he has it set up but it works

good luck with trying to see the source code have asked several times but never seen it
 
Next question:
I have compared my and DiscEx extraction of the sys/* files and I have found exact one difference (the file "boot.bin"):

Code:
diff -u
 
that is saying basically the same thing isnt it? the boot.bin is mostly 0x00 anyways. there is also this audio streaming byte in there that may be causing the blackscreens - audio streaming always seems to be some sort of issue with gamecube games.
 
@giant: yes, its the same.


This bash script (a similar windows script is also possible) does nearly the same as the DescEx tool called without options:
Code:
#!/bin/bash
# (c) Wiimm, 2011-10-17

DESTBASE="./games"
GC_FILES='+/sys/apploader.img;+/sys/bi2.bin;+/sys/boot.bin'

if [[ $# = 0 ]]
then
printf "\nusage: %s image...\n\n" "${0##*/}" >&2
exit 1
fi

for src in "$@"
do
if [[ ! -f "$src" ]]
then
printf "\n!! Image not found: %s\n\n" "$src" >&2
exit 1
fi

info=($(wit filetype "$src" -lH))
id="${info[1]}"
type="${info[0]#*/}"
ftype="${info[0]%/*}"
if [[ $id = "" || ( $type != "GC" && $type != "WII" ) ]]
then
printf "\n!! Unknown image type: %s\n\n" "$src" >&2
exit 1
fi

dest="$DESTBASE/$id"
rm -rf "$dest"

if [[ $type = GC ]]
then
printf "\n** extract GameCube.%s image: %s [%s] **\n\n" "$ftype" "$src" "$id"

wit extract --flat "$src" --DEST "$dest/sys" --files "$GC_FILES"
if [[ $ftype != ISO ]] || ! ln -f "$src" "$dest/game.iso" 2>/dev/null
then
wit copy "$src" "$dest/game.iso" -vv
fi
else
printf "\n** extract Wii.%s image: %s [%s] **\n\n" "$ftype" "$src" "$id"

wit extract "$src" --DEST "$dest" --psel data --sneek -vv
fi
done

Differences:
  • My script allows multiple source images in one command line.
  • Supported input formats of my script are: ISO, CISO (=WBI), WBFS, WDF, WIA.
  • My script stores all in a subdirectory named "./games/". This can be changed by editing the top of the script.
  • If a GameCube image is already in ISO format, then it is linked instead of copied (much faster). If linking fails, it is also copied.
  • GameCube disc only: File "sys/boot.bin" is a copy from the disc. DiscEx creates a new one and copy only id, title and magic.
  • Wii disc only: DiscEx fill the file "sys/main.dol" at the end with zeros until the next 0x100 boundary. Don't know why?
  • My script is much faster (tested with MyScript/Linux & DiscEx/Windows / the linux system is a little bit (~1.3) faster):
    Animal Crossing/Wii: My script= 11 sec, DiscEx= 182 sec
    Mario Kart DD/GC: My script= 0.2 sec (19 sec if copying and not linking), DiscEx= 127 sec

I have only made a view tests with some disc images. Please tell me, if you know/find more differences.
 
I'm on the way to implement a discex like extraction handling. I have some questions and because I have never used/tested *neek, I hope you may help me.

For GameGube discs only some system files are extracted and the image is copied 1:1 to "game.iso". But what should I do for a multiboot disc?

For Wii discs discex extracts all file exactly like "wit extract --sneek" does. But I remember that Giant ask/told me about a file part.bin. Is it necessary or fine to have? Is this only a raw copy of the data partition? Or is it decrypted and hash removed?
 
I'm on the way to implement a discex like extraction handling. I have some questions and because I have never used/tested *neek, I hope you may help me.

For GameGube discs only some system files are extracted and the image is copied 1:1 to "game.iso". But what should I do for a multiboot disc?

For Wii discs discex extracts all file exactly like "wit extract --sneek" does. But I remember that Giant ask/told me about a file part.bin. Is it necessary or fine to have? Is this only a raw copy of the data partition? Or is it decrypted and hash removed?

i am not sure on the multi boot disc

as for part.bin never seen it in any of my disc-ex game folders

the data partition is decrypted then wrote to files from the fst.bin i believe is how it works

but i am no coder so i am probably no help to you for this stuff
 
the part.bin is something that was supported in sneek's di module when it was first released. it was just a copy of the decrypted partition as 1 huge file. support for playing games in that format was dropped from sneek a while ago.
 

Site & Scene News

Popular threads in this forum