FitDisk V2.0, 16-Okt-1993, Christian Stieber FitDisk is placed in the PUBLIC DOMAIN. You may do whatever you want with it. FitDisk V2.0 requires AmigaOS V37 or later. A special version may be compiled that is functionally equivalent, but requires AmigaOS V39 or later. This produces a smaller executable. --------------------------------------------------------------------------- Do you have many disks with archives on them lying around? All those disks have space left on them, but you don't feel like spending lots of time trying to figure out how to arrange the files so the will fill your disks as much as possible? Well, here is a possible solution. Whenever I need to put things on floppies to archive them, I put them into a special directory on my HD first. Every now and then, I use FitDisk on that directory to find out which files to copy to a floppy. Of course, if I delete a file from a floppy, I can use FitDisk to find files to fill the gap. That way, almost all my floppies are filled to their maximum capacity: they have all "1 block free" (the Amiga filesystem seems to need that free block). FitDisk reads the directory, and tells you which files will fill up a given number of blocks. It uses 2 criteria: 1) it attempts to use as many blocks as possible. 2) it attempts to use as few files as possible (i.e. it attempts to use a few big files instead of many small files). I tried to optimize the algorithm to make it work reasonably fast (V1.0 used a brute-force algorithm, checking all combinations...). However, I hope that none of my shortcuts will backfire at you... --------------------------------------------------------------------------- Usage: FitDisk BLOCKS/N,DIRECTORY=DIR,OFS/S,MSDOS/S BLOCKS: The number of blocks you want to fill. Defaults to 1756 for Amiga-disks and 1426 for MS-DOS-disks, which is an empty disk. NOTE: Due to a bug in all current (Fast)FileSystems (up to, and including, V40.1, and probably the ones above that as well), you will get a "Disk full" error if you format a disk and then write the files that FitDisk tells you to write. THIS IS NOT A FITDISK-BUG! The easiest work-around is to write (n-1) files, issue a "DiskChange" (or remove and re-insert the disk) and write the last file. If you only write one file (the longest file you can write to an empty disk is 886272 bytes), simpy wait for the "Disk full" requester, do the DiskChange, and "Retry". DIRECTORY: The directory where your files are. Subdirectories are ignored, since subdirectories on archive-disks only take up valuable space. Defaults to the current directory. OFS: Specify this if you are using DOS/0 or DOS/2 (Old file system) disks. I recommend using DOS/1 or DOS/3 (Fast file system) on all disks, since it gives you more capacity. DOS/4 and DOS/5 (Directory caching) disks are not supported, since directory-caching doesn't make sense for archive-disks -- it only reduces the available capacity. Besides that, it is a lot harder to support directory- caching-disks, since you can't really tell how much space a file requires. MSDOS: Use this if you want to copy files to an MS-DOS-disk. Useful for making distribution-disks to be uploaded to a FTP server. FitDisk cannot be run from Workbench -- it will simply crash. --------------------------------------------------------------------------- I alomst forgot that: APPLY ALL DISCLAIMERS YOU CAN THINK OF. I'M NOT RESPONSIBLE FOR ANYTHING THAT HAPPENS BECAUSE OR WHILE OR AFTER OR BEFORE YOU ARE USING FITDISK. However, if you experience any problems with this little proggy, feel free to tell me (EMail preferred, if you send paper-mail, I won't answer unless you include postage (if you don't want to include postage, you may send A4000s, A5000s, gold, silver, platinum, diamonds, aircraft, cars... I don't really care). Mail sent to this address _will_ reach me, but it may take a while: Christian Stieber Konradstraße 41 D-85055 Ingolstadt (Germany) Currently I'm a student; you might be able to reach me at Christian Stieber Seitzstraße 6 / Zi 306 D-80538 München (Germany) Phone: 089-292732 Internet: stieber@informatik.tu-muenchen.de