Writing CD-Rs under OS/2

Writing CD-Rs under OS/2

Going with the times, I bought a used Yamaha CDR-100 CD-Recorder 4 years ago. It is a fine tool working quite well to burn 650 MB CD-Rs at 4x speed. For the office I now have the much more modern burner Plextor 121032S that can burn CD-Rs up to 12x and CD-RWs up to 10x (note, that if you want to burn CD-RWs with more than 4x you need special CD-RWs that are labeled High Speed.

While the base of this page was written in 1997, I have updated it in early 2001 with some more experiences.

As an OS/2 hacker and power user I then went looking for some software to write CD-Rs under OS/2 (though e.g. Adaptec ships Easy CD with its PCI SCSI adapters which works under Windows NT (at least in test mode)), but I was looking for an OS/2 solution.

Besides an IBM internal (commandline based) program, I found a demo version of Cirrus' CD Maker, which allows you to test everything (just writing is disabled), a demo version of RSJ CD-Writer which allows you to test everything for 30 days (starting with the day you got your demo version) and finally the freewares MKISOFS (for creating an ISO (aka Raw) image and CDRecord/2 (to burn an ISO image onto a CD-R or CD-RW).

You may try the links to CD Maker and RSJ CD-Writer directly, but you know, URLs often change ;-). MKISOFS and CDRecord/2 should be easy to locate by searching at hobbes and/or at Altavista.

Currently, the first 2 programs don't seem to support creation of bootable CD-ROMs (El Torito specification), both all other major formats are supported and sometimes even enhanced.

Cirrus Unite CD-Maker

Unite CD-Maker is a SOM-based application, which means you can create your CDs just by linking files and folders to a special "CD-folder" with Drag'n Drop, indeed very easy to operate! Of course you can also copy data from existing CDs via Drag'n Drop.

Unite CD-Maker allows you to build standard CD-ROMs like data and audio CDs, single and multispeed CDs and even to use HPFS filenames (though this may cause non portable CD-ROMs).

Unite CD-Maker is also one of the few CD-R authoring application (and I know about 5, unfortunately mostly Windows based) that allows you to specify the size of the write buffer (a software cache), the CD-R receives its data from. This is especially important when having a thermal recalibrating hard disk drive (as I do, and you likely will have one too) as such drives may stop for 1 to 2 seconds to deliver any data (as the head will compensate for misaligns caused by heat while operating) but any CD-Recorder needs a steady flow of data as CD-Rs can only be written without interruptions. Once the data flow to the CD-R stops, you can dispose at least that session (or audio track) if not the whole CR-R.

Most CD-Recorders have some hardware cache (e.g. the Yamaha CDR-400 has 2 MB and writing at 4x requires 600kB data per second), but this is more expensive and limited than a software cache. For example, I successfully used an IBM PC750 P133 MCA/PCI with 56 MB RAM and I configured 28 MB write cache for the CD-Recorder, and even at 4x it takes more then 10 seconds for such a buffer to get empty! And thermal recalibration is not the only reason that can prevent steady flow of data to the CD-R (e.g. the swapper may be adjusted, code and data may be unloaded,...).

You can either build a CD-ROM from an image (requireing twice the disk space) or burn it on the fly, the later requireing a faster harddisk.

Another reason to get that demo version is, that it also includes a modified OS2CDROM.DMD and a filter driver, which allow you to access the CD-Recorder like a CD-Drive, even if it reports itself (as e.g. the Yamaha CDR-100 does) as a WORM-device to the SCSI bus, which OS2CDROM.DMD does not handle. CD Maker demo also includes a toolkit which allows you to create your own CD-R authoring application.

Nowadays (early 2001) I think that Unite CD-Maker only makes sense for burning purposes if you have some older hardware, newer CD-writers most likely will not work. What still makes sense, at least if you don't want to create CDs larger than 650 MB, is to use it to create ISO-images (sometimes also called Raw-Images. You will get HPFS filename support without headaches.

