
                              "SQUASH_B.ACB"
                               ------------

                        Written by Matthew Weinel
                        -------------------------


                        (c) 1992 Matnel Software.



         Squash_b.acb can be used to squash ANY STOS '.mbk' file.


           Squash_b.acb uses the STOS extension: STOS SQUASHER.

  (Install  this  by  copying  'SQUASH.EXE'  into  your  STOS  folder  and 
'SQUASH.ECE' into your COMPILER folder.  If you already have an  extension 
with the last letter of the extender equal to  'E',  then change the  last 
letter to one you do not have.  eg.  if STOS_STE.EXE then:
                                     rename SQUASHER.EXE to SQUASHER.EXF.)
  

  When  I  first  got  a  copy  of  this  extension  it  had  hardly   any 
documentation, it just told me what the two commands were:

                          L=SQUASH (bank,length)

                      UNSQUASH bank,squashed length


  It also came with two accessories one for squashing  pictures,the  other 
for unsquashing pictures.  But I didn't want to squash pictures, after all 
you  can  use  the 'compact.acb' accessory for that ,I  wanted  to  squash 
'.mbk' files.
 I knew that it was possible to use  STOS squasher to squash other  memory 
banks than just pictures, but how?
 Then followed four days of solid experimentation,  computer crashing  and 
generally  making  very little progress.  I had managed to  squash  sprite 
banks successfully, but nothing else.
  On  the  fourth  glorious day I noticed  that  pictures  compacted  with 
compact.acb  and  then saved as binary files could also be  squashed  with 
success. That was it:

              The Memory Bank MUST be in BINARY FILE Format...

...before it can be squashed.

                                 Simple!?

 "SQUASH_B.ACB" can now squash any '.mbk' file you can think of, (as far 
as I know).

                     But you don't need to know that.


                              "SQUASH_B.ACB"
                               ------------
                        This is the important bit.

  To use squash_b.acb all you have to do is load it from STOS with a  line 
like:
      accnew:accload"SQUASH_B.ACB" 

      then press F1 to use it.


Instructions
------------

     1) Click mouse button to get past title screen.

     2) Select file you wish to squash using the file selector.

     3) Wait while the file is squashed,  this can take quite a while  but 
        don't get impatient.

     4) Read the information shown about unsquashing the file and write it 
        down or print it.  (It makes it more compilcated to unsquash  your 
        file if you don't know how big it was or is). 

     5) Save the squashed file with the file selector.

Note:  Squash_b.acb will make a temporary binary file on the disk that the 
file was loaded from, this is so you can squash large .mbks even on a half 
Meg  computer.  However  this  means that the source disk  must  be  write 
enabled and must have as much space on it as the size of the file you  are 
squashing. If you get a disk error then check these things first.


Unsquashing
-----------

To recover your .mbks from a squashed state use a a few lines like this:

   10 Reserve as data bank_number, Original_file_length
   20 Bload"FILENAME.SQU", bank_number
   30 Unsquash bank_number, squashed_file_length

  Look at your notes taken from squash_b.acb to find  Original_file_length 
and squashed_file_length. All lengths are in bytes.
  Bank_number should be the relavant bank for your file eg.  Bank 1 for  a 
sprite bank, Bank 3 for a music bank etc...

If that is still not clear look at this routine:

   10 Rem ******** Unsquash a sprite bank ********
   20 Rem **** This routine by Matthew Weinel ****
   30 Rem
   40  Reserve  as data 1,11234 :  Rem ** Reserve bank  1  (sprite  bank),   
 11234=original file  size in bytes.**
   50 Rem
   60 Bload"TEST.SQU",1 : Rem ** Load the squashed file into bank 1 **
   70 Rem
   80 Unsquash 1,8521 : Rem ** Unsquash bank 1, 8521=squashed file size in 
 bytes of "TEST.SQU".


Other things
------------
The default extension for a squashed file should be '.PAC' not '.SQU', but 
I prefer '.SQU', so I hope nobody is offended.

 Sometimes after unsquashing a sprite bank the sprites will not appear,  I 
don't know why,  but this can be fixed by doing a bank operation,  such as 
'erase  3' etc.  I've not had problems with other banks but if  there  are 
you know what to do.

Disclaimer
----------
  I  and Matnel Software accept no resposiblity for  an  damage,  loss  of 
property  etc.  resulting  from  the use of squash_b.acb  or  any  of  the 
routines.

Source Code?
------------
Squash_b.acb  is  compiled this means that you can use it  with  the  STOS 
squasher extension installed with any letter, it also runs faster, however 
it  does  mean that you can't examine the source listing or change  it  to 
suit your needs. 
 To get the source code and a useful utility to put in your auto folder to 
choose whether the STOS ram disk should be loaded or not send 4.00 to me,
or send me a disk and 3.25 and I will put these things on Your disk.


My address:
                              Matthew Weinel,
                           78 St. Mary's Road,
                                Sherborne,
                                 Dorset.
                                 DT9 6DQ
                                (England).

Please  make  cheques or postal orders payable to  Matthew  Weinel,  sorry 
credit cards can not be accepted, at the moment.

PD
--
This  software  is PD that means that it can be distributed for  not  more 
than the price of a disk (Unless you're a PD library or something),on  the 
condition that all the files are distributed and not altered in anyway.



All donations accepted at above address.


Have fun and make those files smaller!
