home *** CD-ROM | disk | FTP | other *** search
- File: UNARC.HIS
- Subject: Modification History of UNARC Program
- Version: 1.4
- Date: November 21, 1986
-
- The following provides a detailed history, in reverse chronological
- order, of the modifications made in each release of the UNARC program
- (as extracted from the source program file for the current version 1.4
- release).
-
- ------------------------------------------------------------------------
-
- 1.4 21 Nov 86 (RAF)
-
- We had hoped NOT to release another update of this program, but to
- replace it entirely by three new programs with enhanced functionality
- (UNARK, ADIR, and ATYPE), in conjunction with the upcoming release of
- the CP/M archive file builder (NOAH). However, (sigh).....
-
- Corrects bug (exhibited with .ARC's created by version 1.1 or later of
- Phil Katz' PKARC program for MS-DOS) which caused files to be extracted
- incorrectly (with output file length and CRC warnings) due to string
- table reset codes appearing early in crunched files (i.e. before the
- output code length reaches 12 bits). Thanks to Keith Petersen for
- identifying and notifying us of this problem.
-
- And, while we're at it.....
-
- Adds paging of all displayed output, controlled by non-zero patch byte
- specifying screen lines between pauses (TYLPS, default value = 23).
- This is essentially the feature added by 'Larry Smith' (see version 1.3
- below), but we've been able to do it (with enhancements) and still keep
- the (Z80 version) .COM file below 4K (just!). Causes '[more]' message
- to appear at bottom of screen. Space bar scrolls one more line, ^C
- aborts, anything else scrolls one more screenful. (LINE FEED may be
- used to avoid overprinting the '[more]' line.) May be defeated for
- continuous typeout by trailing 'N' (after a blank) on command line.
-
- Also:
-
- - If archive filetype omitted, and the default .ARC filetype not found,
- tries .ARK as an alternate default. (Anticipates NOAH, and compatible
- with Irv Hoff's KMD22.)
-
- - Incorporates option to bypass BDOS function 31 call (Get DPB Address),
- for non-std CP/M clones such as Cromemco CDOS and CP/M-68K emulator
- for 8080 CP/M 2.2. (Eliminates UNARC12 patch notice, UNARC-P1.NOT.)
-
- - Allows program name to be patched (at start of USAGE message).
- Affects all help screen references and abort message. (E.g., RCP/M
- sysops may prefer 'ADIR' to 'UNARC'.)
-
- - Corrects count of bytes skipped due to invalid header when processing
- 'self-unpacking' archives with more than 3 preliminary bytes.
-
- - Enhances recovery processing for invalid archive headers, and merges
- 'invalid format' and 'unexpected eof' errors. This change tends to
- cause display of a garbage directory entry (before abort) for non-ARC
- files, but it does allow processing of certain new self-unpacking
- archives, such as Phil Katz' PKX32A11.COM.
-
- - Changes the replacement for an invalid filename char from '_' to '$'
- (since underline is not allowed as a filename char by CP/M CCP, and
- '$' usually carries a 'temporary' significance in CP/M).
-
- - Reduces directory listing width by one column (78 now), to allow
- one more char without extra blank line on terminals which autowrap
- after column 80 (e.g. allows leading semicolon generated by MDM7 and
- IMP during disk file capture of terminal output).
-
- - Adds a few bells to warning and fatal messages, along with a patch
- byte to disable these (for those who prefer solitude).
-
- - Allows ^K in addition to ^C for program abort requests. (For certain
- ancient RCP/M systems which never pass ^C back to user programs.)
-
- - Adds .ARK and .?Z? (CP/M CRUNCH or MS-DOS ZOO 'Z format' files) to
- list of excluded typeout extensions, and eliminates .CMD (since that
- might be a readable dBASE command file instead of CP/M-86 binary).
-
- - Simplifies the Z80 CPU check and removes the 'Z80 Version' message
- in the help display, to save a few bytes in that version. (Alternate
- version, UNARCA.COM, now displays '8080 Version'.)
-
- - Adds 8080 version message recommending Z80 version, when run on a Z80.
-
-
- 1.3 --none-- (RAF)
-
- This version bypassed due to appearance of several unauthorized updates
- with the name UNARC13 (and not because of superstition). Most notably,
- these include Steve Sanders' unnecessary addition of ^S and ^C checking
- during file typeout (because TurboDOS does not properly emulate CP/M's
- handling of these in BDOS function 2 calls), and the addition of paged
- typeout by 'Larry Smith' (whoever he is; a worthwhile enhancement, but
- the release was deficient in several other respects). WHY CAN'T THESE
- 'CONTRIBUTORS' SIMPLY CONTACT THE AUTHOR BEFORE RELEASING THEIR CHANGES
- TO THE PUBLIC?!
-
-
- 1.2 24 Jun 86 (RAF)
-
- Modified to allow assembly of a version which will execute on 8080/8085
- CPU's. (We resisted this initially but have been made to realize that
- this is necessary to achieve true acceptance of UNARC by the full CP/M
- user community. Non-Z80 users, particularly RCP/M sysops, still exert
- considerable influence in the world of public domain software. This,
- we believe, is out of proportion to their numbers, since almost all
- CP/M systems sold in the last five years are Z80-based. Nevertheless,
- we've accommodated the needs of these users by extensive use of macros
- which serve to emulate Z80 instructions on non-Z80 machines.) However,
- no attempt has been made to optimize for either size or speed in the
- non-Z80 version (which is 1K larger and 50% or more slower than its
- Z80-only counterpart).
-
- Also:
-
- - Implements a "wheel" byte to simplify use and installation on RCP/M's.
- - Lines up file types in directory listing.
- - Permits processing of "self-unpacking" archives such as the MS-DOS
- ARC512.COM file (anticipates a future scheme for distributing UNARC).
- - Attempts to recover from bad archive headers by skipping extra bytes.
- - Eliminates archaic "T:" syntax completely for file typeout.
-
-
- 1.1 24 May 86 (RAF)
-
- Minor change to allow file typeout without the "T:" syntax (which
- didn't work with almost ANY CCP replacement)... File will be typed if
- it: (1) has no disk drive name, (2) is a single (UNambiguous) file,
- and (3) is not an excluded filetype. (Else, file will simply be listed
- with no error message.) This change was suggested by Irv Hoff's mod to
- UNARC10, which he called ADIR. (Previous "T:" method can still be
- enabled, but it is now undocumented since we will probably drop it
- altogether in future.)
-
- Also shortened on-line help message, so that COM file size is now
- reduced to 4K. (For RCP/M systems, if HODRV = 0 and/or TYFLG = 0, the
- help information relating to disk extraction and/or file typeout,
- respectively, is automatically removed.)
-
-
- 1.0 03 May 86 (RAF)
-
- First public release. Supports file formats generated by all versions
- of MS-DOS ARC through (at least) version 5.12 dated February 7, 1986.
-
-
- 0.0 01 Mar 86 (RAF)
-
- I undertook writing this program to satisfy my curiosity about software
- developments in the MS-DOS/PC-DOS world. The ARC "freeware" program
- (copyright by System Enhancement Associates) has been around for over a
- year now and has achieved enormous popularity in the 16-bit community.
- Unfortunately, the lack of a compatible equivalent for CP/M systems
- renders a large amount of public domain software inaccessible to 8-bit
- users such as myself. (Note that 16-bit software can indeed be usable
- on 8-bit systems, e.g. Pascal and C language programs.) Also, an
- increasing number of RCP/M systems are catering to both 8-bit and
- 16-bit users, and it is my hope that UNARC may find a welcome home on
- such systems.
-
- Note that I was not (initially) a fan of the sequential .ARC file
- format, which is less flexible and slower to process (though certainly
- more compact) than the random-access format which Novosielski .LBR
- libraries have provided for years. Therefore, I stopped short of
- producing a complete ARC program equivalent which includes creation of
- .ARC files. The LZW "crunching" algorithm is impressive though (see my
- editorial comments preceeding the UCR routine), and I now believe there
- is a place for .ARC files in the CP/M world (particularly on RCP/M's,
- where the name of the game is reducing upload/download time). But
- that's the domain of another program (i.e. my next project: NARC).
-
- - Bob Freed