General Information on CP/M
CP/M File References
CP/M Line Editing and Output Control
CP/M Built-In Commands
CP/M Transient Commands
Physical Device Assignments for ARIES-1
CP/M STAT Command
CP/M PIP Command
CP/M ED Command
CP/M ASM Command
CP/M LOAD Command
The UNLOAD Command
CP/M DDT Command
The ZDT Command
CP/M SYSGEN Command
CP/M SUBMIT Command
CP/M BDOS -- Basic I/O Operations
CP/M BDOS -- Basic Disk Operations
CP/M File Types
CP/M BIOS Jump Vector
:General Information on CP/M
     CP/M is a monitor control program for microcomputer system 
development  which  uses IBM-compatible flexible disks  (floppy 
disks) for mass storage.  Using a microcomputer mainframe based 
on Intel's 8080 or Zilog's Z80 microprocessor,  CP/M provides a 
general  environment for  program  construction,  storage,  and 
editing,  along with assembly and program debug facilities.  An 
important  feature of CP/M is that it can be easily altered  to 
execute  with  any computer configuration which uses  an  Intel 
8080  or Zilog Z80 Microprocessor and has at least 16K bytes of 
main memory with up to four IBM-compatable diskette drives.
     The  CP/M  monitor provides access to programs  through  a 
comprehensive  file  management  system.   The  file  subsystem 
supports a named file structure, allowing dynamic allocation of 
file space as well as sequential and random file access.  Using 
this file system, a up to 64 distinct programs can be stored in 
both source and machine-executable form.
     Digital Research, the designer of CP/M, has provided a set 
of six manuals which describe the use and operation of CP/M  in 
detail.

     These manuals are:
          1.  An Introduction to CP/M Features and Facilities
          2.  ED:  A Context Editor for the CP/M Disk System
          3.  ASM:  CP/M Assembler User's Manual
          4.  DDT:  CP/M Dynamic Debugging Tool User's Manual
          5.  CP/M Interface Guide
          6.  CP/M System Alteration Guide

     As the reader can see,  CP/M supports a context editor, an 
assembler (Intel-compatable), and a debugger system.  These are 
available in the basic CP/M package.   There is a large variety 
of  other  software  available which can run  under  CP/M  with 
little  or  no modification.   Such software  includes  several 
assemblers  (both 8080 and Z80),  a symbolic debugger,  several 
high-level languages (including FORTRAN IV {compiler},  BASIC-E 
{translator},  CBASIC {translator},  many interpretive  BASICs, 
ALGOL,  FOCAL, and C), and several special-purpose applications 
programs  (such  as  text  formatting  systems  and  accounting 
systems).
:CP/M File References

     A  file reference identifies a particular file or group of 
files  on  a  particular disk attached  to  CP/M.   These  file 
references can be either unambiguous (ufn) or ambiguous  (afn).  
An  unambiguous  file  reference uniquely identifies  a  single 
file,  while an ambiguous file reference may be satisfied by  a 
number of different files.

     An  unambiguous  file  reference is an exact name  of  the 
specified file.   It consists of up to eight characters in  the 
file   name  and  three  characters  in  the  file  type.    An 
unambiguous file reference is of the form --

               pppppppp.sss

     The  characters  used in specifying  an  unambiguous  file 
reference may not contain any of --

               < > . , ; : = ? * [ ]

     An  ambiguous file reference is used for directory  search 
and pattern matching.   The form of an ambiguous file reference 
is  similar to an unambiguous reference,  except the symbol '?' 
may be interspersed throughout the file reference.   In various 
commands throughout CP/M,  the '?' symbol matches any character 
of a file name in the '?' position.   For example, X?Y.C?M will 
match XZY.COM and X3Y.CEM.  The '*' symbol is used to match all 
characters  of a file name or file type.   For  example,  *.COM 
will  match  XZY.COM  and HELP.COM,  while  HELP.*  will  match 
HELP.COM and HELP.HLP.
:CP/M Line Editing and Output Control

     The following are the line editing functions supported  by 
