

	      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



Creative CDR4210                ANY

Grundig  CDR100IPW              1.25

HP       4020i                  1.25

HP       6020i                  ANY

JVC      XR-W2001               1.34

JVC      XR-W2010               ANY

Kodak    PCD225                 1.06

Kodak    PCD600                 ANY

Matshita CW-7501                ANY

Olympus  CDS615E/620E           ANY

Philips  CDD522                 1.06

Philips  CDD2000                1.25

Philips  CDD2600                ALL

Plasmon  CDR4220                1.25

Plasmon  CDR4240                ANY

Pinnacle RCD1000                1.34

Pinnacle RCD5020/5040           ANY

Pinnacle RCD4X4                 ANY

Ricoh    RO-1420C               1.40

Sony     CDW900E                ANY

Sony     CDU920S/924S/926S/940S ANY

S&F      All models             ANY

Teac     CD-R50S                ANY

Wearnes  CDR-432                1.25

Yamaha   CDR100/102/200/400     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 command set 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 data discs.

  - Reverses left/right audio channels.

  - Last two seconds of audio discs not playable.

  - Will not write more than 50 tracks (should allow 99).

  - Will not write track subindexes (rarely used).



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.



***********************************************************************



>>> COMMAND LINE USAGE <<<



Usage: DAO <cuefile> [logfile] [/ID=ha:id:lun] [/BEEP] [/COPIES=n] [/EJECT]

         [/NOCONFIRM] [/NOWARN] [/SESSION] [/SPEED=n] [/TEST] [/UNLOCK]

cuefile    - Cue sheet filename

logfile    - Disc layout log filename (optional)

/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)

/EJECT     - Eject CD when recording has finished

/NOCONFIRM - Disable all confirmation prompts

/NOWARN    - Disable all warning messages

/SESSION   - Enable session-at-once recording (default is disc-at-once)

/SPEED=n   - Recording speed (default is 2x)

/TEST      - Enable test recording mode

/UNLOCK    - Unlock all programs from demonstration mode



/ID=ha:id:lun - Specifies the SCSI ID of the CD recorder.

  "ha"  = Host adpater number (usually zero)

  "id"  = SCSI ID number

  "lun" = Logical unit number (usually zero)



/BEEP - Issues a series of audible "beeps" on the PC speaker to

indicate that the recording has completed. Under Windows 95, this

only works if you have a sound card installed.



/COPIES - Specifies the number of copies that you want to make of the

disc. If you are making more than one copy, then you will be prompted to

insert a new disc after each recording even if /NOCONFIRM is specified.



/EJECT - Ejects the CD (or opens the tray) after recording has completed.



/NOCONFIRM - Disables all confirmation prompts on the screen.



/NOWARN - Disables all warning messages on the screen.



/SESSION - This will cause a new session to be opened on the disc

after the current session is finalized. This allows for the creation

of multisession discs. NOTE: This option is only supported on Philips

compatible recorders.



/SPEED - Recording speed (the default is the maximum allowed by the

selected CD recorder).



/TEST - This 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.



***********************************************************************



>>> TIPS FOR WINDOWS 95 USERS <<<



If you are using the 32-bit version of this software under Windows 95,

then make sure that the "Auto Insert Notification" option is *disabled*

for all CDROM devices...



1) Open the "Control Panel" folder and click on the "System" icon.



2) Select the "Device Manager" tab.



3) Click on the CDROM icon.



4) For each CDROM device in the list...

     Select the device.

     Select the "Settings" tab.

     Disable the "Auto Insert Notification" option.

     Click on "OK"



For best performance, you may also need to enable the "Sync data transfer"

option for most CDROM readers and recorders.



***********************************************************************



>>> 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 perfectly 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...

  CATALOG, FILE, TRACK, INDEX, FLAGS, PREGAP, POSTGAP, ISRC, and REM.



========================================================================



>> 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 <media-catalog-number> 

  

    Example: CATALOG 1234567890123

  

    Rules  : The catalog number must be 13 digits long and is 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 mandatory).



========================================================================



