Difference between revisions of "Save disk space for ISOs"

From Emulation General Wiki
Jump to navigation Jump to search
(Decompression on Demand: Any Frontends are okay with it I think)
(ECM)
Line 48: Line 48:
 
* '''Tools Used:'''  PakkISO or ECM Tools (from emuparadise download page). Drag-and-drop the iso on the specific tool, then compress it with 7zip.
 
* '''Tools Used:'''  PakkISO or ECM Tools (from emuparadise download page). Drag-and-drop the iso on the specific tool, then compress it with 7zip.
  
* '''Can be reverted?''' Yes. Using same tools (unECM). There's a data loss (error correction data) which can damage a select few games.
+
* '''Can be reverted?''' Yes. Using same tools (unECM). There's a data loss (error correction data) which can damage a select few games. Check the hash with Redump to make sure nothing was altered.
 
* '''Playable on Hardware?''' No.
 
* '''Playable on Hardware?''' No.
 
* '''Playable on Emulators?''' Only recent SVN builds of PCSX-R and ePSXe (they also support 7zip/gzip/zip archives so use them with ECM). Other emulators don't, so you convert manually the ECM dump to an ISO dump whenever you want to play it.
 
* '''Playable on Emulators?''' Only recent SVN builds of PCSX-R and ePSXe (they also support 7zip/gzip/zip archives so use them with ECM). Other emulators don't, so you convert manually the ECM dump to an ISO dump whenever you want to play it.

Revision as of 21:38, 4 October 2015

ISOs are faithful software recreations of game disks. However, at 700 MB (CD) / 1.4 GB (GC Mini-DVD) / 4.7 GB (single-layered DVD) / 25 GB (Blu-Ray), they can get pretty taxing to disk storage, as newer generations of consoles come.

It wouldn't be so bad if not for the fact that the actually useful game data is often only a fraction of that data size - for instance, the Mario 25th Anniversary Wii disk is a 4.7GB game with only a single SNES rom and nothing else (12 MB of useful data, to be precise). So naturally, one would want to trim the extra fat as much as possible. This is what this improved version of a previous guide aims to help for.

How does one lighten ISO / ROM dumps?

There are many ways. Some alter the dump copy forever. Some are playable on only some specific emulators. And many light dumps are unplayable on real hardware (though a bunch are). All depending on the method and the console. So you might want to consider all of this before.

Audio-CD

Sega-CD, PC-Engine, PlayStation, Sega Saturn... what did these have in common was their reliance on the regular CD format. Game developers stored often orchestrated/Redbook music and occasionally voice acting, using the Audio-CD format. Of course, the CD contained also game data.

But it was terribly inefficient when it comes to disk storage. Even a 700 MB CD containing nothing but Audio-CD data can hold at most around 80 minutes worth of sound data.

That's why devs no longer used it, preferring custom audio formats included in the "game data" part of the disk. By the time the PS1 gen came, the Audio-CD part was just used for messages like "Don't put this in a CD player, dumb user!" and little else (exceptions exist, of course!)

  • Full Dump:
    BIN/ISO + CUE


BIN/ISO is the full disk data, including Audio-CD sound data and game data
CUE is the datasheet file

  • Light Dump:
    ISO + MP3/WAV + CUE


ISO is the disk data with only the game data
MP3/WAV is the sound data from the Audio-CD, but these formats take much less disk space
CUE is the datasheet file

  • Archive-quality dump? No
  • Gain: Several hundreds of MBs to just a few dozen, depending on how much this specific game relies on the Audio-CD sound format
  • Tools Used: Load the BIN+CUE using a virtual drive, then use a CD dumping tool
  • Can be reverted? Yes, just burn the ISO+MP3/WAV+CUE again using a CD burner tool (ImgBurner) either to a physical disk, or as a ISO+BIN file.
  • Playable on Hardware? No, but can be reverted to be
  • Playable on Emulators? Yes (use virtual drive if needed). Some aren't compatible with MP3 so convert to WAV with MP32WAV if that's the case. You may need Sega Cue Maker.

Examples:

  • Princess Crown (SAT): 574 MB > 72 MB (Game Data) + 50 MB (Audio-CD data in MP3 format)
  • Captain Tsubasa (SCD): 512 MB > 146 MB (Game Data) + 3 MB (audio as MP3) > (as 7zip) 34 MB (Game Data) + 3 MB (audio)

Padding

