home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / lambda / soundpot / a / cpmhlp.lbr / CPM.HZP / CPM.HLP
Encoding:
Text File  |  1993-10-26  |  30.3 KB  |  711 lines

  1. General Information on CP/M
  2. CP/M File References
  3. CP/M Line Editing and Output Control
  4. CP/M Built-In Commands
  5. CP/M Transient Commands
  6. Physical Device Assignments for ARIES-1
  7. CP/M STAT Command
  8. CP/M PIP Command
  9. CP/M ED Command
  10. CP/M ASM Command
  11. CP/M LOAD Command
  12. The UNLOAD Command
  13. CP/M DDT Command
  14. The ZDT Command
  15. CP/M SYSGEN Command
  16. CP/M SUBMIT Command
  17. CP/M BDOS -- Basic I/O Operations
  18. CP/M BDOS -- Basic Disk Operations
  19. CP/M File Types
  20. CP/M BIOS Jump Vector
  21. :General Information on CP/M
  22.      CP/M is a monitor control program for microcomputer system development
  23. which  uses IBM-compatible flexible disks (floppy disks) for mass  storage.
  24. Using  a  microcomputer  mainframe  based on Intel's 8080  or  Zilog's  Z80
  25. microprocessor,   CP/M   provides   a  general  environment   for   program
  26. construction,  storage,  and editing, along with assembly and program debug
  27. facilities.   An important feature of CP/M is that it can be easily altered
  28. to  execute  with any computer configuration which uses an  Intel  8080  or
  29. Zilog  Z80 Microprocessor and has at least 16K bytes of main memory with up
  30. to four IBM-compatable diskette drives.
  31.      The  CP/M monitor provides access to programs through a  comprehensive
  32. file  management  system.    The  file  subsystem  supports  a  named  file
  33. structure,  allowing dynamic allocation of file space as well as sequential
  34. and  random  file access.   Using this file system,  a up  to  64  distinct
  35. programs can be stored in both source and machine-executable form.
  36.      Digital  Research,  the  designer of CP/M,  has provided a set of  six
  37. manuals which describe the use and operation of CP/M in detail.
  38.  
  39.      These manuals are:
  40.           1.  An Introduction to CP/M Features and Facilities
  41.           2.  ED:  A Context Editor for the CP/M Disk System
  42.           3.  ASM:  CP/M Assembler User's Manual
  43.           4.  DDT:  CP/M Dynamic Debugging Tool User's Manual
  44.           5.  CP/M Interface Guide
  45.           6.  CP/M System Alteration Guide
  46.  
  47.      As the reader can see,  CP/M supports a context editor,  an  assembler
  48. (Intel-compatable),  and  a  debugger system.   These are available in  the
  49. basic CP/M package.   There is a large variety of other software  available
  50. which  can  run under CP/M with little or no modification.   Such  software
  51. includes  several  assemblers (both 8080 and  Z80),  a  symbolic  debugger,
  52. several  high-level  languages (including FORTRAN  IV  {compiler},  BASIC-E
  53. {translator},  CBASIC {translator}, many interpretive BASICs, ALGOL, FOCAL,
  54. and  C),  and  several special-purpose applications programs (such as  text
  55. formatting systems and accounting systems).
  56. :CP/M File References
  57.  
  58.      A  file reference identifies a particular file or group of files on  a
  59. particular  disk  attached to CP/M.   These file references can  be  either
  60. unambiguous  (ufn)  or  ambiguous (afn).   An  unambiguous  file  reference
  61. uniquely identifies a single file, while an ambiguous file reference may be
  62. satisfied by a number of different files.
  63.  
  64.      An  unambiguous file reference is an exact name of the specified file.
  65. It consists of up to eight characters in the file name and three characters
  66. in the file type.  An unambiguous file reference is of the form --
  67.  
  68.                pppppppp.sss
  69.  
  70.      The  characters used in specifying an unambiguous file  reference  may
  71. not contain any of --
  72.  
  73.                < > . , ; : = ? * [ ]
  74.  
  75.      An  ambiguous file reference is used for directory search and  pattern
  76. matching.   The  form  of  an  ambiguous file reference is  similar  to  an
  77. unambiguous reference, except the symbol '?' may be interspersed throughout
  78. the file reference.   In various commands throughout CP/M,  the '?'  symbol
  79. matches  any  character of a file name in the '?' position.   For  example,
  80. X?Y.C?M  will match XZY.COM and X3Y.CEM.   The '*' symbol is used to  match
  81. all characters of a file name or file type.   For example, *.COM will match
  82. XZY.COM and HELP.COM, while HELP.* will match HELP.COM and HELP.HLP.
  83. :CP/M Line Editing and Output Control
  84.  
  85.      The following are the line editing functions supported by CP/M --
  86.  
  87.           rubout    Delete and echo the last character typed at the
  88.                     console.
  89.           Ctrl-U    Delete the entire line typed at the console.
  90.           Ctrl-X    Same as Ctrl-U.
  91.           Ctrl-R    Retype current command line:  types a "clean line"
  92.                     following character deletion with rubouts.
  93.           Ctrl-E    Physical end of line:  carriage is returned, but
  94.                     line is not sent until the carriage return key is
  95.                     depressed.
  96.           Ctrl-C    CP/M system reboot (warm start).
  97.           Ctrl-Z    End input from the console (used in PIP and ED).
  98.  
  99.      Other control functions affect console output --
  100.  
  101.           Ctrl-P    Copy all subsequent console output to the currently-
  102.                     assigned list device (LST:).  Output is sent to both
  103.                     the list device and the console device until the next
  104.                     Ctrl-P is typed.
  105.           Ctrl-S    Stop the console output temporarily.  Program execution
  106.                     and output continue when the next character is typed
  107.                     at the console.  Typing Ctrl-C returns control to CP/M.
  108.  
  109.      Input lines can generally be up to 255 characters in length.  They are
  110. not acted upon until the carriage return key is typed.
  111. :CP/M Built-In Commands
  112.  
  113.      CP/M supports five built-in commands --
  114.  
  115.           ERA  afn  -- The  ERA  (erase) command  removes  files  from  the
  116.                currently logged-in disk.
  117.           DIR  afn -- The DIR (directory) command causes the names  of  all
  118.                files which satisfy the ambiguous file name afn to be listed
  119.                on  the console device.   All files are listed if no afn  is
  120.                given.
  121.           REN  ufn1=ufn2  -- The  REN (rename) command allows the  user  to
  122.                change the names of files on disk.  The file satisfying ufn2
  123.                is changed to ufn1.
  124.           SAVE  n ufn -- The SAVE command places n pages (256-byte  blocks)
  125.                onto disk from the TPA and names this file ufn.
  126.           TYPE  ufn -- The TYPE command displays the contents of the  ASCII
  127.                source  file  ufn  on the currently logged-in  disk  at  the
  128.                console device.
  129. :CP/M Transient Commands
  130.  
  131.      The CP/M standard transient commands are --
  132.  
  133.           STAT      List the number of bytes of storage  remaining  on  the
  134.                     currently    logged-in   disk,    provide   statistical
  135.                     information  about  particular files,  and  display  or
  136.                     alter device assignment.
  137.           PIP       Load the Peripheral Interchange Program for  subsequent
  138.                     disk file and peripheral transfer operations.
  139. ERRROR IN TRANSFER*************************************************************
  140.           ASM       Load  the  CP/M assembler and  assemble  the  specified
  141.                     program from disk.
  142.           LOAD      Load  the file in Intel "hex" machine code  format  and
  143.                     produce  a file in machine executable form which can be
  144.                     loaded into the TPA (this loaded program becomes a  new
  145.                     command under the CCP).
  146.  
  147.           DDT       Load the CP/M debugger into the TPA and execute it.
  148.           DUMP      Dump the contents of a file in hex.
  149.  
  150.           SYSGEN    Create a new CP/M system diskette.
  151.           MOVCPM    Regenerate  the  CP/M system  for a  particular  memory
  152.                     size.
  153. :Physical Device Assignments for ARIES-1
  154.  
  155.      Logical Device           Physical Device
  156.  
  157.           CON:                TTY: Model 43 Teletype
  158.                               CRT: Hazeltine 1500 CRT
  159.                               BAT: CRT and Modem
  160.                               UC1: In=CRT, Out=CRT and Modem
  161.           RDR:                TTY: Model 43 Teletype
  162.                               PTR: Modem
  163.                               UR1: CRT and Modem w/CRT Output
  164.                               UR2: CRT and Modem
  165.           PUN:                TTY: Model 43 Teletype
  166.                               PTP: Modem
  167.                               UP1: CRT and Modem
  168.                               UP2: CRT and Modem
  169.           LST:                TTY: Model 43 Teletype
  170.                               CRT: Hazeltine 1500 CRT
  171.                               LPT: Modem
  172.                               UL1: CRT and Modem
  173.  
  174. :CP/M STAT Command
  175.  
  176.      The STAT Command takes any of the following forms --
  177.  
  178. STAT      Calculate the storage remaining on all active drives and print  a
  179.           message like
  180.                x: R/W, SPACE: nnnK  -- if disk is Read/Write
  181.                x: R/O, SPACE: nnnK  -- if disk is Read Only
  182. STAT x:   Calculate the storage remaining on the specified drive and print
  183.                BYTES REMAINING ON x: nnnK
  184.  
  185. STAT x:afn
  186.           Scan the specified files on the specified drive (x: is optional),
  187.           and  list  all files which satisfy the unambiguous  reference  in
  188.           alphabetical  order with storage requirements.   A table like the
  189.           following is generated --
  190.  
  191.                RECS BYTS EX D:FILENAME.TYP
  192.                rrrr nnnK ee d:pppppppp.sss
  193.  
  194.           where
  195.                rrrr -- number of 128-byte records allocated to the file
  196.                nnnK -- number of bytes (in K, K=1024) allocated to the file
  197.                          nnn = rrrr * 128 / 1024
  198.                ee -- number of 16K extensions
  199.                          ee = nnn / 16
  200.                d:pppppppp.sss -- drive name (d may be A, B, C, D) and file
  201.                          name
  202.  
  203. STAT x:=R/O
  204.           Set the specified drive to Read Only.   This is cleared by a warm
  205.           boot.  When a disk is Read Only, the message
  206.                BDOS ERR ON x: READ ONLY
  207.           will appear if there is an attempt to write to it.
  208. STAT VAL:
  209.           Display  the  possible logical to  physical  device  assignments.
  210.           STAT will print the list --
  211.  
  212.                CON: = TTY:  CRT:  BAT:  UC1:
  213.                RDR: = TTY:  PTR:  UR1:  UR2:
  214.                PUN: = TTY:  PTP:  UP1:  UP2:
  215.                LST: = TTY:  CRT:  LPT:  UL1:
  216.  
  217. STAT DEV:
  218.           Display  the  current logical to physical  device  mapping.   For
  219.           example, the list may appear as --
  220.  
  221.                CON: = CRT:         PUN: = PTP:
  222.                RDR: = UR1:         LST: = TTY:
  223.  
  224. STAT ld1=pd1, ld2=pd2, ...
  225.           Change  the  logical  to physical  device  assignments.   Logical
  226.           device ld1 is assigned to physical device pd1,  etc.   The  valid
  227.           logical device names are --
  228.  
  229.                CON:      The system console device
  230.                RDR:      The paper tape reader device
  231.                PUN:      The paper tape punch device
  232.                LST:      The output list device
  233.  
  234.  
  235.           The valid physical device names are --
  236.  
  237.                TTY:      Slow speed output device (teletype)
  238.                CRT:      High speed output device (cathode ray tube)
  239.                BAT:      Batch processing (CON: input is RDR:,  CON: output
  240.                          is LST:)
  241.                UC1:      User-defined console
  242.                PTR:      Paper tape reader
  243.                PTP:      Paper tape punch
  244.                UR1:      User-defined reader #1
  245.                UR2:      User-defined reader #2
  246.                UP1:      User-defined punch #1
  247.                UP2:      User-defined punch #2
  248.                LPT:      Line printer
  249.                UL1:      User-defined list device #1
  250.  
  251. :CP/M PIP Command
  252.  
  253.      PIP  (Peripheral  Interchange  Program) is the  CP/M  transient  which
  254. implements the basic media conversion operations necessary to load,  print,
  255. punch,  copy,  and  combine  disk files.   PIP is initiated by one  of  the
  256. following forms --
  257.  
  258.           PIP            Engage  PIP,  prompt the user with '*',  and  read
  259.                          command lines directly from the console.  PIP used
  260.                          in  this  way is exited by either typing an  empty
  261.                          command line (just a carriage return) or a  Ctrl-C
  262.                          as the first character of the line.
  263.           PIP  cmnd      Engage PIP,  execute  the specified  command,  and
  264.                          return to CP/M.
  265.  
  266.      The form of each command line in PIP is --
  267.  
  268.           destination = source#1, source#2, source#3, ..., source#n
  269.  
  270.  
  271.      The general forms of PIP command lines are --
  272.  
  273.           x:=y:afn       Copy  all  files  satisfying afn from drive  y  to
  274.                          drive x.   'y' may be omitted,  and,  if  so,  the
  275.                          currently logged-in drive is selected.
  276.           x:ufn=y:       Copy  the file given by ufn from y to x.   'x' may
  277.                          be omitted,  and,  if so,  the currently logged-in
  278.                          drive is selected.
  279.           x:afn=y:afn    Like the above, but x and/or y may be omitted; the
  280.                          default   drive  is  selected  for   the   omitted
  281.                          drive(s).
  282.           ld=pd          Copy  from  the specified physical device  to  the
  283.                          specified  logical device.   Valid logical devices
  284.                          are --
  285.                               CON:, RDR:, PUN:, LST:
  286.                          Valid physical devices are --
  287.                               TTY:, CRT:, UC1:, PTR:, PTP:, UR1:, UR2:,
  288.                               UP1:, UP2:, LPT:, UL1:
  289.  
  290.  
  291.      Additional device names which may be used in PIP commands are --
  292.  
  293.           NUL:      Send 40 Nulls (ASCII 0) to the device.
  294.           EOF:      Send a CP/M End of File character (ASCII Ctrl-Z).
  295.           INP:      Special PIP input source to be patched (see manual).
  296.           OUT:      Special  PIP  output  destination to  be  patched  (see
  297.                     manual).
  298.           PRN:      Same as LST:,  but  tabs are expanded at  every  eighth
  299.                     character position, lines are numbered, and page ejects
  300.                     are inserted every 60 lines with an initial eject.
  301.  
  302.  
  303.      The  user  can  also specify one or more PIP  parameters  enclosed  in
  304. square brackets separated by zero or more blanks.  These parameters are --
  305.  
  306.      B    Block mode  transfer.   Data is buffered by PIP until an ASCII X-
  307.           Off character (Ctrl-S) is received from the source device.
  308.      Dn   Delete characters  which extend past column n in the transfer  of
  309.           data to the destination from the character source.
  310.      E    Echo all transfer operations to the console.
  311.      F    Filter (remove) form feeds from the file.
  312.      H    Hex data transfer.  All data is checked for proper Intel hex file
  313.           format.
  314.      I    Ignore ':00' records in the transfer of Intel hex format file.
  315.      L    Translate upper case to lower case alphabetics.
  316.      N    Add line numbers to each line transferred to the destination.
  317.      O    Object file (non-ASCII) transfer.  Ignore End of File.
  318.  
  319.      Pn   Include page ejects at every n lines.
  320.      Qs^Z Quit  copying  from the source device or file when the  string  s
  321.           (terminated by Ctrl-Z) is encountered.
  322.      Ss^Z Start copying from the source file when the string s is seen.
  323.      Tn   Expand tabs to every nth column.
  324.      U    Translate lower case to upper case alphabetics.
  325.      V    Verify that data has been copied correctly.
  326.      Z    Zero the parity bit on input for each ASCII character.
  327. :CP/M ED Command
  328.  
  329.      The  ED  Program  is the CP/M  system  context  editor,  which  allows
  330. creation and alteration of ASCII files.   Complete details are given in the
  331. user's manual.
  332.  
  333.      The following are the error indicators given by ED --
  334.  
  335.           ?    Unrecognized Command
  336.           >    Memory buffer full
  337.           #    Cannot apply command the number of times specified
  338.           O    Cannot open LIB file in R command
  339.  
  340.  
  341.      The following are the control characters recognized by ED --
  342.  
  343.           ^C        System reboot
  344.           ^E        Physical <CR> <LF> (not entered in command)
  345.           ^I        Logical tab
  346.           ^L        Logical <CR> <LF> in search and substitute strings
  347.           ^U        Line delete
  348.           ^Z        String terminator
  349.           Rubout    Character delete
  350.           Break     Discontinue command
  351.  
  352.  
  353.      The following are the commands recognized by ED --
  354.  
  355.           nA        Append lines
  356.           +/- B     Beginning/Bottom of buffer
  357.           +/- nC    Move character positions
  358.           +/- nD    Delete characters
  359.           E         Exit
  360.           nFs^Z     Find string
  361.           H         End edit, close and reopen files
  362.           Is^Z      Insert characters
  363.           nJ        Place strings in juxtaposition
  364.           +/- nK    Kill (delete) lines
  365.           +/- nL    Move down/up lines
  366.           nM        Macro definition
  367.           O         Return to original file
  368.           +/- nP    Move and print pages
  369.           Q         Quit with no file changes
  370.           R         Read library file
  371.  
  372.           nSs1^Zs2^Z
  373.                     Substitute s2 for s1
  374.           +/- nT    Type lines
  375.           +/- U     Translate lower to upper case if U; none if -U
  376.           +/- V     Engage/disengage line numbers (verify)
  377.           0V        Print memory buffer info (free/total usage)
  378.           nW        Write lines
  379.           nX        Transfer n lines to X$$$$$$$.LIB
  380.           0X        Empty X$$$$$$$.LIB
  381.           nZ        Sleep
  382.           +/- n     Move and type (+/- nLT)
  383.           n:        Move to absolute line (V engaged)
  384.           :n        Process from current line to specified line (V engaged)
  385. :CP/M ASM Command
  386.  
  387.      The ASM Command loads and executes the CP/M 8080 assembler.   It is of
  388. the form --
  389.  
  390.           ASM filename.xyz
  391.  
  392. where
  393.  
  394.           filename  ... is the name of the file 'filename.ASM' to assemble
  395.           x         ... designates the disk name which contains the source
  396.           y         ... designates the disk name to contain the hex file
  397.                          (y=Z suppresses generation of the hex file)
  398.           z         ... designates the disk name to contain the print file
  399.                          (y=X lists on CON:, y=Z suppresses listing)
  400.  
  401.      Refer to the ASM Manual for further details.
  402. :CP/M LOAD Command
  403.  
  404.      The LOAD Command reads the file specified, which is assumed to contain
  405. Intel hex format machine code and produces a memory image file which can be
  406. subsequently executed (converts .HEX to .COM files).  It is of the form --
  407.  
  408.           LOAD filename
  409.  
  410. where filename is the name of the file 'filename.HEX'.
  411. :The UNLOAD Command
  412.  
  413.      The UNLOAD Command does the reverse of the LOAD Command -- it converts
  414. COM files to HEX files.  It is of the form --
  415.  
  416.           UNLOAD filename
  417.  
  418. where filename is the name of the file 'filename.COM'.
  419. :CP/M DDT Command
  420.  
  421.      The  DDT  Program allows dynamic interactive testing and debugging  of
  422. programs generated in the CP/M environment.  It is invoked by --
  423.  
  424.           DDT
  425.           DDT filename.HEX
  426.           DDT filename.COM
  427.  
  428. where 'filename' is the name of the program to be loaded or tested.
  429.  
  430.      DDT responds to the normal CP/M input line editing characters.
  431.  
  432.  
  433.    DDT responds to the following commands --
  434.  
  435.      As   Perform inline assembly starting at the specified address s.
  436.      D    Display memory from the current address for 16 display lines.
  437.      Ds   Display memory from address s for 16 display lines.
  438.      Ds,f Display memory from address s to address f.
  439.      Fs,f,c
  440.           Fill memory from start address s to final address f with byte c.
  441.  
  442.      G    Start execution at the current value of the PC.
  443.      Gs   Start execution at the specified address s.
  444.      Gs,b Start execution  at the specified address s and set a  breakpoint
  445.           at the address b.
  446.      Gs,b,c
  447.           Same as above with breakpoints at b and c.
  448.      G,b  Start execution at the current value of the PC with breakpoint b.
  449.      G,b,c
  450.           Same as above with breakpoints at b and c.
  451.  
  452.  
  453.      If   Insert a file name f into the default FCB.
  454.  
  455.      L    List 12 lines of disassembled code from the current address.
  456.      Ls   List 12 lines from the specified address s.
  457.      Ls,f List lines of disassembled code from s to f.
  458.  
  459.      Ms,f,d
  460.           Move the block from address s to f to destination at address d.
  461.  
  462.      R    Read file in FCB into memory at 100H.
  463.      Rb   Read file in FCB into memory with offset b from 100H.
  464.  
  465.      Ss   Set (examine and alter) memory starting at address s.
  466.  
  467.  
  468.      T    Trace the next instruction.
  469.      Tn   Trace the next n instructions.
  470.  
  471.      U    Untrace -- like Trace, but intermediate steps are not displayed.
  472.  
  473.      X    Examine all registers and flags.
  474.      Xr   Examine specified registers or flag, where r may be --
  475.                C    Carry flag
  476.                Z    Zero flag
  477.                M    Minus (sign) flag
  478.                I    Interdigit Carry flag
  479.                A    Accumulator
  480.                B    BC Reg pair
  481.                D    DE Reg pair
  482.                H    HL Reg pair
  483.                S    Stack pointer
  484.                P    PC
  485. :The ZDT Command
  486.  
  487.      ZDT is a Z80 version of DDT.  It is invoked by typing --
  488.  
  489.           ZDT
  490.  
  491.      The  commands  recognized by ZDT are input in  single-character  input
  492. mode.   No  input line editing is done,  and each command expects an  exact
  493. input.   All byte values are exactly two characters,  and all addresses are
  494. exactly four characters.
  495.  
  496.  
  497.      The commands recognized by ZDT are --
  498.  
  499.           A bbbb
  500.                Enter ASCII characters into memory from keyboard starting at
  501.                address bbbb.
  502.           B
  503.                Warm Boot -- Return to CP/M.
  504.           C bbbb eeee nnnn
  505.                Compare  memory from address bbbb to address eeee  to  block
  506.                starting at nnnn.
  507.           D bbbb eeee
  508.                Dump memory from bbbb to eeee.
  509.           E bbbb eeee <ASCII string>
  510.                Search  for  ASCII string from bbbb to eeee.   String is  at
  511.                most 16 characters.  String is terminated by <CR>.
  512.           F bbbb eeee <hex string>
  513.                Search  for  hex  string  from  bbbb  to  eeee.   String  is
  514.                terminated by <CR>.
  515.  
  516.           G
  517.                Go to next breakpoint.
  518.           H aaaa nnnn
  519.                Hex add and subtract.  Computes aaaa+nnnn and aaaa-nnnn.
  520.           I nn
  521.                Input.  Prints value at port nn.
  522.           J nnnn
  523.                Jump to and execute at location nnnn.
  524.           K
  525.                Keyboard echo.
  526.           L filename.typ nnnn
  527.                Loads specified disk file into location nnnn.
  528.           M bbbb eeee nnnn
  529.                Move block from bbbb to eeee-1 to nnnn.
  530.           N aaaa
  531.                Enter offset aaaa for loading.
  532.           O nn dd
  533.                Output byte dd to port nn.
  534.  
  535.           P bbbb
  536.                Input hex into memory from keyboard starting at bbbb.   <sp>
  537.                advances pointer, <rub> or <del> backs pointer.
  538.           Q bbbb eeee
  539.                Dumps from bbbb to eeee in ASCII.
  540.           R n ll tt ss bbbb
  541.                Read block of data from disk n of length ll (256-byte pages)
  542.                starting at track tt and sector ss placing the data at bbbb.
  543.           S bbbb eeee
  544.                Disassembly (symbolic dump) from bbbb to eeee.
  545.           T bbbb eeee
  546.                Destructive memory test from bbbb to eeee-1.
  547.           U bbbb
  548.                Set breakpoint at bbbb.
  549.           V
  550.                Display all currently-set breakpoints.
  551.  
  552.           W n ll tt ss bbbb
  553.                Write on disk n the data at bbbb for a length of ll starting
  554.                at track tt, sector ss.  ll is in 256-byte pages.
  555.           X
  556.                Display registers.
  557.           Z bbbb eeee dd
  558.                Zero or set memory from bbbb to eeee-1 with byte dd.
  559. :CP/M SYSGEN Command
  560.  
  561.      The  SYSGEN transient command allows generation of an initialized disk
  562. containing the CP/M Operating System.
  563.  
  564.      It is invoked by typing
  565.  
  566.           SYSGEN
  567.  
  568.      Once invoked,  the user is prompted through the session.  Refer to the
  569. CP/M Manual for further details.
  570. :CP/M SUBMIT Command
  571.  
  572.      The  SUBMIT  command allows CP/M commands to be batched  together  for
  573. automatic processing.  The form of this command is
  574.  
  575.           SUBMIT ufn parm1 parm2 ... parmn
  576.  
  577.      The ufn given in the SUBMIT command must be the filename (not type) of
  578. a  file which exists on the currently logged-in disk with an  assumed  file
  579. type of '.SUB'.  Refer to the CP/M Manual for further details.
  580. :CP/M BDOS -- Basic I/O Operations
  581.  
  582.      Function and Number      Input Parameters    Output Parameters
  583.  
  584.      Read Console      1      None                ASCII Char in A
  585.      Write Console     2      ASCII Char in E     None
  586.      Read Reader       3      None                ASCII Char in A
  587.      Write Punch       4      ASCII Char in E     None
  588.      Write List        5      ASCII Char in E     None
  589.      Get I/O Status    7      None                I/O Status in A
  590.      Put I/O Status    8      I/O Status in E     None
  591.      Print Buffer      9      Address of string   None
  592.                                terminated by $
  593.                                in DE
  594.      Read Buffer      10      Address of Read     Read Buffer is filled
  595.                                Buffer in DE
  596.      Console Ready    11      None                LSB of A is 1 if char
  597.                                                    ready
  598. *All function numbers are passed in Reg C.
  599.  
  600.  
  601. I/O Status Byte --
  602.  
  603.      Value     Bits 6&7  Bits 4&5  Bits 2&3  Bits 0&1
  604.  
  605.        00      CON:=TTY: RDR:=TTY: PUN:=TTY: LST:=TTY:
  606.        01           CRT:      PTR:      PTP:      CRT:
  607.        10           BAT:      UR1:      UP1:      LPT:
  608.        11           UC1:      UR2:      UP2:      UL1:
  609.  
  610. Read Buffer --
  611.  
  612.      Byte      Function
  613.  
  614.        1       Maximum Buffer Length
  615.        2       Current Buffer Length (returned value)
  616.      3-n       Data (returned values)
  617.  
  618.  
  619. :CP/M BIOS -- Basic Disk Operations
  620.  
  621.      Function and Number      Input Parameters    Output Parameters
  622.  
  623.      Lift Head        12      None                None
  624.      Init BDOS        13      None                None
  625.      Log-In Disk      14      Value in Reg E      None
  626.                                A=0, B=1, C=2,
  627.                                D=3
  628.      Open File        15      Address of FCB      Byte address of FCB
  629.                                in DE               if found or 0FFH if not
  630.      Close File       16      Address of FCB      Byte address of FCB
  631.                                in DE               if found or 0FFH if not
  632.      Search for File  17      Address of FCB      Byte address of first FCB
  633.                                in DE               if found or 0FFH if not
  634.      Search for Next  18      Address of FCB      Byte address of next FCB
  635.                                in DE               if found or 0FFH if not
  636.      Delete File      19      Address of FCB      None
  637.                                in DE
  638.  
  639.      Function and Number      Input Parameters    Output Parameters
  640.  
  641.      Read Next Record 20      Address of FCB      0=successful read
  642.                                in DE              1=read past EOF
  643.                                                   2=reading random data
  644.      Write Next Rec   21      Address of FCB      0=successful write
  645.                                in DE              1=error in extending
  646.                                                   2=end of disk data
  647.                                                   255=no more dir space
  648.      Make File        22      Address of FCB      Byte address of FCB or
  649.                                in DE               255 if no more dir space
  650.      Rename FCB       23      Address of FCB      Byte Address of Dir entry
  651.                                in DE               or 255 if no match
  652.      Read Drive No    25      None                Number of logged-in drive
  653.                                                    (A=0, B=1, C=2, D=3)
  654.      Set DMA Address  26      Address of 128      None
  655.                               byte buffer in DE
  656.  
  657. *All function numbers are passed in Reg C
  658.  
  659. :CP/M File Types
  660.  
  661.      ALG       ALGOL 60 Source File
  662.      ASM       Assembler Source File
  663.      BAK       Backup File
  664.      BAS       BASIC Source File (CBASIC)
  665.      C         C Source File
  666.      COM       "Command" File (Binary ORGed to 100H)
  667.      FOR       FORTRAN IV Source File
  668.      HEX       Intel "hex" code file
  669.      HLP       HELP File
  670.      INT       BASIC Intermediate File
  671.      LST       Listing File
  672.      MAC       MACRO-80 Source File
  673.      PRN       Assembler Listing File
  674.      SRC       PASCAL/MT Source File
  675.      SUB       SUBMIT File
  676.      TC        Tiny-C Source File
  677.      TFS       TFS Source File
  678.      TXT       Text File
  679.      $$$       Temporary File
  680. :CP/M BIOS Jump Vector
  681.  
  682.      The  following is a table representing the entry points into the  CP/M
  683. BIOS of the major routines accessable to the user --
  684.  
  685.  
  686.      Routine   Relative Offset     Comment
  687.  
  688.      BOOT           00H            Cold Start
  689.      WBOOT          03H            Warm Start
  690.      CONST          06H            Console Status
  691.                                     Reg A = 00 if no char ready
  692.                                     Reg A = FF if char ready
  693.      CONIN          09H            Console char in (Reg A)
  694.      CONOUT         0CH            Console char out (Reg C)
  695.      LIST           0FH            List out (Reg C)
  696.      PUNCH          12H            Punch out (Reg C)
  697.      READER         15H            Reader in (Reg A)
  698.  
  699.      Routine   Relative Offset     Comment
  700.  
  701.      HOME           18H            Move to track 00
  702.      SELDSK         1BH            Select disk given by Reg C (A=0,B=1,...)
  703.      SETTRK         1EH            Set  track  address  given  by  Reg  C
  704.                                       (0...76)
  705.      SETSEC         21H            Set  sector  address given  by  Reg  C
  706.                                       (1...26)
  707.      SETDMA         24H            Set subsequent DMA address (RP B&C)
  708.      READ           27H            Read track/sector (block)
  709.      WRITE          2AH            Write track/sector (block)
  710.  
  711.