Dolphin, the GameCube and Wii emulator - Forums

Full Version: The State of GCZ
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I was wondering what the concensus is on using GCZ lately. I recall that there used to be some games that required GCZ to avoid certain timing bugs, while other games wouldn't work at all if you used GCZ. Have any developments with GCZ in terms of speed or compatibility happened during the transition from the Dolphin 4.0 - 5.0 era? Is using GCZ recommended, discouraged, or still somewhere in between these days?

Similarly, is CISO any better or worse than GCZ? AFAIK CISO keeps the original 32K alignment of games, while GCZ uses 16K alignment, which I've read can be problematic for some games that expect certain files to be at certain offsets.

*edit*

I guess CISO isn't actually compressed, so it's not really a fair comparison.
AFAIK GC games in GCZ are compressed lossless where for the Wii they're 'lossy' (can't recreate the exact disc, wrong MD5sum is generated).
When Dolphin switched to VS2015, a seek-bug caused TWW and a Spongebob-Game to crash at a certain point, but, at least in TWW, it could be worked around by compressing it to GCZ. (It has been fixed of course)
As the game disk is compressed, it needs to be uncompressed on the fly, using only some CPU time that isn't very noticeable (execpt for Wii games).

Some games may not compress well (Zelda OOT, 1.36 GiB -> 1.28 GiB), but some might do; i once read that Animal Crossing in GCN can be compressed to about 60MiB (due to being a N64 game).. Also, NSMBWii can be compressed from 4GiB down to 366MiB

I couldn't find and instance of GCZ causing crashes (maybe Wii games?) or fixing some timing-bugs, so i guess for at least GC games, GCZ is good enough.
(11-22-2016, 11:16 AM)Aleron Ives Wrote: [ -> ]I recall that there used to be some games that required GCZ to avoid certain timing bugs, while other games wouldn't work at all if you used GCZ. Have any developments with GCZ in terms of speed or compatibility happened during the transition from the Dolphin 4.0 - 5.0 era?

I joined in the middle of the 4.0 - 5.0 era, and I've never heard of any problems like that, other than the Wind Waker/Spongebob thing that Neui mentioned.

(11-22-2016, 11:16 AM)Aleron Ives Wrote: [ -> ]Is using GCZ recommended, discouraged, or still somewhere in between these days?

Unless you mind Wii compression not being lossless (because it includes scrubbing), there are no problems with using GCZ.

(11-22-2016, 11:16 AM)Aleron Ives Wrote: [ -> ]Similarly, is CISO any better or worse than GCZ? AFAIK CISO keeps the original 32K alignment of games, while GCZ uses 16K alignment, which I've read can be problematic for some games that expect certain files to be at certain offsets.

GCZ doesn't alter the alignment. Both should work fine, but keep in mind that CISO's only way of decreasing the file size is to remove data (which is roughly on par with GCZ for Wii games but not GameCube games).

(11-23-2016, 12:13 AM)Neui Wrote: [ -> ]AFAIK GC games in GCZ are compressed lossless where for the Wii they're 'lossy' (can't recreate the exact disc, wrong MD5sum is generated).

That's correct. Maybe it's worth nothing that this behavior isn't inherent to the GCZ format – it's just how Dolphin's compression is implemented. (Lossless GCZ compression for Wii discs saves essentially no space, so we don't provide that as an option.)

(11-23-2016, 12:13 AM)Neui Wrote: [ -> ]When Dolphin switched to VS2015, a seek-bug caused TWW and a Spongebob-Game to crash at a certain point, but, at least in TWW, it could be worked around by compressing it to GCZ. (It has been fixed of course)

That's also correct. However, it's not an advantage or disadvantage of how either format is designed or implemented. As far as I know, it's just a coincidence that some files worked and some didn't.

(11-23-2016, 12:13 AM)Neui Wrote: [ -> ]As the game disk is compressed, it needs to be uncompressed on the fly, using only some CPU time that isn't very noticeable (execpt for Wii games).

The CPU time used for GCZ decompression isn't noticeable, both for GameCube games and Wii games. The "additional difference" I was talking about in that post was that Wii games are scrubbed, which doesn't affect the performance.
Always used GCZ and never had problems. For my GC ISOs, after confirming their MD5 matches a good dump, I use Wit to scrub them (is that term correct for GC ISOs?) thus saving even more space after Dolphin compresses it to GCZ. I know the uncompressed ISO won't match anymore but I don't really care...
JosJuice Wrote:GCZ doesn't alter the alignment.
Ah, OK. I guess I just have one more question, then: does Dolphin care about sector alignment? The only tool I've been able to find to rebuild a GC ISO out of an extracted folder is GCRebuilder, and it uses 2048 byte alignment. I'm pretty sure that the alignment doesn't matter to most games and only causes problems on games that want files to be located at a specific LBA, but I want to be sure.

Rebuilt ISOs are always scrubbed (I'm pretty sure it's the right term for GC), since there's no way to know what the original garbage data was when building a new ISO from extracted files, so I figure I might as well use GCZ to save some space. GCRebuilder also has a scrubbing function for original ISOs and just calls it "Wipe garbage data".
The alignment matters to all games that use audio streaming. The files for audio streaming need a 32K alignment, or else they crash.

Other than that, if the fst is messed with, loading timings will be different. In most cases that's not a problem, but some games are sensible to that.
(11-23-2016, 07:21 PM)Aleron Ives Wrote: [ -> ]Ah, OK. I guess I just have one more question, then: does Dolphin care about sector alignment? The only tool I've been able to find to rebuild a GC ISO out of an extracted folder is GCRebuilder, and it uses 2048 byte alignment. I'm pretty sure that the alignment doesn't matter to most games and only causes problems on games that want files to be located at a specific LBA, but I want to be sure.

Dolphin doesn't care about sector alignment, but games running in Dolphin might.
Thanks for the responses, everybody. It looks like I'm not dealing with any of the streaming audio games, so the 2K alignment shouldn't be a problem for me. It's too bad there are no tools that can rebuild GC ISOs with 32K alignment, though. GCRebuilder does allow you to rebuild the ISO using game.toc, so at least the original sort order won't change, even if the LBA values will all shift a bit to accomodate new file sizes.
fstfix can fix the alignment for the files, when you broke them with another tool. But it won't be the original alignment and positioning on the files, just a 32K alignment, so audio streaming works again.
Thanks for the tip; I hadn't heard of fstfix before. It appears that not only does it align the image, but it also sorts the files alphabetically, even if the input ISO had a different sort order. I guess the alphabetical sort order would be worth it if you were dealing with a game that required 32K alignment to avoid audio crashes, but if you're not, I suppose preserving the original sort order is more important. The 2K alignment shouldn't put any "strain" on Dolphin, since it isn't reading from optical media, but I suppose 32K alignment would be worthwhile if you wanted to burn the ISO to a DVD-R.