>> FILE Command



  This command is used to specify a data file that will be written

  to the CD recorder.



    Syntax : FILE <filename> <filetype>

               filename - File name (can include device/directory).

               filetype - File type.



               The following filetypes are allowed...

                 WAVE   - Audio WAVE file (only 16-bit 44.1KHz stereo

                          files are supported).

                 BINARY - Intel binary file



    Example: FILE C:\CDR\TRACK2.WAV WAVE

             FILE C:\CDR\TRACK1.ISO BINARY

  

    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.



========================================================================



>> 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> <datatype>

               number   - Track number (1-99)

               datatype - Track datatype



	       The following datatypes are allowed...

                 AUDIO      - Audio/Music (2352)

                 CDG        - Karaoke CD+G (2448)

                 MODE1/2048 - CDROM Mode1 Data (cooked)

                 MODE1/2352 - CDROM Mode1 Data (raw)

                 MODE2/2336 - CDROM-XA Mode2 Data (cooked)

                 MODE2/2352 - CDROM-XA Mode2 Data (raw)

                 CDI/2336   - CDI Mode2 Data (cooked)

                 CDI/2352   - CDI Mode2 Data (raw)



	      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    No     Yes    No

	       SONY      |  Yes    No     Yes    Yes    Yes    Yes

	       YAMAHA    |  Yes    Yes    Yes    Yes    Yes    Yes

			 -------------------------------------------



    Example: TRACK 1 MODE1/2048

             TRACK 20 AUDIO

  

    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> <mm:ss:ff>

	       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).



========================================================================



>> FLAGS Command



  This command is used to set a track's subcode flags. These flags

  are rarely used on any discs made today.



    Syntax : FLAGS <flags>...

               flags - Specifies one or more track flags.



               The following flags are allowed...

                 DCP - Digital copy permitted

                 4CH - Four channel audio

                 PRE - Pre-emphasis

  

    Example: FLAGS DCP

             FLAGS 4CH PRE



    Rules  : The FLAGS command must appear after a TRACK command,

             but before any INDEX commands. Only one FLAGS command

             is allowed per track.



    NOTE: There is a fourth subcode flag called "DATA" which is set

    for all non-audio tracks. This flag is set automatically based

    on the datatype of the track.



========================================================================



>> 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>

	       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 TRACK command,

             but before any INDEX commands. Only one PREGAP command

             is allowed per track.



========================================================================



>> POSTGAP Command



  This command is used to specify the length of a track postgap.

  The postgap is generated internally by DAO. No data is consumed

  from the current data file.



    Syntax : POSTGAP <mm:ss:ff>

               mm:ss:ff - Specifies the length of the postgap in minutes,

			  seconds, and frames (75 frames per second!).

  

    Example: POSTGAP 00:02:00

  

    Rules  : The POSTGAP command must appear after all INDEX commands

             for the current track. Only one POSTGAP command is allowed

             per track.



========================================================================



>> 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 <code>

  

    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 <comment>

  

    Example: REM This is a comment

  

    Rules  : None.



========================================================================



>>> EXAMPLE CUE SHEETS <<<



EXAMPLE #1 - Audio disc from a single data file with no "pause areas"

between tracks.



FILE C:\MYAUDIO.WAV WAVE

  TRACK 01 AUDIO

    INDEX 01 00:00:00

  TRACK 02 AUDIO

    INDEX 01 05:50:65

  TRACK 03 AUDIO

    INDEX 01 09:47:50

  TRACK 04 AUDIO

    INDEX 01 15:12:53

  TRACK 05 AUDIO

    INDEX 01 25:02:40

  TRACK 06 AUDIO

    INDEX 01 27:34:05

  TRACK 07 AUDIO

    INDEX 01 31:58:53

  TRACK 08 AUDIO

    INDEX 01 35:08:65



========================================================================



EXAMPLE #2 - Audio disc from multiple data files (one track per file)

with no "pause areas" between tracks.



FILE C:\TRACK1.WAV WAVE

  TRACK 01 AUDIO

    INDEX 01 00:00:00