CP/M --

          rubout    Delete and echo the last character typed at 
                    the console.
          Ctrl-U    Delete   the  entire  line  typed  at   the 
                    console.
          Ctrl-X    Same as Ctrl-U.
          Ctrl-R    Retype  current  command  line:    types  a 
                    "clean  line" following character  deletion 
                    with rubouts.
          Ctrl-E    Physical   end   of  line:    carriage   is 
                    returned,  but  line is not sent until  the 
                    carriage return key is depressed.
          Ctrl-C    CP/M system reboot (warm start).
          Ctrl-Z    End input from the console (used in PIP and 
                    ED).
     Other control functions affect console output --

          Ctrl-P    Copy  all subsequent console output to  the 
                    currently-assigned   list  device   (LST:).  
                    Output is sent to both the list device  and 
                    the console device until the next Ctrl-P is 
                    typed.
          Ctrl-S    Stop   the   console  output   temporarily.  
                    Program execution and output continue  when 
                    the next character is typed at the console.  
                    Typing Ctrl-C returns control to CP/M.

     Input  lines  can  generally be up to  255  characters  in 
length.   They are not acted upon until the carriage return key 
is typed.
:CP/M Built-In Commands

     CP/M supports five built-in commands --

          ERA  afn  -- The  ERA (erase) command  removes  files 
               from the currently logged-in disk.
          DIR  afn  -- The  DIR (directory) command causes  the 
               names  of all files which satisfy the  ambiguous 
               file  name  afn  to be  listed  on  the  console 
               device.   All  files  are  listed if no  afn  is                
               given.
          REN  ufn1=ufn2 -- The REN (rename) command allows the 
               user to change the names of files on disk.   The 
               file satisfying ufn2 is changed to ufn1.
          SAVE  n  ufn -- The SAVE command places n pages (256-
               byte  blocks) onto disk from the TPA  and  names 
               this file ufn.
          TYPE  ufn  -- The TYPE command displays the  contents 
               of  the ASCII source file ufn on  the  currently 
               logged-in disk at the console device.
:CP/M Transient Commands

     The CP/M standard transient commands are --

          STAT      List   the  number  of  bytes  of   storage  
                    remaining  on the currently logged-in disk, 
                    provide   statistical   information   about 
                    particular  files,  and  display  or  alter 
                    device assignment.
          PIP       Load the Peripheral Interchange Program for 
                    subsequent   disk   file   and   peripheral 
                    transfer operations.
          ED        Load  and  execute  the  CP/M  text  editor 
                    program.
          SUBMIT    Submit   a  file  of  commands  for   batch 
                    processing.
          ASM       Load  the CP/M assembler and  assemble  the 
                    specified program from disk.
          LOAD      Load  the file in Intel "hex" machine  code 
                    format  and  produce  a  file  in   machine 
                    executable  form  which can be loaded  into 
                    the TPA (this loaded program becomes a  new                     
                    command under the CCP).
          DDT       Load  the  CP/M debugger into the  TPA  and 
                    execute it.
          DUMP      Dump the contents of a file in hex.
          SYSGEN    Create a new CP/M system diskette.
          MOVCPM    Regenerate   the   CP/M   system    for   a 
                    particular memory size.
:Physical Device Assignments for ARIES-1

     Logical Device           Physical Device

          CON:                TTY: Model 43 Teletype
                              CRT: Hazeltine 1500 CRT
                              BAT: CRT and Modem
                              UC1: In=CRT, Out=CRT and Modem
          RDR:                TTY: Model 43 Teletype
                              PTR: Modem
                              UR1: CRT and Modem w/CRT Output
                              UR2: CRT and Modem
          PUN:                TTY: Model 43 Teletype
                              PTP: Modem
                              UP1: CRT and Modem
                              UP2: CRT and Modem
          LST:                TTY: Model 43 Teletype
                              CRT: Hazeltine 1500 CRT
                              LPT: Modem
                              UL1: CRT and Modem

