;
                                   UMAP.COM                                   

             Size (recs) CRC   Version    Author/Latest Issue      Disk
UMAP.3OM       2k (16)   0A17  1.40       Gene Pizzetta 3/91       Z3COM23
UMAP.4OM       3k (22)   DA8E  1.40       Gene Pizzetta 3/91       Z3COM23
UMAP.COM       2k (16)   7201  1.40       Gene Pizzetta 3/91       Z3COM23

  1- Syntax/Options  2- Operation  3- Configuration  4- Notes                 

   UMAP is a  ZCPR3  utility that can  display a  brief map of a disk, showing
which user areas have files and  how  many  directory entries those files use.
In addition,  it can display a  brief summary of the total number of directory
entries used,  the number of  entries  still  free  and the disk free space in
kilobytes.

   The idea for UMAP came from USRMAP  (author unknown) and at the  urging  of
Howard Goldstein.
:1
 Syntax   UMAP {dir:} {{/}option}

   Although a DU or DIR specification may be given,  only the drive is signif-
icant.  If no drive is given, the current drive is assumed.
 Options - 1/2 

   Only one option is currently recognized by UMAP.   It  may  be given on the
command line with or without a  slash  and  with or without a drive specifica-
tion.  If more than one option is given, only the first will be observed.

     U    Show complete directory statistics for each user area 
          on the disk that has active files.  User areas with no 
          files will be omitted from the display.  Although few 
          people will have files in more than a screenful of user 
          areas, if you have files in most of the 32 available 
          users, the display will be automatically paused 
          ("[more]") at the end of each screen.  The number of 
          screen lines is obtained automatically from the 
          environment.
 Options - 2/2  

     V    Show a list of vacant user areas (with no active 
          files).  If all you're looking for is an empty 
          directory, there's no need to watch a list of user area 
          statistics scroll by, possibly taking up more than one 
          screen, and then have to try to figure out which users 
          are not listed.  With this option, only vacant user 
          areas will be listed.  Only two screen lines will be 
          used to display them, with users 0-15 on the first 
          line, 16-32 on the second.  If you only use 16 user 
          areas, you can ignore the second line.

   With no options only total directory usage and free disk space is shown.
:2
 Operation 

   User areas with no files will be  omitted  from the display.  Although  few
people will have files in more than a  screenful  of user  areas,  if you have
files in most of the 32 available  users,  the  display  will be automatically
paused  ("[more]")  at the end of  each screen.  The number of screen lines is
obtained automatically from the environment.

   UMAP sets the  ZCPR3  program  error  flag  on  error,  but  the only error
currently recognized is an invalid (out of range) directory specification.

   Large files require more  than  a  single  directory  entry,  so  UMAP will
display both the number of  files  and  number of directory  entries they use.
Finally, it tells you how many free directory entries are left on the disk and
the amount of remaining disk space in kilobytes.
 Checking All Drives - 1/2 

   It has been suggested to me that UMAP have the  ability to  give  user area
statistics for a group of drives,  one after the other,  with  screen  paging.
While not a bad idea,  implementing  that  mode  would  add  significantly  to
program size,  certainly making it  larger  than  two kilobytes.   The limited
usefulness of such a mode, I think, makes it not worth it.

   However, a simple alias could accomplish the same thing:

     UMAP A:U;IF IN MORE?;FI;UMAP B:U;IF IN MORE?;FI;UMAP C:U...

   This causes a simple page pause after each drive's usage is displayed.  Or,
if you want to be able to abort the alias after any call to UMAP,  put all the
"FI"'s at the end:

     UMAP A:U;IF IN MORE?;UMAP B:U;IF IN MORE?;UMAP C:U...;FI;FI;...

   If you have too many drives for a single alias, the last command could be a
call a second alias.   Of course, there are more elaborate ways of doing this,
but I'm not doing a tutorial on writing aliases here.
 Checking All Drives - 2/2 

   You might have noticed in the examples  above that the  option  came  right
after the drive spec without an intervening space.  That works fine with UMAP.
:3
 Configuration 

   UMAP can be configured to make either of the  options  the  default mode of
operation.   In that case either of the  command-line  options  will  turn the
default mode off.   Do not configure  UMAP  to default to both options.   That
won't work and you will lose access to the "no option" mode.

   To configure UMAP use the accompanying  UMAPnn.CFG file and ZCNFG.   Do not
change the name of the CFG file so that  ZCNFG  can  find it,  even if you use
another name for UMAP.
:4
 UMAP Notes - 1/1 
 
   a. Version 1.4 updates (3/27/91, Gene Pizzetta):
      - With V option,  now prints only users 0-15 on first line,  users 16-31
        on second line.

   b. Version 1.3 updates (3/26/91, Gene Pizzetta):
      - Minor changes in display for aesthetical considerations:  free entries
        and free space are printed on separate line.  
      - At the suggestion of Rob Wood,  added V option for  vacant  user  area
        display.  Added type 3 and type 4 assemblies.

   c. Version 1.2 updates (3/25/91, Gene Pizzetta):
      - Now re-initializes the drive byte in the FCB  with a question  mark so
        UMAP will work with the GO command under ZRDOS.   It seems that  ZRDOS
        resets the byte to zero, for no known reason.   Thanks to Rob Wood for
        discovering this idiosyncrasy.  
      - Added ability to count entries beyond user 31.   ZSDOS does not return
        them.  DRI's CP/M-Plus does.  It's there if it works on your system.
 UMAP Notes - 2/2 

   d. Vs 1.1 updates (2/23/91, Gene Pizzetta):
      - Added disk space display.  
      - Removed VLIB routines to save a lot of bytes.
