 Device I/O Functions      -- ZSDOS FUNCTIONS --
 File I/O Functions
 Other File Functions
 Other Disk Functions
 Miscellaneous Functions
 BIOS Functions
 File Control Block        -- ZSDOS STRUCTURES --
 Directory Record
 Disk Parameter Block
 Date Specification
 File Stamp
::ZSDOS1
::ZSDOS2
::ZSDOS3
::ZSDOS4
::ZSDOS5
::ZSDOS6
:
                            FILE CONTROL BLOCK

A file control block (FCB) is a 36-byte data area used for most file 
operations:

     offset        use
        0   drive (0=default, 1=A, 2=B, etc.)
       1-8  filename in ASCII (upper-case)
      9-11  filetype in ASCII (upper-case)
       12   logical extent number
       13   user number (S1)
       14   data module number (S2)
       15   record count
     16-31  allocation map for this physical extent
       32   current record
       33   random record number (least significant byte)
       34   random record number (intermediate significant byte)
       35   random record number (most significant byte)

When initializing the FCB, offsets 12, 14, and 32 are normally set to 0.
:
                             DIRECTORY RECORD

A directory record contains four 32-byte directory entries, which are 
similar to a file control block:

     offset        use
        0   user number
       1-8  filename in ASCII (upper-case)
      9-11  filetype in ASCII (upper-case)
       12   logical extent number
       13   S1 system byte (set to 0)
       14   data module number (S2)
       15   record count
     16-31  allocation map for this physical extent
:
                           DISK PARAMETER BLOCK

A disk parameter block (DPB) defines the logical format of a disk drive:

     offset        use
       0-1  number of 128-byte records per track
        2   block shift
        3   block mask
        4   extent mask
       5-6  maximum allocation block number
       7-8  number of directory entries minus one
      9-10  bitmap of directory and reserved allocation blocks
     11-12  directory checksum buffer size
     13-14  number of reserved tracks before directory
:
                            DATE SPECIFICATION

A date specification of six packed BCD bytes is used to pass the system 
time to and from ZSDOS:

     offset        use
        0   last two digits of year
        1   month (1-12)
        2   day (1-31)
        3   hours (0-23)
        4   minutes (0-59)
        5   seconds (0-59)

Years 78-99 are assumed to be in the 20th (19xx).  Otherwise, the 21st 
century (20xx) is assumed.
:
                                FILE STAMP

A file stamp consists of 15 packed BCD bytes divided into three fields:

     offset        use
       0-4  date file was created
       5-9  date file was last accessed
     10-14  date file was last modified

Each five-byte field consists of a modified date specification:

     offset        use
        0   last two digits of year
        1   month (1-12)
        2   day (1-31)
        3   hours (0-23)
        4   minutes (0-59)

Years 78-99 are assumed to be in the 20th (19xx).  Otherwise, the 21st 
century (20xx) is assumed.
