DAO.EXE - CDROM DISC-AT-ONCE RECORDING PROGRAM >>> PROGRAM DESCRIPTION <<< DAO.EXE uses the "disc-at-once" recording method to make AUDIO, CDROM (Mode1), CDROM-XA (Mode2), CDI, CD+G, and MIXED-MODE discs. The discs will be either "redbook" or "yellowbook" compatible and can be used as masters for commercial CDROM production. You are required to write a CUE SHEET file for each disc which defines (among other things) the data files to be written and the starting time of each track/index point. This information is used to build the table of contents and subcode-Q data on the recorded disc. DAO gives you complete control over the track/index layout when creating audio discs. It is possible to define variable length "pause areas" between tracks (down to zero!) and to define subindexes to other points within a track. NOTE: The SNAPSHOT and MAKECUE programs can generate cue sheets for existing discs automatically. WARNING: This program is NOT freeware or shareware. If you have not purchased and registered the fully-functional version, then you have an illegal copy. *********************************************************************** >>> DEMONSTRATION VERSION <<< The demonstration version of DAO.EXE has the following limitations: - Only audio tracks may be recorded. - Total length of all tracks is limited to 20 minutes. If you wish to purchase a fully functional version of this program, please contact me at "jarnold@mainstream.net". You will be given an authorization code that will unlock all programs and make them fully functional. *********************************************************************** >>> LIST OF SUPPORTED RECORDERS <<< MANUFACTURER MINIMAL FIRMWARE VERSION MODEL REQUIRED FOR DISC-AT-ONCE Grundig CDR100IPW 1.20 HP 4020i 1.20 JVC XR-W2001 1.34 JVC XR-W2010 ANY Kodak PCD225 1.06 Olympus CDS615E ANY Philips CDD522 1.06 Philips CDD2000 1.20 Plasmon CDR4220 1.20 Pinnacle RCD-1000 1.34 Pinnacle RCD-5020/RCD-5040 ANY Ricoh RO-1420C ANY Sony CDW-900E ANY Sony CDU-920S/CDU-940S ANY Teac CD-R50S ANY Yamaha CDR100/CDR102 ANY (except early CDR100) NOTE: Any reference to PHILIPS recorders in this document also applies to the GRUNDIG, HP, PLASMON, and RICOH RS-1420C recorders (all of these are firmware compatible). *********************************************************************** >>> KNOWN PROBLEMS <<< Firmware version 1.20 in the Philips CDD2000 (and HP4020i) has the following disc-at-once recording bugs... - Writes improper leadin track on all non-audio discs. - Reverses left/right audio channel data. - Last two seconds of audio discs not playable. - Will not write track subindexes (rarely used). - Will not write more than 50 tracks (should allow 99). NOTE: All of the above problems have been fixed in version 1.25 There appears to be a problem with all audio discs recorded on the Pinnacle and JVC recorders. When the discs are played back and the last track has ended, the discs will not stop and will continue playing through the leadout track. This problem doesn't occur on all CD players, and it hasn't been determined if this is a bug in the JVC firmware or in DAO.EXE. The Pinnacle/JVC recorders also appear to have a firmware bug when writing CDROM-XA (MODE2) discs in DAO recording mode. The problem is similar to the one in the Philips CDD2000, but not as severe. Most of the discs are still readable. *********************************************************************** >>> COMMAND LINE USAGE <<< Usage: DAO [/ID=ha:id:lun] [/BEEP] [/COPIES=n] [/DCP] [/EJECT] [/NOCONFIRM] [/PREEMPH] [/REVERSE] [/SESSION] [/SPEED=n] [/TEST] [/4CHAN] [/BIN] [/MOT] [/WAV] [/UNLOCK] cuefile - Cue sheet filename /ID - SCSI ID of CD recorder (default is first found) /BEEP - Issue an audible 'beep' when recording has finished /COPIES=n - Number of discs to be recorded (default is 1) /DCP - Set 'digital copy permitted' flag in all tracks /EJECT - Eject CD when recording has finished /NOCONFIRM - Disable all confirmation prompts /PREEMPH - Set 'pre-emphasis' flag in all audio tracks /REVERSE - Reverse left/right channel data on all audio tracks /SESSION - Enable session-at-once recording (default is disc-at-once) /SPEED=n - Recording speed (default is 2x) /TEST - Enable test recording mode /4CHAN - Set 'four channel' flag in all audio tracks /BIN - Audio files are in Intel binary format /MOT - Audio files are in Motorola binary format /WAV - Audio files are in WAV format (default) /UNLOCK - Unlock this program from demonstration mode The /REVERSE option can be used on the Philips CDD2000, HP4020i, and Plasmon CDR-4220 as a workaround to the V1.20 firmware bug that is reversing the left/right audio channels. The /SESSION option should only be used on Philips compatible recorders. These are the only recorders that support writing multiple sessions using disc-at-once recording mode. The /TEST option is used to temporarily disable the recording laser inside the CD recorder. A test recording takes just as long as writing the disc for real. This option is used to make sure that your system is properly configured and is capable of writing a disc at the selected recording speed. You should use this option when you are using this software for the first time or have made a significant change to your hardware, such as installing a different recorder, SCSI card, or motherboard. You must have a blank disc inside the recorder when using this option (even though it is not written to). If you wish to write the disc for real after the test recording, then you must eject the blank disc and insert it back into the recorder. *********************************************************************** >>> COMMON USER ERRORS <<< 1) TRACK TIMES - Track times are specified in minutes, seconds, and frames (e.g. 02:48:25). There are 75 frames per second. If you are using a WAV file editor to get your audio track times, it probably doesn't display the times in this format, so you will have to convert them. Most editors display time in either 30 frames per second or in hundreths/thousanths of a second. 2) TRACKS LESS THAN 4 SECONDS LONG - The CDROM specification does not allow any tracks or indexes (other than index zero) to be less than four seconds long. DAO will warn you about any tracks that violate this rule. Most (or all) CD recorders will refuse to record a CD with this violation. 3) PREGAPS GREATER THAN 3 SECONDS LONG - Some recorders will refuse to record a disc with any pregaps that exceed three seconds in length. On the first track, you automatically get a pregap of two seconds, which is required by the CDROM spec. Unless you are doing something very odd, you should never need to extend the pregap of the first track (i.e. don't use the PREGAP command on the first track). 4) DATA LENGTH NOT A MULTIPLE OF THE CDROM SECTOR SIZE - If you are using an audio (WAV) file where the length of the data is not an exact multiple of the CDROM sector size (2352), then the last sector must be padded out with zeros when it is written to the recorder. This can cause a tiny "tick" between tracks. If you are making a disc from a live recording that has been broken up into several files, then you must make sure that each file is an exact multiple of the CDROM sector size. Otherwise, there will not be a seamless transition between tracks. *********************************************************************** >>> IMPORTANT! PLEASE READ THIS <<< When using DAO recording mode on *all* recorders except the Philips, you may notice that your PC appears to hang (i.e. no disk activity) soon after recording begins. Dont panic! This is completely normal. Let me explain why... When you start DAO recording mode, the recorder will keep accepting data until its internal cache becomes almost full. At this point, it "disconnects" itself from the SCSI bus and starts to write the leadin track automatically. Writing the leadin takes approximately two minutes (at 2x speed). Once the leadin has been written, the recorder "reconnects" itself to the SCSI bus and starts writing the first user track beginning with the data that it had buffered prior to writing the leadin. Disk activity will then resume normally. As soon as the last user track has been written, the recorder will once again disconnect itself to write the leadout track and the PC will appear to hang again. All Philips recorders do not exhibit this behavior because it is the responsibilty of the application program (e.g. DAO.EXE) to write the leadin and leadout tracks. Disconnect and reconnect are features of the SCSI protocol. It allows a device to stop using the SCSI bus during long operations, so that other devices may use it. *********************************************************************** >>> CUE SHEET FILES <<< You must write a CUE SHEET file (using any text editor) for each disc to be recorded. This file defines all of the files to be written and the starting times of each track/index point. The following commands are currently recognized... FILE, PREGAP, POSTGAP, TRACK, INDEX, CATALOG, ISRC, and REM. ======================================================================== >> FILE Command This command is used to specify a data file that will be written to the CD recorder. Syntax : FILE datatype - Type of data contained in file blocksize - Size of each block The following datatypes are allowed... AUDIO - Audio/Music Data * Valid blocksizes are 2352 and 2448 (2448 is used for CD+G discs only!) MODE1 - CDROM Mode1 Data * Valid blocksizes are 2048 and 2352 MODE2 - CDROM-XA Mode2 Data * Valid blocksizes are 2336 and 2352 CDI - CDI Mode2 Data * Valid blocksizes are 2336 and 2352 Supported datatypes and blocksizes (by recorder model)... AUDIO AUDIO MODE1 MODE1 MODE2 MODE2 2352 2448 2048 2352 2336 2352 ------------------------------------------- OLYMPUS | Yes No Yes Yes Yes Yes PHILIPS | Yes No No Yes No Yes PINNACLE | Yes No Yes Yes Yes Yes SONY | Yes No Yes Yes Yes Yes YAMAHA | Yes Yes Yes Yes Yes Yes ------------------------------------------- Example: FILE C:\CDR\TRACK2.WAV AUDIO 2352 FILE C:\CDR\TRACK1.ISO MODE1 2048 Rules : FILE commands must appear before any other command except CATALOG. NOTE: For AUDIO files only, if the length of the file is not an exact multiple of 2352 bytes, then the last sector will be padded with zeros. ======================================================================== >> PREGAP Command This command is used to specify the length of a track pregap. The pregap is generated internally by DAO. No data is consumed from the current data file. Syntax : PREGAP mm:ss:ff - Specifies the length of the pregap in minutes, seconds, and frames (75 frames per second!). Example: PREGAP 00:02:00 Rules : The PREGAP command must appear after a FILE command, but before any TRACK commands. Only one PREGAP command is allowed per file. A pregap of 00:00:00 is not allowed. ======================================================================== >> POSTGAP Command This command is used to generate a postgap (150 sectors) for a MODE1 or MODE2 data track. The postgap is generated internally by DAO. No data is consumed from the current data file. Syntax : POSTGAP Rules : The POSTGAP command must appear after all TRACK/INDEX commands for a file. Only one POSTGAP command is allowed per file. ======================================================================== >> TRACK Command This command is used to specify a track number and the type of data that will written in the track. Syntax : TRACK number - Track number (1-99) Example: TRACK 12 Rules : All track numbers must be between 1 and 99 inclusive. The first track number can be greater than one, but all track numbers after the first must be sequential. You must specify at least one track per file. ======================================================================= >> INDEX Command This command is used to specify indexes (or subindexes) within a track. Syntax : INDEX number - Index number (0-99). mm:ss:ff - Starting time in minutes, seconds, and frames. (75 frames per second!) All times are relative to the beginning of the current file. Example: INDEX 01 00:00:00 INDEX 05 02:34:50 Rules : All index numbers must be between 0 and 99 inclusive. The first index of any track must be 0 or 1 with all other indexes being sequential to the first. The first index of a file must start at 00:00:00. INDEX 0 - Specifies the starting time of the track "pregap". INDEX 1 - Specifies the starting time of the track data. This is the only index that is recorded in the disc's table-of-contents. INDEX > 1 - Subindex within a track (most CD *players* do not support subindexes). ======================================================================== >> CATALOG Command This command is used to specify the disc's "media catalog number". It will typically be used only when mastering a CD for commercial disc production. Syntax : CATALOG Example: CATALOG 1234567890123 Rules : The catalog number must be 13 digits and encoded according to UPC/EAN rules. This command can appear only once in the CUE SHEET file (it will usually be the first line, although this isn't required). ======================================================================== >> ISRC Command This command is used to specify a track's "International Standard Recording Code" (ISRC). It will typically be used only when mastering a CD for commercial disc production. Syntax : ISRC Example: ISRC ABCDE1234567 Rules : The ISRC must be 12 characters in length. The first five characters are alphanumeric, but the last seven are numeric only. If it it used, the ISRC command must be specified after a TRACK command, but before any INDEX commands. ======================================================================== >> REM Command This command is used to put comments in your CUE SHEET file. Syntax : REM Example: REM This is a comment Rules : None. ======================================================================== >>> EXAMPLE CUE SHEETS <<< EXAMPLE #1 - Audio disc using a single data file and no "pause areas" between tracks. FILE C:\MYAUDIO.WAV AUDIO 2352 TRACK 01 INDEX 01 00:00:00 TRACK 02 INDEX 01 05:50:65 TRACK 03 INDEX 01 09:47:50 TRACK 04 INDEX 01 15:12:53 TRACK 05 INDEX 01 25:02:40 TRACK 06 INDEX 01 27:34:05 TRACK 07 INDEX 01 31:58:53 TRACK 08 INDEX 01 35:08:65 ======================================================================== EXAMPLE #2 - Same disc as above using two data files. FILE C:\MYAUDIO1.WAV AUDIO 2352 TRACK 01 INDEX 01 00:00:00 TRACK 02 INDEX 01 05:50:65 TRACK 03 INDEX 01 09:47:50 TRACK 04 INDEX 01 15:12:53 FILE C:\MYAUDIO2.WAV AUDIO 2352 TRACK 05 INDEX 01 00:00:00 ; Times are relative to beginning of current file TRACK 06 INDEX 01 02:31:40 TRACK 07 INDEX 01 06:56:13 TRACK 08 INDEX 01 10:06:25 ======================================================================== EXAMPLE #3 - Audio disc with "pause areas" (pregaps). FILE C:\MYAUDIO1.WAV AUDIO 2352 TRACK 01 INDEX 01 00:00:00 TRACK 02 INDEX 00 05:49:65 ; 1 second pregap INDEX 01 05:50:65 TRACK 03 INDEX 00 09:45:50 ; 2 second pregap INDEX 01 09:47:50 TRACK 04 INDEX 00 15:09:53 ; 3 second pregap INDEX 01 15:12:53 The pause areas are written with data from the file. It is not required that this data be "digital silence" (all zeros). The first track always starts with a mandatory two second pregap. This is required by the CDROM specification and is taken care of automatically by the software. ======================================================================== EXAMPLE #4 - Using the PREGAP command. FILE C:\MYAUDIO1.WAV AUDIO 2352 PREGAP 00:01:00 ; adds an additional one second to TRACK 01 ; the first track pregap. INDEX 01 00:00:00 FILE C:\MYAUDIO2.WAV AUDIO 2352 PREGAP 00:02:00 TRACK 02 INDEX 01 00:00:00 FILE C:\MYAUDIO3.WAV AUDIO 2352 PREGAP 00:01:00 TRACK 03 INDEX 00 00:00:00 INDEX 01 00:01:00 The pregaps that are written as a result of the PREGAP command are always generated internally by DAO. They do not consume data from the current file. Is is possible to mix the source of the pregaps as shown in TRACK 03... one second of pregap will be generated internally and another second will be consumed from the file. All pregaps that are generated internally contain "digital silence" (all zeros). ======================================================================== EXAMPLE #5 - Using the CATALOG, ISRC, and INDEX commands. CATALOG 3898347789120 FILE C:\MYAUDIO1.WAV AUDIO 2352 TRACK 01 ISRC ABCDE1234567 INDEX 01 00:00:00 INDEX 02 02:00:00 INDEX 03 04:00:00 FILE C:\MYAUDIO2.WAV AUDIO 2352 TRACK 02 ISRC XYZZY0000000 INDEX 01 00:00:00 TRACK 03 ISRC 123456789012 INDEX 00 03:00:00 INDEX 01 03:02:00 INDEX 02 05:34:32 INDEX 03 08:12:49 INDEX 04 10:01:74 ********************************************************************** >>> HOW TO MAKE A "DATA" DISC <<< A "DATA" disc refers to any disc where the first track is *not* audio. This track can be either CDROM (Mode1) or CDROM-XA (Mode2). It is also possible to make a "mixed-mode" disc where the first track is DATA and all other tracks are AUDIO. To make a DATA disc, you must have a program that can build an ISO9660 image file for you (or copy an ISO data track from an existing disc). After you have prepared the ISO file, here is the procedure to record the disc using DAO... 1) If you are using any of the Philips recorders, you must convert your ISO9660 image file to raw CDROM sectors using the program ISO2RAW.EXE. This is *mandatory* since these recorders will only accept raw sectors in disc-at-once recording mode. 2) Write a CUE SHEET. 3) Use DAO.EXE to record the disc. ********************************************************************** >>> EXAMPLE CUE SHEETS FOR "DATA" and "MIXED-MODE" DISCS <<< EXAMPLE #1 - Single track DATA disc (non-PHILIPS recorders). FILE C:\MYDATA.ISO MODE1 2048 TRACK 01 INDEX 01 00:00:00 POSTGAP ; Must add postgap to track!! NOTE: The POSTGAP command is not needed if the ISO data was copied from the track of an existing disc (the postgap will already be part of the track). On the other hand, if you built the file using an ISO formatting program, then you must add a postgap. ======================================================================== EXAMPLE #2 - Single track DATA disc (using a "raw image file"). FILE C:\MYDATA.RAW MODE1 2352 TRACK 01 INDEX 01 00:00:00 POSTGAP NOTE: The POSTGAP command is optional depending on whether or not you already added the postgap with the ISO2RAW program. ======================================================================== EXAMPLE #3 - Mixed-mode Disc (one data track and three audio tracks). FILE C:\MYDATA.ISO MODE1 2048 TRACK 01 INDEX 01 00:00:00 POSTGAP FILE C:\MYAUDIO.WAV AUDIO 2352 PREGAP 00:02:00 TRACK 02 INDEX 01 00:00:00 TRACK 03 INDEX 01 05:50:65 TRACK 04 INDEX 01 09:47:50 NOTE: You *must* have a PREGAP (minimum of 2 seconds) between the data track and the first audio track. ********************************************************************** Please send all suggestions, comments, and bug reports to... Jeff Arnold Golden Hawk Technology 125 Indian Rock Road Merrimack, NH 03054 Phone: 603-424-0269 FAX : 603-429-0073 URL : http://www.mainstream.net/goldenhawk EMAIL: jarnold@mainstream.net ********************************************************************** Updated on SEPTEMBER 1, 1996