      A>ERA C:LETTER.*
      A>ERA D:*.BAK
      A>ERA B:*.*

///1filename
  Filename Format

      CP/M-86   identifies   every   file  by   its   unique   file 
  specification.    A  file  specification can  have  three  parts, 
  separated    by   their   appropriate   delimiters:     a   drive 
  specification, a primary filename and a filetype.  A drive letter 
  must  be followed by a colon.   A filetype must be preceded by  a 
  period.

      The   term   "filespec"   is   an   abbreviation   for   file 
  specification,  and indicates any valid combination of the drive, 
  filename and filetype.   This summary uses the following  symbols 
  to designate the parts of a filespec.

  d:        represents the optional drive specification, which  can
            be  a  single  alphabetical  character  in  the range A
            through P followed by a colon.

  filename  represents the required primary filename, which can  be
            1 to 8 alphabetic or numeric characters.

  typ       represents the optional filetype, which can be 0  to  3
            alphabetic  or  numeric  characters  separated from the
            primary filename by a period.

      Valid combinations of the elements of  a  file  specification
  are shown below:

      o  d:
      o  filename
      o  d:filename
      o  filename.typ
      o  d:filename.typ


      Certain   CP/M-86   commands  select  and    process  several  
  files  if  "wildcard"  characters  appear in the primary filename 
  or filetype.  The two wildcard characters  are  ?,  which matches  
  an  single  letter  in  the  same position,  and *, which matches 
  any  character  at  that  position  and  any   other   characters 
  remaining  in  the  filename  or filetype.  The command summaries 
  indicate  which  commands  accept  wildcard  characters  in   the 
  filespec.
  
///1function
  Syntax:

  FUNCTION [filespec]

  Purpose:

      FUNCTION specifies the  operations  of  the  20  programmable
  function  keys  (PFKs). FUNCTION operates in two modes, specified
  by the command tail entered with  FUNCTION.   If  you  supply  no
  command  tail  FUNCTION  displays  a  menu to select from. If you
  specify a filespec, FUNCTION takes its input from this file.

  Using The FUNCTION Menu

      When you first call FUNCTION the menu appears.  The string of 
  CP/M-86   commands  and  symbols  following  "F-number:"  is  the 
  currently  programmed function.   Press any key F1-F10 to  change 
  the  value.   If you make a mistake you may backspace  to  delete 
  characters  or terminate the string with \00 or CTRL-@ and  start 
  from the main menu again.

  Non-Printing Characters

      You  can specify absolute hexadecimal values so all  possible 
  control characters and 8-bit character codes can be used.   Refer 
  to  the  CP/M-86  Operating System Guide  for  a  description  of 
  programming hexadecimal codes into the PFKs.

  Terminating Input

      Terminate your input by pressing  CTRL- while  also  pressing
  @. If  you  mistakenly  enter  more  than 20 characters, FUNCTION
  terminates the input automatically and returns to  the  key  menu
  you  started from, either the function key menu or the number pad
  key menu.

  Using FUNCTION With a Command File

      When  you enter a filespec with FUNCTION,  the function  keys 
  are  programmed  with  the command strings  found  in  the  file.  
  Examine   the   DATA.PFK  file  to  learn  how  such  files   are 
  constructed;   refer  to  the  FUNCTION  command  description  in 
  Section  4.11 of the CP/M-86 Operating System Guide  for  further 
  detail.

      A>FUNCTION PFK.PFK

  FUNCTION reads the specified file, programs the keys accordingly,
  and returns to system command level.


///1gencmd
  Syntax:

  GENCMD filespec {8080
                    CODE[An,Bn,Mn,Xn]
                    DATA[An,Bn,Mn,Xn]
                   STACK[An,Bn,Mn,Xn]
                   EXTRA[An,Bn,Mn,Xn]}

     A = Absolute memory location
     B = Beginning address of group
         in .H86 file
     M = Minimum memory required
     X = Maximum memory required

  Purpose:

      Converts hexadecimal object  file  (filetype  assumed  to  be
  .H86)  into  executable file (of type .CMD). Switches controlling
  the type of memory model and group  addresses  can  be  included.
  All values are hexadecimal and are paragraph values.

  Examples:

      A>GENCMD PROG
      B>GENCMD PROG1 8080
      B>GENCMD PROG2 DATA[M20]
      A>GENCMD PROG3 DATA[B4C,M260,XFFF]
      A>GENCMD PROG4 CODE[A40] DATA[M30]
///1hdmaint
Syntax:  HDMAINT

The HDMAINT hard-disk maintenance utility is a menu-driven program 
that prepares your IBM-compatible hard disk for use with Concurrent
CP/M-86.  HDMAINT works by offering you alternatives in its menus.
You respond to HDMAINT by pressing the function keys that correspond 
to your choices.  

