                               === Diskcopy ===

Version.
--------

This is the documentation for FreeDOS diskcopy beta 0.42. This version is
a candidate for a stable version and contains all the planned features for
diskcopy. These include:

- disk copies for 160 Kb, 180 Kb, 320 Kb, 360 Kb, 720 Kb and 1.44 Mb diskettes.
- use XMS, EMS, swap files and main memory for disk copies.
- image file support.
- mouse button support.
- rawrite compatibility.
- diskcopy can now be compiled using only freely available software. 


New in this version.
--------------------

There is only one change in this version. The program can now be used for
copying disks on systems where the disk drive does not have a drive letter
of a: or b:. This is mostly the case where a computer has more than two
disk drives.

Authors.
--------

Mathew Stanford (original version).

Imre Leber (ilebr@vub.ac.be, valid until june 2000).

License.
--------
Diskcopy is distributed under the terms of the GNU General Public License
(see COPYING for details).

The XMS and EMS public domain routines by Cliff Rhodes have been translated to 
nasm by Imre Leber and the assembly versions have been put under the 
GNU General Public License by Imre Leber.

The file drvtypes.asm is a nasm translation of a pascal source file. Since
the routines in this file where allready written in in-line assembly this
file remains under the public domain.

The original version of free diskcopy has been written by Matthew Stanford,
who personally asked me to work on it further.

Purpose.
--------
Diskcopy is a free implementation of the dos utility with the same name. It
currently supports disk copies for 160 Kb, 180 Kb, 320 Kb, 360 Kb, 720 Kb, 
1.2 MB and 1.44 MB disks, using XMS, EMS, buffers or swap file.
On top of that diskcopy supports the use of image files.

Syntax and usage.
-----------------
The syntax for diskcopy is as follows:

 Diskcopy <source> <destination> [/a] [/v] [/m] [/i] [/o] [/1] [/x] [/d] [/?]

The parameters are as follows:

source:      drive or image file to copy from.
destination: drive or image file to copy to.

/a : give an audible warning for user action.

     This option gives a beep each time user action is required.

/v : verify writes.

     Meant for verifying writes, actually has only influence on the DOS
     verify flag.

/m : only use memory for disk copy.

     With this option only memory is used for the diskcopy, meaning either
     XMS, EMS or buffers.

/i : show memory usage (informative).

     Tells you which kind of memory is used.

/o : overwrite destination, if it already exists (in case of an image file).

     When you want to make an image file of a floppy disk and a file with
     that name allready exists the program refuses to overwrite the file.
     With this option you can change this behaviour and force an overwrite
     of existing files.

/x : allways automatically exit.

     This switch makes sure the program allways exit. You will most likely
     notice this at the end of the program. If you use this switch the 
     program will no longer ask you wether you want another copy of the disk
     or wether you want another copy of the disk.

/d : assume disk allready in drive.

     This switch is used to speed up disk copying. The program will not
     ask you to insert the source or destination diskette if possible.


/1 : this option doesn't do anything but has been included for MS-DOS
     compatibility.

/? : displays the help screen.

The character for the options (the '/') actually depends on the DOS switch
character. If you have changed it to an other character than '/', you can use 
that character instead (but this is not required).

Image files.
------------

Image files are files that contain the contents of a floppy disk in raw 
format.

The main advatage of image files is that one can save the contents of a
floppy on a different medium, like a CD-ROM or a hard disk and recreate the
disk only when you need it.

Image files allso make it possible to distribute image files through the
internet.

To make an image file you can do the following:

     diskcopy a: example.img

To rewrite the contents to a different floppy disk you can do the following:

     diskcopy example.img a:

For reasons of closure it is allso possible to copy image files with 
diskcopy, as follows:

     diskcopy example1.img example2.img

but this is (allmost) the same as copy example1.img example2.img.

Hint:  To get a better compression ratio on image files, use a wipe utility
       (like PC TOOLS wipe) to clear the unused space on a floppy disk.

Rawrite compatibility.
----------------------

The image files supported by diskcopy are now also compatible with rawrite
image files (commonly used with linux distributions and the FreeDOS 
distribution). 

Diskcopy can thus be used to create the images for use with rawrite. There
is only one thing to notice here. Because diskcopy uses DOS to find out the
disk sizes for the diskettes it can only work with FAT. Reading from non DOS
disks is impossible. 

On the other hand writing to a disk formatted to use FAT is possible no
matter what the image file itself contains. If there is an other file system
on the diskette format a: /q can be use before writing an image file to
the diskette.

Windows compatibility.
----------------------

Because diskcopy only uses DOS to copy disks it can be used to write in a
DOS box under windows without having to lock the drives first. Any boot 
sector will be written correctly so that the disk will be bootable.

Long filename support will be added when FreeDOS gets it's long filename
API wich might or might not be compatible with windows long filenames.

Examples.
---------

Diskcopy a: a: /a /i

    Copy a floppy disk from a: to a:, give a beep before user action and show
    memory usage.

Diskcopy a: example.img

    Copy the contents of the floppy disk in drive a: to the image file
    example.img.

Diskcopy example.img a:

    Copy the contents of the file example.img to the floppy disk in drive a:

Diskcopy example1.img example2.img

    Copy the file example1.img to the file example2.img. 

Planned improvements.
---------------------

Make it one day possible to make diskcopy run under DOS-C.
