Jump to: navigation, search

Burn CHD files to play on original gaming systems

.CHD files contain binary data that MAME and MESS use for emulation. Typcially this is used in "newer" games with larger amounts of graphic/audio data, including CD based console systems like Sega CD.

archive.org has downloadable sets of these for various platforms (PC Engine, Sega CD, Sega Saturn, Arcade, etc). I'm not sure why they're publicly available, perhaps they're just under the radar. Here's how to grab one of these and burn it on to a disk to play in an original system.

This is all on my Linux desktop.

  • Convert a CHD file to a .bin/.cue using chdman. On my desktop (currently ubuntu) this was available in the 'mame-tools package. Here's what the flags mean:
    • -i : input file the (.chd)
    • -o : output file (.cue)
    • -ob : output binary (.bin)
$ chdman extractcd -i "snatcher (sega cd) (u).chd" -o snatcher.cue -ob snatcher.bin

chdman - MAME Compressed Hunks of Data (CHD) manager 0.152 (Mar 19 2014)
Output TOC:   snatcher.cue
Output Data:  snatcher.bin
Input CHD:    snatcher (sega cd) (u).chd
Extraction complete                                    
  • The 338M .chd file is now a 597M .bin and 1.3k .cue
  • I tried to find a native gui linux program that burns bin/cue but failed (Xfburn and Brasero both don't seem to), so we'll use cdrdao which had a package available in ubuntu.
    • --speed 8 : attempt to write at a lower speed which may be more compatible. I chose 8, my burner chose 10 which may be the lowest it supports (an USB LG DVD burner)
    • --device /dev/sr0 : my cd burner
$ cdrdao write --speed 8 --device /dev/sr0 snatcher.cue

Cdrdao version 1.2.3 - (C) Andreas Mueller <andreas@daneb.de>
/dev/sr0: HL-DT-ST DVDRAM SP80NB60	Rev: PC00
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0000)

Starting write at speed 10...
Pausing 10 seconds - hit CTRL-C to abort.

Process can be aborted with QUIT signal (usually CTRL-\).
WARNING: No super user permission to setup real time scheduling.
Turning BURN-Proof on
Enabling JustLink.
Executing power calibration...
Power calibration successful.
Writing track 01 (mode MODE1_RAW/MODE1_RAW )...
Writing track 02 (mode AUDIO/AUDIO )....
Writing track 03 (mode AUDIO/AUDIO )....
Writing track 04 (mode AUDIO/AUDIO )....
Writing track 05 (mode AUDIO/AUDIO )....
Writing track 06 (mode AUDIO/AUDIO )....
Writing track 07 (mode AUDIO/AUDIO )....
Writing track 08 (mode AUDIO/AUDIO )....
Writing track 09 (mode AUDIO/AUDIO )....
Writing track 10 (mode AUDIO/AUDIO )....
Writing track 11 (mode AUDIO/AUDIO )....
Writing track 12 (mode AUDIO/AUDIO )....
Writing track 13 (mode AUDIO/AUDIO )....
Writing track 14 (mode AUDIO/AUDIO )....
Writing track 15 (mode AUDIO/AUDIO )....
Writing track 16 (mode AUDIO/AUDIO )....
Writing track 17 (mode AUDIO/AUDIO )....
Writing track 18 (mode AUDIO/AUDIO )....
Writing track 19 (mode AUDIO/AUDIO )....
Writing track 20 (mode AUDIO/AUDIO )....
Writing track 21 (mode AUDIO/AUDIO )....
Wrote 602 of 602 MB (Buffers 100% 100%).
Wrote 268813 blocks. Buffer fill min 100%/max 100%.
Flushing cache...
Writing finished successfully.