; SYSTEM SEGMENT: SYS1.FCP ; SYSTEM: ZCPR3 ; CUSTOMIZED BY: RICHARD CONN ; ; PROGRAM HEADER: SYSFCP.LIB ; AUTHOR: RICHARD CONN ; ; ; This program header defines the IF Conditions to be placed ; into the target SYS.FCP file (generated by assembling SYSFCP.ASM). ; ; ; 1. IF NEGATION ; ; The following equate determines if leading negation is to be ; allowed. If this equate is TRUE, then forms like the following are ; permitted: ; IF ~EXIST filename.typ ; ; meaning to complement the meaning of the test (the above returns TRUE ; if filename.typ does NOT exist). ; IFONEG EQU TRUE ; ; Assuming IFONEG to be TRUE, the following equate defines the ; character to be placed in front of the IF option to indicate that ; negation is to be performed. In the above example, this character ; was tilde (~). ; NEGCHAR EQU '~' ; ; 2. IF: T (TRUE) or F (FALSE) ; ; Setting the following equate to TRUE enables the simple T and F ; options to IF. The format of this option is: ; ; IF T or IF F ; ; and it always returns TRUE or FALSE, resp. ; IFOTRUE EQU FALSE ; ; 3. IF: EM (EMPTY) ; ; Setting the following equate to TRUE enables IF to test to see if ; the indicated file is empty or not. The format of this option is: ; ; IF EM dir:filename.typ ; ; and it returns TRUE if the indicated file does not exist or is empty. ; IFOEMPTY EQU FALSE ; ; 4. IF: ER (ERROR) ; ; Setting the following equate to TRUE enables IF to test the error ; code byte (program error code byte). If this byte is 0 (no error), it ; returns TRUE, else it returns FALSE. The format of this option is: ; ; IF ER ; IFOERROR EQU TRUE ; ; 5. IF: EX (EXIST) ; ; Setting the following equate to TRUE enables IF to test for the ; existence of a file. The format of this option is: ; ; IF EX dir:filename.typ ; ; and it returns TRUE if the indicated file exists. ; IFOEXIST EQU TRUE ; ; 6. IF: IN (INPUT) ; ; Setting the following equate to TRUE enables user input of the ; character T (or any other character for FALSE). ZEX processing is ; suspended for this single-character input. The format of this option is: ; ; IF IN ; ; and the IF FCP command responds with: ; ; IF True? ; ; to which the user types T, Y, SPACE, or CR to set the IF to TRUE and ; anything else to set the IF to FALSE. ; IFOINPUT EQU TRUE ; ; 7. IF: NU (NULL) ; ; Setting the following equate to TRUE enables IF to test to see if ; the second argument which follows is NULL (not specified) or not. This ; test is particularly useful in command file processing to see if, for ; example, argument $2 exists and to include it if it does. The format of ; this option is: ; ; IF NU ; or: ; IF NU arg ; ; If the first format is encountered, IF NU returns TRUE; IF NU returns ; FALSE with the second format. ; IFONULL EQU TRUE ; ; 8. IF: n (Register Value) ; ; Setting the following equate to TRUE enables IF to test to see if ; the indicated register contains the indicated value. If this is preceeded ; by the NEGCHAR and IFONEG is TRUE, then this tests to see if the indicated ; register does not contain the indicated value. Registers are one-byte ; memory buffers, and are identified by the digits 0 to 9. The format of ; this option is: ; ; IF n val ; ; Example: ; IF 0 -- if Reg 0 = 0 ; IF 0 5 -- if Reg 0 = 5 ; IF 5 2 -- if Reg 5 = 2 ; IF ~0 -- if Reg 0 <> 0 ; IF ~9 2 -- if Reg 9 <> 2 ; IFOREG EQU TRUE ; ; 9. IF: WH (WHEEL) ; ; Setting the following equate to TRUE enables IF to test to see if ; the Wheel Byte is set or not. If so, IF WHEEL is TRUE. ; IFOWHEEL EQU FALSE ; ; 10. IF: TC (TCAP) ; ; Setting the following equate to TRUE enables IF to test to see if ; the ZCPR3 TCAP contains a terminal definition or not. This test is ; particularly useful in command file or alias processing to see if, for ; example, a Z3TCAP entry is defined and to invoke screen-oriented routines ; if it is. The format of this option is: ; ; IF TC ; IFOTCAP EQU FALSE ; ; 11. IF: fcb1=fcb2 ; ; Setting this equate to TRUE will enable IF to evaluate the ; equality condition, checking to see if the two FCBs contain the same ; values. If so, the IF is TRUE; if not, the IF is FALSE. ; ; Enabling this equate eliminates the need for the NULL test, since ; a NULL test can be performed by using the syntax: ; IF fcb1= ; IFOEQ EQU TRUE ; ; 12. COMIF - Run IF.COM Instead of FCP-Internal Processing ; ; Setting this equate to TRUE will cause an IF executed during an ; IF TRUE or NO IF state to look in the ROOT directory (base of path ; starting in current directory) for the file IF.COM, and, if found, ; load IF.COM and transfer control to it. If IF.COM is not found, then ; IF F is raised. Using IF.COM provides much more power and flexibility ; but also requires IF.COM to be present and takes up disk space. ; COMIF EQU FALSE ; ; 13. NOISE - Have FCP Print IF Status Messages ; ; Setting this equate to TRUE will cause any change in the IF ; status to be printed to the user. This is useful for debugging purposes, ; but in normal runs, particularly where ALIASes are concerned, it is ; usually desirable to reduce the "noise" as much as possible and have ; this equate set to FALSE. ; NOISE EQU FALSE ; ; END of SYSFCP CUSTOMIZATION ;