home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / BEEHIVE / OS / Z80D24SR.ARC / Z80DOS24.DOC < prev    next >
Text File  |  1991-02-10  |  27KB  |  631 lines

  1. This file contains all the DOC files for release's  1.0  2.3  2.4 of
  2. Z80DOS.
  3.  
  4. Main notes: To find changes for generation of a .ZRL file, search for ZRL
  5.         in the sources Z80DOS24.Z80, Z80DCHAR.Z80, and Z80DHDR.LIB.
  6.  
  7.         To find changes necessary for use of Z80MR, search for Z80MR
  8.         in the source Z80DOS24.Z80. Z80MR CANNOT be used to generate
  9.         a .ZRL file, so make sure all changes for a ZRL are commented
  10.         out ( distributed with them commented out ). See Z80DZ80M.NOT.
  11.  
  12. Z80DOS v 2.4
  13. 4/9/89
  14. Eugene Nolan
  15. C/O DHN* RCPM 215-623-4040
  16.  
  17.  Welcome to all Z80DOS users, potential users!!!!
  18.  
  19.  Since the 2.3 release of Z80DOS, and the subsequent 2.31DK release,
  20. there have been a number of changes. 
  21.  
  22.  1: Z80DOS can now be assembled with Z80MR. 
  23.     Set the equate Z80MR to -1 in Z80DOS24.Z80
  24.     Set the equate NOZ80MR to 0
  25.     Make all your other changes for your system, and use Z80MR to create
  26.     a .HEX file. You can then use MLOAD to create a .COM file if that
  27.     if your method of system installation, or use the .HEX as is.
  28.  
  29.  2: Fast disk reset capability has been added. At the label FIXDRV in
  30.     Z80DCHAR.Z80, you can now set which drives are 'hard', ie: cannot
  31.     be removed. This gives the added advantage of not requireing
  32.     Z80DOS to rebuild internal tables (disk allocation tables to be exact) every
  33.     time a warm boot is performed, providing significant speed increase.
  34.     
  35.      The fixdrv variable is a drive 'vector', that is it has one bit for
  36.     each drive, starting from bit 0. If that bit is set, and the drive
  37.     has been 'logged' in, then no warm boot or general disk reset will
  38.     cause the tables to be re-built.
  39.  
  40.     BUT at a few penalties!
  41.  
  42.      One penality is that SUBMIT is no longer reliable if the A drive is
  43.     set to being 'hard'. For those of you using EX or ZEX, that should be
  44.     of little consequence, BUT for those of you that do not use EX/ZEX, there
  45.     are two choices:
  46.  
  47.     1: Don't make the A drive hard
  48.     2: If you are using a CCP that allows you to choose the method of
  49.        checking for the $$$.SUB file, then have the CCP look for it
  50.        explicitly, that is, set SUBCLUE to FALSE.
  51.  
  52.     The other penality is that if you run programs that bypass the BDOS
  53.    for doing disk IO, programs such as UNERA, ZAP, DU, etc, etc, then
  54.    the drives you use them on should not be 'hard', or you must
  55.    explicitly do a specific drive reset to those drives (or verify that
  56.    the program you use does). This is because if you do not, then the
  57.    allocation tables for that drive will be incorrect, with possible NASTY
  58.    consequences.
  59.  
  60.    Note: the fixed drive vector can be 'poked' at location BDOS+13h,14h
  61.    ****  with bit 0 of BDOS+13h = drive A and bit 7 BDOS+14h = drive P.
  62.      Ie: if BDOS is at DC00h, then DC13/14h is the fixed drive vector.
  63.      The program TELL.COM will show you the BDOS entry address as
  64.      BDOS+6, Ie: as from above the DC00h will be DC06h.
  65.  
  66. 3:  All the internal data bases have been moved from Z80DTIME.Z80 to
  67.     the beginning of Z80DCHAR.Z80. This should provide compatability,
  68.     at least at the data base location level, with other BDOS's available.
  69.  
  70. ***************************************************************************
  71.  
  72.  Z80DOS 2.3
  73.  11/4/88
  74.  Eugene Nolan
  75.  C/O DHN* RCPM 215-623-4040 ( SYSOP BOB DEAN )
  76.  
  77. PURPOSE:
  78.  
  79.    Z80DOS version 2.3 attempts to speed the most basic operation of 
  80.  the internals by decreasing the time it takes to look up the next extent 
  81.  of a file already open. The file may be open for reading or writing in 
  82.  either sequential or random (or mixed modes).
  83.  
  84.  
  85. METHOD:
  86.  
  87.   It does this by making use of File Control Block (FCB) entry 13, the 's1'
  88.  'unused' byte in the FCB. Z3X use this byte to pass the user number of a 
  89.  file referenced in the command line tail to the loaded transient, but 
  90.  after that the transient cannot expect it to still be there after the 
  91.  file is referenced.
  92.  
  93.   In FCB+13, Z80DOS23 will store the sector of the directory where the 
  94.  file was found. This scheme will work will all disk definitions up to 
  95.  1024 directory entries. Note that this sector is relative to the base
  96.  track offset for a given logical (physical) drive.
  97.  
  98.   If the file was referenced by a call to 'MAKE FILE' or a new extent was 
  99.  opened while reading or writing, the FCB+13 will here again contain the 
  100.  directory sector of the relevant entry in the directory.
  101.  
  102.  
  103. BDOS TUTORIAL:
  104.  
  105.   Access to the directory entries of a file using CPM 2.2 compatible 
  106.  BDOS's, at least 2.2 itself and the variants of P2DOS that are around, 
  107.  will all search the directory starting at the beginning every time an
  108.  application has read/written more than 16k from a file, even if you have 
  109.  16k allocation per block and can contain 16 entries per directory entry!
  110.  
  111.   Now let's say you have 4k allocation blocks, and 8 allocation 
  112.  references per directory entry ( a fairly standard hard disk system ), 
  113.  and there are 1024 available entries of which 256 are used (we have just 
  114.  done a SAP). Now we want to copy a 63k file to this drive. We start by 
  115.  checking to see if the file exists, this will require reading every
  116.  directory entry for the 256 files. Now the file did not exist, so we 
  117.  'MAKE' the file, again we must scan the directory looking for an unused 
  118.  slot in the directory, 257 directory entries scanned this time.
  119.  
  120.   Now we have a slot and we start writing, after we have written 16k, the 
  121.  CPM2.2 compatible BDOS must then open the next extent, so it will close 
  122.  the current one by searching all 257 directory entries for the FCB it 
  123.  already has opened, write out the updated entry, and allocate the next 
  124.  free block. 16k more and we then search 257 entries, write the updated 
  125.  entry and accept more input till we again have 16k's worth, again scan 
  126.  257, write updated directory and accept the last 15k. The application 
  127.  then closes the file, which requires 257 more scans and the write of the 
  128.  updated directory.
  129.  
  130.   So all in all we 'looked' for this file thru over 1541 directory 
  131.  entries! Now don't forget that we copied that file from somewhere, and 
  132.  the above process was repeated every time the application read 16k from 
  133.  the source file!
  134.  
  135.   Now of course if we had fewer than 256 used entries to start with, then 
  136.  there would be a correspondingly less searching required.
  137.  
  138.   Z80DOS2.3 attempts to address the above searching by decreasing the 
  139.  number of searches required once a file is open and we have read/written 
  140.  more than 16k. The above scenario would of been completed with just a 
  141.  max of 529 directory entry scans. 257 for the original look to see if 
  142.  file exists, 257 to find a free slot, and then up to 4 for each of the 
  143.  16k hunks and the final close.
  144.  
  145.  
  146. INCOMPATABLITIES:
  147.  
  148.   There are some side effects of the above scheme. It assumes that the 
  149.  root, and subsequent entries for the file, all fall in ascending order 
  150.  in the directory. This is assured by Z80DOS if files were made under 
  151.  it's control, as it will always 'make' the next directory higher in the 
  152.  directory.
  153.  
  154.   But this scheme of having a non-zero FCB+13 and subsequent directory 
  155.  entries occur higher in the directory is NOT strictly CPM2.2 compatible. 
  156.  That is not to say that a CPM 2.2 compatible BDOS cannot use the files 
  157.  created this way, it surely can, but it does say that some files created 
  158.  by the 2.2 BDOS may not be accessible by the Z80DOS2.3 BDOS. This can 
  159.  occur if you have ever had one file open for writing, and with the file 
  160.  open, have deleted a file that occurred lower in the directory than the 
  161.  current FCB, and the FCB entry overflows which requires opening a new 
  162.  one. The 2.2 BDOS will use the extent lower in the directory for the 
  163.  next entry, which Z80DOS2.3 cannot 'find' because it occurred before the 
  164.  files root directory entry.
  165.  
  166.   The execellent program DU can be used to find files that may cause a
  167.  problem. Use it's 'F' command to show the directory entries for the file
  168.  in question, if the last byte of the first line of each entry shows a
  169.  value of 80, and the very last entry has a value not equal 80, then no
  170.  problem, but if an entry with a value not equal 80 occurs BEFORE an
  171.  entry with the byte equal 80, then this file will not be accessible in
  172.  it entirety. To make it compatible, merely copy it to another drive, delete
  173.  the original, and copy it back again. Or you can copy it to a different
  174.  name on the same drive, delete the original, and rename the copy.
  175.  
  176.  
  177. TESTING:
  178.  
  179.   Z80DOS2.3 has been in use on my own system (64180/ZCPR33) and I have had no
  180.  problems whatsoever. It is also in use on DHN* RCPM (SYSOP: Bob Dean), and has
  181.  run smoothly the utilities required in the managment of a remote access system,
  182.  which in this case is HBBS/BYE510/NZCOM/FOR/KMD and a myraid of others that
  183.  are in regular use both manually ( by the SYSOP and callers alike ) and
  184.  invoked for automatic BBS maintainence.
  185.  
  186.  
  187. DIFFERENCES:
  188.  
  189.   There are also other modifications made on the inside to combine like
  190.  functions, rearrangement of code to provide 'minimal' paths for the most
  191.  used functions, deletion of redundant code left over by modifications to the
  192.  original P2DOS, and decrease of the size of the ascii error messages to
  193.  make enough room for the new internal routines to implement the fast lookup
  194.  code.
  195.  
  196. ADDITIONS:
  197.  
  198.   There has been an addition of returning an identifier saying Z80DOS is
  199.  present. This has been implemented by returning a 38 hex code in the
  200.  D register upon the GET VERSION BDOS call (12).
  201.  
  202.  ZRL CAPABLE:
  203.  
  204.   The code as distributed has the necessary lines marked that are required
  205.  for assembling to a .REL (read .ZRL) format for use with NZCOM and JETLDR.
  206.  See the individual files for the required changes (search for ZRL ).
  207.  
  208.  
  209. IN CONCLUSION:
  210.  
  211.   All in all, on some test runs, I have noticed up to a 25% increase in 
  212.  through-put. Even copying 100k+ files to a floppy with only 23 files on it
  213.  have seen 5% increases. And this is on a 10mhz 64180 homebrew SCSI ( both
  214.  winchester AND floppy on SCSI ) based system ( 1 wait state for all mem/io
  215.  accesses) running a CDC WREN II (50 ms avg ) with 0 interleave ( 512 byte
  216.  sectors/ 1k deblocking).
  217.  
  218.   As an example, using VDE266 to call up the Z80DDISK file for editing (48k)
  219.  took 4. seconds with the original Z80DOS2.0A, under the new scheme 3.6 secs,
  220.  a savings of 10% time. This included the path search of ramdisk to drive A of
  221.  the first partition on the winchester, load of VDE from there, read the file
  222.  (also from drive A)  till the file was being displayed on the 
  223.  terminal (19.2k baud, DTR handshaking).
  224.  
  225. *****************************************************************************
  226.  
  227.  
  228.             -----  Z  8  0    D  O  S  -----
  229.  
  230.           CP/M Compatible Z-80 Disk Operating System
  231.  
  232.        Featuring Enhanced Integral File Date and Time Stamping
  233.  
  234.                  Version 1.0
  235.  
  236.                    October 1, 1987
  237.                       by
  238.                 Carson Wilson
  239.  
  240.  
  241.  
  242.       The author assumes no responsibility for losses resulting
  243.       from the use or inability to use Z80DOS10.LBR.  The parts
  244.      of Z80DOS10.LBR created by Carson Wilson are hereby released
  245.                 to the public.
  246.  
  247.  
  248.  
  249.  
  250.                    CONTENTS
  251.  
  252.       1.   What is Z80DOS?
  253.  
  254.       2.   What is your purpose in releasing Z80DOS?
  255.  
  256.       3.   What are the differences between Z80DOS and CP/M?
  257.           - CP/M function calls.
  258.           - Modifications affecting several functions.
  259.           - Additional function calls.
  260.  
  261.       4.   How does Z80DOS compare with some of the other BDOS
  262.            replacements currently available?
  263.           - Comparison of replacement disk operating systems for CP/M
  264.  
  265.       5.   How do I install Z80DOS on my system?
  266.           - Installing DOS segment
  267.           - Installing BIOS segment (optional)
  268.  
  269.       6.   What do the programs in Z80DOS.LBR do?
  270.  
  271.       7.   Acknowledgements
  272.  
  273.  
  274.  
  275. 1.  What is Z80DOS?
  276.  
  277.      Z80DOS is a replacement for CP/M's Basic Disk Operating System, or BDOS,
  278. for computers having a Zilog Z80 microprocessor.  The BDOS is the module of
  279. CP/M which allows for standardization of CP/M programs by supplying "system
  280. calls" which are the same across the many different CP/M hardware
  281. configurations.  It acts as an interpreter between application programs and
  282. your system's Basic Input Output System, or BIOS.
  283.  
  284.      Z80DOS supports all of the standard CP/M 2.2 BDOS functions, and adds
  285. several new functions and enhancements.  All programs designed to run under
  286. standard CP/M will also work under Z80DOS.  Programs designed to run under
  287. Z80DOS can take advantage of enhancements to the BDOS to perform functions not
  288. available under standard CP/M.
  289.  
  290.      Z80DOS fits in the same area of memory used by CP/M's BDOS.  This makes
  291. it simple to install Z80DOS in any working CP/M system.  By coding the BDOS in
  292. Z80 assembler, it is possible to fit more functions within the standard 3.5
  293. kilobytes of memory allowed by CP/M.
  294.  
  295.  
  296.  
  297. 2.  What is your purpose in releasing Z80DOS?
  298.  
  299.      Z80 Replacement Disk Operating System, or ZRDOS (tm), by Echelon, Inc.,
  300. has become a standard among many Z80 computer users.  ZRDOS offers many
  301. important advantages over standard CP/M's BDOS, and I applaud the new standard
  302. ZRDOS has created.
  303.  
  304.      ZRDOS is lacking in one crucial area, though: it does not implement date
  305. and time stamping of files.  ZRDOS users must rely on DateStamper (tm) by
  306. PluPerfect Systems, a separate program which requires additional memory and
  307. files and considerable programming overhead to use.
  308.  
  309.      Z80DOS solves these problems by making date and time stamping an integral
  310. part of the operating system (as do several of the other BDOS replacements
  311. below), and by implementing two new BDOS functions exclusive to Z80DOS which
  312. allow programs that modify or copy files to maintain file stamps with very 
  313. little program overhead (as does no other current BDOS replacement).
  314.  
  315.      Z80DOS is a fully operational replacement BDOS for CP/M, and is the only
  316. BDOS I use on my own system.  However, Z80DOS does lack some of the advanced
  317. features of ZRDOS (see table below).  My purpose in releasing Z80DOS is not to
  318. supplant ZRDOS, but simply to generate interest in the ideas it contains.
  319.  
  320.      If you find the ideas used in Z80DOS worthwhile, please help by 
  321. introducing others to Z80DOS.LBR.  If widely accepted, the time stamping 
  322. protocols of Z80DOS could form the basis for a file-stamping standard for Z80 
  323. computer users.
  324.  
  325.  
  326.  
  327. 3.  What are the differences between Z80DOS and CP/M?
  328.  
  329. 3.1.  CP/M function calls.
  330.  
  331. Z80DOS makes the following modifications to the CP/M standard functions:
  332.  
  333. - CP/M Function -   --------------- Z80DOS Modification(s) -----------------
  334. No.  --- Name ---
  335.  
  336.   2  Console out    After 256 characters output, console status is checked.
  337.             This makes it possible to exit a program by typing
  338.             control-s followed by control-c.  This feature is normally
  339.             on, and may be turned off by setting bit 0 of address
  340.             Z80DOS+19 to zero.
  341.  
  342.  10  Read console   Delete key is same as backspace.  Control-u, control-r,
  343.             and control-e are simply echoed to the screen.
  344.  
  345.  15  Open file        File access date and time are changed to reflect the
  346.             current DOS date and time.    If the f2 attribute bit is
  347.             set, the file is available from all user areas on a drive
  348.             (this is also the case with Search First and Search Next).
  349.  
  350.  16  Close file     If the file was written to, its update date and time are
  351.             changed to the current DOS date and time, and its archive
  352.             attribute (t3) is reset to zero.
  353.  
  354.  19  Delete file    To prevent accidental erasure, public files (see below)
  355.             and system files can only be erased from their home user
  356.             area by using unambiguous file names.
  357.  
  358.  22  Create file    File create date, modified date and time, and access date
  359.             and time are set to current DOS date and time.
  360.  
  361.  
  362.  
  363. 3.2.  Modifications affecting several functions.
  364.  
  365.      When Z80DOS detects a changed disk, it resets the disk system rather than
  366. aborting with a read-only error message as CP/M does.
  367.  
  368.      Files may be made "public" (available from all user areas on a disk) by
  369. setting the high bit of the second character of their filename (f2 bit).
  370. Public files cannot be referenced by wildcards.  This feature is normally on,
  371. and may be turned off by setting bit 1 of address Z80DOS+19 to zero.
  372.  
  373.      Disks of up to one gigabyte and files of up to 32 megabytes are possible
  374. under Z80DOS.
  375.  
  376.      Z80DOS provides the user with more information when an error occurs.  The
  377. type of error, the function call which produced the error, the drive letter,
  378. and the filename (if any) associated with the function call are all displayed.
  379.  
  380.  
  381. 3.3  Additional function calls.
  382.  
  383. Z80DOS adds the following non-standard functions to CP/M:
  384.  
  385.  
  386. --- Function ----   -------------------- Description -----------------------
  387. No.  --- Name ---
  388.  
  389.  54  Get stamp        Following a successful Open File, Search First, or Search
  390.             Next call, retain the file's full 10 byte date and time
  391.             stamp for future use, and return a pointer to the stamp in
  392.             HL.  If no stamps are present, store zeroes.
  393.  
  394.  55  Use Stamp        Use creation date and last modified date and time stored
  395.             by Get Stamp instead of real time for the next Write, Make
  396.             File or Close File call.
  397.  
  398. 104  Set time        Set the system time to the values pointed to by DE (BIOS
  399.             dependent; see Z80DTIME.Z80 for format).
  400.  
  401. 105  Get time        Fill the five bytes pointed to by DE with the current date
  402.             and time.
  403.  
  404.  
  405.  
  406. 4.  How does Z80DOS compare with some of the other BDOS replacements currently
  407.     available?
  408.  
  409. 4.1.  Comparison of replacement disk operating systems for CP/M:
  410.  
  411. Name   | CP/M        ZRDOS+     Z80DOS      P2DOS21    DOS+25    SUPERDOS
  412. -------+-------------------------------------------------------------------
  413. Author | Digital    Echelon,   Carson      H.A.J.     C.B.    Benjamin
  414.        | Research,  Inc.       Wilson      Ten         Falconer    Ho
  415.        | Inc.                  Brugge
  416.        |
  417. Deriv- | Unknown    Unknown    P2DOS,      Unknown    P2DOS    P2DOS
  418. ation  |               SUPERDOS
  419.        |
  420. Time   | No        No           (*)C,U,A   C,U         C,U,A    C,U
  421. stamps |
  422.        |
  423. Disks  | No        Yes        Yes      No         No     Yes
  424. auto-  |
  425. login  |
  426.        |
  427. Archive| No        Yes        Yes      Yes         Yes    No
  428.        |
  429. Public | No        Public     F2      F2         System    F2
  430. files  |        user       attribute  attribute  files    attribute
  431.        |        areas                 at A0:
  432.        |
  433. Get/Use| No        No           Yes      No         No     No
  434. stamps |
  435.        |
  436. Get/Set| No        No           Yes      Yes         Yes    Yes
  437.  time  |
  438.        |
  439. Error  | Cryptic    Clear      Legible,   Legible,   Legible,    Legible,
  440. messgs.|               give      give         give    give
  441.        |               function   function   function    function
  442.        |               & file      & file     & file    & file
  443.        |
  444. Return | No        Yes        No      No         Yes    No
  445. current|
  446. DMA    |
  447.        |
  448. Wheel- | No        Yes        No      No         No     No
  449. protect|
  450.  files |
  451.        |
  452. Set/res| No        Yes        No      No         No     No
  453. warm   |
  454. boot   |
  455.        |
  456. Source | No        No        Yes      Yes         $50     Yes
  457. code   |
  458.        |
  459. Approx.| $20        $60        free      free         free    free
  460. price  +-----------------------------------------------------------------
  461.          (*) C = Create, U = Update, A = Last Access
  462.  
  463.  
  464.  
  465. 5.  How do I install Z80DOS on my system?
  466.  
  467. 5.1.  Installing BDOS segment
  468.  
  469. To install Z80DOS in your CP/M system, you will need:
  470.  
  471.      1.  A Z80 assembler
  472.      2.  Digital Research's MOVCPM.COM, SYSGEN.COM, and DDT.COM or the
  473.      equivalents
  474.  
  475.      You must first set the options and addresses in Z80DHDR.LIB to match your
  476. particular system and tastes.  See instructions in Z80DHDR.LIB.  Then you will
  477. need to assemble Z80DOS to a hex file.    Finally, you will use SYSGEN.COM to
  478. overwrite the sections of the system tracks on your system diskettes which
  479. presently contain CP/M's BDOS with Z80DOS.
  480.  
  481.      If you are familiar with the process of patching your operating system
  482. with hex files, the file Z80DOS.BLD should give you enough information to
  483. install Z80DOS.  If you have never before altered your operating system, you
  484. may want to consult one or more of the following references for more
  485. information before proceeding:
  486.  
  487.  
  488. Conn, Richard.    Z3INSTAL.LBR.  132 kilobyte public domain library file
  489.      describing Conn's Z80 Command Processor Replacement (ZCPR).  Available on
  490.      Z-Nodes worldwide.
  491.  
  492. Conn, Richard.    ZCPR3: The Manual.  (New York: New York Zoetrope, Inc., 1985).
  493.  
  494. Johnson-Laird, Andy.  The Programmer's CP/M Handbook.  (Berkeley:
  495.      Osborne/McGraw-Hill, 1983).
  496.  
  497. Miller, Alan R.  Mastering CP/M.  (Berkeley: SYBEX, Inc., 1983)
  498.  
  499. Waite, Mitchell, and Robert Lafore.  Soul of CP/M (How to Use the Hidden Power
  500.      of Your CP/M System).  (Indianapolis: Howard W. Sams & Co., 1983).
  501.  
  502.  
  503.  
  504. 5.2.  Installing BIOS segment (optional)
  505.  
  506. To implement time stamping under Z80DOS, you will need in addition:
  507.  
  508.      1.  Source code for your BIOS
  509.      2.  A real-time clock or four bytes of reserved RAM memory
  510.  
  511.      To implement time stamping, you will need to modify and reassemble your
  512. BIOS and overwrite your system tracks with the new BIOS using the techniques
  513. described in Z80DOS.BLD and in the above references.  The offset at which to
  514. load the hex image of your BIOS is the same number used to load the hex image
  515. of Z80DOS in Z80DOS.BLD.
  516.  
  517.      You needn't have a real-time clock in your computer to implement date
  518. stamping, just an area of memory to hold the current date and time.  BIOS.TIM
  519. includes an example BIOS time inserts which use memory to hold the time.
  520.  
  521.      Finally, before Z80DOS will do date and time stamping, you must run
  522. INITDIR.COM (included) on your disks.  This sets aside extra space in your
  523. disk directories for time/date stamps (See Z80DPROG.NOT).
  524.  
  525.  
  526.  
  527. 6.  What do the programs in Z80DOS.LBR do?
  528.  
  529. INITDIR.COM initializes directories for time stamping by clearing the fourth
  530.      entry in each directory sector and flagging its user area byte with 21
  531.      hex.  This tells Z80DOS that this entry is to be used for holding the
  532.      time and date stamps of the other three directory entries in the sector.
  533.      See Z80DPROG.NOT for a complete description of the format used.  For help
  534.      using INITDIR.COM, type INITDIR.
  535.  
  536. PPIP.COM is a public domain file copy utility which I have adapted for use
  537.      with Z80DOS by enabling it to copy file date and time stamps along with
  538.      files.  PPIP has many useful options such as file archiving.  For help
  539.      with PPIP.COM, type PPIP or see PPIP.DOC, which is available in
  540.      PPIPnn.LBR on many bulletin boards.
  541.  
  542. SAVESTMP.COM is my own program which copies the creation date from one file to
  543.      another.  SAVESTMP is designed to bridge the gap between an advanced
  544.      operating system which implements creation date file stamps and programs
  545.      such as word processors which do not recognize time stamps.  NewWord, for
  546.      example, always erases the source file when modifications are performed,
  547.      and in so doing loses the file's date of creation.
  548.  
  549.      To compensate for this, SAVESTMP can be used to save the original
  550.      creation date by copying it to a zero-length file before editing and then
  551.      restoring the creation date from the zero-length file after editing.
  552.      This is best done using aliases under ZCPR, but could also be implemented
  553.      with CP/M's SUBMIT.COM.
  554.  
  555.      Here is a simple sample ZCPR alias named MODIFY which implements this
  556.      idea:
  557.  
  558.       MOD.IFY savestmp ROOT:DATEHOLD=$1;vde $1;savestmp $1=ROOT:DATEHOLD
  559.  
  560.      To edit a file, the user would type "MODIFY MYFILE".  MYFILE's creation
  561.      date would be copied to DATEHOLD (or any other file) prior to editing,
  562.      then after editing, the creation date would be copied back to MYFILE.
  563.      This ZCPR alias could be elaborated on with file existence checks, etc.
  564.  
  565.      Although I have tested SAVESTMP fully on my own system, it does make BIOS
  566.      calls and writes directly to directory tracks, so please test
  567.      SAVESTMP.COM on a dispensable diskette before using it extensively.  My
  568.      thanks to Rick Charnes, whose concern about lost creation dates inspired
  569.      SAVESTMP.COM.  For a brief help message, type SAVESTMP.
  570.  
  571. TDIR.COM or "TIMEDIR.COM" is a directory utility which displays Z80DOS
  572.      creation, modification, and last access stamps along with individual and
  573.      total file size, number of files matched, and kilobytes free.
  574.  
  575.      TDIR will also display file attributes (such as read-only) using video
  576.      display features when patched for your terminal.  To patch TDIR, look for
  577.      the ASCII labels "[VIDON>" and "[VIDOFF>" near the beginning of the file.
  578.      After VIDON, you may patch in a string to turn a video attribute on (I
  579.      use dim and reverse video on my system).  A string to turn the attribute
  580.      back off goes after VIDOFF.  The strings may be up to 6 bytes long, but
  581.      MUST be terminated with a dollar sign.
  582.  
  583.      TDIR is derived from DDIR, by H.A.J. Ten Brugge.  For help with TDIR.COM,
  584.      type "TDIR /".
  585.  
  586. TELL.COM is a public domain utility which tells you information about your
  587.      operating system.    It is included for use in installing Z80DOS.COM.  To
  588.      use, just type TELL.
  589.  
  590. TIME.COM sets or displays the date and time from the real-time clock or
  591.      section of memory devoted to time storage on Z80DOS system.  TIME.COM
  592.      will only function once the proper BIOS routine has been installed.
  593.      If you lack a real-time clock, you may wish to run TIME once each time
  594.      you start your system, by using AUTO.COM on a CP/M system, or installing
  595.      the TIME command in the STARTUP alias of a ZCPR system.  For help, type
  596.      TIME.  TIME.COM was adapted from a program of the same name by C. B.
  597.      Falconer.
  598.  
  599. ZF10GD5.COM is for use on ZCPR systems only.  This is the popular ZFILER
  600.      program, modified by adding 31 bytes of code to copy Z80DOS date and time
  601.      stamps when copying, moving, archiving, or unsqueezing files.
  602.  
  603.  
  604. 7.  Acknowledgements
  605.  
  606.      The main body of Z80DOS is my adaptation of P2DOS, version 2.1, by H.A.J.
  607. Ten Brugge, Molenstraat 33, NL-7491 BD Delden, The Netherlands, all rights
  608. reserved.  The date stamping format of Z80DOS and the programs TIME and
  609. INITDIR were adapted from DOS+, version 2.5, by C. B. Falconer, 680 Hartford
  610. Tpk, Hamden, CT 06517, all rights reserved.  The method Z80DOS uses to
  611. automatically log in changed disks is an adaptation of the scheme presented by
  612. Benjamin Ho of Evanston, IL in his SUPERDOS.LBR.
  613.  
  614.  
  615.  
  616. Please let me know what you think of Z80DOS.  I will be happy to explain the
  617. goals and techniques of Z80DOS to programmers and developers or to assist
  618. anyone in adapting programs to Z80DOS.
  619.  
  620.  
  621. I can be reached thru messages to Carson Wilson at:
  622.  
  623.  
  624.               Lillipute Z-Nodes, Chicago
  625.             312-664-1730  and  312-649-1730
  626.                 8-1-No Parity  24 hours
  627.  
  628.  
  629.                  Best Wishes!
  630.  
  631.