:CP/M STAT Command

     The STAT Command takes any of the following forms --

STAT      Calculate  the storage remaining on all active drives 
          and print a message like
               x: R/W, SPACE: nnnK  -- if disk is Read/Write
               x: R/O, SPACE: nnnK  -- if disk is Read Only
STAT x:   Calculate  the  storage remaining  on  the  specified 
          drive and print
               BYTES REMAINING ON x: nnnK
STAT x:afn
          Scan  the specified files on the specified drive  (x: 
          is  optional),  and list all files which satisfy  the 
          unambiguous  reference  in  alphabetical  order  with 
          storage requirements.   A table like the following is 
          generated --

               RECS BYTS EX D:FILENAME.TYP
               rrrr nnnK ee d:pppppppp.sss

          where
               rrrr  -- number of 128-byte records allocated to 
                        the file
               nnnK --  number   of  bytes   (in   K,   K=1024) 
                        allocated  to the file nnn = rrrr * 128 
                        / 1024
               ee --    number of 16K extensions ee = nnn / 16
               d:pppppppp.sss -- 
                        drive name (d may be A,  B,  C,  D) and 
                        file name
STAT x:=R/O
          Set  the  specified  drive to  Read  Only.   This  is 
          cleared  by a warm boot.   When a disk is Read  Only, 
          the message
               BDOS ERR ON x: READ ONLY
          will appear if there is an attempt to write to it.
STAT VAL:
          Display  the  possible  logical  to  physical  device 
          assignments.

          STAT will print the list --

               CON: = TTY:  CRT:  BAT:  UC1:
               RDR: = TTY:  PTR:  UR1:  UR2:
               PUN: = TTY:  PTP:  UP1:  UP2:
               LST: = TTY:  CRT:  LPT:  UL1:

STAT DEV:
          Display   the  current  logical  to  physical  device 
          mapping.  For example, the list may appear as --

               CON: = CRT:         PUN: = PTP:
               RDR: = UR1:         LST: = TTY:

STAT ld1=pd1, ld2=pd2, ...
          Change  the logical to physical  device  assignments.  
          Logical  device  ld1 is assigned to  physical  device 
          pd1, etc.  The valid logical device names are --

               CON:      The system console device
               RDR:      The paper tape reader device
               PUN:      The paper tape punch device
               LST:      The output list device

          The valid physical device names are --

               TTY:      Slow speed output device (teletype)
               CRT:      High  speed output device (cathode ray 
                         tube)
               BAT:      Batch processing (CON:  input is RDR:, 
                         CON: output is LST:)
               UC1:      User-defined console
               PTR:      Paper tape reader
               PTP:      Paper tape punch
               UR1:      User-defined reader #1
               UR2:      User-defined reader #2
               UP1:      User-defined punch #1
               UP2:      User-defined punch #2
               LPT:      Line printer
               UL1:      User-defined list device #1

:CP/M PIP Command

     PIP (Peripheral Interchange Program) is the CP/M transient 
which   implements  the  basic  media   conversion   operations 
necessary to load,  print, punch, copy, and combine disk files.  
PIP is initiated by one of the following forms --

          PIP            Engage  PIP, prompt the user with '*', 
                         and  read command lines directly  from 
                         the console.  PIP used in this way  is 
                         exited   by  either  typing  an  empty 
                         command line (just a carriage  return) 
                         or a Ctrl-C as the first character  of 
                         the line.
          PIP  cmnd      Engage  PIP,  execute   the  specified 
                         command, and return to CP/M.

     The form of each command line in PIP is --

        destination=source#1, source#2, source#3, ..., source#n

     The general forms of PIP command lines are --

          x:=y:afn       Copy  all  files  satisfying afn  from 
                         drive  y  to  drive  x.   'y'  may  be 
                         omitted,  and,  if so,  the  currently 
                         logged-in drive is selected.
          x:ufn=y:       Copy   the file given by ufn from y to 
                         x.   'x' may be omitted,  and,  if so, 
                         the   currently  logged-in  drive   is 
                         selected.
          x:afn=y:afn    Like the above,  but x and/or y may be 
                         omitted; the default drive is selected 
                         for the omitted drive(s).
          ld=pd          Copy  from   the  specified   physical 
                         device   to   the  specified   logical 
                         device.
            Valid logical devices are --
          
                    CON:, RDR:, PUN:, LST:
 
            Valid physical devices are --

                     TTY:, CRT:, UC1:, PTR:, PTP:, UR1:,
                     UR2:, UP1:, UP2:, LPT:, UL1:

     Additional device names which may be used in PIP  commands 