HDMAINT performs the following functions:

  o Creates or changes a Concurrent CP/M-86 partition on your hard 
    disk and prepares a volume within  that partition for Concurrent 
    CP/M-86's use.

  o Deletes any existing Concurrent CP/M-86 volume from your hard 
    disk.

  o Makes any partition on the hard disk bootable or not bootable.

  o Toggles the state of a verify switch on or off.  When the 
    switch is on, Concurrent CP/M-86 confirms that everything it 
    writes to the hard disk is correctly written by reading the 
    data back and comparing it to data sent to the disk.

  o Increases the number of possible directory entries within a 
    Concurrent CP/M-86 volume that has fewer than the maximum number 
    of directory entries allowed.

  o Permits you to scan an existing Concurrent CP/M-86 volume for
    surface defects that developed after the partition was created.

Before you call HDMAINT, be sure your current virtual console is in 
Dynamic mode.  Set it to Dynamic mode with VCMODE.  It is not possible 
to run HDMAINT when any other programs are being executed.  Before 
invoking HDMAINT, close any open files and terminate any running 
programs. 

HDMAINT presents only meaningful options.  Options that cannot be
executed by HDMAINT at a given time never appear on the screen.

When you use HDMAINT for the first time, accept the default values 
HDMAINT proposes whenever it asks you for a decision.  This allows 
you to proceed quickly through the partition-creation process.  You 
can use HDMAINT later to change your Concurrent CP/M-86 partition 
when you have a better idea of your needs. 
///1help
  Syntax:

  HELP {topic}{,subtopic}...{[P]}

  Purpose:


      To supply information on how to use  CPM-86  commands.   HELP
  with  no  command  tail  lists  the available topics.  HELP, when
  followed by a  topic  and  an  optional  sequence  of  subtopics,
  displays information about that topic on your screen. At the HELP
  prompt,  HELP> , you can enter  a topic and  optional  subtopics.
  Pressing  ENTER  without  a topic specified terminates HELP. Help
  allows up to 8 subtopics.  When the P option is  used,  the  HELP
  display does NOT pause every 23 lines.

  Examples:

      A>HELP
      A>HELP dir
      A>HELP stat examples
      HELP> help
      HELP> stat Examples

///1pip
  Syntax:

  PIP filespec{[Gn]}=filespec{[O]}...
  PIP filespec|dev=filespec{[O]}
  PIP filespec|dev=dev{[O]}

  Purpose:

      Copies files, combines  files  and  transfers  files  between
  peripheral  devices. The  first  filespec is the destination. The
  second filespec is the source.  The source or destination can  be
  any  CP/M-86 logical device.   PIP with no command tail  displays 
  an  *  prompt and awaits your series of  commands,   entered  and  
  executed  one line at a time.   Source filespecs with options can 
  be  repeated,  separated by commas,   to  combine  two  or   more 
  files  into  one  file.  [O]  is any combination of the available
  options. The [Gn] option in the destination designates  the  USER
  number of the destination.

///2Examples
  Examples:

  Copy from one disk to another:

      A>PIP B:=A:DRAFT.TXT
      A>PIP B:DRAFT.TXT = A:

  Copy a file and rename it:

      A>PIP B:NEWDRAFT.TXT=A:OLDDRAFT.TXT
      A>PIP NEWDRAFT.TXT=OLDDRAFT.TXT

  Copy multiple files:

      A>PIP <cr>
      A>PIP B:=*.TXT [AV]
      A>PIP B:=*.CMD [RW]
      A>PIP B:=C:DRAFT.*
      A>PIP B:=*.*
      A>PIP B:=C:*.*

  Combine multiple files:

      A>PIP B:NEW.DAT=FILE1.DAT,FILE2.DAT

  Copy, rename and place in user 1:

      A>PIP NEWDRAFT.TXT[G1]=OLDDRAFT.TXT

  Copy, rename and get from user 1:

      A>PIP NEWDRAFT.TXT=OLDDRAFT.TXT[G1]

  Copy to/from logical devices:

      A>PIP B:FUNFILE.SUE=CON:
      A>PIP LST:=CON:
      A>PIP LST:=B:DRAFT.TXT[T8]
      A>PIP PRN:=B:DRAFT.TXT
  
///1ren
  Syntax:

  REN {d:}newname{.typ} = oldname{.typ}

  Purpose:

      REN changes the name  of  the  existing  file  (specified  by
  oldname) to a new name (specified by newname). You cannot specify
  two different drives.

      If the file  specified  by  <oldname>  does  not  exist,  REN
  displays the following message:

      No such file to rename


      If the file given  by  newname  is  already  present  in  the
  directory, REN displays the following message on the screen:

      Not renamed: Newfile already exists, delete (Y/N)?

  Examples:

      A>REN NEWFILE.DAT = OLDFILE.DAT
      A>REN B:NEWFILE.DAT = OLDFILE.DAT


