%OP%BON
%OP%JUY
%OP%PL65
%OP%TM1
%OP%HM2
%OP%FM2
%OP%BM1
%OP%LM10
%OP%HE/%H2%Z88 Users' Club Software Library%H2%/
%OP%FO/%H2%Z130%H2%//@P@/
%CO:A,3,64%%C%%H2%SQueeZ  &  ENCode.


%JR%  This program is based upon John B. Davies' SQueeZ and Phil 
%JL%Borman's Password. It can be used to compress files to save RAM 
%JR%and/or encrypt them. As supplied it is a standalone. I 
%JR%personally use it as a sort of popdown from a version of 
%JR%Michael Hey's Functionkeys program, which is my favourite 
%JL%utility. If you wish to do the same, the line in Functionkeys 
would be something like:



%JL%(Note the space before RUN and the double double quotes around 
%JL%Q. Keep the name short to speed things up) Functionkeys may 
%JR%need an ON ERROR line as here to escape to BASIC quickly 
enough. ON ERROR in this program is changed to:



or whatever, whilst the *NAME line is redundant.

%JL%  It takes about 1 minute to SQueeZ 1K. Timeout is suspended 
%JR%whilst running. The last action is to delete the file being 
%JR%processed, so it remains entact on an ESCape while running. For 
%JR%the same reason, both versions have to be accommodated to that 
point, so take care with an unexpanded 32K Z88.

%JL%  The program looks for .SQZ and .ENC filename extensions. It 
%JR%also deals with existing extensions of 1-3 characters, putting 
%JL%them at the front of the main name. If you SQueeZ "filename.DA" 
%JR%it becomes "DA.filename.SQZ". If you then ENCode it, it is 
%JL%"SQZDAfilenam.ENC". Note the loss of the last letter of 
%JR%filename, because the max. length is 12 characters. This file 
%JL%would finally reappear after decoding and unsqueezing as 
%JR%"DAfilenam". 30 files "SEPTEMBER01.LOG" to "SEPTEMBER30.LOG", 
%JL%all SQueeZed successively would leave only one file, namely 
%JR%"SEPTEMBER30.LOG" as "LOGSEPTEMBER.SQZ" in RAM, which is file 
compression but not what you want.

%JR%  The rule is, make sure that the main filename is unique in 
%JL%its first (12 - total no. of extensions) characters, including 
.SQZ, if the file is also to be ENCoded.  TAKE CARE!

%JR%  Since the main basis of the SQueeZ routine is the occurrence 
%JR%of spaces and vowels after lower case letters, it is only of 
%JL%value with text files, PipeDream and plain text. PipeDream 
%JR%SQueeZes up to 30%PC%, plain text a little more. If you really 
%JL%want to customise it, try reassigning N%PC%103 to 105 in PROC_SQZ 
and PROC_UNSQZ.

%JR%  I suggest that you practice before chancing irreplaceable 
%JL%files. Don't forget that the FILER (or any other popdown) can 
be used in BASIC just as in any other application.
%P0%
  The ENCode routine uses a KEY CODE, any number from 1 to 255. 
%JL%It won't allow an incorrect number to be used for decoding. If 
%JR%you have completely forgotten your key, ESCape to BASIC and 
type in direct mode:



%JR%Note the number, reRUN the program. (No, don't write this on 
the inside of your "Topper"!)


Ted Ovenden (0633)
6 Lodge Close
Bengeo
HERTFORD
Hertfordshire
SG14 3DH
%CO:B,12,61%










%H2%DATA "SQueeZ & ENCode files","|[ RUN""Q""~E"






%H2%ON ERROR CLOSE#0:VDU1,127:RUN"FUNKEYS"









































%H2%A=OPENIN("FILENAME.ENC"):B=BGET#A":CLOSE#A:PRINT B <ENTER>
%CO:C,12,49%%CO:D,12,37%

































































November 1990
%CO:E,12,25%%CO:F,12,13%