RSJ CD-Maker

RSJ CD-Maker is a standard OS/2 executable (not requireing SOM), that has of course a GUI to create your CD-Rs with, but more interesting it can operate your CD-Rs like a removable media, that is you have to format it, can write it with your file manager or from the commandline with the OS/2 COPY and XCOPY commands. You can even remove the CD-R from the drive, reinsert it and copy another bunch of files onto it (the session is still open).

RSJ CD-Maker does install its own CD-R filesystem and supplies the necessary tools required to attach a virtual drive to the CD-Recorder. As with all filesystems, FORMAT and CHKDSK are supported commands for that virtual drive.

With the GUI you can build your own CDs by extracting data and audio tracks from existing CDs onto a temporary directory on the harddisk and composing your own. Of course this is done by Drag'n Drop, however you can't add files and directories by dragging them onto RSJ CD-Maker from the WPS. As the virtual drive behaves like a real removable media, you can even delete files added incorrectly.

To burn a CD-ROM containing your own files and directories, you have either to (X)COPY them to the virtual drive created by RSJ CD-Maker (it's just like a LAN drive that gets attached by a commandline tool), or Drag'n Drop them onto the WPS Drive object corresponding to that virtual drive.

Once you're finished adding data to your CD, you can flush that data out onto the CD from the commandline tool that gets launched when clicking onto its icon. However you won't see the progress then nor any hint if your harddisk can keep up with the data required to burst to the CD-Recorder, I assume an error message will be displayed when a buffer underrun occurs, so once again it is a good idea to burn your CD in test mode once before going into production.

RSJ CD-Maker caches that removable media on your harddisk, and depending on the size of that cache it may be required to flush that cache out onto the CD-Recorder from times to times. I'm not sure if I understood that correctly, but I think it will write another track of the current session session then (what happens if you delete a file from the virtual drive afterwards would be an interesting experiment ;-).

RSJ CD-Maker also allows you to build standard CD-ROMs like data and audio CDs, single and multispeed CDs. I can imagine that RSJ's approach may prove most useful when using standard backup programs to to backup to CD-Rs (instead of tapes or MOs).

RSJ CD-Maker also contains tools to duplicate CDs 1:1, to extract tracks from CDs and to build your CDs from tracks (that is especially useful for audio CDs).

One point I think that should be noted about RSJ CD-Maker is that currently (early 2001) DAO (disk-at-once) support is in Beta test. Another point is that, if you close a session, then reopen it to add some more files (of course by still using the virtual drive) at least 2 new tracks are added to that (multisession) CD. From my experience it seems the more sessions you have the longer it takes for CD-ROM drives to become ready, and I have even seen that it may not be readable at all.

MKISOFS and CDRECORD

Both are freeware utilities that were developped under Unix and have been ported to OS/2 too. MKISOFS's task, as the name implies, is used to create an ISO-image. CDRECORD's task, again as the name implies, is used to write the ISO-image onto CD-Rs or CD-RWs.

Both allow you to create state of the art CDs (multisession, bootable, ...) and support near all CD-writers available (not just only SCSI but even IDE). However, both are commandline tools, but if you prefer a GUI you can e.g. look onto hobbes and you'll find quite some frontends.

If you want to get an idea of how it actually looks like using both tools to create bootable OS/2 installation CDs you may take a look onto my CD Boot/2 page.

Beside being freeware, which is certainly not a disadvantage, both are of excellent quality and stability, I really can recommend them!

Verifying your CD-Rs

What I was missing with all CD-R authoring programs was a tool to compare the data that was written onto the CD-R with the source data it was written from, so I wrote XCOMP. XCOMP works like XCOPY /S, just instead of copying files, the files get compared (even subdirectories).

As you will see on that page, it is an advantage to ensure that the CD has been written correctly as for me this is not something that happens automatically and always.


(C) Roman Stangl (Roman_Stangl@at.ibm.com), 11.05.1997
Last update: 20.03.2001
 1