                             Cluster Size Changer
                                      by
                               ML & ML Software


   Warning: use at your own risk!  So far no problems have occured during
testing, but you never know what may happen!

   Are you sqeezed for floppy space?  Do you wish you could get a few more
bytes of space on the disk?  You can by using any of the special formatters
that format 10 sectors per track, and also by formatting more than 80 tracks.
Formatting 10 sectors per track instead of 9 will give you an extra 40K!
Extra tracks give you 5K per track.  But what if you still need a little more
space?  My ChangeSize utility will usually free up about 10K more per disk.
Although 10K isn't a major increase, it can still be of some use.

   Where does this 10K come from?  The ATARI DOS uses units of measure called
'clusters' to store it's information.  A 'cluster' is 1K in size, thus using
two sectors (each sector is 512 bytes).  This is the same way that the IBM DOS
is set up.  I started wondering how many files on a disk only end up using
the first half of the last cluster.  I figured that on the average, 50% of the
files have an empty sector at the end.  If each disk contains approximatly
40 files, half of which contain an empty sector on the end, that means there
is (40 * 50% = 20 * 512 bytes = ) 10K of empty space.  My experiments show
that this is correct.

   One of the bytes in the boot sector (track 1, sector 0) contains the number
of 'sectors per cluster'.  On the ST and IBM (3 1/2"), it contains a '2'.  All
that needs to be done is to change this to a '1' and see what happens.  I
tried it on a blank disk using a disk editor, and then copied the contents of
a filled disk onto the modified disk.  It resulted in about 12K free.  A few
more experiments showed me a savings of about 10K.

   Unfortunatly, there are some drawbacks (which I also figured on).  As far
as I can tell, disk read/write seems to be slowed slightly.  It seems to only
be a slight decrease in speed, so it may not really be noticable.  The second
drawback is a bit more noticable, however.  Apparently, whenever a
subdirectory is created, an empty cluster is used to contian the subdirectory
contents, with more clusters being allocated when the current cluster fills
up.  Since the modified disk contains clusters half the size of those on a
normal disk, that means subdirectories will need to allocate another cluster
twice as often.  These clusters get spread around the disk, causing much more
head movement than normal, thus cutting down the access speed.  As long as
subdirectories containing only a few files are used, speed is not decreased
too much.

   I use the smaller clusters on all of my disks and so far have had no
problems.  I wrote a program to automate the size changing procedure, and have
included it and the source code for your use.  I wrote this using Assempro,
so it should be fairly easy to convert to other formats.  I'm also including
the source to my easy-to-use macros (EZMac) since I use them in the ChangeSize
program (if you have previously downloaded the EZMAC.ARC file or the
DISKVFY.ARC file, then you have an older version of EZMac; the source included
in this archive has had some bugs removed).

   ChangeSize only allows BLANK disks to be changed.  Any disks with files
on it will have problems if it contains files with different cluster sizes (at
least I assume there would be problems), so ChangeSize checks for any files on
the disk and will not change it if files are found.

   I hope this program is of some use to you.  Good luck.


                                      Mike LaChapelle
                                              &
                                      Mike Lanzarotta

                                    ( ML & ML Software )


 