are --

          NUL:      Send 40 Nulls (ASCII 0) to the device.
          EOF:      Send  a  CP/M End of File character  (ASCII 
                    Ctrl-Z).
          INP:      Special PIP input source to be patched (see 
                    manual).
          OUT:      Special  PIP  output   destination  to   be 
                    patched (see manual).
          PRN:      Same  as  LST:,  but  tabs are expanded  at 
                    every eighth character position,  lines are 
                    numbered,  and  page  ejects  are  inserted 
                    every 60 lines with an initial eject.

     The  user  can  also specify one or  more  PIP  parameters 
enclosed  in square brackets separated by zero or more  blanks.  
These parameters are --

     B    Block mode  transfer.   Data is buffered by PIP until 
          an  ASCII X-Off character (Ctrl-S) is  received  from 
          the source device.
     Dn   Delete  characters  which extend past column n in the 
          transfer   of  data  to  the  destination  from   the 
          character source.
     E    Echo all transfer operations to the console.
     F    Filter (remove) form feeds from the file.
     H    Hex  data transfer.   All data is checked for  proper 
          Intel hex file format.
     I    Ignore  ':00'  records in the transfer of  Intel  hex 
          format file.
     L    Translate upper case to lower case alphabetics.
     N    Add  line  numbers to each line  transferred  to  the 
          destination.
     O    Object  file  (non-ASCII) transfer.   Ignore  End  of 
          File.
     Pn   Include page ejects at every n lines.
     Qs^Z Quit copying  from the source device or file when the 
          string s (terminated by Ctrl-Z) is encountered.
     Ss^Z Start  copying from the source file when the string s 
          is seen.
     Tn   Expand tabs to every nth column.
     U    Translate lower case to upper case alphabetics.
     V    Verify that data has been copied correctly.
     Z    Zero   the  parity  bit  on  input  for  each   ASCII 
          character.
:CP/M ED Command

     The  ED Program is the CP/M system context  editor,  which 
allows  creation  and  alteration  of  ASCII  files.   Complete 
details are given in the user's manual.

     The following are the error indicators given by ED --

          ?    Unrecognized Command
          >    Memory buffer full
          #    Cannot   apply  command  the  number  of   times 
               specified
          O    Cannot open LIB file in R command

     The following are the control characters recognized by  ED 
--

          ^C        System reboot
          ^E        Physical <CR> <LF> (not entered in command)
          ^I        Logical tab
          ^L        Logical  <CR> <LF> in search and substitute 
                    strings
          ^U        Line delete
          ^Z        String terminator
          Rubout    Character delete
          Break     Discontinue command

     The following are the commands recognized by ED --

          nA        Append lines
          +/- B     Beginning/Bottom of buffer
          +/- nC    Move character positions
          +/- nD    Delete characters
          E         Exit
          nFs^Z     Find string
          H         End edit, close and reopen files
          Is^Z      Insert characters
          nJ        Place strings in juxtaposition
          +/- nK    Kill (delete) lines
          +/- nL    Move down/up lines
          nM        Macro definition
          O         Return to original file
          +/- nP    Move and print pages
          Q         Quit with no file changes
          R         Read library file
          nSs1^Zs2^Z
                    Substitute s2 for s1
          +/- nT    Type lines
          +/- U     Translate lower to upper case if U; none if 
                    -U
          +/- V     Engage/disengage line numbers (verify)
          0V        Print memory buffer info (free/total usage)
          nW        Write lines
          nX        Transfer n lines to X$$$$$$$.LIB
          0X        Empty X$$$$$$$.LIB
          nZ        Sleep
          +/- n     Move and type (+/- nLT)
          n:        Move to absolute line (V engaged)
          :n        Process from current line to specified line 
                    (V engaged)
