============================================================================= ARC for CP/M ARC is a Turbo Pascal implementation of the original MS-DOS program written by Thom Henderson of System Enhancement Associates. The original program was one of the first utilities to combine multiple files into a single trans- portable file (archive) while compressing the member files. More information along with some essential patching instructions can be found in the file called READ.ME. ============================================================================= 2013.08.27 Jon Saxton ARC v2.2 fixes two long-standing bugs present in v2.0 and v2.1. The first was by far the more serious in that it caused some members to be incorrectly extracted. The problem occurred on a string table reset so the bug affected only those files which required such a reset during compression. It was one of those problems which took a very long time to find and a very short time to fix. The second bug was a Y2K issue which affected the date display in archive listings; a date would show as 27 Aug113 instead of 27 Aug 13. That one was much easier to find. ----------------------------------------------------------------------------- 2012.10.27 Jon Saxton ARC v2.1 is a minor upgrade to Tilmann Reh's ARC v2.0 but one which, in my opinion, makes the program much easier to use when transferring files between CP/M and other systems. Following a tradition established by Bob Freed in the mid 80s, SEA archives on CP/M were given an extension of .ARK instead of .ARC. This may have made some sense at the time but not now. Furthermore, the names of files in SEA archives created on CP/M always had the member names stored in upper case. That meant the internal and external names were identical. It doesn't make any difference on operating systems such as Windows and OS/2 with file systems which are case-preserving but case-insensitive but it is really annoying on Linux and other UNIX-style operating systems where "TESSER.CAT", "tesser.cat" and "Tesser.Cat" represent three different files. Linux tolerates file names with upper case letters but it is fair to say that it generally expects file names to be all lower case. When a bunch of files with upper case names is extracted from an archive then dealing with those files means typing their names in UPPER CASE. To me that seems an unnecessary and avoidable incon- venience. This new release of ARC for CP/M stores file names in lower case and makes life a lot easier when transferring files between Linux and CP/M. That is something which I do frequently. Furthermore, as mentioned above, there are no nasty consequences when transporting archives between CP/M and other oper- ating systems. ARC v2.1 is distributed as a .ARC file created with ARC v2.1. It is also supplied in this volume as a standalone program to allow extracting the rest of the files. arc x arc21 will unpack the archive onto the current drive. Drive prefixes can be given to overcome issues of limited storage, e.g.: arc x e:arc21 c: That will unpack ARC21.ARC on the E: drive, putting the files on the C: drive. ARC v2.1 is almost completely compatible with ARC 5.21 on MSDOS and other systems but it cannot handle 'squashed' files, i.e. compression type 9. That is not an issue which I intend to address. The default action of arc on other systems is to not use compression type 9 anyway. Should you encounter an archive which contains squashed member files then Bob Freed's unarc can be used on CP/M to extract the member files. The original documentation file ARCCPM.DOC is in German. With the help of Google Translate I made an English language version (ARC-EN.TXT). I can't guarantee 100% accuracy. One thing I do know is that using a wildcard in the archive name does not work, despite what the documentation says. I am not concerned about that, it seems an unnecessary "feature" to me. I have not even bothered to check whether or not my changes were responsible for the failure. ARC-EN.WS is the source document for ARC-EN.TXT. MANIFEST ======== ARC.COM Compiled executable ARC.FOR BBS synopsis ARC.PAS Main program source code *.INC Functional modules source code ARCDOC.TXT Program documentation (in German) ARC-EN.TXT Program documentation (in English) ARC-EN.WS Source for ARC-EN.TXT ARCMACS.ARC Assembly language source code for inline functions ARC22.TXT This file READ.ME Summary and build instructions