



                                    ZSDOS 1.0


                             A CP/M 2.2 BDOS Replacement


                                       by

                                 Harold F. Bower
                                Cameron W. Cotrill
                                  Carson Wilson


                            Copyright (C) 1986,7,8 by:

               Harold F. Bower        and       Cameron W. Cotrill

              7914 Redglobe Ct.                2160 N.W. 159th Place
              Severn, MD 21144-1048            Beaverton, OR  97006
              USA.                             USA.

              HalBower@worldnet.att.net        ccotrill@symantec.com

        This program is free software; you can redistribute it and/or modify it
        under the terms of the GNU General Public License as published by the
        Free Software Foundation; either version 2 of the License, or (at your
        option) any later version.

        This program is distributed in the hope that it will be useful, but
        WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
        General Public License (file LICENSE.TXT) for more details.

        You should have received a copy of the GNU General Public License
        along with this program; if not, write to the Free Software
        Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.




                                     11/11/88
                    GNU General Public License Release, 30 Dec 1998


        ZSDOS, its documentation and its utility programs are copyright (C) 1987,88 by
        Harold F. Bower, Cameron W. Cotrill, and Carson Wilson

        The primary authors hereby release this document and product (ZSDOS) under the
        GNU General Public License effective 30 December 1998.  Current addresses as
        of this date are:

          Harold F. Bower              Cameron W. Cotrill           Carson Wilson
          7914 Redglobe Ct.            2160 N.W. 159th Place         (unknown)
          Severn, MD  21144            Beaverton, OR  97006
          USA.                         USA.
         <HalBower@worldnet.att.net>  <ccotrill@symantec.com>

        ZSDOS is now original code, but is based on P2DOS 2.1 (C) 1985 by H.A.J. Ten
        Brugge - All Rights Reserved.

        INITDIR.COM is derived from a program of the same name which is copyright (C)
        1985 by HAJ Ten Brugge - All rights reserved.  Portions of code to implement
        P2DOS file date stamping were derived from DATE.ASM also by HAJ Ten Brugge.

        ZCNFG.COM is copyright (C) 1988 by Al Hawley.  We thank him for allowing us to
        include ZCNFG in the ZSDOS release.

        The ZDS DateStamper, the ZDDOS DateStamper, DateStamper drivers in DS2BOTH and
        P22BOTH, and a vast majority of the clock drivers were developed in co-opera-
        tion with Plu*Perfect Systems and use licensed Plu*Perfect technology.

        DateSweep, DsConfig, SetTerm, and PutDS are copyright (C) 1987 by Plu*Perfect
        Systems - All rights reserved.  They are included under an agreement with
        Plu*Perfect Systems.  Section 4.10 was extracted from the Plu*Perfect Date-
        Stamper Manual which is copyright (C) 1987 by Plu*Perfect Systems - All rights
        reserved.

        Clock drivers for the Apple ][ PCPI and CardZ180 were provided by Steven
        Hirsch.

        ZSVSTAMP is included with the ZSDOS release package thanks to Howard Gold-
        stein.  Source to ZSVSTAMP is available on Z-Nodes.

        Trademarks: Little Board, Ampro Computers; Z80, Z180, Z280, Zilog; DDT, CP/M,
        Trademarks:
        Trademarks:
        Digital Research Inc.; ZCPR3, ZCPR33, ZRDOS, ZDH, Alpha Systems; WordStar,
        NewWord, MicroPro Int'l; Dbase II, Ashton-Tate, BackGrounder ii, DateStamper,
        Plu*Perfect Systems; DosDisk, Z3PLUS, Bridger Mitchell; Turborom, Advent;
        NSC800, National Semi- conductor; SB180, MicroMint; HD64180, Hitachi; XBIOS,
        Malcom Kemp; ZSDOS, ZDDOS, ZDS, Harold F. Bower - Cameron W. Cotrill - Carson
        Wilson.

        Acknowledgments:  Hearty thanks to Rick Charnes, Steve Gold, Frank Gaude',
        Howard Goldstein, Al Hawley, Steven Hirsch, Richard Jacobson, Bridger
        Mitchell, Bruce Morgen, Tony Parker, Jay Sage, and Joe Wright for aiding us
        with their insights and putting ZSDOS through its paces prior to release.


                               TABLE OF CONTENTS

           1. Introduction.............................................1
             1.1. About This Manual....................................1
             1.2. What is ZSDOS?.......................................1
             1.3. The History of ZSDOS.................................3
             1.4. Differences Between ZSDOS and ZDDOS..................3
             1.5. Differences Between CP/M 2.2, ZRDOS, and ZSDOS.......4
             1.6. Program Summaries and Usage..........................5
               1.6.1. Program Summary Conventions......................5
               1.6.2. Built-in Help....................................7
               1.6.3. Command Line Options.............................7

           2. Features of ZSDOS........................................8
             2.1. Automatic Disk Relog.................................8
             2.2. Improved Error Handling..............................8
             2.3. Archive Attribute Support............................9
             2.4. Larger File and Disk Sizes...........................10
             2.5. Fast Fixed Disk Relog................................10
             2.6. BackGrounder II Support..............................11
             2.7. Wheel Protection.....................................11
             2.8. File Access Modes....................................11
               2.8.1. Normal Access....................................12
               2.8.2. Path Access......................................12
               2.8.3. Public Access....................................13
               2.8.4. Combined Access..................................14
             2.9. Enhanced Write Protection............................16
             2.10. Re-entrancy Potential...............................16
             2.11. FCB User Number Support.............................17
             2.12. File Datestamping Support...........................17
             2.13. Run-time Configuration..............................18
             2.14. Other Significant Enhancements......................18

           3. Installing ZSDOS.........................................20
             3.1. Installing the Operating System......................20
               3.1.1. Installing ZSDOS with INSTALOS...................20
                 3.1.1.1. Using INSTALOS...............................21
                 3.1.1.2. Creating a Boot Disk.........................24
                 3.1.1.3. INSTALOS Error Messages......................25
               3.1.2. Installing ZSDOS with NZCOM......................28
               3.1.3. Installing ZSDOS with JetLDR.....................29
               3.1.4. Installing ZSDOS with XBIOS......................30
             3.2. Clock and File Stamp Installation....................31
               3.2.1. Selecting a Clock Driver.........................32
               3.2.2. Installing Clock and/or Stamp Method.............33
               3.2.3. The LDTIM Program................................37
               3.2.4. Preparing Disks for DateStamper (PUTDS)..........38
               3.2.5. Preparing Disks for P2DOS Stamps (INITDIR).......40
             3.3. Installing BackGrounder II for ZSDOS.................42
             3.4. Advanced Installation Techniques.....................44
               3.4.1. Replacing CCP and BIOS with INSTALOS.............44
               3.4.2. User-Developed Clock Drivers.....................45
               3.4.3. Customizing Stamp Installation with SETUPZST.....45
               3.4.4. Tips on Using ZSCONFIG with Clocks/Stamps........49


           4. ZSDOS Utilities..........................................50
             4.1. COPY - Copy Files....................................51
               4.1.1. Using COPY.......................................51
               4.1.2. COPY Options.....................................53
             4.2. DATSWEEP - Directory Tool............................56
               4.2.1. Overview.........................................56
               4.2.2. Using DatSweep...................................60
               4.2.3. DATSWEEP Command Summary.........................62
               4.2.4. Command Line Options.............................67
               4.2.5. Installation and Configuration...................69
               4.2.6. Technical Information............................72
             4.3. FILEATTR - Set or Display Attributes.................75
               4.3.1. Using FILEATTR...................................75
               4.3.2. FILEATTR Error Messages..........................77
             4.4. FILEDATE - Display File Dates........................79
               4.4.1. FILEDATE Syntax..................................79
               4.4.2. FILEDATE Output..................................86
               4.4.3. FILEDATE Error Messages..........................89
             4.5. RELOG - Reset Disk System............................91
             4.6. TD - Read and Set Clock..............................92
               4.6.1. Using TD.........................................92
               4.6.2. TD Error Messages................................93
             4.7. ZCAL - Display Month.................................94
               4.7.1. Using ZCAL.......................................94
               4.7.2. ZCAL Error Messages..............................95
             4.8. ZCNFG - Configuration Utility........................96
               4.8.1. Using ZCNFG......................................96
             4.9. ZPATH - Set ZSDOS Path...............................99
               4.9.1. Using ZPATH......................................99
               4.9.2. ZPATH Error Messages.............................101
             4.10. ZSCONFIG - Configure a Running ZSDOS System.........102
               4.10.1. ZSCONFIG Interactive Mode.......................102
               4.10.2. ZSCONFIG Expert Mode............................103
               4.10.3. ZSCONFIG Options................................105
               4.10.4. ZSCONFIG Error Messages.........................114
             4.11. ZXD - Extended Directory Utility....................115
               4.11.1. Using ZXD.......................................115
               4.11.2. ZXD Options.....................................115

           Appendix 1 - ZSDOS Functions Quick Reference................119
           Appendix 2 - BIOS Functions Quick Reference.................122
           Appendix 3 - Datespec and File Stamp Formats................123
           Appendix 4 - ZSDOS Memory Allocation & Usage................124
           Appendix 5 - File Attributes................................127
           Appendix 6 - Clock Driver Descriptions......................131

           Glossary....................................................136
           Annotated Bibliography......................................139


        ZSDOS                                                             Introduction


        1 Introduction.

        Z-System  Disk Operating System, or ZSDOS, is an enhanced replacement for  the
        Basic Disk Operating System segment of CP/M 2.2 or ZRDOS 1.x systems.  It fits
        in  the  normal 3.5k system segment allocated to the BDOS segment of  CP/M  by
        Digital  Research. Optional ZSDOS segments may be placed outside of  the  BDOS
        segment for clock and file time and date stamping support.


        1.1 About This Manual.

        This ZSDOS User's Guide consists of this introduction plus the following:

             o   Getting Started, a brief outline to help you get the flavor of ZSDOS
                initially.    Getting  Started  is  contained  in  the  file   named
                README.2ND on your distribution disk

             o   The  Features of ZSDOS, which details the differences between  ZSDOS
                and previous systems

             o   Installing ZSDOS, a complete, detailed description of how to config-
                ure and install ZSDOS for any CP/M system

             o   The ZSDOS Utilities, describing the purpose, operation, and customi-
                zation of all of the ZSDOS utilities

             o   Several appendices containing summaries of various technical  infor-
                mation

             o   A glossary giving the meanings of technical terms used in this Guide

             o   An index of key words and phrases used in this Guide.

        A  ZSDOS  Programmer's Manual containing descriptions of  all  ZSDOS  function
        calls with Z80 assembly language code examples is also available for a  modest
        additional fee.


        1.2 What is ZSDOS?

        ZSDOS  is completely replaces the Basic Disk Operating System portion of  CP/M
        2.2  or ZRDOS 1.x systems.  The following explanation is included in case  you
        are unfamiliar with the functions of an Operating System.

        Any  computer requires an operating system to do useful work.   The  operating
        system  is responsible for reading input devices (such as the keyboard),  out-
        putting information (to the CRT and printer), and loading and saving  programs
        and  information  on storage devices such as floppy disks.   These  tasks  are
        separate  and distinct from application programs (such as word processors  and


        ZSDOS 1.0                         - 1 -                          User's Manual


        Introduction                                                             ZSDOS


        spreadsheets) which run under control of the operating system.

        The  CP/M operating system, designed by Gary Kildall (who formed  Digital  Re-
        search),  is divided into three separate system segments. One such segment  is
        the Basic Disk Operating System, or BDOS, which controls the system  resources
        (such as the console, disk drives, and printer) at a general level.  The  BDOS
        does not know (or need to know) what type of terminal, disk controller, print-
        er, etc. is connected to the computer.  These hardware details are the respon-
        sibility of a second system segment, the Basic Input Output System, or BIOS.

        The  BIOS is written by computer manufacturers specifically for their type  of
        computer.   The  BIOS performs all hardware-specific tasks for  BDOS.   Conse-
        quently,  a BIOS written for one type of computer can't be used on a  computer
        of another type.  For example, a BIOS written for an Ampro Little Board  can't
        be  used  on  a Kaypro.  For a few computers, third party  add-on  BIOS's  are
        available  that provide more capabilities than those originally supplied  with
        the computer.  Examples of these include XBIOS for the MicroMint SB180,  writ-
        ten by Malcom Kemp, and the Advent TurboROM BIOS for Kaypro computers, written
        by Bridger Mitchell.

        Just as BDOS knows nothing about the disk controller or other hardware-specif-
        ic  items, BIOS knows nothing of the disk directory or files.   The  interface
        between the BDOS and BIOS is well defined, and does not vary between computers
        which  use CP/M 2.2- compatible operating systems.  Though these two  segments
        act together to form the heart of the operating system, they are discrete, and
        each  of  them  may be upgraded or replaced independently as  long  as  CP/M's
        interface standards are followed.  This principle of discrete system  segments
        allows  ZSDOS  to replace CP/M's original BDOS system segment  with  no  other
        changes in the computer's system software.

        The  final CP/M system segment is the Console Command Processor, or CCP.   The
        CCP  is  responsible for interpreting a user's commands  when  no  application
        programs are running.  The CCP loads and runs programs requested by the  user.
        Several  utility commands (such as DIR to list the files on a disk) are  resi-
        dent within the CCP.  Like the BDOS, the same CCP operates on all CP/M comput-
        ers, regardless of hardware differences.

        As  with  the  BDOS, the CCP may be replaced independently of  the  other  two
        system  segments.  The most popular CCP replacement to date for Z80  microcom-
        puters  is the ZCPR series originated by Richard Conn, and later  upgraded  by
        Jay  Sage.   As  the primary interface with the user, CCP  upgrades  are  most
        noticeable.  Though ZSDOS does not require the ZCPR command processor in order
        to  operate, ZSDOS does takes advantage of some ZCPR features, and  we  highly
        recommend  ZCPR.   More information on the ZCPR command processor may  be  ob-
        tained from Sage Microsystems East (see appendix 7).






        User's Manual                     - 2 -                              ZSDOS 1.0


        ZSDOS                                                             Introduction


        1.3 The History of ZSDOS.

        Many  BDOS replacements for Z80 microcomputers have been created and  released
        since  Digital Research dropped the development of CP/M 2.2.  Most  have  been
        freeware and were based on various versions of P2DOS by HAJ Ten Brugge of  the
        Netherlands.   These  derivatives include Z80DOS by Carson Wilson,  DOS+25  by
        C.B.  Falconer, SuperBDOS by Benjamin Ho, P2DOS+ by Harold F. Bower, and P2DOS
        2.11 by Cameron W. Cotrill.

        The  most notable commercial BDOS replacement to date is the ZRDOS  series  of
        replacement  BDOS's written by Dennis Wright and distributed by Alpha  Systems
        Corporation (with the exception of Warm Boot Trap, all ZRDOS 1.7 features  are
        fully supported by ZSDOS).

        ZSDOS was born of a desire to make P2DOS compatible with Plu*Perfect  Systems'
        BackGrounder  ii  and DateStamper.  Bridger Mitchell  of  Plu*Perfect  Systems
        suggested that the authors combine forces to write ZSDOS, since each of us had
        previously modified P2DOS separately.  The result is that ZSDOS is a  tighter,
        faster, and safer BDOS than any of us could have created on his own.

        As ZSDOS evolved, the overall philosophy of the BDOS system segment was  ques-
        tioned and refined.  Every function was analyzed and every line of code  care-
        fully optimized, checked and rechecked for compatibility with existing  appli-
        cations.  ZSDOS support programs such as INSTALOS, ZSCONFIG, and SETUPZST were
        developed and refined throughout the development cycle.

        ZSDOS  is not an attempt to further fragment the CP/M compatible  marketplace.
        Rather,  we aim to push the current limits of CP/M compatible  BDOS's  forward
        and  to  provide many features most of us have wanted for years.  We  feel  we
        have  achieved all this while retaining compatibility with existing CP/M  pro-
        grams  and  accepted conventions.  Where differences  exist  (particularly  in
        terms of file datestamping), the ZSDOS package provides the framework  whereby
        existing  non-standard BDOS modifications can be incorporated smoothly with  a
        standard user/application level interface.


        1.4 Differences Between ZSDOS and ZDDOS.

        The size constraints imposed by the original design of CP/M made memory  usage
        a  primary consideration in developing ZSDOS.  This constraint engendered  two
        basic approaches to the redesign of the BDOS segment.  The first approach held
        that it was impossible to include all of the features demanded of a modern Z80
        DOS  in  the 3.5 kilobytes allowed by Digital Research, and  sought  efficient
        ways to increase the size of this system segment.  The second approach  valued
        simplicity  over  versatility  and attempted to include as  many  features  as
        possible while respecting CP/M's size restrictions.

        The two competing approaches resulted in two DOS's, one named Z-System DOS, or
        ZSDOS, and the other named Z-DateStamper DOS, or ZDDOS.  ZSDOS largely rejects


        ZSDOS 1.0                         - 3 -                          User's Manual


        Introduction                                                             ZSDOS


        the  memory constraints imposed by CP/M, and requires external modules  to  do
        file date stamping.  ZDDOS accomplishes date stamping largely within the  con-
        fines  of 3.5 kilobytes, but lacks several features of ZSDOS.  Thus, ZSDOS  is
        typically more complicated to install and requires more memory than ZDDOS, but
        is  more  versatile once installed.  Rather than force you to  choose  between
        these  two alternatives when purchasing ZSDOS or ZDDOS, we have included  both
        ZSDOS  and ZDDOS in the same "ZSDOS" package; it is up to you to decide  which
        system best suits your needs.

        We  are happy to report that other than their contrasting approaches to  date-
        stamping,  ZSDOS and ZDDOS are quite similar.  The chart below summarizes  the
        differences between the two DOS's.

             Feature                               ZDDOS       ZSDOS
             -------------------------------------------------------
             DOS Path                              No          Yes
             Retype Line (^R) in Function 10       No          Yes
             DateStamper(tm) File Stamp Support    Internal    External *
             P2DOS File Stamp Support              No          External *
               (compatible with CP/M Plus)

             * External modules may be placed in high protected memory or
               below the CCP in the Transient Program Area (RSX mode).

        Unless otherwise stated, all references in this manual to ZSDOS apply to  both
        ZSDOS and ZDDOS.


        1.5 Differences Between CP/M 2.2, ZRDOS and ZSDOS.

        Compatibility  with  existing  applications was one of the  primary  goals  of
        ZSDOS.   Most  programs that run under CP/M 2.2 or ZRDOS 1.x should  also  run
        under ZSDOS without any problems.  The few programs that won't run under ZSDOS
        depend on specific (unpublished) addresses in BDOS.

        A  quick  summary of the features of ZSDOS compared to ZRDOS and CP/M  2.2  is
        given below:

          FEATURE                       CP/M 2.2       ZRDOS 1.7         ZSDOS
          --------------------------------------------------------------------
          Direct get next
             console character            No              No              Yes
          Error-free interleave of
             direct and buffered
             console input calls          No              No              Yes
          Control-R supported             Yes             No              Yes+
          Auto disk relog                 No              Yes             Yes
          Warning message on auto
             disk relog                   No              Yes             Selectable
          Fast fixed disk relog           No              Yes             Selectable
          Return fixed disk login         No              Yes             Yes


        User's Manual                     - 4 -                              ZSDOS 1.0


        ZSDOS                                                             Introduction


          FEATURE                       CP/M 2.2       ZRDOS 1.7         ZSDOS
          --------------------------------------------------------------------
          Return DMA address              No              Yes             Yes
          Re-entrancy                     No              Yes             Yes
          Set BDOS error mode             No              No              Yes
          Error messages                  Cryptic         Numeric         English
          Filename displayed in
             error message                No              No              Yes
          1 gigabyte disk size            No              No              Yes
          32 megabyte file size           No              No              Yes
          Public directories              No              Yes             Selectable+
          Public files                    No              No              Selectable
          Path from DOS                   No              No              Selectable+
          Read Only Path/Public           No              No              Selectable
          Read Only Drive Vector          No              Yes             Selectable
          Wheel protected files           No              Yes             Yes
          Function 37 relogs
             default if needed            No              No              Yes
          User number in FCB              No              No              Yes
          DOS ID function call #          12              48              48
          Get file stamp                  No              No              Yes*
          Set file stamp                  No              No              Yes*
          Get time                        No              No              Yes*
          Set time                        No              No              Yes*
          Stamp create time/date          No#             No#             Yes*
          Stamp update time/date          No#             No#             Yes*
          Stamp access time/date          No#             No#             Yes*

            * Internal DateStamper (ZDDOS) or ZSDOS with External Stamp Routine.
            + ZSDOS version only.
            # No internal support for these functions, though DateStamper can be
              installed on these systems.


        1.6 Program Summaries and Usage.
        1.6 Program Summaries and Usage.
        1.6 Program Summaries and Usage.

        1.6.1 Program Summary Conventions.
        1.6.1 Program Summary Conventions.
        1.6.1 Program Summary Conventions.

        We use several established symbolic conventions in this manual to describe the
        way  ZSDOS  programs  interact with users.  For example, here  is  a  symbolic
        representation of the syntax for CP/M's built- in DIR command:

                                 DIR [d:][afn]
                                 DIR [d:][afn]

        Though the symbols seem cryptic at first, they are a consistent way of briefly
        summarizing  program  syntax.  Once you learn to read them you can tell  at  a
        glance how to enter even the most complicated commands.

        Often  you will see mixed upper and lower case within a  command  description.


        ZSDOS 1.0                         - 5 -                          User's Manual


        Introduction                                                             ZSDOS


        By  convention, if items appear in lower case, you may substitute any  of  a
        range of values for that item.  Items appearing in UPPER CASE normally  must
        be entered exactly as shown, though upper or lower case will do.

        Several  common  abbreviations are used for items such as  disk  drives,  file
        names, or date items.  Some abbreviations are:

         Abbreviation        Meaning
         ---------------------------
             d         The CP/M disk drive letters A through P.

             u or uu   CP/M user numbers 0 through 31.

              dir      A  ZCPR  directory  name, from one to  eight  characters  in
                       length.

             ufn       An  Unambiguous File Name (no "wildcard characters" such  as
                       "?" and "*" are allowed).

             afn       An Ambiguous File Name (may contain wildcards).

             yy        The last two digits of a year.

             mm        A  month expressed as a number from 1 to 12, or minutes  ex
                       pressed as a number from 0 to 59.

             dd        A day of the month expressed as a number from 1 to 31.

             hh        Hours expressed as a number from 0 to 23.

             ss        Seconds expressed as a number from 0 to 59.

        Several  special  symbols are also used in program  syntax  descriptions.   By
        convention,  square brackets ([ and ]) indicate optional command line  items.
        You  may or may not include items shown between brackets in your command,  but
        if  you do not, programs usually substitute a default value of their own.   If
        items  between  brackets are used in a command, all other  items  between  the
        brackets must also be used, unless these items are themselves bracketed.

        Using the three conventions of mixed upper and lower case, abbreviations,  and
        special  symbols,  we can fully explain the above description  of  CP/M's  DIR
        command:









        User's Manual                     - 6 -                              ZSDOS 1.0


        ZSDOS                                                             Introduction


          Component      Meaning
          ----------------------
             DIR     This portion appears in capitals, so it must be entered exactly
                    as shown.  Also, there are no brac kets, so the DIR command is
                    required.

             [d:]    The  d: stands for a legal drive letter, followed by a  colon.
                    Brackets indicate that a drive need not be specified.

             [afn]   An  Ambiguous File Name may also be entered, but must follow
                    the drive letter if a drive letter was also given.


        1.6.2 Built-in Help.

        All  of the ZSDOS programs contain built-in help screens which use  the  above
        conventions  to display helpful syntax summaries.  Help is always  invoked  by
        following the command with two slashes (//).  So for example,

                                 ZXD //

        invokes help for ZXD, the ZSDOS extended directory program.  Interactive ZSDOS
        programs  such  as  INSTALOS also contain more detailed  help  messages  which
        appear as a session progresses.


        1.6.3 Command Line Options.

        Many  ZSDOS programs may be invoked from the command line with  options  which
        command  the  programs to behave in slightly different ways.   By  convention,
        options are given after other command parameters.  For example, the P  option
        in the command

                                 ZXD *.* P

        causes the ZXD directory utility to list all files (*.*) and send its  output
        to the printer (P).  For convenience, a single slash character (/) can  often
        be used in place of leading parameters to signify that the rest of the command
        line consists of option characters.  Therefore, the command

                                 ZXD /P

        is  identical  in meaning to the previous example (see Section 4 for  more  on
        ZXD).







        ZSDOS 1.0                         - 7 -                          User's Manual


        Features                                                                 ZSDOS


        2 Features of ZSDOS.

        ZSDOS is a complete replacement for BDOS in CP/M 2.2 Z80, HD64180, Z180, Z280,
        or  NSC800 based systems as well as ZRDOS 1.x systems.  ZSDOS has several  new
        and numerous enhanced features not provided in other BDOS replacements.  ZSDOS
        is not compatible with BDOS patches, but in most cases the functions  provided
        by  these patches already exist in ZSDOS.  An overlay for Plu*Perfect's  Back-
        Grounder ii (which does patch ZSDOS) is included.

        This  section  gives a brief overview of the enhanced features  of  ZSDOS  and
        tells how these features affect both you, the user of ZSDOS, and the  applica-
        tions  programmer  writing for ZSDOS.  Some knowledge of  the  CP/M  operating
        system  is  assumed by this section. If you are unfamiliar with  some  of  the
        concepts  used, you may wish to consult one or more of the resources given  in
        the bibliography. Our glossary may also be of use in explaining unknown terms.


        2.1 Automatic Disk Relog.

        ZSDOS  automatically  logs in changed diskettes, rather than aborting  with  a
        "drive R/O" error as does CP/M 2.2.  This means that there is no need ever  to
        relog  disks with a Control-C at the command prompt--ZSDOS takes care of  this
        for you.  In addition, programs no longer need to reset disks before  creating
        or  writing to files.  This enhances operation, as disk resets are  only  per-
        formed  when  floppy diskettes are actually changed, instead of every  time  a
        program writes to disk.

        This  relogging process occurs automatically by default, and is normally  com-
        pletely safe.  However, as with CP/M, in the rare event that floppy  diskettes
        are  changed while a file is being written to, data loss may occur.   This  is
        BIOS deblocking-dependent, and no totally safe way to prevent it has yet  been
        found.   For this reason, be sure you never change a disk that has  any  write
        files  open.   To  be safe, this means only changing disks  at  the  operating
        system prompt (for example A>).

        For  even greater security, you may configure ZSDOS to print an error  message
        whenever  diskettes are changed.  If you respond to this message with  a  Con-
        trol-C,  no write operations will be performed, and ZSDOS returns you  to  the
        operating system prompt where diskettes may always be exchanged safely.


        2.2 Improved Error Handling.

        ZSDOS  contains  enhanced error handling features that are more  flexible  and
        less  cryptic than those of prior BDOS replacements.  First, ZSDOS  has  plain
        English error messages.  If ZSDOS has a problem completing a disk function,  a
        message of the following form is shown on the system console:




        User's Manual                     - 8 -                              ZSDOS 1.0


        ZSDOS                                                                 Features


                  ZSDOS error on D: Bad Sector
                                    No drive
                                    File W/P       (File Write Protected)
                                    W/P            (Write Protected)
                                    Changed
                  Call: XXX (File: FILENAME.TYP)

        The type of error is displayed with the ZSDOS function call number that caused
        the  error.   The message (File: FILENAME.TYP) appears only if  the  ZSDOS
        function refers to a file.

        Read or Write  errors (Bad Sector errors) are recoverable if the program  sup-
        ports  retries.   ZSDOS  will  not warm boot after  a  Bad Sector  or  Changed
        error unless you respond to the error by pressing Control-C.  After all  other
        errors  a  warm  boot occurs  if ZSDOS  is in its  default  error  mode.   The
        Changed  error message may be enabled or disabled at any time with the  ZSCON-
        FIG utility.

        ZSDOS will also allow an application to take over error handling from ZSDOS by
        calling  function  45.  This function sets the ZSDOS error mode,  causing  all
        errors  including  Write Protect, No Drive, and Bad Sector  errors  to  return
        control to application programs.  Applications can then take action as  neces-
        sary to prevent data loss.

        For compatibility with existing programs, function 45 in ZSDOS is  implemented
        as a proper subset of function 45 in CP/M+.  It is important that  application
        programs using this function 45 reset the error mode to the default conditions
        before  exiting.  A complete description of this function is contained in  the
        ZSDOS Programmer's Manual, available separately.

        The  normal error return codes from ZSDOS disk operations are  more  extensive
        than  those  of most BDOS replacements and are also a subset of  CP/M+  return
        codes.  Details of these return codes are given in Appendix 1.


        2.3 Archive Attribute Support.

        The File Archive bit (see Appendix 5) has been formally implemented in  ZSDOS.
        This bit is normally reset, but unlike CP/M ZSDOS forces the File Archive  bit
        to that state when the file is modified.  Several programs are available  that
        use  the Archive bit to perform "backup" operations where programs  and  files
        are copied to other disks for safety, or redundancy.  Such programs can be set
        to  copy  only files that have the Archive bit cleared, indicating  they  have
        changed since the last backup.  Programs in this category include ZFILER,  BU,
        PPIP,  and  the ZSDOS utility COPY.COM included in this package  (see  Section
        4.1).





        ZSDOS 1.0                         - 9 -                          User's Manual


        Features                                                                 ZSDOS


        2.4 Larger File and Disk Sizes.

        ZSDOS  supports larger disk and file sizes than ZRDOS (prior to version  1.9).
        Disk  size can be as large as 1,048,576 kbyte (1 gigabyte).  File size can  be
        as large as 32,768 kbyte (32 megabytes).  Random access files can be as  large
        as 262,144 logical records in length.


        2.5 Fast Fixed Disk Relog.

        A fixed disk is a disk drive from which the media can't be removed,  typically
        a  hard disk or RAM disk.  By contrast, floppy disks are known as  "removable"
        disks because they may be changed by the user.  CP/M rereads the disk directo-
        ries of all disks on a system, fixed and removable, every time a reset command
        is  issued. This is CP/M's way of protecting against data loss when  the  user
        changes  a floppy disk.  However, this aspect of CP/M also entails a  perform-
        ance loss since it takes time for BDOS to read a disk directory, especially if
        the disk is very large.

        Since fixed disks by definition cannot be changed, ZSDOS can enhance  perform-
        ance on systems with fixed disks by distinguishing between fixed and removable
        disks  and  rereading the directories of removable disks only during  a  reset
        command.   This "Fast Fixed Disk Relog" feature may be enabled or disabled  at
        any time using the ZSCONFIG utility, or may be permanently enabled with INSTA-
        LOS.

        A  possible drawback to Fast Fixed Disk Relog occurs if the BIOS supports  the
        swapping  of logical drives (e.g., TurboROM BIOS for Kaypro and  Ampro  BIOS).
        If  logical  drives  are swapped and a write file is opened,  it  is  probable
        (given Murphy's Law) that the disk will be corrupted if what ZSDOS thinks is a
        fixed  disk  is actually a floppy.  ZSDOS copes with this by  always  checking
        fixed  disks  to see if they change.  If what ZSDOS thought was a  fixed  disk
        suddenly  becomes  a floppy, ZSDOS clears the fixed disk vector,  forcing  all
        drives to be re-logged.  This should make clear the following warning:  If you
        have  a BIOS that allows you to swap disk drive logical names, never swap  one
        fixed drive with another!!!!

        Some BIOS's reload the DOS on warm boot.  If your system does this, the  "Fast
        Fixed  Disk Relog" feature of ZSDOS will have no effect.   Furthermore,  other
        parameters  changed by applications programs or utilities will revert  to  de-
        fault conditions on each Warm Boot.

        Occasionally programs must reset a drive regardless of whether it is fixed  or
        removable.   ZSDOS function 37 therefore provides a means of  overriding  Fast
        Fixed Disk Relog.  Calling function 37 with a vector of disks to reset  causes
        ZSDOS  to reset all drives contained in the vector, both fixed and  removable.
        For  safety, function 37 must be used by those few programs that swap  logical
        drives  or access the disk via BIOS (this is also required by  ZRDOS  versions
        1.5  and later).  If an application fails to do this, the ZSDOS RELOG  utility


        User's Manual                     - 10 -                              ZSDOS 1.0


        ZSDOS                                                                 Features


        may  be used following the program to manually reset all system  drives.   The
        ZRDOS DISKRST utility will also work.


        2.6 Backgrounder II Support.

        Unlike most other BDOS replacements, ZSDOS has software "hooks" which allow it
        to  run  with   Plu*Perfect's BackGrounder ii (BGii).  BGii  is  an  operating
        system  extension which allows users of hard or RAM disks to switch  back  and
        fourth  between  two applications and the command line.  Data can be  cut  and
        pasted  between applications (for example, a section of a spreadsheet  can  be
        copied into a document), printer output can be sent to a file, and much  more.
        For those who haven't tried it, BGii is a "must have" piece of software.   Try
        it  -  you'll like it!  See Section 3.3 for details on  installing  ZSDOS  for
        BackGrounder ii.


        2.7 Wheel Protection.

        Wheel  protection is an enhancement to CP/M first offered by ZRDOS, and it  is
        also  provided in ZSDOS.  If the Wheel Protect bit (f8) of a file is set,  the
        file  can't  be written to, erased, or renamed, and its attributes  cannot  be
        altered unless the Wheel byte (see Glossary) is on.  The Wheel byte is normal-
        ly  a part of ZCPR3 systems.  If you don't have a Wheel byte in  your  system,
        ZSDOS will assume Wheel is always TRUE, giving you full privileges.


        2.8 File Access Modes.

        ZSDOS  allows  files to be located in five different ways when the  Open  File
        function is called.  The ZSDOS access modes are completely under your control,
        and  may  be changed at any time with the ZSDOS utility  programs.   The  five
        access modes are:
                  1. Normal access
                  2. Path Directory access *
                  3. Path File access *
                  4. Public access
                  5. Combined access *

                * Not available under ZDDOS

        These access capabilities differ from those of all previous BDOS replacements,
        including  ZRDOS.   First,  ZSDOS  file access may be  set  to  Read  Only  or
        Read/Write  in  all five modes.  Second, access modes 3, 4, and 5 may  be  set
        individually be for each file, allowing the benefits of faster access to  some
        files without exposing all files in a directory to extended access.   Finally,
        both  Public  and Path files are treated as normal files when you  are  logged
        into the Drive/User Area in which they reside, so directory and file manipula-
        tion utilities function as you would expect.


        ZSDOS 1.0                         - 11 -                          User's Manual


        Features                                                                 ZSDOS



        Please  note  that both Public and Path are designed primarily to  locate  and
        load  application programs and their overlays.  Attempting to use Path  and/or
        Public  to find data files will work with some applications but not with  oth-
        ers.   For best results, we suggest that you log into the directory your  data
        files are in and use the Path and/or Public features only to find applications
        and their overlays.  See Section 2.8.4 for more on this.


        2.8.1 Normal Access.

        Normal access to files means that if the file is not present in the Drive/User
        area specified by you or application program, the system will report the  file
        as  not found. This mode is identical to CP/M 2.2, and is the  default  access
        mode for all files.


        2.8.2 Path Access (ZSDOS only).

        A  ZCPR3-style search path is available which will find files on other  drives
        and  in other user areas from within ZSDOS.  This differs from ZCPR's  command
        search  path, as programs such as WordStar will now find their overlays  along
        the ZSDOS Path!  Path files must be referenced by exact name.  Either a  small
        internal  DOS  path or an existing ZCPR3 path may be used by  to  find  files.
        Path  Access  can be globally disabled at any time with  ZSCONFIG.   The  Path
        itself  can be changed at any time with the ZPATH utility (see  Section  4.9).
        See Section 4 for additional details on the ZSDOS Path.

        Two  types  of  ZSDOS Path access are available.  The  first,  Path  Directory
        Access,  will  find  any file in any directory on the Path.  No  special  file
        attributes  are used to control access in this mode.  The second option,  Path
        File  Access,  requires the files accessed using the path to be  System  files
        (see Appendix 5 for more on file attributes).


        2.8.2.1 Path Directory Access (ZSDOS only).

        Path Directory Access mode most closely corresponds to the ZRDOS Public direc-
        tory  mode.  To prevent any problems with accidental file erasure,  we  highly
        recommend that you set ZSDOS Path/Public access to Read-Only when operating in
        this mode.

             ************************  W A R N I N G  ************************
             * If ZSDOS is set to allow writes down the Path (especially if  *
             * Path Directory Access is used) it is possible to erase or     *
             * overwrite files unintentionally in Drive/User areas along the *
             * Path.  This can be prevented by setting any files you don't   *
             * want changed to Read Only.  (see Section 4.3, FILEATTR)       *
             *****************************************************************


        User's Manual                     - 12 -                              ZSDOS 1.0


        ZSDOS                                                                 Features


        2.8.2.2 Path File Access (ZSDOS only).

        This  mode differs from the Path Directory Access mode in requiring  that  any
        files  found must be System files (System attribute set).  This allows you  to
        select which files in a directory will be accessed using the Path.

        While  this may at first seem less efficient than Path Directory Access  mode,
        Path  File  Access becomes important when Path Access is  set  to  Read/Write.
        Path  File  Access gives you exacting control over which files  are  affected,
        reducing  the risk of accidentally erasing or overwriting files  (see  Section
        2.8.4).


        2.8.3 Public Access.

        Public  Access was originated by Bridger Mitchell and Derek McKay of  Plu*Per-
        fect Systems, and gives programs access to Public files from any user area  on
        the same disk.  This allows you to make often used files (e.g., word processor
        overlays,  boilerplate  files, etc.) Public and then access those  files  from
        other user areas on the same disk.  A Public file is a file with bit f2 (bit 7
        of filename letter 2) set to one.  See Appendix 5 for more on file attributes.

        Since  Public Access can only find files in different user areas of  a  single
        disk  while  Path can find files on other disks, Public is more  limited  than
        Path  Access.   However, Public has advantages over Path  for  some  purposes.
        First, only Public Access is available under ZDDOS as well as ZSDOS.   Second,
        since Public Access is controlled by a file attribute on disk rather than  the
        Path in memory, only Public access is permanently associated with a given disk
        file.

        Finally, when used with caution Public can greatly improve file search speeds.
        This  is due to the fact that the Public attribute is stored directly  in  the
        disk directory.  Whereas Path must search each directory element serially even
        if  the  elements are on the same disk drive, all Public files on a  disk  are
        found immediately.  Therefore, Public is more efficient than Path when  moving
        between user areas of the same drive.  See Section 2.8.4 for more on this.

        An  important  drawback to Public Access which is not true of Path  Access  is
        that if a file is set to Public, no other files with the same name are allowed
        on  the  same disk.  Otherwise, ZSDOS will be unable  to  distinguish  between
        separate files, resulting in data loss.  To ensure against this we supply  the
        FILEATTR  utility along with ZSDOS.  FILEATTR checks for  duplicate  filenames
        when  setting files to Public, and should always be used when creating  Public
        files.

        As  with Path, ZSDOS requires that Public files be referred to by  unambiguous
        file names unless the files are in the current directory.  Unlike Path, Public
        is active on all file operations, including Search First/Search Next and Erase
        File.   Public Access can be globally disabled at any time with  the  ZSCONFIG


        ZSDOS 1.0                         - 13 -                          User's Manual


        Features                                                                 ZSDOS


        utility.

             ***********************  W A R N I N G  ************************
             * If ZSDOS is set to allow writes to Public files, it is       *
             * possible to erase or overwrite Public files unintentionally. *
             * This is best prevented by setting any Public files you don't *
             * want changed to Read Only files.                             *
             ****************************************************************


        2.8.4 Combined Access (ZSDOS only).

        ZSDOS allows you to combine Path and Public Access for maximum flexibility and
        performance.  By using the ZSDOS Path feature to find different drives and the
        Public  feature  to  find files in user areas of individual  drives,  you  can
        access  files from any directory of a hard disk from any other directory.   In
        addition,  the  combination of Path and Public often results  in  faster  file
        access  times than Path alone can provide.  However, the  greater  versatility
        achieved  by combining Path and Public comes at the expense of increased  com-
        plexity.   For  this reason, we recommend that only  experienced  ZSDOS  users
        attempt combined Path and Public access.

        The  key to combining Path and Public Access is to remember that since  Public
        files  can  be found from any user area on their drive, Path can  find  Public
        files  from other user areas on drives along the path.  For  example,  suppose
        you keep your WordStar overlays as Public files in directory A1:.  This allows
        you to use WordStar from any directory on drive A, but when you log into other
        drives, you find that WordStar complains that it can no longer find its  over-
        lays.  This is because you are no longer logged into the drive containing  the
        Public files.

        Realizing  that the Path must be used to search other disks, suppose that  you
        now  decide to employ the Path as follows.  First you turn on  Path  Directory
        Access and Public/Path write enable with the following command:

                            ZSCONFIG S,W

        This  tells  ZSDOS to find all files in directories along the Path  and  allow
        programs  to both read and write to files found by Path or Public.   Then  you
        forget that WordStar's files are in directory A1: and mistakenly enter

                            ZPATH /D=A0

        which sets the ZSDOS Path to "A0:".  Strangely, you now discover that WordStar
        finds  its  overlays and operates perfectly from all drives, even  though  the
        Path  does not go to directory A1:.  Do you understand why?  If not,  you  may
        want to try answering this question for yourself before reading further.




        User's Manual                     - 14 -                              ZSDOS 1.0


        ZSDOS                                                                 Features


        In  this example, WordStar can find its overlays at directory A1: even  though
        the  Path is set to A0: because the overlays are set to Public.  Since  Public
        files  can  be found from any user area on their drive, the ZSDOS  Path  finds
        Public files in directory A1: when it searches directory A0:.

        Once  you have mastered the subtle relationship between the ZSDOS  Public  and
        Path capabilities, you will be able to make your computer find almost any file
        from  anywhere  on  the system by using Path to search  different  drives  and
        Public to bridge user areas.  These are very powerful capabilities which, when
        used  properly,  can greatly enhance system performance.   There  are  hazards
        involved, though.

        For  example,  let's say that in the above example you now log  into  B0:  and
        issue the command

                            WS MYFILE.TXT

        instructing  WordStar  to begin editing MYFILE.TXT.  WordStar  loads  properly
        from directory B0:, using the Path and Public to find its overlays at A1:.  It
        then  loads  MYFILE.TXT and you begin editing.  But when you are  through  and
        exit WordStar you cannot find your file at directory B0:.  After much  search-
        ing and some panic, you finally discover an identical file named MYFILE.TXT at
        directory A0:!

        What  happened?   The file MYFILE.TXT did not exist at  the  logged  directory
        (B0:),  so ZSDOS automatically searched the Path (consisting of A0:)  for  MY-
        FILE.TXT.  It so happened that you had left a file named MYFILE.TXT at  direc-
        tory  A0:  when you backed up drive B earlier, so ZSDOS found  that  file  and
        loaded it for WordStar.  Later when you saved the file, ZSDOS recognized it as
        a file found with Path and saved it to its original directory, A0:.

        A better solution to the above problem would have been to use Path File Access
        rather  than Path Directory Access, and set the System as well as  the  Public
        attribute of the WordStar overlays in directory A1:.  This would have prevent-
        ed WordStar from finding MYFILE.TXT at directory A0: (unless MYFILE.TXT was  a
        System file), causing WordStar to create a new MYFILE.TXT at directory B0:.  A
        further  precaution  would have been to leave Public/Path access set  to  Read
        Only.   This would have prevented WordStar from writing to MYFILE.TXT  in  A0:
        even if MYFILE.TXT was a System file.

        Admittedly,  this  example is somewhat contrived, but it  illustrates  several
        rules to follow when combining Path and Public:

             1.  Make  sure that Public files along the Path are protected from  being
               overwritten.

             2.  Unless  it  is necessary to write to Path  files,  leave  Public/Path
               Access set to Read Only.



        ZSDOS 1.0                         - 15 -                          User's Manual


        Features                                                                 ZSDOS


             3.  Whenever  possible,  set the System attribute of Path files  and  use
               Path File Access to find them.

        We mentioned that the combination of Path and Public often results in  greater
        performance  than can be achieved with Path alone.  Due to the way  Public  is
        implemented, it is faster than Path when searching different user areas of the
        same  drive (see Section 2.8.3).  Therefore where multiple user areas  on  the
        same  drive must be checked, use Path to get to the drive and Public  to  move
        across user areas on the drive for optimal speed.


        2.9 Enhanced Write Protection.

        As  mentioned above, you may limit access to files located by Public and  Path
        to  Read  Only.  ZSDOS uses one of the reserved attributes (F7)  in  the  file
        control  block to "remember" if the file was accessed via Path or Public.   If
        Public/Path  write  has been disabled with ZSCONFIG or INSTALOS,  attempts  to
        write to or erase Path or Public files result in W/P errors.  As an additional
        safeguard, Public and Path accept only unambiguous file names.

        Enhanced  disk write protection adds another level of security to  ZSDOS  sys-
        tems.  If Read Only Vector Sustain is enabled with INSTALOS or ZSCONFIG, disks
        declared Read Only with function 28 retain this status until ZSDOS is reloaded
        from  disk (usually by depressing a reset switch or turning the  system  off).
        While  Sustain is on, functions 13 and 37 will not reset drives to Read  Write
        as with CP/M.

        If  your  system reloads BDOS every time it warm boots, the Read  Only  Vector
        Sustain will be of no use.

        In  summary,  a  File W/P error message will occur if you  attempt  to  write,
        rename or erase files under any of the following conditions:

             File (t1) or disk set to Read Only, always.
             File Wheel Protected (f8) and the Wheel is off.
             Path or Public files and Public/Path Access set to R/O.


        2.10 Re-entrancy Potential.

        Re-entrancy allows special programs such as screen-trapping and print  scroll-
        ing  packages  to interrupt BDOS calls by other programs with  BDOS  calls  of
        their own.  ZRDOS Plus was the first CP/M replacement to offer a  standardized
        means of BDOS re-entrancy.  For compatibility with existing ZRDOS IOP's, ZSDOS
        supports the same re-entrancy interface as ZRDOS Plus.  More detailed informa-
        tion  on recursive ZSDOS calls is contained in the ZSDOS Programmer's  Manual,
        available separately.




        User's Manual                     - 16 -                              ZSDOS 1.0


        ZSDOS                                                                 Features


        2.11 FCB User Number Support.

        What  ZCPR started, ZSDOS now extends!  ZCPR has long used File Control  Block
        byte  13 (also known as the S1 byte) to store the User number for a file.   To
        date,  no DOS has used this byte at all.  ZSDOS uses the S1 byte to store  the
        User  number  when a file is opened.  Subsequently, reads and writes  to  this
        file can be made without calling Set User (function 32) first.  After  opening
        a file, the S1 byte it its FCB will be set to the file's User number or'd with
        80H.

        ZSDOS applications may take advantage of this new capability to eliminate most
        Get User and Set User calls.  Load FCB+13 with the User number OR'd with  80H,
        then  call ZSDOS for the file operation. The load of FCB+13 need be done  only
        once  per file, because ZSDOS FCB User numbers are retained during  subsequent
        calls.

        Unfortunately,  a  large  number of CP/M applications  "reuse"  FCB's  without
        bothering to clear the S1 and S2 bytes (Digital Research didn't require this).
        For  backward  compatibility with these programs, some  ZSDOS  functions  only
        respect  the  FCB User byte when the ZSDOS error mode has been  set.   If  the
        error  mode is not set, ZSDOS ignores FCB User numbers during Open File,  Make
        File,  Rename File, Erase File, Change Attributes, and Search  First  function
        calls.  ZSDOS always respects the FCB User number during other function calls.
        See Function 45 in the Programmer's Manual for full details.


        2.12 File Datestamping Support.

        Both ZSDOS an ZDDOS add full file time and datestamping support to CP/M.  This
        is  immensely helpful in keeping track of large numbers of files.   The  ZSDOS
        datestamping  feature  allows the user to take advantage of a  full  range  of
        datestamp-oriented  programs, including directory utilities,  disk  cataloging
        systems,  and  file compare utilities, which use datestamps to  help  organize
        information.

        For  maximum flexibility, ZSDOS and ZDDOS offer two basic approaches  to  file
        datestamping.  ZSDOS provides DOS-level ties to implement time and date stamp-
        ing  routines,  while ZDDOS provides all datestamping routines  (except  clock
        driver)  within the DOS.  Unlike ZDDOS, ZSDOS does no actual date  stamping  -
        this is left to a set of routines located outside of the BDOS memory  segment.
        Because datestamping routines are located externally, ZSDOS is able to support
        both  CP/M Plus and DateStamper-style file datestamping.  ZDDOS, on the  other
        hand, provides only one datestamping format (the Plu*Perfect DateStamper), but
        is  easier to install and takes less memory because datestamping is  contained
        entirely  within the 3.5 kilobyte BDOS segment size specified by  Digital  Re-
        search.  See Section 3.3 for more on ZSDOS datestamping and clock modules.

        The  different  datestamping methods used by ZSDOS and ZDDOS  are  effectively
        hidden  from the application program, since both DOS's provide  programs  with


        ZSDOS 1.0                         - 17 -                          User's Manual


        Features                                                                 ZSDOS


        the  same datestamping function calls.  Get File Stamp (Function 102)  returns
        the datestamp of a specified file, while Set File Stamp (Function 103) sets  a
        specified  file's stamp.  For applications running under ZSDOS and ZDDOS,  the
        stamps returned or written by these functions are in the same "universal"  15-
        byte packed BCD format used by Plu*Perfect's DateStamper, no matter what  type
        of  stamping is actually present on disk.  Appendix 3 details the  DateStamper
        format.

        The Stamp copy method (Get Stamp, Set Stamp), function numbers, and the  date-
        stamp  formats  of ZSDOS are compatible with Bridger  Mitchell's  DosDisk(tm),
        which allows CP/M machines to use files on MS-DOS disks directly.  We  encour-
        age  others  to take advantage of this standard to easily  implement  features
        such as preserving date stamps across file copies, crunched files,  telecommu-
        nicated files, and library files.


        2.13 Run-time Configuration.

        Unlike earlier BDOS replacements, ZSDOS allows you to enable and disable  many
        features  "on  the fly" with the ZSCONFIG program.  ZSCONFIG can  be  used  in
        either  an interactive fashion or in a command driven mode that allows  recon-
        figuration of the system from command scripts.

        Features under control of ZSCONFIG are:

             o  Public file mode
             o  Use of an external path
             o  Path access mode (directory or file).
             o  Set Path or Public Access to Read/Write or Read Only
             o  Fast fixed disk relogging
             o  Read Only Vector sustain
             o  File datestamping

        ZSDOS  also  instantly  responds to changes in the Path or  changes  in  Wheel
        status.  More detailed information on ZSCONFIG usage is provided in Section  4
        of this manual.  Application programs may also alter these features operations
        of  ZSDOS  using the techniques described in the  ZSDOS  Programmer's  Manual,
        available separately.


        2.14 Other Significant Enhancements.

        Reset Drive (Function 37) corrects the bugs contained in CP/M and ZRDOS.  Most
        programmers assumed (incorrectly) that under CP/M and ZRDOS, Function 37 would
        relog the default disk if it was logged out.  CP/M and ZRDOS didn't, but ZSDOS

        Read  Console  Buffer (Function 10) contains several changes  from  CP/M  2.2.
        Control-E is no longer supported.  This was a teletype-oriented function  that


        User's Manual                     - 18 -                              ZSDOS 1.0


        ZSDOS                                                                 Features


        is  unnecessary in our world of CRT's that wrap lines.  Control-U is the  same
        as  Control-X.  The delete key has been fixed so that Rubout acts  like  Back-
        space instead of echoing the deleted character.  This was done in a  transpar-
        ent  manner  that  does not require patching of  programs  such  as  WordStar.
        Programs that communicate with the console through BIOS or through Functions 1
        or 6 (e.g. MBasic) will not benefit from this change.  Control-R (retype line)
        is implemented in ZSDOS only.  It could not be included in ZDDOS due to  space
        restrictions.

        Direct Console I/O (Function 6), now includes the CP/M Plus enhancement of Get
        Console Character if 0FDH is passed in the E register.  Get Console  Character
        causes ZSDOS to wait until a console character is entered before returning the
        character.  Get Console Character differs from normal Console Input  (Function
        1) in that no character checking (such as Control-C Warm Boot) is performed by
        ZSDOS.   Unlike  CP/M  and ZRDOS, ZSDOS' Direct Console  I/O  function  allows
        mixing function 6 calls and Get Console Character calls in a totally  reliable
        manner.  Thanks to Bridger Mitchell for suggesting this enhancement.

        Ten new function calls have been added to ZSDOS.  The first six are immediate-
        ly available to all ZSDOS/ZDDOS users.  They are:

             Function 39    - Return the Fixed Disk Login Vector
             Function 45    - Set the ZSDOS error mode
             Function 47    - Return the current DMA pointer
             Function 48    - Return the ZSDOS Version Number
             Function 100   - Get ZSDOS flags
             Function 101   - Set ZSDOS flags

        The  last four new routines are only available if a Time Stamp Module  is  in-
        stalled (see Section 3.2) or ZDDOS with a clock module is present.  These four
        additional functions are:

             Function 98    - Get Clock Time and Date
             Function 99    - Set Clock time and Date
             Function 102   - Get a File Date Stamp
             Function 103   - Write a File Date Stamp

        Functions 102 and 103 offer programmers an efficient means of preserving  file
        time  and date stamps.  These functions return unique status codes  for  effi-
        cient use with programs.  The new functions have been carefully designed to be
        compatible with other BDOS's (favoring ZRDOS where conflicts arise).

        ZSDOS supports all ZRDOS 1.7 functions calls.  Therefore all programs designed
        for ZRDOS versions 1.7 and before are also usable under ZSDOS, though many  of
        these  programs  have been superseded by more recent innovations.   Warm  Boot
        Trap  and  Reset Warm Boot Trap aren't implemented in ZRDOS 1.7, and  this  is
        also the case with ZSDOS.




        ZSDOS 1.0                         - 19 -                          User's Manual


        Installing ZSDOS                                                  INSTALLATION


        3 Installing ZSDOS.

        ZSDOS can be installed on almost any computer that currently runs CP/M 2.2  or
        ZRDOS  1.x.   In general, installing ZSDOS consists of two steps.   First  you
        must  replace  your system's current Basic Disk Operating System  (BDOS)  with
        ZSDOS or ZDDOS.  After successfully replacing the BDOS, you must also  install
        a ZDDOS clock driver or ZSDOS datestamper module and initialize your disks  if
        you  desire  file datestamping.  Finally, users of BackGrounder ii  must  also
        install BackGrounder for use with ZSDOS.

        Each of these operations is presented separately in the following sections  of
        this guide:

                  3.1 - Installing the Operating System
                  3.2 - Clock and File Stamp Installation
                  3.3 - Installing BackGrounder ii for ZSDOS

        For  best  results,  complete each phase of the  installation  process  before
        proceeding  to the following step.  Once you have a working ZSDOS system,  you
        may also wish to consult Section 3.4, Advanced Installation Techniques,  which
        describes optional ways of making ZSDOS more efficient.

        Before installing ZSDOS, prepare two freshly-formatted diskettes in accordance
        with the instructions for your computer.  Copy all programs and files from the
        ZSDOS  distribution  disks onto these work diskettes, then  remove  the  ZSDOS
        distribution disks and store them in a safe location.  Work only on copies  of
        the  master diskettes, using the masters only when it is necessary  to  regain
        unmodified, original copies of programs and data.


        3.1 Installing the Operating System.

        This section consists of the following subsections:

                  3.1.1 - Installing ZSDOS with INSTALOS
                  3.1.2 - Installing ZSDOS with NZ-COM
                  3.1.3 - Installing ZSDOS with JetLDR
                  3.1.4 - Installing ZSDOS with XBIOS

        Most  readers  need refer only to Section 3.1.1 to add ZSDOS  capabilities  to
        their existing System Generation facility.  Users of NZ-COM, JetLDR, and XBIOS
        should consult Sections 3.1.2, 3.1.3, and 3.1.4, respectively for instructions
        on installing ZSDOS with these advanced tools.


        3.1.1 Installing ZSDOS with INSTALOS.

        The ZSDOS INSTALOS program automatically overlays your computer's System Image
        file,  such as MOVCPM.COM (CP/M) or MOVZSYS.COM (ZRDOS) program,  or  Absolute


        User's Manual                     - 20 -                              ZSDOS 1.0


        INSTALLATION                                                  Installing ZSDOS


        System Model file (e.g., CPM64.COM) with ZSDOS or ZDDOS to produce a new  file
        containing  ZSDOS/ZDDOS instead of your original Basic Disk Operating  System.
        INSTALOS  also  allows  you to set the defaults of  various  ZSDOS  parameters
        during  the installation process (these parameters may also be  changed  later
        with the ZSCONFIG program).

        INSTALOS  is  designed to make the installation process as easy  as  possible.
        With  INSTALOS you may load files from all drives and user areas from  A0:  to
        P31:.  Error detection is extensive, and Section 3.1.1.3 of this manual  fully
        explains all INSTALOS error messages.  Finally, you may safely abort  INSTALOS
        at nearly all points by pressing Control-C.

        Before using INSTALOS, ensure that the following files from your ZSDOS Distri-
        bution Disk are present:

                  o  ZSDOS.ZRL (or ZDDOS.ZRL if embedded DateStamper is desired)
                  o  INSTALOS.COM

        The following files from your CP/M or ZRDOS System Disk must also be  accessi-
        ble:

                  o  MOVCPM.COM  (CP/M), MOVZSYS.COM (ZRDOS), or System  Image  file
                    for systems such as the Oneac ON!
                  o  SYSGEN.COM


        3.1.1.1 Using INSTALOS.

        To run INSTALOS, most users should simply enter

                       INSTALOS

        at the CP/M command prompt.  This tells INSTALOS that you are installing ZSDOS
        over  a System Image file, such as MOVCPM.COM or MOVZSYS.COM.  If you need  to
        install  ZSDOS  over  an  Absolute System Model  file  such  as  a  CPM59.COM,
        ZSYSTEM.MDL, or Oneac ON!  file, you should enter

                       INSTALOS /A

        to  run INSTALOS in Absolute mode.  INSTALOS now displays its  opening  banner
        and requests the name of a file as:

                       System Image file to patch (Default=MOVCPM.COM) :

        in Relocatable mode, or

                       Absolute System Model (Default=SYSTEM.MDL) :

        in Absolute mode.


        ZSDOS 1.0                         - 21 -                          User's Manual


        Installing ZSDOS                                                  INSTALLATION



        You  need not enter all of the information; INSTALOS will fill in any  missing
        items  with the default disk, user, or filename.  If you simply hit  RETURN,
        INSTALOS searches the current directory for the default System Image or  Abso-
        lute  System  Model  file (MOVCPM.COM or SYSTEM.MDL).  Here  are  some  sample
        responses:

           System Image file to patch (Default=MOVCPM.COM) : B3:
                  (Selects MOVCPM.COM on drive "B" in user area 3)

           System Image file to patch (Default=MOVCPM.COM) : 10:MOVZSYS
                  (Selects MOVZSYS.COM on the current drive, user 10)

           System Image file to patch (Default=MOVCPM.COM) : C:MOV.OLD
             (Selects MOV.OLD on drive "C", current user area)

        Once  INSTALOS  finds the requested file, it validates your  operating  system
        image.   If  the CCP, BDOS or BIOS portions of the System  Image  or  Absolute
        System  Model file are invalid, INSTALOS prints an error message and quits  at
        this point.  This may occur if an Absolute System Image was loaded but  INSTA-
        LOS  was invoked without the /A suffix.  If both methods of calling  INSTALOS
        fail,  first ensure that your system image or generation program is  operating
        properly.   If you are sure that you have a working MOVCPM, MOVZSYS, or  Abso-
        lute  Model file that INSTALOS cannot validate, you will need to contact  your
        distributor who will initiate actions to correct your problem.

        If  all  values  in your operating system file match  expected  parameters,  a
        summary  of those values is displayed.  If you specified a System  Image  file
        (e.g., MOVCPM.COM), the display should be similar to:

                  Addresses in system image (as seen under DDT) :
                       CCP : 0980H        Map @ 3610H
                       BDOS: 1180H        Map @ 3710H
                       BIOS: 1F80H        Map @ 38D0H

        The  addresses  shown  will probably differ from these, but  if  both  columns
        display  values  other than 0000H, INSTALOS will correctly  overlay  the  BDOS
        portion of the image with ZSDOS or ZDDOS.

        If you specified an Absolute System Model, the display will be similar to:

                  Addresses in system image (as seen under DDT) :
                       CCP : BC00H
                       BDOS: C400H
                       BIOS: D200H

        As above, the addresses will probably differ from those in the example,  which
        are for a 54K system.



        User's Manual                     - 22 -                              ZSDOS 1.0


        INSTALLATION                                                  Installing ZSDOS


        If no error message appears, INSTALOS has properly validated your file.  Next,
        a menu of choices appears:

                       1 - Replace CCP
                       2 - Replace DOS
                       3 - Replace BIOS
                       4 - Save and Exit
                  Enter Selection (^C Quits) : _

        Options 1 and 3 are for more advanced installations not directly connected  to
        ZSDOS.   See Section 3.4 of this manual for more on these options.  For  ZSDOS
        installation, enter a 2.  You will be asked for the name of a Disk  Operating
        System file as:

                  Name of DOS file (Default=ZSDOS.ZRL) : _

        The default file type at this point is ZRL, but operating systems in MicroSoft
        REL  format  such  as distribution versions of ZRDOS are  also  accepted.   As
        above, you may respond with a full or partial file specification and  INSTALOS
        will fill in any missing items with the default disk, user, or filename.

        Once the Disk Operating System file is found the following prompt appears:

                  ZSDOS.ZRL Size OK...overlaying BDOS..
                  Examine/Change ZSDOS parameters ([Y]/N)? : _

        At this point, INSTALOS allows you to change the startup settings of all ZSDOS
        options.  If this is your initial installation of ZSDOS, we recommend that you
        press N for "No" to bypass this step, and skip the following paragraph.

        If you enter any character other than N or n,  the default option in brackets
        ([Y] for "Yes") is assumed, and INSTALOS displays the current ZSDOS  defaults
        as:

                  1 - PUBlic Files           : YES
                  2 - Pub/Path Write Enable  : NO
                  3 - Read-Only Vector       : YES
                  4 - Fast Fixed Disk Log    : YES
                  5 - Disk Change Warning    : NO
                  6 - Path w/o System Attr   : YES
                  7 - DOS Search Path        : Disabled
                  8 - Wheel Byte Protect     : Disabled..Assumed ON
                  T - Time Routine (Clock)   : Disabled
                  A - Stamp Last Access Time : Disabled
                  C - Stamp Create Time      : Disabled
                  M - Stamp Modify Time      : Disabled
                  G - Get Date/Time Stamp    : Disabled
                  S - Set Date/Time Stamp    : Disabled
             Entry to Change ("X" if Finished) : _


        ZSDOS 1.0                         - 23 -                          User's Manual


        Installing ZSDOS                                                  INSTALLATION



        These  options  are presented in the same manner by ZSCONFIG,  and  are  fully
        described in Section 4.10 of this manual.

        Once  you  bypass the configuration step or exit by pressing X,  one  of  the
        following prompts appears depending on whether you are installing an Image  or
        Absolute Model file:

             Name to save new system (Default=MOVZSDOS.COM) : _
        or
             Name to save new system (Default=ZSSYS.MDL) : _

        Again, you may respond with a full or partial file specification and  INSTALOS
        will fill in any missing items with the default disk, user, or filename.  If a
        file  with  the same name exists, INSTALOS prompts you for a new  name.   When
        INSTALOS has a valid name, it creates your new system file and exits, display-
        ing one of the following messages:

             ..Saving MOVZSDOS.COM                  - relocatable
        or
             ..Saving ZSSYS.MDL                     - absolute


        3.1.1.2 Creating a Boot Disk.

        Once  INSTALOS  has  saved a relocatable or absolute file, you  are  ready  to
        create  a boot disk containing ZSDOS.  If you used the command INSTALOS /A  to
        install  ZSDOS over a System Image file, use SYSGEN.COM or the  equivalent  to
        write  ZSDOS directly to the system tracks of your boot disk.   Normally,  the
        proper command is

                  SYSGEN filename

        where filename is the name of the file you just created with INSTALOS.

        If  you  used the command INSTALOS to install ZSDOS over a MOVCPM  or  MOVZSYS
        program, you must first create an Absolute System Model file with the MOVZSDOS
        program  just  created.  Since the functional portion of your new  program  is
        identical to the original, use the method explained in your original MOVCPM or
        MOVZSYS documentation to generate a new system.  Typically, the command is:

                  MOVZSYS nn *
        followed by
                  SAVE xx CPMnn.COM

        Where nn is the size of the system (typically 64 for 64 kilobyte systems) and
        xx  is the size of the System Model file in pages and is typically  given  by
        the  MOVCPM  program.   Once  you  have  created  an  Absolute  System   Model
        (CPMnn.COM in the above example), use SYSGEN as above to write ZSDOS to  the


        User's Manual                     - 24 -                              ZSDOS 1.0


        INSTALLATION                                                  Installing ZSDOS


        system tracks of your boot diskette.

        After creating a ZSDOS boot disk with SYSGEN, insert it in drive A: and  press
        the reset button, or turn your computer off for a few seconds then back on  to
        bring up ZSDOS.


        3.1.1.3 INSTALOS Error Messages.

        Occasionally  INSTALOS may issue error messages.  Most errors result when  the
        files  you  specified  do not conform to INSTALOS'  expectations.   Often  the
        solution  is  to run INSTALOS again, specifying relocatable  mode  instead  of
        absolute mode or vice-versa (see Section 3.1.1.1).  Many INSTALOS errors  will
        also result from damaged files.  If INSTALOS gives errors in both absolute and
        relocatable modes, try recopying the CP/M or ZSDOS file causing the error from
        your distribution disk and running INSTALOS again.

        If all of the above fail, your CP/M operating system files may contain  infor-
        mation which INSTALOS cannot recognize.  If you have NZCOM, JetLDR, or  XBIOS,
        try  one  of the alternative installation methods described in  the  following
        sections.   If you do not have any of these programs, contact your ZSDOS  dis-
        tributor for assistance.

        The following is a summary of all INSTALOS error messages, their meanings, and
        some possible remedies.

        *** SORRY! ZSDOS will only run on Z80 type computers!

             ZSDOS  and its utilities will only operate on processors  which  execute
             the  Z80  instruction  set such as the Z80, NSC-800,  Z180  or  HD64180.
             There  is  no  fix for this condition other than to run  it  on  another
             system.

        *** Unable to open [filename.typ]

             INSTALOS  cannot  locate or open the system file you  specified.  First,
             ensure that the file is at the default or specified drive/user location.
             If you have specified the file correctly but this error persists, obtain
             a fresh copy of your system file and try again.

        *** Can't find CCP/BDOS/BIOS at standard locations !!!

             The  operating  system contained in your system file is not  a  standard
             CP/M system.  It contains a CCP which is not exactly 2 kilobytes long, a
             BDOS which is not exactly 3.5 kilobytes long, or both.  If this  message
             appears,  first ensure that your system file has not been  damaged.   If
             you  still receive this message, either use one of the  alternative  in-
             stallation  methods  listed in Sections 3.1.2 to 3.1.4 or  contact  your
             distributor.


        ZSDOS 1.0                         - 25 -                          User's Manual


        Installing ZSDOS                                                  INSTALLATION



        ++ Image Vector does not match Calculations ++

             INSTALOS  found an internal error in the image file while  installing  a
             MOVCPM-type file.  If you did not use the /A option when running INSTA-
             LOS, you may be trying to perform a relative installation on an absolute
             file.  Try running INSTALOS again with the command INSTALOS /A.

        *** Cannot find legal Relocation Bit Map

             INSTALOS was unable to locate a valid relocation bit map pattern in  the
             MOVCPM-type  file  when installing in  Relocatable  mode.   Non-standard
             relocatable  image files are the general cause for this error.  A  work-
             around  is  to generate an Absolute Model with MOVCPM  first,  then  use
             INSTALOS in Absolute (/A) mode on the Absolute Model file.

        ---Can't find [filename.typ].. reenter (Y/[N]) :

             The  replacement file (CCP, BDOS or BIOS) specified cannot  be  located.
             Ensure that the drive, user and file name are correct.

        *** Error in .REL sizing [filename.typ]
               Err Code : nn

             An error occurred during the sizing operation of INSTALOS on the REL  or
             ZRL  file.   The  REL or ZRL must be in  MicroSoft  relocatable  format.
             Named  Common  segments  other than _CCP_, _BDOS_, and  _BIOS_  are  not
             allowed, and code and data segments (if any) must not overlap.

        *** file too large to fit...

             The  size of the relocatable CCP or BDOS is greater than  the  available
             space  in  the image file (2048 bytes for the CCP, 3584  bytes  for  the
             BDOS).   This error may result if the relocatable file is not in  proper
             MicroSoft  REL  format,  or if a customized file is  used.   This  error
             should never occur with the distribution ZSDOS.ZRL file, which is exact-
             ly 3584 bytes (3.5k) long.

        *** Error opening : [filename.typ]

             INSTALOS could not open the specified relocatable file.  Ensure that you
             selected a valid REL file.

        *** Error reading : [filename.typ]

             INSTALOS detected an error when reading the specified relocatable  file.
             Try recopying the file.

        *** Error in .REL file : nn


        User's Manual                     - 26 -                              ZSDOS 1.0


        INSTALLATION                                                  Installing ZSDOS



             An  error  was  found in a relocatable input file  while  attempting  to
             replace the CCP, BDOS or BIOS portions of your operating system.  nn is
             a hexadecimal code which may assist in locating the cause of the  error.
             Contact your distributor if you need help in resolving an error of  this
             nature with the code in the error message.

        --- That file already exists.  Overwrite it (Y/[N])?

             The file you told INSTALOS to write to already exists.  If you enter "Y"
             here, INSTALOS will erase the previous copy and create a fresh file with
             this name.  Enter N to select a new name.

        *** No Directory Space for [filename.typ]

             There was not enough directory space for the output file on the selected
             disk.  Send the output file to a different drive by preceding the  file-
             name with a drive specifier, or change the disk in the output drive.

        *** Error writing file. Try again with another disk (Y/[N])? :

             This message usually results from a lack of disk space on the drive  you
             specified for output.  Change disks and enter Y to try again.



























        ZSDOS 1.0                         - 27 -                          User's Manual


        Installing with NZCOM                                             INSTALLATION


        3.1.2 Installing ZSDOS with NZCOM.

        Thanks  to  NZCOM's  ability to load operating  system  segments  dynamically,
        installing  ZSDOS  with  NZCOM is greatly simplified.  You  will  need  either
        ZSDOS.ZRL or ZDDOS.ZRL and NZCOMPAT.HEX from the ZSDOS disk and the  following
        files from your NZCOM system disk:

                            NZCOM.COM
                            NZCOM.LBR

        Installation consists simply of renaming ZSDOS.ZRL (or ZDDOS.ZRL) to NZDOS.ZRL
        and  then  replacing NZDOS.ZRL in NZCOM.LBR with this file.   Thereafter,  the
        default  version of ZSDOS will automatically load in place of ZRDOS  when  you
        boot up NZCOM.  You will probably want to set some of the ZSDOS options  right
        after  loading NZCOM; this is most easily accomplished by calling ZSCONFIG  in
        expert  mode from the NZCOM startup alias (see Section 4.10 for  ZSCONFIG  de-
        tails).

        To release the full potential of ZSDOS under NZCOM, overlay NZCOM.COM with the
        file  NZCOMPAT.HEX.  The easiest way to do this is with Ron  Fowler's  program
        MLOAD (available on most bulletin boards):

                  MLOAD NZCOM.COM,NZCOMPAT.HEX

        This  adds  some code to NZCOM that supervises Stamp and Clock  Drivers  which
        have been loaded into NZCOM's User Memory Area. NZCOMPAT.HEX causes any  ZSDOS
        or ZDDOS modules in the user memory area to follow ZSDOS or ZDDOS as it  moves
        during  system  changes, provided that the user memory area  does  not  change
        size, and that the DOS type does not change (e.g. from ZSDOS to ZDDOS).  Thus,
        NZCOMPAT.HEX  eliminates the need to run LDTIM when you load a  new  operating
        system with NZCOM (see Section 3.2 for more on LDTIM.COM).




















        User's Manual                     - 28 -                              ZSDOS 1.0


        INSTALLATION                                            Installing with JetLDR


        3.1.3 Installing ZSDOS with JetLDR.

        Bridger  Mitchell's  JetLDR utility for ZCPR may be used to  temporarily  load
        ZSDOS or ZDDOS on any ZCPR system.  To run ZSDOS, simply enter

                  JETLDR ZSDOS.ZRL

        ZSCONFIG  and LDTIM may then be used to select ZSDOS options and load a  ZSDOS
        clock  module.  This does not create a bootable system disk as does  INSTALOS;
        rather, this command must be entered each time you start your computer, either
        as part of your ZCPR STARTUP alias or from the command line.  You may, if  you
        wish, combine several steps in a multiple command line.  For example, the ZCPR
        multiple command

                  JETLDR ZSDOS.ZRL;LDTIM;ZSCONFIG

        first loads ZSDOS and its datestamper module and then runs ZSCONFIG in  inter-
        active  mode.  You may also pass parameters to ZSCONFIG from the command  line
        by using ZSCONFIG in expert mode (see Section 4.10).
































        ZSDOS 1.0                         - 29 -                          User's Manual


        Installing with XBIOS                                             INSTALLATION


        3.1.4 Installing ZSDOS with XBIOS.

        ZSDOS  may  be  easily installed in the Xsystems Software XBIOS  (tm)  on  the
        MicroMint  SB-180 or FX-180 computer without use of any tools other  than  the
        XBIOS SYSBLD program.  Only two steps are required:

             1. Copy  ZSDOS.ZRL and ZDDOS.ZRL to the drive and user where XBIOS  seg-
               ments are located.

             2. Execute  SYSBLD and change the DOS name to ZSDOS.ZRL or ZDDOS.ZRL  as
               desired.

        SYSBLD  will  create a new system image containing ZSDOS or ZDDOS.   To  load,
        simply  "XBOOT"  the new image.  ZSDOS parameters may be tailored  as  desired
        with ZSCONFIG as part of the startup script, or from within a SUBmit file.




































        User's Manual                     - 30 -                              ZSDOS 1.0


        INSTALLATION                                        Installing Clocks & Stamps


        3.2 Clock and File Stamp Installation.

        Once you have a working ZSDOS system, you will probably wish to install  ZSDOS
        for  file datestamping.  Two types of file datestamping are supported  by  the
        ZSDOS  system;  each conforms to a widely recognized standard  for  CP/M  file
        datestamping.   DateStamper-type datestamping follows the standard set by  The
        DateStamper  from Plu*Perfect Systems.  This method is the more  versatile  of
        the two, and stores stamps in a disk file named !!!TIME&.DAT.  Only DateStamp-
        er-type  stamping  stores full time and date stamps for  file  Creation,  Last
        Modification, and Last Access, and may be used with any CP/M diskette  format.
        In addition, the DateStamper protocol is supported by a mature set of compati-
        ble utilities.

        CP/M  Plus-type  datestamping  is also widely used due to  the  popularity  of
        Digital Research's CP/M Plus operating system.  CP/M Plus-type file datestamp-
        ing  uses the directory sectors to store file datestamps.  As  a  consequence,
        CP/M Plus-type datestamps may be accessed more quickly by programs, but  there
        is  no Last File Access stamp.  Finally, the range of utilities for this  type
        of stamps is more limited than for the DateStamper protocol.  Before  install-
        ing file datestamping in your system, you should decide which method suits you
        best.

        Unless you are using ZDDOS and already have a ZSDOS clock driver in memory
        (e.g., in your BIOS), you will need to generate either a file stamping module
        (for ZSDOS) or a clock driver module (for ZDDOS), and load that module to
        memory to enable file datestamping.

        This  is  where the ZSDOS programs TESTCLOK and SETUPZST  come  in.   TESTCLOK
        allows you to test the various clock drivers included with ZSDOS for  compati-
        bility with your computer's hardware.  Once you have found a compatible  clock
        driver,  use  SETUPZST to permanently select the driver.  SETUPZST is  a  very
        special  program  which does nothing but create a program of  its  own,  named
        LDTIM (which stands for LoaD TIMe).  You then run the LDTIM utility at startup
        time to load your ZSDOS clock driver and activate file datestamping.

        The  final  step  required before file datestamping actually  occurs  is  disk
        initialization.  Depending on what style of file stamping you  have  selected,
        you  will need to initialize your disks with either PUTDS.COM  or  INITDIR.COM
        before ZSDOS will put file datestamps on them.

        In  addition to PUTDS.COM or INITDIR.COM, this clock and file stamp  installa-
        tion section requires four other files.  They need not be on the same disk  or
        in  the  same  user  area, since TESTCLOK and SETUPZST  also  allow  the  same
        drive/user  (DU:) specifications described in Section 3.1.1.  The  four  addi-
        tional files are:






        ZSDOS 1.0                         - 31 -                          User's Manual


        Installing Clocks & Stamps                                        INSTALLATION


                  TESTCLOK.COM        - Clock test program
                  SETUPZST.COM        - The installation program
                  STAMPS.DAT          - Library of Stamping routines
                  CLOCKS.DAT          - Library of Clock drivers

        If this is your initial installation, run TESTCLOK first to identify and  test
        the  appropriate  clock  driver from the CLOCKS.DAT library.   Once  you  have
        identified  the  clock  driver for your computer, proceed  with  the  complete
        installation covered in Section 3.2.2.


        3.2.1 Selecting a Clock Driver.

        To test a clock from the ZSDOS library, type

                  TESTCLOK

        The program will sign on with a banner, and ask a series of questions until it
        knows what to do.  The first question is

                  Extract Clock from Library ([Y]/N) : _

        The default selection at this point is "Yes"; the "No" response is for testing
        of  user-developed clocks and is described in Section 3.4 under  Advanced  In-
        stallation Techniques.  To test one of the clocks in the library, enter a  Y.
        The location of CLOCKS.DAT will be requested:

                  Location of CLOCKS.DAT [B0:] : _

        The  default Drive/User may not be B0: but will reflect the logged  area.   If
        that  is  also where CLOCKS.DAT is located, simply enter  a  carriage  return,
        otherwise enter the location of CLOCKS.DAT, followed by a colon and a carriage
        return.  A list of over 40 available clocks will appear.  Appendix 6  provides
        details  on the current list of supported clocks.  After displaying the  list,
        TESTCLOK awaits your choice with:

                  Enter Clock Driver Selection : _

        At this point, you may select a clock driver by entering a number and pressing
        RETURN.  If the number corresponds to one of the entries, TESTCLOK loads the
        driver and displays descriptive information.

             **********************  W A R N I N G  *************************
             * Do not experiment with unknown clocks, since very unpredic-  *
             * table results can occur; the least damaging of which can be  *
             * "locking up" of the system requiring use of the reset button *
             ****************************************************************

        For example, if 41 is entered for the MicroMint SB180 "Heartbeat" clock,  the


        User's Manual                     - 32 -                              ZSDOS 1.0


        INSTALLATION                                        Installing Clocks & Stamps


        following information is shown:

                        SB180 Heartbeat         0.3

                  SB180 BIOS heartbeat clock
                  (BIOS v 2.1-2.7, Joe Wright/Hal Bower)

        For  certain clocks, TESTCLOK requests additional information.  In this  exam-
        ple, a default date for startup is needed:

                  This year (Default=01H)  : 88
                  This month (Default=01H) : 09
                  This day (Default=01H)   : 11

        This  date will be effective when the Heartbeat clock module is first  loaded,
        and  may then be set to the current date with TD.COM as described  in  Section
        4.6 of this manual.

        When  all values have been entered, TESTCLOK tests the clock driver.   If  the
        clock  driver  is  not compatible with your computer, a pause  will  occur  as
        TESTCLOK  attempts to detect a variance in the sampled time.  If no change  in
        the  time  is detected, TESTCLOK exits with an error message.   The  following
        display indicates a successful clock test:

                  Press any key to quit...

                   11 Sep 1988  14:50:18

        The clock will be updated each second and will continue to display the current
        time  until you strike a key, which causes TESTCLOK to exit.  Once you find  a
        functioning clock driver with TESTCLOK, record its menu number and proceed  to
        Section 3.2.2 below.


        3.2.2 Installing Clock and/or Stamp Method.

        To begin installation of a clock and time stamping method, call up SETUPZST by
        entering:

                  SETUPZST

        SETUPZST responds with its initial menu as:

                     1 - Generate New Time Stamp Program
                     2 - Examine/Modify Existing Time Stamp Program
                     X - Exit to DOS
                  Enter Selection : _

        For  an initial installation, to install a different type of datestamping,  or


        ZSDOS 1.0                         - 33 -                          User's Manual


        Installing Clocks & Stamps                                        INSTALLATION


        to install a different clock, select option 1.  Option 2 is  self-explanatory,
        and only changes parameters in existing programs, and is described in  Section
        3.4.3.4.

        Entering a 1 causes the following sub-menu to appear:

              Select type of Date/Time Stamping :
                   1 - DateStamper (tm)
                   2 - P2DOS (CP/M Plus compatible)
                   3 - Read DateStamper (tm), Write Both DateStamper & P2DOS
                   4 - Read P2DOS, Write Both DateStamper & P2DOS
                   5 - ZDDOS Clock interface
              Choice (^C Exits) : _

        If you are already using DateStamper or P2DOS (CP/M Plus) types of stamps, you
        will probably want to continue using your current method by selecting option 1
        or 2.  Options 3 and 4 provide the ability to convert between the two stamping
        methods  for  compatibility with both systems at once.  Because of  their  in-
        creased  capability, however, options 3 and 4 require more memory  space  than
        the  options 1 and 2.  Option 5 generates a small module which links  a  clock
        driver to ZDDOS if a suitable driver is not already present in the system BIOS
        (see Section 3.4.2 for clock specifications).

        After you have selected your type of date/time stamping, SETUPZST asks several
        more questions.  The first is:

                  Load as an RSX below the CCP? (Y/[N]) : _

        As  with INSTALOS and TESTCLOK, a Y (yes) or N (no) answer is  expected,  and
        the answer in brackets is the default response.  For an initial  installation,
        respond  with Y for Yes.  This generates a LDTIM.COM which loads  your  date-
        stamping  routine below the Console Command Processor, reducing the  available
        Transient  Program Area (TPA) by about three thousand bytes.  While costly  in
        terms  of  memory use, this method requires less knowledge on your  part  than
        more sophisticated installations, and will operate without changes on  differ-
        ent sized systems.  After you gain experience with ZSDOS and its capabilities,
        refer  to  Section  3.4 for tips on installing datestamping  modules  in  high
        memory to regain TPA space.

        Assuming  that you entered a Y above, SETUPZST now prompts you for the  loca-
        tion of the STAMPS.DAT file:

                  Location of STAMPS.DAT file [B0:]     : _

        A single carriage return tells SETUPZST to look for STAMPS.DAT in the  current
        user  area and drive.  You may also enter a drive letter, user number or  both
        in du: form, followed by a colon.  Once it finds STAMPS.DAT, SETUPZST says:




        User's Manual                     - 34 -                              ZSDOS 1.0


        INSTALLATION                                        Installing Clocks & Stamps


                  ..Extracting files from STAMPS.DAT..

                  Extract Clock from Library ([Y]/N) : _

        At  this  point, SETUPZST has created two temporary files in  preparation  for
        building  LDTIM.COM, and is requesting a clock driver with which  to  complete
        the program.  First-time users should enter any character other than an N  to
        extract  a clock driver from the library file, CLOCKS.DAT.  This results in  a
        menu  of over 40 drivers from which to choose.  This menu is identical to  the
        one  displayed by TESTCLOK.COM (Appendix 6 gives a brief description  of  each
        clock driver).  Following the list, SETUPZST asks you to:

                  Enter Clock Driver Selection : _

        If  you  have not yet run TESTCLOK, exit here with a Control-C,  turn  to  the
        beginning  of Section 3.2, and follow the procedures for running the  TESTCLOK
        program.  TESTCLOK will assist you in locating a clock which will work on your
        computer.

        If you have successfully run TESTCLOK, enter the same number you gave TESTCLOK
        here.  When SETUPZST recognizes a number corresponding to one of the  entries,
        the clock is extracted from CLOCKS.DAT and written to a third temporary  file.
        You are kept informed with the message:

                  ..Loading : <clock name> ...

        Where  <clock name> corresponds to the entry selected from the above  menu  of
        clock  drivers.  SETUPZST now links your clock module to two other files.   As
        each  file  is  linked, a descriptive message is shown.   If  no  difficulties
        occur, the following messages appear:

                  Linking Loader Module.. OK
                  Linking Time Module ... OK
                  Linking Clock Module... OK

        Following a successful linkage operation, more detailed data on your clock  is
        printed.   Using the same example driver we tested with TESTCLOK, the  display
        is:

                    SB180 Heartbeat         0.3

                  SB180 BIOS heartbeat clock
                  (BIOS v 2.1-2.7, Joe Wright/Hal Bower)

        Following this, other messages may appear depending on the selections you made
        for  the  LDTIM program.  If you chose the recommended initial  RSX  form  for
        LDTIM, the following message appears:

                  Module will load below CCP


        ZSDOS 1.0                         - 35 -                          User's Manual


        Installing Clocks & Stamps                                        INSTALLATION



        Other  messages  for installation under NZCOM and in fixed  high-  memory  are
        covered in Section 3.4.  Since an RSX module may not overwrite any portion  of
        the Console Command Processor, SETUPZST must now determine your CCP's starting
        address  in memory.  Since normal ZCPR3 and CP/M 2.2 CCPs are both  800H  (2k)
        bytes  long,  this is established as the default value for  installation,  and
        normally need not be changed.  Consult the documentation on your system if you
        think  that your CCP may be larger than this.  For most CCP's, respond to  the
        prompt with:

                  CCP Size is : 0800H.  Change it (Y/[N])? :N

        You may now enter a message of up to 40 characters to be displayed when  LDTIM
        is operated.  Suggestions for text include the time when the module was  made,
        the type of stamp and or clock, or the name of the system for which the module
        was made, but any message will do.  The prompt is:

              Opening Message : ________________________________________\

        The  usual CP/M line editing commands are active, and hitting RETURN  termi-
        nates  entry.  If you fill the line to its end, entry is terminated  automati-
        cally.

        Finally, SETUPZST asks for a name under which to save the module on disk:

                  Name of output file [Default = B0:LDTIM   .COM] : _

        As  with other prompts, enter as much information as you wish; SETUPZST  fills
        in  missing  information  with its own defaults.  If the  file  you  specified
        already  exists,  SETUPZST allows you to either replace the existing  file  or
        save your file under a different name.  When a suitable name has been entered,
        SETUPZST says:

                    ..Saving : B0: LDTIM   .COM
                   ..Erasing Work Files..
                  << System Saved.  Good Bye >>

        Congratulations--you have just created a file datestamping program  customized
        for your system!  Its operation is described in the next section.












        User's Manual                     - 36 -                              ZSDOS 1.0


        INSTALLATION                                                 The LDTIM Program


        3.2.3 The LDTIM Program.

        LDTIM.COM is the default name of the "LoaD TIMe" program created by  SETUPZST.
        Its  principal purpose is to install and optionally remove clock  drivers  and
        file  stamp routines in ZSDOS and ZDDOS.  You install clock and stamp  drivers
        by simply entering the program's name as:

                  LDTIM

        If no clock (ZSDOS and ZDDOS) or stamp driver (ZSDOS only) is already present,
        LDTIM will check various operating system parameters depending on the  instal-
        lation method selected when building the module with SETUPZST.  If all  checks
        pass,  LDTIM  loads its stamp and clock drivers to memory  and  your  extended
        ZSDOS functions are activated.

        If  LDTIM finds that another stamp module is already active, a message  asking
        if  you wish to replace the current module appears.  Responding with  a  "Yes"
        causes  the  existing stamp module to be removed and the  new  one  installed.
        Answering  with a "No" simply aborts LDTIM and leaves the existing  clock  and
        stamp modules in place and active.

        You  can also use an existing LDTIM module to list the name of  any  installed
        stamp module, and optionally remove it.  The options recognized by LDTIM are:

             //        Print a brief Help message and the Stamp Module name

             /L        List the name of any installed Stamp Module

             /R        Remove any installed Stamp and Clock Module

        The  options are specified as described in Section 1.8.  The List  and  Remove
        options  are general functions, and may be used on installed Clock  and  Stamp
        modules  from  other loader modules.  This means, for example,  that  a  LDTIM
        module made to add P2DOS stamps may be used to List or Remove Stamps added  by
        a DateStamper module version and vice versa.
















        ZSDOS 1.0                         - 37 -                          User's Manual


        Preparing Disks for DateStamper (PUTDS)                           INSTALLATION


        3.2.4 Preparing Disks for DateStamper (PUTDS).

        PUTDS  prepares floppy diskettes (or logical drives on hard disk systems)  for
        the DateStamper type of file stamps.  Without this preparation, no DateStamper
        information  can be recorded.  The preparation consists of adding the  special
        file  !!!TIME&.DAT to the disk in user area 0.  Time and date information  for
        all files on the disk is stored in this file.

              **********************  W A R N I N G  ***********************
              * Running PUTDS on a disk containing valid P2DOS file stamps *
              * will cause loss of P2DOS file stamp information for the    *
              * first physical file on the disk.  To avoid loss of P2DOS   *
              * file stamp information, run PUTDS only on disks which have *
              * no P2DOS filestamps on them, or which have no files.  We   *
              * recommend running PUTDS and INITDIR on freshly formatted   *
              * and blank disks only, where they may be safely prepared    *
              * for either or both types of file stamps.                   *
              *                                                            *
              * PUTDS Version 1.9 is included with the ZSDOS package.  Do  *
              * not use older versions of PUTDS with ZSDOS.  They may      *
              * erase !!!TIME&.DAT files without warning.                  *
              **************************************************************


        3.2.4.1 PUTDS Interactive Mode.

        The interactive mode is entered by typing:

                  PUTDS

        PUTDS  will  ask for a drive letter.  Enter a valid drive  letter  (e.g.,  B).
        PUTDS  will then ask if you want the special !!!TIME&.DAT file to be a  System
        file  (one  that will not be displayed by a normal DIR command).   We  suggest
        that you respond with an N (for No) at first so that you may easily see  which
        disks have been prepared for DateStamping.  If you wish to change this  later,
        the  FILEATTR utility described in Section 4.3 of this manual can easily  make
        !!!TIME&.DAT a System file.

        PUTDS now creates !!!TIME&.DAT as the first file on the disk, moving  existing
        files  and  names  as  necessary  to  free  the  first  disk  location.    The
        !!!TIME&.DAT  file  requires half as much disk space as your  directory.   For
        example,  the  directory on an AMPRO or SB180 40-track double-sided  disk  re-
        quires  4K  of space for 128 directory entries.  To such disks, PUTDS  adds  a
        !!!TIME&.DAT  file which uses one directory entry and 2K of data area to  hold
        Create, Last Accessed, and Last Modified dates and times for the remaining 127
        possible files.

        As  it  works,  PUTDS notifies you of any directory entries or  file  data  it
        relocates.  When one disk has been prepared for datestamping, PUTDS will  give


        User's Manual                     - 38 -                              ZSDOS 1.0


        INSTALLATION                           Preparing Disks for DateStamper (PUTDS)


        you  the chance to do another one, allowing you to do a stack of disks at  one
        time.


        3.2.4.2 PUTDS Expert Mode.

        PUTDS may also be run in command line mode.  The usage is shown by typing

                  PUTDS //

        There  are three options: -D for Drive, -V for a Verbose onscreen listing  of
        statistics, and -S to make !!!TIME&.DAT a System file.  Command line mode  is
        most  useful  when you want to run PUTDS from within command scripts  such  as
        SUBMIT files or when preparing only a single disk for DateStamper use.





































        ZSDOS 1.0                         - 39 -                          User's Manual


        Preparing Disks for P2DOS Stamps                                  INSTALLATION


        3.2.5 Preparing Disks for P2DOS Stamps (INITDIR).

        INITDIR prepares disks for P2DOS-type file stamping.  It does this by  replac-
        ing  every  fourth entry in the disk's directory tracks with a time  and  date
        entry  which is prefixed with a special character (hexadecimal 21).   Existing
        directory  entries in the fourth position are then shifted to the first  entry
        in  the next logical sector and the initialized directory sectors are  written
        back to the disk.

              **********************  W A R N I N G  ***********************
              * INITDIR should not be run on disks containing valid Date-  *
              * Stamper file stamps since it rearranges directory data.    *
              * To install both DateStamper and P2DOS stamping on one      *
              * disk, start with a blank disk, or one with no datestamps   *
              * of either type and run both PUTDS and INITDIR on the disk  *
              * before using it.  Doing otherwise will invalidate any      *
              * existing stamp data.                                       *
              **************************************************************


        3.2.5.1 INITDIR Interactive Mode.

        Interactive mode is entered by typing

                  INITDIR

        Like PUTDS, INITDIR will ask for a drive letter.  Type the letter of the drive
        containing the disk to initialize for P2DOS file stamping.  If the DateStamper
        !!!TIME&.DAT  file is detected on the disk, INITDIR issues a warning and  asks
        if you want to proceed or not (see Initdir Error Messages, below).


        3.2.5.2 INITDIR Expert Mode.

        INITDIR  may also be run in command line mode by entering INITDIR followed  by
        a  space  and a letter corresponding to the drive you want to  initialize  for
        P2DOS stamping.  A brief usage description for INITDIR is shown by typing

                  INITDIR //


        3.2.5.3 INITDIR Error Messages.

        Directory already initialized

             The selected disk is already prepared for P2DOS stamps.

        Illegal drive name



        User's Manual                     - 40 -                              ZSDOS 1.0


        INSTALLATION                        Preparing Disks for P2DOS Stamps (INITDIR)


             The character entered was not in the range of "A" thru "P".

        Not enough directory space on disk

             The  directory on the selected disk is more than three-fourths full,  so
             not enough space is available to support P2DOS file stamping.

        Directory read error

             An error was encountered in reading the disk directory.

        Directory write error

             An  error  occurred while writing the initialized  directory.   It  will
             probably result in loss of file data.

        --> DateStamper !!!TIME&.DAT File Found <--
                Proceed anyway (Y/[N]) :

             The special DateStamper !!!TIME&.DAT file exists on the disk.  If  other
             files are also on the disk, most of the DateStamper time and date infor-
             mation will be lost.  On freshly-formatted or empty disks, no DateStamp-
             er  file  stamp data exists, so it is safe to answer with a Y  and  ini-
             tialize the disk.



























        ZSDOS 1.0                         - 41 -                          User's Manual


        Installing BackGrounder ii                                        INSTALLATION


        3.3 Installing BackGrounder II for ZSDOS.

             ****************************************************************
             * Please  note the Version number of BGii you are  installing. *
             * Currently, ZSDOS provides an overlay for LOADBG V1.03, which *
             * is  distributed with  BGii V1.13.   If you have a  different *
             * version  of  BGii,  please check  with  Plu*Perfect  Systems *
             * before  using this overlay.   Newer versions of LOADBG  will *
             * already  have the data for ZSDOS installed, so this  section *
             * should be skipped.                                           *
             ****************************************************************

        ZSDOS  and ZDDOS may be used with  Plu*Perfect Systems' BackGrounder  ii  with
        the  simple addition of a patch provided in hexadecimal form  as  BGPATCH.HEX.
        This  file  will add the necessary data to permit BGii to identify  ZSDOS  and
        ZDDOS by replacing the values originally used for Versions 1.3 and 1.2(HEX) of
        ZRDOS.   After  applying BGPATCH to LOADBG, ZRDOS Versions 1.1,  1.2(BCD)  and
        1.7, as well as CP/M 2.2 will still be recognized, along with ZSDOS and ZDDOS.

        The  patch may be applied in one of two ways.  The first  way is by using  Ron
        Fowler's MLOAD.COM and is by  far  the easiest of the two methods.   MLOAD.COM
        is  available  on numerous  bulletin boards.   The second method uses  DDT  or
        comparable debugger to patch the file.

             ****************************************************************
             * Please replace your PUTBG.COM with the version supplied with *
             * ZSDOS.  Older versions of PUTBG may not work properly on     *
             * hard disks or RAM disks under ZSDOS or ZRDOS.                *
             ****************************************************************


        3.3.1 BackGrounder Installation using MLOAD.COM.

        The first step is to copy the file BGPATCH.HEX from your working copies of the
        distribution  into  the  same  user  area  and  drive  as  LOADBG.COM.    With
        MLOAD.COM  accessible, enter the command:

                  MLOAD LOADBGZ.COM=LOADBG.COM,BGPATCH.HEX

        The program LOADBGZ will contain the information needed to confirm that  ZSDOS
        is  an authorized DOS for BackGrounder ii.  You may now use it instead of  the
        original LOADBG to start BackGrounder.


        3.3.2 BackGrounder Installation using DDT.COM.

        As  above, make sure LOADBG.COM and BGPATCH.HEX are in the same disk and  user
        area.  Then invoke DDT as:



        User's Manual                     - 42 -                              ZSDOS 1.0


        INSTALLATION                                        Installing BackGrounder ii


                  DDT LOADBG.COM

        DDT will now display some memory statistics:

                  DDT VERS 2.2
                  NEXT  PC
                  3C00 0100
                  -

        Now, tell DDT to read in BGPATCH.HEX as follows:

                  -IBGPATCH.HEX
                  -R

        DDT  will read in BGPATCH.HEX, adding the data necessary for LOADBG to  recog-
        nize ZSDOS and ZDDOS.  Next, exit DDT with:

                  -G0

        Finally, save the resulting image to a file with the command:

                  SAVE 59 LOADBGZ.COM

        From  now on, you should use LOADBGZ instead of the original LOADBG  to  start
        BackGrounder ii.


























        ZSDOS 1.0                         - 43 -                          User's Manual


        Advanced Installation                                             INSTALLATION


        3.4 Advanced Installation Techniques.

        3.4.1 Replacing CCP and BIOS with INSTALOS.

        In  addition  to  replacing the BDOS portion of a system  file,  INSTALOS  can
        replace  the  file's Console Command Processor (CCP) and  Basic  Input  Output
        System (BIOS) portions.  To replace these segments, first use INSTALOS to load
        your  system file as described in Section 3.1.1.1, then choose option  1  from
        INSTALOS' main menu to replace your CCP or option 3 to replace your BIOS.

        3.4.1.1 Replacing the CCP.

        At  this writing, INSTALOS is not able to install the new ZCPR 3.4 CCP due  to
        the extensive use of Named Common addressing in ZCPR 3.4.  Other CCP  replace-
        ments  such as previous versions of ZCPR are handled nicely provided that  the
        replacement CCP is:

                 o  No larger than 2048 (2K) bytes combined CSEG and DSEG.

                 o  In standard MicroSoft REL form ORGed at 0.

        Error  messages  will be displayed and the operation aborted if any  of  these
        tests fails (see Section 3.1.1.3).


        3.4.1.2 Replacing the BIOS.

        Option  3 of INSTALOS' main menu allows you to replace the BIOS segment  of  a
        system file.  The only known limitations on the use of INSTALOS to replace the
        BIOS segment are:

                  o  The  image with the new BIOS (combined CSEG and DSEG) must  fit
                    in available memory.

                  o  The  image cannot contain any Named Commons other than  _BIOS_,
                    _CCP_ and _DOS_.

                  o  The  BIOS file must be in standard MicroSoft REL form ORGed  at
                    0.

        If you are replacing the BIOS of a relocatable image file such as the original
        CP/M  2.2 MOVCPM.COM, a message may be issued that the BIOS Bit Map  is  being
        relocated  up or down.  If the relocation is in a positive direction, the  new
        BIOS requires more space than available in the original image.  If  relocation
        occurs  in  a  negative direction, the replacement BIOS is  smaller  than  the
        available  space in the image, and is being relocated to minimize the  storage
        space  required  on disk for the output file.  In both cases, the  message  is
        strictly informative and does not represent a problem.



        User's Manual                     - 44 -                              ZSDOS 1.0


        INSTALLATION                                             Advanced Installation


        3.4.2 User-Developed Clock Drivers.

        If  none of the clock drivers supplied with ZSDOS works with your  system  and
        you have experience with assembly language programming, you may wish to  write
        your own custom clock driver.  In addition to testing and using clock  modules
        from  CLOCKS.DAT, both TESTCLOK and SETUPZST can read Microsoft  format  relo-
        catable files containing user-developed clock drivers.  You may command either
        program to load a user-developed clock driver by entering an N at the  prompt
        which  asks if a library clock is to be used.  TESTCLOK or SETUPZST  will  re-
        quest  your  clock driver file's full name and type, preceded by  an  optional
        drive/user  specification  (e.g.,  C6:NEWCLK.REL), and will  then  test  or
        install  your  user-developed clock in the same manner as the  library  clocks
        described in Sections 3.2.1 and 3.2.2.

        ZSDOS  clock  drivers may use registers BC and D without restoring  them,  but
        must  preserve the Z80's alternate and index registers.  Other registers  must
        be used exactly as follows:

             Enter:     C = 00H to Read the Clock, 01H to Set the Clock
                       DE = Address of a 6-byte field to Receive or from which to Set
                          time  in DateStamper format (BCD digits as: YY MM DD  HH
                          MM SS).  24-hour operation is assumed.

             Exit :     A = 01H for a successful operation,
                           0FFH for a failure of any sort (Can't set, etc.)
                  When Reading the Clock:
                        E = Original contents of Entry value of DE plus 5
                       HL = Entry value of DE plus 5 (Seconds field)

        Please note that the above clock driver specifications are unique to ZSDOS and
        differ from drivers used by The DateStamper and CP/M Plus systems.  A template
        file,  USERCLOK.TEM, is included on the ZSDOS distribution disk as an aid  for
        users who wish to write their own ZSDOS clock drivers.


        3.4.3 Customizing Stamp Installation with SETUPZST.

        3.4.3.1 The Different Stamp Modules.

        When  you  selected  Generate New Time Stamp  Program  from  SETUPZST's
        initial  menu (see Section 3.2.2), you were presented with the  following  op-
        tions:









        ZSDOS 1.0                         - 45 -                          User's Manual


        Advanced Installation                                             INSTALLATION


                  Select type of Date/Time Stamping :
                       1 - DateStamper (tm)
                       2 - P2DOS (CP/M Plus compatible)
                       3 - Read DateStamper (tm), Write Both DateStamper & P2DOS
                       4 - Read P2DOS, Write Both DateStamper & P2DOS
                       5 - ZDDOS Clock interface
                  Choice (^C Exits) : _

        We  recommended  choosing option 1 or 2 for your initial  ZSDOS  installation.
        The  memory  space required by options 1 and 2 depends on the  specific  clock
        selected,  but  is  typically about 768 bytes (300H) when  installed  in  high
        memory.

        Options  3  and 4 will read a single type of stamp data, but  will  write  the
        stamp data to disk in both DateStamper and P2DOS methods if the target disk is
        prepared  for  both.  These options should be used in systems where  a  single
        primary  Date/Time  stamping method is used, but where output  disks  must  be
        produced for systems using the other stamping method.

        Choosing  option 3 or 4 adds capabilities to your system, but at the  cost  of
        increased memory usage.  Typical stamp module sizes, depending on the type  of
        clock in your computer, are 1 to 1.25K for the "Read DateStamper, Write  Both"
        capability,  and 1.25 to 1.5K for "Read P2DOS, Write Both".  If you only  need
        this  capability occasionally, we recommend building your LDTIM program as  an
        RSX which loads below the CCP (see Section 3.2.2).  For permanent or long-term
        use, you will probably want to install the module in high-memory to regain the
        TPA space lost in an RSX installation.

        Option 5, the ZDDOS clock interface, typically requires 348 to 512  (180-200H)
        bytes.   Again,  the  exact size depends on your computer's  clock.   See  the
        following section for a way of determining exact memory requirements for stamp
        and clock modules.


        3.4.3.2 Installing a Stamp Module in High Memory.

        The  basic requirement for high-memory installations of stamping modules is  a
        protected  space which is not affected by programs or parts of  the  operating
        system.   If you are using NZCOM, please skip to Section 3.4.3.3.  If you  are
        not  using  NZCOM, there are three basic ways of freeing  space  in  protected
        memory.  Which of these methods are available depends in part on what type  of
        system software you presently use.  Scan the following options to decide which
        is most appropriate for you:

             Option A: "Vanilla" CP/M 2.2. Systems.  Use the modified MOVCPM  program
             generated by INSTALOS (see Section 3.1.1) to create a system one or  two
             K  smaller than your current CP/M system.  The additional free space  at
             the  top  of memory will then be available for use by  the  time  module
             produced by  SETUPZST.


        User's Manual                     - 46 -                              ZSDOS 1.0


        INSTALLATION                                             Advanced Installation



             Option B: ZCPR 3.x. Systems.  If you have IOP space defined in your ZCPR
             Environment  but  are not loading anything other than a dummy  IOP  jump
             table, use the free space to host ZSDOS's stamping module.  Examine your
             system  documentation to determine available IOP space, and  deduct  the
             space actually used by the dummy IOP.  Many ZCPR installations  allocate
             1.5K to the IOP, but use fewer than 128 bytes (1/8K) for the dummy  IOP.
             The  remaining IOP space is available for file stamping.  Just  remember
             to  execute  the LDTIM program produced by SETUPZST after  loading  your
             dummy IOP.

             Option  C: ZCPR 3.x. Systems.  Determine the lowest memory  required  by
             the  ZCPR3  dedicated modules from your system documentation.   Use  the
             system generation program produced by INSTALOS to generate a system  one
             or  two K smaller, and place your stamping module in the  vacated  space
             just below the base of the lowest dedicated ZCPR3 module.

        When  you  have selected a method of using or reserving high memory,  run  SE-
        TUPZST  as  described in Section 3.2.2, selecting option 1,  Generate  New
        Time  Stamp Program.  Select the type of Stamping method you wish  to  in-
        stall,  and  answer "No" to the prompt Load as an RSX  below  the  CCP?.
        Since the installation will now place the module in high memory, SETUPZST asks
        a new question:

                  Install in NZ-COM User Space? ([Y]/N) : _

        You  are not installing for NZCOM, so respond with an N.   Installation  will
        proceed  as  in Section 3.2.2 with clock selection and linkage  of  the  three
        modules.  Instead of printing the message that the module will be loaded below
        the  CCP, however, SETUPZST displays the addresses at which the Stamp  Routine
        and Clock Driver will load:

                  Stamp Routine : E200-E44FH
                  Clock Driver  : E450-E4DFH
                  Change Load Address (Y/[N])? : _

        If these addresses do not correspond with the range available in your  system,
        respond  with a Y and enter your own starting address. You may  reenter  this
        address as many times as necessary to "fine tune" the location.  For  example,
        if  you  are placing the module in your IOP space, you will want to  move  the
        location as close as possible to the high end of available IOP memory just  in
        case  some other program alters your IOP.  So if your IOP space  extends  from
        EC00H  to F1FFH, stamp module addresses should be adjusted so that the  ending
        address for the Clock Driver is F1FFH, for example:

                  Stamp Routine : EF20-F16FH
                  Clock Driver  : F170-F1FFH

        When satisfied with your addresses, answer N to the prompt.  Installation now


        ZSDOS 1.0                         - 47 -                          User's Manual


        Advanced Installation                                             INSTALLATION


        continues as described in Section 3.2.2.


        3.4.3.3 Installing Stamp Module in NZCOM User Space.

        NZCOM features a user-defined memory space in protected memory which is  ideal
        for adding a stamp module.  To use this feature, you must define the necessary
        space  requirements with the NZCOM program MKZCM.  If you intend to  use  only
        the  ZDDOS  clock driver, four records (512 bytes) should  be  adequate.   Six
        records  (768  bytes)  should be sufficient for the  single  stamping  methods
        (DateStamper only or P2DOS only), while the larger mixed methods will probably
        need nine to fourteen records (1.12 to 1.5K).  If too few records are allocat-
        ed,  your  ZSDOS LDTIM program will alert you and tell you how much  space  to
        allocate.  Now execute SETUPZST and answer the menu questions as described  in
        Section 3.2.2 until you see the following prompt:

                  Install in NZ-COM User Space? ([Y]/N) : _

        Enter a Y since you have chosen to install the stamps for NZCOM. Installation
        will proceed as described in Section 3.2.2 with clock selection and linkage of
        the  three modules.  Instead of printing the message that the module  will  be
        loaded below the CCP, however, SETUPZST will say:

                  Module will load NZ-COM User Space.  Change? (Y/[N])

        If  you answer "Yes" (meaning you no longer desire to install for  NZCOM)  SE-
        TUPZST  reverts  to a normal high-memory installation.  A "No"  response  here
        causes  SETUPZST to show how much NZCOM User space is required by  your  LDTIM
        program.   The  following  display was produced on an  SB180  using  the  Read
        DateStamper,  Write  both  DateStamper  and P2DOS  option  and  the  ETS180IO+
        clock driver:

                  NZCOM user area size (in bytes) must be 042FH

        In order to properly load this module with NZCOM a user space of at least nine
        128-byte records (480H) would be required.


        3.4.3.4 Changing an existing LDTIM.COM program.

        Option  2  in  the initial SETUPZST menu allows you to examine  or  modify  an
        existing LDTIM program.  Selecting this option causes SETUPZST to ask you  for
        the name of a program to load.  After loading your program, SETUPZST  displays
        prompts based on its type.  For RSX loaders, only the opening text banner  can
        be changed.  For NZCOM and high-memory loaders, additional choices are  avail-
        able:





        User's Manual                     - 48 -                              ZSDOS 1.0


        INSTALLATION                                             Advanced Installation


             NZCOM          a) Change to normal high-memory module
                               (fall through to high-memory choices)
                            b) Change opening text banner

             high-memory    a) Change load addresses
                            b) Change opening text banner

        When the changes are complete, you may save the modified program as  described
        in Section 3.2.2.


        3.4.4 Tips on Using ZSCONFIG with Clocks/Stamps.

        3.4.4.1 Patching in an Existing Clock.

        ZSCONFIG, described fully in Section 4.10, can be used to  link a clock driver
        already  in memory (e.g., a BIOS driver routine) to ZSDOS.  The only  item  of
        information  necessary is the starting address of the routine.  Once you  have
        done this, however, normal installation of a Stamp routine with LDTIM.COM will
        not be possible, so this method of installing a clock driver is best used with
        ZDDOS, which needs no Stamp support code, or with ZSDOS if no Date/Time stamps
        are installed.


        3.4.4.2 Speed Tip.

        Several  methods  may  be employed by users of the DateStamper  type  of  file
        stamping to speed disk performance.  DateStamper-type file stamping  maintains
        a  Last  File Access record.  This is often very useful in  determining  which
        files were used during a given period.  Last File Access stamping does, howev-
        er,  incur  a slight performance penalty since ZSDOS must write the  time  and
        date to its special !!!TIME&.DAT file each time a file is used.  Under  ZSDOS,
        you have two basic ways of reducing the Last File Access penalty.

        First,  you  may use FILEATTR or DATSWEEP to turn on the No Access  Stamp  at-
        tributes  of  frequently used files, such as utility programs.   The  programs
        will  load  from disk slightly faster, and since they are frequently  used,  a
        Last Access record for these files is usually of little interest.  See Section
        4 for more on FILEATTR and DATSWEEP.  This method of disabling the Last Access
        record,  however,  cannot be used for files created within a  running  program
        such as temporary files created within a word processor.

        It  is  also possible to disable Last Access stamping altogether to  speed  up
        disk accesses when performance is at a premium.  Disabling may be accomplished
        during installation of ZDDOS with INSTALOS, or at any time on a running  ZSDOS
        or  ZDDOS system with ZSCONFIG.  This procedure allows all files to be  loaded
        more  rapidly  since  the DOS  no longer needs to maintain  Last  File  Access
        records.  See Section 4.10 for details on using ZSCONFIG.



        ZSDOS 1.0                         - 49 -                          User's Manual


        Advanced Installation                                             INSTALLATION


        4 ZSDOS Utilities.

        This  section of your ZSDOS User's Manual describes the various programs  dis-
        tributed  with ZSDOS which are not directly concerned with installation.   The
        programs  range from fairly simple command-line driven utilities to  sophisti-
        cated  file  and  environment management applications.  All  of  the  programs
        interact closely with features of the ZSDOS operating system to provide  serv-
        ices not available under straight CP/M.  Eleven subsections detail the  utili-
        ties in alphabetical order.  They are:

             o  COPY, a file copying utility which copies file dates, displays tempo-
               ral file relationships, and supports file archiving

             o DATSWEEP,  a full-screen file manager which displays, prints,  copies,
               erases, and renames files and groups of files, and displays and  acts
               on file datestamps and attributes

             o FILEATTR, a utility which allows the user to quickly and safely set or
               reset any or all file attributes on specified groups of files

             o FILEDATE,  a disk directory program with a rich command  syntax  which
               allows sorting and selecting files by date as well as name

             o RELOG,  a  custodial utility for use after programs which  bypass  the
               BDOS during disk function calls

             o TD, a small utility to set and read your system's clock

             o ZCAL,  another small program which displays a calendar of the  current
               or selected month

             o ZCFG, a menu-driven configuration utility which allows you to set  the
               default options and other characteristics of many ZSDOS utilities

             o ZPATH,  which sets your BDOS Search Path and/or ZCPR Command Path,  if
               present

             o ZSCONFIG, an interactive or command-line driven program which  dynami-
               cally regulates many of the features of a running ZSDOS system

             o ZXD, an extended directory utility which lists three popular forms  of
               file datestamps to screen or printer.

        Many  of the above ZSDOS programs may be customized to suit your  tastes  with
        ZCNFG which is described in Section 4.8.  With the exception of DATSWEEP,  all
        are ready to use as distributed.  DATSWEEP must be installed for your terminal
        using the special SETTERM utility before use.




        User's Manual                     - 50 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                              COPY - Copy Files


        4.1 COPY. - Copy Files.

        COPY.COM  is a file copy program derived from the ZCPR3 MCOPY tool written  by
        Richard Conn.  It blends the many modifications by Bruce Morgen and others  in
        MCOPY48  with  further enhancements in the spirit of  the  ZSDOS  environment.
        File  date stamping is supported for the full range of  stamping  capabilities
        provided  by  ZSDOS.  A user-definable "Exclusion list" is  now  supported  to
        prevent copying of specific files or file groups, and two options to ease file
        backups with the Archive bit have been added.  COPY is also more user-friendly
        than MCOPY, and provides increased error checking and user feedback.

        COPY  only  operates in the Command Line Driven or Expert mode.  As  with  the
        other  utilities provided with ZSDOS, COPY displays a short Help message  when
        invoked  with a double-slash argument as explained in Section 1.6.   The  Help
        message  also  includes a list of available options along with the  effect  of
        each when included as command line arguments.

        While  COPY is ready to run without special installation procedures,  you  may
        wish to change the default parameters to customize it to your operating style.
        In this manner, you can minimize the number of keystrokes required to  perform
        routine  operations by avoiding passing many options on the command line.   To
        set  default  conditions,  insure that COPY.COM, COPY.CFG  and  ZCNFG.COM  and
        available to the system, and execute ZCNFG as described in Section 4.8.


        4.1.1 Using COPY.

        The  basic  syntax for COPY follows the original CP/M format  by  listing  the
        destination  drive/user,  an equal sign, then the source drive/user  and  file
        name.  An alternate syntax added by Bruce Morgen in MCOPY48 permits specifying
        transfers  in  the "Source-Destination" form popularized in MS-DOS.   In  this
        alternate  form, you first enter the source drive/user and filename, a  space,
        and then the destination drive/user and optional filename.  Using the symbolo-
        gy discussed in Section 1.6, the syntax is summarized as:

                  COPY dir:[fn.ft]=[dir:]fn.ft,... [/]options
             or
                  COPY [dir:]fn.ft dir:,... [/]options

        If  no  destination  filename is specified, a number of unique  files  may  be
        copied  to  a specified directory by catenating source  files  separated  with
        commas.  Where a destination file name is specified, both source and  destina-
        tion  file names and types must be free of wildcard characters.  This  popular
        "Rename"  feature  in a copy was a much requested addition to the  ZSDOS  copy
        utility.   Options  to tailor the actions of COPY may be  appended  after  the
        source file list.

        Yet another method of transferring files was retained from the original  MCOPY
        roots.   If no destination drive/user is recognized in the command line  argu-


        ZSDOS 1.0                         - 51 -                          User's Manual


        COPY - Copy Files                                              ZSDOS UTILITIES


        ments,  all referenced files will be copied to a default  drive/user  location
        which  is  contained in the header portion of COPY.  The default  location  is
        Drive B, User 0 in the distribution program, but may be changed by the Config-
        uration program described in Section 4.1.3 below.  If options are desired with
        this  syntax,  the slash option delimiter is Mandatory.  The syntax  for  this
        method is summarized as:

                  COPY [dir:]fn.ft,... /options

        Various  configuration options detailed later allow you to customize  COPY  to
        suit your operating style.  For example, status displays of each operation may
        be  suppressed  for a "Quiet" mode, verification that copied files  match  the
        original  (or  at least produce the same error check code) may be  enabled  or
        disabled, etc.  If a method of Date and Time Stamping is active under ZSDOS or
        ZDDOS,  the original Stamp information will be transferred to the  destination
        file.  The following examples in the "Verbose" method of operation will  serve
        to  illustrate by copying a file from the current Drive and User area  to  the
        same drive, User 10.

                 COPY ZXD.COM 10:

              COPY  Version 1.0 (for ZSDOS)
              Copying C2:ZXD     .COM to C10:
               -> ZXD     .COM..Ok (Dated)  Verify..Ok
               0 Errors

        In  this case, No file of the same name existed in the destination  area,  but
        some  form  of File Stamping was active, so the source Stamp  information  was
        successfully  transferred  to the destination.  Performing the  same  activity
        with the other syntax now produces:

                  COPY 10:=ZXD.COM

               COPY  Version 1.0 (for ZSDOS)
               Copying C2:ZXD     .COM to C10:
                -> ZXD     .COM  Replace Same (Y/N)? Y..Ok (Dated)  Verify..Ok
                0 Errors

        Since COPY now detected a destination file of the same name, and File Stamping
        as  well  as  duplicate checking (another option flag) were  in  effect,  COPY
        compared  the  Last  Modified dates for both  source  and  destination  files.
        Finding  a match, the prompt "Replace Same" was issued, and received  a  (Y)es
        response  to copy the file anyway.  Other responses, depending on the  results
        of  the  date comparison are "Replace Older", which means that an  older  file
        exists on the destination, and "Replace Newer" which means that you are trying
        to replace a newer file on the destination with an older version.

        A similar error check is made if a duplicate file is found to determine if the
        file was found with the PUBlic Attribute bit.  If a Public file is detected on


        User's Manual                     - 52 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                              COPY - Copy Files


        the  destination drive, a warning to the effect is printed.  Answering Yes  to
        replacement  at this point will result in a Read-Only error unless  ZSDOS  has
        been set to permit writes to Public Files (See Section 2.8.3).

        As  stated earlier, COPY has no Interactive mode of operation per se, but  the
        "Inspect"  option provides a means to select files for transfer in a  somewhat
        interactive  manner.  In this mode, all files selected by the file  specifica-
        tion  in the command line are displayed, one at a time, and you may enter  "Y"
        to  copy the file, "N" to Not copy the file, or "S" to forget the rest of  the
        selected files.  An example copying all files from the current Drive and  User
        to User 10 is:

                     COPY *.* 10: /I

                  COPY  Version 1.0 (for ZSDOS)
                  Copying C2:????????.??? to C10:
                   Inspect -- Yes, No (def), Skip Rest
                  BU16    .COM - (Y/N/S)? Y
                  BU16    .MZC - (Y/N/S)? N
                  COPY    .COM - (Y/N/S)? Y
                  COPY    .Z80 - (Y/N/S)? S

        If  operating in the Verbose mode, status on each file will be printed as  the
        copies progress.


        4.1.2 COPY Options.

        Several option characters are available to customize COPY operations.  Most of
        these options may be set as default conditions using the Configuration Utility
        described in Section 4.1.3 below.  Alternatively, you may enter any of them on
        the  command line to alter the functions of a single operation.   The  command
        line option characters are as follows:

                       A - Archive
                       E - Test for File Existence
                       I - Inspect Files
                       M - Multiple Copy
                       N - No replacement if File exists
                       Q - Quiet
                       S - exclude System Files
                       V - Verify
                       X - Archive Only if File exists

        From  the brief syntax summaries listed above in Section 4.1.1, you will  note
        that  the standard option delimiter, a slash, is optional if both  source  and
        destination specifications are listed on the command line.  If only one speci-
        fication  is  listed, is when copying to the default drive, the  delimiter  is
        Mandatory.  Each option is described in the following paragraphs.


        ZSDOS 1.0                         - 53 -                          User's Manual


        COPY - Copy Files                                              ZSDOS UTILITIES



        4.1.2.1 Archive Option.

        When  this option is active either by specifying in the command line or  as  a
        default, only files which do Not have their Archive Attribute set (See  Appen-
        dix  5)  will be selected.  After the selected files are copied,  the  Archive
        Attribute  on the Source file will be Set to indicate that the file  has  been
        "Archived".   When  used in conjunction with the default drive and  user  set-
        tings,  the A option provides a simple method of archiving files in a  single
        user area.  The default for this option is Off, for No control of selection by
        the Archive Attribute.  Adding the A option to the command line reverses  the
        configured setting.

        It  should be noted that this option is incompatible with the  "M"  (Multiple
        Copy) option.  The first copy operation will set the Archive bits on  selected
        files, and they will not appear in subsequent copies.


        4.1.2.2 File Existence Option.

        This option controls the test for an already-existing file on the  destination
        drive  by  the same name.  Adding the E option to the command  line  argument
        reverses  the configured setting.  The default in the ZSDOS distribution  ver-
        sion  is  On, or Check for Existing files.  This option does  not  affect  the
        check for PUBlic files on the destination drive, which is always active.


        4.1.2.3 Inspect Files Option.

        As  illustrated  in  Section 4.1.1 above, the I option provides  a  means  of
        selectively  copying files, without entering the name of each file.  The  dis-
        tribution default for this option is Off, or do Not inspect the selected  file
        list.   Specifying this option on the command line argument list reverses  the
        configured setting.


        4.1.2.4 Multiple Copy Option.

        This  option may be used to copy a file, or group of files to the  same  drive
        several times, as when making several copies of the same file group on differ-
        ent  disks.  A prompt is given before each copy operation begins, and you  may
        abort at the prompt, or change disks before beginning the copy.  The distribu-
        tion  default for this option is Off, for No Multiple copying.  Adding the  M
        option  to the command line argument list reverses the configured setting  for
        this option.






        User's Manual                     - 54 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                              COPY - Copy Files


        4.1.2.5 No Replacement Option.

        When  added as a command line argument, the N option will not allow  replace-
        ment  of  a  file which already exists on the  destination  Drive/User.   This
        option  cannot be configured, and always assumes the same initial  state  when
        COPY  is called.  The default initial state for this option is Off  to  permit
        replacement of existing files.


        4.1.2.6 Quiet Option.

        When  used on a system with ZCPR3, this option causes a reversal in  operation
        of the ZCPR3 Quiet flag.  If the ZCPR3 Quiet flag is active, COPY with the  Q
        option  operates  in a Verbose mode.  If you do not use ZCPR3,  or  the  ZCPR3
        Environment  defines  the  Quiet flag as inactive, this  option  will  disable
        unnecessary  console  messages  for a Quiet mode of operation.   There  is  no
        default condition for this option, and it is only effective for a single  call
        of COPY.

        4.1.2.7 System Files Option.

        This  option controls whether or not files with the SYStem Attribute set  will
        be  located by COPY.  The distribution default is Off to include SYStem  files
        in  COPY  file  lists and permit copying of such files.  The  default  may  be
        configured as described below, and the default may be reversed by adding an S
        in the command line option list.

        4.1.2.8 Verify Option.

        To  add a measure of confidence that no errors occurred in a  COPY  operation,
        the Verify option may be activated.  When active, the destination file is read
        in  order to compute a Cyclic Redundancy Check (CRC) word.  This word is  then
        compared  to  a  value calculated when reading the source file.   If  the  two
        values  match, you can be reasonably sure that the destination file is a  true
        copy of the source file.  The distribution default for this option is True  to
        verify  each  file copied.  This option may be changed  by  configuration,  or
        reversed by adding a V to the command line option list.

        4.1.2.9 Archive if Only if File Exists Option.

        Occasionally,  you  may wish to update frequently archived files to  the  same
        destinations  in a simpler manner than naming each file, or by using  the  In-
        spect  option.   The X option was created for just this purpose.   When  this
        option is added, COPY first searches the source directory for files which have
        not been archived, then checks the destination directory for each file.  If  a
        match  is found, the file is copied, and the Archive bit is set on the  source
        file.   There is No configurable setting for this option which is  always  as-
        sumed to to be OFF when beginning COPY.



        ZSDOS 1.0                         - 55 -                          User's Manual


        DATSWEEP - Directory Tool                                      ZSDOS UTILITIES


        4.2 DATSWEEP - Directory Tool.

        4.2.1 Overview.

        DATSWEEP is a comprehensive file management utility.  This single program  can
        copy, erase, rename, unsqueeze, change attributes, and change the user  number
        -- either for a single file or, with just one command, for an easily-specified
        set of files.

        DATSWEEP  also has the unique capability, when used with Plu*Perfect  Systems'
        DateStamper or compatible systems, to select files by temporal (date and time)
        relations,  enabling you to selectively "back up" files according to the  date
        (and  time)  they  were most recently changed.  The back-up copy  will  be  an
        identical copy, with the same date, time, and attributes of the original file.

        If  DosDisk is running, DATSWEEP will use the MS-DOS file stamp as the  modify
        stamp.  Temporal relationships are therefore also available when working  with
        MS-DOS disks, and the modify stamps are copied with files.  MS-DOS subdirecto-
        ries may also be changed from within DATSWEEP.

        DATSWEEP does not support P2DOS (CP/M Plus) stamps or the ZSDOS P2DOS stamper.

        A set of files (fileset) can be specified by:

             o  Any wild-card usernumber/filename/type or its negation,
             o  A date/time relation (before, at, after) with wild-cards
             o  Individually "tagged" or "untagged" files within a fileset
             o  A file attribute bit

        All  operations that modify files (copy, date, flags, move,  rename)  preserve
        original file attributes, such as read-only protection.  Operations on  Public
        files are also fully supported (see Appendix 5 for more on file attributes).

        DATSWEEP  includes a convenient View mode for reading text files both  forward
        and backward.  Files with wide lines and files in WordStar document format may
        also  be  viewed.  A handy search command enables you to  quickly  locate  any
        pattern or phrase.  You can similarly read squeezed files, but only forwards.

        The  (O)ptions command allows you to select date formats, suppress listing  of
        system and read-only files, set tab size, etc.

        DATSWEEP  is  designed for friendly, interactive use, though it  can  also  be
        accessed from the command line.  It incorporates comprehensive error  checking
        and will request confirmation before deleting or overwriting files (unless you
        turn off these options). At any time you may change your mind by typing CTRL-C
        to terminate the current command.

        NOTE: DATSWEEP must be installed before using it on your system!  Please refer
        to section 4.2.5.1 for details on installing DATSWEEP.


        User's Manual                     - 56 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                      DATSWEEP - Directory Tool



        4.2.1.1 The Six Windows.

        DATSWEEP uses six separate windows to keep track of the user's commands,  file
        statistics, disk space, and directory displays:

        ________________________________________________________________________________
        |    Again ^Cancel Copy  Date   Erase  Flag   Goto Kbytes Log  Move \           |
        |   uNsqze Options Print ^Reset Rename Select Tag  Untag  View Wind eXit        |
        |-------------------DateSweep v4.2  command ==> ? ----------------------14:12---|
        |    free:  total:|                                                             |
        | A:  900   1024  |                                                             |
        |    1588K  2768K |-------------------------------------------------------------|
        |                 | file     noDate ReadOnly                                    |
        |                 | stats                                                       |
        |-------------------------------------------------------------------------------|
        |-->    1.  A 0:!!!TIME&.dAT    16K                                             |
        |       2.  A 0:!!bG    .sWP    92K  03/16/86 22:27                             |
        |       3.  A 0:ASM     .COM     8K  01/04/86 23:27                             |
        |       4.  A 0:BG      .COM     8K  11/05/85  2:41                             |
        |       5.  A 0:BGCALC  .COM     8K  01/13/86 23:55                             |
        |       6.  A 0:BGCONFIG.COH     8K  11/01/85 23:41                             |
        |       7.  A 0:BGCONFIG.COM     8K  11/01/85 23:41                             |
        |       8.  A 0:BGCPM   .COH    10K  11/01/85 23:41                             |
        |       9.  A 0:BGCSIZE .COM     2K  11/01/85 23:41                             |
        |      10.  A 0:BGUSIZE .COM     2K  11/01/85 23:41                             |
        |      11.  A 0:BLANK   .COU     2K  11/01/85 23:41                             |
        |      12.  A 0:CALC    .COM     2K  01/13/86 23:55                             |
        |      13.  A 0:CLK     .COM     8K  06/16/85 15:42                             |
        |      14.  A 0:CPM     .COH    12K  11/01/85 23:41                             |
        |      15.  A 0:CRC     .COM     4K                                             |
        |_______________________________________________________________________________|

        The Command Window, at the top of the screen, shows the primary DATSWEEP  com-
        mands.   Each is executed by typing the corresponding single capitalized  let-
        ter.   When the program is waiting for your command, the cursor rests  at  the
        prompt  command  ==>?.  Then, while a command is being executed,  the  command
        name  is  capitalized and highlighted (if your computer has an  inverse  video
        feature).

        The  wide window immediately below the list of commands is  the  Message/Query
        Window.   When a command requires additional input, the message appears  here,
        followed by the prompt ==>?.  This window is also used to report warnings  and
        any errors.

        Between  these two windows, in the horizontal divider near the right  edge  of
        the screen, is the Clock Window.  It shows the current time.




        ZSDOS 1.0                         - 57 -                          User's Manual


        DATSWEEP - Directory Tool                                      ZSDOS UTILITIES


        Below that is the File Status Window.  It shows the attributes of the  current
        file (e.g. Read Only) and the date and time it was created and last accessed.

        The taller window to the left is the Disk Statistics Window.  It contains disk
        statistics  for the logged-in drive and, when specified, for  the  destination
        drive.   The number of directory entries, amount of space remaining, and  disk
        capacities are shown for wach drive.

        The Directory Window occupies the remainder of the screen and displays  alpha-
        betically-sorted  entries  from the currently selected  fileset.   Each  entry
        shows  a  sequence  number, the drive, user number,  filename,  and  filetype,
        followed by the size in Kbytes that the file occupies on the logged drive.  If
        the  file  has been date-stamped, its last-modified date and time  follow.   A
        file  attribute is indicated by a highlighted, lower-case letter in the  file-
        name or type (if your terminal supports highlighting).

        You  can quickly scroll the directory window to files of interest.   And,  be-
        cause  the  complete disk directory is loaded (unless  there  is  insufficient
        memory) new filesets can be rapidly re-selected.

        4.2.1.2 Logging In and Selecting Filesets.

        The  command DATSWEEP<CR> starts DATSWEEP and logs in the complete fileset  in
        the current user number -- i.e. all files on the default drive in the  current
        user  number.    This is equivalent to DATSWEEP *.* <CR>.  Or, you  can  start
        with a subset of all files by using a wildcard filespec:

                       e.g. DATSWEEP *.TXT

        Once  DATSWEEP is running you can select a different fileset on the same  disk
        with the (S)elect command followed by a "filespec", "datespec", and flag  (see
        below).   The  (L)og  command will also select a new set of  files,  but  more
        slowly; it is only needed when you change disks or switch to a different drive
        (or when memory is insufficient to hold the entire directory).


        4.2.1.3 Filespecs and Datespecs.

        Filespec stands for "File Specification" and Datespec stands for "Date  Speci-
        fication."  There are some very simple rules to follow when using them.

        Filespecs use the standard DRIVE USER:NAME.TYPE fields:

             1.  DRIVE is only needed when logging in a different drive.

             2.  USER is needed if changing user number.





        User's Manual                     - 58 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                      DATSWEEP - Directory Tool


             3.  If drive or user is specified or prompted, a colon ":"  must  follow,
        for example:

                       A0:*.TXT
                       3:*.*

             4.   A  semi-colon  "negates" and selects all  non-matching  files.   For
        example

                       A0;*.COM

        will select all files that do not have .COM extensions.

             5.  NAME and TYPE are optional.  As usual, a period must precede the TYPE
        (e.g.,  MYFILE.TXT).   If  you type <CR> instead of  specifying  a  particular
        filespec, all files in the directory will be entered.

             6.  The standard wild-cards also work:

             ? matches any character, e.g. mar??ltr.txt
             * matches all characters in the rest of the field, e.g. *.MSS

             7.  USER may be wild to match all user numbers (0-31).  For example,

                       B*;*.COM

        selects all files on B and all users that do not have .COM extensions.

        After you type a filespec and <CR> (S)elect (but not (L)og) will prompt for  a
        "datespec"  (date  specification), if the logged disk has  been  prepared  for
        datestamping.   The  datespec  selects files according  to  the  last-modified
        date/time.  You cannot (S)elect files by the "create" or "access" date.

        Datespecs have a RELATION, a DATE, and a TIME field:

             1.  The RELATION can be:

                 <      - Before the specified date/time
                 =      - At (on) the specified date/time
                 >      - After the specified date/time

        (More accurately, < means "before or at", and > means "at or after".  Only  if
        you  specify a particular time in addition to the date (hour:minute) will  the
        exact datespecs you're looking for be matched.)

             2.   The  DATE  is entered  numerically:  "month/day/year".   (An  option
        switches to the "day.month.year" format.)

             3.  The TIME is entered as "hour:minute".  Exact dates and times  need  a


        ZSDOS 1.0                         - 59 -                          User's Manual


        DATSWEEP - Directory Tool                                      ZSDOS UTILITIES


        leading 0 if the numbers involved are less than 10 (e.g. 03/09/85 02:05).

             4.  Any of the datespec fields may be wild (* or ?).  Again, a  press  of
        the <CR> key will achieve this.


        4.2.1.4 Flags (attributes).

        The  (S)elect  command has one final field following the  datespec:  the  flag
        field (e.g., Read Only).  Enter a single digit or letter to select only  files
        with  that  flag.  A <CR> or <SPACE> causes (S)elect to include all  files  --
        flagged or unflagged -- that match the file and datespecs.

        The possible digits and letters to mark flags are as follows:

                1 or L  = noLoad -- omit loading Backgrounder definitions
                2 or P  = Public file
                3 or D  = noDate -- don't datestamp file
                4
                9 or R  = Read Only file
                S       = System file (not usually displayed in the directory)
                A       = Archive file

        Note that S and A represent the 10th and 11th bits.  As you can't type in  any
        numbers  over 9 to mark the flags, you must use only the letters in these  two
        cases.

        Note also that you can only choose one flag at a time in your filespecs.

        Examples of (L)og and (S)elect Commands

                chap?.txt<CR> > 03/15/88 10:00 <CR>   all CHAP?.TXT files
                                                          after 10:00 Mar. 15 1988

                b:*.com<CR>   * **/**/** *:* <CR>     all COM files on drive B:

                1:*.*<CR>     = **/03/88 **** <CR> R  all user 1 Readonly files
                                                          in March 1988


        4.2.2 Using DATSWEEP.

        The basic means of operating DATSWEEP is simple: Move the pointer to the  file
        of interest and give a command.

        The  pointer  (-->) in the left margin points to the  currently  active  file,
        which  is also highlighted (on screens capable of doing so).   All  operations
        take place at the marked file.



        User's Manual                     - 60 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                      DATSWEEP - Directory Tool


        Use the following keys to move the active file pointer:

                . or <SPACE>     Down 1 line
                ,                Up   1 line
                > or <CR>        Down 1 page
                < or <TAB>       Up   1 page

        The  down-page  and  up-page commands operate slightly  differently  when  the
        entire fileset fits within the window, causing the pointer to move to the last
        file and first file, respectively.

        To  move to a specific file, use the (G)oto command followed by  the  filename
        (wildcards  are  ok).   G<CR> will pull the current file to  the  top  of  the
        window.   You  can also use a specific filename or the first  letter(s)  of  a
        filename  with the (G)oto command, e.g. Gfilename<CR>.  This again  pulls  the
        specified file to the top of the window.

        DATSWEEP  can operate either on single files, or on groups.  To operate  on  a
        single file, move the pointer to the desired file, then type the single letter
        (either upper or lower case) for the primary command (e.g. C for (C)opy).

        Type  Y (or <CR>) to execute the command (e.g., copy the file the  pointer  is
        next  to).  Type N to abort this command.  For most file  operations  DATSWEEP
        will  use the message/query window to request some further input, such as  the
        destination  drive and filename for the copy.  After you have  supplied  this,
        DATSWEEP gives you four choices:

                  Yes or <CR> / Tagged / Untagged / No

        If  you type T, the command is automatically repeated for all files  currently
        "tagged" with a *.  Typing U does an auto-repeat on all files not tagged  with
        * (see below for how to tag files).  If you select T, DATSWEEP will carry  out
        the  command at the tagged file, convert its tag to an "inactive" tag  #,  and
        then go on to the next tagged file.


        4.2.2.1 Tagging Examples.

        Tagging  provides a very convenient and powerful method of  reorganizing  your
        files.   Initially, for example, you may want to set a nominal  "create"  date
        for  all files on an old disk recently prepared for datestamping.  Just  enter
        the  (D)ate  command,  the date, and U for all untagged files.   Or,  to  make
        backup copies of today's changes, (S)elect all files (*.*) at today's date  (=
        03/15/88  *:* or whatever), then use the (C)opy (U)ntagged  command  sequence.
        Here is an example of tagged files:






        ZSDOS 1.0                         - 61 -                          User's Manual


        DATSWEEP - Directory Tool                                      ZSDOS UTILITIES



        _________________________________________________________________________________
        |    Again ^Cancel Copy  Date   Erase  Flag   Goto Kbytes Log  Move \           |
        |   uNsqze Options Print ^Reset Rename Select Tag  Untag  View Wind eXit        |
        |-------------------DateSweep v4.2  command ==> ? ----------------------14:14---|
        |    free:  total:|                                                             |
        | A:  900   1024  |                                                             |
        |    1588K  2768K |-------------------------------------------------------------|
        |                 | file                              10/21/84 +0125 created    |
        | *=   66K(   62K)| stats                             02/09/86 18:17 accessed   |
        |-------------------------------------------------------------------------------|
        |      11.  A 0:BLANK   .COU     2K  11/01/85 23:41                             |
        |      12. *A 0:CALC    .COM     2K  01/13/86 23:55                             |
        |      13. *A 0:CLK     .COM     8K  06/16/85 15:42                             |
        |      14. *A 0:CPM     .COH    12K  11/01/85 23:41                             |
        |      15. *A 0:CRC     .COM     4K                                             |
        |      16.  A 0:DATE    .COM     2K  07/02/85  0:45                             |
        |      17.  A 0:DATSWEEP.COM    32K  12/18/85  9:34                             |
        |      18. *A 0:DDT     .COM     6K                                             |
        |      19. *A 0:DEFAULT .COC     2K  11/01/85 23:41                             |
        |      20.  A 0:DISK7P  .COM     6K  11/12/84 +0239                             |
        |      21. *A 0:DISK7P  .DOC     2K  11/12/84 +0163                             |
        |      22. *A 0:DSCONFIG.COM    16K  10/30/85  0:53                             |
        |      23.  A 0:DSKSTAT .COM    14K  07/18/85  0:29                             |
        |-->   24. *A 0:DU86    .COH    14K  10/21/84 +0126                             |
        |      25.  A 0:DU86    .COM     8K  10/21/84 +0124                             |
        |_______________________________________________________________________________|

        4.2.3 DATSWEEP Command Summary.

        4.2.3.1 File Operation Commands.

        The  file operation commands appearing in the top window are as  follows,  and
        can be accessed by typing the first letter of the command.

        (C)opy - copy files, renaming the destination (for single files), if  desired.
        Wild-card characters are permitted.  Add V to verify if auto-verify is not  in
        effect  (see  Options, below).  Multi-file copies can be  interrupted  by  any
        keypress  and aborted (confirmation is requested).  For example, to  copy  the
        current  file  to Drive B with verification and name the  new  file  XPIP.COM,
        first type C and then enter

                       B: XPIP.COM V<CR>

        at the prompt.  As shipped, DATSWEEP will not copy if files with the same name
        which  were  modified at or after the same time are found on  the  destination
        drive.  You can disable this feature from the (O)ptions menu within  DATSWEEP.
        (Note  that DATSWEEP will always back up a file that is larger than  512K  re-
        gardless of whether or not it is up-to-date.)


        User's Manual                     - 62 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                      DATSWEEP - Directory Tool



        (D)ate  - set dates and times.  Specify "Create", "Access", or "Modify"  date.
        The  <SPACE>  key or wildcard characters use the current field  value  (month,
        day,  or  year)  of the file the arrow was pointing to when  the  command  was
        given,  and  the <CR> key uses the current field values for all  or  remaining
        fields.  Obviously this option won't work if your disk is not initialized  for
        datestamping (i.e., does not have the !!!TIME&.DAT file).

        (E)rase  -  erase files.  Asks for confirmation for single files only,  or  if
        requested  for  multi-file erasures (unless auto-confirm is in  effect).   Re-
        quires confirmation to erase a read-only file.

        (F)lag  -  set attributes.  Enter a single letter or number, optionally  sepa-
        rated by spaces, for each flag to be set.  When flags are set, they are  added
        to the currently set flags.

                 1 or L = noLoad -- omit loading Backgrounder definitions
                 2 or P = PUBlic file
                 3 or D = noDate -- don't datestamp file
                 4
                 9 or R = ReadOnly file
                 S      = System file
                 A      = Archive file

        You can also set several flags at once.  For example,

                        RDS<CR>

        makes  a  file read-only, non-datestamped and set to "System".  Flags  can  be
        cleared with a <CR>.

        (M)ove  - change user number (0-31) of files.

        (R)ename  -  change file names.  Wildcards are fine.   Requires  confirmation.
        For example,

                        R  *.txt

        renames all tagged/untagged files to an extension of .TXT.

        U(N)squeeze  -  Unsqueezes  tagged, untagged or single files.   You  can  also
        specify a different destination drive and user for the unsqueezed files.


        4.2.3.2 Tagging Commands.

        (A)gain   -  Retag files after multi-file operation, converting  inactive  (#)
        tags  to active tags(*).  The inactive tags will stay in place until the  next
        (L)og or (S)elect, or until more tags (followed by inactive tags) are  placed.


        ZSDOS 1.0                         - 63 -                          User's Manual


        DATSWEEP - Directory Tool                                      ZSDOS UTILITIES


        As an example, this command may be used to retag files after one back-up,  for
        backing up onto a second disk.

        (T)ag - Tag a file (*) for multi-file operations.

        (U)ntag  -  Untag  a tagged (*) file.  Files  are  automatically  untagged  on
        (S)elect and (L)og of a new fileset.


        4.2.3.3 Miscellaneous Commands.

        (G)oto  - Pulls the marked file to the top of the directory window.   You  may
        also  specify  the name of a file you want pulled to the top  of  the  window,
        using the full filename or its first few letters.

        (K)bytes  - Show space remaining on specified drive.  The information  appears
        in the disk statistics window.

        ^R  (control-R)  - Reset all drives.  Only needed when changing  disk  formats
        (e.g. double- to single-sided) if your BIOS doesn't support format  determina-
        tion on disk-select.  This is not a problem with XBIOS.

        (L)og  - Read in directory for new disk.  Only necessary when changing  drives
        or  disks  or when displaying a set of files from a directory too  big  to  be
        completely  stored in memory.  (Otherwise use (S)elect to display a new  file-
        set  on the current drive.)  Clears all tags.  The format of the  Log  command
        is:

                       drive user:filename.type<CR>

        (S)elect  -  Select specified files for directory window.   Clears  all  tags.
        Select  only  works  on files that have first been (L)ogged  (or  loaded  with
        DATSWEEP) into memory.  The format of the Select command is:

                       user:filename.type<CR> relation date time flag
















        User's Manual                     - 64 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                      DATSWEEP - Directory Tool


        (O)ptions - Display/change DATSWEEP's options:

            Y/N auto-verify when copying
            Y/N copy only if not up-to-date
            Y/N always confirm erasures
            Y/N sort directory by filetype
            Y/N exclude System files
            Y/N exclude ReadOnly files
            Y/N exclude PUBlic files
            Y/N use real (hr:mi) time format
            Y/N use mo/da/yr format (not da.mo.yr)
            Y/N suppress high bit in view mode (necessary to read
                WordStar text files)
            Y/N clear screen on exit
            nn  tab size (useful in view mode to match the tabs in
                the original document)
            nn  horizontal scroll size
            nn  vertical directory scroll size

        These options can be changed while using DATSWEEP and take effect immediately.
        Once you exit DATSWEEP, however, your changes will not be retained for  future
        use.   You can make permanent changes in the default values for these  options
        by using DSCONFIG (see Section 4.2.5).

        (P)rint - Prints tagged, untagged or single files on your LST: device.

        (W)indows - Look at all tagged files, all untagged files, or both if you  want
        to  return  to the whole directory display.  All of  DATSWEEP's  commands  are
        available to you when in any of the windows.

        e(X)it - exit DATSWEEP.

        (\)  -  Change DosDisk subdirectory (DosDisk systems only).   Prompts  you  to
        enter the name of a subdirectory in the currently logged-in directory.  If the
        logged  drive is the MS-DOS drive and the current directory contains  the  re-
        quested subdirectory, the subdirectory is logged in and displayed.

        Subdirectories  appear  in the directory list as ReadOnly  subdir  files.   To
        change to the parent directory, enter the subdirectory name "..".  Due to  the
        way DosDisk represents subdirectories, zero-length Read Only files on the  MS-
        DOS drive are also shown as ReadOnly subdir files.


        4.2.3.4 Viewing a File.

        In  addition to moving and displaying files, DATSWEEP allows you to view  text
        files.  The command for doing this is:

        (V)iew - display a text file in the view window.


        ZSDOS 1.0                         - 65 -                          User's Manual


        DATSWEEP - Directory Tool                                      ZSDOS UTILITIES


        When viewing files, there are just three windows (including the current time).
        The  top  (command) window then shows the commands for moving the  large  view
        window below it over a text file:

        _________________________________________________________________________________
        | . or SP => + line    > or CR  => + page    1                                  |
        | ,       => - line    < or TAB => - page    B = beg. E = end L = left R = right|
        |-----------------------------------------------------------------------14:14---|
        |                                                                               |
        |                              DU-V86.DOC                                       |
        |                              ----------                                       |
        |                                                                               |
        |                By Ward Christensen (revised 10/18/83)                         |
        |     additional notes by Ron Fowler, Irv Hoff, and Jeffrey Nonken              |
        |                                                                               |
        |                                                                               |
        |; This version of DU is compatible with CP/M 1.4, 2.x and 3.x and does         |
        |; not require alteration for various hardware configurations.  It ad-          |
        |; justs itself automatically to the correct number of sectors, tracks,         |
        |; directory size, etc.                                                         |
        |;                                                                              |
        |                                                                               |
        |                                 INDEX                                         |
        |                                                                               |
        |                   1.0     INSTALLATION:                                       |
        |                   2.0     USE:                                                |
        |                   2.1     COMMANDS, BY FUNCTION                               |
        |                   2.2     ALPHABETIC COMMAND SUMMARY                          |
        |_______________________________________________________________________________|

        Use these secondary view commands to move and search:

            . or <SPACE>  - forward 1 line (require terminals with
                             insert and delete line capability)
            ,             - backward 1 line
            > or <CR>     - forward 1 page
            < or <TAB>    - backward 1 page
            B             - beginning
            E             - end
            L             - scroll left
            R             - scroll right
            G             - (G)oto command to locate a word or phrase

        Gstring searches forward for a "string" (up to 16 characters).  If found,  the
        line with the string is moved to the top of the window.  For example,

                       GOnce upon<CR>

        searches  for  the  string Once upon.  To search forward again  for  the  same


        User's Manual                     - 66 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                      DATSWEEP - Directory Tool


        string  simply enter (G)oto<CR>.

        The rules for a string match are:

                 o  Lower case matches either lower or upper case
                 o  Upper case matches uppercase
                 o  "?" matches any character

        When entering a string to search for, you may:

                 o  Use <DEL> or <BS> to edit
                 o  Type ^Q<CR> to include a <CR><LF> in your string
                 o  Use CTRL-C to cancel and return to DATSWEEP's directory level

        One  thing to beware of: if you attempt to view a non-text file, some  strange
        characters will be put on the screen.  CTRL-C will return you to DATSWEEP  but
        it  may take a while for the computer to work off the garbage  characters  you
        tried to display.


        4.2.3.5 Viewing Squeezed Files.

        The  (V)iew  command automatically unsqueezes Huffman-encoded files  when  the
        second  letter of the filetype is "Q".  In this case only forward-motion  sec-
        ondary  commands can be used.  The second line of the view-command menu  shows
        the original name of the unsqueezed file.

        For squeezed files the (G)oto command searches from the start of the file,  or
        from  the top of the last "page-forward" command.  Thus, scrolling the  window
        forward a line at a time leaves this point set; and a (G)oto string will start
        the search from a point before the now-showing top of screen.


        4.2.4  Command Line Options.

        Besides  running  interactively, DATSWEEP also takes options  on  the  command
        line.  This lets you run DATSWEEP from ZEX or SUBMIT.

        4.2.4.1  Special Characters.

        A  number  of  special characters have been added for this  option.   A  brief
        description of each is given below:

              $ (dollar sign)         - tells DATSWEEP that there is a
                                           command line
              $$ (double dollar sign) - same as above, except necessary
                                           when used in a submit script
              ` (accent grave)        - generates a carriage return
              _C (underscore Cap C)   - generates a Control-C


        ZSDOS 1.0                         - 67 -                          User's Manual


        DATSWEEP - Directory Tool                                      ZSDOS UTILITIES


        4.2.4.2  OSPrompt Level.

        The '$' character tells DATSWEEP that it should take the following  characters
        as a script and act upon them first.  For example:

                       DATSWEEP $S`=100188``

        will  Select  all  files on the logged-in drive that  have  been  modified  on
        10/01/88.  Note that you do not have to include the '/' delimiter for the date
        and that upper and lower case makes no difference.


        4.2.4.3  SUBMIT or ZEX Scripts.

        The  command  below is the same as the one above except that it is used  by  a
        batch  processor  such as SUBMIT or ZEX (remember that in a script  the  first
        dollar sign must be given twice):

                       DATSWEEP $$s`=100188``


        4.2.4.4  Passing Parameters.

        You  can also pass parameters to DATSWEEP with the command line  option.   Say
        you  have created a submit file called BACKUP with the DATSWEEP  command  line
        given below:

                       DATSWEEP $$S`$1``CC0:`UNX

        If you then type

                       SUBMIT BACKUP =100188<CR>

        DATSWEEP will Select all files that have been modified on 10/01/88, copy  them
        to  drive C, user 0, and exit when it is finished.  Note in the example  above
        that,  while it was necessary to use two dollar signs at the beginning of  the
        script, passing the parameter to DATSWEEP required only one dollar sign.


        4.2.4.5  The _C Switch.

        If  you want to change any of the options from their default, you can  do  so.
        For  instance,  if you normally have verification on when copying  files,  but
        wish  to turn it off, you should precede your other commands with the  follow-
        ing:

                       DATSWEEP $ON_C




        User's Manual                     - 68 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                      DATSWEEP - Directory Tool



        The  O  is the options command, one N turns off  automatic  verification  when
        copying, and the _C will act as a Control-C and return you to the directory.


        4.2.4.6  Limitations of the Command Line Option.

        1.   You cannot interrupt DATSWEEP when it is using a script.  You  must  wait
        until it is finished before it will accept any input from the keyboard.   This
        is true even if DATSWEEP asks you for some input, e.g. if you run out of space
        on a disk when you are backing up.

        2.   Since  you  cannot usually know ahead of time where files  will  be,  you
        cannot  predictably use the (T)ag command -- you may end up tagging the  wrong
        files!  The  only exception to this is that when DATSWEEP first  logs  onto  a
        DateStamper  disk, it always points to the !!!TIME&.DAT  file.   Consequently,
        you can (T)ag the !!!TIME&.DAT file and then copy all untagged files.


        4.2.5  Installation and Configuration.

        4.2.5.1  Installation.

        Terminals  come in about as many different flavors as printers, each with  its
        own  idea of "standard" control sequences for positioning and moving the  cur-
        sor,  clearing  the screen, and deleting regions.  The  DateStamper  utilities
        (DATSWEEP  and DSCONFIG) require direct cursor addressing and also  make  good
        use  of character highlighting if it is available.  The SETTERM  program  lets
        you  install your terminal's particular control codes into each of  the  Date-
        Stamper utilities.  This installation must be done for all systems -  DATSWEEP
        knows nothing about ZSystem TCAPS.

        SETTERM  obtains its information for most popular terminals from the  terminal
        database  file, TERMBASE.DAT.  Most likely, yours is already on the  list  (or
        emulates one that's there).  If so, just select that terminal number and  tell
        SETTERM to configure DATSWEEP and DSCONFIG.

        There  are  utilities listed in the SETTERM menu that are not  used  with  the
        ZSDOS and ZDDOS versions of DateStamper.  Just ignore them.


        Configuring Terminals in DateStamper's Library.

        To   load  SETTERM,  simply  type  SETTERM<CR>.   SETTERM  will   first   load
        TERMBASE.DAT  and display a menu of the configurable terminals. The  following
        example  (taken from screen displays) explains what to do if your terminal  is
        in our database library:




        ZSDOS 1.0                         - 69 -                          User's Manual


        DATSWEEP - Directory Tool                                      ZSDOS UTILITIES


        Enter the number of the terminal you wish to use.

        To define a new terminal, enter just a <CR>    ==> __
                                   (enter number & <CR>.  ^C will exit to ZSDOS)

        Review or edit the terminal definition (y/n)                  (enter N)

        Install the definition for: [terminal name] into utilities (y/n) (enter Y)

        Select one:
           A - all DateStamper utilities (SDD,DATSWEEP,DSCONFIG,SETUPCLK)
           S - SDD
           D - DATSWEEP
           C - DSCONFIG
           U - SETUPCLK
           O - other
           Q - quit

        ==>?                                                   (enter D)
        If necessary, change disks before replying.
        Get DATSWEEP.COM from drive ?:                              (enter drive)
           ...   Ok to update (y/n) ?                              (enter Y)

        Select one:
           A - all DateStamper utilities (SDD,DATSWEEP,DSCONFIG,SETUPCLK)
           S - SDD
           D - DATSWEEP
           C - DSCONFIG
           U - SETUPCLK
           O - other
           Q - quit

        ==>?                                                   (enter C)
        If necessary, change disks before replying.
        Get DSCONFIG.COM from drive ?:                              (enter drive)
           ...   Ok to update (y/n) ?                              (enter Y)

        When the menu appears for the third time, choose the "Quit" option.   DATSWEEP
        and DSCONFIG are now permanently configured to run with your terminal.  Unless
        you've  made  a mistake, and wish to go back to repeat  the  above  procedure,
        respond with N to the following question Do another terminal (y/n)? to finally
        exit.

        Editing  an Existing Terminal Entry.  If your terminal emulates closely -  but
        not completely - a terminal in the library, you may wish to edit the  terminal
        in  the library to your exact requirements rather than define a new  terminal.
        In this case you would answer Y to the Review or edit the terminal definition?
        question asked just after you load SETTERM.  The contents of the database  for
        that terminal will then be displayed, and you will be given the opportunity to


        User's Manual                     - 70 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                      DATSWEEP - Directory Tool


        change any entries.

        After editing them to your requirements, you will be asked whether you wish to
        install the new terminal characteristics into the utilities.  If you answer Y,
        SETTERM will proceed as in the above example.

        Defining  a New Terminal Entry.  If your terminal isn't like one of  those  on
        the  list, you've probably had experience in configuring it.  If  so,  SETTERM
        lets  you define a new terminal entry to enter your terminal  characteristics.
        Just type SETTERM<CR> and answer Y to the Review or edit the terminal  defini-
        tion?  question.   You should then give appropriate answers to  the  on-screen
        prompts.   Two editing screens will be displayed - one for  cursor  addressing
        data,  and the other for terminal control strings.  After filling in  all  the
        relevant  information (this should be in the user's guide for your  terminal),
        you  can go on to install your characteristics into DATSWEEP and  DSCONFIG  as
        described above.

        If  you're not familiar with terminal configuration, we suggest you  copy  the
        CONTROL  and ESCAPE codes for your terminal from your user's manual, and  send
        them  to us with your ZSDOS disk.  We'll then put your terminal into  our  li-
        brary,  so  that you - and other owners of such terminals - will  be  able  to
        carry  out  the  semi- automatic installation outlined in  the  first  section
        above.

        If  you've  done your own configuration for your terminal, you  may  find,  on
        testing  DATSWEEP,  that a sequence or two was mis-entered.   SETTERM  can  be
        easily  reused to edit and update the definitions.  Rerun SETTERM, select  the
        number of the terminal you defined, and edit as necessary.

        We  and  future ZSDOS users will appreciate it if you would also send  us  any
        terminal  definitions you work out.  We can then include them in the  database
        for future releases.


        4.2.5.2  Configuration.

        The  DSCONFIG  utility allows you to choose default settings for  the  options
        that  are shown when you choose the (O)ption command while in  DATSWEEP.   The
        present default settings are:











        ZSDOS 1.0                         - 71 -                          User's Manual


        DATSWEEP - Directory Tool                                      ZSDOS UTILITIES



        ____________________________________________________________________________
        |DSCONFIG - v. 4.2 for [Terminal name]                                     |
        |                                                                          |
        |   Enter:  Y = yes,  N = No,  nn = value, . or <CR> = no change, ^C = quit|
        |                                                                          |
        |                                                                          |
        |Y/N    -- DATSWEEP option --                                              |
        |Y  -  auto-verify when copying                                            |
        |N  -  always confirm erasures                                             |
        |N  -  sort by file-type                                                   |
        |N  -  exclude System files                                                |
        |N  -  exclude ReadOnly files                                              |
        |N  -  exclude PUBlic files                                                |
        |N  -  use real (hr:mi) time                                               |
        |Y  -  use mo/da/yr (not da.mo.yr)                                         |
        |Y  -  suppress hi bit in view                                             |
        |N  -  clear screen on eXit                                                |
        |08 -  tab size                                                            |
        |10 -  horiz. scroll size                                                  |
        |05 -  vert. scroll size                                                   |
        |__________________________________________________________________________|


        To use DSCONFIG, just type DSCONFIG<CR> and follow the on-screen prompts.

        In  a DATSWEEP filespec - <drive><user>:<filename>.<type> - the colon  can  be
        replaced  by  the negation character to exclude files matching the  spec.   As
        shipped,  that  character is the  semicolon.  However,  the  default  negation
        character  (semicolon) cannot be used from the command line in a  BackGrounder
        ii  or ZCPR3 system, as it is used to separate multiple commands on  the  same
        line.

        Users may patch DATSWEEP at the following location to use a different negation
        character.  The patch location is defined as:

         095AH      db       ';'               ;negation character


        4.2.6  Technical Information.

        4.2.6.1  Filesizes and Disk Space.

        ZSDOS  allocates disk space in units, called blocks, of 1K to 16K  bytes,  de-
        pending on the size of the disk and choices made by the system programmer  for
        your computer.  Thus a file of just a single byte must occupy at least 1K;  on
        a large disk that could be 4K or even 16K.

        In  the directory window, DATSWEEP shows a file's size in terms of  the  space


        User's Manual                     - 72 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                      DATSWEEP - Directory Tool


        allocated to it on the logged-in disk.  Similarly, the disk statistics  window
        reports  the  free  space on that disk in  terms  of  available  (unallocated)
        blocks.

        When  you  copy this file to another disk with a different block  size  (e.g.,
        from  single-sided to double-sided floppy) the space required on the  destina-
        tion  disk depends on its minimum block size.  The same file can  require  the
        same,  more, or less space on the new disk.  If insufficient space  is  avail-
        able, DATSWEEP will not attempt to copy the file, but instead prints a warning
        message.

        As  files are tagged (*) DATSWEEP displays running totals of the tagged  files
        in the disksize window in the format:

                       * = mmmK( nnnK)

        The  first  value  is the total space allocated to the  tagged  files  on  the
        logged-in  (source)  disk.  The value in parentheses is the  amount  of  space
        those  files  will  require on the destination disk.  The  (K)byte  or  (C)opy
        command designates the destination disk; until one of those commands is  given
        DATSWEEP calculates the second (parenthetical) value in units of 1K.

        A  fine  point: files written in CP/M's random access mode  can  have  "holes"
        (they're  quite  rare).  Directory utilities, such as SDD and STAT  count  the
        holes  and cause such files to appear bigger that they really  are.   DATSWEEP
        reports  the  amount  of space actually allocated to the  file  (not  counting
        "holes");  if the value is different, the size value is flagged with  a  lower
        case r, e.g. 48Kr.  DATSWEEP cannot correctly copy files with holes.


        4.2.6.2  Error Procedures.

        DATSWEEP attempts to trap all errors, provide a short informative message, and
        await your next command.  Rarely, a bad disk or hardware malfunction can cause
        ZSDOS to report a ZSDOS Error on X: Bad Sector drive message.  If this occurs,
        you should exit DATSWEEP and reformat the disk or lock out bad sectors  (using
        FINDBAD or BD).

        DATSWEEP  verifies  a copied file by reading it back to a  different  area  of
        memory  (to  test  for possible memory as well as disk  errors),  computing  a
        cyclic redundancy check, and compares that value to the source check value.

        Public  file  conflicts are not completely checked when the directory  is  too
        large to fit in memory (see Appendix 5 for more on Public files).







        ZSDOS 1.0                         - 73 -                          User's Manual


        DATSWEEP - Directory Tool                                      ZSDOS UTILITIES


        4.2.6.3  Very Large Directories.

        DATSWEEP normally loads the entire disk directory (for all user numbers)  into
        memory.   However,  on hard disk systems with several hundred files  (or  when
        there is only limited memory left for user programs) the directory can be  too
        large  to fit.  In that case DATSWEEP loads all it can, and then gives a  full
        memory  message.  The (S)elect command will then clearly not find files  whose
        names weren't loaded.  When this happens (No entries matching spec) just (L)og
        in a smaller set of files.










































        User's Manual                     - 74 -                              ZSDOS 1.0


        ZSDOS UTILITIES                           FILEATTR - Set or Display Attributes


        4.3 FILEATTR - Set or Display Attributes.

        FILEATTR.COM is a program which allows the user to rapidly set or display  the
        attributes  of selected groups of files under CP/M 2.2 or any of its  replace-
        ments.   Groups  of files are specified by name, drive and (under  ZCPR)  user
        number  or  directory.   If a ZCPR Terminal CAPabilities  (TCAP)  facility  is
        active, FILEATTR displays use dim or reverse video for enhanced clarity.   See
        Appendix 5 for a complete explanation of file attributes.

        While  no installation is necessary, the default values of FILEATTR's  command
        options may be altered for your convenience.  To customize FILEATTR, make sure
        the  files FILEATTR.COM, FILEATTR.CFG, and ZCNFG.COM are present  and  execute
        ZCNFG as described in Section 4.8.


        4.3.1 Using FILEATTR.

        FILEATTR uses the standard syntax adopted for Z-System utility programs.  Help
        is  available by entering the program name followed by two  slashes.   Command
        specifications  are  consistent with the other Z-System  utility  programs  as
        summarized in Section 1.6.


        4.3.1.1 FILEATTR Display Commands.

        FILEATTR  displays all eight attributes of a file or group of files  specified
        by  an ambiguous or unambiguous filename.  A CP/M drive or ZCPR directory  may
        also be specified on the command line.  Files are displayed in unsorted  order
        (i.e.,  in  the  order in which they appear on  a  disk's  directory  tracks).
        Unlike  many directory programs, the FILEATTR display always  includes  System
        files.  If no directory specification is given, files at the current directory
        are displayed.  If no file specification is given, all files are matched.

        The general form of FILEATTR's display command is:

                       FILEATTR [d: or dir:][afn]


        4.3.1.2  FILEATTR Set Commands.

        The  commands  which set file attributes are identical to the  commands  which
        display attributes, except that at least one attribute option must be given in
        addition  to  a file specification or leading slash.  Only the  specified  at-
        tributes  of matching files are affected by FILEATTR--other attributes  remain
        unchanged.

        The general form of FILEATTR's set attributes command is:

                       FILEATTR [d: or dir:][afn] [/][options]


        ZSDOS 1.0                         - 75 -                          User's Manual


        FILEATTR - Set or Display Attributes                           ZSDOS UTILITIES



        where items in brackets are optional and [/][options] indicates one or more
        option  characters  in any order or combination, introduced by a slash  if  no
        files were specified.


        4.3.1.3 FILEATTR Options.

        FILEATTR'S  option  character set is rather extensive, as it  controls  screen
        output  as well as the setting or resetting of up to eight file attributes  at
        once.   Here are FILEATTR's options, the functions they provide, and the  file
        attribute bits affected, if any:

              Opt  Function     Opt   Function      Bit
              -----------------------------------------
               1   F1 on           N1   F1 off           (f1)
               P   Public          NP   Private          (f2)
               D   Datestamp       ND   No Datestamp     (f3)
               4   F4 on           N4   F4 off           (f4)
               W   Wheel protect   NW   Wheel unprotect  (f8)
               R   Read/Only       NR   Read/Write       (t1)
               S   System          NS   Directory        (t2)
               A   Archive         NA   Modified         (t3)
               Q   Quiet

        For  example,  if the R option character is used, all files included  in  the
        specification are set to Read Only by setting bit seven of file type character
        1 (t1).  The command

                       FILEATTR B:*.COM R

        therefore sets all files ending in ".COM" (command files) on drive B to  Read-
        Only.  Options can be combined in any order.  Thus,

                       FILEATTR MY.TXT NP,A,W

        sets  the file MY.TXT in the current directory to Private, Archive, and  Wheel
        Protect.   All other attributes are unaffected, so if MY.TXT was  a  Read-Only
        file  it  remains Read-Only.  Since spaces or commas between options  are  not
        required, the above command may be condensed to:

                       FILEATTR MY.TXT NPAW

        If  specified,  the Q option suppresses all screen output  other  than  error
        messages.   This allows FILEATTR to operate transparently from within  command
        scripts or on secure systems such as bulletin boards.





        User's Manual                     - 76 -                              ZSDOS 1.0


        ZSDOS UTILITIES                           FILEATTR - Set or Display Attributes


        4.3.1.4 FILEATTR Output.

        The screen output of FILEATTR is nearly identical in both the set and  display
        file  attribute modes.  An unsorted list of matching files is shown,  followed
        by  a summary line.  Each line describes the drive, user area, name, and  cur-
        rent attribute settings of one file:

             B00:DATSCR13.Z80>  f1off  privt  stamp  f4off  nowhl  r/w  dir  mod
             B00:RCPTESTR.NOT>  f1off  PUBLC  stamp  f4off  nowhl  r/w  dir  ARC
             B00:COMMEN20.MAC>  F1-ON  PUBLC  NOSTP  F4-ON  WHEEL  R/O  SYS  ARC
                             3 files matched, 0 attributes altered.

        In the example above, DATSCR13.Z80 has all of its attributes turned off  (bits
        set to zero).  These are the default settings for new files.  COMMEN20.MAC has
        all  of its attributes turned on (bits set to one), while RCPTESTR.NOT  has  a
        combination of off and on attributes.  FILEATTR always shows attributes  which
        are  set to the on (non-default) state in upper case.  Under ZCPR,  attributes
        set  to the off (default) state are shown in reverse or dim video,  if  avail-
        able.

        FILEATTR's summary line gives total files matched and total changes just made.
        Files  matched is the number of files displayed by FILEATTR.   Attributes
        altered  is  the number of file attributes just changed by  FILEATTR.   This
        does  not  necessarily equal the number of file attributes  specified  in  the
        command.   For  example, if a command to set all three of the above  files  to
        Archive  is issued, only the archive status of DATSCR13.Z80 will  be  changed.
        The other two files are already Archived, so they are not affected.


        4.3.2 FILEATTR Error Messages.

        Occasionally, FILEATTR may encounter conditions which prevent it from perform-
        ing its normal function.  In these cases, FILEATTR presents one of the follow-
        ing error messages:

        Not wheel

             FILEATTR can not be operated under ZCPR unless the Wheel byte is on.

        Conflicting entry ... can't set Public attribute!

             There are additional copies of the file you are trying to set to  Public
             at  another  user area on the same drive.  You must   remove  or  rename
             these files before proceeding.

        No files on disk

             You are trying to display or set file attributes on an empty disk.



        ZSDOS 1.0                         - 77 -                          User's Manual


        FILEATTR - Set or Display Attributes                           ZSDOS UTILITIES


        BIOS write error near directory sector ....

             A  write error occurred at or near the indicated directory sector.   The
             number given is the offset in decimal sectors from the beginning of  the
             directory tracks.

        CP/M version 2.0 or higher required

             FILEATTR  requires  an operating system which is  compatible  with  CP/M
             version  2.0.   CP/M 2.2, ZRDOS, ZSDOS, and ZDDOS all fulfill  this  re-
             quirement, but CP/M 1.4 does not.

        Bad option: /x

             You entered a command line option which FILEATTR does not recognize.

        Drive R/O

             The  disk drive specified in your command has been set to Read  Only  by
             the operating system.  Attributes cannot be set on read-only drives.

        BIOS set track detected - FA aborting

             FILEATTR  has detected a background program, such as  a  screen-trapping
             program,  which is attempting to change the current BIOS track  setting.
             The  background program must be removed before using FILEATTR  to  alter
             file attributes.
























        User's Manual                     - 78 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                  FILEDATE - Display File Dates


        4.4 FILEDATE - Display File Dates.

        FILEDATE  is a disk directory display program for computers  with  DateStamper
        (tm)  or equivalent file time and date stamping capabilities.   FILEDATE  dis-
        plays  the dates and times files were created, last accessed, and  last  modi-
        fied.  Using an extended command line syntax, FILEDATE can select and sort its
        display by file time and date stamp as well as by file name.  Taking advantage
        of this additional information, FILEDATE often simplifies the task of locating
        files.

        FILEDATE  runs on Zilog Z80-compatible computers under CP/M 2.2 or  equivalent
        operating  systems  with The DateStamper (by Plu*Perfect  Systems),  or  under
        ZSDOS or ZDDOS if a clock driver is installed.

        FILEDATE is a command-line driven utility, rather than an interactive program.
        It  processes  a single command from the user and returns immediately  to  the
        operating  system.  This is the most efficient program design for  experienced
        users, since program size is minimized, output is generated almost as soon  as
        the  program has loaded, and control of the computer is  returned  immediately
        after  output  is generated.  Such programs allow command scripts  to  perform
        custom  functions by bringing the services of several programs under the  con-
        trol of one command.

        By the same token though, command-line driven utilities are often more  diffi-
        cult  to  learn  to use.  Gone are menus, prompts, and  pop-up  help  screens.
        Generally, the more versatile a command-line driven program, the more  compli-
        cated  its  command-line syntax.  Options are usually controlled by  a  single
        character each which when combined form seemingly cryptic commands.

        This  is typical of many utilities of the UNIX operating system, and  is  also
        the  true of FILEDATE.  In addition to the file  specifications  traditionally
        associated  with CP/M directory programs, FILEDATE accepts eight command  line
        option characters, three date signifiers, and optional date and time  specifi-
        cations.   But  by combining options, file specifications, and date  and  time
        specifications,  FILEDATE  offers a broad range of commands for a  variety  of
        purposes.

        While  no installation is necessary, the default values of FILEDATE's  command
        options and the characteristics of FILEDATE's displays may be customized in  a
        wide   variety  of  ways.   To  customize  FILEDATE,  make  sure   the   files
        FILEDATE.COM,  FILEDATE.CFG,  and ZCNFG.COM are present and execute  ZCNFG  by
        entering  is name followed by "FILEDATE".  More information on the ZCNFG  cus-
        tomization utility is contained in Section 4.8.


        4.4.1 FILEDATE Syntax.

        The  command  line syntax of FILEDATE has the virtue of making  very  powerful
        commands  concise, with the drawback of making command entry somewhat  cryptic


        ZSDOS 1.0                         - 79 -                          User's Manual


        FILEDATE - Display File Dates                                  ZSDOS UTILITIES


        for beginners.  As an example, the command

                       FILEDATE B:*.Z80 -AU=

        instructs FILEDATE to

             Display all files on all user areas of drive B with the file type ".Z80"
             which were accessed today, in order from the most recently accessed file
             to the least recently accessed.

        As you can see, the natural language command is much clearer, but also consid-
        erably longer than FILEDATE's command!


        4.4.1.1 FILEDATE Syntax Summary.

        Using the rules given in Section 1.6, a symbolic summary of FILEDATE's command
        line syntax appears as:

             FILEDATE [dir:][afn] [/][options][<,=,or >[dd.mm.yy time]]

        This  rather  daunting expression may be mastered by breaking it up  into  its
        five  components.  All FILEDATE command lines consist of the FILEDATE  program
        name  followed by three optional fields and the option signifier, in the  fol-
        lowing order:

             [dir:][afn]                      - File specification field.
             [/]                              - Option signifier.
             [options]                        - Option field.
             [<, =, or >[dd.mm.yy time]]      - Date specification field.

        The option signifier serves only to introduce the option and/or date  specifi-
        cation  fields  when no files are specified.  The following  sections  explain
        each of the three fields in detail.


        4.4.1.2 The File Specification Field.

        FILEDATE ("FD" for short) accepts standard CP/M file specifications or  files-
        pecs, including wildcard characters and CP/M drive or ZCPR directory  specifi-
        cations.   If no filename is given, all files are matched, and if no drive  or
        directory  is  given the current directory is assumed.  The  general  form  of
        FILEDATE's filespec is:

                       FILEDATE [d: or dir:][afn]






        User's Manual                     - 80 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                  FILEDATE - Display File Dates


             Examples:

             FD NOVEL.*    Match all files beginning with the name  "NOVEL" at  the
                          current directory.

             FD 4:         Match all files on the current drive at user 4 (ZCPR).


        4.4.1.3 The Option Field.

        The  second  field of a FILEDATE command is the option  field.   Command  line
        options tell FILEDATE to select, sort, and display files in various ways.  The
        general form of the option specification is

                       FILEDATE [/][options]

        where options indicates one or more of the following option characters:

             Option    Meaning

                /      Display built-in help
                +      Sort the output by date in ascending order
                -      Sort the output by date in descending order
                A      Sort or select files by Last Access time and date
                C      Sort or select files by Create time and date
                D      Display all dates
                N      Do not pause the display at each screen
                S      Display System files
                U      Display files from all user areas on the selected drive

        As mentioned above, all command line options may be introduced either  follow-
        ing a file specification or with the option signifier (/).   If a file  speci-
        fication is given, options must follow the filespec.  Multiple options may  be
        given at one time with the exception of Help, which must be specified alone.

             Examples:

             FD //           Display built-in help message.

             FD /N           Display files without pausing.

             FD /+AU         Display files from all user areas, sorted in ascending
                            order by access date.


        4.4.1.3a Sorting by Date.

        Normally, files displayed by FILEDATE are sorted alphabetically by name.   The
        "+"  and  "-" options instruct FILEDATE to sort by date instead.   "+"  causes


        ZSDOS 1.0                         - 81 -                          User's Manual


        FILEDATE - Display File Dates                                  ZSDOS UTILITIES


        files to be displayed in ascending order, with the earliest files first, while
        "-"  displays  the latest files first.  This is useful  in  determining  which
        files on a disk are oldest or newest.

        Sort  by date is a very useful feature, as it reveals  temporal  relationships
        between  files.  For example, callers to a bulletin board system can  use  the
        "-"  option  to list files most recently uploaded to the board.   The  command
        FILEDATE  *.COM A+ (list command files by access date, starting  with  the
        oldest)  can be used to sort through and eliminate unused command  files  when
        disk space is at a premium.

             Examples:

             FD *.DOC +     Display  files  at the current drive and  user  ending
                            with ".DOC," sorted from earliest to latest.

             FD B: -         (Note  space  before "-") display files on  drive  B:,
                            sorted from latest to earliest.


        4.4.1.3b Using Access and Create Stamps.

        The  A  and C options are only effective when combined  with  other  options.
        When  sorting  files by datestamp under the "+" or "-"  options  or  selecting
        files by specified dates (see below), FILEDATE normally uses the Last  Modifi-
        cation  stamp.  If the A or C option is given, FILEDATE uses the Last  Access
        or Create stamps (respectively) instead of the Last Modification stamp to sort
        and/or match files.

             Examples:

             FD /+A         Display files at the current directory in the order in
                            which they were last accessed.

             FD /C=         Display all files at the current directory which  were
                            created today.


        4.4.1.3c Displaying All Stamps.

        Normally, FILEDATE displays file date fields which match the current or speci-
        fied date as null fields ("..." by default--see samples below).  This  simpli-
        fies  the task of identifying file stamps which match a given day,  month,  or
        year.   Sometimes,  though,  it is useful to have all  date  fields  displayed
        literally, so the D option forces FILEDATE to display all datestamps uncondi-
        tionally.





        User's Manual                     - 82 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                  FILEDATE - Display File Dates


        4.4.1.3d No Pause.

        Normally,  if there is more than one screenful of output to display,  FILEDATE
        will pause, print the message [more], and await a keystroke from the user at
        the  end of each screen.  The N option tells FILEDATE to display  files  non-
        stop until the list of matching files is exhausted.


        4.4.1.3e Showing System Files.

        Normally, FILEDATE does not display files whose System attribute (t2) is  set.
        The  S option causes such files to be included in the display.   Under  ZCPR,
        the S option is invalid when the Wheel byte is off (reset).


        4.4.1.3f  Showing All User Areas.

        Normally,  FILEDATE  lists files from only one user area at a  time.   The  U
        option  can  be used to display files from all user areas on  the  current  or
        specified  drive.   If a file and/or date specification is given,  only  files
        matching the specification(s) are shown.  Files are sorted first by user area,
        then  by filename unless the "+" or "-" options are used.  Under ZCPR, the  U
        option is invalid when the Wheel byte is off.


        4.4.1.4 The Date Specification Field.

        The  third  and final field of a FILEDATE command is  the  date  specification
        field.  Most directory programs match files by drive, user area, and  filename
        only.  A powerful feature of FILEDATE is its additional ability to match files
        by date and time.  A date and time specification can be given instead of or in
        addition  to drive, user area, and filename specifications.  The general  form
        of the date specification is

                     FILEDATE [/][<, =, or >[dd.mm.yy time]]

        The  date specification field must be the final field of the command,  and  is
        entered following all file or option specifications.  As with file  specifica-
        tions,  only one date specification per command may be used.  Unless files  or
        options were already specified, the date specification must be introduced with
        the option signifier (/).  <, = and > are date signifiers, one of which  must
        always be used to introduce a date specification...


        4.4.1.4a Date Signifiers.

        FILEDATE processes date specifications in much the same way it processes  file
        specifications--date  specifications  select a subset of files.   However,  in
        addition  to the ability to select files equal to a given date, FILEDATE  adds


        ZSDOS 1.0                         - 83 -                          User's Manual


        FILEDATE - Display File Dates                                  ZSDOS UTILITIES


        the ability to select files from before or after a given date.

        Because FILEDATE can use date specifications in these three ways, whenever you
        give a date specification you must tell FILEDATE how to use it.  Three  unique
        date signifier characters serve this purpose.  The signifiers are as follows:

                 <  - Select files from before the specified date.
                 =  - Select files which match the specified date.
                 >  - Select files from  after the specified date.

        Date signifiers must immediately precede the date specification (no  interven-
        ing spaces).


        4.4.1.4b Dates.

        A date takes the form,

                       [day[.month[.year[ hour[:minute]]]]]

                                        or

                       [day[.month[.year[ +relative time]]]]

        where  the items in brackets are optional, and the dots, colons,  spaces,  and
        plus signs are required if they precede other items.

        Year,  month, day, hour, and minute are entered either as one or  two  decimal
        digits or as wildcard characters.  Hours are assumed to be in 24-hour  ("mili-
        tary")  time.  Years 50 through 99 assume the current century, while years  00
        through 49 assume the next century.  For example,

                                   3.2.88 9:01

                                    specifies

                           February Third, 1988, at 9:01 AM

        DateStamper systems without real time clocks use a relative time to mark files
        instead  of hours and minutes.  This is a decimal value which  is  incremented
        each time a disk access is done, allowing sequential tracking of a day's  file
        activities.   Relative times are entered and displayed as a "+" sign  followed
        by one or more decimal digits.  For example,

                                   4.10.87 +43

                                    specifies

                      October Fourth, 1987, at Relative Time +0043


        User's Manual                     - 84 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                  FILEDATE - Display File Dates



        The wildcard character "*" may be used to match any value for any date or time
        item.  For example,


                                   *.2.88 9:*

                                    specifies

                   ANY day during February, 1988, from 9:00 to 9:59 AM

        Finally, one or more date items may be omitted, in which case FILEDATE substi-
        tutes  the  current date for that item.  Not specifying a time  has  the  same
        effect as specifying a time of *:*, causing FILEDATE to match all times.   As
        with dates, if only a partial time is given, FILEDATE substitutes current time
        items for missing ones.  Here are some further examples:

        Date                Meaning

        (blank)             Current day, month, and year, any time.

        22.12.87 :        December 22, 1987, current time.

        22.12.87           December 22, 1987, any time.

        .12.87             Current day in December, 1987, any time.

        *.*.87             Any day in 1987, any time.

        *.3                 Any day in March of the current year, any time.

        1                   First day in the current month and year, any time.

        .. 14:*            Today between 2:00 and 2:59 PM


        4.4.1.4c Date Specifications.

        Combining date signifiers with dates, many date specifications (or  datespecs)
        are possible.  Here are some examples:

        Datespec           Meaning

        =                  Select files matching today's date.

        <11.9.88          Select files created before September 11, 1988.

        >.. 11:59         Select files created after 11:59 AM today.



        ZSDOS 1.0                         - 85 -                          User's Manual


        FILEDATE - Display File Dates                                  ZSDOS UTILITIES



        4.4.1.6 The Complete FILEDATE Syntax.

        Once  you have mastered the command syntax of FILEDATE, you can  combine  file
        specifications,  options, and date specifications to form an almost  unlimited
        variety of search commands.  Here are some examples:

        COMMAND

        FD  WORK:*.Z80  -=  List  all .Z80 files at WORK: last  modified    today,
                            most recent first.
        Components
             WORK:*.Z80     Find .Z80 files at the WORK: directory.
             -                List most recent files first.
             =                Match only files modified today.


        COMMAND

        FD B: +U<1.1         List by modification date all files at all user  areas
                            of drive B: which were created during previous years.
        Components
             B:               Match all files on drive B:
             +                List files by modification date.
             U                List files at all user areas.
             <1.1            List  files  from previous years only (less  than  the
                            first of the current year).


        4.4.2 FILEDATE Output.

        In default mode (no options selected), FILEDATE displays the current date  and
        time  and an alphabetized listing of all files at the current drive  and  user
        area,  along  with the dates and times when the files were created,  last  ac-
        cessed, and last modified, individual and total file sizes, and space  remain-
        ing  on the selected drive.  File attributes are shown in alternate video  (if
        available) under ZCPR3.  If a file attribute falls on a space (" ") character,
        the  character  is shown as an underline ("_") character  in  alternate  video
        under ZCPR3.

        Normally,  FILEDATE  only  displays date information if it  differs  from  the
        current  values, and fields matching the current date are displayed as  "...".
        For example, the year and month of a file created yesterday will not be  shown
        (unless today is the first of the month or year).  This unclutters the display
        and  allows  experienced users to quickly distinguish  between  today/previous
        days, this month/previous months, and this year/previous years (the D  option
        overrides this feature).




        User's Manual                     - 86 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                  FILEDATE - Display File Dates


        4.4.2.1 Default Display.

        Here is a display of all files on drive B, user 1 generated on November  12th,
        1988 at 9:50 AM.  The command used was simply

                       FILEDATE B1:

          Current date and time
          |
          12.Nov.88..9:50       Create            Access            Modify        Size
         ================   ---------------   ---------------   ---------------   ----
         B01:-READ   .ME    .3.Oct.....7:56   28.Oct....10:16   .3.Oct.....7:57     4k
         B01:CHECKWS .ZEX   .6.........5:58p  ...........9:45   .6.........5:58p    4k
         B01:SAMPLE  .DOC   .9.Jan.87..9:42   11.Jan.87..1:07p  11.Jan.87..1:07p    4k
         B01:ZSDOCS  .CRW   24.Jul.....7:41p  28.Oct....11:09   24.Jul.....7:41p    8k
         ||  |              20k in    4 files   292k free
         ||  Filenames      |
         |+- User areas     Summary
         +-- Drive

        Parts  of filestamps matching the current date are displayed as "...".   Thus,
        -READ.ME was created on October 3, 1988 at 7:56 AM, and CHECKWS.ZEX was creat-
        ed  on  November  6, 1988 at 5:58 PM.  To the trained eye  it  is  immediately
        apparent that SAMPLE.DOC is the only file of the four which was created during
        a previous year.


        4.4.2.2 Display Sorted by Access Date.

        Whenever FILEDATE matches or sorts by file dates, the word "Create," "Access,"
        or  "Modify" in the header is capitalized to indicate which stamp was used  in
        the  match or sort.  Here are the same four files sorted by access date.   The
        command used was

                       FILEDATE B1: A-

                                        or

             Display all files at directory B1 in order from the most
             recently accessed file to the least recently accessed.

          12.Nov.88..9:50       Create            ACCESS            Modify        Size
         ----------------   ---------------   ---------------   ---------------   ----
         B01:CHECKWS .ZEX   .6.........5:58p  ...........9:45   .6.........5:58p    4k
         B01:ZSDOCS  .CRW   24.Jul.....7:41p  28.Oct....11:09   24.Jul.....7:41p    8k
         B01:-READ   .ME    .3.Oct.....7:56   28.Oct....10:16   .3.Oct.....7:57     4k
         B01:SAMPLE  .DOC   .9.Jan.87..9:42   11.Jan.87..1:07p  11.Jan.87..1:07p    4k
                            20k in    4 files   292k free

        The  same files are displayed, but in reverse access order.  In addition,  the


        ZSDOS 1.0                         - 87 -                          User's Manual


        FILEDATE - Display File Dates                                  ZSDOS UTILITIES


        line  of  =s under the current date has changed to a line of -s  to  indicate
        that the display is sorted in descending order by date, and ACCESS indicates
        that  the Access rather than Create or Modify dates of the files were used  in
        the sort.


        4.4.2.3 Display Selected by Modify Date.

        If a date is specified, it is displayed in place of the current time and  date
        at the upper left hand corner of the output.  The time, if also specified,  is
        shown  along with the specified date.  Otherwise, no time is displayed,  indi-
        cating that all times for the given date are matched.  Here are the same files
        selected by last modify date.  The command used was

                       FILEDATE b1: >*.1

                                     or

             Display  all  files at directory B1  which  were
             last modified after January of the current year.

         Date signifier
         |Date specification
         ||
         >**.Jan.88.            Create            Access            MODIFY        Size
         ================   ---------------   ---------------   ---------------   ----
         B01:-READ   .ME    .3.Oct.....7:56   28.Oct....10:16   .3.Oct.....7:57     4k
         B01:CHECKWS .ZEX   .6.Nov.....5:58p  12.Nov.....9:45   .6.Nov.....5:58p    4k
         B01:ZSDOCS  .CRW   24.Jul.....7:41p  28.Oct....11:09   24.Jul.....7:41p    8k
                            16k in    3 files   292k free

        This time only three of the files matched the specification--the other one was
        last  modified during January, and is not shown.  Since a date was  specified,
        the  date  signifier  followed by the specified date appears  instead  of  the
        current date and time in the upper left hand corner.  The time is not shown in
        the  upper  left hand corner since no time was given.  The word  Modify  has
        changed to MODIFY, indicating that Last Modify rather than Access or  Create
        dates  were used to select the files.  Finally, since neither of the  sort  by
        date ("+" or "-") options was used, the files are sorted alphabetically and  a
        line of =s again appears under the specified date.


        4.4.2.4 Note on Relative Times.

        FILEDATE  displays  relative time stamps in the same  locations  as  real-time
        stamps, but the relative time is displayed as +nnnn instead of hh:mm.  If  the
        display  is sorted and/or selected by date and time, files with relative  time
        stamps are displayed as more recent than all files with real- time stamps  for
        a given day.


        User's Manual                     - 88 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                  FILEDATE - Display File Dates



        4.4.2.5 Notes on Missing Stamps.

        When  files  are created under ZSDOS or DateStamper, their Access  and  Modify
        stamps  are erased (zeroed out) on disk.  These fields remain blank until  the
        first  time the newly created file is "opened" with BDOS function  15  (Access
        stamp), or "closed" with BDOS function 16 (Modify stamp).

        FILEDATE deals with undefined Access or Last Modify fields by copying informa-
        tion implied by other fields of the datestamp whenever possible as follows:

          1. If  a file has no Last Modify record, its time of most recent  modifica-
             tion is implied by that file's Create record.

          2. If  a  file has no Last Access record, its most recent  access  time  is
             implied by that file's Last Modify record or its Create record, in  that
             order.

          3. If  a  file has no Create record, its create time cannot  be  determined
             from either of the other two records.

        All  of  this happens before FILEDATE sorts, selects,  or  displays  datestamp
        information, so files whose Access or Modify fields are technically blank  may
        be  sorted and selected on information implied by other fields in  the  file's
        stamp, and FILEDATE reports datestamp information copied from other fields  in
        the same manner as it reports datestamps read directly from the disk tracks.


        4.4.3 FILEDATE Error Messages.

        Occasionally, FILEDATE will encounter conditions which prevent it from  carry-
        ing out a function, and will display one of the following messages:

        Bad Option: /x

             FILEDATE  detected an invalid option character after the slash.   Either
             the  option  does not exist, or a non-wheel user tried to use  a  wheel-
             protected option, such as S or U.

        !!!TIME&.DAT file missing

             FILEDATE cannot find the special file containing file datestamp informa-
             tion at user area 0 of your disk.

        bad system

             FILEDATE  requires a CP/M 2.2 or equivalent operating system  and  Date-
             Stamper  support.   ZSDOS  and ZDDOS can both  provide  adequate  system
             facilities.


        ZSDOS 1.0                         - 89 -                          User's Manual


        FILEDATE - Display File Dates                                  ZSDOS UTILITIES



        TPA overflow

             FILEDATE ran out of space while reading in file names.  Select a smaller
             set  of files to display and/or remove any RAM-resident utilities  which
             may be taking up Transient Program Area (TPA).

        !!!TIME&.DAT file error, offset nn

             As  it reads datestamps from the !!!TIME&.DAT file, FILEDATE  tests  the
             file  for checksum errors.  This report indicates that a sector  of  the
             file has become corrupted, preventing further datestamping.  The  offset
             given is the decimal record number of the first corrupt sector (starting
             with 0) found.

             !!!TIME&.DAT  checksum  errors  should not occur during  normal  use  of
             ZSDOS,  and generally indicate a serious hardware or  software  problem.
             After   finding  the  source  of  the  problem,  you  may  restore   the
             !!!TIME&.DAT  file  for further use either by zeroing out  the  affected
             sector(s)  with  a  disk utility, or by reinitializing  your  disk  with
             PUTDS.





























        User's Manual                     - 90 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                      RELOG - Reset Disk System


        4.5 RELOG - Reset Disk System.

        RELOG clears the fixed disk login vector in ZSDOS, forcing the directory to be
        re-scanned and the allocation vectors re-built.  RELOG is normally used  after
        running  a bad sector lockout program, when changing the media in  removeable-
        media hard drives, or after using any program that alters the disk  allocation
        bit map in any way.

        As  with  many utilities in this package, RELOG is closely tied to  ZSDOS  and
        will issue an error message if an attempt is made to run it under a  different
        operating system.

        RELOG is invoked from the command line, and has no arguments.  All fixed disks
        are  reset  by this utility forcing a relog on the next selection.   RELOG  is
        enacted by entering:

                       RELOG

        Execution is very fast and results in the following display on your console:

                  RELOG V1.0
                       Clearing Hard Disk Login Vector




























        ZSDOS 1.0                         - 91 -                          User's Manual


        TD - Read and Set Clock                                        ZSDOS UTILITIES


        4.6 TD - Read and Set Clock
        TD  obtains the system Time and Date with a DOS Function 98 and  displays  the
        information on your console.  Your system Must have an installed clock  driver
        to use this utility.  If the clock driver supports a set function, TD can  set
        the  Date  and Time using DOS Function 99.  When setting the  clock,  TD  will
        allow you to operate in either an Interactive or Command Line driven mode.

        TD  can  be configured to present the time in either the US format  of  month,
        day,  year  as: Sep 18, 1988, or the European and military style  as:  18  Sep
        1988.   Likewise,  the set function accepts the US MM/DD/YY  or  the  European
        DD.MM.YY.   To set the default, insure that TD.COM, TD.CFG and  ZCNFG.COM  are
        available to the system, then refer to Section 4.8 for details on using ZCNFG.


        4.6.1 Using TD.

        TD responds to the standard Help request and other program syntax  conventions
        described  in Section 1.6.  In it's simplest form, you may obtain the  current
        Date and Time from the system clock by simply entering the program name as:

                       TD

        A continuous display may be obtained which will update every second until  any
        key is depressed by entering:

                       TD C

        The  system clock may be set in the Interactive mode by entering  the  program
        name followed by the "S" parameter as:

                       TD S

        You will then be asked to enter the date.  The prompt will display the  format
        in which the date will be accepted (US or European) as either:

                       Enter today's date (MM/DD/YY):          - US
        or
                       Enter today's date (DD.MM.YY):          - European

        Date  fields  (month, day, and year) may be either one or two digits  in  each
        position.   Invalid entries such as an invalid day for the entered month  will
        cause the prompt to be re-displayed for a new entry.

        When a valid date has been entered, you will be prompted for the current time.
        The prompt will vary depending on whether you are using a Real Time Clock,  or
        the Relative counter substitute for a clock.  The two prompts are:

                  Enter the time (HH:MM:SS):            - Real Time Clock


        User's Manual                     - 92 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                        TD - Read and Set Clock


                  Enter the relative time (+XXXX):      - Relative Counter

        Time is assumed to be in 24 hour format when a Real Time Clock is being  used,
        and  Seconds  may  be omitted.  When the relative clock is used,  a  '+'  must
        prefix  the count to which you wish to set the relative Counter.  Counts  from
        +0 to +9999 are permitted.

        When  you end the time entry with a carriage return, you will be  prompted  to
        press  any key.  At this point, the next key depression (other than shift  and
        control) will set the clock.  This procedure allows you to accurately synchro-
        nize the time with one of the many accurate time sources.

        You may set the clock from the Command Line by entering the program name  fol-
        lowed by the date and optional time.  The date must be in the correct form (US
        or  European) for the configured TD.  If an error is detected, TD switches  to
        the interactive mode and prompts for date and time as described above.


        4.6.2 TD Error Messages.

        Error messages for TD are simple and are mostly self-explanatory.  For  clari-
        ty, however, they are covered here.

             Message                       Meaning
             -------------------------------------
        SORRY! ZSDOS or ZDDOS is required to run this program!
                  You  tried  to  run this with someone else's DOS.   Use  ZSDOS  or
                  ZDDOS.  This error aborts to the Command Processor.

        *** NO Clock Driver installed!!!
                  You  tried to read a clock which does not exist.  Install a  clock
                  with  SETUPZST  and try again.  This error aborts to  the  Command
                  Processor.

        *** Clock does NOT Support SET!!!
                  The  clock driver on your computer will not permit you to set  the
                  time with TD.  This error aborts to the Command Processor.

        ***  Error  in  Data Input
                  An invalid character or number was entered when trying to set  the
                  date  and time.  This error will cause the Interactive mode to  be
                  entered and issue a prompt to re-enter correct date/time.


        *** Must be wheel to set clock!
                  An  attempt was made to set the clock without Wheel  access.   Use
                  ZSCONFIG  to  set a valid Wheel byte, or disable it  (see  Section
                  4.11.4.8).  This error aborts to the Command Processor.



        ZSDOS 1.0                         - 93 -                          User's Manual


        ZCAL - Display Month                                           ZSDOS UTILITIES


        4.7 ZCAL - Display Month.

        ZCAL  is  a small program written in Z80 assembler language which  performs  a
        simple  but  very useful function, that of quickly drawing a  small  one-month
        calendar to the screen.  Here is a sample of ZCAL's output:

                       APRIL                  1988
                       Sun Mon Tue Wed Thu Fri Sat
                                             1   2
                         3   4   5   6   7   8   9
                        10  11  12  13  14  15  16
                        17  18  19  20  21  22  23
                        24  25  26  27  28  29  30


        4.7.1 Using ZCAL.

        ZCAL  operates  in either "automatic" or "manual" mode--it  can  be  commanded
        either  to draw the current month automatically or to draw a manually  entered
        month from January 1766 through December 2499.

        4.7.1.1 ZCAL System Requirements.

        In order to draw the current month automatically, ZCAL must be used under  the
        ZSDOS  operating  system with a clock module installed.   Either  a  real-time
        hardware  clock  or a relative software clock may be used.  ZCAL can  also  be
        used  under  other  CP/M compatible, Z80 based systems, but  cannot  draw  the
        current month automatically in this case.

        If ZCAL is used under ZCPR, screen highlighting as defined in the current ZCPR
        Terminal  Capability (TCAP) segment is used in automatic mode to indicate  the
        current day of the month.

        4.7.1.2 ZCAL Syntax.

        The  syntax for ZCAL is very simple.  If no parameters are given,  ZCAL  draws
        the  current  month on the screen, highlighting the current day of  the  month
        under ZCPR.

        If a month followed by a year are given, ZCAL draws the specified month.   The
        month may be given as either a number from 1 to 12 or as three or more  alpha-
        betic characters in upper or lower case.  For example, April may be  specified
        as either 4, Apr, APR or April.

        The  year may be given as either a two or a four-digit number.  If two  digits
        are used, the current century is assumed.  Four digit numbers may also be used
        to indicate any year between 1766 A.D. and 2499 A.D.




        User's Manual                     - 94 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                           ZCAL - Display Month


        If  a question mark or one or more slashes ( ) are given as parameters,  ZCAL
        displays  a short help message.  Combining ZCAL's syntax rules, the  following
        are examples of valid commands:

                          Command             Result

                          ZCAL                current month
                          ZCAL ?              help screen
                          ZCAL June 22        June, 1922
                          ZCAL 1 1790         January, 1790
                          ZCAL FEB 2020       February, 2020

        Note that when a month is specified, both month and year are required.


        4.7.2 ZCAL Error Messages.

        ZCAL may print one of two error messages if it is unable to execute properly:

        (help screen)

             Parameters other than a valid month followed by a valid year were  given
             on the command line.

        No clock followed by help screen

             An  attempt was made to automatically display the current month  without
             ZSDOS or without a clock module installed.























        ZSDOS 1.0                         - 95 -                          User's Manual


        ZCNFG - Configuration Utility                                  ZSDOS UTILITIES


        4.8 ZCNFG - Configuration Utility

        While  none of the ZSDOS programs (other than DATSWEEP)  require  installation
        before  use, the characteristics of many ZSDOS programs can be  customized  in
        various ways.  Once you have used the ZSDOS programs for a while, you may wish
        to  change their default options and settings to match your needs and  prefer-
        ences.   ZCNFG,  the Z-System Configuration Utility, provides an  easy,  menu-
        driven means of achieving this.  ZSDOS program (.COM) files which are  config-
        urable  with ZCNFG are accompanied by special configuration files of the  same
        name  but with the file type ".CFG".  So for example, the  configuration  file
        for COPY.COM is named COPY.CFG.


        4.8.1 Using ZCNFG.

        ZCNFG  syntax follows the standard conventions summarized in Section 1.6,  and
        responds to the standard help option sequence of two slash characters.  If you
        have  renamed one of your ZSDOS utilities (e.g., ZXD.COM to D.COM), ZCNFG  may
        still  be used by adding the name of the CFG file to the command  line.   Both
        the  utility  being  configured  and the CFG file  may  be  located  in  other
        Drive/User  Areas,  and  explicitly addressed on the  command  line.   ZCNFG's
        syntax is summarized by:

                       ZCNFG [du:]filename [du:][cfgfilename]

        ZCNFG  first loads your configuration file, then loads your program  file  and
        displays the settings currently in effect.

        4.8.1.1 ZCNFG Toggle Displays.

        ZCNFG configuration displays may take one of two forms.  The first type is one
        in which each of the options is a simple ON/OFF toggle or reversible  setting.
        When  you select one of the menu options by pressing the letter preceding  it,
        its  status is toggled between the condition displayed and an alternate  func-
        tion,  and your screen depicts the new condition.  For example,  configuration
        of the ZXD directory listing utility is presented as:














        User's Manual                     - 96 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                  ZCNFG - Configuration Utility


                                ZXD Configuration Options

                        A)  Display Non-SYStem files
                        B)  Don't display SYStem files
                        U)  List only files in logged User area
                        H)  List in Vertical file sequence
                        F)  No FormFeed at end of Printer List

                        S)  Sort by File Name then Type

                        N)  Print WITH Dates Per WIDE flag
                        W)  List only "Last Modified" Date/Times
                        T)  List DateStamper File Stamps
                        D)  Display Dates in European (DD.MM.YY)
                        Y)  Always print Year digits

                             ZCNFG INSTALLATION CONTROL
            X,^[ = Save changes & eXit       |     Q,^C= Quit, no changes saved
            /,? = Explain Menu Options       |      >  = Next Menu,  <  = Previous

                Which choice?

        Characters shown at the bottom of the screen may be used to obtain more infor-
        mation about the menu options or to exit ZCNFG with or without saving the  new
        settings  to  your program file.


        4.8.1.2 ZCNFG Value Displays.

        The other type of configuration screen is for programs containing configurable
        values  such as drive or filename specifications.  For example,  configuration
        of COPY appears as:


















        ZSDOS 1.0                         - 97 -                          User's Manual


        ZCNFG - Configuration Utility                                  ZSDOS UTILITIES


                _______________COPY Configuration_______________
                A) Archive Bit Control of Select and Copy     NO
                E) Existence Test of File on Destination     YES
                I) Inspect Files Before Copy                  NO
                M) Multiple Disk Copy                         NO
                S) System Files Excluded                      NO
                V) Verify After Copying                      YES
                D) Default Destination Drive/User            B0
                B) Directory Name                            BACKUP

                0) Excluded Files....................   !!?????????
                1) ..................................   [??????]???
                2) ..................................
                3) ..................................
                4) ..................................
                5) ..................................
                6) ..................................
                7) ..................................

                             ZCNFG INSTALLATION CONTROL
            X,^[ = Save changes & eXit       |     Q,^C= Quit, no changes saved
            /,? = Explain Menu Options       |      >  = Next Menu,  <  = Previous

                Which choice?

        In this type of configuration, simple ON/OFF toggles are followed by a YES  or
        NO status message, and selecting a toggle option simply reverses the YES or NO
        message.  If you select any of the other options, ZCNFG prompts you for  addi-
        tional information, displaying changes as they are made.  As above, the  char-
        acters at the bottom of the screen generate help or exit ZCNFG with or without
        saving the new settings permanently.


        4.8.1.3 Note on COPY.

        The two default files shown in the above list are Excluded Files which  should
        not be copied.  The first one identifies special files required by  DateStamp-
        er-type  file stamping and BackGrounder ii.  The second matches special  files
        commonly  used in bad sector lockout programs to identify defective disk  sec-
        tors.  Do not delete these entries from COPY!  The utility programs PUTDS  and
        PUTBG must be used to write the special DateStamper and BackGrounder files  to
        disk.









        User's Manual                     - 98 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                         ZPATH - Set ZSDOS Path


        4.9 ZPATH - Set ZSDOS Path

        ZPATH  is  derived from the ZCPR3 utility PATH originally written  by  Richard
        Conn.  In addition to setting and displaying the ZCPR3 Search Path, ZPATH adds
        the  same capabilities for the ZSDOS Internal Search Path.  This utility  only
        operates with ZSDOS, Not ZDDOS which has no Search Path (see Section 1.4).

        Since  the purpose of ZPATH is to dynamically altering system  parameters,  no
        interactive  mode is provided.  Search path parameters are passed on the  com-
        mand line, and may be embedded in a STARTUP alias, or SUBMIT file.


        4.9.1 Using ZPATH.

        ZPATH  follows the syntax and usage conventions covered in Section 1.6 and  is
        activated by entering its name followed by optional parameters.  If you simply
        enter the name with no parameters, ZPATH will display existing ZCPR3 and ZSDOS
        paths.  Command option parameters and the built-in Help are identified in  the
        standard method by preceding them with a slash character.


        4.9.1.1 ZPATH Option Characters.

        Entering  Path elements immediately after the program name will set the  ZCPR3
        path,  if  one  is present.  This retains compatibility with  the  ZCPR3  PATH
        utility  syntax, allowing ZPATH to completely replace it.  The ZSDOS  path  is
        set  by entering the slash option character followed by the command  parameter
        for  a  DOS path set.  Other  command parameters  enable a "Quiet"  mode,  and
        explicitly set the ZCPR3 path.  The complete list of command parameters recog-
        nized by ZPATH is:

                 Parameter            Meaning
                 ----------------------------
                     C           Set the ZCPR3 Search Path.
                     D           Set the ZSDOS Internal Search Path.
                     Q           Operate in a "Quiet" mode.  Do not print
                                    Path values after setting them.

        Path elements are defined as a Drive Letter, a User Number, both Drive  Letter
        and  User Number, or a special character which may be used in place of  either
        the drive, user or both, signifying that the currently-logged parameter should
        be  used.  The path element for the current drive and user would therefore  be
        represented as "$$".


        4.9.1.2 ZPATH Examples.

        Assuming you are logged onto Drive C, User area 2 with a ZCPR3 Path is already
        set to Drive A, User 0 to the Current Drive, Current user, you would enter the
        following to set a DOS path to Drive A, User 15 to Drive B, user 1


        ZSDOS 1.0                         - 99 -                          User's Manual


        ZPATH - Set ZSDOS Path                                         ZSDOS UTILITIES



                       ZPATH /D=A15 B1

        ZPATH will respond by displaying

                          ZPATH  v1.0 (ZSDOS)

                       - ZCPR3 Path...
                          Symbolic : A0: --> $$:
                          DU       : A0: --> C2:
                          Named    : BASE: --> Noname:

                       - ZSDOS Path...
                          Symbolic : A15: --> B1:
                          DU       : A15: --> B1:
                          Named    : ROOT: --> ZSDOS:

        Either  of the following will accomplish the same action in a  "Quiet"  mode:

                       ZPATH /QD=A15 B1
             or
                       ZPATH /D=A15 B1 /Q

        ZPATH responds by displaying only

                       ZPATH  v1.0 (ZSDOS)

        To  disable the DOS path or the ZCPR3 path, if using ZCPR3, simply  enter  the
        Command Option prefix for the desired path with no options as

                       ZPATH /D=

        ZPATH then responds with


                       ZPATH  v1.0 (ZSDOS)

                       - ZCPR3 Path...
                          Symbolic : A0: --> $$:
                          DU       : A0: --> C2:
                          Named    : BASE: --> Noname:

                       - ZSDOS Path...
                               - Nil -

        If  you are Not running ZCPR3 and check the status of the default DOS path  by
        simply entering

                       ZPATH


        User's Manual                     - 100 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                         ZPATH - Set ZSDOS Path


        ZPATH responds with:

                       ZPATH  v1.0 (ZSDOS)

                       - ZCPR3 Path...
                              - None -

                       - ZSDOS Path...
                          Symbolic : A0:
                          DU       : A0:
                          Named    : Noname


        4.9.2 ZPATH Error and Warning Messages.

        Under  certain  conditions, ZPATH may issue error or  informational  messages.
        The  most common cause of error messages is an error in  path  specifications,
        such  as  an invalid letter or number, or attempting to set an  invalid  path.
        Informational messages generally show the state of a path, such as disabled or
        non-existent.  The complete list is:

             Message                                 Meaning
             -----------------------------------------------
        Bad Expression at xx
                  A  character, sequence of characters, or Command Parameter was  in
                  error.  The character(s) causing the error will be shown as xx.

        - None -
                  This  message will be displayed for either the ZCPR3 or  DOS  path
                  when no path is defined.

        - Disabled -
                  The ZSDOS Internal path has been disabled

        - Nil -
                  The path is defined, but has no elements defined (Zero length).

        - No Wheel
                  An  attempt  was made to set a path  without  "Wheel"  privileges.
                  (See Section 2.7 and Appendix 5 for more on the Wheel byte)

        - No ZCPR3 Path
                  An attempt was made to set the ZCPR3 path when it does not exist.

        - No DOS Path
                  An attempt was made to set the ZSDOS path when it was disabled





        ZSDOS 1.0                         - 101 -                          User's Manual


        ZSCONFIG - Configure a Running ZSDOS System                    ZSDOS UTILITIES


        4.10  ZSCONFIG - Configure a Running ZSDOS System.

        ZSCONFIG  configures the option byte, addresses and pointers in  an  installed
        ZSDOS  operating  system.  It operates in either an  interactive  (novice)  or
        command line (expert) mode for maximum convenience.  ZSCONFIG help and general
        usage follows the standards described in Section 1.6.

        ZSCONFIG automatically tailors itself to the type of ZSDOS and ZCPR system  in
        use.   Messages displayed reflect the options and status for ZSDOS  or  ZDDOS,
        and  if  your computer is running ZCPR3, ZSCONFIG offers an  enhanced  display
        using video attributes such as reverse video and cursor addressing.


        4.10.1 ZSCONFIG Interactive Mode.

        To start ZSCONFIG in the interactive mode, simply enter the program name as:

                       ZSCONFIG

        You  will  see a screen containing needed ZCPR addresses (if  present)  and  a
        tabular  display  of the current settings within the operating  ZSDOS  system.
        For  example,  under       with a stamp and clock module and ZCPR3  a  display
        similar to the following appears:

           ...Configuring ZSDOS Ver 1.0         Z3 Environment at  : FE00H
                                                ZCPR Path Address  : FDF4H
                                                     Wheel Byte at : FDFFH

             1 - Public Files           : YES
             2 - Pub/Path Write Enable  : NO
             3 - Read-Only Vector       : YES
             4 - Fast Fixed Disk Log    : YES
             5 - Disk Change Warning    : NO
             6 - Path w/o System Attr   : YES
             7 - DOS Search Path        : Enabled - Internal
             8 - Wheel Byte Protect     : Enabled  Addr = FDFFH
             T - Time Routine (Clock)   : F168H
             A - Stamp Last Access Time : Disabled
             C - Stamp Create Time      : EEB2H
             M - Stamp Modify Time      : EEBCH
             G - Get Date/Time Stamp    : EEE9H
             S - Set Date/Time Stamp    : EEF1H

           Entry to Change ("X" to EXIT) : _

        The  type of Operating system and version number are shown at the top  of  the
        screen,  followed  by any ZCPR3 Environment information needed.   If  no  ZCPR
        Environment is found, a message appears to that effect and certain options are
        restricted (see detailed descriptions below).


        User's Manual                     - 102 -                              ZSDOS 1.0


        ZSDOS UTILITIES                    ZSCONFIG - Configure a Running ZSDOS System



        Under ZDDOS and ZCPR, the display changes to:

           ...Configuring ZDDOS Ver 1.0         Z3 Environment at  : FE00H
                                                ZCPR Path Address  : FDF4H
                                                     Wheel Byte at : FDFFH

             1 - Public Files           : YES
             2 - Public Write Enable    : NO
             3 - Read-Only Vector       : YES
             4 - Fast Fixed Disk Log    : YES
             5 - Disk Change Warning    : NO
             8 - Wheel Byte Protect     : Disabled..Assumed ON
             T - Time Routine (Clock)   : F168H
             A - Stamp Last Access Time : Enabled
             M - Stamp Modify Time      : Enabled

           Entry to Change ("X" to EXIT) : _

        Note  the  differences.   For example, under ZSDOS the choice for  item     is
        Pub/Path Write Enable.  Under ZDDOS this item changes to Public Write  Enable,
        reflecting  the fact that no DOS Search Path is available under  ZDDOS.   Note
        also that some of the Time Stamp- related items such as Get and Put Stamps are
        excluded.   Since ZDDOS contains an integral DateStamper, no entry points  for
        external  routines  are required, and the two  datestamping  items  displayed,
        Stamp Last Access Time and Stamp Modify Time, can only be Enabled and Disabled
        under ZDDOS.

        Interactive operation consists simply of entering the number or letter to  the
        left of each line to select a function.  If you select numbers between one and
        six,  the  option  is changed from YES to NO or vice versa, and  the  menu  is
        redisplayed.  Other items cause ZSCONFIG to prompt you for additional informa-
        tion (see Section 4.10.3 below).


        4.10.2 ZSCONFIG Expert Mode.

        Expert  Mode  provides the ability to dynamically set ZSDOS  options  directly
        from your console or from within command scripts such as ZCPR STARTUP or Alias
        files  or  CP/M Submit files.  Command scripts may even tailor ZSDOS  for  use
        with  specific applications by calling ZSCONFIG before and after the  applica-
        tion  is run.

        Settings  are passed to ZSCONFIG as groups of characters separated by  one  or
        more  tabs, spaces or commas.  Each group of characters begins with a
        Identifier  which identifies the setting to be changed.  In the case of  items
        related to time and date, a two- character sequence is used: A "+" sign  iden-
        tifies the Command as a Clock or Time Stamp-related function and the following
        character  tells which of the six parameters to change.


        ZSDOS 1.0                         - 103 -                          User's Manual


        ZSCONFIG - Configure a Running ZSDOS System                    ZSDOS UTILITIES



        For ZSDOS, the Expert mode Command Identifiers are:

                  P  - Public File Support
                  W  - Public/Path Write Enable
                  R  - Read-Only Drive Sustain
                  F  - Fast Hard Disk Relog
                  !  - Disk Change Warning
                  S  - Path without SYStem Attribute
                  >  - ZSDOS Search Path
                  *  - Wheel Byte Write Protect
                  C  - Clock Routine Address
                  +A - Stamp Access Time Address
                  +C - Stamp Create Time Address
                  +M - Stamp Modify Time Address
                  +G - Get File Stamp Address
                  +S - Set File Stamp Address

        For ZDDOS, the Identifiers are:

                  P  - Public File Support
                  W  - Public Write Enable
                  R  - Read-Only Drive Sustain
                  F  - Fast Hard Disk Relog
                  !  - Disk Change Warning
                  *  - Wheel Byte Write Protect
                  C  - Clock Routine Address
                  +A - Stamp Access Time Enable/Disable
                  +M - Stamp Modify Time Enable/Disable

        Options which are simply On/Off toggles are enabled by the character alone and
        are disabled by following the character with a minus sign ("-").  For example,
        to turn Public File Support on, enable Fast Hard Disk Relog, and disable  Disk
        Change warnings, the command is:

                       ZSCONFIG P,F,!-

        Certain options require additional parameters which are handled by a secondary
        prompt in the interactive mode.  Since no prompt is issued in expert mode, the
        additional parameters are passed by appending them to their Command  Identifi-
        ers.   For  example,  to set the address of the Write Protect  Wheel  byte  to
        ZCPR's Wheel byte address, activate the Internal Search Path (if using ZSDOS),
        and set the Clock address to 0050H the command is:

                       ZSCONFIG *Z,>I,C50

        Please  remember that no spaces or other delimiters (tabs, commas,  etc.)  are
        permitted  between Command Identifiers and their arguments.  An Invalid  error
        will generally occur if you forget.  All addresses are entered as  Hexadecimal


        User's Manual                     - 104 -                              ZSDOS 1.0


        ZSDOS UTILITIES                    ZSCONFIG - Configure a Running ZSDOS System


        (base  16) numbers with optional leading zeros.  The algorithm used to  inter-
        pret  the  number entered only retains the final four hex digits,  so  if  you
        enter the sequence 0036C921045 it is interpreted as 1045H.

        The following section describes the various settings for each option.


        4.10.3  ZSCONFIG Options.

        The two tools which permit tailoring of a ZSDOS system to your specific needs,
        INSTALOS  and ZSCONFIG, both present the same interactive display.  This  sec-
        tion is therefore applicable to installation as well as "on the fly"  customi-
        zation  with ZSCONFIG.  Below, both command line and interactive  entries  for
        eash  ZSCONFIG option are discussed.  The options are covered in the order  of
        their appearance in the INSTALOS and ZSCONFIG interactive menus.


        4.10.4.1  Public Files.  (ZSDOS and ZDDOS)

                  Interactive Toggle    : 1 - Public Files

                  Command Line Character: P
                                 Enable : P
                                 Disable: D-

                  Default Setting       : YES (enabled)

        When set to YES or enabled, this option makes Public files accessible from any
        user  area on the disk (see Appendix 5 for more on Public files).  This  means
        that  a  search for the file will locate it on the first  try,  regardless  of
        which User Area is currently selected (see Section 2.8.3, Public Access).   If
        set to NO or disabled, all files are private and can only be found if the user
        area matches that of the file.


        4.10.3.2  Public/Path Write Enable.  (ZSDOS and ZDDOS)

                  Interactive Toggle    : 2 - Pub/Path Write Enable (ZSDOS)
                                        : 2 - Public Write Enable (ZDDOS)

                  Command Line Character: W
                                 Enable : W
                                 Disable: W-

                  Default Setting       : NO (disabled)

        When  this option is set to YES or enabled, both ZSDOS and ZDDOS permit  write
        operations  to Public files, and ZSDOS allows writing to files  located  along
        the Path.  When Public/Path Write is disabled, attempts to write to the Public


        ZSDOS 1.0                         - 105 -                          User's Manual


        ZSCONFIG - Configure a Running ZSDOS System                    ZSDOS UTILITIES


        or Path files result in Read-Only errors.


        4.10.3.3  Read-Only Vector Sustain.  (ZSDOS and ZDDOS)

                  Interactive Toggle    : 3 - Read-Only Vector

                  Command Line Character: R
                                 Enable : R
                                 Disable: R-

                  Default Setting       : YES (enabled)

        When this option is set to YES or enabled, the normal Write Protect vector set
        by ZSDOS function call 28 will not be cleared on a warm boot as with CP/M  and
        ZRDOS.  If set to NO or disabled, the Write Protect vector will function as in
        CP/M and ZRDOS.


        4.10.3.4  Fast Fixed Disk Relog.  (ZSDOS and ZDDOS)

                  Interactive Toggle    : 4 - Fast Fixed Disk Log

                  Command Line Character: F
                                 Enable : F
                                 Disable: F-

                  Default Setting       : YES (enabled)

        When this option is set to YES or enabled, the allocation bit map for a  fixed
        drive  (one  in which the WACD buffer is zero) will not be rebuilt  after  the
        initial  drive logon.  This results in much faster operation for systems  with
        Hard Disks and RAM disks.  If Fast Fixed Disk Relog is set to NO or  disabled,
        the  allocation map will be rebuilt each time fixed disk drives are  initially
        selected after a warm boot.


        4.10.3.5  Disk Change Warning.  (ZSDOS and ZDDOS)

                  Interactive Toggle    : 5 - Disk Change Warning

                  Command Line Character: !
                                 Enable : !
                                 Disable: !-

                  Default Setting       : NO (disabled)

        When this option is set to YES or enabled, a warning will be printed  whenever
        ZSDOS  detects  that a disk in a removable-media drive (normally  floppy  disk


        User's Manual                     - 106 -                              ZSDOS 1.0


        ZSDOS UTILITIES                    ZSCONFIG - Configure a Running ZSDOS System


        drives)  has been changed.  If you press any key other than  Control-C,  ZSDOS
        automatically  logs in the new disk and continues.  If Disk Change Warning  is
        set  to NO or disabled, no warning is given, disks are  automatically  logged,
        and the operation in progress continues.


        4.10.3.6.  Path Without System Attribute.  (ZSDOS only)

                  Interactive Toggle    : 6 - Path w/o System Attr

                  Command Line Character: S
                                 Enable : S
                                 Disable: S-

                  Default Setting       : NO (disabled)

        When this option is set to YES or enabled, files at directories along the Path
        will  be  found without the System Attribute being set (see  Section  2.8.2.1,
        Path Directory Access mode).  If Path Without System Attribute is set to NO or
        disabled,  files  at directories along the Path will not be found  unless  the
        System  Attribute Bit (bit 7 of the second character in the filetype)  is  set
        (see  Section 2.8.2.2, Path File Access mode).


        4.10.3.7  DOS Search Path.  (ZSDOS only)

                  Interactive Prompt    : 7 - DOS Search Path
                                 Options: (D)isable, (S)et addr, (I)nternal
                                           (Z)CPR3 (ZCPR3 only)

                  Command Line Character: >
                                 Enable : >addr, >I
                                          >Z (only if running ZCPR3)
                                 Disable: >-

                  Default Setting       : NO (disabled)

        Selecting this option from Interactive mode causes ZSCONFIG to prompt you  for
        one of three additional options (four if running ZCPR3).  One of the following
        will be displayed depending on whether a ZCPR3 Environment is present:

                  DOS Path [(D)isable, (S)et, (I)nternal, (Z)CPR3] :
                  DOS Path [(D)isable, (S)et, (I)nternal] :

        Operating  ZSCONFIG  in the Command Line mode permits you to select  the  same
        options  directly  from the command line as summarized above.   No  additional
        characters are required for Disable, Internal or ZCPR3 path selection.  If you
        choose the ( )et option, ZSCONFIG prompts you for a Hexidecimal address with:



        ZSDOS 1.0                         - 107 -                          User's Manual


        ZSCONFIG - Configure a Running ZSDOS System                    ZSDOS UTILITIES


                  Enter PATH Address :

        If  you  Disable  the DOS Path option, ZSDOS functions just as  CP/M  2.2  and
        ZRDOS.   Requests  for files access only the currently logged disk  and  user,
        modified only by the Public capability, if active.  This results in the famil-
        iar  requirement to install utilities such as compilers, word  processors  and
        data base management systems to tell them where to go to find their overlays.

        Proper  use of the DOS Path overcomes the limitation in finding program  over-
        lays and other files by simply setting the DOS Path to the drive and user area
        where  the relevant overlays and other files are stored.  The Path may be  set
        in three ways.

        The  first  way is to assign a fixed address using the (S)et option  from  the
        Interactive Mode, or to append the address to the Command Character in Command
        Line mode.  You will be responsible for insuring that any path at that address
        conforms to proper ZCPR2/3 path definitions.

        The second way to set a DOS Path is to use ZSDOS's three-element Internal path
        by  selecting the (I)nternal option in Interactive Mode, or adding an I  after
        the Command Character in Command Line mode.  As distributed, ZSDOS's  Internal
        Path consists of the entry A0:, which directs path searches to User Area 0  on
        Drive  A.   An  alternative  way to activate the Internal  Path  is  with  the
        ZPATH.COM  utility  described in Section 4.9.  ZPATH allows you to  define  an
        Internal Path of up to three drive/user search elements.

        The final method of setting a DOS Path is only available if you are  operating
        a  ZCPR3  system.  By selecting the (Z)CPR3 option from Interactive  Mode,  or
        following the Command Character with a Z in Command Line mode, you use ZCPR3's
        Command Search Path as your ZSDOS Search Path.

        This  Path mode will probably see little use, but it is available for  systems
        which need more than three elements in a path.  The principal disadvantage  of
        using  the ZCPR3 path is that requests from the command prompt (e.g. A0>)  may
        result  in n-squared searches where n is the number of elements in  the  path.
        This  is  bacause  ZCPR3 will select the first path element,  and  ZSDOS  will
        sequentially  search along the entire path if the command file is  not  found,
        returning  to ZCPR3 with a file not found error.  ZCPR3 will then  select  the
        second  element  and  ZSDOS will again search along the entire  path  for  the
        command file.  This situation does not occur from within application  programs
        since the ZCPR3 Command Processor is no longer active at this point.


        4.10.3.8  Wheel Byte Write Protect.  (ZSDOS and ZDDOS)

                  Interactive Prompt    : 8 - Wheel Byte Protect
                                 Options: (D)isable, (S)et addr
                                          (Z)CPR3 (ZCPR3 only)



        User's Manual                     - 108 -                              ZSDOS 1.0


        ZSDOS UTILITIES                    ZSCONFIG - Configure a Running ZSDOS System


                  Command Line Character: *
                                 Enable : *addr
                                          *Z          (ZCPR3 only)
                                 Disable: *-

                  Default Setting       : NO (disabled)

        When  you select this option in Interactive mode, ZSCONFIG presents  you  with
        one of two additional prompts.  Which prompt you see depends on whether or not
        you are running ZCPR3.  The lines are:

                  Wheel [(D)isable, (S)et, (Z)CPR3] :     - ZCPR3
                  Wheel [(D)isable, (S)et] :              - Non ZCPR3

        Selecting  the  (D)isable option by entering a D or disabling the  Wheel  Byte
        with the *- string in Command Line mode causes ZSDOS to assume that the  Wheel
        byte  is always ON, giving all users full privileges in file control  (Writes,
        Renames and Erasures).  Selecting the (S)et option in Interactive mode  allows
        you  to enter the Hexidecimal address of your Wheel Byte.  It is your  respon-
        sibility to ensure that the byte is protected as necessary from  unintentional
        alteration.   Setting  a Wheel Byte address from the Command line  simply  re-
        quires appending a Hexidecimal address after the Wheel Command Character.

        As with the DOS Path entry, the (Z)CPR3 option is only available under  ZCPR3.
        If  available, entering a Z in Interactive mode or a *Z parameter string  from
        the  Command  Line sets the address to the address of the Wheel  byte  in  the
        current ZCPR3 environment.


        4.10.3.9  Time Routine (Clock Driver).  (ZSDOS and ZDDOS)

             *********************** W A R N I N G **************************
             * Only Set this option is you have a clock driver conforming   *
             * to the interface specifications listed in Section 3.4.2.  A  *
             * system crash may result if specifications are not met.       *
             ****************************************************************

                  Interactive Prompt    : T - Time Routine (Clock)
                                 Options: (D)isable, (S)et addr

                  Command Line Character: C
                                 Enable : C addr
                                 Disable: C-

                  Default Setting       : Disabled

        This  option  allows the user to enter the address of a clock  driver  routine
        conforming to ZSDOS standards, or disable an existing clock routine.  Entering
        a T in Interactive mode causes the following prompt to appear:


        ZSDOS 1.0                         - 109 -                          User's Manual


        ZSCONFIG - Configure a Running ZSDOS System                    ZSDOS UTILITIES



                       Time (Clock) Routine [(D)isable, (S)et] :

        Responding  with  a D or entering the Command Line sequence  C-  disables  any
        existing  clock.   This causes an error return to DOS function calls  104  and
        105,  and disables File Date/Time Stamping.  If you respond with an S at  this
        point  in Interactive mode, you will be further prompted for  the  Hexadecimal
        address of a clock driver.  A Clock Driver address may be set from the command
        line  by following the C Command Identifier with a valid Hexidecimal  address.
        Do NOT enter unknown values since unpredictable results can occur!


        4.10.3.10  Stamp Last Accessed Time.  (ZSDOS and ZDDOS)

             *********************** W A R N I N G **************************
             * Do NOT set this option unless you are certain that the       *
             * interface specifications for this type of stamp exist at the *
             * specified address.  This address will always be displayed as *
             * disabled when a valid P2DOS-only Stamp method is used.       *
             * Interface specifications are contained in the ZSDOS Program- *
             * mer's Manual available separately.                           *
             ****************************************************************

                  Interactive Prompt    : A - Stamp Last Access Time
                                 Options: (D)isable, (S)et addr       (ZSDOS)
                                          (D)isable, (E)nable         (ZDDOS)

                  Command Line Character: +A
                                 Enable : +A addr                   (ZSDOS)
                                          +A                       (ZDDOS)
                                 Disable: +A-

                  Default Setting       : Disabled

        This option is only available with DateStamper type of Date/ Time Stamps.  For
        P2DOS,  the  function is not defined and is disabled by the  Loader  generated
        under  SETUPZST.  As stated in Section 3.4.4, unless you have a definite  need
        to retain a record of the last time files are accessed, we recommend that  you
        disable this option to reduce unnecessary overhead.  To Select the Last Access
        Time  option, enter an   at the Interactive main prompt.  This will cause  one
        of two prompts to be displayed, depending on whether ZSDOS or ZDDOS is active:

             Stamp Last Access Time Routine [(D)isable, (S)et] :                    - ZSDOS
             Stamp Last Access Time Routine [(D)isable, (E)nable] :                  - ZDDOS

        If you enter a D at this point in the Interactive mode or disable the function
        with  the sequence +A- in the Command Line mode, no times will be  entered  in
        the Last Accessed field in the DateStamper file.



        User's Manual                     - 110 -                              ZSDOS 1.0


        ZSDOS UTILITIES                    ZSCONFIG - Configure a Running ZSDOS System


        If  you are running ZDDOS with the built-in DateStamper support,  this  option
        may be re-enabled by selecting the E option in the Interactive mode from  this
        secondary prompt, or the sequence +A from the Command Line mode.  With  ZSDOS,
        a simple "Enable" command cannot be used since the DOS does not know where the
        Date/Time  Stamp code has been placed in memory.  For ZSDOS, you must use  the
        Set command with a Hexidecimal address.  In the Interactive mode, entering  an
        S from the secondary prompt mode causes ZSCONFIG to query you for the hexadec-
        imal address of a Stamp Last Access routine.  The same function in the Command
        Line mode requires the Command sequence +A followed by a Hexadecimal  address.
        Do NOT enter unknown values since unpredictable results can occur!


        4.10.3.11  Stamp Create Time.  (ZSDOS only)

         *********************** W A R N I N G ************************
         * Do Not SET this option unless you are certain that code    *
         * meeting interface specifications for this type of stamp    *
         * exist at the specified address.  Interface specifications  *
         * are contained in the ZSDOS Programmer's Manual available   *
         * separately.                                                *
         **************************************************************

                  Interactive Prompt    : C - Stamp Create Time

                  Command Line Character: +C
                                 Enable : +C addr
                                 Disable: +C-

                  Default Setting       : Disabled

        Entering a C from the menu in interactive mode allows you to change the  Stamp
        Create routine address if you are running ZSDOS.  A secondary prompt appears:

                  Stamp Create Time Routine [(D)isable, (S)et] :

        To  disable Create time stamping, respond with a D, or enter the sequence  +C-
        in  Command Line mode.  You will probably never want to exercise this  option,
        but  it was made available to brave system developers who may want to  experi-
        ment.   Unless you are an experienced system developer, we urge you  to  leave
        this option alone.

        To set the address of a Stamp Create Time routine, enter an S from the second-
        ary  prompt  of Interactive mode, causing ZSCONFIG to ask  for  a  Hexidecimal
        address.  The same action is accomplished in Command Line mode by entering the
        Command  Sequence +C followed by a Hexidecimal address.  Do NOT enter  unknown
        values since unpredictable results can occur!





        ZSDOS 1.0                         - 111 -                          User's Manual


        ZSCONFIG - Configure a Running ZSDOS System                    ZSDOS UTILITIES


        4.10.3.12  Stamp Modify Time.  (ZSDOS and ZDDOS)

             *********************** W A R N I N G ************************
             * Do Not SET this option unless you are certain that code    *
             * meeting interface specifications for this type of stamp    *
             * exists at the specified address.  Interface specifications *
             * are contained in the ZSDOS Programmer's Manual avaiable    *
             * separately.                                                *
             **************************************************************

                  Interactive Prompt    : C - Stamp Modify Time
                                 Options: (D)isable, (S)et addr       (ZSDOS)
                                          (D)isable, (E)nable         (ZDDOS)
                  Command Line Character: +M
                                 Enable : +M addr                   (ZSDOS)
                                          +M                       (ZDDOS)
                                 Disable: +M-

                  Default Setting       : Disabled

        The  time of last Modification of a file is probably the most valuable of  the
        times offered in a ZSDOS system.  As such, you will probably never have a need
        to alter this parameter.  If, however, you are an experienced system  develop-
        er, this feature is available.  To Select the Modify Time option, enter an "M"
        at  the  Interactive main prompt.  This will cause one of two  prompts  to  be
        displayed, depending on whether ZSDOS or ZDDOS is active:

                  Stamp Modify Time Routine [(D)isable, (S)et] :    - ZSDOS
                  Stamp Modify Time Routine [(D)isable, (E)nable] : - ZDDOS

        If  you  enter a D at this point in Interactive mode or disable  the  function
        with  the  sequence +M- in Command Line mode, no times will be stored  in  the
        "Modify" field of whatever Stamp method you are using.

        If  you are running ZDDOS with the built-in DateStamper support,  this  option
        may  be  re-enabled by selecting the E option in Interactive  mode  from  this
        secondary prompt, or the sequence +M from the command line.  As with the  Last
        Access  Stamp, a simple "Enable" command cannot be used with ZSDOS  since  the
        DOS  does  not know the address of the Date/Time Stamp code.  For  ZSDOS,  you
        must use the Set command with a Hexidecimal address.  In the Interactive mode,
        entering  an  S from the secondary prompt causes ZSCONFIG to query you  for  a
        hexadecimal  address for the Stamp Modify routine.  The same function  in  the
        Command  Line mode requires the Command sequence +M followed by a  Hexidecimal
        address.  Do NOT enter unknown values since unpredictable results can occur!







        User's Manual                     - 112 -                              ZSDOS 1.0


        ZSDOS UTILITIES                    ZSCONFIG - Configure a Running ZSDOS System


        4.10.3.13  Get Date/Time Stamp.  (ZSDOS only)

             *********************** W A R N I N G ************************
             * Do Not SET this option unless you are certain that code    *
             * at the specified address meets the ZSDOS interface speci-  *
             * fications.  Interface specifications are contained in the  *
             * ZSDOS Programmer's Manual available separately.            *
             **************************************************************

                  Interactive Prompt    : G - Get Date/Time Stamp

                  Command Line Character: +G
                                 Enable : +G addr
                                 Disable: +G-

                  Default Setting       : NO (disabled)

        To change the Get Date/Time Stamp parameters, enter a G from the main Interac-
        tive  menu, or use the Command sequence +G followed by a hexadecimal  address.
        If operating Interactively, you will see a secondary prompt as:

                       Get Time Stamp Routine [(D)isable, (S)et] :

        Entering a D disables any existing address and causes an error return from DOS
        Function 102.  Disabling from the Command Line mode is accomplished by  enter-
        ing the sequence +G-.

        Unless  you are an experienced system developer, you should never need to  set
        an address for this option.  However, if you do wish to change it, enter an  S
        at  the  secondary prompt in the Interactive mode.  You will be  asked  for  a
        Hexidecimal address for the routine.  Do NOT enter unknown values since unpre-
        dictable results can occur!

        4.10.3.14  Set Date/Time Stamp.  (ZSDOS only)

             *********************** W A R N I N G ************************
             * Do Not SET this option unless you are certain that code    *
             * at the specified address meets the ZSDOS interface speci-  *
             * fications.  Interface specifications are contained in the  *
             * ZSDOS Programmer's Manual available separately.            *
             **************************************************************

                  Interactive Prompt    : S - Set Date/Time Stamp

                  Command Line Character: +S
                                 Enable : +S addr
                                 Disable: +S-

                  Default Setting       : Disabled


        ZSDOS 1.0                         - 113 -                          User's Manual


        ZSCONFIG - Configure a Running ZSDOS System                    ZSDOS UTILITIES


        To change the Set Date/Time Stamp parameters, enter an S from the main  Inter-
        active menu, or use the Command sequence +S.  If operating Interactively,  you
        will see a secondary prompt as:

                       Set Time Stamp Routine [(D)isable, (S)et] :

        Entering a D disables any existing address and cause an error return from  DOS
        Function 103.  Disabling from the Command Line mode is accomplished by  enter-
        ing the sequence +S-.

        Unless  you are an experienced system developer, you should never need to  set
        an address for this option.  However, if you do wish to change it, enter an  S
        at the secondary prompt in Interactive mode.  You will be asked for a  Hexide-
        cimal address for the routine.  To set this option from the Command Line mode,
        enter the Command sequence +S followed by a Hexidecimal address.  Do NOT enter
        unknown values since unpredictable results can occur!


        4.10.4  ZSCONFIG Error Messages.

        ZSCONFIG issues only two error messages.  For the most part, any error you see
        will  deal with invalid parameters or entry mistakes.  The two error  messages
        are:

             Message                            Meaning
             ------------------------------------------
        -- Invalid --

                  An invalid address was entered or an invalid address or  character
                  was  detected in a parameter, or (for ZDDOS), an  invalid  address
                  was detected for a parameter requiring a specific address.

        *** ERROR: DOS is not ZSDOS or ZDDOS!

                  An  attempt was made to run ZSCONFIG on an Operating system  which
                  was  neither ZSDOS nor ZDDOS.  This program cannot function  under
                  any other operating system.














        User's Manual                     - 114 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                 ZXD Extended Directory Utility


        4.11 ZXD - Extended Directory Utility.

        4.11.1 Using ZXD.

        ZXD  is the ZSDOS EXtended Directory listing program and was derived from  the
        ZCPR3 tool XD III written by Richard Conn.   Many additional capabilities were
        added,  not the least of which is the ability to display time stamps for  each
        file  in  a  variety of formats.  ZXD can display file Dates  and  times  from
        DateStamper, P2DOS, and Plu*Perfect Systems' DosDisk stamp methods.  In  ZCPR3
        systems,  the Wheel byte is used to disable some functions as a security  pre-
        caution in remote access systems.

        ZXD  is activated by entering its name at the command prompt, and may be  fol-
        lowed  by  optional drive and user specifications to obtain the  directory  of
        another  drive  or user area.  It may also be followed by  various  parameters
        which alter the format and/or content of the display.  You may obtain a  brief
        Help  message summarizing the syntax, or pass options to ZXD in  the  standard
        format  using the conventions described in Section 1.6.  ZXD's syntax is  sum-
        marized by:

                  ZXD [dir:][afn] [/][options]

        If  ZXD is called with no arguments, a display of only those files  satisfying
        built-in  default conditions will be displayed.  These defaults may be  tempo-
        rarily  changed  by command line arguments, or permanently  changed  with  the
        ZCNFG customization utility program.  After deciding which parameters you  use
        most  by using the command line options, we recommend configuring ZXD  to  re-
        flect  those parameters as defaults.  The results will be the  requirement  to
        enter  fewer  keystrokes, and consequently faster operation when  a  directory
        scan  is required.  To permanently set defaults, insure that ZXD.COM,  ZXD.CFG
        and  ZCNFG.COM are available and call ZCNFG.  Further details on program  cus-
        tomization are contained in Section 4.8.


        4.11.2 ZXD Options.

        Option  parameters, consisting of one or two characters, allow you  to  obtain
        selected  information from files on a disk, or to tailor the display  to  your
        particular  needs.  The option characters are described in alphabetical  order
        in  the following sections.


        4.11.2.1 Select Files by Attribute.

        In order to avoid cluttering a directory display with unwanted file names, ZXD
        features a flag which controls addition of those files marked with the  SYStem
        Attribute  Bit  (see Appendix 5).  The A Option controls  this  feature.   It
        requires a second character of S, N, or A.  Control offered by these  charac-
        ters is:


        ZSDOS 1.0                         - 115 -                          User's Manual


        ZXD Extended Directory Utility                                 ZSDOS UTILITIES



             S - Include Only Files marked with the SYStem Attribute
             N - Include Only Files Not marked with the SYStem Attribute
                  (this is the default condition)
             A - Include All Files

        Since  listing  of  all Non-SYStem files is the default  condition,  you  will
        probably  not use the N option very often.  The A option, on the other  hand,
        offers a simple way of viewing All files within the current directory, includ-
        ing SYStem files which are normally invisible due to the Attribute bit.

        In a ZCPR3 system where Wheel access has not been granted (Wheel byte is Off),
        this option is forced to Non-SYStem files only and the A option chatacter  is
        not permitted.


        4.11.2.2 Date Display Format.

        The Dates for a ZXD display may be displayed in either US form of MM/DD/YY  or
        European  form  of DD.MM.YY.  You may override the default form  with  the  D
        option.  Here is an example of the two types of date displays:

        US Form:

             ZXD  Ver 1.0      17 Sep 1988  15:43:17
             Filename.Typ  Size     Modified      Filename.Typ  Size     Modified
             -------- ---  ----     --------      -------- ---  ----     --------
             INITDIR .COM    4k  07:01-09/17/88   ZPATH   .COM    4k  07:50-09/17/88
             ZXD     .COM    8k  08:01-09/17/88
               C2: -- 3 Files Using 16K (324K Free)


        European Form:

             ZXD  Ver 1.0      17 Sep 1988  15:43:11
             Filename.Typ  Size     Modified      Filename.Typ  Size     Modified
             -------- ---  ----     --------      -------- ---  ----     --------
             INITDIR .COM    4k  07:01-17.09.88   ZPATH   .COM    4k  07:50-17.09.88
             ZXD     .COM    8k  08:01-17.09.88
               C2: -- 3 Files Using 16K (324K Free)


        4.11.2.3 Disable Date (NoDate) Display.

        While  the  display of date and time information is the default mode  of  ZXD,
        this  may  be  disabled with the N option to display more  file  names  on  a
        screen.




        User's Manual                     - 116 -                              ZSDOS 1.0


        ZSDOS UTILITIES                                 ZXD Extended Directory Utility


        4.11.2.4 Output Control Option.

        The  O option controls ZXD's printer or screen output, and requires a  second
        character which adds additional control to output formats.  The second charac-
        ters recognized are:

             F - Send a Form Feed character at the end of the list
             H - Toggle Horizontal/Vertical display of sorted listing


        4.11.2.5 Output to Printer.

        Option  P  controls output to the printer.  When this option is  given,  the
        sorted  directory listing is sent to both the console screen and the  printer.
        This option is disabled and not available in a ZCPR3 system where Wheel access
        has not been granted (Wheel byte is Off).


        4.11.2.6 Sort by Name or Type.

        The default sort condition for ZXD is to first sort by File Name, then by File
        Type within matching Names.  Option S reverses the sequence.


        4.11.2.7 Primary DateStamp.

        ZXD  features an algorithm which will attempt to find one of several types  of
        Date/Time  Stamps  for each file.  The default conditions tell  ZXD  to  first
        attempt to locate DateStamper type of Stamps.  If that fails, a search is made
        for  DosDisk stamps from MS/PC-DOS disks, and finally to check for P2DOS  type
        stamps.   The T option causes the DateStamper checks to be bypassed,  thereby
        speeding response if DateStamper type stamping is never used.


        4.11.2.8 All User Areas.

        The  distribution version of ZXD will only search a single User  area,  either
        the currently logged or the explicitly stated area, for files.  The U  option
        will locate files in all user areas on the disk.  Combining the U with the AA
        options will list all files in all user areas, both system and non-system,  on
        a  disk.   This option is disabled and not available in a ZCPR3  system  where
        Wheel access has not been granted (Wheel byte is Off).


        4.11.2.9 Wide Display.

        ZXD  only displays the "Last Modified" Date/Time Stamp.  This may be  reversed
        by appending the W option to the Command Line, which generates a Wide of  all
        available Stamps.  Only DateStamper has provisions for all three stamp catego-


        ZSDOS 1.0                         - 117 -                          User's Manual


        ZXD Extended Directory Utility                                 ZSDOS UTILITIES


        ries;  P2DOS  contains  only Created and Modified  stamps,  while  the  single
        MS/PC-DOS  stamp accessed through DosDisk best corresponds to  "Modified".   A
        display created with this option is:

             Filename.Typ  Size     Created        Last Access      Modified
             -------- ---  ----     -------        ---- ------      --------
             BU16    .COm    8k  17:26-06/12/88  08:42-08/21/88  17:26-06/12/88
             COPY    .COM    8k  15:06-09/17/88                  15:06-09/17/88
             ZPATH   .COM    4k  07:50-09/17/88  15:02-09/17/88  07:50-09/17/88
             ZXD     .COM    8k  08:00-09/17/88                  08:01-09/17/88









































        User's Manual                     - 118 -                              ZSDOS 1.0


        APPENDIX 1                                                BDOS Quick Reference


                      Appendix 1 - ZSDOS Functions Quick Reference

        Number  Function name         Input Parameters         Returned Values
        ----------------------------------------------------------------------
           0    Boot                  None                     None
           1    Console Input         None                     A=Character
           2    Console Output        E=Character              A=00H
           3    Reader Input          None                     A=Character
           4    Punch Output          E=Character              A=00H
           5    List Output           E=Character              A=00H
           6    Direct Console I/O    E=0FFH (In)              A=Input Character
                                      E=0FEH (In)              A=Console Status
                                      E=0FDH (In)              A=Input Character
                                      E=00H..0FCH (Out)        A=00H
           7    Get I/O Byte          None                     A=I/O Byte (0003H)
           8    Set I/O Byte          E=I/O Byte               A=00H
           9    Print String          DE=Address String        A=00H
          10    Read Console Buffer   DE=Address Buffer        A=00H
          11    Get Console Status    None                     A=00H = No character
                                                               A=01H = Char. present
          12    Get Version Number    None                     A=Version Number (22H)
          13    Reset Disk System     None                     A=00H No $*.* on A
                                                               A=FFH $*.* on A
          14    Select Disk           E=Disk Number            A=00H No $*.* File
                                                               A=FFH $*.* File
          15    Open File             DE=Address of FCB        A=Directory Code
          16    Close File            DE=Address of FCB        A=Directory Code
          17    Search for First      DE=Address of FCB        A=Directory Code
          18    Search for Next       DE=Address of FCB        A=Directory Code
          19    Delete File           DE=Address of FCB        A=Error Code
          20    Read Sequential       DE=Address of FCB        A=Read/Write Code
          21    Write Sequential      DE=Address of FCB        A=Read/Write Code
          22    Make File             DE=Address of FCB        A=Directory Code
          23    Rename File           DE=Address of FCB        A=Error Code
          24    Get Login Vector      None                     HL=Login Vector
          25    Get Current Disk      None                     A=Current Disk
          26    Set DMA Address       DE=DMA Address           A=00H
          27    Get Alloc. Address    None                     HL=Addr Alloc Vector
          28    Write Protect Disk    None                     A=00H
          29    Get R/O Vector        None                     HL=R/O Vector
          30    Set File Attributes   DE=Address FCB           A=Error Code
          31    Get DPB Address       None                     HL=Address of DPB
          32    Set/Get User Code     E=FFH (Get)              A=User Number
                                      E=User Number (Set)      A=00H
          33    Read Random           DE=Address of FCB        A=Read/Write Code
          34    Write Random          DE=Address of FCB        A=Read/Write Code
          35    Compute File Size     DE=Address of FCB        A=Error Code
          36    Set Random Record     DE=Address of FCB        A=00H
          37    Reset Mult Drive      DE=Mask                  A=00H


        ZSDOS 1.0                         - 119 -                          User's Manual


        BDOS Quick Reference                                                APPENDIX 1


          38    Not implemented
          39    Get fixed disk vector None                     HL=Fixed Disk Vector
          40    Write random, 00 fill DE=Addr of FCB           A=Read/Write Code
         41-44  Not implemented
          45    Set error mode        E=FFH (Get)              A=00H
                                      E=FEH (Get Err/Disp)     A=00H
                                      E=01H (Set ZSDOS)        A=00H
                                      E=00H (Set CP/M)         A=00H
          46    Not implemented
          47    Get DMA address       None                     HL=Current DMA Address
          48    Get DOS & version     None                      H=DOS type: "S"=ZSDOS
                                                                            "D"=ZDDOS
                                                                L=BCD Version Number
         49-97  Not implemented

        Functions 98 and 99 are only available if a clock driver module is installed.

          98    Get time              DE=Address to Put Time   A=Time/Date Code
          99    Set time              DE=Address of Time       A=Time/Date Code

         100    Get flags             None                     HL=Flags
         101    Set flags             DE=Flags                 None

        Functions  102 and 103 are only available in ZSDOS if datestamping  module  is
        installed.

         102    Get file stamp        DE=Addr of FCB           A=Time/Date Code,
                                                                  Stamp in DMA Buffer
         103    Set file stamp        DE=FCB Address,          A=Time/Date Code
                                          Stamp in DMA Buffer





















        User's Manual                     - 120 -                              ZSDOS 1.0


        APPENDIX 1                                                BDOS Quick Reference


                            Summary of BDOS Return Codes

        Directory Codes:   A=00H, 01H, 02H, 03H if No Error
                           A=FFH if Error

        Error Codes:       A=00H if No error
                           A=FFH if error

        Time/Date Codes:   A=01H if No error
                           A=FFH if error

        Read/Write Codes:  A=00H if No error
                           A=01H   Read => End of File
                                   Write =>Directory Full
                           A=02H Disk Full
                           A=03H Close Error in Random Record Read/Write
                           A=04H Read Empty Record during Random Record Read
                           A=05H Directory Full during Random Record Write
                           A=06H Record too big during Random Record Read/Write

        Extended Error codes in Return Error Mode:

                           A=FFH Extended Error Flag
                               H=01H Disk I/O Error (Bad Sector)
                               H=02H Read Only Disk
                               H=03H Write Protected File
                               H=04H Invalid Drive (Select)
























        ZSDOS 1.0                         - 121 -                          User's Manual


        BIOS Quick Reference                                                APPENDIX 2


                      Appendix 2 - BIOS Functions Quick Reference

        Number  Function name    Input Parameters         Returned Values
        -----------------------------------------------------------------
           0    BOOT             None                     None
           1    WBOOT            None                     None
           2    CONST            None                     A=FFH If Ready
                                                          A=00H If Not Ready
           3    CONIN            None                     A=Console Character
           4    CONOUT           C=Console Character      None
           5    LIST             C=List Character         None
           6    PUNCH            C=Punch Character        None
           7    READER           None                     A=Reader Character
           8    HOME             None                     None
           9    SELDSK           C=Drive Number (0..15)   HL=Disk Param Header Addr
                                 E=Init Select Flag       HL=0000H If Invalid Drive
          10    SETTRK           BC=Track Number          None
          11    SETSEC           BC=Sector Number         None
          12    SETDMA           BC=DMA Address           None
          13    READ             None                     A=00H If No Error
                                                          A=01H If Error
          14    WRITE            C=00H Write Data         A=00H If No Error
                                 C=01H Write Directory    A=01H If Error
                                 C=02H Write New Data
          15    LISTST           None                     A=00H If Ready
                                                          A=FFH If Not Ready
          16    SECTRN           BC=Logical Sector        HL=Physical Sector
                                     Number                   Number
                                                          DE=Translation Table
                                                              Address

        NOTE: BIOS routines must not alter the IX register!



















        User's Manual                     - 122 -                              ZSDOS 1.0


        APPENDIX 3                                                Datespec/File Stamps


                      Appendix 3 - Datespec and File Stamp Formats

        The  universal  stamp and time formats used by ZSDOS are based on  packed  BCD
        digits.   It was decided that these were the easiest format for  Z80  applica-
        tions  programs to work with, and were compatible with most real time  clocks.
        The  format  for the stamps and for the clock functions are identical  to  the
        Plu*Perfect DateStamper's formats for these functions.

        Some  file stamping formats (for example CP/M Plus type) do not store all  the
        information present in the universal format to disk. In the case of CP/M  Plus
        type  stamps,  there is no provision for stamping the Last Access  time.   The
        ZSDOS  interface routines fill unimplemented fields in the stamp with  0  when
        the  Get Stamp function is used, and ignore the contents of the unused  fields
        when the Put Stamp function is used.

        Depending  on  the stamping method selected, the format of the stamps  on  the
        disk may differ from the universal format.  These differences are  effectively
        hidden from users by ZSDOS and the Stamp routines so long as ZSDOS's functions
        are used to get or manipulate the stamps.

             Time format (6 bytes packed BCD):

                  TIME+0 - last 2 digits of year
                            (prefix 19 assumed for 78 to 99, else 20 assumed)
                  TIME+1 - month  [1..12]
                  TIME+2 - day    [1..31]
                  TIME+3 - hour   [0..23]
                  TIME+4 - minute [0..59]
                  TIME+5 - second [0..59]

             File Stamp format (15 bytes packed BCD):

                  DMA+0  - Create field (first 5 bytes of time format)
                  DMA+5  - Access field (first 5 bytes of time format)
                  DMA+10 - Modify field (first 5 bytes of time format)
















        ZSDOS 1.0                         - 123 -                          User's Manual


        Memory Allocation & Usage                                           APPENDIX 4


                      Appendix 4 - ZSDOS Memory Allocation & Usage

        The  normal memory map for ZSDOS is identical to CP/M 2.2 and ZRDOS  1.x  sys-
        tems.   Starting at absolute memory address 0, the first 256 bytes (0 -  0FFH)
        are reserved for the system base page.  Starting at 100H and continuing to the
        bottom of the lowest system segment is the Transient Program Area (TPA).  This
        is  where all applications programs (such as word processors, database  manag-
        ers,  assemblers, etc.) execute.  ZSDOS does not specify a fixed  address  for
        the lowest system segment.

        System  segments under ZSDOS are defined as any program that  remains  present
        following a warm boot of the system.  Classically, these segments are the  CCP
        (which handles user interface to the system when no transient applications are
        running), the BDOS (which handles all hardware-independent system operations),
        and  the  BIOS (which handles all hardware-dependent system  functions).   The
        separation  of hardware-independent routines and hardware  dependent  routines
        was  one of the most significant advances that CP/M made in  operating  system
        design for microcomputers.

        In addition to the segments already mentioned, numerous other system  segments
        may exist in a ZSDOS system.  Unlike the segments mentioned previously,  these
        segments are not required for ZSDOS to function.  Examples include; RSX's such
        as  BackGrounder ii and DosDisk, ZCPR3 system segments (RCP, FCP,  ENV,  IOP),
        utility  programs such as DateStamper, and finally ZSDOS extensions  for  time
        and filestamp support.

        RSX's are normally located immediately below CCP in memory.  All other option-
        al  system  segments are normally located above BIOS in memory.  In  all,  the
        system memory map appears something like this:

                       FFFFH +--------------------------+
                             | optional system segments |
                       XXXXH +--------------------------+
                             |          BIOS            |
                       BIOS  +--------------------------+
                             |          ZSDOS           |
                  BIOS-0E00H +--------------------------+
                             |           CCP            |
                  BIOS-1600H +--------------------------+
                             |      optional RSX's      |
                       XXXXH +--------------------------+
                             |                          |
                             |     Transient Program    |
                             |           Area           |
                             |                          |
                             |                          |
                       0100H +--------------------------+
                             |        Base Page         |
                       0000H +--------------------------+


        User's Manual                     - 124 -                              ZSDOS 1.0


        APPENDIX 4                                           Memory Allocation & Usage


        As depicted in the diagram, only addresses in the Base Page and the address of
        the  start of TPA are fixed in a ZSDOS system.  All other system  address  are
        calculated  relative to BIOS.  The sizes of ZSDOS, the Base Page, and the  CCP
        are fixed.  All other system segments may be sized as needed.

        Base  Page.  The Base Page (addresses 0 - FFH) is used by ZSDOS for  important
        system  information.   Definitions  for Base Page are the same  as  CP/M  2.2.
        ZSDOS  depends  on  the Base Page being at absolute address 0  in  the  system
        memory map.

        BASE+00H - Jump to BIOS Warm Boot routine (BIOS+03H).

        This address must     be altered by any program.  It provides the only depend-
        able method of finding the locations of ZSDOS system segments in memory.  Here
        is  an example which uses the Warm Boot vector to test for the presence of  an
        RSX:

          FINDZS: LD      HL,(0001H)      ; Get BIOS warm boot address
                  LD      DE,0DFAH        ; ZSDOS entry is this far below
                  AND     A               ; Clear carry
                  SBC     HL,DE           ; HL now points to ZSDOS entry
                  EX      DE,HL
                  LD      HL,(0006H)      ; Get BDOS vector
                  SBC     HL,DE           ; See if addresses same
                  JR      Z,NORSX         ; They are - no RSX's present
                  ...

        BASE+03H - IOBYTE

        The  IOBYTE is a BIOS-related structure that may be used at the option of  the
        BIOS  author to allow for limited redirection of byte-oriented I/O.  The  byte
        itself  consists  of 4 fields which correspond to the Console  (CON:),  Reader
        (RDR:), Punch (PUN:) and List (LST:) logical devices.  Each logical device may
        be assigned to one of up to 4 different physical devices.

        Since implementation of IOBYTE is optional and system- dependent, consult  the
        system  manuals that came with your computer for the definitions  provided  on
        your system.

        BASE+04H - Current Command Processor default drive and user

        This  byte is where CCP stores the current default drive and user.  The  drive
        is  located in bits 0-3, with 0 being the A drive.  The user number mod 16  is
        stored in bits 4-7.







        ZSDOS 1.0                         - 125 -                          User's Manual


        Memory Allocation & Usage                                           APPENDIX 4


        BASE+05H - Jump to BDOS

        A call to address 5 is used to command ZSDOS to perform a function.   However,
        you can't rely on the address stored at location 6 to point directly to ZSDOS!

        The  MSB  of the address at location 6 always points to the top  page  of  the
        Transient Program Area.  This may or may not be the address of ZSDOS,  depend-
        ing  on  whether any RSX's are present.  Any program that needs to  check  the
        size  of  the available TPA should use the MSB of the address  pointed  to  by
        location  6 to determine the amount of available memory.  The  following  code
        fragment demonstrates the proper method:

          GETSIZ: LD      HL,(0006H)      ; Get address of top of TPA
                  DEC     H               ; One page less for Application
                  LD      L,0FFH          ; Proper top address now in HL
                          ...


































        User's Manual                     - 126 -                              ZSDOS 1.0


        APPENDIX 5                                                     File Attributes


                            Appendix 5 - File Attributes

        A-5.1 What are file attributes?

        File  attributes are a generalized means of providing information about  files
        to  the operating system and to programs which operate on files.   Under  CP/M
        2.2, only two file attributes were used, the Read-Only and SYStem  attributes.
        If  a file is set to Read-Only under CP/M 2.2, the operating system  and  CP/M
        programs  provide an additional level of file security by either  refusing  to
        erase  these files or prompting the user before erasure.  Files which are  not
        accessed  by the user may be set to SYStem under CP/M so that their names  are
        not included in directory displays.

        A  file  attribute  can only be turned on or off: there  are  no  intermediate
        settings.   For instance, the Read-Only attribute can either be set  to  Read-
        Only  or Read-Write.  This is because each file attribute is controlled  by  a
        single binary bit associated with a particular file's name.  The Read-Only and
        Read-Write  (or R/O and R/W) attribute is controlled by setting the Most  Sig-
        nificant  Bit, or MSB, of the first character of a file's type to  binary  one
        (R/O) or binary zero (R/W).

        For example, here are the directory entry values of a file named  FILEATTR.CRC
        which has been set to R/O shown in ASCII, hex, and binary:

                            ASCII   Hex    Binary
                            ---------------------
                              F     46     01000110
                              I     49     01001001
                              L     4C     01001100
              File Name       E     45     01000101
                              A     41     01000001
                              T     54     01010100
                              T     54     01010100
                              R     52     01010010

                              C     C3     11000011
              File Type       R     52     01010010
                              C     43     01000011
                                           |
                                           Most Significant Bits (MSBs)

        In  this  example, the file type is "CRC".  Notice that the  first  and  third
        characters of "CRC" are both "C" in ASCII, but their values differ in hex  and
        binary.   This is due to the fact that while file name characters take up  one
        byte,  or  eight bits each in memory, the ASCII character set  uses  only  the
        seven  least  significant  bits of each byte.  The most  significant  bit  can
        therefore be altered without changing the byte's character value.




        ZSDOS 1.0                         - 127 -                          User's Manual


        File Attributes                                                     APPENDIX 5


        In the above example, the seventh bit has been set on the first "C,"  changing
        its  Hex value from 43 to C3.  Because the seventh bit of the first file  type
        character is the Read-Only bit, FILEATTR.CRC now has the attribute of being  a
        Read-Only  file.  If the Read-Only bit is now set back to  zero,  FILEATTR.CRC
        loses  its  special  status and becomes once again a  lowly  Read-Write  file.
        Other attributes are set and reset using the same technique on other  filename
        characters.


        A-5.2 File attribute meanings.

        As mentioned above, only two attributes were originally implemented under CP/M
        2.2.   Improvements in CP/M programs and operating system  enhancements  since
        CP/M 2.2 have greatly expanded the amount of information which may be conveyed
        through a file's attributes.  Under ZSDOS, up to eight file attributes may  be
        associated  with  each file.  Over the years, meanings for most of  these  at-
        tributes have evolved by consensus.

        All file attribute bits are set to zero by the operating system when files are
        created.   When  a  bit is turned on (set to 1) by a program  its  meaning  is
        reversed.  Here are the file attributes available under ZSDOS and the meanings
        typically associated with them:

               Character         Default Meaning     Meaning When Set
               ------------------------------------------------------
             F1 (File name-1)
             F2 (File name-2)    Private file        Public file
             F3 (File name-3)    Access stamp        No access stamp
             F4 (File name-4)
             F8 (File name-8)    Wheel unprotect     Wheel protect
             T1 (file Type-1)    Read write          Read only
             T2 (file Type-2)    Directory           System
             T3 (file Type-3)    Not archived        Archived

        File  name characters five, six, and seven are reserved for use by  ZSDOS  and
        may not be used by programs.  File name characters one and four may be used by
        programs but do not yet have widely accepted meanings.


        A-5.2.1 Public file attribute (f2).

        The  Public  File  attribute is controlled by the seventh bit  of  the  second
        character  in a file's name.  Normally, this bit is set to zero, and the  file
        is only available from the user area associated with it.  When the Public File
        attribute bit is set to one, the file becomes Public under ZSDOS, meaning that
        it may be accessed from any user area on the same disk drive.

        If program files are set to Public, they may be used from any other user  area
        on the same disk drive, eliminating the need for multiple copies of a program.
        This both saves disk space and eliminates the task of installing and  updating


        User's Manual                     - 128 -                              ZSDOS 1.0


        APPENDIX 5                                                     File Attributes


        multiple copies of a programs.

        When  a  file is set to Public it is essential to ensure that no  other  files
        with  the same name exist on the drive.  Otherwise, the operating  system  may
        confuse  the  public file with other files, possibly causing data to  be  lost
        and/or programs to malfunction.


        A-5.2.2 No access stamp attribute (f3).

        The No Access Stamp attribute is controlled by bit seven of the third  charac-
        ter of a file's name.  Normally, if a clock is installed ZSDOS keeps a  record
        of  the time and date a file was last accessed.  Setting the No  Access  Stamp
        attribute bit to one instructs ZSDOS not to keep a last access record for that
        file.   This reduces the time required to access the file somewhat,  and  pre-
        vents  errors when reading files from diskettes whose write protect notch  has
        been covered.

        A-5.2.3 Wheel protect attribute (f8).

        ZSDOS  allows files to be Wheel Protected by setting bit seven of  the  eighth
        character of a file's name.  When this bit is set, the file becomes  Read-Only
        while  the  wheel  byte is off, and cannot be erased or  overwritten  by  most
        programs.   When  the  wheel byte is on, the file  again  becomes  read-write,
        unless the Read-Only attribute has also been set.

        By using the Wheel Protect byte, operators of remote-access or network systems
        can  easily  prevent files from being erased by  non-privileged  users,  while
        retaining Read-Write control for privileged users.


        A-5.2.4 Read-only attribute (t1).

        The Read Only attribute is controlled by the seventh bit of the first  charac-
        ter  of  a file's type.  Setting a file to Read Only instructs  the  operating
        system and most programs not to allow the file to be erased or overwritten.


        A-5.2.5 System attribute (t2).

        The System attribute is controlled by the seventh bit of the second  character
        of a file's type.  Setting the System attribute to one instructs the operating
        system and most directory programs not to include the file in directory  list-
        ings.   This  attribute is used by system operators to hide  files  from  non-
        privileged users, and by some programs to hide work files from the user.  When
        the System attribute is set to zero, the file becomes a Directory file, and is
        again displayed by directory commands.




        ZSDOS 1.0                         - 129 -                          User's Manual


        File Attributes                                                     APPENDIX 5


        A-5.2.6 Archive attribute (t3).

        The archive attribute is controlled by the seventh bit of the third  character
        of a file's type, and is used by the operating system to inform programs  when
        a  file has been altered.  As with all attributes, the Archive bit is  set  to
        zero  when  a  file is created.  If the Archive bit is then set to  one  by  a
        program,  it remains set until the file is modified or overwritten,  at  which
        time it is again set to zero by the operating system.

        File  backup  programs can use the Archive attribute to  enhance  performance.
        The  Archive  attribute is set to one the first time a file is  backed  up  to
        another disk.  From then on, backup programs check the Archive attribute  when
        backing  up files.  If the attribute is still set, the file was  not  altered.
        In  this case no physical copying is performed and disk backups  proceed  much
        more rapidly.




































        User's Manual                     - 130 -                              ZSDOS 1.0


        APPENDIX 6                                           Clock Driver Descriptions


                              Clock Driver Descriptions

        This is the currently-supported list of clock drivers for ZSDOS and ZDDOS.  To
        the  maximum  extent possible, the name was selected to provide a cue  to  the
        system and type of clock supported.  The order listed here is the same as that
        presented by TESTCLOK.COM and SETUPZST.


        1. ACTRIX
             (Unknown Computer)  Clock driver for Actrix.

        2. ALSPA
             (Unknown  Computer)  ALSPA Computer Inc clock driver accessed from  Con-
        sole  port  with  IOBYTE=00000011B.   The clock returns  an  ASCII  string  of
        MMDDYYWHHMMSS$<sp><cr>.  It uses an Oki MSM 5832 Clock/Calendar chip.

        3. AMPRO-LB
             (Ampro  Little  Board  100) Interrupt-driven  "Heartbeat"  clock  driver
        provided by BIOSes greater than or equal to Version 3.3.

        4. ANLYTCL-PRD
             (Heath-89)  TIM2 Left-side board by Analytical Products.  The Clock uses
        the  MM  58167  Clock Calendar with the Year digit held in the  latch  at  the
        chip's base address + 9.

        5.  AP2-CDZ180
             (Apple  2e  or 2+)  Clock driver for use with PCPI  Applicard,  MicroPro
        StarCard, or Seven League Systems' CardZ180.  Driver is device independent and
        relies  on standard 6502 drivers.  NOTE: This interface requires BIOS  version
        1.2  or later since earlier implementations such as the Franklin Z80  card  do
        not support the input status call.

        6. AP2-THND/MT
             (Apple 2e or 2+)  Clock driver using Thunder or Mountain Hardware  Clock
        with  Premium Softcard or Softcard II.  Check hardware and clock software  for
        this configuration.

        7. AP2-TIMASTR
             (Apple  2e  or 2+)  Clock driver using Timemaster H.O.  Clock  board  in
        Timemaster  mode, Premium Softcard or Softcard II.  Check hardware  and  clock
        software for this configuration.

        8. AP2E+PCP-TM
             (Apple  2,  2e or 2+)  Clock driver using Thunder or  Mountain  Hardware
        clock  with PCPI Z80 Appli-card.  Check hardware and clock software  for  this
        configuration.





        ZSDOS 1.0                         - 131 -                          User's Manual


        Clock Driver Descriptions                                           APPENDIX 6


        9. AP2E+PCPI
             (Apple 2, 2e or 2+)  Clock driver for TimeMaster H.O. Clock in  TimeMas-
        ter mode with PCPI Z80 Appli-card.  Check hardware and clock software for this
        configuration.

        10. AP2E-THUNDR
             (Apple  ii)  Clock Driver for Thunder or Mountain Hardware  Clock  board
        with  Microsoft  Z80  Softcard.  Check hardware and clock  software  for  this
        configuration.

        11. AP2E-TMASTR
             (Apple  //)  Driver for Timemaster H.O. Clock board in  Timemaster  mode
        with Microsoft Softcard.  Check hardware and clock software for this  configu-
        ration.

        12. BIG-BD-II
             (Big  Board  II)   Driver for BIOS 60 Hz  "Heartbeat"  clock.   Requires
        knowledge of RAM time string set by BIOS.

        13. CCS-WALLCLK
             (California  Computer  Systems 2805)  Driver for  Wall  Clock/Terminator
        clock based on Oki MM 5832 Clock/Calendar chip.  Adjustable parameters include
        CPU speed, Data and Control port addresses and 8255 mode command byte values.

        14. CPUPRO-SSB1
             (S100 / IEEE 696)  Driver for CompuPro System Support Board #1 using the
        Oki MM 5832 Clock/Calendar chip.  The base address for the SSB1 board IO  port
        space may be set during installation.

        15. ELECTR-MFIO
             (S100)  This driver is for the Electralogics MFIO card using the MM58167
        Clock/Calendar  chip.  It was derived from an 8080 driver with the year  being
        held in the .1 and .01 seconds latch.

        16. EPSON-QX10
             (Epson  QX-10)   Driver for Epson's QX-10 using the  46818  Clock  chip.
        Configurable  items are: the Processor (CPU) Clock Speed, Clock Address  Port,
        and Clock Data Port.

        17. ETS-180IO+
             (MicroMint  SB180/FX180)  Driver for Electronic Technical Services'  ETS
        180IO+  expansion board clock for MicroMint's SB180 and FX180 computers.   The
        board uses the Epson 62421 Clock-Calendar chip.

        18. H19-SUPER19
             (Heath/Zenith 19, 89 or 90)  Driver for clock functions provided by  the
        Extended  Technology  Systems/Accusonics Super19 ROM.  The clock  is  accessed
        through the Console routines.  Only the Processor (CPU) speed needs to be  set
        for the clock validation part of a clock load.


        User's Manual                     - 132 -                              ZSDOS 1.0


        APPENDIX 6                                           Clock Driver Descriptions



        19. H19-ULTRA
             (Heath/Zenith 19, 89 or 90)  Driver for clock functions provided by  the
        Software  Wizardry UltraRom.  This clock is accessed through the Console  rou-
        tines.   Since  the Clock returns only the time, not date,  configuration  re-
        quires setting a Starting Year, Month, and Day as well as the Processor  (CPU)
        Speed.

        20. H19-WATZMAN
             (Heath/Zenith 19, 89 or 90)  Driver for clock functions provided by  the
        Watzman/Heath  User's  Group  (HUG) ROM.  The clock is  accessed  through  the
        Console  routines  and returns only a 7-character time string.  As  a  result,
        configuration  requires setting a Starting Year, Month and Day as well as  the
        Processor (CPU) Speed.

        21. H89-BITZERO
             (Heath/Zenith  89 or 90)  Driver for QuickData BITZERO clock  using  the
        Oki  MM  5832 Clock/Calendar chip.  The CPU speed, data and control  port  ad-
        dresses may be adjusted for your system.

        22. H89-PC12
             (Heath/Zenith  89 with Heath PC12)  Driver for Heath PC12 parallel  con-
        nection.  The PC12 appears to be manufactured by Environmental Control Systems
        for Heath.  Configurable parameters are: Computer CPU speed, Input Data  Port,
        Output Data Port, and Command Word Port.

        23. H89-WIDGET
             (Heath/Zenith  8  or  89)  Driver for MicroWidget Works'  clock  on  the
        H891-A  Multi-Function  Utility  Board.  The board appears  to  use  the  5832
        Clock/Calendar  chip driven from an 8255 PPI.  Only the Processor (CPU)  Speed
        needs to be configured during installation.

        24. H89-WISE
             (Heath-89)  Driver for Wisconsin Intelligent Systems Engineering  (WISE)
        2+2+RTC board.  The clock uses the MM 58167 Clock-Calendar chip, with a static
        year byte.

        25. H89UTI
             (Heath-89)  Driver for the FBE Research H89UTI board clock.  It uses the
        MM58167 Clock/Calendar with the year held in the 0.1 seconds latch.

        26. HEATH-BIOS
             (Heath  19/89)   This Driver interfaces a HeartBeat  clock  provided  by
        Heath  CP/M BIOS Version 2.2.03.  Parameters set at installation time are  the
        CPU clock rate and the address of the BIOS time string in memory.

        27. HOUSEMASTER
             (Unknown  Computer)  Driver for the Housemaster 24 hour  clock  calendar
        using the Oki MM 5832 chip accessed via an AY-3-8910.


        ZSDOS 1.0                         - 133 -                          User's Manual


        Clock Driver Descriptions                                           APPENDIX 6



        28. K83-HOLMES
             (Kaypro 83)  Driver for the Holmes board clock for the Kaypro 83.

        29. KAYPRO-84
             (Kaypro  4-84)  Kaypro Corporations built-in clock for the  Model  4-84.
        The  Clock is a MM 58167 Clock-Calendar chip with the Year Digit held  in  the
        Tenth-seconds latch.

        30. KENMOR-ZTIM
             (Kaypro)  This Driver is for the Kenmore Computer Technologies'  ZTIME-I
        clock  for Kaypro computers using the MM58167 Clock/Calendar chip.   The  base
        address of the board can be set during installation.

        31. KPRO-ADVENT
             (Kaypro)   Driver  for  Advent Turbo Clock, by  Advent  Products.   Uses
        MM58167 Clock-calendar with Year value held in Unit-Seconds latch.

        32. KPRO-LEGACY
             (Kaypro)  Driver for the Legacy clock using the Oki MM 5832 Clock/Calen-
        dar  chip.   The clock is driven by a PIO and the addresses of  the  Data  and
        Command Ports can be set during installation.  For the Kaypro 10, set the Data
        Port to 79H and the Command Port to 7BH.

        33. MD3-MACK
             (Morrow MD3)  Driver for Mike Allen's Clock Kit (MACK) which uses an Oki
        MM 5832 Clock-Calendar chip driven by an 8255 PPI.

        34. MTN100K-DAY
             (Unknown  Computer)   Driver for Mountain Hardware  100,000  Julian  Day
        Clock/Calendar.  Configurable parameters are: Computer processor (CPU)  speed,
        Base address of clock port, address of an available 17-byte RAM area, and  the
        Binary date corresponding to 31 Dec 1977.

        35. ONEAC-ON!
             (Oneac ON!)  Driver for the ON! system clock.

        36. OTRANA-ATCH
             (Otrana  Attache)  Built-in Attache clock read from the Console port  in
        response to Escape sequence sent to console.

        37. P&T-HEARTBT
             (Unknown Computer)  Driver for the Pickles & Trout BIOS Heartbeat  clock
        for  Z80 processors.  The system calls a special routine whose vector is  con-
        tained at 0040H.






        User's Manual                     - 134 -                              ZSDOS 1.0


        APPENDIX 6                                           Clock Driver Descriptions


        38. QTSYS-S100
             (S100)  Driver for QT Systems/Suntronics/Computime S-100  Clock/Calendar
        board  using the Oki MM 5832 chip.  Configurable parameters are the  Processor
        (CPU) clock speed, and Base Port Address for the board.

        39. RELATIVE
             (Any  Computer)   This  driver may be used in lieu of  an  actual  clock
        driver, and increments a counter for each disk file Open and Close.  The  Date
        must  be set manually with utility tools provided, and are  maintained  within
        the driver code memory.

        40. S100-5832
             (S100 / IEEE 696)  Clock using Oki MM 5832 Clock-Calendar chip driven by
        an 8255 PPI.  Circuit was described in 7/8 1981 and 3/4 1982 issues.

        41. SB180-HRTBT
             (MicroMint SB180)  Interrupt-based Time Clock in MicroMint BIOSes  since
        Version  2.1 written by Joe Wright.  Date information is stored within  driver
        code and must be set by utility routines provided.

        42. SB180-XBIOS
             (MicroMint SB180/FX180)  Driver for use with the Xsystems XBIOS  banked-
        BIOS  system.  XBIOS will accept either the ETS 180IO+ clock or an  Interrupt-
        driven counter equivalent to that provided in SB180-HRTBT.

        43. XEROX-820
             (Xerox  820-I and 820-II)  Accesses Time and Date string  controlled  by
        ROM BIOS code.

        44. ZSDOS-BIOS
             For  Any system having a BIOS entry jump featuring a clock interface  in
        accordance with ZSDOS clock parameters.



















        ZSDOS 1.0                         - 135 -                          User's Manual


        Glossary of Terms                                                     GLOSSARY


                                    Glossary

        Application  Programs.   In contrast to utility  programs  (see),  application
        programs  or  applications are larger programs such as word  processors  which
        function interactively with the user.

        BDOS.   Basic  Disk Operating System.  The  machine-independent,  but  usually
        processor-dependent, program which controls the interface between  application
        programs  and  the machine-dependent hardware devices such as  printers,  disk
        drives,  clocks, etc.  It also establishes the concept of files on  peripheral
        media  and  controls the opening, reading, writing, and closing of  such  con-
        structs.

        BGii.  BackGrounder ii from Plu*Perfect Systems, a windowing task-switching
        system for CP/M users with hard or RAM disks.

        BIOS.   Basic Input/Output System.  Machine-dependent routines  which  perform
        actual  peripheral device control such as sending and receiving characters  to
        the console, reading and writing to disk drives, etc.

        Bit.  BInary digiT.  An element which can have only a single on or off state.

        Bit  Map.   An array of bits used to represent or map large arrays  of  binary
        information in a compact form.

        Boot.   The  term  used for the starting sequence of  a  computer.   Generally
        applies to starting from a "Cold," or power-off state, and includes the  load-
        ing of Operating System, and configuration steps.

        Byte.  A grouping of eight bits.

        CCP.   Console  Command Processor.  The portion of the operating  system  that
        interprets user's commands and either executes them directly or loads applica-
        tion programs from disk for execution.  The CCP may be overwritten by applica-
        tions, and is reloaded by the "Warm Boot" function of the BIOS.

        Checksum.   An value which summarizes arithmetically the contents of a  series
        of  memory locations, and used to quickly check the current contents  for  er-
        rors.

        Clock  Driver.   A software link between ZSDOS and the clock on  your  system.
        The   clock  driver allows ZSDOS and its utilities to read the clock  on  your
        system.   A clock driver is required to activate the time/date and file  stamp
        functions for ZSDOS and ZDDOS systems.  On some new systems, the clock  driver
        may be already present in the BIOS.

        Command Script.  Sometimes called simply scripts, command scripts allow you to
        create a single command which issues other commands to perform a unique set of
        actions.   CP/M  submit files are one kind of command script familiar  to  all


        User's Manual                     - 136 -                              ZSDOS 1.0


        GLOSSARY                                                     Glossary of Terms


        CP/M  users.   ZCPR also offers more sophisticated types of  scripts  such  as
        aliases and command files (e.g., ALIAS.CMD).

        DateStamper.   A  software package developed by Plu*Perfect Systems  to  allow
        time  and date stamping of files.  ZDDOS contains the DateStamper  internally,
        while ZSDOS uses an external module to implement DateStamper.  DateStamper  is
        unique  among  file stampers for microcomputers for two  reasons:   first,  it
        maintains  all  file  stamps within a file; second, it  maintains  stamps  for
        create, access, and modify time/date for each file.

        DDT.   Dynamic Debugging Tool.  A utility distributed with CP/M 2.2 which  can
        display, disassemble, or alter disk files or areas of memory using opcodes  or
        hexadecimal values.

        DOS.   Disk  Operating System.  Often used term for the  BDOS,  but  generally
        refers to the aggregate of CCP, BDOS and BIOS.

        DosDisk.   A software package from Plu*Perfect Systems which allows  users  of
        CP/M  and  compatible computers to write and read files directly to  and  from
        standard 5-1/4" 40-track Double-Sided, Double-Density MS-DOS format diskettes.
        This is the standard "360k" disk format used in IBM-PC compatible computers.

        FCB.   File Control Block.  A standard memory structure used by CP/M and  com-
        patible operating systems to regulate disk file operations.

        File  Attributes.  Also known as file attributes, reserved bits  stored  along
        with file names in disk directories which control how the files are  accessed.
        See Appendix 5.

        Hexadecimal.   A  base-16 numbering system consisting of the numbers  0-9  and
        letters A-F.  Often used to represent bytes as two digits (00 to FF).  Use  of
        Hexadecimal numbers is usually represented by suffixing the number with an "H"
        as in "01H".

        IOBYTE.   Input/Output Byte.  A reserved byte at location 3 which is  used  by
        some  CP/M BIOS's to redirect input and output between devices such as  termi-
        nals and printers.

        K.  Usually refers to Kilobyte or 1024 (2^10th power) bytes.

        P2D.  P2dos Datestamps.  An alternative form of file stamping used in HAJ  Ten
        Brugge's  P2DOS.   P2D  stamps are compatible with CP/M  Plus  time  and  date
        stamps.   Several of the ZSDOS stampers supplied with ZSDOS support this  for-
        mat.  ZDDOS does not support P2D stamps.

        RAM.  Random Access Memory.  As opposed to Read Only Memory (ROM) the area  of
        a computer's memory which may be both read from and written to.

        RSX.   Resident System Extension.  A program module complying with a  standard


        ZSDOS 1.0                         - 137 -                          User's Manual


        Glossary of Terms                                                     GLOSSARY


        developed by Plu*Perfect Systems for extending the functionality of a CP/M 2.2
        compatible  Operating  System.  The module must be loaded at the  top  of  the
        Transient Program Area, and below the Console Command Processor.

        System Prompt.  The familiar A> prompt which appears soon after CP/M  comput-
        ers are started up.

        TPA.   Transient Program Area.  That addressable memory space from the  lowest
        available address to the highest available address.  Usually this extends from
        100H  to the base of the BDOS (assuming that the CCP is overwritten),  or  the
        base of the lowest RSX.

        Utility Programs.  In contrast to application programs (see), utility programs
        or utilities are shorter programs, such as directory programs, which accept  a
        single command from the user.

        Wheel  Byte.  Taking its name from the colloquial "Big Wheel," the Wheel  byte
        controls  security under ZCPR and ZRDOS or ZSDOS.  When the byte is set  to  a
        non-zero value, the user has "Wheel status" and may execute commands  unavail-
        able to other users.

        Word.  In the computer context, a fixed number of bytes.  For 8- bit microcom-
        puters, a word is usually two bytes, or 16 bits.

        Z-System.  An operating system which completely replaces CP/M by  substituting
        ZCPR  for Digital Research's command processor and ZRDOS or ZSDOS for  Digital
        Research's  disk  operating system.  ZCPR and ZRDOS or  ZSDOS  complement  one
        another in several ways to enhance performance.

        ZCPR.   Z80  Command Processor Replacement.  Originally developed as  a  group
        effort  of the Special Interest Group for Microcomputers (SIG/M), but  refined
        by Richard Conn to ZCPR version 3.0 and Jay Sage to versions 3.3 and 3.4.

        ZRL.   A form of Relocatable file image using specified "Named Common"  bases.
        For  ZSDOS, files of this type are MicroSoft-compatible REL files  using  only
        the Common Relative segment "_BIOS_".















        User's Manual                     - 138 -                              ZSDOS 1.0


        BIBLIOGRAPHY                                            Annotated Bibliography


                               Annotated Bibliography

        The  ZSDOS  manual  is not intended as a complete reference  to  Z80  assembly
        language nor the CP/M and ZCPR operating systems.  Since many books have  been
        written on these topics we include here only those we have found most  useful.
        The sources in each category are listed in order of difficulty.

        1.  Information on CP/M

        Waite, Mitchell and Robert Lafore.  Soul of CP/M: How to Use the Hidden  Power
             of  Your CP/M System.  Indianapolis: Howard W. Sams & Co., 1983.   Well
             written basic introduction to the principles and design of CP/M and the
             use  of 8080 assembly language.  Many programming examples and  several
             useful appendices included.  Illustrated, appendices, index, 391 pp.

        Johnson-Laird,  Andy.   The Programmer's CP/M  Handbook.   Berkeley:  Osborne/
             Mcgraw-Hill, 1983.  Highly detailed, complete description of the struc-
             ture of CP/M for programmers.  Instructions on patching, designing  and
             debugging  a new CP/M system.  Complete example BIOS  source  included.
             Illustrated, appendices, index, 501 pp.

        Digital Research.   CP/M Operating System Manual.  Pacific Grove,  California:
             Digital  Research, 1982.  Original documentation by  Digital  Research,
             developers  of CP/M.  Concise and authoritative, and technically  writ-
             ten,  this  guide is mainly of use as a reference guide for  those  who
             already understand CP/M.  Includes coverage of the original CP/M utili-
             ties and a skeletal example BIOS.  Illustrated, appendices, index,  250
             pp.

        2.  Z80 Assembly Language

        Mostek Corporation.   Programming Manual for Z80  Microcomputer.   Publication
             No. MK78515, MOSTEK Corp., 1977.  The "Bible" of Z80 assembly  language
             programming with detailed descriptions and examples of each opcode.

        Hitachi America, Ltd.  HD64180 8-Bit High Integration CMOS Microprocessor Data
             Book.   Publication #U77, Hitachi America, Ltd., 1985.   The  reference
             book  for the 64180.  No programming examples, but very detailed  list-
             ings of all instructions.

        Zaks, Rodnay.   Programming  the Z80.  Berkeley: SYBEX,  Inc.,  1982.   Highly
             detailed  information about every aspect of the Z80 microprocessor  and
             Z80  assembly  language.  Covered are basic programming  concepts,  Z80
             hardware  organization,  programming, addressing, and  I/O  techniques.
             Programming  examples are included, and over 200 pages  of  information
             are  devoted  to the Z80 instruction set itself.   Illustrated,  appen-
             dices, index, 624 pp.




        ZSDOS 1.0                         - 139 -                          User's Manual


        Annotated Bibliography                                            BIBLIOGRAPHY


        3.  Information on ZCPR, the Z-System and Accessories

        Morgen, Bruce  and Jay Sage.  The Z-System User's Guide.  An  introduction  to
             Z-System for the less technical user.

        Sage, Jay.  The ZCPR 3.3 User's Guide.  Manual for ZCPR version 3.3, including
             many  examples  of  how the features of Z-System can be  put  to  work.
             Extended command processing and security features are highlighted.

        Conn, Richard.   ZCPR3: The Manual.  New York: New York Zoetrope,  1985.   The
             "bible" of ZCPR3, written by ZCPR's original author.  Much  information
             is now out of date, but still very useful.  Illustrated, index, 351 pp.

        Conn, Richard.  ZCPR3: The Libraries.  Manual for the SYSLIB, Z3LIB, and  VLIB
             assembly language libraries, which allow  advanced ZCPR3 programmers to
             create their own Z-System programs.

        Mitchell,  Bridger.  Backgrounder ii.  Idyllwild, CA, 1986.   (Available  from
             Plu*Perfect  Systems and others).  Manual for Backgrounder ii  includes
             many  advanced  techniques  and a description of  the  Plu*Perfect  RSX
             standard.






























        User's Manual                     - 140 -                              ZSDOS 1.0



                                      INDEX

                !!!TIME&.DAT, 38, 40, 49, 89    DOS, 137
                                                DosDisk, 18, 56, 117, 137
                Absolute System Model, 21       DSCONFIG, 69
                Access Modes, 11
                Advanced Installation, 44       Erase, 56
                Alias, 99                       Error handling, 8
                Application Programs, 136       European Times, 84, 116
                Archive, 51, 54, 55             Excluded Files, 98
                Archive attribute bit, 9, 130
                ASCII, 127                      FCB, 17, 137
                Attributes, 56, 60, 128         File attributes, 127, 137
                                                File backup programs, 130
                BackGrounder ii, 11, 42, 136    File size, 10
                BDOS, 2, 3, 22, 136             FILEATTR, 13
                BGPATCH, 42                     FILEATTR.COM, 75
                BIOS, 2, 22, 44, 136            FILEDATE, 79
                Bit, 136                        Filespec, 58, 80
                Bit Map, 44, 136                Function 10, 18
                Boot, 24, 136                   Function 100, 19
                Byte, 136                       Function 101, 19
                                                Function 102, 18, 19
                Calendar, 94                    Function 103, 18, 19
                CCP, 2, 22, 36, 44, 136         Function 37, 10, 18
                Checksum, 136                   Function 39, 19
                Checksum errors, 90             Function 45, 17, 19
                Clock driver, 31, 45, 109, 136  Function 47, 19
                CLOCKS.DAT, 32, 35              Function 48, 19
                Combined Access, 14             Function 6, 19
                Command Script, 136             Function 98, 19
                Configuration, 18, 96           Function 99, 19
                Conventions, 6
                Copy, 56                        Get Date/Time, 113
                CP/M Plus, 31, 34
                                                Hard Disk, 106
                Date signifier, 83, 84, 88      Help, 7
                Date specification, 83          Hexadecimal, 137
                Datespec, 58
                DateStamper, 17, 18, 56, 103,   INITDIR, 40
                            117, 137            Installing ZSDOS, 20
                Datestamping, 17, 33            INSTALOS, 20
                DATSWEEP, 56                    IOBYTE, 125, 137
                DDT, 137                        IOP, 47
                Direct Console I/O, 19
                Directory file, 129             JetLDR, 29
                Disk Change, 106
                Disk size, 10                   K, 137
                Disk write protection, 16


        ZSDOS 1.0                         - 141 -                          User's Manual


        Index


                Last Access, 49                 SYSBLD, 30
                LDTIM, 28, 36, 47               SYSGEN, 24
                LOADBG, 42                      System attribute, 13, 107, 129
                                                System file, 38, 75
                Military, 84                    System Prompt, 138
                MLOAD, 42
                MOVCPM, 20, 46                  TCAP, 75, 94
                MOVZSYS, 20                     TD, 33
                MS-DOS, 56                      TERMBASE.DAT., 69
                                                Terminal configuration, 71
                Named Common, 44                TESTCLOK, 31, 32, 35
                Named Commons, 44               Time and date stamps, 17, 19, 45
                No Access Stamp, 129            Time, military, 84
                Normal Access, 12               TPA, 34, 126, 138
                NZCOM, 28, 46, 48               Transient Program Area (TPA), 90
                NZCOMPAT.HEX, 28
                                                UNIX, 79
                P2DOS, 3, 34, 56, 117, 137      Unsqueeze, 56
                Path, 11, 12, 16, 18, 103, 105, User Number, 17, 56
                            107, 108            Utility Programs, 138
                Path Access, 12
                Program Conventions, 6          Wheel, 11, 16, 18, 109
                Public, 11, 12, 13, 16, 52, 73, Wheel byte, 77, 83, 108, 138
                            77, 105, 128        Wheel Protect, 11, 129
                Public Access, 13               Wildcard, 80
                PUTDS, 38                       Word, 138
                                                Write Protect vector, 106
                RAM, 137                        Write Protection, 16
                RAM disk, 106
                Re-entrancy, 16                 XBIOS, 30, 64
                Read Console Buffer, 18         XBOOT, 30
                Read-Only, 16, 106, 127, 129    XD III, 115
                Read-Write, 127
                Real time clock, 84             Z-System, 138
                REL, 23, 44                     ZCAL, 94
                Relative time, 84, 88           ZCPR, 2, 17, 102, 138
                Relog, 8, 10, 91                ZCPR3, 124
                Rename, 56                      ZDDOS, 4, 17, 103, 111, 112
                Reset Drive, 18                 ZEX, 68
                RSX, 46, 47, 124, 126, 137      ZPATH, 12, 99, 108
                                                ZRDOS, 3, 4, 10, 11, 16, 18, 19
                SETTERM, 69                     ZRL, 23, 138
                SETUPZST, 31, 36, 46            ZSCONFIG, 12, 13, 18, 24,
                Stamp Create, 111                           29, 49, 102
                Stamp Last Access, 110          ZSDOS, 23, 102
                Stamp Modify, 112               ZSDOS error mode, 17
                SUBMIT, 68, 99                  ZSDOS/ZDDOS Differences, 4
                Swap, 10                        ZSYSTEM.MDL, 21
                Syntax, 5                       ZXD, 115


        User's Manual                     - 142 -                              ZSDOS 1.0




                                      NOTES

















































        ZSDOS 1.0                         - 143 -                          User's Manual
