ZCPR2 Feature-Specific Utilities Initialization Routines ZCPRQ Status Routine Multiple Command Line Pointer Routine Path-Oriented File Search Routine File Status Routine :Introduction Thió modulå containó á serieó oæ routineó whicè arå designeä tï  allo÷ thå programmeò tï takå advantagå oæ keù ZCPR²  Featureó withouô doinç á loô oæ programminç foò himself®  Iî  particular¬ facilitieó sucè aó thå followinç arå provided: ® Initializatioî -- Settinç thå locatioî oæ the multiple command line buffer . Initialization -- Defining the location of a command search path . Initialization -- Setting the current disk/user character definition . Initialization -- Setting all ZCPR2-Specific buffers from the standard utility buffers . Utility -- Returning a pointer to the first byte of the next command . Utility -- Searching for a file along the command search path . Utility -- Determining the attributes of a file :Initialization Routines Routine Name: ZINIMC Functionº ZINIMÃ defineó thå baså addresó oæ thå multiplå commanä linå  buffeò foò thå ZCPR² system®  Thå initializatioî performeä bù  thió  routinå  ió useä bù thå ZMCPTÒ routinå  tï  returî  thå pointer to the first character of the next command. Inputs: HL = base address of multiple command line buffer Outputs: None Registers Affected: None SYSLIB Routines Called: None Speciaì  Erroò Conditionsº None Noteº  Iæ  thió routinå ió noô called¬  iô ió assumeä  thaô multiple command lines are not supported. Routine Name: ZINIEXT Functionº ZINIEXÔ  defineó thå baså addresó oæ á  commanä  searcè path®  Thå  ZPFINÄ  routinå useó thió baså addresó tï starô  itó searcè foò á file®  Notå thaô thió provideó addeä flexibilitù iî thaô  thió neeä noô necessarilù bå thå baså addresó oæ thå  ZCPR² Systeí commanä searcè path¬ buô iô maù bå thå baså addresó oæ anù path (such as a separate path to look for HLP files). Inputs: HL = base address of path Outputs: None Registers Affected: None SYSLIB Routines Called: None Speciaì  Erroò Conditionsº None Noteº  Iæ  thió  routinå ió noô called¬  thå externaì  patè defaultó tï aî emptù path¬  sï nï harí ió donå anä nï searcè  caî bå performed. Routine Name: ZCPRSET Functionº ZCPRSEÔ  performó  twï  functionó  -- iô  defineó   thå characteò useä tï specifù thå currenô disë oò useò (defaulô valuå ió  $© anä iô setó thå DMÁ addresó foò disë filå transferó  (useä bù  ZFSTAT)®  Iæ  thió routinå ió noô called¬  theî thå  currenô indicator is defaulted to $ and the DMA address is set to 80H. Inputs: A = Current Indicator, HL = DMA Address Outputs: None Registers Affected: None SYSLIB Routines Called: None Speciaì  Erroò Conditionsº None Noteº  Iæ  thió  routinå ió noô called¬  Currenô  Indicatoò defaults to $ and DMA Address defaults to 80H. Routine Name: ZGPINS Functionº ZGPINÓ  initializeó thå ZCPR2-Specifiã Bufferó froí thå ZCPR²  Utilitù Standarä General-Purposå Installatioî Formaô  Buf fers®  Thió ió tï bå useä bù ZCPR² Utilities¬  sucè aó XDIR3¬ tï completelù initializå alì thå necessarù buffers. Thå bufferó iî thå utilitieó arå locateä aó indicateä iî thå ZCPR² Utilitieó Manual. Inputs: None Outputs: None Registers Affected: None SYSLIB Routines Called: MOVEB, ZINIMC, ZINIEXT, ZCPRSET, ZFNINIT Speciaì  Erroò Conditionsº None :ZCPRQ Status Routine Routine Name: ZCPRQ Functionº ZCPRÑ  querieó thå statuó oæ thå  SZCPÒ  module¬  whicè contains these routines. On exit, this routine returns: HL = Base Address of External Path DE = Base Address of Multiple Command Buffer A = Multiple Command Available Flag (0=No) Inputs: None Outputs: HL = Base Address of External Path DE = Base Address of Multiple Command Buffer A = Multiple Command Available Flag (0=No) Registers Affected: HL, DE, A SYSLIB Routines Called: None Speciaì  Erroò Conditionsº None :Multiple Command Line Pointer Routine Routine Name: ZMCPTR Functionº ZMCPTÒ  returnó á pointeò tï thå nexô characteò iî  thå multiplå commanä linå iæ multiplå commandó arå enabled®  Á  flaç is returned which says if multiple commands are enabled or not. Inputs: None Outputs: HL pts to next char in line A=0 and Zero Flag Set (Z) if multiple commands are not available; NZ otherwise Registers Affected: HL, PSW SYSLIB Routines Called: None Speciaì  Erroò Conditionsº None :Path-Oriented File Search Routine Routine Name: ZPFIND Functionº ZPFINÄ  searcheó  foò á filå alonç thå  commanä  searcè patè  whoså  baså addresó waó defineä wheî thå programmeò  calleä ŠZINIEXT®  Iô  logó intï eacè disë anä useò areá alonç thå  path¬ lookinç foò thå filå whoså FCÂ ió pteä tï bù DE¬  untiì iô eitheò findó  thå filå oò reacheó thå enä oæ thå patè (filå noô  found)® Iæ thå filå ió found¬  iô returnó thå disë anä useò areá iî whicè thå filå resides®  ZPFINÄ alwayó returnó thå procesó tï thå disë and user area it is "currently" logged into. Inputs: DE pts to the FCB of the file to find B is a flag; if B <> 0, search the current disk and user area first; if B=0, do not search the current disk and user area first ZPFIND, Con't Outputs: Zero Flag Clear (NZ) and A=0FFH if file found B = Disk (B=0 if Disk A), C=User if file found Zero Flag Set (Z) and A=0 if file not found Registers Affected: BC, PSW SYSLIB Routines Called: BDOS Speciaì  Erroò Conditionsº None :File Status Routine Routine Name: ZFSTAT Functionº ZFSTAÔ  determineó  thå attributeó oæ thå filå  iî  thå currenô disë anä useò areá whoså FCÂ ió pteä tï bù DE®  Iô telló the programmer if the file is SYSTEM or not and READ/ONLY or not. Inputs: DE pts to FCB of file Outputs: B=0 means file is NOT System, B<>0 means file is C=0 means file is NOT R/O, C<>0 means file is Zerï Flaç Seô (Z© anä A=° iæ filå founä anä BC valid, and Zero Flag Clear (NZ) if file not found Registers Affected: BC, PSW SYSLIB Routines Called: BDOS Speciaì  Erroò Conditionsº None Note: ZFSTAT does NOT do a search.