by Alex Free
CDI is the proprietary format of the Windows only software DiscJuggler. CDI is a very popular format for Sega Dreamcast software distribution. DCDIB is an open source toolkit for burning Sega Dreamcast .cdi
files (used for self-booting homebrew programs and backups) to CD-R discs on the Linux computers. The CD-Rs you burn with DCDIB will just work and boot like authentic Sega Dreamcast GD-ROM discs on revision 0 and revision 1 Sega Dreamcast consoles. Revision 2 Sega Dreamcast consoles may or may not work with self-booting CD-Rs due to the MIL-CD exploit being removed from the BIOS chip found on at least some revision 2 consoles. To find out what revision your Sega Dreamcast console is, flip the entire console upside-down and look for the number 0, 1, or 2 in a circle on the model sticker as displayed below:
DCDIB supports burning all 4 Sega Dreamcast CDI file format types:
Changes:
dcdib
script (thanks Tomodachi).build
script for compiling portable Linux releases.dcdib
script (thanks hackerb9).It is recommend to only use high-quality CD-R media. If you want good results burning backups for your Sega Dreamcast your CD-R media should contain:
I have found Verbatim DataLifePlus CD-Rs to be really good with Sega Dreamcast consoles. For reference, below is the ATIP information displayed by cdrecord -atip
for a Verbatim DataLifePlus CD-R:
ATIP info from disk:
Indicated writing power: 4
Disk Is not unrestricted
Disk Is not erasable
Disk sub type: Medium Type A, high Beta category (A+) (3)
ATIP start of lead in: -11077 (97:34/23)
ATIP start of lead out: 359848 (79:59/73)
Disk type: Long strategy type (Cyanine, AZO or similar)
Manuf. index: 11
Manufacturer: Mitsubishi Chemical Corporation
Verbatim UltraLife Archival Grade Gold CD-Rs also are really good, although they are more expensive then Verbatim DataLifePlus. I think Verbatim DataLifePlus CD-Rs are slightly better with the Sega Dreamcast anyways, but they remain an excellent option. For reference, below is the ATIP information displayed by cdrecord -atip
for a Verbatim UltraLifePlus CD-R:
ATIP info from disk:
Indicated writing power: 5
Disk Is not unrestricted
Disk Is not erasable
Disk sub type: Medium Type B, low Beta category (B-) (4)
ATIP start of lead in: -12520 (97:15/05)
ATIP start of lead out: 359849 (79:59/74)
Disk type: Short strategy type (Phthalocyanine or similar)
Manuf. index: 26
Manufacturer: TDK Corporation
Do not use cheap/poor quality CD-R media, which is almost always all that is available in retail stores and most likely any CD-R that is not “archival grade”. Poor quality cheap CD-R media can sometimes result in:
Poor quality CD-R media may work fine with the Sega Dreamcast and you may not experience the above issues, however in general it is still best to just always use Verbatim DataLifePlus/UltraLife CD-Rs or something of similar quality. For reference, below is the ATIP information displayed by cdrecord -atip
for a Maxell Music CD-R:
ATIP info from disk:
Indicated writing power: 4
Disk Is unrestricted
Disk Is not erasable
Disk sub type: Medium Type A, low Beta category (A-) (2)
ATIP start of lead in: -12508 (97:15/17)
ATIP start of lead out: 359845 (79:59/70)
Disk type: Short strategy type (Phthalocyanine or similar)
Manuf. index: 22
Manufacturer: Ritek Co.
If you are still having issues booting even high quality CD-Rs on the Sega Dreamcast, consider wiping with a clean microfiber cloth from the inner ring to the outer edge of the CD-R in all directions and then trying to boot the disc again.
DCDIB released as a portable Linux application (generated by PortableLinuxExecutableDirectory), so if you have a modern x86_64 Linux OS you can simply download and unzip the latest DCDIB release to use it. If you desire to use DCDIB on a different Linux OS version and or architecture then what the current release provides support for, you may compile DCDIB from source. After inserting a high-quality CD-R disc in your CD-R burner, ignore any prompts about the new blank CD-R that your OS may display such as:
Using sudo or root, execute the dcdib
script in the extracted release directory with 1 or 2 arguments. The first argument is the filepath to the .cdi
file you want to burn to a CD-R and it is required. The second argument is completely optional, it allows you to change the CD burner’s device devname to a custom one. DCDIB already provides a default CD burner device devname to use which should work on most if not all Linux distributions (/dev/sr0
). However if you find this to not work on your setup you can provide your own in the optional second argument to DCDIB.
If your wondering why, root privileges are required to ensure that buffer under-runs do not occur during burning which would result in a CD-R coaster. Root privilages also ensure that cdrecord
can access your CD burner hardware successfully to burn the CD-R.
Installing from source allows you to compile your own DCDIB release for a different Linux version, distribution, and or CPU architecture (i.e. ARM, x86 32-bit, etc.).
First of all, install all the pre-requisites required for building DCDIB from source:
Next, clone the DCDIB source tree from GitHub recursively using git:
git clone --recursive https://github.com/alex-free/dreamcast-cdi-burner
Now that the entire DCDIB source tree is recursively cloned, cd
into the dreamcast-cdi-burner
directory and execute the ./build
script. Then just wait a bit for your release .zip
file to be generated by the build
script. A release directory will also be created, allowing you to immediately use the DCDIB open source toolkit.
If you want to clean your DCDIB source tree of all built binaries/releases, simply execute ./build clean
. The clean
argument will tell the build
script to simply exit after resetting the source tree.
DCDIB itself is released into the public domain, see the file dcdib.txt
in the licenses
directory of each DCDIB release.
DCDIB makes use of the following programs listed below, which have their own licenses/terms:
licenses/pled.txt
)licenses/cdirip.txt
)licenses/cdrecord-cddl.txt
and licenses/cdrecord-gpl2.txt
)