Editing Save disk space for ISOs

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
Disc images (commonly known as ISOs, but ISO is actually a specific format) are faithful software recreations of game discs (when made correctly). However, with disc sizes ranging from 700 MB (CD), 900 MB (PSP single-layered UMD), 1 GB (DC GD), 1.46 GB (GCN Mini-DVD), 1.8 GB (PSP dual-layered UMD), 4.7 GB (single-layered DVD), 8.5 GB (dual-layered DVD), 25 GB (single-layered Blu-Ray), and 50 GB (dual-layered Blu-Ray), they can get pretty taxing for storage, especially when newer generations of consoles games are getting bigger in file sizes.  
+
ISOs are faithful software recreations of game discs. However, with disc sizes ranging from 700 MB (CD), 1.4 GB (GC Mini-DVD), 4.7 GB (single-layered DVD), and 25 GB (Blu-Ray), they can get pretty taxing for storage, especially when newer generations of consoles games are getting bigger in file sizes.  
  
It wouldn't be so bad if not for the fact that the game data itself is often times only a fraction of the actual disc size - for instance, the ''Super Mario 25th Anniversary'' Wii disc itself is a 4.7GB, when really the actual game data is only a single SNES ROM (12 MB of useful data, to be precise) and nothing else. Naturally, one would want to trim this extra "fat" as much as possible, which is what this page aims to help to achieve.  Most of the information here is based partially on this [https://www.reddit.com/r/emulation/comments/3g933n/guide_reduce_the_size_of_your_ps2_gc_wii_x360_ds/ guide].
+
It wouldn't be so bad if not for the fact that the game data itself is often times only a fraction of the actual disc size - for instance, the ''Super Mario 25th Anniversary'' Wii disc itself is a 4.7GB game, when really the actual game data is only a single SNES ROM (12 MB of useful data, to be precise) and nothing else. Naturally, one would want to trim this extra "fat" as much as possible, which is what this page aims to help to achieve.  Most of the information here is based partially on this [https://www.reddit.com/r/emulation/comments/3g933n/guide_reduce_the_size_of_your_ps2_gc_wii_x360_ds/ guide].
  
 
'''How does one lighten ISO / ROM dumps?'''  
 
'''How does one lighten ISO / ROM dumps?'''  
  
There are many ways, some methods alter the data forever while others can be converted back and forth with generally no loss. Some conversions are only playable on specific emulators and may not work on real hardware depending on the console and the method used.  It's important to take all this into consideration before attempting as most of these are console-specific.
+
There are many ways, some methods alter the data forever while others can be converted back and forth with generally no lost. Some conversion are only playable on specific emulators and may not work on real hardware depending on the console and the method used.  It's important to take all this into consideration before attempting as most of these are console-specific.
  
'''Archive-quality''' dumps are ones that when converted back to its original state, will have the same checksum as the official uncompressed release. Compressions that can't be reversed, or those that can be but will have missing or altered content whether it interferes with functionality (rebuilt table of content) or not, are not archive-quality. For example, the WBFS format, used for shrinking Wii discs, is not archive-quality since it may be missing padding content and upgrade partitions (which have their uses in 3DS/Wii modding) compared to an intact, uncompressed dump.
+
Archive-quality dumps are ones that when converted back to its original state, will have the same checksum as the official uncompressed release. Compressions that can't be reversed, or those that can be but will have missing or altered content whether it interferes with functionality (rebuilt table of content) or not, are not archive-quality. For example, the WBFS format, used for shrinking Wii discs, is not archive-quality since it may be missing padding content and upgrade partitions (which have their uses in 3DS/Wii modding) compared to an intact, uncompressed dump.
  
 
==Applicable to All Platforms==
 
==Applicable to All Platforms==
 
===Audio-CD===
 
===Audio-CD===
PCs, Sega-CD, PC-Engine, PlayStation, Sega Saturn... what do these systems all have in common?  They all use a regular CD format! Game developers often stored music and other sounds using the Audio-CD format, but it was terribly inefficient when it comes to disc storage as it also had to store the actual game along with the sound files (commonly known as a "mixed CD"), and these sound files are never compressed because the Audio-CD standard simply doesn't allow for sound compression. To put it in perspective, a 700 MB CD containing nothing but Audio-CD data can hold at most around 80 minutes worth of sound data, meaning games that used a lot of sounds were limited in size.
+
Sega-CD, PC-Engine, PlayStation, Sega Saturn... what do these all have in common?  They all use a regular CD format! Game developers often stored music and other sounds using the Audio-CD format, but it was terribly inefficient when it comes to disc storage as it also had to store the actual game along with the sound files. To put it in perspective, a 700 MB CD containing nothing but Audio-CD data can hold at most around 80 minutes worth of sound data, meaning games that used a lot sounds where limited in size.
  
Because these mixed CDs are difficult to properly archive just by using standard .ISO files, data-dumping software will usually do one of two things as a workaround:
+
Since then developers no longer use Audio-CD format and instead prefer custom audio formats that come included in the "game data" part of the disc. By the time the PS1 generation came, the Audio-CD part was just used for messages like "Don't put this in a CD player!" and little else (exceptions exist, of course!)
: '''Full Dump:''' BIN/ISO + CUE
 
:* BIN/ISO is the full disc data, including Audio-CD sound data and game data
 
:* CUE is the datasheet file
 
: '''Light Dump:''' ISO + MP3/FLAC/WAV + CUE
 
:* ISO is the disc data with only the game data
 
:* MP3/FLAC/WAV is the sound data from the Audio-CD, but these formats take much less disk space
 
:* CUE is the datasheet file
 
 
 
Developers have long since stopped using the Audio-CD format, and instead prefer custom audio formats that come included in the "game data" part of the disc. By the launch of the fifth generation CD-based consoles, i.e. the [[PlayStation emulators|PS1]] & the [[Sega Saturn emulators|Saturn]], it was more common than not to just use the Audio-CD part for messages like "Don't put this in a CD player!" and little else. That being said, there were still quite a few fifth-gen games that used Audio-CD data for their soundtracks, such as ''Vib-Ribbon'' and the ''Wipeout'' trilogy on the PS1, and ''Battle Garegga'' and ''Daytona USA'' on the Saturn.
 
  
 +
* '''Full Dump:''' <br>BIN/ISO + CUE
 +
<br>BIN/ISO is the full disc data, including Audio-CD sound data and game data
 +
<br>CUE is the datasheet file
 +
* '''Light Dump:''' <br>ISO + MP3/WAV + CUE
 +
<br>ISO is the disc data with only the game data
 +
<br>MP3/WAV is the sound data from the Audio-CD, but these formats take much less disk space
 +
<br>CUE is the datasheet file
 
* '''Archive-quality dump?''' No (unless audio is converted to and from uncompressed formats, which is unlikely)
 
* '''Archive-quality dump?''' No (unless audio is converted to and from uncompressed formats, which is unlikely)
 
* '''Gain:''' Several hundreds of MBs to just a few dozens, depending on how much this specific game relies on the Audio-CD sound format
 
* '''Gain:''' Several hundreds of MBs to just a few dozens, 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
 
* '''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/FLAC/WAV+CUE again using a CD burner tool (ImgBurner) either to a physical disk or as an ISO+BIN file. Lossy audio formats will result in data loss.
+
* '''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 an ISO+BIN file. Lossy audio formats will result in data loss.
 
