
				   Disk Fill

			   Copyright Jason Hood 2003

			     Freeware. Version 1.00


    ===========
    Description
    ===========

    Disk Fill (dfill) is a program to  optimally  arrange  files  on  floppy
    disks.   Unlike  similar  programs, it will attempt to maximise the free
    space, in addition to using the minimal number of disks.   The  copy  is
    performed  by  a  batch  file,  using  a  configurable  copy command and
    destination path.


    =====
    Usage
    =====

    dfill [options] [size] files...

    size is the disk capacity. This is assumed to be the same for all disks.
    The  default  is 1,457,664 (1.44Mb). Each disk is also assumed to have a
    512-byte cluster (it's very rare for this not to be  the  case,  but  if
    it's  not,  the result may not be accurate).

    files is the list of filenames/wildcards to be copied. Files bigger than
    size  (split  them first) and empty files (can go anywhere) are ignored,
    as are directories (use "dir/*", not simply "dir").

    An option begins with "-".  Multiple options cannot be  combined.  There
    should be no space between an option and its argument. Briefly:

	-o	   command line order
	-l<limit>  limit the possibilities
	-p<disks>  progress display
	-g	   graphical progress display
	-t	   test
	-n	   numbers
	-c<cmd>    copy command
	-m	   multiple filenames
	-d<dest>   destination path


    o - Command line order

    Usually the files are sorted in  decreasing  size,	to  provide  a	more
    efficient  means of determining the optimal fit. In some instances (such
    as with several "small" files), it tends to clump files together,  where
    the  first	few disks have few files, and the last few many. This option
    will keep the files in (almost) the same order as they were given on the
    command  line. It may or may not run slower (it could even run quicker),
    and it will probably not find the most free space, but it will provide a
    more even distribution of files.


    l - Limit

    There could be a great number of ways to combine the files. This  option
    will  specify  the	maximum  number  of  ways. The lower the number, the
    quicker it will run, but the result will not (necessarily) be  the	best
    possible.	A  limit of zero is taken as no limit (all combinations will
    be tried). The default is half the optimal number  of  disks,  but	it's
    really only a poor guess.


    p - Progress

    Choose the number of disks to display for the progress. The  default  is
    one  third of the optimal number of disks. It simply displays the number
    of the current combination being tested, for each disk.


    g - Graphical progress

    Instead of displaying numbers, a simple bar  graph	is  used.   ANSI  is
    required  for this option, otherwise you'll end up with garbage (ANSI is
    built into Windows, but DOS users will have to install  ANSI.SYS  or  an
    equivalent).  It is also necessary for the limit to be within the screen
    width and the progress disks to be within the screen height. No test  is
    made to determine the validity of these, so if they don't fit, the graph
    will not be drawn correctly.


    t - Test

    This option simply prevents the batch file from being created.


    n - Numbers

    Instead of specifying files on the command line, numbers are  used.  The
    size  is  required	if this option is given. Each number is rounded to a
    multiple of 512, to simulate a file size.


    c - Copy command

    The command used to perform the actual copy. The default is "copy".  If,
    for  example, you would like to move the files, instead of copying them,
    you could use "-cmove".


    m - Multiple file-specs

    The default copy command can only handle one file at a time, but a user-
    supplied  command  might  be  able to handle more. This option indicates
    such a command.


    d - Destination

    The path to copy the files to. The default is "a:".


    "dfill" will only generate a batch file called "fill"; it  is  necessary
    to run this batch to actually copy the files to floppy. It will tell you
    how many files are being copied onto how many disks, and prompt for each
    disk.  It is assumed all the files being copied will actually fit on the
    disk (ie. the disk has at least size bytes free  and  enough  free	dir-
    ectory entries to store the filenames).


    ===========
    Performance
    ===========

    Unfortunately, I haven't really tested this program very well.  For  the
    set  of  files I wanted to copy, it works really well (33 files onto the
    optimal 11	disks  in  less  than  half-a-second  on  a  PII-366).	 The
    performance  really  depends  on  the files to be copied. In particular,
    lots of "small" files will produce poor performance, as there will be  a
    great  many combinations to consider.  Using a low limit and the command
    line order can really help in those situations.


    =======
    Contact
    =======

    mailto:jadoxa@yahoo.com.au
    http://diskfill.adoxa.cjb.net/

    Jason Hood
    11 Buckle Street
    North Rockhampton
    Qld 4701
    Australia


    ============
    Distribution
    ============

    The original zipfile can be freely distributed, by any means. However, I
    would  like  to  be  informed if it is placed on a CD-ROM (other than an
    archive compilation).  Modified versions may be distributed, as long  as
    the original zipfile is included (I would prefer to be contacted).


    ===============================
    Jason Hood, 10 September, 2003.
