On the way to XCD - or how to turn 700MB CDs into 800MB ones

The idea is certainly fascinating. Despite DVD-R becoming more and more affordable regular CD-Rs are still the storage media of choice for most of us. As you may know, both VCD and SVCD can actually contain 800MB of movie data on a regular 700MB data disc. Why? Error correction is the keyword. Regular computer data CDs contain a lot of error protection, so your data won't get lost if you have some scratches on a CD. But the data on the CD itself has no error correction. If you start swapping bits in an executable file you have on a CD the file will no longer work. On the other hand, VCD and SVCD stream have some built-in protection so an additional protection on the data storage medium is no longer needed, which frees up space otherwise used for error correction. Those of you who have had a closer look at their burning program may have noticed that (S)VCDs are burned in mode2 whereas regular data CDs are burned in mode1.

Many people have tried to burn AVIs in mode2 mode only to fail. The burning programs are smart enough to realize that this isn't a good idea. AVI, WAV and most fileformats in general do not have error correction or even only error detection mechanisms. So if the support media does not offer this protection then once there is an error your files are lost forever. Clearly not a very thing, especially since errors tend to become more frequent as time goes by, so while your files may work just fine for the first couple of months, the day you want to print a very important document that you stored on a mode2 CD again, you can no longer read it.

New multimedia containers like ogm or mcf already offer (or will offer in the case of mfc which is still in development) error correction so an additional level of protection is no longer needed. So let's burn our ogms as mode2 then..

WAIT! There's a catch and you should not use whatever is written in this document later on without having read this passage: The tools presented here are for test purposes only. While formats like ogm offer some error resilience there's still an additional level of protection needed. A player needs to know what files it is dealing with. This info is usually stored at the beginning or the end of a file. If you have an unrecoverable error in the middle of the movie you may see a couple of blocks which may annoy you a little but you can still use the disc. However, if the same error occurs in the part of the file where the info needed by the player is stored the file becomes unusable. So this info would have to be stored in a mode1 part of the disc and that's currently not possible. Mode2 also doesn't allow you to have exact filesizes so files are being padded to span a known number of sectors but the real size would have to be stored somewhere and that's currently not implemented. Last but not least for compatibility reasons the mode2 files will have an 8.3 naming convention so if a filename is longer the full name has to be stored somewhere. Obviously, eventually these problems are all going to be resolved but for the time being bear them in mind. Do not use mode2 CDs to store any data that you cannot afford to lose.

It all started with a thread about putting 800MB AVIs on a 700MB CD in my forum and in time we got what's now known as Mode2 CD Maker, by DeXT. As you can see the tool was originally designed to create MFC CDs but it has evolved since. The name MFC-CD seemed to be too closely associated with the MCF format so there was a poll in my forum and the name XCD was eventually chosen. Mode 2 CD Maker can create a mode2 image file that you can burn using any .cue/.bin capable burning program. Initially burning these images wasn't of much use as you had to use another program to extract the files again. Avih came up with a filter that allows you to read these files directly off the disc. You may recall the news about this filter, initially it read the whole file into memory and you had to use one filter for every type of media but all these problems have been solved since. There's just one remaining issue.. not all drives seems to be compatible to the filter. Some DVD-ROMs may refuse to play such files, but usually updating the firmware can fix this problem. I tested it on a Pioneer 16x DVD-ROM and had no problems whatsoever.

Currently XCD is still under heavy developments, the tools I'm going to present are just a starting point and I expect to see much more in the future. Oh, btw, XCD is an open source project hosted on sourceforge. If you're a developer and interested in joining don't hesitate. The current specs can also be found on the XCD homepage.

After this long introduction let's begin the fun..

You'll need the following software

Riff CD/XA filters for playback
Mode2 CD Maker GUI

Step 0: Installation

Unpack Mode2 CD Maker GUI. Then unpack the playback filter and install it by double clicking on register.bat.

Step 1: Create a mode2 image

Start up the GUI.

Then start adding files.

The part of the GUI I marked with a green rectangle can be used to add regular files that do not have their own error correction. For instance VobSub subtitles, external srt subtitles, etc. It's also possible to have whole folders with files in the mode1 part.

The part marked with a red rectangle is where you add your OGM (or in the future also MCF) files. They will be placed in the mode2 part of the disc that does not offer additional error correction. Please do NOT put any files that do not have built-in error protection into that area.

Last but not least select a path where the image will be saved (mode2 CD maker will create a .cue/bin file for you which will take as much space as all the files you put onto your CD). If you want you can select an extension for your movies. By default the movie file I've added would show up as matrix-divx5.dat on the CD. You can change the extension to pretty much anything you want, except for .ogg or .ogm. There's a filter problem and if you chose these extensions you'll effectively not be able to play the files. So I suggest you leave this box empty and you just associate the .dat file to your favorite media player afterwards.

Last but not let's press the Write ISO button and wait till the progress bar reaches the right side.

Step 2: Burning the image

Any .cue/.bin capable burning program can be used. Nero, DVD Decrypter and cdrdao are just a few options.

Once burned you should be able to use your favorite media player to open and play the files you put onto the CD.

And a reminder: The riff cd/xa filter is required or the files can't be played.

This page was last updated on 06/12/02