Intro
If you don’t want to do everything from this article, consider downloading namDHC if you’re using Windows. Otherwise continue reading below.
Having an interest in emulation in general, it’s obvious if i need to face with such painfully large files, particularly games from the 6-7th generation consoles. Thia might not be a problem for some people, but it’s not bad to save several gigabytes in your storage for other content, especially for mobile users like me or people who have limited storage. Because of this, the only way to shrinken the filesizes is to use tools that let you do so.
For the tools are chdman from the MAME emulator to convert the .iso files. and for this tutorial i will use Termux for the entire tutorial, as now i dont have access to a computer now on. And the source i wil compile is from this repository here. in this tutorial, which is based on MAME 0.238.
IMPORTANT NOTE
This article is not encouraging or promoting potentially illegal actiions such as Piracy as a whole. Therefore, it is advised to do this only if you have bought the game legally.
Prerequisites
- build-essential
- git
- cmake
- ninja
Or download MAME in this page if you dont want to compile from source.
If you only have access to a mobile phone, then you must compile from source because there are no native builds for MAME in ARM.
Process
Install Prerequisites
If you don’t want to compile it manully using the below steps or have installed MAME, go to this link.
Before compiling, make sure to download the prerequisites first.
|
|
Compile chdman
After installing the prerequisites, clone the repository here, and build using the folowing commands.
|
|
The process might take a while to compile, depending on your device.
Once done, the program will be built in the ./build
directory.
Move chdman to bin (Termux only)
Move the compiled program to the ./usr/bin
folder, then running chmod so you can use it.
|
|
Convert .iso to .chd
Finally, convert the .iso file to .chd with this command below.
If you skipped to this link, the
chdman
is in the root of the MAME emulator.
|
|
OR on newer versions of MAME and the game is in DVD format:
|
|
Where:
createcd
: Converts the CD disk file (.iso) into a .chd.createdvd
: Converts the DVD disk file (.iso) into a .chd. (untested now)-i
: The file to convert (input).-o
: The converted result’s file name.-hs
: Hunk size for .chd file. (optional)
Replace "GAME-NAME"
with the name of the game you wish to convert, e.g
chdman createcd -i "Auto Modellista (Europe) (En,Fr,De,Es,It).iso" -o "Auto Modellista (Europe) (En,Fr,De,Es,It).chd"
This example is apparently a CD disk game, so
createcd
works on this.On another note, i converted GT4 Spec II using namDHC, so i can’t tell if it used
createcd
orcreatedvd
.
The process might take a moment to finish, depending on the size of the game.
Result
The result of the converted file should be smaller than the original .iso file, usually a ~1-2GB difference, depending on the game itself.
Conclusion
This tool can be effecive for saving space, especially when storing such files in a device with limited storage. Be wary however though, as for applying ROM hack patches will be impossible, according to a source i found off the internet, as the hashes (an unique binary number in every file?) of the converted file is different from the original file itself. Therefore, patches aren’t possible to apply onto the .chd file.