Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!cornell!batcomputer!braner
From: braner@batcomputer.tn.cornell.edu (Moshe Braner)
Newsgroups: comp.sys.atari.st
Subject: Re: Looking for way to compress a whole floppy
Summary: Here's a recipe but you need a kitchen
Message-ID: <6946@batcomputer.tn.cornell.edu>
Date: 5 Dec 88 18:06:58 GMT
References: <1926@imagine.PAWL.RPI.EDU>
Reply-To: braner@tcgould.tn.cornell.edu (Moshe Braner)
Organization: Cornell Theory Center, Cornell University, Ithaca NY
Lines: 29

[]

I don't know of a program that will do it for you as-is,
but should be easy to write one along these lines:
(The actual program can be shorter than this description!)

1) load the whole floppy into RAM as one block, using one call
to Rwabs().  (First get the block of RAM using the TOS Malloc()
call, NOT the C compiler's malloc()...)

2) save that block into a file on your hard disk using one call
to the TOS function Fwrite() (preceded, of course, by Fopen, etc).

3) (later, outside that program:) run ARC on that file to
compress it, and upload.  (The 360K should be compressed
down to 180K or better.)

Optimization: write the files to a freshly formatted floppy,
to make sure the files are not fragmented and there are no
"holes".  Then make the program find out which is the last data
sector actually used on the floppy, and only copy up to that
sector.  You can find code to do that in my program FLEXCOPY.

Note: to make sure everybody can get it and like it, use
a STANDARD TOS formatted floppy disk to start with.  Also
you may want to use a single-sided floppy since some poor
souls out there are still stuck with those obsolete SS drives :-)

- Moshe Braner