* '''Playable on Hardware?''' No, but can be reverted to be
 
* '''Playable on Hardware?''' No, but can be reverted to be
* '''Playable on Emulators?''' Anything that supports loading from .cue files, or direct from the optical drive (if you use a virtual disc loader like CDEmu). Some aren't compatible with MP3, if that's the case, convert them to WAV with MP32WAV. You may need Sega Cue Maker.
+
* '''Playable on Emulators?''' Yes (use virtual drive if needed). Some aren't compatible with MP3, if that's the case, convert them to WAV with MP32WAV. You may need Sega Cue Maker.
  
 
Examples:
 
Examples:
Line 49: Line 47:
  
 
===CHD Compression===
 
===CHD Compression===
* '''Archive-quality dump?''' No (because of bugs and missing unimplemented directives<ref>http://problemkaputt.de/psxspx-cdrom-disk-images-chd-mame.htm#CHD_Notes</ref><ref>http://github.com/mamedev/mame/issues/10308</ref>)
+
* '''Archive-quality dump?''' Yes
 
* '''Gain:''' Immediate
 
* '''Gain:''' Immediate
 
* '''Tools Used:'''  chdman (included with MAME)
 
* '''Tools Used:'''  chdman (included with MAME)
 
* '''Can be reverted?''' Yes, using extractcd (included with MAME)
 
* '''Can be reverted?''' Yes, using extractcd (included with MAME)
 
* '''Playable on Hardware?''' No.
 
* '''Playable on Hardware?''' No.
* '''Playable on Emulators?''' MAME, DuckStation, PCSX2 (since March of 2021), PPSSPP, DEmul and NO$PSX. Some libretro cores for other emulators are starting to add support.
+
* '''Playable on Emulators?''' Only MAME and DEmul. Some libretro cores for other emulators are starting to add support.
 
* '''Can process multi track bin files?''' Yes.
 
* '''Can process multi track bin files?''' Yes.
  
MAME uses the CHD format for disc images in general and includes tools to convert back and forth. Before MAME v145, CHD was in version 4 and it bumped to version 5 from MAME v146 and further. The CHDv5 uses 7zip's LZMA compression on the game data and lossless FLAC compression for the audio data to optimize compression even further than using BIN+CUE+MP3/WAV data separation alone. CHDv5 is lossy until all the bugs are resolved.
+
MAME uses the CHD format for disc images in general and includes tools to convert back and forth. It uses 7zip's LZMA compression on the game data and lossless FLAC compression for the audio data to optimize compression even further than using BIN+CUE+MP3/WAV data separation alone.
  
 
'''Instructions'''
 
'''Instructions'''
Place the chdman executable and extractcd in the same directory as the dumps you want to compress (dumps must be in BIN+CUE format or GDI).  Open Command Prompt or a terminal emulator and navigate to the directory where you placed the chdman executable and input one of the following:
+
Place chdman.exe and extractcd in the same directory as the dumps you want to compress (dumps must be in BIN+CUE format).  Open Command Prompt and navigate to the directory where you placed chdman.exe and input one of the following:
* BIN/CUE-GDI to CHD:
+
* BIN/CUE to CHD: <code>for %i in (*.cue) do chdman createcd -i "%i" -o "%~ni.chd"</code> (Windows)
for /R %i in (*.cue, *.gdi) do chdman createcd -i "%i" -o "%~ni.chd" (Windows)
+
* CHD to BIN/CUE: <code>for %i in (*.chd) do chdman extractcd -i "%i" -o "%~ni.cue"</code> (Windows)
for i in *.(cue|gdi); do chdman createcd -i "$i" -o "${i%.*}.chd"; done (Linux)
 
* CHD to BIN/CUE:  
 
for /R %i in (*.chd) do chdman extractcd -i "%i" -o "%~ni.cue" (Windows)
 
for i in *.chd; do chdman extractcd -i "$i" -o "${i%.*}.cue"; done (Linux)
 
 
Alternatively, if you only need to do one file you can use this: <code>chdman createcd -i "<FILENAME>.cue" -o "<FILENAME>.chd"</code>
 
Alternatively, if you only need to do one file you can use this: <code>chdman createcd -i "<FILENAME>.cue" -o "<FILENAME>.chd"</code>
  
 
If you have one of the European PSX games that features LibCrypt copy protection, then you will have a .sbi file in addition to the .bin/cue file.  You will still need to have the .sbi file in the same directory as the game file (in this case, the newly created CHD file) in order to run.
 
If you have one of the European PSX games that features LibCrypt copy protection, then you will have a .sbi file in addition to the .bin/cue file.  You will still need to have the .sbi file in the same directory as the game file (in this case, the newly created CHD file) in order to run.
 
Note that multi-track bin files will be combined and chdman will not split the files back when extracting.
 
  
 
==PlayStation 1==
 
==PlayStation 1==
 
===ECM===
 
===ECM===
 
* '''Archive-quality dump?''' No (removes error correction data permanently)
 
* '''Archive-quality dump?''' No (removes error correction data permanently)
* '''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! However it does achieves drastic size reductions when compressed to an archive format (7zip/gzip/zip) .
+
* '''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. Drag-and-drop the ISO onto the specified 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 the same tools (unECM), however there is data loss (error correction data) which can damage a select few games. Check the hash with Redump to make sure nothing was altered.
+
* '''Can be reverted?''' Yes, using the same tools (unECM). However, there's 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 on recent SVN builds of PCSX-R and ePSXe (they also support 7zip/gzip/zip archives so use them with ECM).
+
* '''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)===
 
===PBP (PSP Format for PS1 Images)===
 
* '''Archive-quality dump?''' No
 
* '''Archive-quality dump?''' No
 
* '''Gain:''' Immediate (ISO size decreases a lot).
 
* '''Gain:''' Immediate (ISO size decreases a lot).
* '''Tools Used:''' [https://www.reddit.com/r/PSP/wiki/psx2psp PSX2PSP], Popstation MD GUI, [https://github.com/sahlberg/pop-fe POP-fe] (PS3 friendly), ...
+
* '''Tools Used:''' [https://www.reddit.com/r/PSP/wiki/psx2psp PSX2PSP], Popstation MD GUI, [https://www.psx-place.com/threads/w-i-p-utilities-cdda-enabler-for-psx-eboots-on-ps3.23539/ CDDA-ENABLER] (optimized for PS3) ...
* '''Can be reverted?''' Yes. For homemade EBOOTs it can be done by using the same tool to generate the BIN+CUE files. For commercial releases from PSN you will have to use [https://github.com/xdotnano/PSXtract PSXtract]. There's data loss, but it's negligible in terms of functionality.
+
 
 +
* '''Can be reverted?''' Yes. (For homemade EBOOTs) by using the same tool, to generate BIN+CUE files; (for commercial releases from PSN) [https://github.com/xdotnano/PSXtract PSXtract]. There's data loss, although it's negligible in terms of functionality.
 
* '''Playable on Hardware?''' On PSP, not on PS1.
 
* '''Playable on Hardware?''' On PSP, not on PS1.
* '''Playable on Emulators?''' PCSX-R, DuckStation and ePSXe. PlayStation 3's ps1_netemu can also use it after packaging it into a PS1 Classic and installing said package.
+
* '''Playable on Emulators?''' RetroArch, PCSX-R, and ePSXe. PlayStation 3's ps1_netemu (after packaging into a PS1 Classic and installation of said package).
  
PBP is the official format used by Sony for the PS1 Classics on PSP and PS3. Audio tracks may be compressed in ATRAC3 or as raw PCM (unsupported on PS3's ps1_netemu, supported on PSP only by the earliest versions of POPS or the newest ones with the [http://wololo.net/talk/viewtopic.php?f=28&t=41330&start=60 cdda_enabler plugin])
+
Official format used by Sony for PS1 Classics on PSP and PS3. Audio tracks may be compressed in ATRAC3, or as raw PCM (unsupported on PS3's ps1_netemu, supported on PSP only by the earliest versions of POPS or the newest ones with the [http://wololo.net/talk/viewtopic.php?f=28&t=41330&start=60 cdda_enabler plugin])
 
 
===CHD===
 
* '''Archive-quality dump?''' No (because of bugs and unimplemented directives for TOC and CUE)
 
* '''Gain:''' Immediate (better than PBP).
 
* '''Tools Used:'''  chdman
 
* '''Can be reverted?''' Yes, using the same tool (chdman).
 
* '''Playable on Hardware?''' No.
 
* '''Playable on Emulators?''' libretro Beetle PSX, Avocado, DuckStation, PCSX2 (since March of 2021 and also because PCSX2 now has PSOne emulation functionality as well, so two-in-one), ares, PCSX ReARMed and NO$PSX.
 
  
 
==PlayStation 2==
 
==PlayStation 2==
 
===Manual Scrubbing + GZIP Compression===
 
===Manual Scrubbing + GZIP Compression===
Often times you can just open the ISO in UltraISO and find the dummy files. Sometimes they are obvious looking files, like DUMMY.BIN, DATA0.BIN (or .DAT), DUMMY.DAT, etc., or are folders with names like "PADDING" and such. You can look into the files (with a hex editor) to see if they're obviously padding data (usually the offsets will be 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 to 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.--><!--Wording is too weird to figure out what it's say, will fix when more information is obtained-->
+
Often, you can open the ISO in UltraISO and find the dummy files. Sometimes they're obviously 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 to 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?''' No (missing data)
 
* '''Archive-quality dump?''' No (missing data)
* '''Gain:''' Not Immediate (ISO dump size the same), however when used with compression the gain is really noticeable.
+
* '''Gain:''' Not Immediate (ISO dump size the same). Coupled with compression, however... the gain is really noticeable.
* '''Tools Used:'''  UltraISO, USBUtil, ExPERT/Xpert ([http://www.ps2-home.com/forum/viewtopic.php?t=3419 guides here])
+
* '''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.
 
* '''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 (after GZIP-decompression) (some games may break)
+
* '''Playable on Hardware?''' Yes.
* '''Playable on Emulators?''' Yes - PCSX2 (some games may break)
+
* '''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...
 
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...
Line 117: Line 104:
  
 
Use 7zip ("Add to archive..." then choose to 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.
 
Use 7zip ("Add to archive..." then choose to 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.
 
A simple method to mass convert a lot of PS2 ISO games to GZIP is this script when run in PowerShell.  However, it'll take many hours or days depending on the size of the collection.
 
<blockquote>dir *.iso | ForEach-Object { & "C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 -sdel ($_.Name+".gz") $_.Name }</blockquote>
 
  
 
===CSO (aka CISO)===
 
===CSO (aka CISO)===
* '''Archive-quality dump?''' Yes
+
* '''Archive-quality dump?''' No (missing data)
 
* '''Gain:''' Immediate (ISO dump size the same). Coupled with manual scrubbing, it can be bigger. Not as much of a gain as GZIP though.
 
* '''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
 
* '''Tools Used:''' maxcso
Line 128: Line 112:
 
* '''Playable on Hardware?''' NO
 
* '''Playable on Hardware?''' NO
 
* '''Playable on Emulators?''' Yes - PCSX2.
 
* '''Playable on Emulators?''' Yes - PCSX2.
 
===ZSO (aka ZISO)===
 
* '''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:''' [https://github.com/unknownbrackets/maxcso#features maxcso], [https://github.com/ps2homebrew/Open-PS2-Loader/blob/master/pc/ziso.py ziso.py (requires python3 and pip install lz4)], [https://www.psx-place.com/resources/psxiso-compression-tool.1258/ PSXiSO (contains ziso CLI tool)]
 
* '''Can be reverted?''' Yes, using the same tool. No data loss.
 
* '''Playable on Hardware?''' Yes - Open PS2 Loader.
 
* '''Playable on Emulators?''' Yes - PCSX2 (since v1.7.5293)<ref>[https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5293 v1.7.5293]</ref>
 
 
===CHD===
 
* '''Archive-quality dump?''' Yes
 
* '''Gain:''' Immediate (better than GZIP).
 
* '''Tools Used:'''  chdman
 
* '''Can be reverted?''' Yes, using the same tool (chdman).
 
* '''Playable on Hardware?''' No.
 
* '''Playable on Emulators?''' Yes - PCSX2 (since v1.7.0-dev-1156)<ref>Added in 1150 but wasn't built. 1156 is the first release with CHD support. [https://web.archive.org/web/20210416020418/https://buildbot.orphis.net/pcsx2/index.php?m=fulllist Automated Pcsx2 builds]</ref>
 
 
==PlayStation 3==
 
===Extracted files (aka JB format/GAMES)===
 
* '''Archive-quality dump?''' Not directly (BD filesystem metadata lost).
 
* '''Gain:''' Immediate (any padding between files is removed).
 
* '''Tools Used:''' Most on-console file managers and *man homebrews, 7-Zip and other standard ISO extractors on PC.
 
* '''Can be reverted?''' Yes, using PS3 ISO Rebuilder and an [http://jonnysp.bplaced.net/ IRD file] representing the original file locations. Generic inaccurate JB to ISO conversions possible with makeps3iso (preferred) or genps3iso.
 
* '''Playable on Hardware?''' Yes - on CFW/HEN
 
* '''Playable on Emulators?''' Yes - RPCS3
 
 
For a long time (before the availability of Cobra and Mamba) the only playable format for PS3 backups (relying on little more than "peek and poke" CFW-provided syscalls to mount the game's folder over the currently inserted disc) but also the least accurate one, with significant compatibility issues (varying on whether the backup is stored on an internal or external drive, whether an original game disc is currently inserted, various optional hacks such as "BDMirror" moving the files to the root of the external drive on demand, ...)
 
 
===ISO support for RPCS3===
 
Currently [[Save_disk_space_for_ISOs#External_links|there is no direct ISO or any compressed file support for RPCS3]] (your only option is mount ISO image to boot the game with RPCS3).
 
 
*You can either use [https://github.com/RPCS3/rpcs3/issues/4021#issuecomment-1650682400 this tool], or [https://github.com/ptmorris1/RPCS3-ISOLauncher-Launchbox this one] for playing directly your ISO dumps with RPCS3.
 
 
*or use [https://www.mediafire.com/file/v5yslivyurr5luy/Make_sure_edit_path_locations_first.bat/file this simple batch script] ('''edit path locations first of course''') which mounts your ISO using powershell commands and launching it using RPCS3 CLI commands and ejecting it when you done with RPCS3
 
  
 
==PlayStation Portable==
 
==PlayStation Portable==
Line 168: Line 118:
 
* '''Gain:''' Immediate (ISO dump size lowers). Substantial, depending on game. Higher compression levels generally produce decreasing space gains while potentially increasing load times. Some tools allow for leaving audio/video content uncompressed.
 
* '''Gain:''' Immediate (ISO dump size lowers). Substantial, depending on game. Higher compression levels generally produce decreasing space gains while potentially increasing load times. Some tools allow for leaving audio/video content uncompressed.
 
* '''Tools Used:'''  CISO, CISO GUI, maxcso, UMDGen, PSP ISO Compressor, CISO Multi Compressor, CISO XP, ...
 
* '''Tools Used:'''  CISO, CISO GUI, maxcso, UMDGen, PSP ISO Compressor, CISO Multi Compressor, CISO XP, ...
 +
<br />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. 
 +
<br />UMDGen is a PSP ISO editor. You can save to either the CSO format with this.
 
* '''Can be reverted?''' Yes, using the same tools and saving in ISO (uncompressed) format. No data loss.
 
* '''Can be reverted?''' Yes, using the same tools and saving in ISO (uncompressed) format. No data loss.
 
* '''Playable on Hardware?''' Yes - most CFWs (Possibly longer load times though).
 
* '''Playable on Hardware?''' Yes - most CFWs (Possibly longer load times though).
 
* '''Playable on Emulators?''' Yes - PPSSPP.
 
* '''Playable on Emulators?''' Yes - PPSSPP.
 
CISO GUI and CISO XP: 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.
 
  
 
===DAX, JSO, ZSO===
 
===DAX, JSO, ZSO===
Line 188: Line 136:
  
 
Official format for digitally distributed PSP/minis (partially related to the one used for PS1 games), containing a compressed disc image and optionally a custom boot logo.
 
Official format for digitally distributed PSP/minis (partially related to the one used for PS1 games), containing a compressed disc image and optionally a custom boot logo.
 
===CHD===
 
* '''Archive-quality dump?''' Yes
 
* '''Gain:''' Immediate (Less than PBP).
 
* '''Tools Used:'''  chdman
 
* '''Can be reverted?''' Yes, using the same tool (chdman).
 
* '''Playable on Hardware?''' No.
 
* '''Playable on Emulators?''' Yes - PPSSPP.
 
 
==PlayStation Vita==
 
===Trimming===
 
* '''Archive-quality dump?''' No, but trivially undoable.
 
* '''Gain:''' Immediate (ROM size lowers).
 
* '''Tools Used:''' None - [https://github.com/motoharu-gosuto/psvgamesd#trimming-zeroes manual process]
 
* '''Can be reverted?''' Yes (see above).
 
* '''Playable on Hardware?''' Yes - with psvgamesd.
 
* '''Playable on Emulators?''' ?
 
 
The psvgamesd gamecard backup creation and mounting tools supports mounting a trimmed backup (although no tools exist for dumping directly in trimmed format, or converting between full and trimmed.
 
 
Neither variant of the .psv format (unrelated to the Cobra Blackfin's .psv format) has caught on, despite being the most accurate options for physical game backups.
 
 
 
===Extracted files (NoNpDRM format)===
 
* '''Archive-quality dump?''' No for physical titles, close enough (and generally accepted as such) but no cigar for digital ones.
 
* '''Gain:''' Immediate (compared to ROM).
 
* '''Tools Used:''' NoNpDRM plugin + a file manager like VitaShell.
 
* '''Can be reverted?''' No.
 
* '''Playable on Hardware?''' Yes - with the NoNpDRM plugin.
 
* '''Playable on Emulators?''' Yes - Vita3K
 
 
NoNpDRM is a Vita plugin that generates decrypted licenses (valid for any console) when running an original Vita title, as well as allowing the system to accept those licenses, allowing for playing the encrypted files directly copied from a game card or memory card (by extension the name is therefore also used for such files, or the combination of the game's files and a decrypted license).
 
 
NoPsmDRM is the equivalent for PlayStation Mobile titles.
 
 
An hypothetical NoPspEmuDRM, allowing for PSP/PS1 eboots to be natively runnable and manageable from the LiveArea/Content Manager, is currently not known to exist nor believed to be in development.
 
  
 
==Dreamcast==
 
==Dreamcast==
 
===CHD Archive Format===
 
===CHD Archive Format===
* '''Archive-quality dump?''' CHD v4: No (missing data due to lossy compression, no gameplay issues). CHD v5: Possibly Archive-quality.
+
* '''Archive-quality dump?''' No (missing data, no gameplay issues)
 
* '''Gain:''' Immediate (ROM dump size lowers).
 
* '''Gain:''' Immediate (ROM dump size lowers).
 
* '''Tools Used:''' GDI to CHD converter.
 
* '''Tools Used:''' GDI to CHD converter.
* '''Can be reverted?''' Yes with CHD v5.
+
* '''Can be reverted?''' No.
 
* '''Playable on Hardware?''' No
 
* '''Playable on Hardware?''' No
* '''Playable on Emulators?''' Yes - DEmul, Reicast, Flycast, and Redream
+
* '''Playable on Emulators?''' Yes - DEmul, Reicast and Redream
  
 
==GameCube / Wii==
 
==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 (GCZ) (sound data is stored as uncompressed stream to fill disk)
  
 
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.
 
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.
Line 241: Line 164:
  
 
However compressed formats incorporating the "padding zeroing" part were made since then, and Dolphin supports them! These are the WBFS and GCZ formats.
 
However compressed formats incorporating the "padding zeroing" part were made since then, and Dolphin supports them! These are the WBFS and GCZ formats.
 
Dolphin can't play games directly from compressed archives (7zip/zip/gzip/rar...). Instead, it utilizes its own compression method.
 
  
 
===GCZ (Dolphin native archive format) - GC/Wii===
 
===GCZ (Dolphin native archive format) - GC/Wii===
  
'''This format has been deprecated in favor of [[#RVZ (Modern Dolphin format) - GC/Wii|RVZ]].'''
+
Dolphin can't play games directly from compressed archives (7zip/zip/gzip/rar...). Instead, it utilizes its own compression method.
  
* '''Archive-quality dump?''' Yes (Not directly if scrubbed; see reverting notes)
+
* '''Archive-quality dump?''' Yes for GC games, Not directly for Wii games (Can be restored with NKit).
* '''Gain:''' Immediate. Depends on the game. It is very minimal if junk data is not removed (scrubbed).
+
* '''Gain:''' Immediate (ISO dump size lowers). Considerable, depending on the game.
* '''Tools Used:''' Dolphin (right-click the game(s) in the games list and select "Convert File..." (or "Convert Selected Files..." if more than one is selected), and select GCZ), or [https://wit.wiimm.de/ wit (Wiimms ISO Tools)], Nkit (for indirect recovery)
+
* '''Tools Used:''' Dolphin (right-click the game(s) in the games list and select "Compress ISO..." (or "Compressed selected ISOs..." if more than one is selected)), [https://wiki.gbatemp.net/wiki/NKit NKit], or [https://wit.wiimm.de/ wit (Wiimms ISO Tools)]
* '''Can be reverted?''' Yes (Directly for non-scrubbed files. For scrubbed files, first convert to ISO, then use Nkit tool's "Recover to ISO" option)
+
* '''Can be reverted?''' Yes. You can right-click on the GCZ-compressed (in blue) ISOs in Dolphin and choose "Uncompress selected ISOs". Garbage data for Wii titles will be zeroed out and thus different from the official dump but will have no effect on gameplay in most cases - if desired can be unscrubbed [https://gbatemp.net/threads/new-app-nkit-restore-shrink-and-preserve-disc-images-in-playable-formerly-swiit.533402/ NKitRestore].
 
* '''Playable on Hardware?''' No
 
* '''Playable on Hardware?''' No
* '''Playable on Emulators?''' Yes (Dolphin)
+
* '''Playable on Emulators?''' Only Dolphin.
 
 
===RVZ (Modern Dolphin format) - GC/Wii===
 
 
 
The Dolphin team developed a new compression format based on WIA called RVZ. Usage is very similar to GCZ in Dolphin itself, but it only works on newer Dolphin versions. It can efficiently compress both the actual data and junk data, without altering the file/directory structure.
 
 
 
* '''Archive-quality dump?''' Yes
 
* '''Gain:''' Immediate. Considerable, depending on the game.
 
* '''Tools Used:''' Dolphin 5.0-12188+ (right-click the game(s) in the game list and select "Convert File..." (or "Convert Selected Files..." if more than one is selected), and select RVZ)
 
* '''Can be reverted?''' Yes (In Dolphin, right-click the game, select "Convert File..." and select ISO)
 
* '''Playable on Hardware?''' No
 
* '''Playable on Emulators?''' Yes (Dolphin 5.0-12188+)
 
  
 
===Scrubbing and Trimming - GC/Wii===
 
===Scrubbing and Trimming - GC/Wii===
 
* '''Archive-quality dump?''' Not directly, see note about reversing.
 
* '''Archive-quality dump?''' Not directly, see note about reversing.
 
* '''Gain:''' Not Immediate for just scrubbing (ISO dump size the same); Immediate for trimming (ISO dump size lowers).
 
* '''Gain:''' Not Immediate for just scrubbing (ISO dump size the same); Immediate for trimming (ISO dump size lowers).
* '''Tools Used:''' GC-Tool ("wipe garbage data..." - Scrubbing for GameCube), GameCube ISO Trimmer (scrubbing and trimming for GameCube), WiiScrubber (scrubbing/trimming for Wii, although compressing with Dolphin will scrub it anyways).
+
* '''Tools Used:''' GC-Tool ("wipe garbage data..." - Scrubbing for GameCube), GameCube ISO Trimmer (scrubbing and trimming for GameCube), WiiScrubber (scrubbing for Wii, although compressing with Dolphin will scrub it anyways).
 
* '''Can be reverted?''' Yes, with WiiScrubber's undo file or NKit.
 
* '''Can be reverted?''' Yes, with WiiScrubber's undo file or NKit.
* '''Playable on Hardware?''' Yes for scrubbed; some games won't work trimmed.
+
* '''Playable on Hardware?''' Yes for scrubbing; some games won't work trimmed.
* '''Playable on Emulators?''' Yes for scrubbed; some games won't work trimmed.
+
* '''Playable on Emulators?''' Yes for scrubbing; some games won't work trimmed.
  
 
Scrubbing games zeros out garbage/dummy data in the ISO file. The resulting file will be the same size, but it will be able to compress better than unmodified ISOs. The difference can be huge depending on the game. Animal Crossing, for instance, will compress to just a 26 MB .gcz file after being scrubbed!
 
Scrubbing games zeros out garbage/dummy data in the ISO file. The resulting file will be the same size, but it will be able to compress better than unmodified ISOs. The difference can be huge depending on the game. Animal Crossing, for instance, will compress to just a 26 MB .gcz file after being scrubbed!
Line 279: Line 189:
  
 
===WBFS - Wii only===
 
===WBFS - Wii only===
* '''Archive-quality dump?''' Not directly; see reverting notes.
+
* '''Archive-quality dump?''' Not directly, see note about reversing.
 
* '''Gain:''' Immediate (ISO dump size lowers). Considerable, depending on the game.
 
* '''Gain:''' Immediate (ISO dump size lowers). Considerable, depending on the game.
 
* '''Tools Used:''' [http://www.wiibackupmanager.co.uk/downloads.html Wii Backup Manager] (after adding your game, go to "Transfer" and select "WBFS") or wit (Wiimms ISO Tools).
 
* '''Tools Used:''' [http://www.wiibackupmanager.co.uk/downloads.html Wii Backup Manager] (after adding your game, go to "Transfer" and select "WBFS") or wit (Wiimms ISO Tools).
* '''Can be reverted?''' Maybe. WBFS files can always be converted back to ISO, but they will remain scrubbed (can be unscrubbed with NKitRestore) and, depending on settings at the time of conversion to WBFS, may be missing update/extras partitions (can be readded with wit or NKitRestore and a copy of the missing data).
+
* '''Can be reverted?''' Maybe. WBFS files can always be converted back to ISO, but they will remain scrubbed (can be unscrubbed with NKitRestore) and, depending on settings at the time of conversion to WBFS, may be missing update/extras partitions (can be laboriously readded with wit and a copy of the missing data).
* '''Playable on Hardware?''' Yes - Preferred format by most SD/USB loaders
+
* '''Playable on Hardware?''' '''Yes - Preferred format by most SD/USB loaders'''
* '''Playable on Emulators?''' Yes (Dolphin)
+
* '''Playable on Emulators?''' Yes - Dolphin
  
 
A scrubbed and sparse (gap-dropping) format directly derived from the one used in the obsolete WBFS file system.
 
A scrubbed and sparse (gap-dropping) format directly derived from the one used in the obsolete WBFS file system.
 
Ideal space-saving option for Wii games to be played via an USB loader.
 
  
 
===CSO (aka CISO) - GC/Wii===
 
===CSO (aka CISO) - GC/Wii===
* '''Archive-quality dump?''' Not directly, see note about reversing.
+
* '''Archive-quality dump?''' (Gamecube) Not clear; (Wii) Not directly, see note about reversing.
 
* '''Gain:''' Immediate (ISO dump size lowers). Less than WBFS.
 
* '''Gain:''' Immediate (ISO dump size lowers). Less than WBFS.
 
* '''Tools Used:''' Wii Backup Manager (same as above, but select "CISO" - possibly Wii only), wit
 
* '''Tools Used:''' Wii Backup Manager (same as above, but select "CISO" - possibly Wii only), wit
* '''Can be reverted?''' Maybe (same caveats as WBFS).
+
* '''Can be reverted?''' Maybe. CISO files can always be converted back to ISO, but they will remain scrubbed (can be unscrubbed with NKitRestore).
 
* '''Playable on Hardware?''' Yes (on Wii/Vwii only) - Nintendont for Gamecube games, uLoader for Wii games
 
* '''Playable on Hardware?''' Yes (on Wii/Vwii only) - Nintendont for Gamecube games, uLoader for Wii games
* '''Playable on Emulators?''' Yes (Dolphin)
+
* '''Playable on Emulators?''' Yes - Dolphin
  
 
A scrubbed and sparse (gap-dropping) format. Unrelated to the PSP's CSO format.
 
A scrubbed and sparse (gap-dropping) format. Unrelated to the PSP's CSO format.
  
Great space-saving option for Gamecube games to be played on Nintendont.
+
===WIA (Wii ISO Archive) - Wii only?===
 
+
* '''Archive-quality dump?''' Not directly unless --raw option is given, effectively preventing any space savings.
===FST (extracted File System) - GC/Wii===
+
* '''Gain:''' Immediate (ISO dump size lowers). Less than WBFS.
 
+
* '''Tools Used:''' wit
* '''Archive-quality dump?''' No (Yes, if not scrubbed)
+
* '''Can be reverted?''' Maybe. Just as the previous formats, WIA files can always be converted back to ISO, but the conversion may be lossy (reversible with added work) depending on conversion settings.
* '''Gain:''' Very low with GC ISOs, much better with Wii ones. Can also be combined with classic archives compression (ZIP/RAR/7z etc.) to match WIA and NKit compression ratios.
 
* '''Tools Used:''' [https://wit.wiimm.de/info/composing.html wit]
 
* '''Can be reverted?''' Partially via the align-files.txt created by wit when extracting.
 
* '''Playable on Hardware?''' GC games on Wii/Vwii: Yes ([https://github.com/FIX94/Nintendont/ Nintendont]) / Other combinations: No
 
* '''Playable on Emulators?''' Yes (Dolphin)
 
 
 
This has the advantage of easy experimenting with [[#Destructive Modification]]. Includes all disadvantages of trimming.
 
 
 
===WIA (Wii ISO Archive) - GC/Wii===
 
* '''Archive-quality dump?''' Not directly; see reverting notes (Yes, if not scrubbed)
 
* '''Gain:''' Immediate (ISO dump size lowers); more than WBFS. (No gain if not scrubbed and compression not used)
 
* '''Tools Used:''' wit, Dolphin 5.0-12188+, Nkit (for indirect recovery)
 
* '''Can be reverted?''' Yes (Directly, if not scrubbed. Not directly, if scrubbed, by converting it to ISO first, and then using Nkit tool's "Recover to ISO" option)
 
 
* '''Playable on Hardware?''' No
 
* '''Playable on Hardware?''' No
* '''Playable on Emulators?''' Yes (Dolphin 5.0-12188+)
+
* '''Playable on Emulators?''' No
  
A scrubbed and compressed format designed for maximum space savings without cutting corners on corruption detection, but it's not directly editable. Never really caught on and may be considered de facto deprecated by NKit.
+
A scrubbed and compressed format designed for maximum space savings without cutting corners on corruption detection, but it's not directly playable or editable. Never really caught on and may be considered de facto deprecated by NKit.
  
 
===NKit formats - GC/Wii===
 
===NKit formats - GC/Wii===
'''This format has been deprecated in favor of [[#RVZ (Modern Dolphin format) - GC/Wii|RVZ]]. ([https://github.com/Nanook/NKit/wiki Developer's Wiki])'''
+
* '''Archive-quality dump?''' Yes - by explicit design choice!
* '''Archive-quality dump?''' Yes (Not for Wii games, if the Wii update partition is removed and the recovery file not preserved)
+
* '''Gain:''' Immediate or not depending on choice of GCZ- or ISO-based output.
* '''Gain:''' Immediate
+
* '''Tools Used:''' NKit.
* '''Tools Used:''' NKit
+
* '''Can be reverted?''' Yes!
* '''Can be reverted?''' Yes (unless the Wii update partition was removed and the recovery file not preserved)
+
* '''Playable on Hardware?''' (GC) Yes? (Wii) No
* '''Playable on Hardware?''' GC: Yes (ISO variant only) / Wii: No
+
* '''Playable on Emulators?''' Yes - Dolphin
* '''Playable on Emulators?''' Yes (Dolphin)
 
  
Apart from its previously mentioned unscrubbing/untrimming features mentioned in the above formats' descriptions, NKit is able to convert any ISO (clean dump or otherwise) to and from an [https://wiki.gbatemp.net/wiki/NKit/NKitFormat intermediate format applying various reversible changes] that optimize the image for lossless compression, including full decryption and optionally splitting the often non-unique update partitions to separate files.
+
Apart from its previously mentioned unscrubbing/untrimming features mentioned in the above formats' descriptions, NKit is able to convert any ISO (clean dump or otherwise) to and from an [https://wiki.gbatemp.net/wiki/NKit/NKitFormat intermediate format applying various reversible changes] that optimize the image for lossless compression, including various options such as splitting the often non-unique update partitions to separate files.
 
 
NKit.GCZ is less space efficient than NKit.ISO compressed with a powerful general purpose archiver (7zip), however it is directly playable in Dolphin.
 
 
 
It has problems with emulation, such as slower emulated load times, breaking netplay if load times aren't the same, and crashing a few games.
 
 
 
Compressing NKit.ISO with a strong compression format gives the smallest size while being reversible.
 
  
 
==Wii U==
 
==Wii U==
Line 352: Line 240:
 
* '''Can be reverted?''' Yes. The wud tool includes a decompression utility, which recreates the original file.
 
* '''Can be reverted?''' Yes. The wud tool includes a decompression utility, which recreates the original file.
 
* '''Playable on Hardware?''' No (can be converted to an installable format using [https://github.com/FIX94/wud2app wud2app])
 
* '''Playable on Hardware?''' No (can be converted to an installable format using [https://github.com/FIX94/wud2app wud2app])
* '''Playable on Emulators?''' Yes - Cemu (and potentially other [[Wii U emulators]])
+
* '''Playable on Emulators?''' Yes - Future releases of Cemu (and potentially other [[Wii U emulators]])
  
 
By Exzap, Cemu's author ([http://gbatemp.net/threads/wii-u-image-wud-compression-tool.397901/ release thread]). The tool detects duplicate sectors and only stores them once: all the empty ranges end up removed, storing only ranges which contain file or filesystem data. Of course, the original ISO can be reconstituted.
 
By Exzap, Cemu's author ([http://gbatemp.net/threads/wii-u-image-wud-compression-tool.397901/ release thread]). The tool detects duplicate sectors and only stores them once: all the empty ranges end up removed, storing only ranges which contain file or filesystem data. Of course, the original ISO can be reconstituted.
  
 
===APP (aka NUS/Installable Format)===
 
===APP (aka NUS/Installable Format)===
* '''Archive-quality dump?''' No in regard to discs; Partially in regard to CDN data.
+
* '''Archive-quality dump?''' No, with respect to a disc image (update partition and padding dropped); Most accurate format for CDN dumps (digital titles).
 
* '''Gain:''' Immediate (Total size decreases, compared to disc image)
 
* '''Gain:''' Immediate (Total size decreases, compared to disc image)
 
* '''Tools Used:''' wud2app (disc image to APP), disc2app (original disc to APP), NUSPacker (extracted format to APP), Teconmoon's WiiVC Injector (Wii/Gamecube disc image to Enhanced Vwii APP), ...
 
* '''Tools Used:''' wud2app (disc image to APP), disc2app (original disc to APP), NUSPacker (extracted format to APP), Teconmoon's WiiVC Injector (Wii/Gamecube disc image to Enhanced Vwii APP), ...
* '''Can be reverted?''' No
+
* '''Can be reverted?''' No, if starting from a WiiU disc image; Yes (see below) if starting from extracted files
 
* '''Playable on Hardware?''' Yes (after installation)
 
* '''Playable on Hardware?''' Yes (after installation)
* '''Playable on Emulators?''' No
+
* '''Playable on Emulators?''' ?
  
Consisting of a folder containing *.app, *.h3, title.cert, title.tik, and title.tmd files, this official Nintendo format is how tiles are stored on discs and some system titles are stored on the console and is very similar to how titles are stored on the CDN (on the CDN the files are named differently, .app files are encrypted with the title key and common keys and the tmd has a  certificate chain on the end that is same for every tmd). This is equivalent to the files contained within a 3DS CIA file; however unlike a 3DS title, converting a disc title to digital does not require modifying the title itself, thus leaving the title's signatures valid.
+
Consisting of a folder containing *.app, *.h3, title.cert, title.tik, and title.tmd files, this official Nintendo format intended for development use (and closely related to how digital titles are sold in) is equivalent to the 3DS's CIA format; however unlike a 3DS application, converting a disc title to digital does not require modifying the title itself, thus leaving the title's signatures valid.
  
 
===RPX/RPL (aka Installed/Extracted/Loadiine Format)===
 
===RPX/RPL (aka Installed/Extracted/Loadiine Format)===
Line 370: Line 258:
 
* '''Gain:''' Immediate (Total size decreases). Can be less than a WUX depending on the game.
 
* '''Gain:''' Immediate (Total size decreases). Can be less than a WUX depending on the game.
 
* '''Tools Used:''' see below
 
* '''Tools Used:''' see below
* '''Can be reverted?''' No, any padding/file order/signature information is lost.
+
* '''Can be reverted?''' No, any padding/signature information is lost.
 
* '''Playable on Hardware?''' Yes, use [https://github.com/dimok789/loadiine_gx2/releases Loadiine GX2]
 
* '''Playable on Hardware?''' Yes, use [https://github.com/dimok789/loadiine_gx2/releases Loadiine GX2]
 
* '''Playable on Emulators?''' Yes
 
* '''Playable on Emulators?''' Yes
Line 379: Line 267:
  
 
Ideal format for game modding, less so for playing on console due to Loadiine's intrinsic modus operandi (appearing to the OS as the host title, with potentially different permissions) leading to poor compatibility.
 
Ideal format for game modding, less so for playing on console due to Loadiine's intrinsic modus operandi (appearing to the OS as the host title, with potentially different permissions) leading to poor compatibility.
 
===WUA (Wii U Archive)===
 
* '''Archive-quality dump?''' No (based on extracted format, see above)
 
* '''Gain:''' Immediate (Total size decreases, adds compression to the extracted format).
 
* '''Tools Used:''' Cemu (introduced in v1.27)
 
* '''Can be reverted?''' No (based on extracted format, see above)
 
* '''Playable on Hardware?''' No
 
* '''Playable on Emulators?''' Yes - Cemu (since v1.27)
 
 
Cemu (since 1.27) can convert installed titles to WUA, combining  the title itself, update (if available) and DLC (if available) into one file. The conversion tool is available via the Cemu title manager.
 
Based on a small testset of 44 titles with updates and dlc, WUA reduced the overall file size by roughly 16%. It also reduced the number of files per title from 3,500 on average to 1.
 
(archives compressed in the ZSTD format)
 
 
==Switch==
 
===NSZ===
 
* '''Archive-quality dump?''' Yes
 
* '''Gain:''' Immediate (Total size decreases)
 
* '''Tools Used:''' [https://github.com/nicoboss/nsz nsz]
 
* '''Can be reverted?''' Only NCAs are fully reversible; compressed XCI and NSP files will be different when decompressed
 
* '''Playable on Hardware?''' No
 
* '''Playable on Emulators?''' No
 
 
It is possible to merge the game base, update and DLCs on a single NSP with the tool [https://github.com/julesontheroad/NSC_BUILDER NSC_Builder] and compress it to NSZ
 
  
 
==Game Boy Advance / Nintendo DS / Nintendo 3DS==
 
==Game Boy Advance / Nintendo DS / Nintendo 3DS==
Line 417: Line 282:
  
 
===CIA (CTR Importable Archive, 3DS and DSiWare only)===
 
===CIA (CTR Importable Archive, 3DS and DSiWare only)===
* '''Archive-quality dump?''' No in regard to gamecard dumps; Partially in regard to CDN data.
+
* '''Archive-quality dump?''' No (data removed and edited), compared to a gamecard dump. Potentially most accurate format for CDN (digitally distributed) titles.
 
* '''Gain:''' Immediate (smaller than original ROM - not applicable to digital titles).
 
* '''Gain:''' Immediate (smaller than original ROM - not applicable to digital titles).
 
* '''Tools Used:''' GodMode9 (can directly dump 3DS cards or installed titles to CIA, as well as converting 3DS to CIA), 3dsconv or 3DS Simple CIA Converter 5.0+ (3DS rom to CIA); makerom (3DS to/from CIA, NCCHs/DSiWare/ELF+RSF to 3DS/CIA), make_cia (DSiWare to CIA)
 
* '''Tools Used:''' GodMode9 (can directly dump 3DS cards or installed titles to CIA, as well as converting 3DS to CIA), 3dsconv or 3DS Simple CIA Converter 5.0+ (3DS rom to CIA); makerom (3DS to/from CIA, NCCHs/DSiWare/ELF+RSF to 3DS/CIA), make_cia (DSiWare to CIA)
Line 426: Line 291:
 
Official Nintendo format for developers to install digital titles, later became the most popular format for installable homebrew and game backups owing to the relatively low marketshare of flashcards and emulators (and, for the former, strong impopularity) in favor of CFW.
 
Official Nintendo format for developers to install digital titles, later became the most popular format for installable homebrew and game backups owing to the relatively low marketshare of flashcards and emulators (and, for the former, strong impopularity) in favor of CFW.
  
Equivalent of the Wii's WAD (for digital titles only) and the DSi's TAD (again for digital titles only, and with basically no popular support due to the lack of any homebrew title installers supporting the format - not to be confused with an homonymous unofficial format nor with the files produced by the official export-DSiWare-to-SD feature)
 
  
 
===NCCHs (CXIs and CFAs, 3DS only)===
 
===NCCHs (CXIs and CFAs, 3DS only)===
Line 456: Line 320:
 
* '''Playable on Hardware?''' Yes. If the rebuilding process didn't damage anything vital.
 
* '''Playable on Hardware?''' Yes. If the rebuilding process didn't damage anything vital.
 
* '''Playable on Emulators?''' Yes - Xenia.
 
* '''Playable on Emulators?''' Yes - Xenia.
 
===ZAR===
 
[https://github.com/xenia-canary/xenia-canary/pull/165 This Pull Request] adds support to [[xenia]] emulator for loading ZAR (ZArchive files) (archives compressed in the ZSTD format) of a decrypted and extracted dump of XBOX 360 game.
 
*The process is basically to dump your disc, extract files using your favorite tool, and create a ZAR file from it using ZArchive tool or [https://github.com/xenia-canary/xenia-canary/pull/299 xenia-canary->create Zar package option].
 
*For digital titles (Xbox 360 Demos, Video DLC and XBLA games etc) you need to extract the contents from its containers using "[https://digiex.net/threads/wxpirs-extract-content-from-xbox-360-demos-video-dlc-and-arcade-game-containers.9464/ wxPirs]" and then create a ZAR file from it using the "[https://github.com/Exzap/ZArchive/releases ZArchive]" tool or xenia-canary->create Zar package option[https://github.com/xenia-canary/xenia-canary/pull/165#issuecomment-1641099753].
 
  
 
=Other Tricks=
 
=Other Tricks=
Line 467: Line 326:
  
 
===NTFS Compression===
 
===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 effective.
+
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.
  
 
* '''Archive-quality dump?''' Yes
 
* '''Archive-quality dump?''' Yes
Line 473: Line 332:
 
===Decompression on Demand===
 
===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.
 
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.
 
* '''Archive-quality dump?''' Yes
 
 
===FileSystem Deduplication, alternative file systems===
 
If you use macOS, you can look up for fuse filesystems which support compression/deduplication. <br />
 
If you use windows, you can fire a VM/store your games on ,a pc with a transparent network file server running linux/bsd.(might be viable on low latency networks, and a fast file server) <br />
 
On linux and bsds one can use, filesystems with de-duplication(and possibly transparent file compression) like:
 
 
* '''Squashfs'''
 
* '''Note:''' you can mount the filesystem and use an overlay file system to add a new file, and then create a new squashfs against an overlay folder.
 
** '''ReadWriteable?''' No read-only.
 
** '''Deduplication?''' Yes, block level.
 
** '''Active Deduplication?''' No, Deduplication is triggered by the user, during filesystem creation.
 
** '''Available compressors:''' zstd, xz(lzma2), lzma, gzip, lz4, lzo.
 
** '''Compression level control:'''  Depends on the compression algorithm, xz dictionary size depends on filesystem block size.
 
** '''Transparent?''' On Linux and BSD via kernel. Squashfuse avaialble for macOS.
 
 
* '''Btrfs'''
 
** '''ReadWriteable?''' Yes.
 
** '''Deduplication?''' Yes, file and block level.
 
** '''Active Deduplication?''' No, Deduplication is triggered by the user.
 
** '''Available compressors:''' zstd, zlib, lzo.
 
** '''Transparent?''' On Linux via kernel.
 
 
* '''Zfs'''
 
** '''ReadWriteable?''' Yes.
 
** '''Deduplication?''' Yes, file and block level.
 
** '''Active Deduplication?''' Yes, deduplication happens during writes.(high memory requirements)
 
** '''Available compressors:''' zstd, zlib, lzo.
 
** '''Transparent?''' On Linux, BSD, via kernel. Openzfs on mac os(?).
 
 
* '''Xfs'''
 
* '''Note:''' Without de-duplication it is already quite efficient at storing files.
 
** '''ReadWriteable?''' Yes.
 
** '''Deduplication?''' Yes, file level via duperemove.
 
** '''Active Deduplication?''' No, deduplication is triggered by the user.
 
** '''Available compressors:''' None.
 
** '''Transparent?''' On Linux and BSD via kernel.
 
 
* '''LVDO - Linux Volume Duplication/Compression'''
 
** '''ReadWriteable?''' Yes.
 
** '''Deduplication?''' Yes, block. And whatever filesystem on-top
 
** '''Active Deduplication?''' Yes Transparent.
 
** '''Available compressors:''' LZ4.
 
** '''Transparent?''' Yes, On Linux and via kvdo module and lvm2 integration
 
** https://github.com/dm-vdo/kvdo
 
  
 
* '''Archive-quality dump?''' Yes
 
* '''Archive-quality dump?''' Yes
  
 
==Destructive Modification==
 
==Destructive Modification==
Sometimes, the most bloated part of the game is the game itself, either intentional or because of poor design choices. For instance, many PSP JRPGs have a specific FMV movie duplicated a dozen times, and the Megaman Collection on GCN 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 the game's data.
+
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, many PSP JRPGs have 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.
  
Note, "deleting" often means replacing the file with a 1KB dummy file to prevent the ISO file structure from collapsing on itself, but sometimes such care isn't even put into ensuring it's still in a functional state. Some examples:
+
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, but sometimes such care isn't even put into ensuring it's still in a functional state. Some examples:
  
* delete all videos: this brings Super Smash Bros Brawl to 4.7GB (mainly due to Subspace Emissary).
+
* delete all videos: this brings Super Smash Bros Brawl to 4.7GB.
 
* 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.
 
* 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.
* delete unused content you could get with emulator cheats like rooms and stuff.
+
* delete unused content you could get with emulator cheats like rooms and stuff
* delete "extra" languages other than the language you need.
+
* delete "extra" languages other than English
* If a game has multiple quests, then you could try deleting characters/side-quest you don't like as much.
+
* If a game has multiple quests, they delete some characters/quests they don't like. Especially seen in compilations and stuff with demos included.
 
 
Tools used for this are modding tools for rebuilding file trees, like UMDGen (PSP), Tinke (DS) and also regular ISO tools (PS1, Saturn).
 
 
 
Since this results, in most cases, in very noticeable detrimental effects in gameplay (if the game doesn't crash outright), this is nothing short of mutilating the game image. Sadly enough, some of these dumps make it to sharing sites.
 
 
 
Avoid resorting to destructive modifications since it can lead to random crashes and unexpected behavior, especially in games with lots of shared assets. [[File hashes|Verify your dumps]] to make sure you don't have these, and if you still want to reduce size, prefer using other methods or uses decompression on demand. One reason to use a destructively modified dump is for burning your own Dreamcast games as GD-ROMs were over a gigabyte in size and CD-Rs top out at 850MB.
 
  
* '''Archive-quality dump?''' No (Removes data)
+
Tools used for this are modding tools for rebuilding file trees, like UMDGen (PSP), Tinke (DS) and also regular ISO tools (PS1, Saturn)...
  
=See also=
+
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. Some of these dumps make it to sharing sites sadly enough.
*[[List of filetypes]]
 
  
=External links=
+
Avoid resorting to destructive modifications since it can lead to random crashes and unexpected behavior, especially in games with lots of shared assets. [[http://emulation.gametechwiki.com/index.php/File_Hashes Verify]] your dumps to make sure you don't have these, and if you want to compress those prefer other methods or using decompression on demand. One reason to use a destructively modified dump is for burning your own Dreamcast games, as GD-ROMs were over a gigabyte in size and CD-Rs top out at 850MB.
*[https://github.com/citra-emu/citra/issues/6013 CHD or ZArchive feature requests for citra]
 
*[https://github.com/RPCS3/rpcs3/issues/4021 CHD or ZArchive feature requests for RPCS3]
 
*[http://web.archive.org/web/20231127115239/https://github.com/yuzu-emu/yuzu/issues/10025#issuecomment-1493873239 CHD or ZArchive feature requests for yuzu and Ryujinx]
 
*[https://github.com/xemu-project/xemu/issues/129 CHD or ZArchive feature requests for xemu]
 
*[https://github.com/86Box/86Box/issues?q=is%3Aissue+is%3Aopen+format+label%3Afeature+ Various image format feature requests for 86Box]
 
*[https://github.com/joncampbell123/dosbox-x/issues/1822 CHD feature request for DOSBox-X]
 
*[https://github.com/schellingb/dosbox-pure/issues/40 CHD feature request for DOSBox Pure]
 
*[https://yuzu-emu.org/entry/yuzu-progress-report-aug-2023/#project-terra yuzu now supports sparse and compressed NCA games]. This means a long list of titles whose eShop releases couldn’t previously boot are now either running or perfectly playable, and their RomFS can be fully dumped.
 
  
=References=
+
* '''Archive-quality dump?''' No (destructive mod)
  
 
[[Category:FAQs]]
 
[[Category:FAQs]]

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)