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
/
ZCPR33
/
Z3-33
/
Z33LIB05.LBR
/
Z33LIB05.DZC
/
Z33LIB05.DOC
Wrap
Text File
|
2000-06-30
|
8KB
|
241 lines
; This is a collection of the module headers from the source code for the
; Z33LIB routines that have been written to date. For the time being, they
; will have to serve as the documentation for Z33LIB. Z33LIB will probably
; be released as a commercial product at a later date. This version is
; provided for educational and guidance purposes.
;
; Version 0.5 corrects an error in the HIGHUSER routine. There are no
; other functional changes.
;
; Jay Sage and
; Howard Goldstein
; October 24, 1987
; FCB1CHK
;
; This routine checks the first default file control block to see if the token
; parsed there was a valid file specification. If there was an error
; (signalled by a nonzero value in the record-count byte), then this routine
; returns NZ and register A nonzero. A zero value and Z flag signals a valid
; FCB.
; FCB2CHK
;
; This routine checks the second default file control block to see if the token
; parsed there was a valid file specification. If there was an error
; (signalled by a nonzero value in the record-count byte), then this routine
; returns NZ and register A nonzero. A zero value and Z flag signals a valid
; FCB.
; FCBCHK
;
; This routine checks the file control block pointed to by DE to see if it
; contains a validly parsed file specification. ZCPR33 sets the record-count
; byte to a nonzero value if there was an error in resolving the file spec.
; If the FCB is valid, this routine returns Z and A=0. No other registers are
; affected.
; GCMDDU
;
; This routine examines the external commmand file control block to determine
; the directory (drive/user) in which the file was located during the path
; search. The values are returned in the BC register pair, with the drive in
; B being in the range 0..15. No other registers are affected.
; GDEFDU
;
; This routine gets the values of the current default (logged) drive/user area
; into BC by reading the CURDR and CURUSR bytes in the message buffer. No
; registers other than BC are affected.
; GETCCP
; This routine calculates the starting address of the CCP based on the BIOS
; warmboot vector. The result is returned in HL. No other registers are
; affected.
; GETECP
; This routine locates the name of the ECP in the command processor and returns
; its address in HL. All other registers are preserved.
; GETER1
;
; This routine supercedes the same routine in Z3LIB. It examines the error
; command line to determine if an error command is present or not. If none
; is present, A=0 and the Z flag is set. If an error command line is present,
; then A<>0, and NZ is returned. No other register is affected.
; GETER3
;
; This routine returns the value of the command error flag in register A and
; sets the flags accordingly. No other registers are affected.
; GETSFCB
; This routine locates the submit FCB in the command processor and returns
; its address in DE. If SUBMIT is not enabled or if ZCPR33 is not in memory,
; then the routine returns with the Z flag set. All other registers are
; preserved.
; GETSRUN
; This routine determines whether or not a SUBMIT job is currently running.
; If one is, the routine returns NZ. Only register AF is affected.
; GETSUB
; This routine gets the XSUB input redirection flag into the A register. No
; other registers are affected.
; HALTSUB
; This routine stops a submit job by deleting the $$$.SUB file. It uses the
; submit FCB in the command processor so that it adapts automatically to the
; correct drive and file name and type. No registers are affected.
; HIGHUSER
;
; This routine tests to see whether or not the command processor supports
; user numbers above 15. If ZCPR33 is not running or if high user support
; is disabled, then HIGHUSER returns with the zero flag set. No registers
; except AF are affected.
; PARSE2
;
; This routine calls the REPARSE entry point in the command processor to
; reparse the command line pointed to by HL. It is the user's responsibility
; to be sure that the command processor has not been overwritten in memory.
; No registers are changed. The two default file control blocks are filled.
; PDEFDU
;
; This routine puts the drive/user values in BC into the CURDR and CURUSR bytes
; in the message buffer, making that directory the default directory. No
; registers are affected.
; PUTER1
;
; This routine supercedes the same routine in Z3LIB, and its purpose is to
; disable the function. In ZCPR33 there is no way to turn external error
; handling on and off other than loading or clearing the error command line.
; The flag formerly used for this purpose is now used for the command error
; flag, which indicates the kind of command error that was detected. This
; replacement routine does nothing
; PUTER3
;
; This routine stores the value in register A into the command error flag. No
; registers are affected.
; PUTERC
;
; This routine supercedes the same routine in Z3LIB and differs only in that
; it limits the length of the error command line to 28 bytes, since the four
; bytes at the end of the command line space have been assigned other purposes.
; On entry, HL points to a null-terminated command string. This string is
; copied to the error command line, if it will fit. If it will not fit, then
; the error command line is cleared, and on return A=0 and the Z flag is set.
; On exit, HL points to the character in the new command line just after the
; last one copied. Other registers are preserved.
; PUTSUB
; This routine stores the contents of the A register into the XSUB input
; redirection flag. No registers are affected.
; QERROR
; This routine returns Z if the command status flag in the message buffer has
; the error bit set. Only register AF is affected.
; REPARSE
;
; This routine calls the REPARSE entry point in the command processor to
; reparse the command line starting one token later. It is the user's
; responsibility to be sure that the command processor has not been overwritten
; in memory. No registers are changed. The two default file control blocks
; are filled.
; RESEPB
;
; This routine reress the external program bit in the command status flag.
; No registers are affected.
; RETCST
;
; This routine returns the address of the command status flag in HL.
; None of the other registers is affected.
; SCAN
;
; This routine first initializes the FCB pointed to by DE and then calls the
; SCAN entry point in the command processor to parse a single token pointed to
; by HL into it. It is the user's responsibility to be sure that the command
; processor has not been overwritten in memory. No registers are changed.
; SETEPB
;
; This routine sets the external program bit in the command status flag.
; No registers are affected.
; STOPXSUB
; This routine resets the XSUB input redirection flag in the message buffer.
; No registers are affected.
; SUBON
; This routine tests to see if SUBMIT processing is enabled in the command
; processor. If so, it returns NZ. It will return Z if SUBMIT is not enabled
; or if the ZCPR33 command processor cannot be detected. Only register AF
; is affected.
; Z33CHK
; This routine checks to see that the version of the CCP that is running is
; version 3.X. Two tests must be passed. First, the version byte must be
; 3xH. Secondly, the byte at offset 3 must be a relative jump instruction
; (opcode 18H). If both tests pass, the routine returns with the zero flag
; set (Z). Otherwise the flag is reset (NZ).
; Z33FNAME
;
; This routine first initializes the FCB pointed to by DE and then calls the
; SCAN entry point in the command processor to parse a single token pointed to
; by HL into it. It is the user's responsibility to be sure that the command
; processor has not been overwritten in memory. The routine returns with HL
; pointing to the character the delimited the token. Valid delimiters are
; space, comma, semicolon, equals, greater than, less than, underscore or any
; control character less than space. No other registers are affected.