User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:screx

Deck SCREX

6 Modifications

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.screx   +++|PRGM SCREX;
00002  M01S00002.screx   +++|# TITLE SCREX - SCREEN/LINE EXECUTIVE PROGRAM. #
00003  M01S00003.screx   +++|
00004  M01S00004.screx   +++|BEGIN  # SCREX #
00005  M01S00005.screx   +++|
00006  M01S00006.screx   +++|#
00007  M01S00007.screx   +++|***  SCREX - SCREEN/LINE EXECUTIVE PROGRAM.
00008  M01S00008.screx   +++|*
00009  M01S00009.screx   +++|*    *SCREX* MANAGES THE SCREEN AND LINE COMMANDS
00010  M01S00010.screx   +++|*    AND ALLOWS THE USER TO SPECIFY THE MODE OF
00011  M01S00011.screx   +++|*    OPERATION, AND OPTIONALLY THE TERMINAL MODEL
00012  M01S00012.screx   +++|*    BEING USED.  *SCREX* INVOKES A CALL TO THE
00013  M01S00013.screx   +++|*    LOADER TO LOCATE A TERMINAL-DEFINITION CAPSULE,
00014  M01S00014.screx   +++|*    WHICH IT COPIES ONTO THE FILE *ZZZZTRM*.  IT
00015  M01S00015.screx   +++|*    THEN WRITES OUT THE TERMINAL INITIALIZATION
00016  M01S00016.screx   +++|*    SEQUENCE FOUND IN THE LOADED CAPSULE.
00017  M01S00017.screx   +++|*
00018  M01S00018.screx   +++|*    PRGM SCREX
00019  M01S00019.screx   +++|*
00020  M01S00020.screx   +++|*    ENTRY     *SCREX* HAS TWO ENTRY POINTS, *SCREEN* AND *LINE*.
00021  M01S00021.screx   +++|*
00022  M01S00022.screx   +++|*    EXIT      OBJECT ROUTINE EXECUTED.
00023  M01S00023.screx   +++|*
00024  M01S00024.screx   +++|*    NOTES     *SCREX* USES BOTH *SYMPL* AND *COMPASS* ROUTINES.
00025  M01S00025.screx   +++|*
Line S00026 Modification History
M01 (Added by) screx
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00026  M02S00026.281l803 ---|*    COPYRIGHT CONTROL DATA CORPORATION, 1984.
00027  M01S00001.281l803 +++|*    COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00028  M01S00027.screx   +++|#
00029  M01S00028.screx   +++|
00030  M01S00029.screx   +++|  XREF
00031  M01S00030.screx   +++|    BEGIN
00032  M01S00031.screx   +++|    PROC PF;                         # GET *TERMLIB* FILE #
00033  M01S00032.screx   +++|    PROC SCRCCK;                     # CHECK CAPSULE, GET LENGTH #
00034  M01S00001.ns2274  +++|    PROC SCRCIS;                     # CHECK INTERACTIVE STATUS #
00035  M01S00033.screx   +++|    PROC SCRCZF;                     # CREATE *ZZZZTRM* FILE #
00036  M01S00034.screx   +++|    PROC SCRFST;                     # FILE STATUS CHECK #
00037  M01S00035.screx   +++|    PROC SCRGIS;                     # GET INIT. SEQUENCE #
00038  M01S00036.screx   +++|    PROC SCRISR;                     # ISSUE SYSTEM REQUEST #
00039  M01S00037.screx   +++|    PROC SCRLCP;                     # LOAD TERMINAL CAPSULE #
00040  M01S00038.screx   +++|    PROC SCRPKP;                     # PROCESS PARAMETERS #
00041  M01S00039.screx   +++|    PROC SCRRET;                     # RETURN *TERMLIB* FILE #
00042  M01S00040.screx   +++|    PROC SCRRTA;                     # RESIDENT TERMCAP ADDRESS #
00043  M01S00041.screx   +++|    PROC SCRRZF;                     # READ *ZZZZTRM* FILE #
00044  M01S00001.ns2254  +++|    PROC SCRUGD;                     # UNLOAD GROUP DIRECTORY #
00045  M01S00042.screx   +++|    PROC VDTABT$;                    # TERMINATE ABNORMALLY #
00046  M01S00043.screx   +++|    PROC VDTCLO;                     # CLOSE THE OUTPUT FET #
00047  M01S00044.screx   +++|    PROC VDTGSL;                     # GET SCREEN/LINE MODE #
00048  M01S00045.screx   +++|    PROC VDTGTA;                     # GET TERMCAP ADDRESS #
00049  M01S00046.screx   +++|    PROC VDTGTN;                     # GET TERMINAL MNEMONIC #
00050  M01S00047.screx   +++|    PROC VDTGTO;                     # GET TERMINAL ORDINAL #
00051  M01S00048.screx   +++|    PROC VDTMSG$;                    # ISSUE ERROR MESSAGE #
00052  M01S00049.screx   +++|    PROC VDTOPN;                     # OPEN THE OUTPUT FET #
00053  M01S00050.screx   +++|    PROC VDTSSL;                     # SET SCREEN/LINE MODE #
00054  M01S00051.screx   +++|    PROC VDTWTC;                     # WRITE THE INIT. SEQ. #
00055  M01S00052.screx   +++|    END
00056  M01S00053.screx   +++|
00057  M01S00054.screx   +++|  XDEF
00058  M01S00055.screx   +++|    BEGIN
00059  M01S00056.screx   +++|    LABEL LINE;                       # LINE DIRECTIVE #
00060  M01S00057.screx   +++|    LABEL SCREEN;                     # SCREEN DIRECTIVE #
00061  M01S00058.screx   +++|    END
00062  M01S00059.screx   +++|
00063  M01S00060.screx   +++|  ITEM ERR1       C(32) =  "TERMINAL MODEL NOT YET SPECIFIED";
00064  M01S00061.screx   +++|                                     # ERROR MESSAGE #
00065  M01S00062.screx   +++|  ITEM ERR1T      I = 0;             # END OF ERROR MESSAGE #
00066  M01S00063.screx   +++|  ITEM ERR2       C(29) =  "TERMINAL DEFINITION NOT FOUND";
00067  M01S00064.screx   +++|                                     # ERROR MESSGE #
00068  M01S00065.screx   +++|  ITEM ERR2T      I = 0;             # END OF ERROR MESSAGE #
00069  M01S00066.screx   +++|  ITEM ERR3       C(25) =  "DEFINITION FILE NOT FOUND";
00070  M01S00067.screx   +++|                                     # ERROR MESSGE #
00071  M01S00068.screx   +++|  ITEM ERR3T      I = 0;             # END OF ERROR MESSAGE #
00072  M01S00069.screx   +++|  ITEM I          I;                 # INTEGER VARIABLE #
00073  M01S00070.screx   +++|  ITEM MODE       I;                 # DIRECTIVE MODE VARIABLE #
00074  M01S00002.ns2274  +++|  ITEM SCRIST     B;                 # INTERACTIVE STATUS FLAG #
00075  M01S00071.screx   +++|  ITEM SCRLCA     I;                 # LOADED CAPSULE ADDRESS #
00076  M01S00072.screx   +++|  ITEM SCRMDL     I;                 # MODEL ORDINAL(0 IF UNREC.)#
00077  M01S00073.screx   +++|  ITEM SCRMOD     I;                 # MODE(LINE = 0,SCREEN = 1)#
00078  M01S00074.screx   +++|  ITEM SCRPFF     I;                 # PERMANENT FILE FOUND #
00079  M01S00075.screx   +++|  ITEM SCRPFN     C(7) = "TERMLIB";  # *PFM* PARAMETER #
00080  M01S00076.screx   +++|  ITEM SCRRCA     I;                 # RESIDENT CAPSULE ADDRESS #
00081  M01S00001.ns2248  +++|  ITEM SCRSTS     B;                 # *TERMLIB* STATUS FLAG #
00082  M01S00077.screx   +++|  ITEM SCRTCF     B;                 # TERMCAP FOUND #
00083  M01S00002.ns2248  +++|  ITEM SCRTFL     B;                 # *TERMLIB* FILE LOCAL #
00084  M01S00078.screx   +++|  ITEM SCRTRM     C(7) = "Z Z Z Z";  # USER-SUPPLIED MNEMONIC #
00085  M01S00003.ns2248  +++|  ITEM SCRTRP     B;                 # *TERMLIB* RETRIEVED BY *PF* #
00086  M01S00079.screx   +++|  ITEM SCRUSN     C(7) = "LIBRARY";  # ALTERNATE USER NUMBER #
00087  M01S00080.screx   +++|  ITEM SCRZBA     I;                 # *ZZZZTRM* BUFFER ADDRESS #
00088  M01S00081.screx   +++|  ITEM SCRZFE     B;                 # *ZZZZTRM* FILE EXISTS FLAG #
00089  M01S00082.screx   +++|  ITEM SCRZTM     C(7);              # Z-PREFIXED TERM-MNEMONIC #
00090  M01S00002.ns2254  +++|  ITEM UNLOAD     B;                 # UNLOAD GROUP DIRECTORY #
Line S00083 Modification History
M01 (Added by) screx
M02 (Updated by) ns2254
Seq #  *Modification Id* Act 
----------------------------+
00091  M02S00083.ns2254  ---|
Line S00084 Modification History
M01 (Added by) screx
M02 (Updated by) ns2254
Seq #  *Modification Id* Act 
----------------------------+
00092  M02S00084.ns2254  ---|
00093  M01S00003.ns2254  +++|  ARRAY NONESTR[0:0] S(1);
00094  M01S00004.ns2254  +++|    BEGIN
00095  M01S00005.ns2254  +++|    ITEM NONEKEY  C(00,00,04) = ["NONE"];  # NONE OPTION STRING #
00096  M01S00006.ns2254  +++|    ITEM ZEROES   I(00,24,18) = [ 0 ];  # ZERO-FILL #
00097  M01S00007.ns2254  +++|    ITEM NONE     C(00,00,07);       # ZERO-FILLED STRING #
00098  M01S00008.ns2254  +++|    END
00099  M01S00085.screx   +++|
Line S00086 Modification History
M01 (Added by) screx
M02 (Updated by) ns2248
Seq #  *Modification Id* Act 
----------------------------+
00100  M02S00086.ns2248  ---|  PROC SCRGTC(SCRZTM,SCRTCF);
00101  M01S00004.ns2248  +++|  PROC SCRGTC(SCRZTM,SCRTCF,SCRSTS,SCRTRP);
00102  M01S00087.screx   +++|  # TITLE SCRGTC - GET TERMINAL CAPSULE. #
00103  M01S00088.screx   +++|
00104  M01S00089.screx   +++|  BEGIN  # SCRGTC #
00105  M01S00090.screx   +++|
00106  M01S00091.screx   +++|  #
00107  M01S00092.screx   +++|  ***  SCRGTC - GET TERMINAL CAPSULE.
00108  M01S00093.screx   +++|  *
00109  M01S00094.screx   +++|  *    *SCRGTC* CALLS *SCRLCP* TO LOAD A CAPSULE GIVEN THE
00110  M01S00095.screx   +++|  *    CAPSULE NAME, WHICH RETURNS THE ADDRESS OF THE CAPSULE
00111  M01S00096.screx   +++|  *    IF SUCCESSFULLY LOADED.  IF SO, THE ROUTINE *SCRCZF*
00112  M01S00097.screx   +++|  *    CREATES A FILE NAMED *ZZZZTRM* AND COPIES THIS CAPSULE
00113  M01S00098.screx   +++|  *    RECORD INTO IT.  *SCRCZF* THEN MARKS THE *ZZZZTRM* FILE
00114  M01S00099.screx   +++|  *    NON-RETURNABLE BY GLOBAL CLEAR.
00115  M01S00100.screx   +++|  *
Line S00101 Modification History
M01 (Added by) screx
M02 (Updated by) ns2248
Seq #  *Modification Id* Act 
----------------------------+
00116  M02S00101.ns2248  ---|  *    PROC SCRGTC(SCRZTM,SCRTCF)
00117  M01S00005.ns2248  +++|  *    PROC SCRGTC(SCRZTM,SCRTCF,SCRSTS,SCRTRP)
00118  M01S00102.screx   +++|  *
00119  M01S00103.screx   +++|  *                SCRZTM = Z-PREFIXED TERMINAL MNEMONIC.
00120  M01S00104.screx   +++|  *                SCRTCF = TERMCAP FOUND FLAG RETURNED.
00121  M01S00006.ns2248  +++|  *                SCRSTS = *TERMLIB* STATUS FLAG.
00122  M01S00007.ns2248  +++|  *                SCRTRP = *TERMLIB* RETRIEVED BY *PF*.
00123  M01S00105.screx   +++|  *
Line S00106 Modification History
M01 (Added by) screx
M02 (Updated by) ns2248
Seq #  *Modification Id* Act 
----------------------------+
00124  M02S00106.ns2248  ---|  *    ENTRY     OBJECT ROUTINE CALLED WITH TERMINAL MNEMONIC.
00125  M01S00008.ns2248  +++|  *    ENTRY     OBJECT ROUTINE CALLED WITH TERMINAL MNEMONIC,
00126  M01S00009.ns2248  +++|  *              *TERMLIB* STATUS FLAG, AND FLAG TO RETURN *TERMLIB*.
00127  M01S00107.screx   +++|  *
00128  M01S00108.screx   +++|  *    EXIT      COMPLETION FLAG RETURNED TO CALLING ROUTINE.
00129  M01S00109.screx   +++|  *
00130  M01S00110.screx   +++|  *    NOTES     THE *SCRGTC* ROUTINES ARE COMPASS MACROS.
00131  M01S00111.screx   +++|  *
Line S00112 Modification History
M01 (Added by) screx
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00132  M02S00112.281l803 ---|  *    COPYRIGHT CONTROL DATA CORPORATION, 1984.
00133  M01S00002.281l803 +++|  *    COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00134  M01S00113.screx   +++|  #
00135  M01S00114.screx   +++|
00136  M01S00115.screx   +++|
00137  M01S00116.screx   +++|  ITEM SCRCLS     I;                 # CAPSULE LOADED SUCCESSFULLY #
00138  M01S00117.screx   +++|  ITEM SCRLCA     I;                 # LOADED CAPSULE ADDRESS #
00139  M01S00010.ns2248  +++|  ITEM SCRSTS     B;                 # *TERMLIB* STATUS FLAG #
00140  M01S00118.screx   +++|  ITEM SCRTCF     B;                 # TERMCAP FOUND #
00141  M01S00119.screx   +++|  ITEM SCRTCL     I;                 # TERMINAL CAPSULE LENGTH #
00142  M01S00120.screx   +++|  ITEM SCRTCV     B;                 # TERMINAL CAPSULE VALID #
00143  M01S00011.ns2248  +++|  ITEM SCRTRP     B;                 # *TERMLIB* RETRIEVED BY *PF* #
00144  M01S00121.screx   +++|  ITEM SCRZTM     C(7);              # TERMINAL MNEMONIC #
00145  M01S00122.screx   +++|
00146  M01S00123.screx   +++|
00147  M01S00124.screx   +++|  SCRTCF = FALSE;                    # INITIALIZE FOUND FLAG #
00148  M01S00125.screx   +++|  SCRLCP(SCRZTM,SCRLCA,SCRCLS);      # LOAD TERMINAL CAPSULE #
00149  M01S00126.screx   +++|  IF SCRCLS EQ 0 THEN                # CAPSULE LOADED SUCCESSFULLY #
00150  M01S00127.screx   +++|    BEGIN
00151  M01S00128.screx   +++|    SCRTCV = FALSE;                  # INITIALIZE AS INVALID #
Line S00129 Modification History
M01 (Added by) screx
M02 (Updated by) ns2248
Seq #  *Modification Id* Act 
----------------------------+
00152  M02S00129.ns2248  ---|    SCRCCK(SCRLCA,SCRZTM,SCRTCV,SCRTCL);  # VALIDATE TERMCAP #
00153  M01S00012.ns2248  +++|    SCRCCK(SCRLCA,SCRZTM,SCRTCV,SCRTCL,SCRSTS);  # VALIDATE TERMCAP #
00154  M01S00130.screx   +++|    IF SCRTCV THEN                   # IF VALID *TDU* TERMCAP #
00155  M01S00131.screx   +++|      BEGIN
00156  M01S00132.screx   +++|      SCRRET("ZZZZTRM");             # RETURN *ZZZZTRM* FILE #
00157  M01S00133.screx   +++|      SCRCZF(SCRLCA,SCRTCL);         # CREATE *ZZZZTRM* FILE #
00158  M01S00134.screx   +++|      SCRMDL = 1;                    # USER DEFINED MODEL #
00159  M01S00135.screx   +++|      SCRMOD = MODE;                 # DIRECTIVE SPECIFIED MODE #
00160  M01S00136.screx   +++|      VDTSSL(SCRMDL,SCRMOD);         # SET MODEL, MODE #
00161  M01S00137.screx   +++|      SCRISR(SCRMOD);                # ISSUE SYSTEM REQUEST #
00162  M01S00138.screx   +++|      SCROUT(SCRLCA,SCRMOD);         # PRINT INIT. SEQUENCE #
00163  M01S00139.screx   +++|      SCRTCF = TRUE;                 # TERMINAL CAPSULE FOUND #
00164  M01S00013.ns2248  +++|      SCRRET("ZZZZZOU");             # RETURN *ZZZZZOU* FILE #
00165  M01S00140.screx   +++|      END
00166  M01S00141.screx   +++|    END
00167  M01S00014.ns2248  +++|  IF SCRTRP THEN
00168  M01S00015.ns2248  +++|    BEGIN                            # IF *PF* RETRIEVED *TERMLIB* #
00169  M01S00142.screx   +++|    SCRRET(SCRPFN);                  # RETURN LOCAL FILE #
00170  M01S00016.ns2248  +++|    END
00171  M01S00143.screx   +++|
00172  M01S00144.screx   +++|  END  # SCRGTC #
00173  M01S00145.screx   +++|
00174  M01S00146.screx   +++|  PROC SCROUT(SCRLCA,SCRMOD);
00175  M01S00147.screx   +++|  # TITLE SCROUT - OUTPUT TERMINAL INITIALIZATION SEQUENCE #
00176  M01S00148.screx   +++|
00177  M01S00149.screx   +++|  BEGIN  # SCROUT #
00178  M01S00150.screx   +++|
00179  M01S00151.screx   +++|  #
00180  M01S00152.screx   +++|  ***  SCROUT - OUTPUT TERMINAL INIT. SEQUENCE *
00181  M01S00153.screx   +++|  *
00182  M01S00154.screx   +++|  *    *SCROUT* CALLS *VDTOPN* TO OPEN AND INITIALIZE THE
00183  M01S00155.screx   +++|  *    OUTPUT FET.  *SCRGIS* IS THEN CALLED TO GET THE
00184  M01S00156.screx   +++|  *    TERMINAL INITIALIZATION SEQUENCE FROM THE LOADED
00185  M01S00157.screx   +++|  *    CAPSULE, CONVERTING THE SEQUENCE FROM 7-BIT BYTES
00186  M01S00158.screx   +++|  *    TO 12-BIT TRANSPARENT BYTES.  THE SEQUENCE IS LEFT
00187  M01S00159.screx   +++|  *    IN THE *SCRISB* BUFFER, WHICH IS WRITTEN BY *VDTWTC*
00188  M01S00160.screx   +++|  *    TO THE OUTPUT FET, AND *VDTCLO* CLOSES THIS FET.
00189  M01S00161.screx   +++|  *
00190  M01S00162.screx   +++|  *    PROC SCROUT(ADDRESS,MODE)
00191  M01S00163.screx   +++|  *
00192  M01S00164.screx   +++|  *                ADDRESS = LOADED CAPSULE OR FILE BUFFER ADDRESS.
00193  M01S00165.screx   +++|  *                MODE = MODE SPECIFIED BY USER.
00194  M01S00166.screx   +++|  *
00195  M01S00167.screx   +++|  *    ENTRY     ADDRESS = LOADED CAPSULE OR FILE BUFFER ADD RESS.
00196  M01S00168.screx   +++|  *              MODE = 0, IF LINE MODE,
00197  M01S00169.screx   +++|  *                   = 1, IF SCREEN MODE.
00198  M01S00170.screx   +++|  *
00199  M01S00171.screx   +++|  *    EXIT      OBJECT ROUTINE EXECUTED.
00200  M01S00172.screx   +++|  *
00201  M01S00173.screx   +++|  *    NOTES     THE *SCROUT* ROUTINES ARE COMPASS ROUTINES.
00202  M01S00174.screx   +++|  *
Line S00175 Modification History
M01 (Added by) screx
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00203  M02S00175.281l803 ---|  *    COPYRIGHT CONTROL DATA CORPORATION, 1984.
00204  M01S00003.281l803 +++|  *    COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00205  M01S00176.screx   +++|  #
00206  M01S00177.screx   +++|
00207  M01S00001.ns2288  +++|  BASED ARRAY PARM [0:0] P(1);;
00208  M01S00178.screx   +++|
00209  M01S00179.screx   +++|  ITEM SCRISB     I;                 # SEQUENCE BUFFER #
00210  M01S00180.screx   +++|  ITEM SCRLCA     I;                 # LOADED CAPSULE ADDRESS #
00211  M01S00181.screx   +++|  ITEM SCRMOD     I;                 # TERMINAL MODE #
00212  M01S00182.screx   +++|  ITEM SCRREC     I;                 # RECALL PARAMETER #
00213  M01S00183.screx   +++|
00214  M01S00184.screx   +++|  SCRREC = 1;                        # SET AUTO RECALL #
00215  M01S00185.screx   +++|  SCRGIS(SCRLCA,SCRMOD,SCRISB);      # GET SEQUENCE #
Line S00186 Modification History
M01 (Added by) screx
M02 (Updated by) ns2288
Seq #  *Modification Id* Act 
----------------------------+
00216  M02S00186.ns2288  ---|  VDTOPN;                            # OPEN THE OUTPUT FET #
Line S00187 Modification History
M01 (Added by) screx
M02 (Updated by) ns2288
Seq #  *Modification Id* Act 
----------------------------+
00217  M02S00187.ns2288  ---|  VDTWTC(SCRISB);                    # WRITE SEQUENCE #
Line S00188 Modification History
M01 (Added by) screx
M02 (Updated by) ns2288
Seq #  *Modification Id* Act 
----------------------------+
00218  M02S00188.ns2288  ---|  VDTCLO(SCRREC);                    # CLOSE THE OUTPUT FET #
00219  M01S00002.ns2288  +++|  IF SCRISB NQ 0 THEN
00220  M01S00003.ns2288  +++|    BEGIN                            # IF NOT EMPTY SEQUENCE #
00221  M01S00004.ns2288  +++|    VDTOPN;                          # OPEN THE OUTPUT FET #
00222  M01S00005.ns2288  +++|    P<PARM> = SCRISB;
00223  M01S00006.ns2288  +++|    VDTWTC(PARM);                    # WRITE SEQUENCE #
00224  M01S00007.ns2288  +++|    VDTCLO(SCRREC);                  # CLOSE THE OUTPUT FET #
00225  M01S00008.ns2288  +++|    END
00226  M01S00189.screx   +++|
00227  M01S00190.screx   +++|  END  # SCROUT #
00228  M01S00191.screx   +++|
00229  M01S00192.screx   +++|
00230  M01S00193.screx   +++|SCREEN:                              # SCREEN ENTRY POINT #
00231  M01S00194.screx   +++|
00232  M01S00195.screx   +++|  MODE = 1;                          # INITIALIZE MODE TO SCREEN #
00233  M01S00196.screx   +++|  GOTO SCRMAIN;                      # JUMP TO MAIN BODY OF *SCREX* #
00234  M01S00197.screx   +++|
00235  M01S00198.screx   +++|LINE:                                # LINE ENTRY POINT #
00236  M01S00199.screx   +++|
00237  M01S00200.screx   +++|  MODE = 0;                          # INITIALIZE MODE TO LINE #
00238  M01S00201.screx   +++|  GOTO SCRMAIN;                      # JUMP TO MAIN BODY OF *SCREX* #
00239  M01S00202.screx   +++|
00240  M01S00203.screx   +++|
00241  M01S00204.screx   +++|SCRMAIN:
00242  M01S00205.screx   +++|
00243  M01S00003.ns2274  +++|  SCRCIS(SCRIST);                    # CHECK INTERACTIVE STATUS #
00244  M01S00004.ns2274  +++|  IF NOT(SCRIST) THEN                # IF NOT INTERACTIVE  #
00245  M01S00005.ns2274  +++|    STOP;                            # HALT PROGRAM EXECUTION #
Line S00206 Modification History
M01 (Added by) screx
M02 (Updated by) ns2254
Seq #  *Modification Id* Act 
----------------------------+
00246  M02S00206.ns2254  ---|  SCRPKP(SCRTRM);                    # PROCESS PARAMETERS #
00247  M01S00009.ns2254  +++|  SCRPKP(SCRTRM);                    # PROCESS PARAMETERS #
00248  M01S00010.ns2254  +++|  IF (SCRTRM EQ NONE[0]) THEN        # NONE OPTION SPECIFIED #
00249  M01S00011.ns2254  +++|    BEGIN                            # NONE OPTION #
00250  M01S00012.ns2254  +++|    SCRMDL = 0;                      # SET CURRENT MODEL TO NONE #
00251  M01S00013.ns2254  +++|    SCRMOD = 0;                      # SET CURRENT MODE TO LINE #
00252  M01S00014.ns2254  +++|    VDTSSL(SCRMDL,SCRMOD);           # SET MODE, MODEL #
00253  M01S00015.ns2254  +++|    SCRISR(SCRMOD);                  # ISSUE SYSTEM REQUEST #
00254  M01S00016.ns2254  +++|    RETURN;
00255  M01S00017.ns2254  +++|    END
00256  M01S00207.screx   +++|  IF SCRTRM EQ "Z Z Z Z" THEN        # IF MODEL NOT SPECIFIED #
00257  M01S00208.screx   +++|    BEGIN
00258  M01S00209.screx   +++|    VDTGSL(SCRMDL,SCRMOD);           # GET CURRENT MODEL, MODE #
00259  M01S00210.screx   +++|    IF SCRMDL NQ 0 THEN              # IF PREVIOUS MODEL SPECIFIED #
00260  M01S00211.screx   +++|      BEGIN
00261  M01S00212.screx   +++|      IF SCRMDL NQ 1 THEN            # IF RESIDENT MODEL SPECIFIED #
00262  M01S00213.screx   +++|        BEGIN
00263  M01S00214.screx   +++|        SCRMOD = MODE;               # SET CURRENT MODE #
00264  M01S00215.screx   +++|        VDTGTA(SCRMDL,SCRRCA);       # GIVEN MODEL, RETURN ADDRESS #
00265  M01S00216.screx   +++|        SCROUT(SCRRCA,SCRMOD);       # SEND INITIALIZATION SEQUENCE #
00266  M01S00217.screx   +++|        VDTSSL(SCRMDL,SCRMOD);       # SET MODE, MODEL #
00267  M01S00218.screx   +++|        SCRISR(SCRMOD);              # ISSUE SYSTEM REQUEST #
00268  M01S00219.screx   +++|        END
00269  M01S00220.screx   +++|      ELSE                           # NON-RESIDENT MODEL SPECIFIED #
00270  M01S00221.screx   +++|        BEGIN
00271  M01S00222.screx   +++|        SCRZFE = FALSE;
00272  M01S00223.screx   +++|        SCRPFN = "ZZZZTRM";
00273  M01S00224.screx   +++|        SCRFST(SCRPFN,SCRZFE);       # CHECK FOR LOCAL *ZZZZTRM* #
00274  M01S00225.screx   +++|        IF SCRZFE THEN               # IF LOCAL *ZZZZTRM* EXISTS #
00275  M01S00226.screx   +++|          BEGIN
00276  M01S00227.screx   +++|          SCRMOD = MODE;             # USER SPECIFIED MODE #
00277  M01S00228.screx   +++|          SCRRZF(SCRPFN,SCRZBA);     # READ INTO BUFFER #
00278  M01S00229.screx   +++|          SCROUT(SCRZBA,SCRMOD);     # SEND INITIALIZATION SEQUENCE #
00279  M01S00230.screx   +++|          VDTSSL(SCRMDL,SCRMOD);     # SET MODE, MODEL #
00280  M01S00231.screx   +++|          SCRISR(SCRMOD);            # ISSUE SYSTEM REQUEST #
00281  M01S00232.screx   +++|          END
00282  M01S00233.screx   +++|        ELSE                         # NO LOCAL *ZZZZTRM* #
00283  M01S00234.screx   +++|          BEGIN
00284  M01S00235.screx   +++|          VDTMSG$(ERR3,0,1);         # ERROR MESSAGE #
00285  M01S00236.screx   +++|          VDTABT$;                   # TERMINATE ABNORMALLY #
00286  M01S00237.screx   +++|          END
00287  M01S00238.screx   +++|        END
00288  M01S00239.screx   +++|      END
00289  M01S00240.screx   +++|    ELSE                             # NO PREVIOUS MODEL SPECIFIED #
00290  M01S00241.screx   +++|      BEGIN
Line S00242 Modification History
M01 (Added by) screx
M02 (Updated by) ns2254
Seq #  *Modification Id* Act 
----------------------------+
00291  M02S00242.ns2254  ---|      VDTMSG$(ERR1,0,1);             # ERROR MESSAGE #
Line S00243 Modification History
M01 (Added by) screx
M02 (Updated by) ns2254
Seq #  *Modification Id* Act 
----------------------------+
00292  M02S00243.ns2254  ---|      VDTABT$;                       # TERMINATE ABNORMALLY #
00293  M01S00018.ns2254  +++|      IF MODE EQ 0 THEN              # LINE MODE SPECIFIED #
00294  M01S00019.ns2254  +++|        BEGIN                        # LINE DIRECTIVE #
00295  M01S00020.ns2254  +++|        SCRMDL = 0;                  # SET CURRENT MODEL TO NONE #
00296  M01S00021.ns2254  +++|        SCRMOD = 0;                  # SET CURRENT MODE TO LINE #
00297  M01S00022.ns2254  +++|        VDTSSL(SCRMDL,SCRMOD);       # SET MODE, MODEL #
00298  M01S00023.ns2254  +++|        SCRISR(SCRMOD);              # ISSUE SYSTEM REQUEST #
00299  M01S00024.ns2254  +++|        END
00300  M01S00025.ns2254  +++|      ELSE
00301  M01S00026.ns2254  +++|        BEGIN                        # SCREEN DIRECTIVE #
00302  M01S00027.ns2254  +++|        VDTMSG$(ERR1,0,1);           # ERROR MESSAGE #
00303  M01S00028.ns2254  +++|        VDTABT$;                     # TERMINATE ABNORMALLY #
00304  M01S00029.ns2254  +++|        END
00305  M01S00244.screx   +++|      END
00306  M01S00245.screx   +++|    END                              # MODEL NOT SPECIFIED #
00307  M01S00246.screx   +++|  ELSE                               # MODEL WAS SPECIFIED #
00308  M01S00247.screx   +++|    BEGIN
00309  M01S00248.screx   +++|    C<0>SCRZTM = "Z";                # PREFIX MNEMONIC WITH "Z" #
00310  M01S00249.screx   +++|    FOR I = 1 STEP 1 UNTIL 6 DO
00311  M01S00250.screx   +++|      C<I>SCRZTM = C<I-1>SCRTRM;     # CONCAT *SCRTRM* TO *SCTZTM* #
00312  M01S00251.screx   +++|    VDTGTO(SCRMDL,SCRTRM);           # GET TERMINAL ORDINAL #
00313  M01S00252.screx   +++|    IF SCRMDL NQ 0 THEN              # IF TERMINAL TABLE RESIDENT #
00314  M01S00253.screx   +++|      BEGIN
00315  M01S00254.screx   +++|      SCRMOD = MODE;                 # SET DIRECTIVE MODE #
00316  M01S00255.screx   +++|      SCRRTA(SCRTRM,SCRLCA);         # GET TERMCAP ADDRESS #
00317  M01S00256.screx   +++|      SCROUT(SCRLCA,SCRMOD);         # PRINT INIT. SEQUENCE #
00318  M01S00257.screx   +++|      VDTSSL(SCRMDL,SCRMOD);         # SET MODE, MODEL #
00319  M01S00258.screx   +++|      SCRISR(MODE);                  # ISSUE SYSTEM REQUEST #
00320  M01S00259.screx   +++|      END
00321  M01S00260.screx   +++|    ELSE                             # TERMINAL TABLE NOT RESIDENT #
00322  M01S00261.screx   +++|      BEGIN
00323  M01S00030.ns2254  +++|      UNLOAD = FALSE;                # GROUP DIRECTORY UNLOAD FLAG #
00324  M01S00017.ns2248  +++|      SCRTRP = FALSE;
Line S00262 Modification History
M01 (Added by) screx
M02 (Updated by) ns2248
Seq #  *Modification Id* Act 
----------------------------+
00325  M02S00262.ns2248  ---|      SCRGTC(SCRZTM,SCRTCF);         # GET LOCAL TERMINAL CAPSULE #
00326  M01S00018.ns2248  +++|      SCRSTS = FALSE;                # INITIALIZE *TERMLIB* STATUS #
00327  M01S00019.ns2248  +++|      SCRTFL = FALSE;
00328  M01S00020.ns2248  +++|      SCRTCF = FALSE;
00329  M01S00021.ns2248  +++|      SCRFST(SCRPFN,SCRTFL);         # CHECK IF *TERMLIB* IS LOCAL #
00330  M01S00022.ns2248  +++|      IF SCRTFL THEN
00331  M01S00023.ns2248  +++|        BEGIN                        # IF LOCAL *TERMLIB* FOUND #
00332  M01S00024.ns2248  +++|        SCRSTS = TRUE;
00333  M01S00025.ns2248  +++|        SCRGTC(SCRZTM,SCRTCF,SCRSTS,SCRTRP);  # GET LOCAL CAPSULE #
00334  M01S00031.ns2254  +++|        UNLOAD = TRUE;
00335  M01S00026.ns2248  +++|        END
00336  M01S00263.screx   +++|      IF NOT SCRTCF THEN             # IF TERMINAL CAPSULE NOT FOUND #
00337  M01S00264.screx   +++|        BEGIN
00338  M01S00265.screx   +++|        PF("GET",SCRPFN,SCRPFN,"RC",SCRPFF,0);  # GET *SCRPFN* FILE #
00339  M01S00001.screx1  +++|        IF SCRPFF NQ 0 THEN
00340  M01S00002.screx1  +++|          BEGIN                      # IF GET FAILS, ATTACH #
00341  M01S00003.screx1  +++|          PF("ATTACH",SCRPFN,SCRPFN,"RC",SCRPFF,"NA",0,0);
00342  M01S00004.screx1  +++|          END
00343  M01S00266.screx   +++|        IF SCRPFF EQ 0 THEN          # IF FILE WAS FOUND #
00344  M01S00267.screx   +++|          BEGIN
Line S00268 Modification History
M01 (Added by) screx
M02 (Updated by) ns2248
Seq #  *Modification Id* Act 
----------------------------+
00345  M02S00268.ns2248  ---|          SCRGTC(SCRZTM,SCRTCF);     # GET TERMINAL CAPSULE #
00346  M01S00027.ns2248  +++|          SCRSTS = TRUE;
00347  M01S00028.ns2248  +++|          SCRTRP = TRUE;             # *TERMLIB* RETRIEVED BY *PF* #
00348  M01S00032.ns2254  +++|          IF UNLOAD THEN             # IF LOADER CALLED BEFORE #
00349  M01S00033.ns2254  +++|            BEGIN
00350  M01S00034.ns2254  +++|            SCRUGD;                  # UNLOAD GROUP DIRECTORY #
00351  M01S00035.ns2254  +++|            UNLOAD = FALSE;          # GROUP DIRECTORY UNLOADED #
00352  M01S00036.ns2254  +++|            END
00353  M01S00029.ns2248  +++|          SCRGTC(SCRZTM,SCRTCF,SCRSTS,SCRTRP);  # GET CAPSULE #
00354  M01S00037.ns2254  +++|          UNLOAD = TRUE;
00355  M01S00269.screx   +++|          END
00356  M01S00270.screx   +++|        IF NOT SCRTCF THEN           # IF TERMCAP NOT FOUND #
00357  M01S00271.screx   +++|          BEGIN
Line S00272 Modification History
M01 (Added by) screx
M02 (Updated by) ns2248
Seq #  *Modification Id* Act 
----------------------------+
00358  M02S00272.ns2248  ---|          PF("GET",SCRPFN,SCRPFN,"RC",SCRPFF,"UN",SCRUSN,0);
00359  M01S00030.ns2248  +++|          PF("GET",SCRPFN,SCRPFN,"RC",SCRPFF,"UN",SCRUSN,"PN","0",0);
00360  M01S00031.ns2248  +++|                                     # GET *TERMLIB* FROM UN=LIBRARY #
00361  M01S00005.screx1  +++|          IF SCRPFF NQ 0 THEN
00362  M01S00006.screx1  +++|            BEGIN                    # IF GET FAILS, ATTACH #
00363  M01S00007.screx1  +++|            PF("ATTACH",SCRPFN,SCRPFN,"RC",SCRPFF,
00364  M01S00008.screx1  +++|               "UN",SCRUSN,"PN","0","NA",0,0);
00365  M01S00009.screx1  +++|            END
00366  M01S00273.screx   +++|          IF SCRPFF EQ 0 THEN        # IF FILE WAS FOUND #
00367  M01S00274.screx   +++|            BEGIN
Line S00275 Modification History
M01 (Added by) screx
M02 (Updated by) ns2248
Seq #  *Modification Id* Act 
----------------------------+
00368  M02S00275.ns2248  ---|            SCRGTC(SCRZTM,SCRTCF);   # GET TERMINAL CAPSULE #
00369  M01S00032.ns2248  +++|            SCRSTS = FALSE;          # SET STATUS TO SYSTEM #
00370  M01S00033.ns2248  +++|            SCRTRP = TRUE;           # *TERMLIB* RETRIEVED BY *PF* #
00371  M01S00038.ns2254  +++|            IF UNLOAD THEN           # IF LOADER CALLED BEFORE #
00372  M01S00039.ns2254  +++|              BEGIN
00373  M01S00040.ns2254  +++|              SCRUGD;                # UNLOAD GROUP DIRECTORY #
00374  M01S00041.ns2254  +++|              END
00375  M01S00034.ns2248  +++|            SCRGTC(SCRZTM,SCRTCF,SCRSTS,SCRTRP);  # GET CAPSULE #
00376  M01S00276.screx   +++|            END
00377  M01S00277.screx   +++|          IF NOT SCRTCF THEN         # IF TERMCAP NOT FOUND #
00378  M01S00278.screx   +++|            BEGIN
00379  M01S00279.screx   +++|            SCRMOD = 0;              # LINE MODE #
00380  M01S00280.screx   +++|            SCRMDL = 0;              # UNDEFINED ORDINAL #
00381  M01S00281.screx   +++|            VDTSSL(SCRMDL,SCRMOD);   # SET MODE, MODEL #
00382  M01S00282.screx   +++|            SCRISR(SCRMOD);          # ISSUE SYSTEM REQUEST #
00383  M01S00283.screx   +++|            VDTMSG$(ERR2,0,1);       # SEND MESSAGE TO USER #
00384  M01S00284.screx   +++|            VDTABT$;                 # TERMINATE ABNORMALLY #
00385  M01S00285.screx   +++|            END
00386  M01S00286.screx   +++|          END                        # TERMCAP NOT FOUND #
00387  M01S00287.screx   +++|        END                          # TERMCAP NOT FOUND #
00388  M01S00288.screx   +++|      END                            # TERMINAL TABLE NOT RESIDENT #
00389  M01S00289.screx   +++|    END                              # MODEL WAS SPECIFIED #
Line S00290 Modification History
M01 (Added by) screx
M02 (Updated by) ns2254
Seq #  *Modification Id* Act 
----------------------------+
00390  M02S00290.ns2254  ---|
00391  M01S00042.ns2254  +++|
00392  M01S00291.screx   +++|END  # SCREX #                       # END OF *SCREX* PROGRAM #
00393  M01S00292.screx   +++|
00394  M01S00293.screx   +++|TERM
cdc/nos2.source/opl.opl871/deck/screx.txt · Last modified: by 127.0.0.1