home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug001.arc / ZCPR.HLP < prev    next >
Text File  |  1979-12-31  |  15KB  |  367 lines

  1. Summary of the New Features of ZCPR
  2. The ZCPR Command Hierarchy Search
  3. ZCPR-Resident Command DIR
  4. ZCPR-Resident Command ERA
  5. ZCPR-Resident Command LIST
  6. ZCPR-Resident Command TYPE
  7. ZCPR-Resident Command SAVE
  8. ZCPR-Resident Command REN
  9. ZCPR-Resident Command USER
  10. ZCPR-Resident Command DFU
  11. ZCPR-Resident Command JUMP
  12. ZCPR-Resident Command GO
  13. ZCPR-Resident Command GET
  14. ZCPR Error Messages
  15. :Summary of the New Features of ZCPR
  16.      ZCPR (Z80 Command Processor Replacement) is a replacement of 
  17. the  CP/M  CCP which is designed to run as part of CP/M  on  Z80-
  18. based microcomputers.   In most cases it is upward-compatible  to 
  19. the original CP/M Version 2.2 CCP.
  20.  
  21.      ZCPR,  however,  provides many extensions over the CP/M CCP.  
  22. Included in these extensions are:
  23.  
  24.           . The TYPE function can be made to page or not page its 
  25. output at the user's discretion
  26.  
  27.           .  A LIST function is available which sends its  output 
  28. to the CP/M LST: Device and does NOT page
  29.  
  30.           .  The  DIR command has been extended to allow the dis-
  31. play of the system files or all files
  32.  
  33.           . The ERA command now prints out the names of the files 
  34. it is erasing
  35.  
  36.  
  37.           .  The  current user number may be included as part  of 
  38. the command prompt;  if the user is under a number other than  0, 
  39. the prompt is of the form 'du>' (like 'A2>' or 'B10>'),  and,  if 
  40. the  user is under 0,  the prompt may be 'd>' or 'd0>' as per his 
  41. choice
  42.  
  43.           .  The  SUBMIT facility has been changed in  two  basic 
  44. ways:
  45.                - the  prompt  changes to 'du$' or 'd$'  when  the 
  46. SUBMIT command is printed
  47.                - the $$$.SUB is executed from drive A: only (note 
  48. that the original SUBMIT problem now exists,  but the new SUB.COM 
  49. facility  corrects  it);   Indirect  Command  Files  now  perform 
  50. according to the basic philosophy that any command sequence  that 
  51. can  be input from the console may be used in an Indirect Command 
  52. File  as well;  the ZCPR.DOC file also gives details as to how to 
  53. patch SUBMIT.COM if SUB.COM is not available
  54.  
  55.  
  56.           .  A command-search hierarchy is now implemented  which 
  57. is executed as follows:
  58.                - the  user's command is checked against the  CPR-
  59. resident commands and executed immediately if a match is found
  60.                - failing  that,  the  current user number on  the 
  61. current disk is scanned for the COM file;  the COM file is loaded 
  62. and executed if found
  63.                - failing that, a default user number (initially 0 
  64. but  can be reset with the DFU CPR-resident command) on the  cur-
  65. rent disk is scanned for the COM file; the COM file is loaded and 
  66. executed if found
  67.                - finally,  failing that,  the default user number 
  68. on disk A:  is scanned for the COM file;  the COM file is  loaded 
  69. and executed if found or an error message (COMMAND?, when COMMAND 
  70. was the user's command name) is printed
  71.  
  72.  
  73.           .  The  numeric argument for the SAVE CPR-resident com-
  74. mand  (viz the number of 256-byte pages to save) can be input  in 
  75. HEX rather than decimal
  76.  
  77.           .  A  GET  command which loads a file  at  a  specified 
  78. memory address and a JUMP command which "calls" the subroutine at 
  79. a  specified memory address have been added;  a GO command  which 
  80. "calls"  the  subroutine starting at 100H is also added (this  is 
  81. redundant with JUMP 100H)
  82.  
  83.  
  84. :The ZCPR Command Hierarchy Search
  85.      The first,  and most basic thing, to learn about ZCPR is the 
  86. order in which it searches for a COM file for execution or a file 
  87. specified  by the GET command.   Under the CP/M 2.2 CCP,  if  the 
  88. specified  COM file command was not found on the current drive in 
  89. the  current user area,  the CCP aborted with an  error  message.  
  90. ZCPR,  however,  continues searching from this point a maximum of 
  91. two  more  levels.   This command hierarchy search  was  outlined 
  92. above and is described here in further detail.
  93.  
  94.           1.   If  the command is of the form 'COMMAND'  and  NOT 
  95. 'd:COMMAND',  the  CPR-resident  command list is searched  for  a 
  96. match.   If  the  match  is found,  the CPR-resident  command  is 
  97. immediately processed.   If the match is not found or the command 
  98. is of the form 'd:COMMAND',  the next step is taken.   Note  that 
  99. the  'd:COMMAND' form is good for executing a COM file which  has 
  100. the same name as a CPR-resident command (such as SAVE or DIR).
  101.  
  102.  
  103.           2.   If  the command is of the form  'd:COMMAND',  disk 
  104. drive  'd:'  is  temporarily logged in for  the  purpose  of  the 
  105. command  search.   Otherwise,  the  currently logged-in drive  is 
  106. used.
  107.  
  108.           3.  Now the file named COMMAND.COM is searched for.  If 
  109. found,  it  is loaded into memory starting at 100H and  executed.  
  110. If not, proceed to step 4.
  111.  
  112.           4.   Now  that  the first search  for  COMMAND.COM  has 
  113. failed,  the  CPR checks to see if the user is under the  current 
  114. Default User Number.   The Default User Number may be that set by 
  115. the  DEFUSR equate in the CPR or that set by the user via the DFU 
  116. command.   DEFUSR  is in effect if DFU has not been issued  since 
  117. the last Warm or Cold Boot, and DFU is in effect if it was issued 
  118. since the last Warm or Cold Boot.   If the user is NOT under  the 
  119. current  Default User Number,  ZCPR temporarily logs him into  it 
  120. and  searches  the directory.   If COMMAND.COM is  found,  it  is 
  121. loaded as described above and executed.  If not, ZCPR proceeds to 
  122. the next step.
  123.  
  124.           5.   The user is now in the Default User Number, and at 
  125. this  point,  ZCPR checks to see if the user is on disk drive A:.  
  126. If not, it temporarily logs into A: and searches the default user 
  127. number  of  A:  for  COMMAND.COM.   If found,  it  is  loaded  as 
  128. described above and executed.   If not,  ZCPR prints the  command 
  129. name  as  an  error message and returns to  command  input  mode, 
  130. aborting the SUBMIT file if COMMAND came from it.
  131.  
  132.      In  all cases of the search above,  if COMMAND.COM is found, 
  133. after  it  is loaded into memory,  ZCPR resets the  user  to  his 
  134. original disk drive and user number.  Hence, the files referenced 
  135. by the user by default are obtained from this environment.
  136.  
  137.  
  138.      To  illustrate this command hierarchy search,  consider  the 
  139. following examples:
  140.  
  141. Example 1:  DEFUSR equ 0 {default user number is 0}
  142.  
  143. B10>           <-- User is on Drive B:, User Number 10
  144. B10>ASM TEST.BBZ    <-- User wishes to assemble TEST.ASM in
  145.                          Drive B:, User 10
  146.      <-- At this point, ZCPR looks on B:/10 for ASM.COM, fails,
  147.           looks on B:/0, fails, and finally looks on A:/0; it
  148.           finds ASM.COM here and goes back to B:/10 for the file
  149.  
  150.  
  151.  
  152.  
  153. Example 2:  DEFUSR equ 0 and DFU issued
  154.  
  155. B10>           <-- User is on Drive B:, User Number 10
  156. B10>DFU 5      <-- User Selects User 5 as default
  157. B10>ASM TEST.BBZ    <-- As above
  158.      <-- At this point, ZCPR looks on B:/10 for ASM.COM, fails,
  159.           look on B:/5, fails, and finally looks on A:/5; it
  160.           fails here also and prints ASM? as an error message
  161.  
  162. Example 3:  DEFUSR equ 0
  163.  
  164. B>             <-- User is on Drive B:, User Number 0
  165. B>ASM TEST.BBZ      <-- As above
  166.      <-- At this point, ZCPR looks on B:/0 for ASM.COM, fails,
  167.           looks on A:/0, fails, and prints error message
  168.  
  169.  
  170.  
  171. Example 4:  DEFUSR equ 0
  172.  
  173. A10>           <-- User is on Drive A:, User Number 10
  174. A10>ASM TEST.AAZ    <-- As above, but file on A:
  175.      <-- At this point, ZCPR looks on A:/10 for ASM.COM, fails,
  176.           looks on A:/0, fails, and prints error message
  177.  
  178. :ZCPR-Resident Command DIR
  179. Command: DIR
  180. Function:  To Display a listing of the names of the files on disk
  181. Forms:
  182.      DIR <afn>           <-- Displays $DIR files
  183.      DIR <afn> S         <-- Displays $SYS files
  184.      DIR <afn> A         <-- Displays both $DIR and $SYS files
  185. Examples:
  186.      DIR *.ASM           <-- All $DIR .ASM files
  187.      DIR *.COM S         <-- All $SYS .COM files
  188.      DIR *.COM A         <-- All .COM files
  189. Notes:
  190.      If  a  file is scanned for and no such name exists on  disk, 
  191. the  'No  Files' message will appear.   However,  if  a  file  is 
  192. scanned for and the name exists as a $SYS file and $DIR files are 
  193. being  scanned for,  no file name is displayed but the 'No Files' 
  194. message does NOT appear.  For example, if TEST.COM is a $SYS file 
  195. and  'DIR  TEST.COM' is issued,  no  message  appears.   If  'DIR 
  196. TEXT.COM' is issued and TEXT.COM does not exist on disk,  the 'No 
  197. Files' message is displayed.
  198. :ZCPR-Resident Command ERA
  199. Command: ERA
  200. Function:  To Erase the specified $R/W files from disk
  201. Forms:
  202.      ERA <afn>           <-- Erase both $DIR and $SYS files
  203. Examples:
  204.      ERA *.ASM           <-- Erase all .ASM files
  205.      ERA *.*             <-- Erase all files
  206. Notes:
  207.      If a $R/O file is encountered,  a BDOS error message will be 
  208. displayed  and the procedure is stopped.   The user is unsure  at 
  209. this  time as to which files have been erased and which have  not 
  210. and should check.  Sorry for this problem!  The ERASE command (to 
  211. be  given  to SIG/M by RLC in the near future) is a  solution  to 
  212. this problem.
  213. :ZCPR-Resident Command LIST
  214. Command: LIST
  215. Function:  To Print the specified file on the CP/M LST: device
  216. Forms:
  217.      LIST <ufn>          <-- Print the file (no paging)
  218. Examples:
  219.      LIST TEST.TXT       <-- Print TEST.TXT on LST:
  220. Notes:
  221.      If  the file has a $SYS attribute,  it will be found as well 
  222. as those with $DIR attributes.
  223. :ZCPR-Resident Command TYPE
  224. Command: TYPE
  225. Function:  To Print the specified file on the CP/M CON: device
  226. Forms:
  227.      TYPE <ufn>          <-- Print the file with the paging deflt
  228.      TYPE <ufn> P        <-- Print the file with the paging deflt
  229.                               negated
  230. Examples:
  231.      TYPE TEST.TXT
  232.      TYPE TEST.TXT P
  233. Notes:
  234.      When  the  display pauses during paging,  type any  char  to 
  235. continue or ^C to abort.  ^S also works.
  236. :ZCPR-Resident Command SAVE
  237. Command: SAVE
  238. Function:  To Copy the TPA starting at 100H to disk
  239. Forms:
  240.      SAVE <Number of Pages> <ufn>  <-- <Number of Pages> in DEC
  241.      SAVE <Number of Pages>H <ufn> <-- <Number of Pages> in HEX
  242.      SAVE <Number of Sectors> <ufn> S  <-- <Number of Sectors>
  243.                                           in DEC
  244.      SAVE <Number of Sectors>H <ufn> S <-- <Number of Sectors>
  245.                                           in HEX
  246. Examples:
  247.      SAVE FH MYFILE.TXT      <-- 15 pages saved
  248.      SAVE 15 MYFILE.TXT      <-- 15 pages saved
  249.      SAVE 10H MYFILE.TXT S   <-- 16 sectors (8 pages) saved
  250. Notes:
  251.      The error message 'Delete File?' is printed if <ufn> already 
  252. exists.   To go ahead and SAVE, type Y or y to erase the file and 
  253. proceed with the SAVE.
  254.  
  255. :ZCPR-Resident Command REN
  256. Command: REN
  257. Function:  To Change the name of a disk file
  258. Forms:
  259.      REN <ufn new>=<ufn old>
  260. Examples:
  261.      REN NEWFILE.TXT=OLDFILE.TXT
  262. Notes:
  263.      The error message 'Delete File?' is printed if the <ufn new> 
  264. already exists.  To go ahead and complete the REN, type Y or y to 
  265. erase  the  current  <ufn new> file and then <ufn  old>  will  be 
  266. renamed to <ufn new>.
  267.  
  268. :ZCPR-Resident Command USER
  269. Command: USER
  270. Function:  To Change the current user number
  271. Forms:
  272.      USER <User Number>       <-- <User Number> in DEC
  273.      USER <User Number>H      <-- <User Number> in HEX
  274. Examples:
  275.      USER 15
  276.      USER FH
  277.      USER 0
  278.      USER      <-- Same as USER 0
  279. Notes:
  280.      -None-
  281. :ZCPR-Resident Command DFU
  282. Command: DFU
  283. Function:  To Temporarily Change the default user number for the
  284.            command hierarchy search
  285. Forms:
  286.      DFU <User Number>        <-- <User Number> in DEC
  287.      DFU <User Number>H       <-- <User Number> in HEX
  288. Examples:
  289.      DFU 15
  290.      DFU 0
  291.      DFU FH
  292.      DFU       <-- Same as DFU 0
  293. Notes:
  294.      -None-
  295. :ZCPR-Resident Command JUMP
  296. Command: JUMP
  297. Function:  To "call" the subroutine at the specified page address
  298. Forms:
  299.      JUMP <Address> <Cmd Parms>  <-- <Address> in HEX
  300. Examples:
  301.      JUMP E000 or JUMP E000H  <-- Jump to E000H
  302.      JUMP 100                 <-- Jump to 100H
  303.      JUMP 0                   <-- Jump to 000H
  304.      JUMP                     <-- Same as JUMP 0
  305. Notes:
  306.      JUMP performs a subroutine "call", so the called routine may 
  307. return to the ZCPR by either a RET or a Warm Boot.
  308. :ZCPR-Resident Command GO
  309. Command: GO
  310. Function:  To "call" the subroutine at address 100H
  311. Forms:
  312.      GO <Cmd Parms>           <-- Routine at 100H
  313. Examples:
  314.      GO *.ASM                 <-- Execute TPA-resident prog
  315.                                    with *.ASM passed
  316. Notes:
  317.      This is identical in function to JUMP 100H.
  318. :ZCPR-Resident Command GET
  319. Command: GET
  320. Function:  To load a file from disk into memory starting at the
  321.            specified page
  322. Forms:
  323.      GET <Address> <ufn>      <-- <Address> in HEX
  324. Examples:
  325.      GET 8000 TEST.80         <-- Load TEST.80 starting at 8000H
  326.      GET 100 TEST.80 or GET 100H TEST.80 <-- Load TEST.80 start-
  327.                                    ing at 100H
  328.      GET 0 TEST.80            <-- Load TEST.80 starting at 000H
  329. Notes:
  330.      GET  searches for the specified file according to  the  same 
  331. command  hierarchy  search employed by the ZCPR command  scanner.  
  332. Hence,  if the user is on B:/10 and the file is on A:/0 with  the 
  333. current  default user number at 0,  GET will search from B:/10 to 
  334. B:/0 to A:/0 in looking for the file.
  335. :ZCPR Error Messages
  336.      The  following  are the error messages issued  by  ZCPR  and 
  337. their meanings.
  338.  
  339. Message   Meaning
  340.  
  341. ?         Printed after a command or an argument means that such
  342.             was invalid
  343.  
  344. No File   From DIR, this means that DIR did not locate any files
  345.           Also from ERA with the same meaning
  346.  
  347. All?      Issued in response ERA *.*, asks the user is he really
  348.             wants to erase all the files.  Unlike under the
  349.             original CP/M 2.2 CCP, single character input is
  350.             required (Y or y for yes and anything else for no)
  351.             with NO <CR> to end the line
  352.  
  353.  
  354. Message   Meaning
  355.  
  356. Full      From SAVE, means that there is not enough space on
  357.             disk
  358.           From GET or command load by CPR, means that there
  359.             is not enough space in memory
  360.  
  361. Delete File?
  362.           From REN or SAVE, means that the file specified already 
  363.             exists  on disk and the user may type Y or y to erase 
  364.             it  and  continue  with the procedure  or  any  other 
  365.             character to abort
  366.  
  367.