:CP/M ASM Command

     The   ASM  Command  loads  and  executes  the  CP/M   8080 
assembler.  It is of the form --

          ASM filename.xyz

where

          filename  ... is the name of the file  'filename.ASM' 
                        to assemble
          x         ... designates the disk name which contains 
                        the source
          y         ... designates the disk name to contain the 
                        hex  file (y=Z suppresses generation of 
                        the hex file)
          z         ... designates the disk name to contain the 
                        print  file  (y=X lists  on  CON:,  y=Z 
                        suppresses listing)

     Refer to the ASM Manual for further details.
:CP/M LOAD Command

     The  LOAD  Command  reads the  file  specified,  which  is 
assumed to contain Intel hex format machine code and produces a 
memory image file which can be subsequently executed  (converts 
.HEX to .COM files).  It is of the form --

          LOAD filename

where filename is the name of the file 'filename.HEX'.
:The UNLOAD Command

     The UNLOAD Command does the reverse of the LOAD Command -- 
it converts COM files to HEX files.  It is of the form --

          UNLOAD filename

where filename is the name of the file 'filename.COM'.
:CP/M DDT Command

     The  DDT  Program allows dynamic interactive  testing  and 
debugging of programs generated in the CP/M environment.  It is 
invoked by --

          DDT
          DDT filename.HEX
          DDT filename.COM

where  'filename'  is the name of the program to be  loaded  or 
tested.

     DDT  responds  to  the  normal  CP/M  input  line  editing 
characters.

   DDT responds to the following commands --

     As   Perform  inline  assembly starting at  the  specified 
          address s.
     D    Display  memory  from  the  current  address  for  16 
          display lines.
     Ds   Display memory from address s for 16 display lines.
     Ds,f Display memory from address s to address f.
     Fs,f,c
          Fill  memory from start address s to final address  f 
          with byte c.
     G    Start execution at the current value of the PC.
     Gs   Start execution at the specified address s.
     Gs,b Start execution  at the specified address s and set a 
          breakpoint at the address b.
     Gs,b,c
          Same as above with breakpoints at b and c.
     G,b  Start  execution at the current value of the PC  with 
          breakpoint b.
     G,b,c
          Same as above with breakpoints at b and c.
     If   Insert a file name f into the default FCB.

     L    List  12 lines of disassembled code from the  current 
          address.
     Ls   List 12 lines from the specified address s.
     Ls,f List lines of disassembled code from s to f.
     Ms,f,d
          Move  the block from address s to f to destination at 
          address d.
     R    Read file in FCB into memory at 100H.
     Rb   Read file in FCB into memory with offset b from 100H.
     Ss   Set (examine and alter) memory starting at address s.
     T    Trace the next instruction.
     Tn   Trace the next n instructions.
     U    Untrace -- like Trace, but intermediate steps are not 
          displayed.
     X    Examine all registers and flags.
     Xr   Examine specified registers or flag,  where r may  be 
          --
               C    Carry flag
               Z    Zero flag
               M    Minus (sign) flag
               I    Interdigit Carry flag
               A    Accumulator
               B    BC Reg pair
               D    DE Reg pair
               H    HL Reg pair
               S    Stack pointer
               P    PC
:The ZDT Command

     ZDT is a Z80 version of DDT.  It is invoked by typing --

          ZDT

     The  commands  recognized  by  ZDT are  input  in  single-