Devs often have their games much, much bigger than they need to be. They put garbage data in the disk. Garbage data isn't game data and just bloats the disk size. It's either a sequence of 00/FF (you know what's inside a file if you open it with a hex editor) or randomized garbage data.

Its purpose can be to fill in some spots in the disk so that specific parts of game data are in specific areas of the disk (like the borders) and hence the drive's reading speed is quick enough in these spots for the game to work properly. It's in the best of your interests not to mess with this data arrangement (referred to as LBA and TOC in the case of GC/Wii/PS2/PSP) or else the game might not even work in some cases (it might in others though).

BUT-- the most common bar none use for this is to screw with pirates and people who download ISOs off online sharing websites, by making the ISO bigger and harder to download. Some go a little step further and make that garbage data not just a sequence of 00/FF to make the ISO much, much harder to compress using regular archive formats like zip/7zip/rar... You might be overjoyed to learn this has become the industry standard nowadays.

PlayStation 1

ECM

  • Archive-quality dump? No
  • Gain: Not Immediate (ISO size doesn't change). ECM only zeroes out redundant error correction data (but in some rare cases this data may be used for anti-piracy, hence corrupting the dump!). When coupled to a compressed archive format (7zip/gzip/zip) however it achieves drastic size reductions.
  • Tools Used: PakkISO or ECM Tools (from emuparadise download page). Drag-and-drop the iso on the specific tool, then compress it with 7zip.
  • Can be reverted? Yes. Using same tools (unECM). There's a data loss (error correction data) which can damage a select few games. Check the hash with Redump to make sure nothing was altered.
  • Playable on Hardware? No.
  • Playable on Emulators? Only recent SVN builds of PCSX-R and ePSXe (they also support 7zip/gzip/zip archives so use them with ECM). Other emulators don't, so you convert manually the ECM dump to an ISO dump whenever you want to play it.

PBP (PSP Format for PS1 Images)

  • Archive-quality dump? No
  • Gain: Immediate (ISO size decreases a lot). Official format used by Sony for PS1 dumps on PSP.
  • Tools Used: PSX2PSP. Generates an EBOOT.PBP file.
  • Can be reverted? Yes. Using same tool, to generate BIN+CUE files. There's negligible data loss.
  • Playable on Hardware? On PSP, not on PS1.
  • Playable on Emulators? Retroarch, mednafen, PCSX-R and ePSXe.

PlayStation 2

Manual Scrubbing + GZIP Compression

Often, you can open the ISO in UltraISO and find the dummy files. Sometimes they're obvious looking files like DUMMY.BIN, DATA0.BIN (or .DAT), DUMMY.DAT, etc. Or folders named "PADDING" and stuff like that. You can look into the files (with a hex editor) to see if they're obvious padding data (full of 00/FF, though sometimes it's not as obvious).

However, you must never mess with LBA and TOC when removing padding. So you try change the size of the padding file inside the ISO to 0 MB, or alter it directly with a hex editor so that it's all zeroed out.

  • Archive-quality dump? Yes
  • Gain: Not Immediate (ISO dump size the same). Coupled with compression, however... the gain is really noticeable.
  • Tools Used: UltraISO
  • Can be reverted? Not really. Garbage data here is zeroed out, it's not important and you still have the same disk data structure.
  • Playable on Hardware? Yes.
  • Playable on Emulators? Yes.

You may forego the manual scrubbing part entirely. If you feel adventurous you might want to do it to enhance compression though. Let's get to the meaty part though...

The PCSX2 emulator supports opening compressed archives containing ISOs. The best format it supports would be GZIP.

Use 7zip ("Add to archive..." then choose gzip) or Pigz (multi-threaded, much faster compression) to generate gzip archives containing the ISO file in question. PCSX2 will build an index of each gzip compressed game it loads (as a file in the same directory as the gzip archive), so after the first time where you'll have to wait for the decompression, in all subsequent times there is no speed difference between playing an uncompressed and compressed game. Of course, you can extract the ISO back from the GZIP archive.

CSO (aka CISO)

  • Archive-quality dump? Yes
  • Gain: Immediate (ISO dump size the same). Coupled with manual scrubbing, it can be bigger. Not as much of a gain as GZIP though.
  • Tools Used: maxcso
  • Can be reverted? Yes. Using same tool.
  • Playable on Hardware? NO
  • Playable on Emulators? Yes - PCSX2.

PlayStation Portable

CSO (aka CISO)

  • Archive-quality dump? Yes
  • Gain: Immediate (ISO dump size lowers). Substantial, depending on game. Increases load times on real hardware but not emulators.
  • Tools Used: CISO, CISO GUI, UMDGen or PSP ISO Compressor


CISO GUI (CISO is command line-based): Drag-and-drop ISO file on program, Select compression level (1 to 9 (Max)), "Compress", and choose directory for saving the new CSO file.
UMDGen is a PSP ISO editor. You can save to either the CSO format with this.

  • Can be reverted? Yes. Using same tools, but saving to ISO (Uncompressed) format. No data loss.
  • Playable on Hardware? Yes. Longer load times though.
  • Playable on Emulators? Yes. PPSSPP.

DreamCast

CHD Archive Format

  • Archive-quality dump? Yes
  • Gain: Immediate (ROM dump size lowers).
  • Tools Used: GDI to CHD converter.
  • Can be reverted? No.
  • Playable on Hardware? No
  • Playable on Emulators? Yes - Demul and Reicast

GameCube / Wii

Some examples:

  • Super Mario Anniversary (Wii): 4.7 GB (original) > 12 MB (GCZ) (!!)
  • Super Smash Bros Brawl (Wii): 7.8 GB (original) > 7.1 GB (GCZ) (main cause is FMV's low compression)
  • Xenoblade PAL (Wii): 7.8 GB (original) > 6.3 GB (GCZ)
  • Super Mario Galaxy 2 (Wii): 4.7 GB (original) > 1.8 GB (GCZ)
  • Tales of Graces (Wii): 4.7 GB (original) > 4.2 GB (GCZ) (game data already fills the disk)
  • Animal Crossing (GC): 1.4 GB (original) > 26 MB (GCZ)
  • Zelda Four Swords Plus Japan (GC): 1.4 GB (original) > 480 MB (GCZ)
  • Zelda Twilight Princess (GC): 1.4 GB (original) > 1.4 GB (GCZ) (game data already fills the disk)
  • Megaman Collection (GC): 1.4 GB (original) > 1.1 GB (original) (sound data is stored as uncompressed stream to fill disk)

Dolphin can't play game dumps off compressed archives (7zip/zip/gzip/rar...) directly.

People used to resort to WiiScrubber (Wii) and GCM Utility (GC) to scrub/trim games to end up with dumps that while they had no immediate size change, their randomized garbage data (like "dummy", "padding" or "znull") was still there but zeroed out making archived dumps using zip/7zip/rar formats have stunning gains (from 1.4GB uncompressed to 26MB zipped for Animal Crossing for example!). Of course the file still needed to be uncompressed to its full size everytime you wanted to play it.

NOTE: Trimming and scrubbing (in Wiiscrubber terms) aren't the same! While they both are terms for "zeroing garbage data" to make it more compression-friendly, trimming does not just that like scrubbing, but takes the extra step of relocating the garbage data to the end of the file, hence altering its TOC and requiring the disc to be fakesigned, for a not-so-big compression gain. Hence why scrubbing is by far the most authentic and safe way to solve the garbage data problem.

However compressed formats incorporating the "padding zeroing" part were made since then, and Dolphin supports them! (Of course, if you're into modding/rom-hacking games, the previous tools might be of interest to you, but this is a story for another time...)

GCZ (Dolphin native archive format) - GC/Wii

  • Archive-quality dump? Yes for GC games, No for Wii games (doesn't keep MD5 hash)
  • Gain: Immediate (ISO dump size lowers). Considerable, depending on game.
  • Tools Used: Dolphin emulator
    You need to add the games in your game list under Dolphin (Configuration/Paths).


Select game in game list (you can hold Shift and select multiple ones).
Right-click and choose "Compress selected ISOs". Choose a directory.
It saves a compressed GCZ copy. You might want to delete the original uncompressed ISO.

  • Can be reverted? Yes. You can right-click on the GCZ-compressed (in blue) ISOs in Dolphin and choose "Uncompress selected ISOs". Garbage data is still there but zeroed out, which has no effect since it's randomized anyways.
  • Playable on Hardware? No
  • Playable on Emulators? Only Dolphin.

WBFS - Wii-only

  • Archive-quality dump? Yes
  • Gain: Immediate (ISO dump size lowers). Considerable, depending on game.
  • Tools Used: Wii Backup Manager
    Under the "Files" section, choose "Add" then choose the ISO file you're converting.


Tool is compatible with ISO, CSO (aka CISO) and WBFS disk dumps. When you're done, select the ISO files you added.
Under "Transfer", use the destination format. So, in our case, WBFS. Choose the directory to save it.
It saves a copy in the WFBS format. You might want to delete the original uncompressed ISO.

  • Can be reverted? Yes. You "Add" the WBFS disk dump and "Transfer" it to the "ISO" format. Garbage data is still there but zeroed out, which has no effect since it's randomized anyways.
  • Playable on Hardware? Yes!! WBFS dumps are playable on Wii.
  • Playable on Emulators? Yes - Dolphin

CSO (aka CISO) - Wii-only

  • Archive-quality dump? Yes
  • Gain: Immediate (ISO dump size lowers). Less than WBFS.
  • Tools Used: Wii Backup Manager. Same as above, but "Transfer" to "CISO".
  • Can be reverted? Yes. You "Add" the CSO disk dump and "Transfer" it to the "ISO" format. Garbage data is still there but zeroed out, which has no effect since it's randomized anyways.
  • Playable on Hardware? No
  • Playable on Emulators? Yes - Dolphin

GameBoy Advance / Nintendo DS / Nintendo 3DS

Trimming

  • Archive-quality dump? ABSOLUTELY NOT
  • Gain: Immediate (ROM dump size lowers).
  • Tools Used: NDSTokyoTrim (GBA/DS/3DS), rom_tool (3DS)
    NDSTokyoTrim: Drag-and-drop roms, and press "Trim". The original file will be overwritten!
  • Can be reverted? No. Sometimes it damages the game's functionality irreversibly.
  • Playable on Hardware? Yes, same file format.
  • Playable on Emulators? Yes

While it doesn't affect the game's functionality by much other than being a smaller regular ROM, it's not advisable though to trim in many cases, including GBA games in general. Rebuilding the internal structure of the rom might even destroy the game's functionality in the few games where it does matter (for example Golden Sun DS).

Xbox 360

It's certainly better than keeping 8.5GB images, but the conversion is too substantial and irreversible to be suitable for archival purposes, since it affects data structure tables as well.

XEX (Xbox Executable) + Data folder (a.k.a Spilling The ISO Guts)

  • Archive-quality dump? ABSOLUTELY NOT
  • Gain: Immediate (total file size decreases). It still works with Xenia
  • Tools Used: XBOX 360 ISO Extract, Exiso-GUI or Exiso. (These might be useful for rom-hacking too I guess?)
  • Can be reverted? ISO could be rebuilt, though not accurately.
  • Playable on Hardware? Probably Not.
  • Playable on Emulators? Yes - Xenia.

Rebuilt ISO

  • Archive-quality dump? ABSOLUTELY NOT
  • Gain: Immediate (total file size decreases). It still works with Xenia.
  • Tools Used: ISO2GOD (also a "Games on Demand" X360 image convertor).
    Under Settings, set the output and rebuild path to the same location. Check "Always save rebuilt ISO" and set Padding to "Full (ISO Rebuild)", then save changes.
    "Add ISO", and press "Convert". Keep generated ISO, and delete generated folder.
  • Can be reverted? The padding quantity information alongside the original data structure is lost forever.
  • Playable on Hardware? Yes. If the rebuilding process didn't damage anything vital.
  • Playable on Emulators? Yes - Xenia.

Other Tricks

Storage Tricks

These methods have the advantage of being compatible with EVERY emulator, even those without proper support for compressed ISO/archive formats.

NTFS Compression

You can enable filesystem-level compression (like "NTFS Compression" in Windows) for the directory containing your ISOs/ROMs. This has a very noticeable space gain and doesn't affect the emulator's functionality. It's surprisingly more effective than many people would like to give this credit.

Decompression on Demand

You can keep your ROMs/ISOs compressed in a 7zip archive and use RocketLauncher or any other Frontends to decompress 7zip archives and pass the contents onto the emulator.

LET'S PLAY GAME BUTCHERING GAME

Of course, there are also the devs who don't merely use garbage data for padding, but also bloat the game data part. For instance, Tengai Makyou IV PSP has a specific FMV movie duplicated a dozen times, and the Megaman Collection on GC stores its sound data using an uncompressed format bringing the size of that portion alone to 1GB. In many of these cases, there's just not much you can do about it without destructively altering game data.

So what do some people do? Note when I say "delete" it often means replacing the file with a 1KB dummy file to prevent the ISO file structure from collapsing on itself. Of course, it's not like some idiots care anyways about keeping the thing in a semi-playable state.

  • They delete all videos: this brings Super Smash Bros Brawl to 4.7GB.
  • They delete all voice acting and occasionally sound and music: this brings Xenoblade PAL to 4.2 GB with even only one of both dubs removed.
  • They delete unused content you could get with emulator cheats like rooms and stuff
  • They delete "extra" languages other than English
  • If game has multiple quests, they delete some characters / quests they don't like. Especially seen in compilations and stuff with demos included.

Since this results in most of the case in very noticeable detrimental effects in gameplay (if the game doesn't crash outright), this is nothing short of mutilating the game image, and the fuckers doing this then instead of keeping it for personal use are instead uploading the game to "archive" it (bonus points if they remove chunks from the game to make room for a shitty intro screen) while being proud of themselves, have a special spot in Hell.

tl;dr: Avoid.

This page was based partially on this guide.