home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol098
/
syslib9.hlp
< prev
next >
Wrap
Text File
|
1985-02-09
|
8KB
|
198 lines
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 DMA address
. 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
« Utilit∙ -- Returninτ ß Pointe≥ t∩ thi≤ Module'≤
buffers
: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: ZINIDMA
Function║
ZINIDM┴ define≤ thσ DM┴ addres≤ t∩ bσ useΣ b∙ thσ ZCPR▓ ì
routines. If this routine is not called, 80H is assumed.
Inputs: HL = DMA Address
Outputs: None
Registers Affected: None
SYSLIB Routines Called: None
Specia∞á Erro≥ Conditions║ None
Note║á Iµ thi≤ routinσ i≤ no⌠ called¼á DM┴ Addres≤ default≤ ì
t∩ 80H.
Routine Name: ZINICI
Function║
ZINIC╔á define≤á thσ curren⌠ user/disδ indicato≥ t∩á bσ ì
useΣ b∙ thσ ZCPR▓ routines«á Iµ thi≤ routinσ i≤ no⌠ called¼á '$º ì
i≤ assumed.
Inputs: A = Indicator
Outputs: None
Registers Affected: None
SYSLIB Routines Called: None
Specia∞á Erro≥ Conditions║ None
Note║á Iµá thi≤á routinσá i≤á no⌠á called¼á thi≤á indicato≥ ì
defaults to the character '$'.
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, ZINIDMA,
ZINICI, ZFNINIT
Specia∞á Erro≥ Conditions║ None
:ZCPRQ Status Routine
Routine Name: ZCPRQ
Function║
Thi≤ routinσ return≤ ß pointe≥ t∩ thσ firs⌠ bytσ oµ thσ ì
firs⌠ ZCPR▓ module≤ interna∞ buffers«á Thesσ buffer≤ contaiε ke∙ ì
informatioεá necessar∙á fo≥ thσ prope≥ operatioε oµ thi≤á se⌠á oµ ì
ZCPR2 routines. The structure of this buffer area is:
Byte 0: Multiple Command Flag; 0 says no multiple
command line buffer is available (No
command line is assumed)
Bytes 1-2: Address of Multiple Command Line
Buffer if it is available
Bytes 3-4: Address of ZCPR2 External Path
(Points to an empty path if not
initialized)
Byte 5: Current User/Disk Indicator ($ if not
initialized)
Bytes 6-7: DMA Address (80H assumed)
Inputs: None
Outputs: HL = Base Address of Internal Buffers
Registers Affected: HL
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.