character input mode.   No input line editing is done, and each 
command  expects an exact input.   All byte values are  exactly 
two characters, and all addresses are exactly four characters.

     The commands recognized by ZDT are --

          A bbbb
               Enter ASCII characters into memory from keyboard 
               starting at address bbbb.
          B
               Warm Boot -- Return to CP/M.
          C bbbb eeee nnnn
               Compare memory from address bbbb to address eeee 
               to block starting at nnnn.
          D bbbb eeee
               Dump memory from bbbb to eeee.
          E bbbb eeee <ASCII string>
               Search  for  ASCII  string from  bbbb  to  eeee.  
               String  is  at most 16  characters.   String  is 
               terminated by <CR>.
          F bbbb eeee <hex string>
               Search for hex string from bbbb to eeee.  String 
               is terminated by <CR>.
          G
               Go to next breakpoint.
          H aaaa nnnn
               Hex  add and subtract.   Computes aaaa+nnnn  and 
               aaaa-nnnn.
          I nn
               Input.  Prints value at port nn.
          J nnnn
               Jump to and execute at location nnnn.
          K
               Keyboard echo.
          L filename.typ nnnn
               Loads specified disk file into location nnnn.
          M bbbb eeee nnnn
               Move block from bbbb to eeee-1 to nnnn.
          N aaaa
               Enter offset aaaa for loading.
          O nn dd
               Output byte dd to port nn.
          P bbbb
               Input hex into memory from keyboard starting  at 
               bbbb.   <sp>  advances pointer,  <rub> or  <del> 
               backs pointer.
          Q bbbb eeee
               Dumps from bbbb to eeee in ASCII.
          R n ll tt ss bbbb
               Read  block  of  data from disk n of  length  ll 
               (256-byte pages) starting at track tt and sector 
               ss placing the data at bbbb.
          S bbbb eeee
               Disassembly (symbolic dump) from bbbb to eeee.
          T bbbb eeee
               Destructive memory test from bbbb to eeee-1.
          U bbbb
               Set breakpoint at bbbb.
          V
               Display all currently-set breakpoints.
          W n ll tt ss bbbb
               Write on disk n the data at bbbb for a length of 
               ll starting at track tt,  sector ss.   ll is  in 
               256-byte pages.
          X
               Display registers.
          Z bbbb eeee dd
               Zero or set memory from bbbb to eeee-1 with byte 
               dd.
:CP/M SYSGEN Command

     The  SYSGEN  transient  command allows  generation  of  an 
initialized disk containing the CP/M Operating System.

     It is invoked by typing

          SYSGEN

     Once  invoked,  the user is prompted through the  session.  
Refer to the CP/M Manual for further details.
:CP/M SUBMIT Command

     The  SUBMIT  command  allows CP/M commands to  be  batched 
together for automatic processing.  The form of this command is

          SUBMIT ufn parm1 parm2 ... parmn

     The  ufn given in the SUBMIT command must be the  filename 
(not  type) of a file which exists on the  currently  logged-in 
disk  with an assumed file type of '.SUB'.   Refer to the  CP/M 
Manual for further details.
:CP/M BDOS -- Basic I/O Operations

  Function and Number      Input Parameters    Output Parameters

  Read Console      1      None                ASCII Char in A
  Write Console     2      ASCII Char in E     None
  Read Reader       3      None                ASCII Char in A
  Write Punch       4      ASCII Char in E     None
  Write List        5      ASCII Char in E     None
  Get I/O Status    7      None                I/O Status in A
  Put I/O Status    8      I/O Status in E     None
  Print Buffer      9      Address of string   None
                            terminated by $
                            in DE
  Read Buffer      10      Address of Read     Read Buffer is filled
                            Buffer in DE
  Console Ready    11      None                LSB of A is 1 if char
                                                ready
*All function numbers are passed in Reg C.