///1stat
  Syntax:
  STAT
  STAT d:= RO
  STAT filespec {RO|RW|SYS|DIR|SIZE}
  STAT {d:}DSK:|USR:

  Purpose:


      STAT  supplies information about disk drives and  files,  and 
  also changes attributes of files.


      STAT  with no command tail returns the amount of free storage 
  space  in Kilobytes (1024 bytes or 1K) for all on-line  diskettes 
  used since CP/M-86 was started or reloaded, and indicates whether 
  the drive is set to Read-Only (RO) or Read-Write (RW).  RW is the 
  default  state,  and drives become RO when you change a  diskette 
  and do not enter a CTRL C.    Use STAT to set the drive to RO and 
  enter CTRL C to set it to RW.

      STAT  with a file specified in the command tail  returns  the 
  number of kilobytes used by that file.   STAT with a filespec can 
  also set a file or group of files to RO,  RW,  SYS or DIR.   STAT 
  accepts wildcards in the command tail.


      STAT  DSK:   shows  the  characteristics of  the  default  or 
  specified drive.


      STAT USR:  shows which user numbers contain files on a  given 
  diskette.
  

      Note that STAT accepts a dollar sign ($), square bracket ([), 
  or no delimiter before RO, RW, SYS, DIR and SIZE options.

Examples:

    A>STAT
    A>STAT B:=RO
    A>STAT myfile.txt
    A>STAT C:letter.bak
    A>STAT genledgr.dat RO,SYS
    A>STAT *.cmd RO
    A>STAT *.bak
    A>STAT B:*.*

///2options
  STAT Options:

    RW    = Read Write
    RO    = Read Only
    SYS   = System attribute
    DIR   = NO System attribute
    SIZE  = Show the size of the
            file or files
    USR:  = Shows USER numbers
            containing files
    DSK:  = Shows characteristics
            of the default drive

///1submit
  Syntax:

  SUBMIT filespec {actual parameters}

  Purpose:

    SUBMIT  processes a  command  file  with  a  filetype  of  .SUB 
  consisting of of CP/M-86 commands given one command per line. Any 
  optional parameters (such as a drive or filespec)  following  the 
  filespec   in   the   command  line  are  substituted  for  their 
  corresponding formal parameters ($1,$2,$3...) in the SUBMIT file.

Examples:

    A>SUBMIT START
    A>SUBMIT B:START
    A>SUBMIT START C: LETTER
///1tod
  Syntax:

  TOD {mm/dd/yy hh:mm:ss | P}

  Purpose:

    TOD displays or sets the date and time.

    TOD  with no command tail displays the system date  and   time. 
  Time is represented as a twenty-four hour clock, with hour values 
  from 00 to 11 for the morning, and 12 to 23 for the afternoon and 
  evening.

    TOD P displays the date and time continuously, until you strike 
  any key.

    TOD   mm/dd/yy  hh:mm:ss  sets  the  date  and  time  to   that 
  specified in the command tail.  When you start CP/M, these values 
  are initially set to zero.  To set the  current  date  and  time, 
  supply  a two-digit representation of the month, day and year for 
  mm, dd, and yy respectively, and a  two-digit  representation  of 
  the  hours,  minutes  and seconds for hh, mm and ss respectively.  
  When the time specified corresponds to the correct  time,  strike 
  any key.  This sets the current date and time.

Examples:

    A>TOD
    A>TOD P
    A>TOD 02/14/81 12:00:00

///1type
Syntax:

  TYPE filespec

  Purpose:


    TYPE  displays contents of an ASCII file on the screen.   Press 
  any  key  to  discontinue  the  display.  TYPE  does  not  accept 
  wildcard filespecs. Entering a  ^P  prior  to  the  type  command 
  causes the output to be echoed to the printer until another ^P is 
  entered.

  Examples:

    A>TYPE letter.dat
    B>TYPE a:document.law
    C>TYPE program.bas
    D>TYPE program.a86

///1user
  Syntax:

  USER {number 0 - 15}

  Purpose:


      USER displays and changes the current user number.  USER with 
  no  command tail displays the current user number.   USER with  a 
  number from 0 to 15 changes the current user number to the number 
  specified by n.  CP/M assumes a default user number of 0.   Files 
  set  to SYStem on USER 0 are available to all USER areas as Read-
  Only.

  Examples:

      A>USER
      B>USER 2
      A>USER 7
  s into the PFKs.

  Terminating Input

      Terminate your input by pressing  CTRL- while  also  pressing
  @. If  you  miåååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå