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 / ENTERPRS / CPM / UTILS / F / GO-CPM.ZIP / CPM2.HLP < prev    next >
Text File  |  1987-06-26  |  34KB  |  825 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. Non-CP/M       Commonly used utility commands.
  7. CP/M STAT      Command
  8. CP/M PIP       Command
  9. CP/M ED        Command    (use only if you do not have a word processor!)
  10. CP/M ASM       Command
  11. CP/M LOAD      Command
  12. The UNLOAD     Command
  13. CP/M DDT       Command (also applies to SID.COM version)
  14. The ZSID       Command (also called ZDT on some systems)
  15. CP/M SYSGEN    Command
  16. CP/M SUBMIT and XSUB Commands
  17. CP/M BDOS -- Basic I/O Operations      (Technically heavy stuff)
  18. CP/M BDOS -- Basic Disk Operations     (Technically heavy stuff)
  19. CP/M File Types
  20. CP/M BIOS Jump Vector               (Technically heavy stuff)
  21. :General Information on CP/M
  22.     The term "CP/M" comes from Control
  23.                    Program for
  24.                    Microcomputers.
  25.     A control program is sometimes called an operating system by computer
  26. people.  In this outline, the term "operating system" will be used in
  27. preference to "control program": but you should realize that the terms
  28. mean exactly the same thing.
  29.     Simply stated, a operating system is the program that MUST be in
  30. your computer to bring it to life.  It is the first program you load into
  31. your computer.    You do that by "booting-up", or "booting". The "booting-up"
  32. process transfers the operating system program from a storage device (usually
  33. a disk) into your computer's random access memory (RAM).
  34.     The operating system program will work with your other programs such as
  35. MBASIC to perform many essential functions. We will not go into those right
  36. now, but just be aware that all those other programs are useless without an
  37. operating system.
  38.  
  39.     An important feature of CP/M is that it can easily be altered to run on
  40. any microprocessor which uses the Intel 8080, Intel 8085, or Zilog Z80. This
  41. means that about three humdred "brands" of microcomputer can run CP/M.
  42.     IBM, Hewlett-Packard, Xerox, and Wang have joined Apple (with special
  43. card), TRS-80, Zenith, and many others in offering CP/M.  CP/M is by far the
  44. most widely used operating system for small computers. This has resulted in
  45. a larger selection of ready-to-run programs than any other alternative.
  46.     Until 1984 or 1985, CP/M seems to be in a dominant position so far as
  47. small computers are concerned. There are one or two candidates which may
  48. begin to displace CP/M by the mid-eighties, but that is far from certain.
  49.  
  50.      CP/M has a few "big brothers" like MP/M and CP/M-86 which provide
  51. support for more complicated operating arrangements such as when more than
  52. one person is using the computer at the same time.
  53.  
  54.      Digital Research, Pacific Grove, California is the creator and
  55. supplier of CP/M.  They provide the following manuals for detailed 
  56. information about CP/M.  These manuals are geared to the technically
  57. skilled reader, and should not be attempted by beginners.
  58.       1.  An Introduction to CP/M Features and Facilities
  59.       2.  ED:  A Context Editor for the CP/M Disk System
  60.       3.  ASM:  CP/M Assembler User's Manual
  61.       4.  DDT:  CP/M Dynamic Debugging Tool User's Manual
  62.       5.  CP/M 1.4 Interface Guide
  63.       6.  CP/M 1.4 System Alteration Guide
  64.       7.  CP/M 2.0 User's Guide
  65.       8.  CP/M 2.0 Interface Guide
  66.       9.  CP/M 2.0 System Alteration Guide
  67.  
  68.      As the reader can see,  CP/M supports a context editor,  an  assembler 
  69. (Intel-compatable),  and  a  debugger system.    These are available in    the 
  70. basic CP/M package.   There is a large variety of other software  available 
  71. which  can  run under CP/M with little or no modification.   Such  software 
  72. includes  several  assemblers (both 8080 and  Z80),  a    symbolic  debugger, 
  73. several  high-level  languages (including FORTRAN  IV  {compiler},  BASIC-E 
  74. {translator},  CBASIC {translator}, many interpretive BASICs, ALGOL, FOCAL, 
  75. and  C),  and  several special-purpose applications programs (such as  text 
  76. formatting systems and accounting systems).
  77.      This HELP File addresses itself specifically to the CP/M 2.x Operating 
  78. Systems.
  79. :CP/M File References
  80.  
  81.      A    file reference identifies a particular file or group of files on  a 
  82. particular  disk  attached to CP/M.   These file references can  be  either 
  83. unambiguous  (ufn)  or    ambiguous (afn).   An  unambiguous  file  reference 
  84. uniquely identifies a single file, while an ambiguous file reference may be 
  85. satisfied by a number of different files.
  86.  
  87.      An  unambiguous file reference is an exact name of the specified file.  
  88. It consists of up to eight characters in the file name and three characters 
  89. in the file type.  An unambiguous file reference is of the form --
  90.  
  91.            pppppppp.sss
  92.  
  93.      The  characters used in specifying an unambiguous file  reference    may 
  94. not contain any of --
  95.  
  96.            < > . , ; : = ? * [ ]
  97.  
  98.      An  ambiguous file reference is used for directory search and  pattern 
  99. matching.   The  form  of  an  ambiguous file reference is  similar  to  an 
  100. unambiguous reference, except the symbol '?' may be interspersed throughout 
  101. the file reference.   In various commands throughout CP/M,  the '?'  symbol 
  102. matches  any  character of a file name in the '?' position.   For  example, 
  103. X?Y.C?M  will match XZY.COM and X3Y.CEM.   The '*' symbol is used to  match 
  104. all characters of a file name or file type.   For example, *.COM will match 
  105. XZY.COM and HELP.COM, while HELP.* will match HELP.COM and HELP.HLP.
  106. :CP/M Line Editing and Output Control
  107.  
  108.      The following are the line editing functions supported by CP/M --
  109.  
  110.       rubout    Delete and echo the last character typed at the
  111.             console.
  112.       Ctrl-H    Delete   the   last  character  typed;   Backspace    one 
  113.             character; CRT-oriented
  114.       Ctrl-U    Delete the entire line typed at the console.
  115.       Ctrl-X    Delete the entire line typed at the console;  Backspace 
  116.             to the beginning of the current line; CRT-oriented.
  117.       Ctrl-R    Retype current command line:  types a "clean line"
  118.             following character deletion with rubouts.
  119.       Ctrl-E    Physical end of line:  carriage is returned, but
  120.             line is not sent until the carriage return key is
  121.             depressed.
  122.       Ctrl-M    Terminates input (carriage return).
  123.       Ctrl-J    Terminates current input (line feed); CRT-oriented
  124.       Ctrl-C    CP/M system reboot (warm start).
  125.       Ctrl-Z    End input from the console (used in PIP and ED).
  126.  
  127.      Other control functions affect console output --
  128.  
  129.       Ctrl-P    Copy all subsequent console output to the currently-
  130.             assigned list device (LST:).  Output is sent to both
  131.             the list device and the console device until the next
  132.             Ctrl-P is typed.
  133.       Ctrl-S    Stop the console output temporarily.  Program execution
  134.             and output continue when the next character is typed
  135.             at the console.  Typing Ctrl-C returns control to CP/M.
  136.  
  137.      Input lines can generally be up to 255 characters in length.  They are 
  138. not acted upon until the carriage return key is typed.
  139. :CP/M Built-In Commands
  140.       ERA  afn  -- The  ERA  (erase) command  removes  files  from    the 
  141.            currently logged-in disk.
  142.       DIR  afn -- The DIR (directory) command causes the names  of    all 
  143.            files which satisfy the ambiguous file name afn to be listed 
  144.            on  the console device.     All files are listed if no afn  is 
  145.            given.
  146.       REN  ufn1=ufn2  -- The  REN (rename) command allows the  user  to 
  147.            change the names of files on disk.  The file satisfying ufn2 
  148.            is changed to ufn1.
  149.       SAVE    n ufn -- The SAVE command places n pages (256-byte  blocks) 
  150.            onto disk from the TPA and names this file ufn.
  151.       TYPE    ufn -- The TYPE command displays the contents of the  ASCII 
  152.            source  file  ufn  on the currently logged-in  disk  at    the 
  153.            console device.
  154.       USER n -- Upon cold boot,  the user is automatically logged in to 
  155.            User Area 0,  which is compatable with CP/M 1.4 directories.  
  156.            The USER command allows the user to move to another  logical 
  157.            area  within  the same directory;  areas are numbered  0-15.  
  158.            The ERA,  DIR,  REN,  SAVE,  and TYPE commands apply to    the 
  159.            current User Area.
  160. :CP/M Transient Commands
  161.  
  162.      The CP/M standard transient commands are --
  163.  
  164.       STAT        List the number of    bytes  of storage  and data on    the 
  165.             currently     logged-in   disk,    provide    statistical 
  166.             information  about    particular files,  and    display  or 
  167.             alter device assignment.
  168.       PIP        Load the Peripheral Interchange Program for  subsequent 
  169.             disk file and peripheral transfer operations.
  170.       ED        Load and execute the CP/M text editor program.
  171.       SUBMIT    Submit a file of commands for batch processing.
  172.       XSUB        Used in conjunction with SUBMIT, transfers all buffered 
  173.             console input from CON: to the SUBMIT File.
  174.  
  175.       ASM        Load  the  CP/M assembler and  assemble  the  specified 
  176.             program from disk.
  177.       LOAD        Load  the file in Intel "hex" machine code    format    and 
  178.             produce  a file in machine executable form which can be 
  179.             loaded into the TPA (this loaded program becomes a    new 
  180.             command under the CCP).
  181.  
  182.       DDT        Load the CP/M debugger into the TPA and execute it.
  183.       DUMP        Dump the contents of a file in hex.
  184.  
  185.       SYSGEN    Create a new CP/M system diskette.
  186.       MOVCPM    Regenerate    the  CP/M system  for a  particular  memory 
  187.             size.
  188. ::UTILIT.HLP
  189. :CP/M STAT Command
  190.  
  191.      The STAT Command takes any of the following forms --
  192.  
  193. STAT      Calculate the storage remaining on all active drives and print  a 
  194.       message like
  195.            x: R/W, SPACE: nnnK  -- if disk is Read/Write
  196.            x: R/O, SPACE: nnnK  -- if disk is Read Only
  197. STAT x:   Calculate the storage remaining on the specified drive and print
  198.            BYTES REMAINING ON x: nnnK
  199.  
  200. STAT x:afn [$S]
  201.       Scan the specified files on the specified drive (x: is optional), 
  202.       and  list  all files which satisfy the unambiguous  reference  in 
  203.       alphabetical    order with storage requirements.   A table like the 
  204.       following is generated --
  205.  
  206.            Size Recs Bytes Ext Acc
  207.           sssss rrrr  nnnk    ee a/b d:pppppppp.sss
  208.  
  209.       where
  210.            sssss -- number of virtual 128-byte records in file
  211.             This field is display if the optional $S is given
  212.            rrrr -- number of 128-byte records in each extent of the file
  213.            nnnK -- number of bytes (in K, K=1024) allocated to the file
  214.            ee -- number of 16K extensions
  215.            a/b -- access mode of file; R/O or R/W
  216.            d:pppppppp.sss -- drive name (d may be A, B, C, D) and file
  217.              name
  218.  
  219. STAT x:=R/O
  220.       Set the specified drive to Read Only.   This is cleared by a warm 
  221.       boot.  When a disk is Read Only, the message
  222.            BDOS ERR ON x: READ ONLY
  223.       will appear if there is an attempt to write to it.
  224. STAT VAL:
  225.       Summarize the status commands.  STAT VAL: will print the list --
  226.  
  227.            Temp R/O Disk:  d:=R/O
  228.            Set Indicator:  d:filename.typ $R/O $R/W $SYS $DIR
  229.            Disk Status  :  DSK: d:DSK:
  230.            User Status  :  USR:
  231.            Iobyte Assign:
  232.            CON: = TTY:  CRT:  BAT:    UC1:
  233.            RDR: = TTY:  PTR:  UR1:    UR2:
  234.            PUN: = TTY:  PTP:  UP1:    UP2:
  235.            LST: = TTY:  CRT:  LPT:    UL1:
  236.  
  237. STAT DEV:
  238.       Display  the    current logical to physical  device  mapping.    For 
  239.       example, the list may appear as --
  240.  
  241.            CON: = CRT:       PUN: = PTP:
  242.            RDR: = UR1:       LST: = TTY:
  243.  
  244. STAT d:afn [$R/O or $R/W or $SYS or $DIR]
  245.       Set  the  various  permanent    file  indicators.    R/O=Read/Only, 
  246.       R/W=Read/Write, SYS=System, DIR=Non-System
  247.  
  248. STAT ld1=pd1, ld2=pd2, ...
  249.       Change  the  logical    to physical  device  assignments.   Logical 
  250.       device ld1 is assigned to physical device pd1,  etc.     The  valid 
  251.       logical device names are --
  252.  
  253.            CON:     The system console device
  254.            RDR:     The paper tape reader device
  255.            PUN:     The paper tape punch device
  256.            LST:     The output list device
  257.  
  258.       The valid physical device names are --
  259.  
  260.            TTY:     Slow speed output device (teletype)
  261.            CRT:     High speed output device (cathode ray tube)
  262.            BAT:     Batch processing (CON: input is RDR:,    CON: output 
  263.              is LST:)
  264.            UC1:     User-defined console
  265.            PTR:     Paper tape reader
  266.            PTP:     Paper tape punch
  267.            UR1:     User-defined reader #1
  268.            UR2:     User-defined reader #2
  269.            UP1:     User-defined punch #1
  270.            UP2:     User-defined punch #2
  271.            LPT:     Line printer
  272.            UL1:     User-defined list device #1
  273.  
  274.  
  275. STAT d:DSK:
  276.       List    the characteristics of the disk named "d:";  if "d:" is not 
  277. specified, list the characteristics of all active disks.  A sample listing:
  278.  
  279.            d: Drive Characteristics
  280.        65536: 128 Byte Record Capacity
  281.         8192: Kilobyte Drive Capacity
  282.          128: 32  Byte Directory Entries
  283.            0: Checked  Directory Entries
  284.         1024: Records/ Extent
  285.          128: Records/ Block
  286.           58: Sectors/ Track
  287.            2: Reserved Tracks
  288.  
  289. STAT USR:
  290.       List    the  User  Number the user is currently  in  and  the  User 
  291. Numbers  which    have  files  on the currently  addressed  disk.   A  sample 
  292. listing:
  293.            Active User : 0
  294.            Active Files: 0 1 3
  295. :CP/M PIP Command
  296.      PIP  (Peripheral  Interchange  Program) is the  CP/M utility program
  297. which allows you to make copies of files (as from one disk to another), to
  298. combine two or more files into one file, and to display a printable file on
  299. your display screen or printer.
  300.  
  301.       PIP         Engage  PIP,  prompt the user with '*',  and  read 
  302.              command lines directly from the console.  PIP used 
  303.              in  this  way is exited by either typing an  empty 
  304.              command line (just a carriage return) or a  Ctrl-C 
  305.              as the first character of the line.
  306.              NOTE: This method of using PIP allows you to change
  307.                    the SOURCE diskette (NOT the destination)
  308.                    after transferring one file, and before
  309.                    beginning the transfer of the next.
  310.  
  311.       PIP  cmnd     Engage PIP,  execute  the specified  command,    and 
  312.              return to CP/M, ie. to the A> prompt.
  313.  
  314.      The form of each command line in PIP is --
  315.       destination = source#1, source#2, source#3, ..., source#n
  316.  
  317.      The general forms of PIP command lines are --
  318.       x:=y:afn     Copy  all  files  satisfying afn from drive  y  to 
  319.              drive x.   'y' may be omitted,  and,  if  so,    the 
  320.              currently logged-in drive is selected.
  321.       x:ufn=y:     Copy  the file given by ufn from y to x.   'x' may 
  322.              be omitted,  and,  if so,  the currently logged-in 
  323.              drive is selected.
  324.       x:afn=y:afn     Like the above, but x and/or y may be omitted; the 
  325.              default   drive  is  selected    for   the   omitted 
  326.              drive(s).
  327.       ld=pd      Copy  from  the specified physical device  to    the 
  328.              specified  logical device.   Valid logical devices 
  329.              are --
  330.                   CON:, RDR:, PUN:, LST:
  331.              Valid physical devices are --
  332.                   TTY:, CRT:, UC1:, PTR:, PTP:, UR1:, UR2:,
  333.                   UP1:, UP2:, LPT:, UL1:
  334.  
  335.  
  336.      Additional device names which may be used in PIP commands are --
  337.  
  338.       NUL:        Send 40 Nulls (ASCII 0) to the device.
  339.       EOF:        Send a CP/M End of File character (ASCII Ctrl-Z).
  340.       INP:        Special PIP input source to be patched (see manual).
  341.       OUT:        Special  PIP  output  destination to  be  patched  (see 
  342.             manual).
  343.       PRN:        Same as LST:,  but    tabs are expanded at  every  eighth 
  344.             character position, lines are numbered, and page ejects 
  345.             are inserted every 60 lines with an initial eject.
  346.  
  347.  
  348.      The  user    can  also specify one or more PIP  parameters  enclosed  in 
  349. square brackets separated by zero or more blanks.  These parameters are --
  350.  
  351.      B      Block mode  transfer.   Data is buffered by PIP until an ASCII X-
  352.       Off character (Ctrl-S) is received from the source device.
  353.      Dn   Delete characters  which extend past column n in the transfer  of 
  354.       data to the destination from the character source.
  355.      E      Echo all transfer operations to the console.
  356.      F      Filter (remove) form feeds from the file.
  357.      Gn   Get File from User Number n (n in the range 0 - 15)
  358.      H      Hex data transfer.  All data is checked for proper Intel hex file 
  359.       format.
  360.      I      Ignore ':00' records in the transfer of Intel hex format file.
  361.      L      Translate upper case to lower case alphabetics.
  362.      N      Add line numbers to each line transferred to the destination.
  363.      O      Object file (non-ASCII) transfer.  Ignore End of File.
  364.  
  365.      Pn   Include page ejects at every n lines.
  366.      Qs^Z Quit    copying  from the source device or file when the  string  s 
  367.       (terminated by Ctrl-Z) is encountered.
  368.      R      Read system files
  369.      Ss^Z Start copying from the source file when the string s is seen.
  370.      Tn   Expand tabs to every nth column.
  371.      U      Translate lower case to upper case alphabetics.
  372.      V      Verify that data has been copied correctly.
  373.      W      Write over R/O files without console interrogation
  374.      Z      Zero the parity bit on input for each ASCII character.
  375. :CP/M ED Command  NOTE: Use a word processor intead of ED!!!!!
  376.  
  377.      The  ED  Program  is the CP/M  system  context  editor,  which  allows 
  378. creation and alteration of ASCII files.   Complete details are given in the 
  379. user's manual.  If you are a genius, or extremely persistent, you may become
  380. good enough to do some of the functions that a word processor such as Magic
  381. Wand or Wordstar provide easily!!! Good Luck.
  382.  
  383.      The following are the error indicators given by ED --
  384.  
  385.       ?    Unrecognized Command
  386.       >    Memory buffer full
  387.       #    Cannot apply command the number of times specified
  388.       O    Cannot open LIB file in R command
  389.  
  390.  
  391.      The following are the control characters recognized by ED --
  392.  
  393.       ^C        System reboot
  394.       ^E        Physical <CR> <LF> (not entered in command)
  395.       ^H        Character delete (backspace)
  396.       ^I        Logical tab
  397.       ^J        New line (line feed)
  398.       ^L        Logical <CR> <LF> in search and substitute strings
  399.       ^M        New line (carriage return)
  400.       ^U        Line delete
  401.       ^X        Line delete and backspace
  402.       ^Z        String terminator
  403.       Rubout    Character delete
  404.       Break     Discontinue command
  405.  
  406.  
  407.      The following are the commands recognized by ED --
  408.  
  409.       nA        Append lines
  410.       +/- B     Beginning/Bottom of buffer
  411.       +/- nC    Move character positions
  412.       +/- nD    Delete characters
  413.       E        Exit
  414.       nFs^Z     Find string
  415.       H        End edit, close and reopen files
  416.       Is^Z        Insert characters
  417.       nJ        Place strings in juxtaposition
  418.       +/- nK    Kill (delete) lines
  419.       +/- nL    Move down/up lines
  420.       nM        Macro definition
  421.       O        Return to original file
  422.       +/- nP    Move and print pages
  423.       Q        Quit with no file changes
  424.       R        Read library file
  425.  
  426.       nSs1^Zs2^Z
  427.             Substitute s2 for s1
  428.       +/- nT    Type lines
  429.       +/- U     Translate lower to upper case if U; none if -U
  430.       +/- V     Engage/disengage line numbers (verify)
  431.       0V        Print memory buffer info (free/total usage)
  432.       nW        Write lines
  433.       nX        Transfer n lines to X$$$$$$$.LIB
  434.       0X        Empty X$$$$$$$.LIB
  435.       nZ        Sleep
  436.       +/- n     Move and type (+/- nLT)
  437.       n:        Move to absolute line (V engaged)
  438.       :n        Process from current line to specified line (V engaged)
  439. :CP/M ASM Command.  NOTE: MAC.COM may be freely substituted for ASM.COM.
  440.  
  441.      The ASM Command loads and executes the CP/M 8080 assembler.   It is of 
  442. the form --
  443.  
  444.       ASM filename.xyz
  445.  
  446. where
  447.  
  448.       filename  ... is the name of the file 'filename.ASM' to assemble
  449.       x        ... designates the disk name which contains the source
  450.       y        ... designates the disk name to contain the hex file
  451.              (y=Z suppresses generation of the hex file)
  452.       z        ... designates the disk name to contain the print file
  453.              (y=X lists on CON:, y=Z suppresses listing)
  454.  
  455.      Refer to the ASM Manual for further details.
  456. :CP/M LOAD Command
  457.  
  458.      The LOAD Command reads the file specified, which is assumed to contain 
  459. Intel hex format machine code and produces a memory image file which can be 
  460. subsequently executed (converts .HEX to .COM files).  It is of the form --
  461.  
  462.       LOAD filename
  463.  
  464. where filename is the name of the file 'filename.HEX'.
  465.  
  466.      The LOAD command is the second step of the two step process of creating
  467. an executable .COM file from an .ASM assembly sourse file. The output of the
  468. ASM.COM (or MAC.COM) program is a filename ending in .HEX.  That .HEX file
  469. is the input to this LOAD.COM program.    The output of this LOAD.COM program
  470. is an executable file with a filename ending in .COM.
  471.  
  472. :The UNLOAD Command
  473.  
  474.      The UNLOAD Command does the reverse of the LOAD Command -- it converts 
  475. COM files to HEX files.  It is of the form --
  476.  
  477.       UNLOAD filename
  478.  
  479. where filename is the name of the file 'filename.COM'.
  480.  
  481. Some versions of the UNLOAD.COM program allow you to specify an optional
  482. start address after the filename. The default is the normal 0100 hex.
  483.  
  484. :CP/M DDT Command.  NOTE, Later versions of this may be called SID.COM.
  485.  
  486.      The  DDT  Program allows dynamic interactive testing and debugging  of 
  487. programs generated in the CP/M environment.  It is invoked by --
  488.  
  489.       DDT
  490.       DDT filename.HEX
  491.       DDT filename.COM
  492.  
  493. where 'filename' is the name of the program to be loaded or tested.
  494.  
  495.      DDT responds to the normal CP/M input line editing characters.
  496.  
  497.  
  498.    DDT responds to the following commands --
  499.  
  500.      As   Perform inline assembly starting at the specified address s.
  501.      D      Display memory from the current address for 16 display lines.
  502.      Ds   Display memory from address s for 16 display lines.
  503.      Ds,f Display memory from address s to address f.
  504.      Fs,f,c
  505.       Fill memory from start address s to final address f with byte c.
  506.  
  507.      G      Start execution at the current value of the PC.
  508.      Gs   Start execution at the specified address s.
  509.      Gs,b Start execution  at the specified address s and set a  breakpoint 
  510.       at the address b.
  511.      Gs,b,c
  512.       Same as above with breakpoints at b and c.
  513.      G,b  Start execution at the current value of the PC with breakpoint b.
  514.      G,b,c
  515.       Same as above with breakpoints at b and c.
  516.  
  517.  
  518.      If   Insert a file name f into the default FCB.
  519.  
  520.      L      List 12 lines of disassembled code from the current address.
  521.      Ls   List 12 lines from the specified address s.
  522.      Ls,f List lines of disassembled code from s to f.
  523.  
  524.      Ms,f,d
  525.       Move the block from address s to f to destination at address d.
  526.  
  527.      R      Read file in FCB into memory at 100H.
  528.      Rb   Read file in FCB into memory with offset b from 100H.
  529.  
  530.      Ss   Set (examine and alter) memory starting at address s.
  531.  
  532.  
  533.      T      Trace the next instruction.
  534.      Tn   Trace the next n instructions.
  535.  
  536.      U      Untrace -- like Trace, but intermediate steps are not displayed.
  537.  
  538.      X      Examine all registers and flags.
  539.      Xr   Examine specified registers or flag, where r may be --
  540.            C    Carry flag
  541.            Z    Zero flag
  542.            M    Minus (sign) flag
  543.            I    Interdigit Carry flag
  544.            A    Accumulator
  545.            B    BC Reg pair
  546.            D    DE Reg pair
  547.            H    HL Reg pair
  548.            S    Stack pointer
  549.            P    PC
  550. :The ZSID Command.  NOTE: This program is called ZDT on some systems.
  551.  
  552.      ZSID is a Z80 version of DDT.  It is invoked by typing --
  553.  
  554.       ZSID
  555.  
  556.      The  commands  recognized by ZSID are input in  single-character  input 
  557. mode.    No  input line editing is done,  and each command expects an  exact 
  558. input.     All byte values are exactly two characters,  and all addresses are 
  559. exactly four characters.
  560.  
  561.  
  562.      The commands recognized by ZSID are --
  563.  
  564.       A bbbb
  565.            Enter ASCII characters into memory from keyboard starting at 
  566.            address bbbb.
  567.       B
  568.            Warm Boot -- Return to CP/M.
  569.       C bbbb eeee nnnn
  570.            Compare    memory from address bbbb to address eeee  to  block 
  571.            starting at nnnn.
  572.       D bbbb eeee
  573.            Dump memory from bbbb to eeee.
  574.       E bbbb eeee <ASCII string>
  575.            Search  for  ASCII string from bbbb to eeee.   String is  at 
  576.            most 16 characters.  String is terminated by <CR>.
  577.       F bbbb eeee <hex string>
  578.            Search  for  hex  string  from  bbbb  to  eeee.     String  is 
  579.            terminated by <CR>.
  580.  
  581.       G
  582.            Go to next breakpoint.
  583.       H aaaa nnnn
  584.            Hex add and subtract.  Computes aaaa+nnnn and aaaa-nnnn.
  585.       I nn
  586.            Input.  Prints value at port nn.
  587.       J nnnn
  588.            Jump to and execute at location nnnn.
  589.       K
  590.            Keyboard echo.
  591.       L filename.typ nnnn
  592.            Loads specified disk file into location nnnn.
  593.       M bbbb eeee nnnn
  594.            Move block from bbbb to eeee-1 to nnnn.
  595.       N aaaa
  596.            Enter offset aaaa for loading.
  597.       O nn dd
  598.            Output byte dd to port nn.
  599.  
  600.       P bbbb
  601.            Input hex into memory from keyboard starting at bbbb.   <sp> 
  602.            advances pointer, <rub> or <del> backs pointer.
  603.       Q bbbb eeee
  604.            Dumps from bbbb to eeee in ASCII.
  605.       R n ll tt ss bbbb
  606.            Read block of data from disk n of length ll (256-byte pages) 
  607.            starting at track tt and sector ss placing the data at bbbb.
  608.       S bbbb eeee
  609.            Disassembly (symbolic dump) from bbbb to eeee.
  610.       T bbbb eeee
  611.            Destructive memory test from bbbb to eeee-1.
  612.       U bbbb
  613.            Set breakpoint at bbbb.
  614.       V
  615.            Display all currently-set breakpoints.
  616.  
  617.       W n ll tt ss bbbb
  618.            Write on disk n the data at bbbb for a length of ll starting 
  619.            at track tt, sector ss.    ll is in 256-byte pages.
  620.       X
  621.            Display registers.
  622.       Z bbbb eeee dd
  623.            Zero or set memory from bbbb to eeee-1 with byte dd.
  624. :CP/M SYSGEN Command
  625.  
  626.      The  SYSGEN program creates a bootable diskette. The diskette must have
  627. been previously "formatted" and thus contain a directory.
  628.  
  629.      It is invoked by typing
  630.  
  631.       SYSGEN
  632.  
  633.      Once invoked,  the user is prompted through the session.  Refer to the 
  634. CP/M Manual for further details.
  635. :CP/M SUBMIT and XSUB Commands. See also the /.COM commonly used utility.
  636.  
  637.      The  SUBMIT  command allows CP/M commands to be batched  together    for 
  638. automatic processing.  The form of this command is
  639.  
  640.       SUBMIT ufn parm1 parm2 ... parmn
  641.  
  642.      The ufn given in the SUBMIT command must be the filename (not type) of 
  643. a  file which exists on the currently logged-in disk with an  assumed  file 
  644. type of '.SUB'.  Refer to the CP/M Manual for further details.
  645.      The  XSUB    command extends the power of  the  SUBMIT  facility.   When 
  646. specified  as the first line of a SUBMIT File,    it self-relocates  directly 
  647. below the CCP.     All subsequent SUBMIT command lines are processed by XSUB, 
  648. so  that  programs  which read buffered console input  (BDOS  Function    10) 
  649. receive input directly from the SUBMIT File.   While XSUB is in memory,  it 
  650. prints    the message "(xsub active)" on each warm boot.     An example of    the 
  651. use of XSUB to display memory from 100H to 1FFH is --
  652.             XSUB
  653.             DDT
  654.             D100,1FF
  655.             G0
  656. :CP/M BDOS -- Basic I/O Operations
  657.      Function and Number      Input Parameters      Output Parameters
  658.  
  659.      System Reset      0      None          None
  660.      Read Console      1      None          ASCII Char in A
  661.      Write Console     2      ASCII Char in E      None
  662.      Read Reader       3      None          ASCII Char in A
  663.      Write Punch       4      ASCII Char in E      None
  664.      Write List        5      ASCII Char in E      None
  665.      Direct Con I/O    6      ASCII Char in E      I/O Status in A if E=0FFH
  666.      Get I/O Status    7      None          I/O Status in A
  667.      Put I/O Status    8      I/O Status in E      None
  668.      Print Buffer      9      Address of string   None
  669.                    terminated by $
  670.                    in DE
  671.      Read Buffer      10      Address of Read      Read Buffer is filled
  672.                    Buffer in DE
  673.      Console Ready    11      None          LSB of A is 1 if char
  674.                            ready
  675. *All function numbers are passed in Reg C.
  676.  
  677. I/O Status Byte --
  678.  
  679.      Value     Bits 6&7  Bits 4&5  Bits 2&3  Bits 0&1
  680.  
  681.        00      CON:=TTY: RDR:=TTY: PUN:=TTY: LST:=TTY:
  682.        01        CRT:      PTR:    PTP:      CRT:
  683.        10        BAT:      UR1:    UP1:      LPT:
  684.        11        UC1:      UR2:    UP2:      UL1:
  685.  
  686. Read Buffer --
  687.  
  688.      Byte      Function
  689.  
  690.        1       Maximum Buffer Length
  691.        2       Current Buffer Length (returned value)
  692.      3-n       Data (returned values)
  693.  
  694.  
  695. :CP/M BIOS -- Basic Disk Operations
  696.  
  697.      Function and Number      Input Parameters      Output Parameters
  698.  
  699.      Return Version # 12      None          Version Info in HL
  700.                           H=0 CP/M, H=1 MP/M
  701.                           L=00 CP/M 1.x, 2x 2.x
  702.      Init BDOS          13      None          None
  703.      Log-In Disk      14      Value in Reg E      None
  704.                    A=0, B=1, C=2,
  705.                    D=3
  706.      Open File          15      Address of FCB      Byte address of FCB
  707.                    in DE           if found or 0FFH if not
  708.      Close File       16      Address of FCB      Byte address of FCB
  709.                    in DE           if found or 0FFH if not
  710.      Search for File  17      Address of FCB      Byte address of FCB (0-3)
  711.                    in DE           if found or 0FFH if not
  712.      Search for Next  18      Address of FCB      Byte address of next FCB
  713.                    in DE           if found or 0FFH if not
  714.      Delete File      19      Address of FCB      Byte address of FCB (0-3)
  715.                    in DE           if found or 0FFH if not
  716.  
  717.      Function and Number      Input Parameters      Output Parameters
  718.  
  719.      Read Next Record 20      Address of FCB      0=successful read
  720.                    in DE          1=read past EOF
  721.                           2=reading random data
  722.      Write Next Rec   21      Address of FCB      0=successful write
  723.                    in DE          1=error in extending
  724.                           2=end of disk data
  725.                           255=no more dir space
  726.      Make File          22      Address of FCB      Byte address of FCB or
  727.                    in DE           255 if no more dir space
  728.      Rename FCB       23      Address of FCB      Byte Address of Dir entry
  729.                    in DE           or 255 if no match
  730.      Return Log Code  24      None          Login vector in HL
  731.      Read Drive No    25      None          Number of logged-in drive
  732.                            (A=0, B=1, C=2, D=3)
  733.      Set DMA Address  26      Address of 128      None
  734.                   byte buffer in DE
  735.  
  736.      Function and Number      Input Parameters      Output Parameters
  737.  
  738.      Get Alloc Vect   27      None          Allocation  Vect Addr  in 
  739.                            HL
  740.      Write Prot Disk  28      None          None
  741.      Get R/O Vect     29      None          HL=R/O Vect Val
  742.      Set File Attrib  30      Ptr to FCB in DE      Dir code in A
  743.      Get Disk Parms   31      None          HL=DPB Address
  744.      Set/Get Usr Code 32      E=0FFH (get)/Code   A=Current code (get)/no
  745.                    (set)           value (set)
  746.      Read Random      33      DE=FCB addr      A=return code
  747.                           1=reading unwritten data
  748.                           2=(not used)
  749.                           3=can't close curr ext
  750.                           4=seek to unwritten ext
  751.                           5=(not used)
  752.                           6=seek past end of disk
  753.  
  754.      Function and Number      Input Parameters      Output Parameters
  755.  
  756.      Write Random     34      DE=FCB addr      A=return code
  757.                           1=reading unwritten data
  758.                           2=(not used)
  759.                           3=can't close curr ext
  760.                           4=seek to unwritten ext
  761.                           5=dir overflow
  762.                           6=seek past end of disk
  763.      Compute File Siz 35      DE=FCB addr      Random Rec Field set
  764.                            to file size
  765.      Set Random Rec   36      DE=FCB addr      Random Rec Field set
  766.  
  767.  
  768. *All function numbers are passed in Reg C
  769.  
  770. :CP/M File Types
  771.      AIN   ALGOL 60 Intermediate   ALG     ALGOL 60 Source File
  772.      ASM   Assembler Source File   BAK     Backup File
  773.      BAS   BASIC Source File       C     C Source File
  774.      COB   COBOL Source File       COM     "Command" File
  775.      FOR   FORTRAN IV Source File  HEX     Intel "hex" code file
  776.      HLP   HELP File           INT     BASIC Intermediate File
  777.      LST   Listing File        MAC     MACRO-80 Source File
  778.      PAS   PASCAL Source File       PRN     Asm listing or other print-ready
  779.      REL   Relocatable Module       SRC     PASCAL/MT Source File
  780.      SUB   SUBMIT File           SYM     Symbol File
  781.      TC    Tiny-C Source File       TFS     TFS Source File
  782.      TXT   Text File           $$$     Temporary File
  783.  
  784.     NOTE:    Any filetype containing the letter "Q" has been
  785.         squeezed/compressed, and must be run through the
  786.         USQ.COM program before being used.
  787.  
  788. :CP/M BIOS Jump Vector
  789.  
  790.      The  following is a table representing the entry points into the  CP/M 
  791. BIOS of the major routines accessable to the user --
  792.  
  793.  
  794.      Routine   Relative Offset       Comment
  795.  
  796.      BOOT        00H        Cold Start
  797.      WBOOT        03H        Warm Start
  798.      CONST        06H        Console Status
  799.                     Reg A = 00 if no char ready
  800.                     Reg A = FF if char ready
  801.      CONIN        09H        Console char in (Reg A)
  802.      CONOUT        0CH        Console char out (Reg C)
  803.      LIST        0FH        List out (Reg C)
  804.      PUNCH        12H        Punch out (Reg C)
  805.      READER        15H        Reader in (Reg A)
  806.  
  807.      Routine   Relative Offset       Comment
  808.  
  809.      HOME        18H        Move to track 00
  810.      SELDSK        1BH        Select disk given by Reg C (A=0,B=1,...)
  811.      SETTRK        1EH        Set    track  address    given  by  Reg    C 
  812.                       (0...76)
  813.      SETSEC        21H        Set    sector    address given  by  Reg    C 
  814.                       (1...26)
  815.      SETDMA        24H        Set subsequent DMA address (RP B&C)
  816.      READ        27H        Read track/sector (block)
  817.      WRITE        2AH        Write track/sector (block)
  818.      LISTST        2DH        List Device Status
  819.                     Reg A = 00 if no char ready
  820.                     Reg A = FF if char ready
  821.      SECTRAN        30H        Translate  sector number in Reg C  using 
  822.                     table pointed to by DE; physical sector 
  823.                     number returned in Reg L
  824. Translate  sector number in Reg C  using 
  825.                     table pointed to by DE; physical