;
                                  ZTIME.COM                                   

             Size (recs) CRC   Version    Author/Latest Issue      Disk
ZTIME.3OM      4k (27)   07C0  1.4        Gene Pizzetta 10/91      Z3COM33
ZTIME.4OM      5k (33)   D986  1.4        Gene Pizzetta 10/91      Z3COM33
ZTIME.COM      4k (27)   CACA  1.4        Gene Pizzetta 10/91      Z3COM33
ZTIME+.3OM     4k (27)   691A  1.4        Gene Pizzetta 10/91      Z3COM33
ZTIME+.4OM     5k (34)   4B58  1.4        Gene Pizzetta 10/91      Z3COM33
ZTIME+.COM     3k (27)   874C  1.4        Gene Pizzetta 10/91      Z3COM33

  1- Syntax/Options  2- Non-Supported Clocks  3- Notes                        


   ZTIME is a hardware independent clock utility for setting or displaying the
date and time under ZSDOS or Z3PLUS.  It features very flexible command line 
date and time entry, and has several options, including the ability to measure
elapsed time.  Two versions accomodate ZSDOS (ZTIME) and Z3PLUS (ZTIME+).
:1
    Syntax   ZTIME {{mm}/{dd}/{yy}} {{hh}:{mm}:{ss}}
         or  ZTIME {{/}option}

   If no parameters are given on the command line,  
   the current date and time will be displayed.
 Syntax - 2/2 

   Entering all elements of a date or  time  specification is  not  necessary.
Missing elements will be filled in from the current  setting of the clock.  In
other words, if you just want to change the hour -- perhaps to daylight saving
time--enter:
               ZTIME hh:
   To adjust the minutes, use:
               ZTIME :mm
   Or to tweek the seconds:
               ZTIME ::ss
The date parameter works the same way.   As  the  examples  indicate,  leading
delimiters are required, but trailing delimiters are not,  except for the hour
if no date delimiters are used:
               ZTIME mm
will set the month,  but a  trailing  delimiter  is not needed for the hour if
entered with a date delimiter:
               ZTIME / hh
If desired, ZTIME can be configured to accept a date in European format:
               ZTIME dd.mm.yy
Time must always be entered in military (24- hour) format,  although ZTIME can
be configured to display the time in civilian format.
 Options - 1/2 

   An option may be given, instead of a date and time string, with or without
a leading slash.

     S    Set clock interactively.  This option requires that a 
          complete date and time specification be entered in answer
          to prompts.  At the prompt for "Hour?", if a plus sign
          ("+") is entered, ZTIME will prompt for relative time.

     C    Show time continuously.  The display is updated once 
          each second.  Any key aborts the display.

     M    Store date and time in memory registers.  A total of 
          six registers are used.  As distributed, registers 18 
          through 23 are used, but a configuration option allows 
          selecting any six sequential registers.

     E    Show elapsed time since last call with M option.  ZTIME 
          reads both the current time and the time stored in the 
          registers, and then calculates the elapsed time in 
          hours, minutes and seconds (up to 24 hours maximum).
 Options - 2/2 

   As distributed,  ZTIME sets the  clock  immediately  after  the seconds are
entered in interactive mode, or immediately after loading if command line time
entry is used.  Of course, it takes time for ZTIME to load from disk, read the
clock, parse the command line date and  time  specification,  and then set the
clock to the new time.  It most cases a fraction of a second, or even a second
or two, is of no consequence.  However, if you insist that the time setting be
as exact as possible,  ZTIME can be  configured to  prompt for a keypress just
before setting the clock.

   Setting the clock does not work unless the Wheel byte is set.

   ZTIME can be aborted at any prompt with ^C.
:2
 Non-Supported Clocks 

   Some ZSDOS (or ZDDOS) clock  modules  do not  support  setting  the  system
clock.  If you have the  necessary  documentation,  however,  a  clock setting
module can be written and linked to  ZTIME with a  single  change in the ZTIME
source code:

   1. Change the  "CUSTOM"  equate  near  the  beginning of the source code to
        "TRUE".

   2. The public entry point of the module must be labelled "SETCUS".

   3. ZTIME will call the module with the  address of the date and time string
      in HL.  The string is in standard format of 6 packed BCD bytes:
          year mon day hour min sec

   4. Your module must return with the  zero  flag  reset (NZ) on  error.  The
      zero flag is set  (Z) if  everything is  okay.   No  registers  need  be
      preserved.

   5. Link SETCUS.REL module to ZTIME.REL before the libraries are searched.
:3
 ZTIME Notes 

   a. Version 1.4 updates (10/9/91, Gene Pizzetta):
      - Howard Goldstein fixed a couple of bugs in the ZSLIB parser,  so a new
        linkage of ZTIME was necessary.  
      - Also, implemented a suggestion that  ZTIME  re-read  the  clock  after
        setting it, rather than just displaying the time it was supposed to be
        setting.  
      - Added type 3 and 4 linkages.

   b. Version 1.3 updates (9/10/91, Gene Pizzetta):
      - Buffer address was not being saved between calls to TLINE in the ITIME
        interactive time entry routine.

   c. Version 1.2 updates (8/23/91, Gene Pizzetta):
      - The only change  here is  that  ZTIME  observes  the  wheel  byte  and
        declines to set the clock for non-wheels.   Everything else  works for
        both wheels and non-wheels.  

   d. Version 1.1 updates (8/18/91, Gene Pizzetta):
      - Instructions for installing a custom time-setting module did not work.
      - In addition ZSLIB 3.1 is required for re-assembly.  