FILE C:\TRACK2.WAV WAVE

  TRACK 02 AUDIO

    INDEX 01 00:00:00

FILE C:\TRACK3.WAV WAVE

  TRACK 03 AUDIO

    INDEX 01 00:00:00

FILE C:\TRACK4.WAV WAVE

  TRACK 04 AUDIO

    INDEX 01 00:00:00



The data files will be recorded continuously with no gaps between

them. However, if a data file is not an exact multiple of the CDROM

sector size (2352 bytes), then the last sector will be automatically

padded with zeros. This could result in a gap between tracks with a

maximum length of 1/75th second.



========================================================================



EXAMPLE #3 - Audio disc using multiple data files (multiple tracks

per file) with no "pause areas" between tracks.



FILE C:\TRACK1.WAV WAVE

  TRACK 01 AUDIO

    INDEX 01 00:00:00

  TRACK 02 AUDIO

    INDEX 01 05:50:65

  TRACK 03 AUDIO

    INDEX 01 09:47:50

  TRACK 04 AUDIO

    INDEX 01 15:12:53

FILE C:\TRACK2.WAV WAVE

  TRACK 05 AUDIO

    INDEX 01 00:00:00   ; Times are relative to beginning of current file

  TRACK 06 AUDIO

    INDEX 01 02:31:40

  TRACK 07 AUDIO

    INDEX 01 06:56:13

  TRACK 08 AUDIO

    INDEX 01 10:06:25



========================================================================



EXAMPLE #4 - Audio disc with "pause areas" (pregaps).



FILE C:\MYAUDIO1.WAV WAVE

  TRACK 01 AUDIO

    INDEX 01 00:00:00

  TRACK 02 AUDIO

    INDEX 00 05:49:65   ; 1 second pregap

    INDEX 01 05:50:65

  TRACK 03 AUDIO

    INDEX 00 09:45:50   ; 2 second pregap

    INDEX 01 09:47:50

  TRACK 04 AUDIO

    INDEX 00 15:09:53   ; 3 second pregap

    INDEX 01 15:12:53



The pause areas are written with data from the current file. It is

not required that this data be "digital silence" (all zeros).



The first track always begins with a mandatory two second pregap.

This is required by the CDROM specification and is generated

automatically by the software.



========================================================================



EXAMPLE #5 - Using the PREGAP command.



FILE C:\MYAUDIO1.WAV WAVE

  TRACK 01 AUDIO

    PREGAP 00:01:00             ; adds an additional one second to

    INDEX 01 00:00:00           ; the first track pregap.

FILE C:\MYAUDIO2.WAV WAVE

  TRACK 02 AUDIO

    PREGAP 00:02:00

    INDEX 01 00:00:00

FILE C:\MYAUDIO3.WAV WAVE

  TRACK 03 AUDIO

    PREGAP 00:01:00

    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 #6 - Using the CATALOG, ISRC, and INDEX commands.



CATALOG 3898347789120

FILE C:\MYAUDIO1.WAV WAVE

  TRACK 01 AUDIO

    ISRC ABCDE1234567

    INDEX 01 00:00:00

    INDEX 02 02:00:00

    INDEX 03 04:00:00

FILE C:\MYAUDIO2.WAV WAVE

  TRACK 02 AUDIO

    ISRC XYZZY0000000

    INDEX 01 00:00:00

  TRACK 03 AUDIO

    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 BINARY

  TRACK 01 MODE1/2048

    INDEX 01 00:00:00

  POSTGAP 00:02:00              ; 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 BINARY

  TRACK 01 MODE1/2352

    INDEX 01 00:00:00

  POSTGAP 00:02:00

  

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 BINARY

  TRACK 01 MODE1/2048

    INDEX 01 00:00:00

  POSTGAP 00:02:00                       

FILE C:\MYAUDIO.WAV WAVE

  TRACK 02 AUDIO

    PREGAP 00:02:00

    INDEX 01 00:00:00

  TRACK 03 AUDIO

    INDEX 01 05:50:65

  TRACK 04 AUDIO

    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...



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 APRIL 7, 1997



