DIFFERENCES FROM CP/M 2.2 CCP
DIFFERENCES FROM CP/M 2.2 BDOS
ZRDOS EXTENDED FUNCTION CALLS
ZRDOS UNIT RECORD FUNCTIONS
ZRDOS DISK RELATED FUNCTIONS
ZRDOS MISCELLANEOUS FUNCTIONS
ZRDOS UTILITIES
:DIFFERENCES FROM CP/M 2.2 CCP

     ZRDOS  is  a Z80 coded,  CP/M 2.2 compatible disk  operating 
system designed to be used with the Echelon Z80 Command Processor  
ZCPR3 by Richard Conn.

     ZRDOS  is compatible with all of the ZCPR3 utilities.  Named 
Directories,  Redirectable I/O,  and all other ZCPR3 features can 
used  with  ZRDOS.  For  the  installation  of  these  additional 
features  please  refer  to  the  original  ZCPR3   documentation 
package.
:DIFFERENCES FROM CP/M 2.2 BDOS


                          Disk Change

     ZRDOS  allows  the changing of disks without the need  of  a  
warm boot.  CHANGED DISKS WILL BE AUTOMATICALLY LOGGED IN. 

NOTE:     The above mentioned auto login will not occur if a file 
          was  open  when   the  disk was  changed  and  a  write 
          operation is attempted to that file on the new diskette 
          instead the following error message will be printed:

	       Disk Changed Error On Drive B:

     It should also be noted that the automatic logon may or  may 
not be able to handle changes in density or number of sides. This 
depends  on  how  your bios handles deblocking and  double  sided 
disks.  However if the disk is of the same density and number  of 
sides  as  the  disk it is being swapped with there  will  be  no 
problems.



                    Read Only Disk Status

     Under  ZRDOS  a  disk  can only be set  to  R/O  status  by 
executing  function  call  28 (Protect Drive). 


     ZRDOS function call 37 (Reset Drive) is different in that it 
will  only reset the Read Only bits for the drive(s) specified in 
the  user passed drive map in the register pair (DE).  With  CP/M 
function 37 will also reset the bits for any drive not  currently 
active.

     Function call 13 (Reset Disk System) is different in that it  
will not reset drives that are set to  Read Only but will instead 
reset the disk changed vector.








                    Read Console Buffer

     The  Read console buffer routine (Function 10) for ZRDOS  is 
different in the following ways:

     . Rubout (DEL) is treated the same as a backspace.
     . The Control-R edit function is not implemented.

NOTE:     In  CP/M these are teletype oriented edit commands  and 
          were felt not to be required in ZRDOS.













                      File Archiving

     ZRDOS  supports the use of the file archive  attribute.  The 
support  of  this  feature is compatible with both CP/M  3.0  and 
MP/M.  This bit when set indicates an archived file.   That is  a 
file  which has not been altered.   The bit can be set by using a 
Function 30  (Set File Attributes) function call.  Any update  to 
this  file  once  the bit has been set will cause the bit  to  be 
reset.  This  can then be used by a copy utility to indicate  the 
need  to  backup the file.  The utility that backs  up  the  file 
should  then  set the archive bit to indicate the file  has  been 
backed up.











                      Wheel Protection

     ZRDOS uses the ZCPR3 wheel byte and a new file attribute bit 
to  protect  files from non-wheel users.  This bit when set  will 
write protect the file as long as the wheel byte is off.  If  the 
wheel byte is set the file is treated as a normal file.  

     If  a  non-wheel user attempts to change a  wheel  protected 
file the following error message will be displayed:

                     A0>File W/P Error on A:












                       Error Messages

               ZRDOS 			    CP/M

  Error
  Number

    1    Read Error On A:              Bdos Err On A:Bad Sector
    2    Drive Select Error On A:      Bdos Err On A:Select
    3    Disk R/O Error On A:          Bdos Err On A:R/O
    4    File R/O Error On A:          Bdos Err On A:File R/O
    5    Disk Changed Error On A:      n/a
    6    File W/P Error On A:          n/a

     With  ZRDOS  all non-retryable errors jump directly to  warm 
boot after the error message has been printed.  Read Errors allow 
the user the option of retrying the operation by pressing any key 
but  control-c or aborting by pressing control-c.  Error  numbers 
shown above are returned in the (A) register.  The selected drive 
number is returned in register (E).



NOTE:     If  the warm boot trap (see FUNCTION 38) is  set  ZRDOS 
          jumps  directly  to the  warm boot vector and no  error 
          messages are displayed.

     CP/M handles the errors in the same  manor except a key must 
be  pressed  before CP/M will return from any type of  error  and 
CP/M doesn't return an error or drive number.  Nor does CP/M have 
a warm boot trap function.
:ZRDOS EXTENDED FUNCTION CALLS

             Function 47: Get Current DMA Address

     This function will return the currently assigned DMA address 
in the register pair (HL).


           Function 48: Return ZRDOS Version Number
 
     This function works the same as CP/M function call 12 except 
the  ZRDOS Version number is returned instead of the CP/M version 
number.  To maintain CP/M compatibility ZRDOS will return version 
number 2.2 on a function 12 call. As with function 12 function 48 
uses the register pair (HL) to return the version number. If user 
programs  that use the extended ZRDOS functions are written  this 
function  should  first be used to determine if  the  program  is 
being run under ZRDOS.





               Function 50: Set Warm Boot Trap

     A new function call is provided that allows the user to  set 
a trap on warm boot to a user specified address.  The trap is set 
by  executing  a function 50 call with the trap  address  in  the 
register  pair (DE).  The Warm boot jump address at location 001H 
is  replaced  with the user supplied  trap  address.  Warm  boots 
executed  after  the  trap is set will cause a jump to  the  trap 
address. ZRDOS error messages are suppressed allowing the user to 
print his own error messages. As noted in the ZRDOS error section 
above  errors  detected by ZRDOS return an error number  and  the 
active drive number which the user can then use to determine  how 
best to handle the error.

WARNING:  Caution should be exercised when using this function as 
          the  results  will be unpredictable  if a program  that 
          has set the trap terminates without first resetting the 
          trap. See FUNCTION 52 below.





              Function 52: Reset Warm Boot Trap

     This  new function call will reset the warm boot trap set by 
function call 50.  The trap is reset by executing a function call 
52.  The  Real  bios warm boot address is  restored  to  location 
0001H.  If  function call 50 is used in a user program a function 
call  52  should be executed before control is  returned  to  the 
operating system.
::ZRDOS1A
::ZRDOS1B
::ZRDOS1D
::ZDU