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