DDP Discs and Dreamcast

by Ross Kilgariff - 2024-10-03 - 0:21am

I wanted to share something I find pretty interesting. I'm preparing a disc image to send to a CD replication plant and the format they accept is called DDP or Disc Description Protocol.

Although it's hardly ever talked about in the homebrew, hobbyist or preservation scenes, It's widely considered to be the industry standard for creating premaster images of CDs for replication (manufacture).

If you're reading this, it's likely you already know about the Mil-CD feature of the Dreamcast that makes it possible for programs to run from regular CD-ROMs on most versions of the console. This is the method used by all unofficial/indie games that are released for the system.

Both GD-ROM (the disc type used by official SEGA-licensed games) and Mil-CD require multiple "sessions" on the disc - an audio session with one or more tracks, and a data session with a single track (the game's filesystem containing the bootloader, the game itself and any assets it needs).

If we want to describe the contents of a multi-session disc digitally, a regular old .ISO file has no way to describe the audio session. For this reason people tend to use either DiscJuggler .CDI or Alcohol 120% .MDS/.MDF.

For many purposes, these are totally fine. You can find free tools to create them, burn them to CD-Rs and play them, and even load them into supported drive emulators like the GDEMU or MODE.

However, these formats aren't accepted by any CD replication plant I've come across. Most plants do accept a physical CD-R that you can send in the post, but if it gets damaged, that one damaged disc will ruin the whole batch of 500-1000 CD-ROMs.

This is where DDP comes in. It's widely supported by replicators and although the original specification from the 1980s only supported audio, an extension called "DDP Enhanced" was later added that brought multi-session support. Perfect!

Or so I thought. DDP is not an open standard, so you need to use specialist software like Sonoris DDP Creator. I downloaded the trial and as advertised, it let me set up a multisession disc image and save it as "DDP Enhanced" (essentially a set of special CUE/BIN files) and then burn the image to a test CD.

But when I put the test disc in a Dreamcast, the game would not boot. The Dreamcast music player started up and let me listen to the audio tracks which is nice, but not what I was looking for.

What's more, the options in Sonoris and most tools I've found are heavily geared towards audio. Trying to understand why the disc won't boot or even to get any "under the hood" information as to how the tracks are laid out has been totally fruitless.

While searching for a solution I discovered that the DDP format, while proprietary and closed, can apparently be licensed for free from DCA Inc, the company that created the format and owns it.

To license it, you need to print out a license agreement form from their website, sign it and mail it to their headquarters in Oklahoma. Once they receive it, they'll send you the full DDP specification and even a software development kit so you can write custom programs. So of course I've got one ready to go in the morning :)

My plan is to write a simple program purpose-built for Dreamcast games that can generate a perfect bootable DDP image including audio tracks completely automatically. Due to DDP's built-in data integrity, this will make it impossible for the manufactured CD-ROMs to fail to boot on the Dreamcast.

However, this may take a while to arrive. For the time being I will continue trying different existing DDP programs in the hope of finding something that works.

Wish me luck, and look forward to our new game announcement in just a couple of days!

Want to chat? Join our community server on Discord!