W8SDZ@SIMTEL20.ARPA.UUCP (03/12/87)
This document is intended to give a brief overview of files stored in the public domain archives at SIMTEL20. Many of the files in our archives have been compressed and/or grouped together in a single file by using one of the utilities available to the public domain that either SQueezes, CRUNCHes, LiBRaries, or ARChives files. This has been done to minimize disk storage requirements and also to minimize download time. These processed files are specially named with a filetype and can be identified by the last 3 letters of a filename after the "." that signifies the conversion. These are: .ARK for CP/M files archived (same as MS-DOS "ARC"). .LBR for files libraried. .?Q? for squeezed files (middle letter is a Q). .?Z? for crunched files (middle letter is a Z). A library is a group of files collected together into one file in such a way that the individual files may be recovered intact. A library file can be identified by the "LBR" as the extent of the file name. LU (Library Utility) is a CP/M utility used to maintain libraries of files. LU does not perform any compression. Because of this, most people will squeeze or crunch files before adding them to a library if they want to save space. If you want to remove the component files (members) from a LBR file, you should have a copy of LU.COM or other LBR extractor utility. At the end of this document is a list of the programs available for that function with libraries. Recently, popular CP/M Public Domain software files and information files are being distributed using ARCHIVE files. Archive files are similar to library (LBR) files in that they take a logical group of files and put them together in a single file. The main difference, is that the members of the "ARC" or "ARK" file are automatically compressed. The compression algorithm chosen is one of three which will produce the smallest file. Archive files have been available to the MS-DOS and PC-DOS areas, but, have been made useful in the CP/M environment with the introduction of the "UNARC" program. The current version is 1.4, and is available with extensive documentation, and two executable COM files, a 8080/8085 version and a Z80 version. The Z80 version takes advantage of the expanded Z80 (and equivalent) instruction set for speed and size, and therefore is machine dependent. There is also a modification overlay to adapt the program to non-standard CP/M 2.2 and 3.0 operating systems, such as CP/M68k and CP/M emulators. Programs are available on many machines to process "ARC" files, the Atari ST, systems running the UNIX systems, systems running MS-DOS, and CP/M. There currently is no CP/M utility available to make an "ARK" file. Archive files will be made in the MS-DOS/PC-DOS, TOPS20 or UNIX environment. To avoid confusion on RCP/Ms that support both MS-DOS and CP/M callers, Archive files have a file extension of "ARK" for CP/M software and information files. Some files on SIMTEL20 have been compressed, using one of the standard public domain utilities, to minimize download time and to save storage space. Files that have been compressed can be identified by the filetype (the last 3 letters of a filename after the '.') that signifies the compression. These are: .?Q? for Squeezed files (middle letter is a Q). .?Z? for Crunched files (middle letter is a Z). USQ120.COM is used to unsqueeze, or expand files that have a "Q" as the middle letter of the filetype. Such files have been squeezed, or compressed with SQ111.COM or similar. These programs use Huffman Encoding to reduce the size of the target file. Depending on the distribution of data in a file it can be reduced in size by 30% to 60% by squeezing it. If you download a file with a filetype indicating that it is squeezed, you will need USQ120.COM to expand it before you can use it. There are other programs available, written in different languages and take advantage of special hardware, but USQ120 is 8080/8085/Z80 compatible. Other utilities are available that have the unsqueeze coding imbedded and function with squeezed or unsqueezed files. There are programs that perform file maintenance functions (NSWP), bi-directiona display utilities (BISHOW), and string search programs, (FYNDE and FINDU). This method of compressing files has been used for some time now and programs to uncompress the files are available to several micro processors and main frame computers. CRUNCH uses the Lempel-Ziv-Welch (LZW) techniques. This method is fast and offers compression ratios around 55%. Highest compression is achieved with graphics data, values of 90% are typical, followed by text, with 50%, and COM files around 20%. This method is new to the CP/M environment. See CRUNCH23.LBR for the Z80 CRUNCH and UNCRunch programs. See FCRNCH11.LBR for the 8080/8085 and V20 CRUNCH and UNCRunch programs. Since this method of compression is relatively new, the only utilities available that processes crunched files are "typer" utilities such as TYPELZW, TYPEQZ, and LT, which also type members of libraries and squeezed files. If running a 8080/8085 processor, check the documentation to determine if the utility will only process files on systems using the Z80 processor. Currently, there is no compatible program for other micro processors or mainframes. MicroSoft BASIC programs are always saved as ASCII files (saved with the ",A" operand). They may than be squeezed or crunched. This has been done to allow them to be converted for use with other BASIC compilers or interpreters. Some executable files have a file extension of "OBJ". These are really "COM" files that have been renamed to "OBJ" to avoid execution on RCP/M systems. Rename them back to "COM" for use them as commands on your system. Below is a list of utilities available on SIMTEL20 that work with the above mentioned files. For the current version, check the directory list PD:<CPM.CRCLST>. CPMSQV3.LBR SQueeze/UnSQueeze - Turbo Pascal CRUNCH23.LBR Data compression with LZW algorithm DELBR11.COM LBR file extractor DLU12.PQS A library utility in turbo pascal FCRNCH11.LBR A cruncher for 8080 systems. LDIR.COM Directory lister for LBR files LDIR23.COM Lists directory of LBR file LRUN20.LBR Run .COM files inside LBRs LSTYPE.LBR Print multiple files inside LBRs LSWEEP13.LBR Library SWEEP utility extract/view LTYPE17.LBR Types text files inside LBRs LT18.LBR Types and extracts files inside LBRs LU300.DQC Documentation for LU LU310.COM Library Utility version 3.10 LU310.HLP Help file for use with LU310 LU310.UPD Update info on LU310.COM LUDEF5.DQC Internal structure of LBR files LZW.LBR Compression/decompression Utilities NULU15.NOT A note from the author of NULU151 NULU15.WQ Complete user's guide for NULU151 NULU151.COM Machine lang. Library Utility pgm NULUFIX.ASM Bug fixes for NULU15.COM NULUTERM.AQM Terminal configuration for NULU151 SQ.PQS File SQueezer SQ111.COM Machine language SQueezer, very fast SQUEEZE.TXT Tutorial on SQueeze/UnSQueeze SQUPRT33.LBR Portable SQueeze/UnSQueeze in C lang UNARC.COM Z80 version of UNARChive utility UNARC14.LBR UNARC utility for CP/M UNARCA.COM 8080/8085 version of UNARChive utility UNCR23.COM UNCRunch for CRUNCH20 and prior USQ.PQS SQueezed file UnSQueezer USQ120.COM Dave Rand's machine lang. UnSQueezer USQFST20.LBR Fast unsqueezer for Z80 computers --Keith Petersen Arpa: W8SDZ@SIMTEL20.ARPA Uucp: {bellcore,decwrl,harvard,lll-crg,ucbvax,uw-beaver}!simtel20.arpa!w8sdz GEnie Mail: W8SDZ RCP/M Royal Oak: 313-759-6569 (300, 1200, 2400 bps)