Creating CHD from ISO

la4t

New Challenger
Joined
Jan 29, 2025
Messages
1
Reaction score
13
Points
52
Just a little great app called namDHC available on github it's easy to use which is a frontend for chdman. You drag or select iso file or folder with files to create a CHD file. The benefits of using it is saving valuable hard drive space as when converting its compresses on average 11-45% which if you have a decent ammount of games you could save a lot of drive space. The CHD file will work with Ps1-Ps2 Gamecube ect most emulators support CHD I'll leave the link below if anyone is interested (y)

namDHC
 
Y'know, if using the command line is so hard, just download the premade CHDs from Internet Archive.
 
never used CHDs other than with MAME, but with a 2tb hdd full of games I might have to look into this. Thanks for the info
 
If you plan on actually using the games a lot vs prepping them before use, then yeah CHD is better than uncompressed.

In my experience, CHD's aren't bad, but if you are purely going for archival/space savings, ECM and 7z/LZMA work best. (Well exception with games with LOTS of music, then CHD works better). And if you have multiple discs/versions and can fit within the compression window, that works great too. When you don't, then other methods are employed to get extra savings.

I've got a thread where i talk of better packing. Some games you can get a LOT of extra savings. Some... not so much.
 
I remember trying to use that program a long time ago to try to convert hundreds of games, it had some bugs and crashes but worst of all it didn't support the latest versions of CHDman that comes with zstd, which is the best compression algorithm available for chd, development seems to have stopped so instead I made batch files to automate everything, no need for fancy GUIs or AHK scripts. When you're dealing with hundreds or thousands of games doing everything manually with the command line is tedious.

I never shared them but I thought about putting the code on github but never did out of laziness but I guess I should now since it could be useful to others, so if someone wants them I'm attaching them here, one is for CD-based games (PS1, DC etc), the other for DVDISO games (PS2, Gamecube etc), it deletes the original files after conversion but I included a version that doesn't for convenience for those that want to keep them.

I also made an m3u playlist creator for games that have multiple discs for easy disc-swapping and to not clutter front-ends. The difference with other batch scripts around is that you drag and drop multiple folders of your choosing onto the batch file and it will convert only those or convert every single cue or ISO present in all directories inside a parent folder, the m3u creator works the same way with drag and dropping folders, no need to click or copy the scripts around, just make sure to place them where your chdman.exe is and that is a new enough version to support zstd for best results.
 

Attachments

I remember trying to use that program a long time ago to try to convert hundreds of games, it had some bugs and crashes but worst of all it didn't support the latest versions of CHDman that comes with zstd, which is the best compression algorithm available for chd,

Curious... Like anything it's a balance between speed and space. As well as what your emulators/tools support.

I'm not sure if zstd is the best compression but then again LZMA has a very large window/dictionary size and when you're working with 32k instead of 1.5Gb....

Though i'd probably add ecm support, where it unecm's the file(s), then if ecm files are detected (for keeping) it deletes the bins right after, leaving it a clean slate. Though i prefer using a ramdrive so it doesn't wear my hard drive more than needed.

I never shared them but I thought about putting the code on github but never did out of laziness but I guess I should now since it could be useful to others, so if someone wants them I'm attaching them here, one is for CD-based games (PS1, DC etc), the other for DVDISO games (PS2, Gamecube etc), it deletes the original files after conversion but I included a version that doesn't for convenience for those that want to keep them.

I'm not sure there's a huge difference between cd/dvd, other than how many sectors and if it does sound tracks. I've done the default script and seems to work fine on my emulators. Though maybe i should be more selective.

Or maybe it auto changes to dvd when it sees the size, i don't know.

I also made an m3u playlist creator for games that have multiple discs for easy disc-swapping and to not clutter front-ends.

Heh, this i'll happily accept.

DOS batch files i haven't seen a good tutorial, so i tend not to use/write them and prefer Cygwin with BASH instead.
 
If you plan on actually using the games a lot vs prepping them before use, then yeah CHD is better than uncompressed.

In my experience, CHD's aren't bad, but if you are purely going for archival/space savings, ECM and 7z/LZMA work best. (Well exception with games with LOTS of music, then CHD works better). And if you have multiple discs/versions and can fit within the compression window, that works great too. When you don't, then other methods are employed to get extra savings.