I/O Status Byte --

     Value     Bits 6&7  Bits 4&5  Bits 2&3  Bits 0&1

       00      CON:=TTY: RDR:=TTY: PUN:=TTY: LST:=TTY:
       01           CRT:      PTR:      PTP:      CRT:
       10           BAT:      UR1:      UP1:      LPT:
       11           UC1:      UR2:      UP2:      UL1:

Read Buffer --

     Byte      Function

       1       Maximum Buffer Length
       2       Current Buffer Length (returned value)
     3-n       Data (returned values)


:CP/M BIOS -- Basic Disk Operations

  Function and Number      Input Parameters    Output Parameters

  Lift Head        12      None                None
  Init BDOS        13      None                None
  Log-In Disk      14      Value in Reg E      None
                            A=0, B=1, C=2,
                            D=3
  Open File        15      Address of FCB      Byte address of FCB
                            in DE               if found or 0FFH if not
  Close File       16      Address of FCB      Byte address of FCB
                            in DE               if found or 0FFH if not
  Search for File  17      Address of FCB      Byte address of first FCB
                            in DE               if found or 0FFH if not
  Search for Next  18      Address of FCB      Byte address of next FCB
                            in DE               if found or 0FFH if not
  Delete File      19      Address of FCB      None
                            in DE
  Function and Number      Input Parameters    Output Parameters

  Read Next Record 20      Address of FCB      0=successful read
                            in DE              1=read past EOF
                                               2=reading random data
  Write Next Rec   21      Address of FCB      0=successful write
                            in DE              1=error in extending
                                               2=end of disk data
                                               255=no more dir space
  Make File        22      Address of FCB      Byte address of FCB or
                            in DE               255 if no more dir space
  Rename FCB       23      Address of FCB      Byte Address of Dir entry
                            in DE               or 255 if no match
  Read Drive No    25      None                Number of logged-in drive
                                                (A=0, B=1, C=2, D=3)
  Set DMA Address  26      Address of 128      None
                           byte buffer in DE

*All function numbers are passed in Reg C

:CP/M File Types

     ALG       ALGOL 60 Source File
     ASM       Assembler Source File
     BAK       Backup File
     BAS       BASIC Source File (CBASIC)
     C         C Source File
     COM       "Command" File (Binary ORGed to 100H)
     FOR       FORTRAN IV Source File
     HEX       Intel "hex" code file
     HLP       HELP File
     INT       BASIC Intermediate File
     LST       Listing File
     MAC       MACRO-80 Source File
     PRN       Assembler Listing File
     SRC       PASCAL/MT Source File
     SUB       SUBMIT File
     TC        Tiny-C Source File
     TFS       TFS Source File
     TXT       Text File
     $$$       Temporary File
:CP/M BIOS Jump Vector

     The  following  is a table representing the  entry  points 
into the CP/M BIOS of the major routines accessable to the user 
--


     Routine   Relative Offset     Comment

     BOOT           00H            Cold Start
     WBOOT          03H            Warm Start
     CONST          06H            Console Status
                                    Reg A = 00 if no char ready
                                    Reg A = FF if char ready
     CONIN          09H            Console char in (Reg A)
     CONOUT         0CH            Console char out (Reg C)
     LIST           0FH            List out (Reg C)
     PUNCH          12H            Punch out (Reg C)
     READER         15H            Reader in (Reg A)

     Routine   Relative Offset     Comment

     HOME           18H            Move to track 00
     SELDSK         1BH            Select  disk given by Reg  C 
                                   (A=0,B=1,...)
     SETTRK         1EH            Set  track address given  by 
                                   Reg C (0...76)
     SETSEC         21H            Set  sector address given by 
                                   Reg C (1...26)
     SETDMA         24H            Set  subsequent DMA  address 
                                   (RP B&C)
     READ           27H            Read track/sector (block)
     WRITE          2AH            Write track/sector (block)
                            Reg A = FF if char ready
     CONIN          09H    