home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / jsage / zsus / z3help / c.lbr / CL.HZP / CL.HLP
Encoding:
Text File  |  1991-11-18  |  7.1 KB  |  154 lines

  1. ;
  2.                                      CL.COM                                   
  3.  
  4.              Size (recs) CRC   Version    Author/Latest Issue      Disk
  5.                4k (31)   FA0E  1.0        Bruce Morgen 5/91        Z3COM3
  6.  
  7.   1- Syntax/Options  2- Usage  3- Notes  4- Examples of Use                   
  8.  
  9.    CL has one purpose:  to Compact a Library.   CL compresses  a library over-
  10. writing deleted entries and other unused  sectors of the  LBR file with active 
  11. members.   It then de-allocates the remaining blocks and/or extents of the LBR 
  12. file.   
  13.  
  14.    [Note:  CL may not be compatible with all systems,  so caution is  advised.
  15. CL does not create a new library.  It overwrites the existing library.   Also,
  16. CL cannot currently Krunch a file (ala NULU) to  make a larger directory.   An
  17. enhanced LPUT might well be better  equipped to do  this  than CL,  since LPUT
  18. already has the code to build a new LBR and to add members.]
  19. :1
  20.     Syntax   CL [DU:]filename[.LBR]                    compact filename
  21.              CL [DU:]filename[.LBR] ?                  report free space
  22.              CL [DU:]filename[.LBR] Z                  force compact
  23.              CL [DU:]filename[.LBR] -afn1[,afn2,...]   delete members
  24.  
  25.    "filename" is assumed to have the extension LBR
  26. :2
  27.  Usage 
  28.  
  29.    CL compresses an LBR,  overwriting deleted entries and other unused sectors
  30. of the LBR file with active  members.   It  then  de-allocates  the  remaining
  31. blocks and/or extents of the LBR file.  CL will 1) compact an LBR in place, 2)
  32. report the amount of free space remaining in an LBR, 3) force a compaction, or
  33. 4) delete members from an LBR.   Compacting is not done if  none is  required,
  34. even if the "Z" option is selected.   Directory sorting is done any time there
  35. is a compacting operation,  whether forced via the "Z" option or decided on by
  36. CL itself.   Only the sort is  done if  there's no need for compacting and the
  37. "Z" option is selected.
  38. :3
  39.  CL Notes - 1/3 
  40.  
  41.    a. Vs 1.0 updates (Release version, 5/7/91, Bruce Morgen):
  42.       - Eliminated warm boot when an RSX is detected.
  43.       - Fixed a stack imbalance bug when zero-length member files are present.
  44.       - Saved a few bytes through more double register SBC!ADD sequences.
  45.       - Shortened DosDisk test.
  46.  
  47.    b. Vs 0.09 updates (4/19/91, Bruce Morgen):
  48.       - Added "-afn,afn,afn" delete  member  function.   File is  compacted in
  49.         this mode to avoid  weird  "ghost" spaces  unless the  deleted members
  50.         were all zero-length.
  51.  
  52.    c. Vs 0.08 updates (4/18/91, Bruce Morgen):
  53.       - If there is no "waste" and the "Z" option is selected, no compact is
  54.         done, but the LBR's directory is sorted and rewritten.  
  55.       - LBR's active, deleted, and open member statistics are displayed.
  56.       - Deleted FRESET inclusion in favor of linked module and external.
  57.  
  58.    d. Vs 0.06 updates (10/23/90, Bruce Morgen):
  59.       - LBR directory now sorted.  Suggested by Bob Dean.
  60.  CL Notes - 2/3 
  61.  
  62.    e. Vs 0.05 updates (10/20/90, Bruce Morgen):
  63.       - Z80 and CP/M 2.2 tests performed earlier.
  64.       - Stack-hungry EPRINT not called until local stack established.
  65.  
  66.    f. Vs 0.04 updates (10/19.90, Bruce Morgen):
  67.       - Fixed nasty problem caused by Michal's  assumption that  DS directives
  68.         zero-fill.  When CL's buffers were put in DSEG, CL would unpredictably 
  69.         hang the system.   Used brute force  solution of  zero-filling  entire
  70.         buffer space immediately (also makes CL re-executable via GO).
  71.       - Somehow stayed within 25 records through dogged code-cutting.
  72.  
  73.    g. Vs 0.03 updates (10/17/90, Bruce Morgen):
  74.       - Size reduced by four records, (through use of DSEG and proper linker).
  75.       - Michal's assumption about  ZPRSFN working in  a non-Z3  environment is 
  76.         simply not true.   CL would have to include  an  internal  environment 
  77.         descriptor for ZPRSFN (and GETCCP or GETZRUN, for that matter) to work 
  78.         predictably.   Since CL does not need to  parse the command line under
  79.         Z-System, SYSLIB's FNAME is used to simulate ZPRSFN.  
  80.       - Uses SYSLIB's table-driven CRC routines (modest increase in speed).
  81.       - Now displays the DU: of the LBR being analyzed and/or processed.
  82.  CL Notes - 3/3 
  83.  
  84.    h. Vs 0.02 updates (4/9/89, Michal Carson):
  85.       - minor change  concerning  the  location  of  the  first  token  by the 
  86.         parsing routine (zprsfn).  
  87.       - code had been commented  out  which  loaded  the address of the sector 
  88.         translation table into DE before the call to the BIOS.  
  89.       - the low bit of E before the call to  SETDSK was being reset instead of 
  90.         set.  Resetting tells the  BIOS  that the disk has  not  been accessed 
  91.         previously, while setting indicates that the disk has been used.
  92.       - @fncmp (inserted from syslib for the last  revision) was being misused 
  93.         and consequently the program failed to find some directory entries for 
  94.         the library.  
  95.       - Converted fully to syslib  for  all  the  routines  which may be found 
  96.         there.
  97.  
  98.    i. Vs 0.01 updates (3/17/89, Michal Carson):
  99.       - most changes aim  to  ensure  predictable  performance  under  varying
  100.         systems. 
  101.       - now insists on  a Z80 and  a BDOS which returns 2. 2 as version number
  102.         (CP/M+ and Z3PLUS are not yet supported).
  103. :4
  104.  Examples of Usage - 1/3 
  105.  
  106.    1) NULU is used to delete one of 3 member files from SCATV208.LBR.   CL
  107.       is run to show that 25 records of free space (4k) exist, represented 
  108.       by the deleted member.
  109.  
  110. B0:WORK>cl d3:scatv208 ?
  111.  
  112. CL (Compact Library), Version 1.0
  113. 25 records of free space in D3:SCATV208.LBR      24K         not compacted
  114. Contents: 2 active members, 1 deleted member, 4 open member slots.
  115.  
  116.    2) CL is run again to compact the library and reclaim the 4k.  The 
  117.       far right column (20k) indicates the resulting size of the LBR.
  118.  
  119. B0:WORK>cl d3:scatv208 
  120.  
  121. CL (Compact Library), Version 1.0
  122. 25 records of free space in D3:SCATV208.LBR      24K         20K
  123. Contents: 2 active members, no deleted members, 5 open member slots.
  124.  Examples of Use - 2/3 
  125.  
  126.    3) CL is run again and shows that no free space remains to be claimed.
  127.  
  128. B0:WORK>cl d3:scatv208 ?
  129.  
  130. CL (Compact Library), Version 1.0
  131. 0 records of free space in D3:SCATV208.LBR      20K         not compacted
  132. Contents: 2 active members, no deleted members, 5 open member slots.
  133.  
  134.    4) The deleted member file is replaced using LPUT, and CL is used 
  135.       this time to delete it.
  136.  
  137. B0:WORK>cl d3:scatv208 -zsusv208.czt
  138.  
  139. CL (Compact Library), Version 1.0
  140. ZSUSV208.CZT deleted.
  141. 25 records of free space in D3:SCATV208.LBR      24K         20K
  142. Contents: 2 active members, no deleted members, 5 open member slots.
  143.  Examples of Use - 3/3 
  144.  
  145.    5) CL is then run with the "Z" option to force a compaction.  Since
  146.       a compaction is not required, the directory is simply sorted and
  147.       checked.
  148.  
  149. B0:WORK>cl d3:scatv208 z
  150.  
  151. CL (Compact Library), Version 1.0
  152. 0 records of free space in D3:SCATV208.LBR      20K         sorted & checked
  153. Contents: 2 active members, no deleted members, 5 open member slots.
  154.