I've got a thread where i talk of better packing. Some games you can get a LOT of extra savings. Some... not so much.
A near optimal compression that is also immediately usable is much more important that it might seem. It's not just about using it a lot, I personally want my collection to be easily accessible so that I can check or demonstrate something whenever something crosses my mind or comes up in conversation. Also in context of p2p sharing/torrents(aka the ultimate archival tech) non usable formats disincentivize sharing/seeding, most people will opt to delete that archive after extracting.
 
There's definitely something to be said for usability. 7z/zip is great, but not immediately usable. As it is, I would have to extract an archive, then run it again through CHDMan and then transfer it to my portable retro console which is usually space limited (hence the CHD).
 
If you plan on actually using the games a lot vs prepping them before use, then yeah CHD is better than uncompressed.

In my experience, CHD's aren't bad, but if you are purely going for archival/space savings, ECM and 7z/LZMA work best. (Well exception with games with LOTS of music, then CHD works better). And if you have multiple discs/versions and can fit within the compression window, that works great too. When you don't, then other methods are employed to get extra savings.

I've got a thread where i talk of better packing. Some games you can get a LOT of extra savings. Some... not so much.
This is false in one sense:
CHD in general is optimized for data access; it IMPROVES it, and does not require RAM or TEMP storage to unpack the image file to. I learned about CHD's myself first when PS1 emulation became somewhat viable on 3DS and one thing making it so was CHD's, as it was outright requirement for the game and load speed from 3DS SD access speed perspective. If it was ZIP that would only make things worse. This is also why CHD is a big improvement option for platforms like PS3 too, since again RAM load is impossible, scratch space unavailable if even supported while CHD will improve the access time and slice a MegaCD or TurboCD image by more than half in nice cases.

The thing with these is not always about the smallest space savings but smartest space savings and currently more universally than not CHD is the smartest choice for retro CD-ROM based games, and may even be an optimization improving your experience emulating systems like PS1 on your 3DS or Switch.

For ROM's especially GBA and SNES etc yes zip even 7zip those boys up, if you are not already doing it, you will be surprised how far the compounding space savings go, and RetroArch supports these packages widely though more low powered machines I would just stick to ZIP, again, for smartest data savings versus largest. Vita will struggle a while longer with 7z versus zip file and PS3's unofficial RetroArch community edition only thinks it handles 7z it actually just black screens.

There is also few other formats that PCSX2 or Dolphin support but if I recall correctly CHD is one option to use at least for PCSX2. Nintendo discs have their own quirks but also formats by dolphin and other teams to use for the same end. Like NKIT might still be best format for SWISS loading games on actual GameCube hardware.
 
for /r %%i in (*.iso) do chdman createdvd -i "%%i" -o "%%~ni.chd"

chdman version 5
 
Last edited:
If you plan on actually using the games a lot vs prepping them before use, then yeah CHD is better than uncompressed.

In my experience, CHD's aren't bad, but if you are purely going for archival/space savings, ECM and 7z/LZMA work best. (Well exception with games with LOTS of music, then CHD works better). And if you have multiple discs/versions and can fit within the compression window, that works great too. When you don't, then other methods are employed to get extra savings.

I've got a thread where i talk of better packing. Some games you can get a LOT of extra savings. Some... not so much.
That thread was very interesting, I too use 7zip/LZMA2 and ECM when archiving my files for the most space-savings, I have a 96TB NAS full of games archived like that but for use on my PC I keep them as chd files for easier use and for my frontends, I love watching my collection neatly organized and with their respective covers, ready for use at a moments notice just like my real-life shelf.

It is also important to keep the original files around intact as CHDs are not completely lossless 100%, there's an issue where it can't properly recreate the cue files, that was a long time ago so I don't know if it has been fixed but it was a long-standing issue. Also it's good to have the bin/cue/iso files if you want to apply hacks to them.
A near optimal compression that is also immediately usable is much more important that it might seem. It's not just about using it a lot, I personally want my collection to be easily accessible so that I can check or demonstrate something whenever something crosses my mind or comes up in conversation. Also in context of p2p sharing/torrents(aka the ultimate archival tech) non usable formats disincentivize sharing/seeding, most people will opt to delete that archive after extracting.
That's a good point that I never thought about, CHDs are certainly better for torrents. In fact some communities don't allow compressed archives for the reasons you stated and also because they hide what the torrent truly contains and cannot be scanned by anti-virus programs like virustotal etc, specially if it contains a password that's a big NO-NO pretty much everywhere.
Post automatically merged:

I'm not sure if zstd is the best compression but then again LZMA has a very large window/dictionary size and when you're working with 32k instead of 1.5Gb....
For CHD Zstandard does give better results than LZMA and has faster compression/decompression, I do wish CHD supported LZMA2, which is way slower but compresses better in most cases, though it would probably be pretty slow on slower PCs and slow drives for real-time use.
 
Last edited:
Just a little great app called namDHC available on github it's easy to use which is a frontend for chdman. You drag or select iso file or folder with files to create a CHD file. The benefits of using it is saving valuable hard drive space as when converting its compresses on average 11-45% which if you have a decent ammount of games you could save a lot of drive space. The CHD file will work with Ps1-Ps2 Gamecube ect most emulators support CHD I'll leave the link below if anyone is interested (y)

namDHC
Commands for chdman version 5
for /r %%i in (*.cue, *.gdi) do chdman createcd -i "%%i" -o "%%~ni.chd"
for /r %%i in (*.iso) do chdman createdvd -i "%%i" -o "%%~ni.chd"
 
for multi disc games that require an .M3U to change discs can you compress the bin/cue and m3u into a .chd? would the game still swap discs? i haven't tried it just wondering
 
can you compress the bin/cue and m3u into a .chd? would the game still swap discs?

I'm not an expert. But there is supposedly a way to include non-cd content as meta files, which i would think be like a manual, readme, notes, etc. That could include the m3u.

However, far as i can tell, 1 CHD=1 Disc.

As for disc switching, that far as i've seen is on an emulator level, meaning you'd drop to the emulator and tell it which disc you want it to swap without rebooting.

Though i'd probably personally put all the CHD's m3u and manual into an iso and have it as a single package. Yeah you'd have to mount/extract it first but it would have everything.
 
I'm not an expert. But there is supposedly a way to include non-cd content as meta files, which i would think be like a manual, readme, notes, etc. That could include the m3u.

However, far as i can tell, 1 CHD=1 Disc.

As for disc switching, that far as i've seen is on an emulator level, meaning you'd drop to the emulator and tell it which disc you want it to swap without rebooting.

Though i'd probably personally put all the CHD's m3u and manual into an iso and have it as a single package. Yeah you'd have to mount/extract it first but it would have everything.
ok so you cant have 3x discs + an .m3u in a single .chd? :(
but can you have a .chd for each disc and then use an .m3u to make the discs play in order?
or can these multi disc games just be combined into a single .pbp eboot?
mainly talking about ps1 games in bin/cue
 
ok so you cant have 3x discs + an .m3u in a single .chd? :(
Don't think so.

but can you have a .chd for each disc and then use an .m3u to make the discs play in order?

More or less. The emulator will read each line and auto-mount the first one by default; But if you change discs (either hotkey or emulator menu) you only have to worry about ones related to the game. Also the emulators will generally know now to reset upon changing a disc.

Do it for disk based games too. Like with Bard's Tale... That's like 5 floppy disks.
 
ok so you cant have 3x discs + an .m3u in a single .chd? :(
but can you have a .chd for each disc and then use an .m3u to make the discs play in order?
or can these multi disc games just be combined into a single .pbp eboot?
mainly talking about ps1 games in bin/cue
IIRC yes you can combine multi-disc games into a single .pbp eboot (don't quote me on that I haven't used them in a long time), some emulators like Duckstation and Retroarch support loading them like loading a bin/cue file and of course PSPs support them. With CHD you can't, each bin/cue pair becomes a .chd file and thus if you have 4 discs you end up with 4 .chds, the .m3u is completely separate, is just a playlist file that tells the emulator the order to load the discs, so you don't have to do it manually.
 
figured out how to turn multi disc games into an eboot with no M3U :)
can also add meta data

1738971675273.png
 

Users who are viewing this thread

Connect with us

Latest Threads

the issue with status skills in JRPGs

alright folks, ive got a bone to pick with jrpg developers, and it all hinges on one thing...
Read more

Stupid Mario Brothers

Has anyone else watched this YouTube show, which consists of 75 short episodes over 5 seasons...
Read more

Recent revelations new to only you

Apologies if there's a similar topic already.

What's something that you recently discovered and...
Read more

Perfect Dark

FPS by Rare for N64
perfect dark.jpg

GoldenEye007 was a great game for Nintendo but Perfect Dark is...
Read more

Gaming Culture Shock

Have you experiencing a "culture shock" in gaming?like games that were popular only in your...
Read more

Online statistics

Members online
138
Guests online
247
Total visitors
385

Forum statistics

Threads
3,620
Messages
69,759
Members
239,278
Latest member
stunits

Support us

Back
Top