home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol098 / syslib9.hlp < prev    next >
Text File  |  1985-02-09  |  8KB  |  198 lines

  1. ZCPR2 Feature-Specific Utilities
  2. Initialization Routines
  3. ZCPRQ Status Routine
  4. Multiple Command Line Pointer Routine
  5. Path-Oriented File Search Routine
  6. File Status Routine
  7. :Introduction
  8.      Thi≤ modulσ contain≤ ß serie≤ oµ routine≤ whicΦ arσ designeΣ ì
  9. t∩á allo≈ thσ programme≥ t∩ takσ advantagσ oµ ke∙ ZCPR▓á Feature≤ ì
  10. withou⌠ doinτ ß lo⌠ oµ programminτ fo≥ himself«á  Iεá particular¼ ì
  11. facilitie≤ sucΦ a≤ thσ followinτ arσ provided:
  12.           «  Initializatioε -- Settinτ thσ locatioε oµ the
  13.                     multiple command line buffer
  14.           .  Initialization -- Defining the location of a command
  15.                     search path
  16.           .  Initialization -- Setting the current DMA address
  17.           .  Initialization -- Setting the current disk/user
  18.                     character definition
  19.           .  Initialization -- Setting all ZCPR2-Specific buffers
  20.                     from the standard utility buffers
  21.           .  Utility -- Returning a pointer to the first byte
  22.                     of the next command
  23.           .  Utility -- Searching for a file along the command
  24.                     search path
  25.           .  Utility -- Determining the attributes of a file
  26.           «  Utilit∙ -- Returninτ ß Pointe≥ t∩ thi≤ Module'≤ 
  27.                     buffers
  28. :Initialization Routines
  29.  
  30.      Routine Name:  ZINIMC
  31.      Function║
  32.           ZINIM├ define≤ thσ basσ addres≤ oµ thσ multiplσ commanΣ ì
  33. linσá buffe≥ fo≥ thσ ZCPR▓ system«á  Thσ initializatioε performeΣ ì
  34. b∙á thi≤á routinσá i≤ useΣ b∙ thσ ZMCPT╥ routinσá t∩á returεá thσ ì
  35. pointer to the first character of the next command.
  36.      Inputs:  HL = base address of multiple command line buffer
  37.      Outputs:  None
  38.      Registers Affected:  None
  39.      SYSLIB Routines Called:  None
  40.      Specia∞á Erro≥ Conditions║  None
  41.      Note║á  Iµá thi≤ routinσ i≤ no⌠ called¼á i⌠ i≤ assumeΣá tha⌠ ì
  42. multiple command lines are not supported.
  43.  
  44.  
  45.      Routine Name:  ZINIEXT
  46.      Function║
  47.           ZINIEX╘á define≤ thσ basσ addres≤ oµ ßá commanΣá searcΦ ì
  48. path«á  Thσá ZPFIN─á routinσ use≤ thi≤ basσ addres≤ t∩ star⌠á it≤ ì
  49. searcΦ fo≥ ß file«á  Notσ tha⌠ thi≤ provide≤ addeΣ flexibilit∙ iε ì
  50. tha⌠á thi≤ neeΣ no⌠ necessaril∙ bσ thσ basσ addres≤ oµ thσá ZCPR▓ ì
  51. Systeφ commanΣ searcΦ path¼ bu⌠ i⌠ ma∙ bσ thσ basσ addres≤ oµ an∙ ì
  52. path (such as a separate path to look for HLP files).
  53.      Inputs:  HL = base address of path
  54.      Outputs:  None
  55.      Registers Affected:  None
  56.      SYSLIB Routines Called:  None
  57.      Specia∞á Erro≥ Conditions║  None
  58.      Note║á  Iµá thi≤á routinσ i≤ no⌠ called¼á thσ externa∞á patΦ ì
  59. default≤ t∩ aε empt∙ path¼á s∩ n∩ harφ i≤ donσ anΣ n∩ searcΦá caε ì
  60. bσ performed.
  61.  
  62.  
  63.      Routine Name:  ZINIDMA
  64.      Function║
  65.           ZINIDM┴ define≤ thσ DM┴ addres≤ t∩ bσ useΣ b∙ thσ ZCPR▓ ì
  66. routines.  If this routine is not called, 80H is assumed.
  67.      Inputs:  HL = DMA Address
  68.      Outputs:  None
  69.      Registers Affected:  None
  70.      SYSLIB Routines Called:  None
  71.      Specia∞á Erro≥ Conditions║  None
  72.      Note║á  Iµ thi≤ routinσ i≤ no⌠ called¼á DM┴ Addres≤ default≤ ì
  73. t∩ 80H.
  74.  
  75.  
  76.      Routine Name:  ZINICI
  77.      Function║
  78.           ZINIC╔á define≤á thσ curren⌠ user/disδ indicato≥ t∩á bσ ì
  79. useΣ b∙ thσ ZCPR▓ routines«á  Iµ thi≤ routinσ i≤ no⌠ called¼á '$º ì
  80. i≤ assumed.
  81.      Inputs:  A = Indicator
  82.      Outputs:  None
  83.      Registers Affected:  None
  84.      SYSLIB Routines Called:  None
  85.      Specia∞á Erro≥ Conditions║  None
  86.      Note║á  Iµá thi≤á routinσá i≤á no⌠á called¼á thi≤á indicato≥ ì
  87. defaults to the character '$'.
  88.  
  89.  
  90.      Routine Name:  ZGPINS
  91.      Function║
  92.           ZGPIN╙á initialize≤ thσ ZCPR2-Specifiπ Buffer≤ froφ thσ ì
  93. ZCPR▓á Utilit∙ StandarΣ General-Purposσ Installatioε Forma⌠á Buf-ì
  94. fers«á  Thi≤ i≤ t∩ bσ useΣ b∙ ZCPR▓ Utilities¼á sucΦ a≤ XDIR3¼ t∩ ì
  95. completel∙ initializσ al∞ thσ necessar∙ buffers.
  96.      Thσ buffer≤ iε thσ utilitie≤ arσ locateΣ a≤ indicateΣ iε thσ ì
  97. ZCPR▓ Utilitie≤ Manual.
  98.  
  99.      Inputs:  None
  100.      Outputs:  None
  101.      Registers Affected:  None
  102.      SYSLIB Routines Called:  MOVEB, ZINIMC, ZINIEXT, ZINIDMA,
  103.                               ZINICI, ZFNINIT
  104.      Specia∞á Erro≥ Conditions║  None
  105.  
  106. :ZCPRQ Status Routine
  107.  
  108.      Routine Name:  ZCPRQ
  109.      Function║
  110.           Thi≤ routinσ return≤ ß pointe≥ t∩ thσ firs⌠ bytσ oµ thσ ì
  111. firs⌠ ZCPR▓ module≤ interna∞ buffers«á  Thesσ buffer≤ contaiε ke∙ ì
  112. informatioεá necessar∙á fo≥ thσ prope≥ operatioε oµ thi≤á se⌠á oµ ì
  113. ZCPR2 routines.  The structure of this buffer area is:
  114.                Byte 0:  Multiple Command Flag; 0 says no multiple
  115.                          command line buffer is available (No
  116.                          command line is assumed)
  117.                Bytes 1-2:  Address of Multiple Command Line
  118.                          Buffer if it is available
  119.                Bytes 3-4:  Address of ZCPR2 External Path
  120.                          (Points to an empty path if not
  121.                          initialized)
  122.                Byte 5:  Current User/Disk Indicator ($ if not
  123.                          initialized)
  124.                Bytes 6-7:  DMA Address (80H assumed)
  125.  
  126.      Inputs:  None
  127.      Outputs:  HL = Base Address of Internal Buffers
  128.      Registers Affected:  HL
  129.      SYSLIB Routines Called:  None
  130.      Specia∞á Erro≥ Conditions║  None
  131.  
  132. :Multiple Command Line Pointer Routine
  133.  
  134.      Routine Name:  ZMCPTR
  135.      Function║
  136.           ZMCPT╥á return≤ ß pointe≥ t∩ thσ nex⌠ characte≥ iεá thσ ì
  137. multiplσ commanΣ linσ iµ multiplσ command≤ arσ enabled«á  ┴á flaτ ì
  138. is returned which says if multiple commands are enabled or not.
  139.      Inputs:  None
  140.      Outputs:  HL pts to next char in line
  141.                A=0 and Zero Flag Set (Z) if multiple commands
  142.                     are not available; NZ otherwise
  143.      Registers Affected:  HL, PSW
  144.      SYSLIB Routines Called:  None
  145.      Specia∞á Erro≥ Conditions║  None
  146.  
  147. :Path-Oriented File Search Routine
  148.  
  149.      Routine Name:  ZPFIND
  150.      Function║
  151.           ZPFIN─á searche≤á fo≥ ß filσ alonτ thσá commanΣá searcΦ ì
  152. patΦá whosσá basσ addres≤ wa≤ defineΣ wheε thσ programme≥á calleΣ ì
  153. ZINIEXT«á  I⌠á log≤ int∩ eacΦ disδ anΣ use≥ areß alonτ thσá path¼ ì
  154. lookinτ fo≥ thσ filσ whosσ FC┬ i≤ pteΣ t∩ b∙ DE¼á unti∞ i⌠ eithe≥ ì
  155. find≤á thσ filσ o≥ reache≤ thσ enΣ oµ thσ patΦ (filσ no⌠á found)«  ì
  156. Iµ thσ filσ i≤ found¼á i⌠ return≤ thσ disδ anΣ use≥ areß iε whicΦ ì
  157. thσ filσ resides«á  ZPFIN─ alway≤ return≤ thσ proces≤ t∩ thσ disδ ì
  158. and user area it is "currently" logged into.
  159.  
  160.      Inputs:  DE pts to the FCB of the file to find
  161.               B is a flag; if B <> 0, search the current disk and
  162.                     user area first; if B=0, do not search the
  163.                     current disk and user area first
  164.  
  165.  
  166. ZPFIND, Con't
  167.  
  168.      Outputs:  Zero Flag Clear (NZ) and A=0FFH if file found
  169.                B = Disk (B=0 if Disk A), C=User if file found
  170.                Zero Flag Set (Z) and A=0 if file not found
  171.  
  172.      Registers Affected:  BC, PSW
  173.  
  174.      SYSLIB Routines Called:  BDOS
  175.  
  176.      Specia∞á Erro≥ Conditions║  None
  177.  
  178. :File Status Routine
  179.  
  180.      Routine Name:  ZFSTAT
  181.      Function║
  182.           ZFSTA╘á determine≤á thσ attribute≤ oµ thσ filσá iεá thσ ì
  183. curren⌠ disδ anΣ use≥ areß whosσ FC┬ i≤ pteΣ t∩ b∙ DE«á  I⌠ tell≤ ì
  184. the programmer if the file is SYSTEM or not and READ/ONLY or not.
  185.      Inputs:  DE pts to FCB of file
  186.      Outputs:  B=0 means file is NOT System, B<>0 means file is
  187.                C=0 means file is NOT R/O, C<>0 means file is
  188.                Zer∩ Flaτ Se⌠ (Z⌐ anΣ A=░ iµ filσ founΣ anΣ BC
  189.                     valid, and Zero Flag Clear (NZ) if file not
  190.                     found
  191.      Registers Affected:  BC, PSW
  192.      SYSLIB Routines Called:  BDOS
  193.      Specia∞á Erro≥ Conditions║  None
  194.      Note:  ZFSTAT does NOT do a search.
  195.  
  196.  
  197.  
  198.