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 / CPM / CCP / EZCPR.LBR / EZINST.HQP / ezinst.hlp
Text File  |  2000-06-30  |  37KB  |  766 lines

  1.   EZCPR Installation Guide
  2. PROGRAMS NEEDED FOR EZCPR OPERATION
  3.   MSW Utilities Used with EZCPR
  4.   Replacements for Built-In CP/M Commands
  5.   Use of ZCPR2 Utilities with EZCPR
  6. BASIC EZCPR INSTALLATION
  7.   Configuration Check
  8.   EZCPR Initiation
  9.   GUARD Protection
  10.   WIZ Control of Privileged Operations
  11. STANDARD OPERATING PRACTICES
  12.   Using the CMDRUN Feature
  13.   EZCPR Configuration Options
  14.   Error Recovery 
  15.   SUBMIT Procedures
  16. :EZINST 1.00             EZCPR INSTALLATION GUIDE              dh: 84-06-28
  17.                          ========================
  18.  
  19.      This  guide provides technical information for installers of EZCPR,  a 
  20. replacement  for  the  standard  CP/M*  Console  Command  Processor  (CCP).  
  21. EZINST.HLP explains the first-time installation of EZCPR and also  provides 
  22. reference  material of use during  trouble-shooting,  re-installation,  and   
  23. election of custom configuration options.
  24.  
  25.      EZINST.HLP 1.00 is based on specific details of EZCPR #1.09.  Although 
  26. the  general concepts will apply for other versions,  variations in  detail 
  27. should be expected.  
  28.  
  29.  
  30.  
  31.                     Copyright 1984, Dennis E. Hamilton
  32.  
  33.      This  guide  may be freely reproduced for private use so long  as  all 
  34. notices  of authorship and copyright are preserved.   All other rights  are 
  35. reserved.   Send enquiries to The MSW Company,  P.O.  Box 229,  Penfield NY 
  36. 14526-0229.
  37.               * CP/M is a trademark of Digital Research, Inc.
  38. :                PROGRAMS NEEDED FOR BASIC EZCPR OPERATION
  39.                  =========================================
  40.  
  41.      EZCPR  will usually operate by itself,  "right out of the box."   This 
  42. can  be  used  for  trial demonstration and  limited  exploration,  but  is 
  43. insufficient  for  permanent  installation and  heavy  usage.   To  make  a 
  44. complete  basic  installation of EZCPR,  the following programs  should  be 
  45. obtained and used:
  46.  
  47.    * MSW  utilities  EZCPR.COM  (the  "installer"  of  EZCPR),  SYSTEM.COM, 
  48.      GUARD.COM, and WIZ.COM.
  49.  
  50.    * Favorite  utilities to be operated in place of the no-longer  built-in 
  51.      operations DIR,  TYPE,  REN, and ERA.  (SAVE is the only built-in CP/M 
  52.      operation retained in EZCPR.  USER is accomplished another way.)
  53.  
  54.    * ZCPR2-specific  utilities configured for non-ZCPR2 operation in  order 
  55.      to also be used under EZCPR.
  56.  
  57.    * Versions  of utilities and applications that can operate in the  pres-
  58.      ence of User-Interface Guardian protection.   (Some programs which add 
  59.      appendages to the CP/M BDOS are hostile to presence of other ones.)
  60. :                      MSW UTILITIES USED WITH EZCPR
  61.                        -----------------------------
  62.  
  63.      For  complete,  basic operation of EZCPR,  the following programs  are 
  64. required:
  65.  
  66.      SYSTEM.COM #2.14 or later:   EZCPR  #1.09  is implemented to the  same 
  67.           level of automatic configuration as SYSTEM #2.15.
  68.  
  69.      GUARD.COM #1.04 or later:  Earlier  versions  of  GUARD.COM  will  not 
  70.           operate in the presence of EZCPR.
  71.  
  72.      WIZ.COM #1.03 or later:   Earlier  versions of WIZ.COM have  the  same 
  73.           problems as early GUARD.COM versions.
  74.  
  75.      EZCPR.COM #1.09 or later:  This is the program used to "turn on" EZCPR 
  76.           as the system User-Interface Command Processor.    
  77.  
  78. Generally,  MSW utility versions dated since 84-06-21 are always preferable 
  79. under EZCPR.   To verify the version of any MSW-convention program, use the 
  80. command form
  81.                      a>program -#   OR   a>program -?
  82. :                 REPLACEMENTS FOR BUILT-IN CP/M COMMANDS
  83.                   ---------------------------------------
  84.  
  85.      The  standard CP/M CCP implements a small number of services  directly 
  86. in  the command processor.   EZCPR preserves only SAVE,  the one  operation 
  87. that  cannot be easily obtained with a CP/M transient  ".COMmand"  program.  
  88. The following operations have no built-in counterpart with EZCPR:
  89.  
  90.    * DIR for showing the presence of files in a particular directory
  91.  
  92.    * TYPE for presenting the content of text files on the CP/M CON:
  93.  
  94.    * ERA for removing files from a disk directory
  95.  
  96.    * REN for changing the name of a disk file
  97.  
  98.      If you require any of these operations while your CP/M system is under 
  99. EZCPR  control,  you will need programs that provide such functions in  the 
  100. form that you prefer.   Depending on requirements for operational security, 
  101. you  can  also omit or protect selected operations,  such as ERA  and  REN, 
  102. which can be dangerous when used incorrectly.   (EZCPR's SAVE operation  is 
  103. disabled using WIZ.)                  [next: How to install new "built-ins".]
  104.                 Installing Built-In Operation Replacements
  105.                 ------------------------------------------
  106.  
  107.      The  easiest way to install counterparts to built-in operations is  to 
  108. copy  substitute  .COM  programs  onto disk A under user  0  (disk  A0:  in 
  109. EZCPR/ZCPR2 parlance).  Disk A0: is "home base" for EZCPR operations -- the 
  110. basic  version  will always look in A0:  for programs that can't  be  found 
  111. elsewhere.   This means that you only need one mounted copy of each  opera-
  112. tion  program,  since it can be found on A0:  when not present on the  disk 
  113. which is currently "logged-in," whether D0: or P15:.
  114.  
  115.      In  the past,  introduction of custom counterparts to built-in  opera-
  116. tions required use of different names (such as  XDIR,  TYPEL,  RENAME,  and 
  117. ERZ).   You  now have the option to use the original built-in names for the 
  118. substitutions,  making your system easier to use by operators accustomed to 
  119. the basic CP/M facilities.   Of course,  you can still substitute  versions 
  120. that show off your computer's capabilities, too.
  121.  
  122.      As  you  become more accustomed to the configuration  capabilities  of 
  123. EZCPR,  you  can  experiment with making different built-ins available   to 
  124. different operators,  or as part of different applications, with or without 
  125. added security checks.                    [next: Typical Built-In Selections]
  126.                  Typical Built-In Operation Substitutions
  127.                  ----------------------------------------
  128.  
  129.      On  the  first  system to use EZCPR,  Orcan  Conclave  RCP/M  #0,  the 
  130. following substitutions are installed on A0: for local operation:
  131.  
  132.    * DIR.COM  is  SD  #2.4  as configured by John Stetson for  use  of  the 
  133.      Heathkit H19 terminal's VT52-compatible display features.
  134.  
  135.    * TYPE.COM  is  TYPEL  #2.3,  a program developed  by  Sigi  Kluger  and 
  136.      designed  to directly display text files,  SQueezed files,  and either 
  137.      kind of file from within a .LBR file collection.
  138.  
  139.    * ERA  and REN are omitted.   Instead,  two utilities are used in  their 
  140.      place:  Richard Conn's VFILER  and Durant Software's SimpliFile,  both 
  141.      configured  for  H19.   (Simplifile is used to maintain a  descriptive 
  142.      catalog  on  the disk.)  Other popular  substitutions  include  SWEEP, 
  143.      DISK7, and the ZCPR2 "extended" commands for ERASE and RENAME.
  144.  
  145.      There  is  ample variety in both public-domain and  proprietary  form.  
  146. Many substitutes use advanced equipment features to great advantage,  also.  
  147. And built-in operations of packages like WordStar and MDM7 still operate.
  148. :                    USE OF ZCPR2 UTILITIES WITH EZCPR
  149.                      ---------------------------------
  150.  
  151.      Being based on the highly-popular ZCPR2 System of Richard Conn,  EZCPR 
  152. supports  similar concepts and facilities.   But EZCPR does not require any 
  153. modifications  to  the underlying CP/M system:  You don't have  to  install 
  154. EZCPR, you can simply turn it on.
  155.  
  156.      In addition, EZCPR operates on most CP/M 2.2 systems, whether equipped 
  157. with  8080A,  Z80,  8085,  or Z800 processors.   EZCPR is also designed  to 
  158. provide  consistent operation under CP/M 1.4,  CP/M 3.0 (CP/M+),  and  some 
  159. configurations of MP/M and CP/M-86 as well.
  160.  
  161.      To  achieve this flexibility,  ZCPR2 installation practices are  aban-
  162. doned.  ZCPR2 features are supported, BUT NOT THE SAME WAY.  In particular, 
  163.  
  164.    * The multiple-command buffer (of 128+ bytes) is internal to EZCPR.
  165.    * EZCPR keeps an internal WIZ flag in preference to external WHEEL byte.
  166.    * An 8-entry disk-search path is carried internal to EZCPR itself.
  167.    * A 16-entry directory-name table is also kept resident in EZCPR.
  168.    * Input-Output redirection is a special case of MSW RSX Portal usage.
  169.                                             [next: Impact on ZCPR2 Utilities]
  170.                          Impact on ZCPR2 Utilities
  171.                          -------------------------
  172.  
  173.      Certain  features of the ZCPR2 System are supported by setup of  dedi-
  174. cated  data  areas at locations where their content is preserved  from  one 
  175. application to the next, from one CP/M restart (warm boot) to the next.  It 
  176. is allocation and initialization of these areas that requires special  CP/M 
  177. modifications for full ZCPR2 operation on most systems.  
  178.  
  179.      If you have ZCPR2 fully installed on your system, your ZCPR2 utilities 
  180. will already be configured to locate the custom data areas.  BUT EZCPR WILL 
  181. NEITHER  NOTICE NOR USE THEM.   And,  although EZCPR has equivalent  system 
  182. data areas within its own storage locations,  ZCPR2 UTILITIES CANNOT LOCATE 
  183. OR USE THEM.
  184.  
  185.      [WARNING:  Do  NOT  attempt  to locate the equivalent areas  within  a 
  186. loaded  copy of EZCPR and install the addresses of those locations in  your 
  187. ZCPR2  utilities.   There are format incompatibilities,  and the  locations 
  188. tend to move around within EZCPR.  In addition, EZCPR does not have to load 
  189. in the same place every time it is initiated.]  
  190.  
  191.                                           [next: Making ZCPR2 Utilities Work]
  192.                         Making ZCPR2 Utilities Work
  193.                         ---------------------------
  194.  
  195.      The  smoothest  way  to operate ZCPR2 utilities in  an  EZCPR  regime, 
  196. WHETHER   OR  NOT  ZCPR2  IS  ALSO  INSTALLED,   is  by  eliminating  those 
  197. configuration options which depend on the use of ZCPR2-external data.
  198.  
  199.      Using  the  ZCPR2 GENINS program,  review the features of the  desired 
  200. utility  and  make  sure that the following features are not  used  or  are 
  201. disabled in the utility:
  202.  
  203.    * EXTERNAL SEARCH PATH: Set not available (set internal path instead)
  204.    * EXTERNAL COMMAND BUFFER: Set not available (address of 0000H)
  205.    * DEFAULT CHARACTER: "$" should always be used in path lists
  206.    * RESIDENT  DIRECTORY-NAME TABLE:  Set address to 0000H and try to  keep 
  207.      ZCPR2 use under 16 entries for future EZCPR compatibility.
  208.    * Any other feature (such as WHEEL byte address) which requires a  fixed 
  209.      address in the system.  Also check whether a Z80 is required.
  210.  
  211.      As a compromise,  you can implement some of these dedicated  locations 
  212. for sharing between ZCPR2 utilities, but without EZCPR participation.
  213.                                  [next: Bridging the Gap from EZCPR to ZCPR2]
  214.                    Bridging the Gap from EZCPR to ZCPR2
  215.                    ------------------------------------
  216.  
  217.      As  can be seen,  not all ZCPR2 options are supported the same way  by 
  218. EZCPR,  so  those who have already installed ZCPR2 may prefer to use  EZCPR 
  219. just  for  special occasions.   
  220.  
  221.      New  users are encouraged to install EZCPR first as a way  of  quickly 
  222. gaining experience with the basic procedures, switching to ZCPR2 (or ZCPR3) 
  223. only after deciding on those configuration details which make the labors of 
  224. permanent installation worthwhile.   EZCPR can still be used after ZCPR2 is 
  225. installed, providing additional operating flexibility when needed.
  226.  
  227.      In addition, the autoconfiguration capabilities of SYSTEM, GUARD, WIZ, 
  228. and  other  MSW-convention utilities can be adopted in  upgrades  to  ZCPR2 
  229. utilities.   Such  all-purpose  utilities first check for the  presence  of 
  230. EZCPR and use those facilities in that case.  If it is confirmed that ZCPR2 
  231. is operating instead,  then ZCPR2 parameters are honored.  With care, it is 
  232. possible  to develop utilities which operate indifferently under both ZCPR2 
  233. and  EZCPR,  automatically adjusting without any operational  discontinuity 
  234. whatsoever.   [See the EZCPR technical guide for more information on inter-
  235. faces and techniques available to utilities.]
  236. :                        BASIC EZCPR INSTALLATION
  237.                          ========================
  238.  
  239.      If you simply place EZCPR.COM on a disk and perform the operation
  240.  
  241.                                 a>EZCPR UP
  242.  
  243. EZCPR will attempt to load itself and operate in place of the CCP,  if any, 
  244. that is already active.   An EZCPR initiated in this way,  if able to load, 
  245. will  persist  in the system until the next CP/M Restart (Warm  Boot).   At 
  246. that time,  standard CCP (or ZCPR1 or ZCPR2) operation is restored as  part 
  247. of the reloading/cleanup of CP/M.
  248.  
  249.      But  the full capability of EZCPR and allied MSW-convention  utilities 
  250. is  not  tapped  until  EZCPR is "locked in" the system by  use  of  GUARD.  
  251. Following GUARD protection of EZCPR (and any other dynamic CP/M  extensions 
  252. that are used), special privileges can be turned off and on using WIZ.
  253.  
  254.      Although independent of EZCPR, the MSW SYSTEM utility is indispensable 
  255. for  reviewing your current CP/M configuration.   EZCPR and other utilities 
  256. will  see your configuration exactly the same way that  SYSTEM  does.   Use 
  257. SYSTEM for a report of how your configuration is arranged at the moment.
  258. :                       SYSTEM CONFIGURATION CHECK
  259.                         --------------------------
  260.  
  261.      To  operate  SYSTEM #2.15 (also distributed under  the  name  SYS215), 
  262. place  it  on your system disk,  rename it as necessary and try the  simple 
  263. operation
  264.  
  265.           a>SYSTEM -?
  266.  
  267.      The utility should identify itself and provide a short summary of  its 
  268. usage options.
  269.  
  270.      If,  instead,  you  encounter a CCBROKE error message,  it is possible 
  271. that the program is damaged.   Obtain a replacement for the program and try 
  272. again.   If  you  encounter a CCMEMRY failure,  CCBROKE persists  when  the 
  273. program  works fine on other computers,  or SYSTEM obviously misbehaves  in 
  274. other ways, DO NOT ATTEMPT TO OPERATE EZCPR.  
  275.  
  276.      SYSTEM is the advance scout for MSW-convention utilities.  It does not 
  277. interfere in any way with normal system operation.   In addition, SYSTEM is 
  278. designed to balk rather than proceed in uncertain or dangerous settings.
  279.                                                  [next: A Good SYSTEM Report] 
  280.                            A Good SYSTEM Report
  281.                            --------------------
  282.  
  283.      If  SYSTEM -?  operates without difficulty,  it is safe to try  normal 
  284. operation of the program.  Operate SYSTEM without any command options:
  285.  
  286.           A>system
  287.           SYSTEM> Heath/Zenith H89/Z90 Computer Configuration
  288.                   Z80 Processor
  289.  
  290.           CP/M 2.2.03 Operating System  S/N 196-3-0-34029
  291.                   E600 BIOS .03 base location
  292.                   D800 BDOS 2.2 base location
  293.                   D000 CCP base location
  294.                        Single-Segment Memory Model
  295.                   D000 current TPA ceiling
  296.                   CFF8 Stack Point
  297.                   1DFC Heap Point
  298.                   0100 TPA base location
  299.                        52992-byte TPA capacity
  300.                        45564-byte free zone
  301.                                          [next: What to Look for from SYSTEM]
  302.                        What to Look for from SYSTEM
  303.                        ----------------------------
  304.  
  305.      The amount of detail that SYSTEM reports varies for each CP/M  instal-
  306. lation.  It is unimportant whether SYSTEM can describe every detail of your 
  307. configuration.   IT  IS IMPORTANT THAT SYSTEM REPORT THE TRUTH,  whether or 
  308. not  all  of  the truth.   That is,  nothing in the  SYSTEM  report  should 
  309. contradict sure knowledge that you have about your computer system.
  310.  
  311.      For  purposes  of EZCPR operation,  the most important information  is 
  312. about the available Console Command Processor:
  313.  
  314.                   . . .
  315.                   D800 BDOS 2.2 base location
  316.            ===>   D000 CCP base location
  317.                        Single-Segment Memory Model
  318.                   . . .
  319.  
  320.      If SYSTEM reports a base location for CCP (ZCPR1,  ZCPR2,  or  EZCPR), 
  321. EZCPR.COM will use that same location for loading of a fresh copy of EZCPR.  
  322. (If CCP is non-resident instead,  as with CP/M 3.0,  EZCPR loads just below 
  323. the TPA ceiling.)                               [next: When EZCPR Can't Load]
  324.                            When EZCPR Can't Load
  325.                            ---------------------
  326.  
  327.      Whenever  SYSTEM reports "CCP Not Located",  the presumption  is  that 
  328. there is probably a CCP present in the system, but it can't be found by the 
  329. techniques   incorporated   in   SYSTEM.COM.    There   are   usually   two 
  330. possibilities:
  331.  
  332.    * The SYSTEM program was itself not called from the command level, so it 
  333.      is  unable  to satisfactorily locate the CCP in charge  of  operation.  
  334.      This  can  happen,  for  example,  if you were to  <R>un  SYSTEM  from 
  335.      WordStar or any other package that retains control of the system while 
  336.      operating  external  programs  and  overlays.    (Reaching  SYSTEM  by 
  337.      chaining or from a SUBMIT file is all right,  since the CCP is respon-
  338.      sible for actual loading and operation of the program in those cases.)
  339.  
  340.    * Because  of a non-standard appendage to CP/M,  whether  BYE,  DDT,  or 
  341.      other special-purpose attachment,  SYSTEM is unable to locate the true 
  342.      BDOS  base  location.   This has interfered with SYSTEM's  attempt  to 
  343.      confirm the presence of a CCP in front of BDOS or any BDOS RSX.
  344.  
  345. In the absence of positively-confirmed CCP status, EZCPR won't load.
  346. :                            EZCPR INITIATION
  347.                              ----------------
  348.  
  349.      When  a  CCP  is  positively confirmed to be either  present  or  non-
  350. resident,  according to SYSTEM,  EZCPR.COM can load a new EZCPR copy.   Use 
  351. an EZCPR UP command:
  352.  
  353.           A>ezcpr up
  354.           EZCPR> #1.09 84-06-26 User Command Interface
  355.                  CP-MIG edition by Dennis E. Hamilton
  356.  
  357.           D000 = active CCP to be replaced by the new one.
  358.                   2048 bytes needed, with 2048 allowed.
  359.  
  360.           D000-D7FF RELOCATED CODE BLOCK
  361.           D65E-D7FD   data segment
  362.           D11E-D65B   instruction segment
  363.           D002-D11B   data segment
  364.  
  365.                   EZCPR #1.09 84-06-26
  366.  
  367.           A0>                                     [next: The EZCPR Signature]
  368.                             The EZCPR Signature
  369.                             -------------------
  370.  
  371.      You  can  always tell that EZCPR or ZCPR is present by  appearance  of 
  372. user numbers in the CP/M command-input prompt.  ("A0>" is EZCPR's home-base 
  373. prompt  for operator input.   Form "A0<" is used when showing command lines 
  374. taken from an active SUBMIT file.) 
  375.  
  376.      In  addition,  every  EZCPR version identifies itself when  asked  for 
  377. version information via built-in command "#":
  378.  
  379.           A0>#
  380.  
  381.                   EZCPR #1.09 84-06-26
  382.  
  383.           A0>B3: __ You don't have to stay on A0, of course.
  384.           B3>15: __move up to user 15;  # __ Who'd you say you were?
  385.  
  386.                   EZCPR #1.09 84-06-26
  387.  
  388.           B15>
  389.                                                                    [more ...]
  390.      And it is always a good idea to confirm presence of EZCPR with SYSTEM:
  391.  
  392.           B15>system
  393.           SYSTEM> Heath/Zenith H89/Z90 Computer Configuration
  394.                   Z80 Processor
  395.  
  396.           CP/M 2.2.03 Operating System  S/N 196-3-0-34029
  397.                   E600 BIOS .03 base location
  398.                   D800 BDOS 2.2 base location
  399.           ====>   D000 EZCPR base location
  400.                        Single-Segment Memory Model
  401.                   D000 Current TPA ceiling
  402.                   CFF8 Stack Point
  403.                   1DFC Heap Point
  404.                   0100 TPA base location
  405.                        52992-byte TPA capacity
  406.                        45564-byte free zone
  407.  
  408.           B15>
  409.  
  410.      [NOTE:  With  CP/M 1.4 you are confined to operation under user number 
  411.      0, but all other features of EZCPR are fully available.]
  412. :                        GUARD PROTECTION OF EZCPR
  413.                          -------------------------
  414.      
  415.      When any CCP,  including EZCPR,  is riding at the Current TPA ceiling, 
  416. it is vulnerable to over-writing by applications and to reloading from disk 
  417. on  the next CP/M restart (either warm or cold boot).   For example,  under 
  418. unmodified CP/M 2.2:
  419.  
  420.           B15>^C
  421.           B>
  422.  
  423. and  CP/M's  attention  is  still at user level  15,  although  it  is  not 
  424. so indicated.
  425.  
  426.           B>user 0
  427.           B>a:
  428.           A>ezcpr up
  429.  
  430. will restore a fresh copy of EZCPR in this case.
  431.  
  432.      The MSW-convention program GUARD is designed specifically to provide a 
  433. barrier above which the CCP is protected from erasure and reloading.   [more]
  434.           A0>guard up
  435.           GUARD> #1.04 84-06-23 USER-ENVIRONMENT PROTECTION
  436.                  CP-MIG edition by Dennis E. Hamilton
  437.  
  438.                   User Interface is via EZCPR at D000.
  439.                   There is no protection.
  440.  
  441.           PREPARING ENVIRONMENT PROTECTOR:
  442.  
  443.           D000 = active CCP to be kept above the RSX.
  444.           CFF4 = SP preserved to insure a way out.
  445.                   226 bytes are needed for the RSX itself.
  446.  
  447.           CF12-CFF3 RELOCATED CODE BLOCK
  448.           CFDD-CFF1   data segment
  449.           CF3B-CFDA   instruction segment
  450.           CF20-CF38   data segment
  451.           CF14-CF1D   instruction segment
  452.  
  453.           D806 = the new second RSX.
  454.           CF18 = the new first RSX.
  455.                                                                    [more ...]
  456.      The  accomplishment  of GUARD is easily confirmed  with  SYSTEM.   The 
  457. significant results involve configuration of memory and the resulting  size 
  458. of TPA:
  459.  
  460.           A0>system
  461.           SYSTEM> . . .
  462.                   D800 BDOS 2.2 base location
  463.                   D000 EZCPR base location
  464.           ===>    CF18 Guardian RSX entry
  465.           ===>         Environment protected via CF18
  466.                        Single-Segment Memory Model
  467.                   CF18 current TPA ceiling
  468.                   . . .
  469.           ===>         52760-byte TPA capacity
  470.                        45332-byte free zone
  471.  
  472.  
  473.      The presence of environment protectors is so significant for operation 
  474. that SYSTEM singles out the location of the particular protector.  The most 
  475. significant result is that CP/M restart no longer involves reloading of the 
  476. CCP.  Continuity of EZCPR operation is secured.
  477.                                                                    [more ...]
  478.      With a Guardian overseeing the retention of EZCPR,
  479.  
  480.           A0>^C
  481.           A0>
  482.  
  483. will reset the system, but CP/M is not reloaded.  (Side benefit: When GUARD 
  484. is  UP,  the disk in drive A must have a valid directory,  but it does  not 
  485. need  a copy of the CP/M system.   You can limit the contents of drive A to 
  486. just those programs needed for your application.)
  487.  
  488.      Guardian RSX provide other information as part of their operation:
  489.  
  490.           A0>guard check
  491.           GUARD> #1.04 84-06-23 USER-ENVIRONMENT PROTECTION
  492.                  CP-MIG edition by Dennis E. Hamilton
  493.  
  494.           User Interface is via EZCPR at D000.
  495.           Protection is via Guardian RSX at CF18.
  496.  
  497.           1 restart has occured since guard raised.
  498.           504 BDOS service requests.
  499.           A0: is the interface's base directory.
  500. :                  WIZ CONTROL OF PRIVILEGED OPERATIONS
  501.                    ------------------------------------
  502.  
  503.      Even though EZCPR is up, and under GUARD protection, it is possible to 
  504. replace  the  current copy by performing another EZCPR  UP  operation.   In 
  505. addition,  GUARD  protection  is  dropped simply by using  the  GUARD  DROP 
  506. option.  (This is what you do, short of rebooting, in order to restart CP/M 
  507. completely.)
  508.  
  509.      In  order  to insure the system against accidental removal of  protec-
  510. tion, the WIZ utility can be used to remove authorization of all operations 
  511. that can change your operating-software configuration:
  512.  
  513.           A0>wiz out
  514.           WIZ> Modified #1.03 84-06-23 WIZARD STATUS
  515.                CP-MIG edition by Dennis E. Hamilton
  516.  
  517.                                   ** The WIZ is OUT **
  518.  
  519.           A0> __ WIZ shows as a "Modified" version because a password
  520.           A0> __ has been added by GENINS for WIZ IN authentification.
  521.                                                                    [more ...]
  522.      Once WIZ is OUT,  all programs that require WIZ privileges in order to 
  523. perform major configuration adjustments will refuse to comply:
  524.  
  525.           A0>guard drop
  526.           GUARD> #1.04 84-06-23 USER-ENVIRONMENT PROTECTION
  527.                  CP-MIG edition by Dennis E. Hamilton
  528.  
  529.              +++  WIZCHEK: WIZ authority needed to try that.
  530.              +++  CCABEND: Attempting System Restart.
  531.  
  532.           A0>
  533.  
  534.      Similarly, EZCPR will not replace an operating EZCPR when WIZ is OUT:
  535.  
  536.           A0>ezcpr up
  537.           EZCPR> #1.09 84-06-26 User Command Interface
  538.                  CP-MIG edition by Dennis E. Hamilton
  539.  
  540.              +++ WIZCHEK: You can't do that here.
  541.              +++ CCABEND: Attempting System Restart.
  542.  
  543.           A0> b1:                                                  [more ...]
  544.      There  is  an  intimate  connection between EZCPR  and  the  privilege 
  545. authorization capabilities of the WIZ utility.   (In fact, there is a rudi-
  546. mentary, build-in WIZ operation that EZCPR uses to notice when WIZ is being 
  547. requested.  If the program is not found, EZCPR sets WIZ OUT on its own.)
  548.  
  549.      EZCPR  monitors  WIZ status so the one remaining  built-in  operation, 
  550. SAVE,  can be controlled.   When WIZ is OUT, EZCPR will FORGET that SAVE is 
  551. built-in, treating SAVE commands just like any other program request:
  552.  
  553.  
  554.           B1>save 0 c3: __ trying to create an empty blank-name file on C3:
  555.           +++ SAVE !?
  556.  
  557.           A0>
  558.  
  559.  
  560. illustrating the response of EZCPR to an unrecognizable command (no program 
  561. found).   With  WIZ IN,  the SAVE request would be handled the same as  for 
  562. CP/M  2.2,  except  that a destination user can be specified along  with  a 
  563. destination drive.  (And if the SAVE were successful, EZCPR attention would 
  564. remain  in B1:  instead of dropping back to A0:  in response to  the  error 
  565. condition.)
  566. :                      STANDARD OPERATING PRACTICES
  567.                        ============================
  568.  
  569.      When  operated without modification,  EZCPR automatically sets up with 
  570. the following arrangement:
  571.  
  572.    * Maximum Drive Specifiable: "D" under CP/M 1.4, "P" in all other cases
  573.  
  574.    * Maximum User Specifiable: 0 under CP/M 1.4, 31 in all other cases
  575.      (User numbers above 15 may not be used for the default base however.)
  576.  
  577.    * WIZ authority is required for EZCPR UP, but no password is needed.
  578.  
  579.    * Initial disk search path:  $$ -> A0  (any specified or default base is 
  580.      searched  first,  then  A0:  is  checked if the program is  still  not 
  581.      found.)
  582.  
  583.    * Initial (latent) command line: "#"
  584.  
  585.    * Initial directory-name table: no entries 
  586.  
  587.    * Initial WIZ status: IN
  588. :                        USING THE CMDRUN FEATURE
  589.                          ------------------------
  590.  
  591.      When  searching for the program to be executed,  each location on  the 
  592. active  search path is examined for a program of the specified  name.   For 
  593. example, with search path $$ -> A0 and command
  594.  
  595.           B7>D:HELP A31:EZCPR
  596.  
  597. EZCPR  first  attempts  to use  D7:HELP.COM.   If  examination  of  D7:  is 
  598. unsuccessful, the next check will be for A0:HELP.COM.  When that fails, the 
  599. request is aborted and EZCPR bails-out to A0:
  600.  
  601.           B7>D:HELP A31:EZCPR
  602.           +++ D:HELP !?
  603.  
  604.           A0>
  605.  
  606.      That description is literally true when there is no program CMDRUN.COM 
  607. anywhere  on the search path.   When there is a CMDRUN.COM program anywhere 
  608. along  the  path,  THAT PROGRAM PREVENTS CONTINUATION OF SEARCH  PAST  THAT 
  609. POINT.  The CMDRUN.COM program will be executed instead.           [more ...]
  610.      The actual rule for CMDRUN usage is to the effect that EZCPR makes two 
  611. command-program searches at the same time, one for 
  612.  
  613.                  B7>D:HELP A31:EZCPR
  614.  
  615. and also         B7>D:CMDRUN D:HELP A31:EZCPR
  616.  
  617.      The  request that is satisfied first will be used,  and command search 
  618. fails only if neither program is found.   (Ties are always won by the  non-
  619. CMDRUN original form.)
  620.  
  621.      This  rule  is quite different than the ones  available  under  ZCPR2.  
  622. However,  you  can get equivalent operation by only placing CMDRUN programs 
  623. at the ends of your search paths, not at any mid- or starting-point disks.
  624.  
  625.      This  EZCPR  CMDRUN  rule supports placement of  barriers  to  program 
  626. "visibility" along the search path.  Having ONLY a CMDRUN at A0 can also be 
  627. used to force expanded error recovery following a bail-out.
  628.  
  629.      Typically,  programs such as MBASIC,  SUBMIT, HELP, and .LBR LRUNZ are 
  630. installed  as CMDRUN processors.   (EZCPR also makes it possible for such a 
  631. program to determine what it was named and the disk it was found on.)
  632. :                       EZCPR CONFIGURATION OPTIONS
  633.                         ---------------------------
  634.  
  635.      The program EZCPR.COM can have its basic configuration options changed 
  636. by  using the ZCPR2 GENINS program.   Of those options which are  available 
  637. for  selection in accordance with the GENINS structure,  only the following 
  638. have any effect:
  639.  
  640.    * Internal Path Data,  if provided, will be used to set the initial path 
  641.      in EZCPR
  642.  
  643.    * Max  Disk  and Max User values can be used to  restrict  the  explicit 
  644.      specification of disk locations in command-line file references
  645.  
  646.    * The  Privileged User Password can be used to require  a  password,  IN 
  647.      ADDITION TO WIZ authority, before EZCPR UP will operate.
  648.   
  649.    * Any non-null WHEEL Byte Location will be consulted to determine if WIZ 
  650.      is IN when EZCPR is not already operating.  This lets WHEEL be used to 
  651.      prevent unauthorized replacement of ZCPR2 by EZCPR.
  652.  
  653.                                              [next: Internal Path Processing]
  654.                          Internal Path Processing
  655.                          ------------------------
  656.  
  657.      If no Internal Path is specified in the GENINS parameters, the default 
  658. path of $$ -> A0 will be used.
  659.  
  660.      If an Internal Path is present,  it will be incorporated in the  EZCPR 
  661. Disk Search Path whenever EZCPR is loaded from this copy of the program.
  662.  
  663.      Even  though there are other restrictions placed on the drive  letters 
  664. and user numbers which can be used,  those restrictions DO NOT APPLY TO THE 
  665. INTERNAL  SEARCH PATH.   That is,  the search path can lead to  directories 
  666. that operators are not allowed to specify directly.
  667.  
  668.      The above special capability,  along with the CMDRUN rule, can be used 
  669. to  obtain  quite  flexible location of programs on  behalf  of  particular 
  670. applications.   In  addition,  the  EZCPR search procedure works  the  same 
  671. whether or not a disk directory is explicitly named in the command or  not.  
  672. The base directory (used as $$) is either the one specified or,  if none is 
  673. given,  is the directory currently logged as the CP/M default.   Resolution 
  674. of disk search-path locations proceeds from that point.
  675.                                          [next: Limiting the Available Disks]  
  676.                          Limiting Available Disks
  677.                          ------------------------
  678.  
  679.      Every time that EZCPR is initiated,  it sets its internal  limitations 
  680. on  Max  Disk  and Max User based on the version of CP/M that  is  running.  
  681. (Recall that CP/M 1.4 systems are restricted to disks A-D and user 0.)
  682.  
  683.      You  can  further  restrict  the explicit specification  of  disks  by 
  684. providing even smaller values in the GENINS Max Disk and Max User values.
  685.  
  686.      The  only  reason  to lower the Max User value is  to  provide  secure 
  687. directories that can only be reached by search path and special programs.
  688.  
  689.      It  can also be valuable to lower the Max Disk value to  include  only 
  690. those  logical  drives  actually present on your system.   This  will  help 
  691. prevent  BDOS  Select  Error reports and can  be  especially  helpful  when 
  692. operating an RCP/M system.
  693.  
  694.      Note  that  the limitation on Max Disk and Max User does not apply  to 
  695. search paths and it is possible for a program to log EZCPR onto a directory 
  696. that can't be specifically named in a command line!   The Max values  apply 
  697. to the conversion of ALL file references parsed by EZCPR, though.  
  698. :                             ERROR RECOVERY
  699.                               --------------
  700.  
  701.      EZCPR  is  designed to support automatic and unattended  operation  of 
  702. CP/M systems.   It is important,  in such settings, to have failures always 
  703. take  the  system  into a predictable state so that recovery  measures  can 
  704. operate in a reliable way.
  705.  
  706.      For  EZCPR,  any  failure which requires conclusion  that  assumptions 
  707. about  the state of the system no longer hold will also cause  SYSTEM  BAIL 
  708. OUT.  Bail out consists of the following steps:
  709.  
  710.  
  711.    * The disk system is reset.
  712.  
  713.    * If there is an A0:$$$.SUB file, it is erased.
  714.  
  715.    * Any commands stacked in the multiple-command buffer are discarded.
  716.  
  717.    * The base default disk is set to A0, and operation continues from A0>.
  718.  
  719.                                           [next: Errors Which Force Bail Out]
  720.                         Errors Which Force Bail Out
  721.                         ---------------------------
  722.  
  723.      EZCPR keeps track of when it is running and when it is idle.  EZCPR is 
  724. idle only when
  725.  
  726.    * EZCPR has just been loaded and not done anything yet
  727.    * EZCPR is waiting for input from the operator CON: interface
  728.    * A   transient  program  has  been  successfully  loaded  and   control 
  729.      transferred  to it.   EZCPR remains idle until the transient  requests 
  730.      bail  out or EZCPR regains control through CP/M reset or  application-
  731.      program return.
  732.  
  733. In  all  other cases,  EZCPR is considered to be running.   When  EZCPR  is 
  734. running, bail out is provoked by
  735.    * Any disk error in the attempted processing of an active SUBMIT file.
  736.    * Any  error in the form of file-reference expressions actually used  by 
  737.      EZCPR. (References passed to applications are not taken so seriously.)
  738.    * Any CP/M restart of an already-running EZCPR (e.g., disk error)
  739.    * Failure to find and successfully load the requested program 
  740.    * Failure to successfully record a file during authorized SAVE operation
  741.    * Any input at CON: noticed before starting the current command
  742. :                            SUBMIT PROCEDURES
  743.                              -----------------
  744.  
  745.      EZCPR  has  special  rules that apply to the design and  operation  of 
  746. SUBMIT procedures:
  747.  
  748.    * Any  time  that EZCPR performs a disk reset and an A0:$$$.SUB file  is 
  749.      present,  that file immediately becomes the source of further  command 
  750.      lines.  (It must be in standard SUBMIT output format.)
  751.  
  752.    * Until  A0:$$$.SUB  is consumed,  or there is an  intervening  bailout, 
  753.      additional  command  lines  are  always  taken  from  the  .SUB  file, 
  754.      REGARDLESS OF WHERE THE DEFAULT LOGGED DISK MIGHT BE.   That is, A0 is 
  755.      used for active submit commands even when the base disk is not A0:
  756.  
  757.    * When no A0:$$$.SUB is active,  EZCPR will not notice the creation of a 
  758.      new one until the next disk reset.   (This is usually taken care of by 
  759.      the SUBMIT processor's exit via CP/M reset request.)
  760.  
  761.    * Remember  that  command lines in SUBMIT procedures may not exceed  125 
  762.      characters, and there may not be more than 128 lines in a $$$.SUB.
  763. :
  764. :
  765. : EZINST.HLP 1.00 created by Dennis E. Hamilton on 1984 June 28.
  766. important,  in such