home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / beehive / crr / unarc16.lbr / UNARC16.DIF < prev    next >
Text File  |  1990-12-08  |  2KB  |  52 lines

  1. 4c 57944
  2.     DB    'UNARC  1.6  27 Mar 87'
  3. .
  4. 10c 19282
  5.     DB    'UNARC16'
  6. .
  7. 47a 53450
  8. 1.6    27 Mar 87  (RAF)
  9.  
  10. - Murphy's Law strikes again:  Within hours after the release of version
  11.   1.5, a bug was discovered.  Incorrect CRC error messages are generated
  12.   during file extraction in some situations.  This was caused by failure
  13.   to clear carry before a 16-bit subtract (SBC HL,DE), which we changed
  14.   inadvertantly in 1.42.  (So much for Beta-testing!)  Such faulty error
  15.   messages occur only for disk file extraction, not when the 'C' command
  16.   option is used to check an archive.  Furthermore, the bug occurs only
  17.   when (1) a file contains an odd number of 128-byte records and (2) the
  18.   BDOS returns from the last write-record call with carry set.  [Note of
  19.   interest:  The CP/M 2.2 BDOS returns with carry set only if the output
  20.   drive is different than the current default drive.  This assumes, of
  21.   course, that no RSX-type system extensions are in place to intercept
  22.   BDOS calls:  We would have caught this bug, but for such a system
  23.   extension which always clears carry before returning from BDOS calls.]
  24.   Our thanks to Tom Brady for reporting this one.
  25.  
  26. - Zero-fills last record of .COM file.  (Not needed with Z80ASM and/or
  27.   SLRNK, but provided so that M80/L80 will generate identical output to
  28.   that produced by the SLR Systems' tools.)
  29.  
  30. .
  31. 1896a 6627
  32. ; Note:    Following instruction added in UNARC 1.6, since the preceding
  33. ;    test (altered in 1.42) no longer clears carry.
  34.  
  35.     OR    A        ; Clear carry for 16-bit subtract
  36. .
  37. 4112a 26825
  38.     IF    ($ AND 7FH) NE 0
  39.  
  40. ; Clear out final record of the .COM file
  41. ; (Needed only for precise M80/L80 compatibility with Z80ASM/SLRNK)
  42.  
  43.     REPT    128-($ AND 7FH)
  44.     DB    0
  45.     ENDM
  46.  
  47.     ENDIF
  48.  
  49. .
  50. $a 5531
  51. .
  52.