User Tools

Site Tools


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

Deck SSALTER

3 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.ssalter +++|PRGM SSALTER;
00002  M01S00002.ssalter +++|# TITLE SSALTER - INITIALIZES *SSALTER* UTILITY.                      #
00003  M01S00003.ssalter +++|
00004  M01S00004.ssalter +++|      BEGIN  # SSALTER #
00005  M01S00005.ssalter +++|
00006  M01S00006.ssalter +++|#
00007  M01S00007.ssalter +++|***   SSALTER - INITIALIZES *SSALTER* UTILITY.
00008  M01S00008.ssalter +++|*
00009  M01S00009.ssalter +++|*     THIS PROGRAM INITIALIZES *SSALTER* UTILITY BY
00010  M01S00010.ssalter +++|*     CALLING THE FIRST *SSALTER* *K* DISPLAY AND
00011  M01S00011.ssalter +++|*     PROVIDING THE INTERFACE BETWEEN THE CONSOLE
00012  M01S00012.ssalter +++|*     OPERATOR AND *SSEXEC* IN MAINTAINING THE
00013  M01S00013.ssalter +++|*     M860 HARDWARE CONFIGURATION.
00014  M01S00014.ssalter +++|*
00015  M01S00015.ssalter +++|*
Line S00016 Modification History
M01 (Added by) ssalter
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00016  M02S00016.281l803 ---|*     COPYRIGHT CONTROL DATA CORP., 1983.
00017  M01S00001.281l803 +++|*     COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00018  M01S00017.ssalter +++|#
00019  M01S00018.ssalter +++|
00020  M01S00019.ssalter +++|#
00021  M01S00020.ssalter +++|****  PRGM SSALTER - XREF LIST BEGIN.
00022  M01S00021.ssalter +++|#
00023  M01S00022.ssalter +++|
00024  M01S00023.ssalter +++|      XREF
00025  M01S00024.ssalter +++|        BEGIN
00026  M01S00025.ssalter +++|        PROC ABORT;                  # CALLS *ABORT* MACRO #
00027  M01S00026.ssalter +++|        PROC ALTKINP;                # DIGEST KEYBOARD INPUT #
00028  M01S00027.ssalter +++|        PROC ALTKINT;                # *SSALTER* *K* DISPLAY
00029  M01S00028.ssalter +++|                                       INITIALIZER #
00030  M01S00029.ssalter +++|        PROC BZFILL;                 # BLANK OR ZERO FILLS A BUFFER #
00031  M01S00030.ssalter +++|        PROC GETFAM;                 # GET DEFAULT FAMILY #
00032  M01S00031.ssalter +++|        PROC GETPFP;                 # GET USER INDEX AND FAMILY #
00033  M01S00032.ssalter +++|        PROC GETSPS;                 # GET SYSTEM ORIGIN STATUS #
00034  M01S00033.ssalter +++|        PROC MESSAGE;                # DISPLAYS A MESSAGE #
00035  M01S00034.ssalter +++|        PROC RECALL;                 # PUT PROGRAM INTO RECALL #
00036  M01S00035.ssalter +++|        PROC RESTPFP;                # RESTORE USER-S *PFP* AND ABORT
00037  M01S00036.ssalter +++|                                       OR RETURN #
00038  M01S00037.ssalter +++|        PROC SETPFP;                 # SET FAMILY AND USER INDEX #
00039  M01S00038.ssalter +++|        PROC SETQP;                 # SET QUEUE PRIORITY #
00040  M01S00039.ssalter +++|        PROC SETPR;                  # SET CPU PRIORITY #
00041  M01S00040.ssalter +++|        PROC UCPREQ;                 # ISSUE TYPE 1 OR 5 UCP REQUEST #
00042  M01S00041.ssalter +++|        PROC XARG;                   # USED TO SATISFY SSJ= EXTERNAL #
00043  M01S00042.ssalter +++|        END
00044  M01S00043.ssalter +++|
00045  M01S00044.ssalter +++|#
00046  M01S00045.ssalter +++|****  PRGM SSALTER - XREF LIST END.
00047  M01S00046.ssalter +++|#
00048  M01S00047.ssalter +++|
00049  M01S00048.ssalter +++|#
00050  M01S00049.ssalter +++|*     DAYFILE MESSAGES.
00051  M01S00050.ssalter +++|#
00052  M01S00051.ssalter +++|
00053  M01S00052.ssalter +++|      DEF MSG1       #" SSALTER - SYNTAX ERROR."#;
00054  M01S00053.ssalter +++|      DEF MSG2       #" SSALTER COMPLETE."#;
00055  M01S00054.ssalter +++|      DEF MSG3       #" SSALTER - MUST BE SYSTEM ORIGIN."#;
00056  M01S00055.ssalter +++|      DEF MSG4       #" SSALTER - CANNOT CONNECT TO SSEXEC."#;
00057  M01S00056.ssalter +++|      DEF MSG5       #" SSALTER - INCORRECT RESPONSE FROM SSEXEC."#;
00058  M01S00057.ssalter +++|
00059  M01S00058.ssalter +++|#
00060  M01S00059.ssalter +++|*     MISCELLAEOUS DEFINITIONS
00061  M01S00060.ssalter +++|#
00062  M01S00061.ssalter +++|
00063  M01S00062.ssalter +++|      DEF RSLEN      #1#;            # RETURN STATUS WORD LENGTH #
00064  M01S00063.ssalter +++|      DEF LISTCON    #0#;            # DO NOT LIST COMDECKS #
00065  M01S00064.ssalter +++|
00066  M01S00065.ssalter +++|                                               CONTROL PRESET;
00067  M01S00066.ssalter +++|*CALL COMBFAS
00068  M01S00067.ssalter +++|*CALL COMBBZF
00069  M01S00068.ssalter +++|*CALL COMBCPR
00070  M01S00069.ssalter +++|*CALL COMBPFP
00071  M01S00070.ssalter +++|*CALL COMBTDM
00072  M01S00071.ssalter +++|*CALL COMBUCR
00073  M01S00072.ssalter +++|*CALL COMSPFM
00074  M01S00073.ssalter +++|*CALL COMTALT
00075  M01S00074.ssalter +++|
00076  M01S00075.ssalter +++|      ITEM ARGLIST    I;             # ADDRESS OF ARGUMENT TABLE #
00077  M01S00076.ssalter +++|      ITEM DEFORD     I;             # DEFAULT FAMILY ORDINAL #
00078  M01S00077.ssalter +++|      ITEM FLAG       I;             # ERROR STATUS #
00079  M01S00078.ssalter +++|      ITEM I          I;             # LOOP COUNTER #
00080  M01S00079.ssalter +++|      ITEM INDX       I;             # INDEX VARIABLE #
00081  M01S00080.ssalter +++|      ITEM INITIALIZE B;             # STATUS OF *SSEXEC* CALL #
Line S00081 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00082  M02S00081.ssalte2 ---|      ITEM KBCUEST    C(2);          # EST ORDINAL OF REQUESTED M862 #
00083  M01S00001.ssalte2 +++|      ITEM KBCUEST    C(3);          # EST ORDINAL OF REQUESTED CU #
00084  M01S00082.ssalter +++|      ITEM LINK       I;             # LINKED FAMILY ORDINAL #
00085  M01S00083.ssalter +++|      ITEM LOOPC      B;             # LOOP CONTROL #
00086  M01S00084.ssalter +++|      ITEM NUM        I;             # NUMBER OF FAMILIES #
00087  M01S00085.ssalter +++|      ITEM OPTION     I;             # OPTION TO SKIP PROGRAM NAME #
00088  M01S00086.ssalter +++|      ITEM RESPCODE   I;             # RESPONSE FROM EXEC #
00089  M01S00087.ssalter +++|
00090  M01S00088.ssalter +++|      ARRAY CALL$SS [0:0] P(CPRLEN);;  # CALLSS PARAMETER BLOCK #
00091  M01S00089.ssalter +++|      ARRAY ALMSG[0:0] P(4);
00092  M01S00090.ssalter +++|        BEGIN
00093  M01S00091.ssalter +++|        ITEM ALMSG$LN    C(00,00,39);  # MESSAGE LINE #
00094  M01S00092.ssalter +++|        ITEM ALMSG$TERM  U(03,48,12) = [0];  # ZERO TERMINATOR #
00095  M01S00093.ssalter +++|        END
00096  M01S00094.ssalter +++|
00097  M01S00095.ssalter +++|      ARRAY SPSSTAT [0:0] S(RSLEN);
00098  M01S00096.ssalter +++|        BEGIN
00099  M01S00097.ssalter +++|        ITEM SPS$STATUS U(00,48,12);  # RETURN STATUS #
00100  M01S00098.ssalter +++|        END
00101  M01S00099.ssalter +++|
00102  M01S00100.ssalter +++|                                               CONTROL EJECT;
00103  M01S00101.ssalter +++|
00104  M01S00102.ssalter +++|#
00105  M01S00103.ssalter +++|*     CALL *XARG* TO ALLOW SSJ= ENTRY POINT TO BE SATISFIED.
00106  M01S00104.ssalter +++|#
00107  M01S00105.ssalter +++|
00108  M01S00106.ssalter +++|      XARG(ARGLIST,OPTION,FLAG);
00109  M01S00107.ssalter +++|
00110  M01S00108.ssalter +++|#
00111  M01S00109.ssalter +++|*     GET SPECIAL SYSTEM PRIVELEDGES
00112  M01S00110.ssalter +++|#
00113  M01S00111.ssalter +++|
00114  M01S00112.ssalter +++|      GETSPS ( SPSSTAT );
00115  M01S00113.ssalter +++|      IF SPS$STATUS NQ 0
00116  M01S00114.ssalter +++|      THEN
00117  M01S00115.ssalter +++|        BEGIN
00118  M01S00116.ssalter +++|        ALMSG$LN[0] = MSG3;
00119  M01S00117.ssalter +++|        MESSAGE(ALMSG[0],SYSUDF1);
00120  M01S00118.ssalter +++|        ABORT;
00121  M01S00119.ssalter +++|        END
00122  M01S00120.ssalter +++|
00123  M01S00121.ssalter +++|
00124  M01S00122.ssalter +++|#
00125  M01S00123.ssalter +++|*     GET SUBSYSTEM QUEUE PRIORITY.
00126  M01S00124.ssalter +++|#
00127  M01S00125.ssalter +++|
00128  M01S00126.ssalter +++|      SETQP( -1 );
00129  M01S00127.ssalter +++|
00130  M01S00128.ssalter +++|#
00131  M01S00129.ssalter +++|*     GET THE SAME CPU PRIORITY AS *SSEXEC*.
00132  M01S00130.ssalter +++|#
00133  M01S00131.ssalter +++|
00134  M01S00132.ssalter +++|      SETPR;
00135  M01S00133.ssalter +++|
00136  M01S00134.ssalter +++|#
00137  M01S00135.ssalter +++|*     SAVE THE USER-S CURRENT FAMILY AND USER INDEX IN COMMON.
00138  M01S00136.ssalter +++|#
00139  M01S00137.ssalter +++|
00140  M01S00138.ssalter +++|      GETPFP(PFP[0]);
00141  M01S00139.ssalter +++|      USER$FAM[0] = PFP$FAM[0];
00142  M01S00140.ssalter +++|      USER$UI[0] = PFP$UI[0];
00143  M01S00141.ssalter +++|
00144  M01S00142.ssalter +++|#
00145  M01S00143.ssalter +++|*     SET UP DEFAULT FAMILY AND SUBSYSTEM ID
00146  M01S00144.ssalter +++|#
00147  M01S00145.ssalter +++|
00148  M01S00146.ssalter +++|      SSID$AL = ATAS;
00149  M01S00147.ssalter +++|      GETFAM(FAMT,NUM,LINK,DEFORD,SSID$AL);
00150  M01S00148.ssalter +++|
00151  M01S00149.ssalter +++|#
00152  M01S00150.ssalter +++|*     SET REQUESTOR ID TO *SSALTER*
00153  M01S00151.ssalter +++|#
00154  M01S00152.ssalter +++|
00155  M01S00153.ssalter +++|      REQID$AL = REQNAME"RQIALTER";
00156  M01S00154.ssalter +++|
00157  M01S00155.ssalter +++|#
00158  M01S00156.ssalter +++|*      ESTABLISH LONG-TERM CONNECT WITH *SSEXEC*
00159  M01S00157.ssalter +++|#
00160  M01S00158.ssalter +++|
00161  M01S00159.ssalter +++|      P<CPR> = LOC(CALL$SS[0]);
00162  M01S00160.ssalter +++|      UCPREQ ( TYP"TYP1", REQTYP1"CONNECT", RESPCODE );
00163  M01S00161.ssalter +++|      IF RESPCODE NQ RESPTYP1"OK1"
00164  M01S00162.ssalter +++|      THEN                           # CONNECT NOT DONE #
00165  M01S00163.ssalter +++|        BEGIN
00166  M01S00164.ssalter +++|        ALTMSG$LN[0] = MSG4;
00167  M01S00165.ssalter +++|        MESSAGE(ALTMSG[0],SYSUDF1);
00168  M01S00166.ssalter +++|        RESTPFP(PFP$ABORT);          # RESTORE USER-S *PFP* AND ABORT #
00169  M01S00167.ssalter +++|        END
00170  M01S00168.ssalter +++|
00171  M01S00169.ssalter +++|      UCPREQ(TYP"TYP5",REQTYP5"SSA$PUDT",RESPCODE);
00172  M01S00170.ssalter +++|      IF ( RESPCODE NQ RESPTYP5"OK5" )  ##
00173  M01S00171.ssalter +++|        AND ( RESPCODE NQ RESPTYP5"SSA$OK" )
00174  M01S00172.ssalter +++|      THEN
00175  M01S00173.ssalter +++|        BEGIN  # PROCESS INCORRECT RESPONSE #
00176  M01S00174.ssalter +++|        UCPREQ ( TYP"TYP1", REQTYP1"DISCONNECT", RESPCODE );
00177  M01S00175.ssalter +++|        ALTMSG$LN[0] = MSG5;
00178  M01S00176.ssalter +++|        MESSAGE (ALTMSG[0],SYSUDF1);
00179  M01S00177.ssalter +++|        RESTPFP(PFP$ABORT);
00180  M01S00178.ssalter +++|        END  # PROCESS INCORRECT RESPONSE #
00181  M01S00179.ssalter +++|
00182  M01S00180.ssalter +++|
00183  M01S00181.ssalter +++|#
00184  M01S00182.ssalter +++|*     SET UP INITIALIZATION STATUS
00185  M01S00183.ssalter +++|#
00186  M01S00184.ssalter +++|
00187  M01S00185.ssalter +++|      INITIALIZE = RESPCODE EQ RESPTYP5"SSA$OK";
00188  M01S00186.ssalter +++|
00189  M01S00187.ssalter +++|#
00190  M01S00188.ssalter +++|*     INITIALIZE *K* DISPLAY
00191  M01S00189.ssalter +++|#
00192  M01S00190.ssalter +++|
00193  M01S00191.ssalter +++|      ALTKINT ( INITIALIZE );
00194  M01S00192.ssalter +++|
00195  M01S00193.ssalter +++|#
00196  M01S00194.ssalter +++|*     WAIT FOR OPERATOR INPUT
00197  M01S00195.ssalter +++|#
00198  M01S00196.ssalter +++|
00199  M01S00197.ssalter +++|COMMAND:
00200  M01S00198.ssalter +++|
00201  M01S00199.ssalter +++|      LOOPC = FALSE;
00202  M01S00200.ssalter +++|      SLOWFOR I = 0 WHILE ( NOT LOOPC )
00203  M01S00201.ssalter +++|      DO
00204  M01S00202.ssalter +++|        BEGIN  # ISSUE RECALL REQUESTS #
00205  M01S00203.ssalter +++|
00206  M01S00204.ssalter +++|        RECALL(0);
00207  M01S00205.ssalter +++|
00208  M01S00206.ssalter +++|        IF KB$AL$CLEAR[0] NQ 0
00209  M01S00207.ssalter +++|        THEN
00210  M01S00208.ssalter +++|          BEGIN
00211  M01S00209.ssalter +++|          LOOPC = TRUE;
00212  M01S00210.ssalter +++|          KREQCLEARAL = TRUE;
00213  M01S00211.ssalter +++|          MESSAGE ( BZEROES$AL, LINE2 );
00214  M01S00212.ssalter +++|          KL$AL$SUBL1[LF$AL$KBREJ] = " ";
00215  M01S00213.ssalter +++|          TEST I;
00216  M01S00214.ssalter +++|          END
00217  M01S00215.ssalter +++|
00218  M01S00216.ssalter +++|        TEST I;
00219  M01S00217.ssalter +++|        END  # ISSUE RECALL REQUESTS #
00220  M01S00218.ssalter +++|
00221  M01S00219.ssalter +++|#
00222  M01S00220.ssalter +++|*     PROCESS KEYBOARD INPUTS.
00223  M01S00221.ssalter +++|*     CHECK FOR *STOP*, *END*, *CU*, OR *SM*.
00224  M01S00222.ssalter +++|#
00225  M01S00223.ssalter +++|
00226  M01S00224.ssalter +++|      IF ( C<0,3>KB$AL$SCAN[0] EQ ALTK$END )  ##
00227  M01S00225.ssalter +++|        OR ( C<0,4>KB$AL$SCAN[0] EQ ALTK$STOP )
00228  M01S00226.ssalter +++|      THEN
00229  M01S00227.ssalter +++|        BEGIN
00230  M01S00228.ssalter +++|        GOTO FINISHED;
00231  M01S00229.ssalter +++|        END
00232  M01S00230.ssalter +++|
00233  M01S00231.ssalter +++|      IF ( C<0,2>KB$AL$SCAN[0] NQ ALTK$SM )  ##
00234  M01S00232.ssalter +++|        AND ( C<0,2>KB$AL$SCAN[0] NQ ALTK$CU )
00235  M01S00233.ssalter +++|      THEN
00236  M01S00234.ssalter +++|        BEGIN
00237  M01S00235.ssalter +++|        KL$AL$SUBL1[LF$AL$KBREJ] = "*** REJECT ***";
00238  M01S00236.ssalter +++|        KB$AL$CLEAR[0] = 0;
00239  M01S00237.ssalter +++|        GOTO COMMAND;                # WAIT FOR NEW OPERATOR INPUT #
00240  M01S00238.ssalter +++|        END
00241  M01S00239.ssalter +++|
00242  M01S00240.ssalter +++|      KL$AL$SUBL1[LF$AL$KBREJ] = " ";  # CLEAR REJECT LINE #
00243  M01S00241.ssalter +++|
00244  M01S00242.ssalter +++|#
00245  M01S00243.ssalter +++|*      SET UP COMMAND INDEX
00246  M01S00244.ssalter +++|#
00247  M01S00245.ssalter +++|
00248  M01S00246.ssalter +++|      IF C<0,2>KB$AL$SCAN[0] EQ ALTK$SM
00249  M01S00247.ssalter +++|      THEN
00250  M01S00248.ssalter +++|        BEGIN
00251  M01S00249.ssalter +++|        INDX = 1;
00252  M01S00250.ssalter +++|        END
00253  M01S00251.ssalter +++|
00254  M01S00252.ssalter +++|      IF C<0,2>KB$AL$SCAN[0] EQ ALTK$CU
00255  M01S00253.ssalter +++|      THEN
00256  M01S00254.ssalter +++|        BEGIN
00257  M01S00255.ssalter +++|        INDX = 2;
Line S00256 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00258  M02S00256.ssalte1 ---|        KBCUEST = C<2,2>KB$AL$SCAN[0];
00259  M01S00001.ssalte1 +++|        KBCUEST = C<2,3>KB$AL$SCAN[0];
00260  M01S00257.ssalter +++|        END
00261  M01S00258.ssalter +++|
00262  M01S00259.ssalter +++|      KB$AL$CLEAR = 0;
00263  M01S00260.ssalter +++|
00264  M01S00261.ssalter +++|
00265  M01S00262.ssalter +++|      ALTKINP( INDX, KBCUEST, INITIALIZE );
00266  M01S00263.ssalter +++|
00267  M01S00264.ssalter +++|      KB$AL$CLEAR[0] = 0;
00268  M01S00265.ssalter +++|
00269  M01S00266.ssalter +++|      ALTKINT ( INITIALIZE );
00270  M01S00267.ssalter +++|
00271  M01S00268.ssalter +++|      GOTO COMMAND;
00272  M01S00269.ssalter +++|
00273  M01S00270.ssalter +++|FINISHED:
00274  M01S00271.ssalter +++|
00275  M01S00272.ssalter +++|#
00276  M01S00273.ssalter +++|*     DISCONNECT FROM *SSEXEC*
00277  M01S00274.ssalter +++|#
00278  M01S00275.ssalter +++|
00279  M01S00276.ssalter +++|      UCPREQ ( TYP"TYP1", REQTYP1"DISCONNECT", RESPCODE );
00280  M01S00277.ssalter +++|
00281  M01S00278.ssalter +++|      ALTMSG$LN[0] = MSG2;           # STOP WITH DAYFILE MESSAGE #
00282  M01S00279.ssalter +++|      MESSAGE(ALTMSG[0],UDFL1);
00283  M01S00280.ssalter +++|      RESTPFP(PFP$END);              # RESTORE USER-S *PFP* #
00284  M01S00281.ssalter +++|
00285  M01S00282.ssalter +++|      END  # SSALTER #
00286  M01S00283.ssalter +++|
00287  M01S00284.ssalter +++|    TERM
00288  M01S00285.ssalter +++|PROC ALTKINP( INDEX, ORDINAL, INITIALIZE );
00289  M01S00286.ssalter +++|
00290  M01S00287.ssalter +++|# TITLE ALTKINP - KEYBOARD INPUT.                                      #
00291  M01S00288.ssalter +++|
00292  M01S00289.ssalter +++|      BEGIN  # ALTKINP #
00293  M01S00290.ssalter +++|
00294  M01S00291.ssalter +++|#
00295  M01S00292.ssalter +++|**    ALTKINP - KEYBOARD INPUT.
00296  M01S00293.ssalter +++|*
00297  M01S00294.ssalter +++|*     *ALTKINP* PROCESSES THE OPERATOR RESPONSES OR COMMANDS.
00298  M01S00295.ssalter +++|*
00299  M01S00296.ssalter +++|*     PROC ALTKINP.
00300  M01S00297.ssalter +++|*
00301  M01S00298.ssalter +++|*     ENTRY     INITIALIZE - BOOLEAN ( TRUE IMPLIES INITIALIZE )
00302  M01S00299.ssalter +++|*               INDEX - AN INDEX DESCRIBING WHICH DISPLAY TO DISPLAY.
00303  M01S00300.ssalter +++|*               ORDINAL EST ORDINAL FOR REQUESTED M862.
00304  M01S00301.ssalter +++|*
00305  M01S00302.ssalter +++|*     EXIT      FOR A VALID OPERATOR RESPONSE -
00306  M01S00303.ssalter +++|*                  THE *KWORD* REQUEST (IF IT IS STILL AVAILABLE)
00307  M01S00304.ssalter +++|*                  IS COMPLETED AND DELINKED.
00308  M01S00305.ssalter +++|*                  THE LEFT SCREEN AREA FOR THE RESPONSE IS CLEARED.
00309  M01S00306.ssalter +++|*
00310  M01S00307.ssalter +++|*               FOR A VALID OPERATOR COMMAND -
00311  M01S00308.ssalter +++|*                  THE DEFINED PROCESSING IS DONE.
00312  M01S00309.ssalter +++|*
00313  M01S00310.ssalter +++|*               FOR AN INVALID OPERATOR TYPE-IN  -
00314  M01S00311.ssalter +++|*                  THE TYPE-IN IS DISPLAYED IN THE ECHO LINE OF THE
00315  M01S00312.ssalter +++|*                  LEFT SCREEN.
00316  M01S00313.ssalter +++|*                  THE *** REJECT *** IS DISPLAYED IN THE REJECT LINE.
00317  M01S00314.ssalter +++|*
00318  M01S00315.ssalter +++|*               ARRAY KBINPUTAL - KEYBOARD BUFFER CLEARED.
00319  M01S00316.ssalter +++|*
00320  M01S00317.ssalter +++|#
00321  M01S00318.ssalter +++|
00322  M01S00319.ssalter +++|      ITEM INITIALIZE   B;           # INPUT VARIABLE #
00323  M01S00320.ssalter +++|      ITEM INDEX      I;             # INPUT VARIABLE #
Line S00321 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00324  M02S00321.ssalte1 ---|      ITEM ORDINAL    C(2);          # INPUT VARIABLE #
00325  M01S00002.ssalte1 +++|      ITEM ORDINAL    C(3);          # INPUT VARIABLE #
00326  M01S00322.ssalter +++|
00327  M01S00323.ssalter +++|#
00328  M01S00324.ssalter +++|****  PROC ALTKINP - XREF LIST BEGIN.
00329  M01S00325.ssalter +++|#
00330  M01S00326.ssalter +++|
00331  M01S00327.ssalter +++|      XREF
00332  M01S00328.ssalter +++|        BEGIN
00333  M01S00329.ssalter +++|        FUNC XCDD;
00334  M01S00330.ssalter +++|        PROC CHKMODE;                # CHECK MODE OF PATH/NODE #
00335  M01S00331.ssalter +++|        PROC CUCOMM;                 # CRACK *CU* COMMAND PARAMETERS #
00336  M01S00332.ssalter +++|        PROC DISPCU;                 # GENERATE *CU* DISPLAY #
00337  M01S00333.ssalter +++|        PROC DISPSM;                 # GENERATE *SM* DISPLAY #
00338  M01S00334.ssalter +++|        PROC KCLR;                   # CLEAR CURRENT REQUEST #
00339  M01S00335.ssalter +++|        PROC MESSAGE;                # DISPLAYS A MESSAGE #
00340  M01S00336.ssalter +++|        PROC POKEDIS;                # WRITE TO *K* DISPLAY #
00341  M01S00337.ssalter +++|        PROC RECALL;                 # PUT PROGRAM INTO RECALL #
00342  M01S00338.ssalter +++|        PROC UCPREQ;                 # ISSUE UCP CALL TO *SSEXEC* #
00343  M01S00339.ssalter +++|        FUNC XDXB I;                 # CONVERT DISPLAY CODE TO INTEGER
00344  M01S00340.ssalter +++|                                     #
00345  M01S00341.ssalter +++|        END
00346  M01S00342.ssalter +++|
00347  M01S00343.ssalter +++|#
00348  M01S00344.ssalter +++|****  PROC ALTKINP - XREF LIST END.
00349  M01S00345.ssalter +++|#
00350  M01S00346.ssalter +++|
00351  M01S00347.ssalter +++|      DEF LISTCON   #0#;             # DO NOT LIST COMMON DECKS #
00352  M01S00348.ssalter +++|*CALL COMBFAS
00353  M01S00349.ssalter +++|*CALL COMBCPR
00354  M01S00350.ssalter +++|*CALL COMBPFP
00355  M01S00351.ssalter +++|*CALL COMBUCR
00356  M01S00352.ssalter +++|*CALL COMBUDT
00357  M01S00353.ssalter +++|*CALL COMTALT
00358  M01S00354.ssalter +++|
Line S00355 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00359  M02S00355.ssalte2 ---|      ITEM ADDRESS     U;            # GLOBAL BIT WORD #
00360  M01S00356.ssalter +++|      ITEM BITNUM     I;             # BIT NUMBER FOR UCP CALL #
00361  M01S00357.ssalter +++|      ITEM CH         I;             # CHARACTER INDEX #
00362  M01S00358.ssalter +++|      ITEM CH1        C(1);          # CHARACTER #
00363  M01S00359.ssalter +++|      ITEM CH2        C(2);          # 2 CHARACTERS #
00364  M01S00360.ssalter +++|      ITEM CHAR       C(1);          # CHARACTER #
00365  M01S00361.ssalter +++|      ITEM CHAR2      C(2);          # 2 CHARACTERS #
00366  M01S00003.ssalte1 +++|      ITEM CHAR3      C(3);          # 3-CHARACTER SCRATCH VARIABLE #
00367  M01S00362.ssalter +++|      ITEM COLUMN     I;             # COLUMN NUMBER IN DISPLAY #
00368  M01S00363.ssalter +++|      ITEM COUNT      I;             # NUMBER OF CHARACTERS #
00369  M01S00364.ssalter +++|      ITEM CUINDEX    I;             # *CU* INDEX IN UDT #
00370  M01S00002.ssalte2 +++|      ITEM CU0        U;             # SM/DRD STATUS TO CU 0 #
00371  M01S00003.ssalte2 +++|      ITEM CU1        U;             # SM/DRD STATUS TO CU 1 #
00372  M01S00365.ssalter +++|      ITEM COMMAND    C(10);         # OPERATOR COMMAND #
00373  M01S00366.ssalter +++|      ITEM FLAG       B;             # OUTPUT FROM CHKMODE #
00374  M01S00367.ssalter +++|      ITEM INDX       I;             # LOOP INDEX #
00375  M01S00368.ssalter +++|      ITEM J          I;             # SCRATCH INTEGER #
00376  M01S00369.ssalter +++|      ITEM K          I;             # SCRATCH INTEGER #
00377  M01S00370.ssalter +++|      ITEM LINE       I;             # *K* DISPLAY LINE NUMBER #
00378  M01S00371.ssalter +++|      ITEM LOOPC      B;             # LOOP CONTROL VARIABLE #
00379  M01S00372.ssalter +++|      ITEM NCHAR      I;             # NEXT CHARACTER COUNTER #
00380  M01S00373.ssalter +++|      ITEM ORD        I;             # ORDINAL #
00381  M01S00374.ssalter +++|      ITEM ESTORD     I;             # EST ORDINAL #
00382  M01S00375.ssalter +++|      ITEM MSG        C(80);         # MESSAGE #
00383  M01S00376.ssalter +++|      ITEM REJECT     B;             # REJECT RESPONSE FLAG #
00384  M01S00377.ssalter +++|      ITEM RESPCODE   I;             # RESPONSE FROM SSEXEC #
00385  M01S00378.ssalter +++|      ITEM SMINDEX    I;             # *SM* INDEX IN UDT #
00386  M01S00379.ssalter +++|      ITEM STAT       I;             # INTEGER STATUS #
00387  M01S00380.ssalter +++|      ITEM STATE      B;             # PATH STATUS #
00388  M01S00381.ssalter +++|      ITEM TEMP       I;             # TEMPORARY INTEGER #
00389  M01S00382.ssalter +++|
00390  M01S00383.ssalter +++|      ARRAY CALL$SS[0:0]P(CPRLEN);;  # CALLSS PARAMETER BLOCK #
00391  M01S00384.ssalter +++|
00392  M01S00385.ssalter +++|                                               CONTROL EJECT;
Line S00004 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00393  M02S00004.ssalte2 ---|                                               CONTROL INERT;
00394  M01S00386.ssalter +++|
00395  M01S00387.ssalter +++|#
00396  M01S00388.ssalter +++|*     SET INITIAL CONDITIONS
00397  M01S00389.ssalter +++|#
00398  M01S00390.ssalter +++|
00399  M01S00391.ssalter +++|      P<UDT$WORD> = LOC( UDT$HDR);
00400  M01S00392.ssalter +++|      P<CPR> = LOC( CALL$SS[0] );
00401  M01S00393.ssalter +++|      CUINDEX = 0;
00402  M01S00394.ssalter +++|      SMINDEX = 0;
00403  M01S00395.ssalter +++|
00404  M01S00396.ssalter +++|      KL$AL$LINE[LF$AL$KBREJ] = " ";  # CLEAR REJECT LINE #
00405  M01S00397.ssalter +++|
00406  M01S00398.ssalter +++|      KL$AL$SUBL1[LF$AL$KBECHO] = KB$AL$SCAN[0];  # SET ECHO LINE #
00407  M01S00399.ssalter +++|
00408  M01S00400.ssalter +++|#
00409  M01S00401.ssalter +++|*     CRACK THE KEYBOARD INPUT.  DETERMINE IF INPUT IS -
00410  M01S00402.ssalter +++|*       . CU - INDICATING A REQUEST TO DISPLAY THE *CU* DISPLAY
00411  M01S00403.ssalter +++|*       . SM - INDICATING A REQUEST TO DISPLAY THE *SM* DISPLAY
00412  M01S00404.ssalter +++|#
00413  M01S00405.ssalter +++|
00414  M01S00406.ssalter +++|CU$DISP:
00415  M01S00407.ssalter +++|
00416  M01S00408.ssalter +++|      IF INDEX EQ 2
00417  M01S00409.ssalter +++|      THEN
00418  M01S00410.ssalter +++|        BEGIN  # PROCESS *CU* COMMAND #
00419  M01S00411.ssalter +++|
00420  M01S00412.ssalter +++|#
00421  M01S00413.ssalter +++|*     LOCATE CORRECT UDT ENTRY
00422  M01S00414.ssalter +++|#
00423  M01S00415.ssalter +++|
Line S00416 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00424  M02S00416.ssalte1 ---|        STAT = XDXB ( ORDINAL, 0, ORD );
Line S00417 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00425  M02S00417.ssalte1 ---|        IF STAT NQ 0
Line S00418 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00426  M02S00418.ssalte1 ---|        THEN
Line S00419 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00427  M02S00419.ssalte1 ---|          BEGIN
Line S00420 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00428  M02S00420.ssalte1 ---|          GOTO REJECTORD;            # REJECT IF BAD ORDINAL #
Line S00421 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00429  M02S00421.ssalte1 ---|          END
Line S00422 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00430  M02S00422.ssalte1 ---|
00431  M01S00423.ssalter +++|        LOOPC = FALSE;
00432  M01S00424.ssalter +++|        SLOWFOR INDX = 0 STEP 1 WHILE NOT LOOPC
00433  M01S00425.ssalter +++|        DO
00434  M01S00426.ssalter +++|          BEGIN
00435  M01S00427.ssalter +++|          P< UDT$CN > = LOC ( UDT$M862[INDX] );
Line S00428 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00436  M02S00428.ssalte1 ---|          STAT = XDXB ( ORDINAL, 0, ESTORD );
00437  M01S00005.ssalte1 +++|          STAT = XDXB(ORDINAL,0,ESTORD);  # ASSUME 3 CHARACTERS #
00438  M01S00429.ssalter +++|          IF STAT NQ 0
00439  M01S00430.ssalter +++|          THEN
00440  M01S00431.ssalter +++|            BEGIN
Line S00432 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00441  M02S00432.ssalte1 ---|            GOTO REJECTORD;          # REJECT IF BAD ORDINAL #
00442  M01S00006.ssalte1 +++|            STAT = XDXB(C<0,2>ORDINAL,0,ORD);  # ASSUME 2 CHARACTERS #
00443  M01S00007.ssalte1 +++|            IF STAT NQ 0
00444  M01S00008.ssalte1 +++|            THEN                     # BAD EST ORDINAL #
00445  M01S00009.ssalte1 +++|              BEGIN  # EXIT #
00446  M01S00010.ssalte1 +++|              GOTO REJECTORD;
00447  M01S00011.ssalte1 +++|              END  # EXIT #
00448  M01S00012.ssalte1 +++|
00449  M01S00433.ssalter +++|            END
00450  M01S00434.ssalter +++|
00451  M01S00435.ssalter +++|          IF ESTORD EQ 0
00452  M01S00436.ssalter +++|          THEN
00453  M01S00437.ssalter +++|            BEGIN
00454  M01S00438.ssalter +++|            GOTO REJECTORD;          # BLANK IS ILLEGAL #
00455  M01S00439.ssalter +++|            END
00456  M01S00440.ssalter +++|
00457  M01S00441.ssalter +++|          IF ESTORD NQ UD$ESTO[1]
00458  M01S00442.ssalter +++|          THEN
00459  M01S00443.ssalter +++|            BEGIN
00460  M01S00444.ssalter +++|            IF INDX GQ UDT$LINE$CUN[0]
00461  M01S00445.ssalter +++|            THEN
00462  M01S00446.ssalter +++|              BEGIN
00463  M01S00447.ssalter +++|              GOTO REJECTORD;        # REJECT IF BAD ORDINAL #
00464  M01S00448.ssalter +++|              END
00465  M01S00449.ssalter +++|
00466  M01S00450.ssalter +++|            TEST INDX;
00467  M01S00451.ssalter +++|            END
00468  M01S00452.ssalter +++|
00469  M01S00453.ssalter +++|          ELSE
00470  M01S00454.ssalter +++|            LOOPC = TRUE;
00471  M01S00455.ssalter +++|          TEST INDX;
00472  M01S00456.ssalter +++|          END
00473  M01S00457.ssalter +++|
00474  M01S00458.ssalter +++|
00475  M01S00459.ssalter +++|        CUINDEX = INDX;
00476  M01S00460.ssalter +++|
00477  M01S00461.ssalter +++|        DISPCU ( CUINDEX, ESTORD );
00478  M01S00462.ssalter +++|
00479  M01S00463.ssalter +++|CU$DISP1:
00480  M01S00464.ssalter +++|
00481  M01S00465.ssalter +++|#
00482  M01S00466.ssalter +++|*     WAIT FOR OPERATOR INPUT
00483  M01S00467.ssalter +++|#
00484  M01S00468.ssalter +++|
00485  M01S00469.ssalter +++|        LOOPC = FALSE;
00486  M01S00470.ssalter +++|        SLOWFOR J = 0 STEP 1 WHILE ( NOT LOOPC )
00487  M01S00471.ssalter +++|        DO
00488  M01S00472.ssalter +++|          BEGIN  # ISSUE RECALL UNTIL INPUT #
00489  M01S00473.ssalter +++|
00490  M01S00474.ssalter +++|          RECALL ( 0 );
00491  M01S00475.ssalter +++|
00492  M01S00476.ssalter +++|          IF KB$AL$CLEAR NQ 0
00493  M01S00477.ssalter +++|          THEN
00494  M01S00478.ssalter +++|            BEGIN
00495  M01S00479.ssalter +++|            LOOPC = TRUE;
00496  M01S00480.ssalter +++|            KL$AL$LINE[LF$AL$KBECHO] = KB$AL$SCAN[0];  # ECHO THE
00497  M01S00481.ssalter +++|                                                         REQUEST #
00498  M01S00482.ssalter +++|            CPR$CUORD[0] = CUINDEX;
00499  M01S00483.ssalter +++|
00500  M01S00484.ssalter +++|#
00501  M01S00485.ssalter +++|*     SEND ALL OPERATOR COMMANDS TO THE SYSTEM DAYFILE.
00502  M01S00486.ssalter +++|#
00503  M01S00487.ssalter +++|
00504  M01S00488.ssalter +++|            MESSAGE ( KB$AL$SCAN[0], SYSUDF1 );
00505  M01S00489.ssalter +++|
00506  M01S00490.ssalter +++|            TEST J;
00507  M01S00491.ssalter +++|            END
00508  M01S00492.ssalter +++|
00509  M01S00493.ssalter +++|          END  # ISSUE RECALL REQUESTS UNTIL INPUT #
00510  M01S00494.ssalter +++|
00511  M01S00495.ssalter +++|        IF C<0,3>KB$AL$SCAN[0] EQ ALTK$END
00512  M01S00496.ssalter +++|        THEN
00513  M01S00497.ssalter +++|          BEGIN
00514  M01S00498.ssalter +++|          P<SM$SCREEN> = LOC(KLEFTSCRNAL);
00515  M01S00499.ssalter +++|          SLOWFOR J = 4 STEP 1 UNTIL LF$AL$KBECHO
00516  M01S00500.ssalter +++|          DO
00517  M01S00501.ssalter +++|            BEGIN
00518  M01S00502.ssalter +++|            CU$LN[J] = ALTK$BL;
00519  M01S00503.ssalter +++|            CU$EOL[J] = 0;
00520  M01S00504.ssalter +++|            END
00521  M01S00505.ssalter +++|
00522  M01S00506.ssalter +++|          RETURN;                    # RETURN IF *END* #
00523  M01S00507.ssalter +++|          END
00524  M01S00508.ssalter +++|        ELSE
00525  M01S00509.ssalter +++|          BEGIN
00526  M01S00510.ssalter +++|          GOTO REJECTCOM;
00527  M01S00511.ssalter +++|          END
00528  M01S00512.ssalter +++|
00529  M01S00513.ssalter +++|
00530  M01S00514.ssalter +++|        END  # PROCESS *CU* COMMAND #
00531  M01S00515.ssalter +++|
00532  M01S00516.ssalter +++|SM$DISP:
00533  M01S00517.ssalter +++|
00534  M01S00518.ssalter +++|      IF INDEX EQ 1
00535  M01S00519.ssalter +++|      THEN
00536  M01S00520.ssalter +++|        BEGIN  # PROCESS *SM* COMMANDS #
00537  M01S00521.ssalter +++|
00538  M01S00522.ssalter +++|        DISPSM( SMINDEX , INITIALIZE );
00539  M01S00523.ssalter +++|
00540  M01S00524.ssalter +++|SM$DISP1:
00541  M01S00525.ssalter +++|
00542  M01S00526.ssalter +++|#
00543  M01S00527.ssalter +++|*     WAIT FOR OPERATOR INPUT
00544  M01S00528.ssalter +++|#
00545  M01S00529.ssalter +++|
00546  M01S00530.ssalter +++|        LOOPC = FALSE;
00547  M01S00531.ssalter +++|        SLOWFOR J = 0 STEP 1 WHILE ( NOT LOOPC )
00548  M01S00532.ssalter +++|        DO
00549  M01S00533.ssalter +++|          BEGIN  # ISSUE RECALL UNTIL INPUT #
00550  M01S00534.ssalter +++|
00551  M01S00535.ssalter +++|          RECALL ( 0 );
00552  M01S00536.ssalter +++|
00553  M01S00537.ssalter +++|          IF KB$AL$CLEAR NQ 0
00554  M01S00538.ssalter +++|          THEN
00555  M01S00539.ssalter +++|            BEGIN
00556  M01S00540.ssalter +++|            LOOPC = TRUE;
00557  M01S00541.ssalter +++|            KL$AL$LINE[LF$AL$KBECHO] = KB$AL$SCAN[0];  # ECHO THE
00558  M01S00542.ssalter +++|                                                         REQUEST #
00559  M01S00543.ssalter +++|
00560  M01S00544.ssalter +++|#
00561  M01S00545.ssalter +++|*     SEND ALL OPERATOR COMMANDS TO THE SYSTEM DAYFILE.
00562  M01S00546.ssalter +++|#
00563  M01S00547.ssalter +++|
00564  M01S00548.ssalter +++|            MESSAGE ( KB$AL$SCAN[0], SYSUDF1 );
00565  M01S00549.ssalter +++|
00566  M01S00550.ssalter +++|            TEST J;
00567  M01S00551.ssalter +++|            END
00568  M01S00552.ssalter +++|
00569  M01S00553.ssalter +++|          END  # ISSUE RECALL REQUESTS UNTIL INPUT #
00570  M01S00554.ssalter +++|
00571  M01S00555.ssalter +++|        IF ( C<0,2>KB$AL$SCAN[0] NQ ALTK$SM )  ##
00572  M01S00556.ssalter +++|          AND ( C<0,3>KB$AL$SCAN[0] NQ ALTK$END )  ##
00573  M01S00557.ssalter +++|          AND ( C<0,1>KB$AL$SCAN[0] NQ ALTK$PLUS )
00574  M01S00558.ssalter +++|        THEN
00575  M01S00559.ssalter +++|          BEGIN  # REJECT RESPONSE #
00576  M01S00560.ssalter +++|          GOTO REJECTCOM;
00577  M01S00561.ssalter +++|          END  # REJECT RESPONSE #
00578  M01S00562.ssalter +++|
00579  M01S00563.ssalter +++|        KL$AL$SUBL1[LF$AL$KBREJ] = " ";  # CLEAR REJECT LINE #
00580  M01S00564.ssalter +++|        IF C<0,1>KB$AL$SCAN[0] EQ ALTK$PLUS
00581  M01S00565.ssalter +++|        THEN
00582  M01S00566.ssalter +++|          BEGIN  # PROCESS K.+ #
00583  M01S00567.ssalter +++|          SMINDEX = SMINDEX + 1;
00584  M01S00568.ssalter +++|          IF SMINDEX GQ UDT$LINE$SMN[0]
00585  M01S00569.ssalter +++|          THEN
00586  M01S00570.ssalter +++|            BEGIN  # NO SUCH DISPLAY AVAILABLE #
00587  M01S00571.ssalter +++|            SMINDEX = SMINDEX - 1;
00588  M01S00572.ssalter +++|            GOTO REJECTCOM;
00589  M01S00573.ssalter +++|            END  # NO SUCH DISPLAY AVAILABLE #
00590  M01S00574.ssalter +++|
00591  M01S00575.ssalter +++|          ELSE
00592  M01S00576.ssalter +++|            BEGIN  # "+" IS OK, DISPLAY NEXT PAGE #
00593  M01S00577.ssalter +++|            KB$AL$CLEAR[0] = 0;
00594  M01S00578.ssalter +++|            KL$AL$LINE[LF$AL$KBECHO] = " ";
00595  M01S00579.ssalter +++|            GOTO SM$DISP;
00596  M01S00580.ssalter +++|            END  # "+" IS OK, DISPLAY NEXT PAGE #
00597  M01S00581.ssalter +++|
00598  M01S00582.ssalter +++|          END  # PROCESS PLUS #
00599  M01S00583.ssalter +++|
00600  M01S00584.ssalter +++|
00601  M01S00585.ssalter +++|        IF C<0,2>KB$AL$SCAN[0] NQ ALTK$SM
00602  M01S00586.ssalter +++|        THEN
00603  M01S00587.ssalter +++|          BEGIN
00604  M01S00588.ssalter +++|
00605  M01S00589.ssalter +++|#
00606  M01S00590.ssalter +++|*     BLANK THE SCREEN
00607  M01S00591.ssalter +++|#
00608  M01S00592.ssalter +++|
00609  M01S00593.ssalter +++|          P<SM$SCREEN> = LOC(KLEFTSCRNAL);
00610  M01S00594.ssalter +++|          SLOWFOR J = LF$AL$BODY STEP 1 UNTIL LF$AL$KBECHO
00611  M01S00595.ssalter +++|          DO
00612  M01S00596.ssalter +++|            BEGIN
00613  M01S00597.ssalter +++|            SM$LN[J] = ALTK$BL;
00614  M01S00598.ssalter +++|            SM$EOL[J] = 0;
00615  M01S00599.ssalter +++|            END
00616  M01S00600.ssalter +++|
00617  M01S00601.ssalter +++|          RETURN;                    # RETURN IF *END* OR *STOP* #
00618  M01S00602.ssalter +++|          END
00619  M01S00603.ssalter +++|
00620  M01S00604.ssalter +++|        P<UDT$SMA> = LOC(UDT$M861[SMINDEX]);
Line S00605 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00621  M02S00605.ssalte1 ---|        IF C<2,1>KB$AL$SCAN[0] NQ SM$ID[1]
00622  M01S00013.ssalte1 +++|        IF C<2,1>KB$AL$SCAN[0] NQ SM$ID[1]  # NOT THE SM ON CONSOLE #
00623  M01S00014.ssalte1 +++|          OR C<3,1>KB$AL$SCAN[0] NQ COMMA
00624  M01S00606.ssalter +++|        THEN
00625  M01S00607.ssalter +++|          BEGIN  # REJECT RESPONSE #
00626  M01S00608.ssalter +++|          GOTO REJECTCOM;
00627  M01S00609.ssalter +++|          END  # REJECT RESPONSE #
00628  M01S00610.ssalter +++|
00629  M01S00611.ssalter +++|        CHAR2 = C<4,2>KB$AL$SCAN[0];
00630  M01S00612.ssalter +++|        IF ( CHAR2 NQ NM$KEY2[2] )   ##
Line S00613 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00631  M02S00613.ssalte1 ---|          AND ( C<4,3>KB$AL$SCAN[0] NQ NM$KEY3[8]  ##
Line S00614 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00632  M02S00614.ssalte1 ---|          AND C<8,1>KB$AL$SCAN[0] NQ COMMA  ##
Line S00615 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00633  M02S00615.ssalte1 ---|          AND C<9,2>KB$AL$SCAN[0] NQ NM$KEY2[2] )
00634  M01S00015.ssalte1 +++|          AND C<4,3>KB$AL$SCAN[0] NQ NM$KEY3[8]
00635  M01S00616.ssalter +++|        THEN
00636  M01S00617.ssalter +++|          BEGIN  # REJECT RESPONSE #
00637  M01S00618.ssalter +++|          GOTO REJECTCOM;
00638  M01S00619.ssalter +++|          END  # REJECT RESPONSE #
00639  M01S00620.ssalter +++|
00640  M01S00621.ssalter +++|        IF C<4,3>KB$AL$SCAN[0] EQ NM$KEY3[8]
00641  M01S00622.ssalter +++|        THEN
00642  M01S00623.ssalter +++|          BEGIN  # PRE-PROCESS DRD STATUS CHANGE #
Line S00624 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00643  M02S00624.ssalte1 ---|          NCHAR = 7;
Line S00625 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00644  M02S00625.ssalte1 ---|          CHAR = C<NCHAR,1>KB$AL$SCAN[0];
Line S00626 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00645  M02S00626.ssalte1 ---|          STAT = XDXB( CHAR,0,J );
00646  M01S00016.ssalte1 +++|          STAT = XDXB(C<7,2>KB$AL$SCAN[0],1,J);  # ASSUME 2 CHARS #
00647  M01S00017.ssalte1 +++|          NCHAR = 9;
00648  M01S00627.ssalter +++|          IF STAT NQ 0
00649  M01S00628.ssalter +++|          THEN
Line S00629 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00650  M02S00629.ssalte1 ---|            BEGIN  # REJECT INVALID DEVICE ADDRESS #
Line S00630 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00651  M02S00630.ssalte1 ---|            GOTO REJECTCOM;
Line S00631 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00652  M02S00631.ssalte1 ---|            END  # REJECT INVALID DEVICE ADDRESS #
00653  M01S00018.ssalte1 +++|            BEGIN  # ONE #
00654  M01S00019.ssalte1 +++|            STAT = XDXB(C<7,1>KB$AL$SCAN[0],1,J);  # ASSUME 1 CHAR #
00655  M01S00020.ssalte1 +++|            NCHAR = 8;
00656  M01S00021.ssalte1 +++|            IF STAT NQ 0
00657  M01S00022.ssalte1 +++|            THEN                     # BAD DRD ORDINAL #
00658  M01S00023.ssalte1 +++|              BEGIN  # REJECT #
00659  M01S00024.ssalte1 +++|              GOTO REJECTCOM;
00660  M01S00025.ssalte1 +++|              END  # REJECT #
00661  M01S00026.ssalte1 +++|
00662  M01S00027.ssalte1 +++|            END  # ONE #
00663  M01S00028.ssalte1 +++|
00664  M01S00029.ssalte1 +++|          IF C<NCHAR,1>KB$AL$SCAN[0] NQ COMMA
00665  M01S00030.ssalte1 +++|          THEN                       # BAD SYNTAX #
00666  M01S00031.ssalte1 +++|            BEGIN  # EXIT #
00667  M01S00032.ssalte1 +++|            GOTO REJECTCOM;
00668  M01S00033.ssalte1 +++|            END  # EXIT #
00669  M01S00034.ssalte1 +++|
00670  M01S00035.ssalte1 +++|          NCHAR = NCHAR + 1;
00671  M01S00036.ssalte1 +++|          IF C<NCHAR,2>KB$AL$SCAN[0] NQ "CU"
00672  M01S00037.ssalte1 +++|          THEN                       # BAD SYNTAX #
00673  M01S00038.ssalte1 +++|            BEGIN  # EXIT #
00674  M01S00039.ssalte1 +++|            GOTO REJECTCOM;
00675  M01S00040.ssalte1 +++|            END  # EXIT #
00676  M01S00041.ssalte1 +++|
00677  M01S00042.ssalte1 +++|          NCHAR = NCHAR + 2;
00678  M01S00632.ssalter +++|
Line S00633 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00679  M02S00633.ssalte1 ---|          IF ( J LS 0 ) OR ( J GR MAX$DRD )
00680  M01S00043.ssalte1 +++|          IF (J LS 0) OR (J GR MAX$DRDDA)
00681  M01S00634.ssalter +++|          THEN
00682  M01S00635.ssalter +++|            BEGIN  # REJECT BAD DEVICE ADDRESS #
00683  M01S00636.ssalter +++|            GOTO REJECTCOM;
00684  M01S00637.ssalter +++|            END  # REJECT BAD DEVICE ADDRESS #
00685  M01S00638.ssalter +++|
Line S00639 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00686  M02S00639.ssalte1 ---|          IF ( J LS 2*SMINDEX )      ##
Line S00640 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00687  M02S00640.ssalte1 ---|            OR ( J GR (2*SMINDEX) + 1 )
00688  M01S00044.ssalte1 +++|          IF (J NQ D0$SUN[1]) AND (J NQ D1$SUN[1])
00689  M01S00641.ssalter +++|          THEN
00690  M01S00642.ssalter +++|            BEGIN  # REJECT BAD DEVICE ADDRESS #
00691  M01S00643.ssalter +++|            GOTO REJECTCOM;
00692  M01S00644.ssalter +++|            END  # REJECT BAD DEVICE ADDRESS #
00693  M01S00645.ssalter +++|
Line S00646 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00694  M02S00646.ssalte1 ---|          CHAR2 = C<11,2>KB$AL$SCAN[0];
Line S00647 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00695  M02S00647.ssalte1 ---|          STAT = XDXB( CHAR2,0,K);
00696  M01S00045.ssalte1 +++|          CHAR3 = C<NCHAR,3>KB$AL$SCAN[0];
00697  M01S00046.ssalte1 +++|          STAT = XDXB(CHAR3,0,K);    # ASSUME 3 CHARS #
00698  M01S00648.ssalter +++|          IF STAT NQ 0
00699  M01S00649.ssalter +++|          THEN
00700  M01S00650.ssalter +++|            BEGIN
Line S00651 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00701  M02S00651.ssalte1 ---|            GOTO REJECTCOM;
00702  M01S00047.ssalte1 +++|            CHAR2 = C<NCHAR,2>KB$AL$SCAN[0];
00703  M01S00048.ssalte1 +++|            STAT = XDXB(CHAR2,0,K);  # ASSUME 2 #
00704  M01S00049.ssalte1 +++|            NCHAR = NCHAR + 2;
00705  M01S00050.ssalte1 +++|            IF STAT NQ 0
00706  M01S00051.ssalte1 +++|            THEN                     # BAD CONTROLLER ORDINAL #
00707  M01S00052.ssalte1 +++|              BEGIN  # EXIT #
00708  M01S00053.ssalte1 +++|              GOTO REJECTCOM;
00709  M01S00054.ssalte1 +++|              END  # EXIT #
00710  M01S00055.ssalte1 +++|
00711  M01S00652.ssalter +++|            END
00712  M01S00653.ssalter +++|
00713  M01S00056.ssalte1 +++|          ELSE                       # BUMP POSITION COUNTER #
00714  M01S00057.ssalte1 +++|            BEGIN  # BUMP #
00715  M01S00058.ssalte1 +++|            NCHAR = NCHAR + 3;
00716  M01S00059.ssalte1 +++|            END  # BUMP #
00717  M01S00060.ssalte1 +++|
00718  M01S00654.ssalter +++|          IF ( K LS 0 ) OR ( K GR MAXEST )
00719  M01S00655.ssalter +++|          THEN
00720  M01S00656.ssalter +++|            BEGIN
00721  M01S00657.ssalter +++|            GOTO REJECTCOM;
00722  M01S00658.ssalter +++|            END
00723  M01S00659.ssalter +++|
Line S00660 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00724  M02S00660.ssalte1 ---|          NCHAR = 12;
00725  M01S00661.ssalter +++|          END  # PREPROCESS DRD STATUS CHANGE #
00726  M01S00662.ssalter +++|
00727  M01S00663.ssalter +++|        CHAR2 = C<4,2>KB$AL$SCAN[0];
00728  M01S00664.ssalter +++|        IF CHAR2 EQ NM$KEY2[2]
00729  M01S00665.ssalter +++|        THEN
00730  M01S00666.ssalter +++|          BEGIN  # PREPROCESS ACCESSOR CHANGE REQUEST #
Line S00667 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00731  M02S00667.ssalte1 ---|          NCHAR = 6;
Line S00668 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00732  M02S00668.ssalte1 ---|          CHAR2 = C<NCHAR,2>KB$AL$SCAN[0];
Line S00669 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00733  M02S00669.ssalte1 ---|          STAT = XDXB( CHAR2,0,J );
00734  M01S00061.ssalte1 +++|          STAT = XDXB(C<6,3>KB$AL$SCAN[0],0,J);  # ASSUME 3 CHARS #
00735  M01S00062.ssalte1 +++|          NCHAR = 9;
00736  M01S00670.ssalter +++|          IF STAT NQ 0
00737  M01S00671.ssalter +++|          THEN
00738  M01S00672.ssalter +++|            BEGIN
Line S00673 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00739  M02S00673.ssalte1 ---|            GOTO REJECTCOM;
00740  M01S00063.ssalte1 +++|            STAT = XDXB(C<6,2>KB$AL$SCAN[0],0,J);  # ASSUME 2 CHARS #
00741  M01S00064.ssalte1 +++|            NCHAR = 8;
00742  M01S00065.ssalte1 +++|            IF STAT NQ 0
00743  M01S00066.ssalte1 +++|            THEN                     # BAD CONTROLLER ORDINAL #
00744  M01S00067.ssalte1 +++|              BEGIN  # EXIT #
00745  M01S00068.ssalte1 +++|              GOTO REJECTCOM;
00746  M01S00069.ssalte1 +++|              END  # EXIT #
00747  M01S00070.ssalte1 +++|
00748  M01S00674.ssalter +++|            END
00749  M01S00675.ssalter +++|
00750  M01S00676.ssalter +++|          IF ( J LS 0 ) OR ( J GR MAXEST )
00751  M01S00677.ssalter +++|          THEN
00752  M01S00678.ssalter +++|            BEGIN
00753  M01S00679.ssalter +++|            GOTO REJECTCOM;
00754  M01S00680.ssalter +++|            END
00755  M01S00681.ssalter +++|
Line S00682 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00756  M02S00682.ssalte1 ---|          NCHAR = NCHAR + 1;
Line S00683 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00757  M02S00683.ssalte1 ---|
00758  M01S00684.ssalter +++|          END  # PREPROCESS ACCESSOR CHANGE REQUEST #
00759  M01S00685.ssalter +++|
00760  M01S00686.ssalter +++|#
00761  M01S00687.ssalter +++|*     ADVANCE TO STATUS CHARACTER.
00762  M01S00688.ssalter +++|#
00763  M01S00689.ssalter +++|
Line S00690 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00764  M02S00690.ssalte1 ---|        NCHAR = NCHAR+2;
00765  M01S00071.ssalte1 +++|        IF C<NCHAR,1>KB$AL$SCAN[0] NQ "="
00766  M01S00072.ssalte1 +++|        THEN                         # BAD SYNTAX #
00767  M01S00073.ssalte1 +++|          BEGIN  # EXIT #
00768  M01S00074.ssalte1 +++|          GOTO REJECTCOM;
00769  M01S00075.ssalte1 +++|          END  # EXIT #
00770  M01S00076.ssalte1 +++|
00771  M01S00077.ssalte1 +++|        NCHAR = NCHAR + 1;
00772  M01S00691.ssalter +++|
00773  M01S00692.ssalter +++|#
00774  M01S00693.ssalter +++|*     ADJUST DRD DEVICE ADDRESS
00775  M01S00694.ssalter +++|#
00776  M01S00695.ssalter +++|
Line S00696 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00777  M02S00696.ssalte1 ---|        IF J LS 8
00778  M01S00078.ssalte1 +++|        IF C<4,3>KB$AL$SCAN[0] EQ "DRD"
00779  M01S00697.ssalter +++|        THEN
00780  M01S00698.ssalter +++|          BEGIN
Line S00699 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00781  M02S00699.ssalte1 ---|          J = J - ( SMINDEX*2 );
00782  M01S00079.ssalte1 +++|          J = J - ((J/2)*2);
00783  M01S00700.ssalter +++|          END
00784  M01S00701.ssalter +++|
00785  M01S00702.ssalter +++|
00786  M01S00703.ssalter +++|#
00787  M01S00704.ssalter +++|*     J GQ 8 IMPLIES K.SM"ID",CUNN=X. COMMAND
00788  M01S00705.ssalter +++|*     J EQ 0 OR 1 IMPLIES K.SM"ID",DRDN,CUNN=X. COMMAND.
00789  M01S00706.ssalter +++|#
00790  M01S00707.ssalter +++|
00791  M01S00708.ssalter +++|        CHAR = C<NCHAR,1>KB$AL$SCAN;
00792  M01S00709.ssalter +++|        IF ( CHAR NQ ALTK$MAINT )    ##
00793  M01S00710.ssalter +++|          AND ( CHAR NQ ALTK$ONLINE )  ##
00794  M01S00711.ssalter +++|          AND ( CHAR NQ ALTK$OFFLINE )
00795  M01S00712.ssalter +++|        THEN
00796  M01S00713.ssalter +++|          BEGIN  # REJECT INVALID STATUS #
00797  M01S00714.ssalter +++|          GOTO REJECTCOM;
00798  M01S00715.ssalter +++|          END  # REJECT INVALID STATUS #
00799  M01S00716.ssalter +++|
00800  M01S00717.ssalter +++|        IF ( CHAR EQ ALTK$MAINT ) AND INITIALIZE
00801  M01S00718.ssalter +++|        THEN
00802  M01S00719.ssalter +++|          BEGIN
00803  M01S00720.ssalter +++|          GOTO REJECTCOM;            # INITIALIZE PROHIBITS MAINTENANCE
00804  M01S00721.ssalter +++|                                       MODE #
00805  M01S00722.ssalter +++|          END
00806  M01S00723.ssalter +++|
00807  M01S00724.ssalter +++|        IF J GQ 8
00808  M01S00725.ssalter +++|        THEN
00809  M01S00726.ssalter +++|          BEGIN
00810  M01S00727.ssalter +++|          P<UDT$LOC> = LOC(SM$WD0[1]);
Line S00728 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00811  M02S00728.ssalte2 ---|          ADDRESS = SM$WD0[1];
00812  M01S00004.ssalte2 +++|          CU0 = SMST0;               # SAVE CU STATUS INDEXES #
00813  M01S00005.ssalte2 +++|          CU1 = SMST1;
00814  M01S00729.ssalter +++|          END
00815  M01S00730.ssalter +++|
00816  M01S00731.ssalter +++|        IF J EQ 0
00817  M01S00732.ssalter +++|        THEN
00818  M01S00733.ssalter +++|          BEGIN
00819  M01S00734.ssalter +++|          P<UDT$LOC> = LOC(D0$WD0[1]);
00820  M01S00735.ssalter +++|          TEMP = D0$WD0[1];
Line S00736 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00821  M02S00736.ssalte2 ---|          ADDRESS = D0$WD0[1];
00822  M01S00006.ssalte2 +++|          CU0 = DRST0;               # SAVE CU STATUS INDEXES #
00823  M01S00007.ssalte2 +++|          CU1 = DRST1;
00824  M01S00737.ssalter +++|          END
00825  M01S00738.ssalter +++|
00826  M01S00739.ssalter +++|        IF J EQ 1
00827  M01S00740.ssalter +++|        THEN
00828  M01S00741.ssalter +++|          BEGIN
00829  M01S00742.ssalter +++|          P<UDT$LOC> = LOC(D1$WD0[1]);
00830  M01S00743.ssalter +++|          TEMP = D1$WD0[1];
Line S00744 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00831  M02S00744.ssalte2 ---|          ADDRESS = D1$WD0[1];
00832  M01S00008.ssalte2 +++|          CU0 = DRST0;               # SAVE CU STATUS INDEXES #
00833  M01S00009.ssalte2 +++|          CU1 = DRST1;
00834  M01S00745.ssalter +++|          END
00835  M01S00746.ssalter +++|
00836  M01S00747.ssalter +++|#
00837  M01S00748.ssalter +++|*     CHECK PATH/NODE CURRENT CONDITION
00838  M01S00749.ssalter +++|#
00839  M01S00750.ssalter +++|
00840  M01S00751.ssalter +++|        IF J LQ 1
00841  M01S00752.ssalter +++|        THEN
00842  M01S00753.ssalter +++|          BEGIN
00843  M01S00754.ssalter +++|          P<UDT$CN> = LOC(UDT$M862[SM$CUO0[1]-1]);
00844  M01S00755.ssalter +++|          IF K EQ UD$ESTO[1]
00845  M01S00756.ssalter +++|          THEN
00846  M01S00757.ssalter +++|            BEGIN  # CHECK FIRST CONTROLLER #
00847  M01S00758.ssalter +++|            IF B<12+PATH$DF"U$EXISTS",1>TEMP EQ 0
00848  M01S00759.ssalter +++|            THEN
00849  M01S00760.ssalter +++|              BEGIN
00850  M01S00761.ssalter +++|              GOTO REJECTCOM;
00851  M01S00762.ssalter +++|              END
00852  M01S00763.ssalter +++|
00853  M01S00764.ssalter +++|            CHKMODE ( UDT$LOC, 2, CHAR, FLAG, BITNUM );
00854  M01S00765.ssalter +++|            CPR$CUORD[0] = SM$CUO0[1];  # IDENTIFY CONTROLLER #
00855  M01S00766.ssalter +++|            END  # CHECK FIRST CONTROLLER #
00856  M01S00767.ssalter +++|
00857  M01S00768.ssalter +++|          IF K NQ UD$ESTO[1]
00858  M01S00769.ssalter +++|          THEN
00859  M01S00770.ssalter +++|            BEGIN  # CHECK SECOND CU TABLE #
00860  M01S00771.ssalter +++|            P<UDT$CN> = LOC(UDT$M862[SM$CUO1[1]-1]);
00861  M01S00772.ssalter +++|            IF K NQ UD$ESTO[1]
00862  M01S00773.ssalter +++|            THEN
00863  M01S00774.ssalter +++|              BEGIN  # CU ORDINAL NOT FOUND #
00864  M01S00775.ssalter +++|              GOTO REJECTCOM;
00865  M01S00776.ssalter +++|              END  # CU ORDINAL NOT FOUND #
00866  M01S00777.ssalter +++|
00867  M01S00778.ssalter +++|            IF B<18+PATH$DF"U$EXISTS",1>TEMP EQ 0
00868  M01S00779.ssalter +++|            THEN
00869  M01S00780.ssalter +++|              BEGIN
00870  M01S00781.ssalter +++|              GOTO REJECTCOM;
00871  M01S00782.ssalter +++|              END
00872  M01S00783.ssalter +++|
00873  M01S00784.ssalter +++|            CHKMODE ( UDT$LOC, 3, CHAR, FLAG, BITNUM );
00874  M01S00785.ssalter +++|            CPR$CUORD[0] = SM$CUO1[1];  # IDENTIFY CONTROLLER #
00875  M01S00786.ssalter +++|            END  # CHECK SECOND CU TABLE #
00876  M01S00787.ssalter +++|
00877  M01S00788.ssalter +++|          END
00878  M01S00789.ssalter +++|
00879  M01S00790.ssalter +++|        ELSE
00880  M01S00791.ssalter +++|          BEGIN  # CHECK ACCESSOR STATUS #
00881  M01S00792.ssalter +++|          P<UDT$CN> = LOC(UDT$M862[SM$CUO0[1]-1]);
00882  M01S00793.ssalter +++|          IF J NQ UD$ESTO[1]
00883  M01S00794.ssalter +++|          THEN
00884  M01S00795.ssalter +++|            BEGIN  # CHECK SECOND CU TABLE #
00885  M01S00796.ssalter +++|            P<UDT$CN> = LOC(UDT$M862[SM$CUO1[1]-1]);
00886  M01S00797.ssalter +++|            IF J NQ UD$ESTO[1]
00887  M01S00798.ssalter +++|            THEN
00888  M01S00799.ssalter +++|              BEGIN  # CU ORDINAL NOT FOUND #
00889  M01S00800.ssalter +++|              GOTO REJECTCOM;
00890  M01S00801.ssalter +++|              END  # CU ORDINAL NOT FOUND #
00891  M01S00802.ssalter +++|
00892  M01S00803.ssalter +++|            P<UDT$CN> = LOC(UDT$M862[SM$CUO1[1]-1]);
00893  M01S00804.ssalter +++|            CPR$CUORD[0] = SM$CUO1[1];
Line S00805 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00894  M02S00805.ssalte1 ---|            ESTORD = UD$ESTO[1];
00895  M01S00806.ssalter +++|            END  # CHECK SECOND CU TABLE #
00896  M01S00807.ssalter +++|
00897  M01S00808.ssalter +++|          P<UDT$CN> = LOC(UDT$M862[SM$CUO0[1]-1]);
00898  M01S00809.ssalter +++|          IF J EQ UD$ESTO[1]
00899  M01S00810.ssalter +++|          THEN
00900  M01S00811.ssalter +++|            BEGIN
00901  M01S00812.ssalter +++|            CPR$CUORD[0] = SM$CUO0[1];
00902  M01S00813.ssalter +++|            CHKMODE ( UDT$LOC, 2, CHAR, FLAG, BITNUM );
00903  M01S00814.ssalter +++|            END
00904  M01S00815.ssalter +++|
00905  M01S00816.ssalter +++|          ELSE
00906  M01S00817.ssalter +++|            BEGIN
00907  M01S00818.ssalter +++|            CHKMODE ( UDT$LOC, 4, CHAR, FLAG, BITNUM );
00908  M01S00819.ssalter +++|            END
00909  M01S00820.ssalter +++|
00910  M01S00821.ssalter +++|          END  # CHECK ACCESSOR STATUS #
00911  M01S00822.ssalter +++|
00912  M01S00823.ssalter +++|#
00913  M01S00824.ssalter +++|*     FLAG EQ TRUE IMPLIES PATH/NODE ALREADY IN REQUESTED STATE
00914  M01S00825.ssalter +++|#
00915  M01S00826.ssalter +++|
00916  M01S00827.ssalter +++|        IF FLAG
00917  M01S00828.ssalter +++|        THEN
00918  M01S00829.ssalter +++|          BEGIN
00919  M01S00830.ssalter +++|          GOTO GOODCOM;              # COMMAND WAS ACCEPTED #
00920  M01S00831.ssalter +++|          END
00921  M01S00832.ssalter +++|
00922  M01S00833.ssalter +++|        IF ( J LQ 1 )                ##
00923  M01S00834.ssalter +++|          AND ( CHAR EQ ALTK$ONLINE )  ##
00924  M01S00835.ssalter +++|          AND ( NOT SM$ON[1] )       ##
00925  M01S00836.ssalter +++|          AND ( NOT INITIALIZE )
00926  M01S00837.ssalter +++|        THEN
00927  M01S00838.ssalter +++|          BEGIN
00928  M01S00839.ssalter +++|          GOTO REJECTSMCHG;
00929  M01S00840.ssalter +++|          END
00930  M01S00841.ssalter +++|
00931  M01S00842.ssalter +++|        IF J GQ 8
00932  M01S00843.ssalter +++|        THEN
00933  M01S00844.ssalter +++|          BEGIN
00934  M01S00845.ssalter +++|          CPR$UDTQ = LOC(UDT$M861[SMINDEX])+BIAS$EN0-LOC(UDT$HDR);
00935  M01S00846.ssalter +++|          END
00936  M01S00847.ssalter +++|
00937  M01S00848.ssalter +++|        IF J EQ 0
00938  M01S00849.ssalter +++|        THEN
00939  M01S00850.ssalter +++|          BEGIN
00940  M01S00851.ssalter +++|          CPR$UDTQ = LOC(UDT$M861[SMINDEX])+BIAS$EN3-LOC(UDT$HDR);
00941  M01S00852.ssalter +++|          END
00942  M01S00853.ssalter +++|
00943  M01S00854.ssalter +++|        IF J EQ 1
00944  M01S00855.ssalter +++|        THEN
00945  M01S00856.ssalter +++|          BEGIN
00946  M01S00857.ssalter +++|          CPR$UDTQ = LOC(UDT$M861[SMINDEX])+BIAS$EN20-LOC(UDT$HDR);
00947  M01S00858.ssalter +++|          END
00948  M01S00859.ssalter +++|
00949  M01S00860.ssalter +++|        CPR$BYNR = BITNUM;
00950  M01S00861.ssalter +++|        IF ( CHAR EQ ALTK$ONLINE )   ##
00951  M01S00862.ssalter +++|          OR ( CHAR EQ ALTK$MAINT )
00952  M01S00863.ssalter +++|        THEN
00953  M01S00864.ssalter +++|          BEGIN
00954  M01S00865.ssalter +++|          CPR$PMMR = TRUE;
00955  M01S00866.ssalter +++|          END
00956  M01S00867.ssalter +++|
00957  M01S00868.ssalter +++|        ELSE
00958  M01S00869.ssalter +++|          BEGIN
00959  M01S00870.ssalter +++|          CPR$PMMR = FALSE;
00960  M01S00871.ssalter +++|          END
00961  M01S00872.ssalter +++|
00962  M01S00873.ssalter +++|#
00963  M01S00874.ssalter +++|*      UPDATE *K* DISPLAY REQUEST BITS WHILE WAITING ON *SSEXEC*.
00964  M01S00875.ssalter +++|#
00965  M01S00876.ssalter +++|
00966  M01S00877.ssalter +++|        IF J LQ 1
00967  M01S00878.ssalter +++|        THEN
00968  M01S00879.ssalter +++|          BEGIN
00969  M01S00880.ssalter +++|          TEMP = 8 + J*2;
00970  M01S00881.ssalter +++|          END
00971  M01S00882.ssalter +++|
00972  M01S00883.ssalter +++|        IF J GQ 8
00973  M01S00884.ssalter +++|        THEN
00974  M01S00885.ssalter +++|          BEGIN
00975  M01S00886.ssalter +++|          TEMP = 6;
00976  M01S00887.ssalter +++|          END
00977  M01S00888.ssalter +++|
00978  M01S00889.ssalter +++|        COLUMN = 37;
00979  M01S00890.ssalter +++|        IF ( C<COLUMN,1>SM$LN[TEMP] EQ " " )  ##
00980  M01S00891.ssalter +++|          OR ( ( C<COLUMN,1>SM$LN[TEMP] EQ ALTK$ONLINE )  ##
00981  M01S00892.ssalter +++|          AND ( CHAR EQ ALTK$MAINT ) )  ##
00982  M01S00893.ssalter +++|          OR ( ( C<COLUMN,1>SM$LN[TEMP] EQ ALTK$MAINT )  ##
00983  M01S00894.ssalter +++|          AND ( CHAR EQ ALTK$ONLINE ) )
00984  M01S00895.ssalter +++|        THEN
00985  M01S00896.ssalter +++|          BEGIN
00986  M01S00897.ssalter +++|          GOTO REJECTCOM;            # NON-EXISTENT ELEMENT OR ILLEGAL
00987  M01S00898.ssalter +++|                                       SWITCH #
00988  M01S00899.ssalter +++|          END
00989  M01S00900.ssalter +++|
00990  M01S00901.ssalter +++|        TEMP = TEMP - 1;             # POSITION LINE FOR ASTERISK
00991  M01S00902.ssalter +++|                                       DISPLAY #
00992  M01S00903.ssalter +++|        CHAR = ALTK$AST;
00993  M01S00904.ssalter +++|        COUNT = 1;
00994  M01S00905.ssalter +++|
00995  M01S00906.ssalter +++|        POKEDIS ( TEMP, COLUMN, COUNT, CHAR );
00996  M01S00907.ssalter +++|
00997  M01S00908.ssalter +++|        UCPREQ ( TYP"TYP5", REQTYP5"SSA$UUDT", RESPCODE );
00998  M01S00909.ssalter +++|
00999  M01S00910.ssalter +++|        UCPREQ ( TYP"TYP5", REQTYP5"SSA$PUDT", RESPCODE );
01000  M01S00911.ssalter +++|
01001  M01S00912.ssalter +++|#
Line S00913 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01002  M02S00913.ssalte2 ---|*     IF K.SM"ID",CUNN=X. COMMAND, REQUEST EXEC TO
Line S00914 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01003  M02S00914.ssalte2 ---|*     UPDATE SM STATUS IN ADDITION TO ACCESSOR STATUS.
01004  M01S00010.ssalte2 +++|*     SET GLOBAL FLAGS IF SSEXEC IS INITIALIZING.
01005  M01S00011.ssalte2 +++|*     SSEXEC WILL DO SO ONCE IT IS INITIALIZED.
01006  M01S00915.ssalter +++|#
01007  M01S00916.ssalter +++|
Line S00917 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01008  M02S00917.ssalte2 ---|        IF J GQ 8
Line S00918 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01009  M02S00918.ssalte2 ---|        THEN
Line S00919 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01010  M02S00919.ssalte2 ---|          BEGIN  # UPDATE SM STATUS #
Line S00920 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01011  M03S00920.ssalte2 ---|          IF ( UD$ESTO[1] NQ 0 ) AND ( ESTORD EQ 0)
Line S00080 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01012  M02S00080.ssalte2 ---|          IF (UD$ESTO[1] NQ 0) AND (SM$CUO1[1] EQ 0)
Line S00921 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01013  M02S00921.ssalte2 ---|          THEN
Line S00922 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01014  M02S00922.ssalte2 ---|            BEGIN
Line S00923 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01015  M02S00923.ssalte2 ---|            CPR$BYNR = CPR$BYNR - 12;
Line S00924 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01016  M02S00924.ssalte2 ---|            UCPREQ ( TYP"TYP5", REQTYP5"SSA$UUDT", RESPCODE );
Line S00925 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01017  M02S00925.ssalte2 ---|
Line S00926 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01018  M02S00926.ssalte2 ---|            UCPREQ ( TYP"TYP5", REQTYP5"SSA$PUDT", RESPCODE );
Line S00927 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01019  M02S00927.ssalte2 ---|
Line S00928 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01020  M02S00928.ssalte2 ---|            END
Line S00929 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01021  M02S00929.ssalte2 ---|
Line S00930 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01022  M03S00930.ssalte2 ---|          IF ( UD$ESTO[1] NQ 0 ) AND ( ESTORD NQ 0)
Line S00081 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01023  M02S00081.ssalte2 ---|          IF (UD$ESTO[1] NQ 0) AND (SM$CUO1[1] NQ 0)
Line S00931 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01024  M02S00931.ssalte2 ---|          THEN
01025  M01S00012.ssalte2 +++|      IF INITIALIZE
01026  M01S00013.ssalte2 +++|      THEN                           # SET GLOBAL FLAGS #
01027  M01S00932.ssalter +++|            BEGIN  # DISPLAY CONSOLIDATED STATUS #
Line S00933 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01028  M02S00933.ssalte2 ---|            IF ( B<PATH$DF"U$ON",1>SM$STS0[1] EQ 1 )  ##
Line S00934 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01029  M02S00934.ssalte2 ---|              OR ( B<PATH$DF"U$ON",1>SM$STS1[1] EQ 1 )
01030  M01S00014.ssalte2 +++|        P<PTHSTAT> = P<UDT$LOC>;
01031  M01S00015.ssalte2 +++|        IF PATHBIT(CU0,PATH$DF"U$ON") EQ 1  ##
01032  M01S00016.ssalte2 +++|          OR PATHBIT(CU1,PATH$DF"U$ON") EQ 1
01033  M01S00935.ssalter +++|            THEN
01034  M01S00936.ssalter +++|              BEGIN
01035  M01S00937.ssalter +++|              CPR$PMMR = TRUE;
01036  M01S00938.ssalter +++|              CPR$BYNR = PATH$DF"U$ON";
01037  M01S00939.ssalter +++|
01038  M01S00940.ssalter +++|              UCPREQ ( TYP"TYP5", REQTYP5"SSA$UUDT", RESPCODE );
01039  M01S00941.ssalter +++|
01040  M01S00942.ssalter +++|              UCPREQ ( TYP"TYP5", REQTYP5"SSA$PUDT", RESPCODE );
01041  M01S00943.ssalter +++|
01042  M01S00944.ssalter +++|              END
01043  M01S00945.ssalter +++|
Line S00946 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01044  M02S00946.ssalte2 ---|            IF ( B<PATH$DF"U$RQ$DIAG",1>SM$STS0[1] EQ 1 )  ##
Line S00947 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01045  M02S00947.ssalte2 ---|              OR ( B<PATH$DF"U$RQ$DIAG",1>SM$STS1[1] EQ 1 )
01046  M01S00017.ssalte2 +++|        IF PATHBIT(CU0,PATH$DF"U$RQ$DIAG") EQ 1  ##
01047  M01S00018.ssalte2 +++|          OR PATHBIT(CU1,PATH$DF"U$RQ$DIAG") EQ 1
01048  M01S00948.ssalter +++|            THEN
01049  M01S00949.ssalter +++|              BEGIN
01050  M01S00950.ssalter +++|              CPR$PMMR = TRUE;
01051  M01S00951.ssalter +++|              CPR$BYNR = PATH$DF"U$RQ$DIAG";
01052  M01S00952.ssalter +++|
01053  M01S00953.ssalter +++|              UCPREQ ( TYP"TYP5", REQTYP5"SSA$UUDT", RESPCODE );
01054  M01S00954.ssalter +++|
01055  M01S00955.ssalter +++|              UCPREQ ( TYP"TYP5", REQTYP5"SSA$PUDT", RESPCODE );
01056  M01S00956.ssalter +++|
01057  M01S00957.ssalter +++|              END
01058  M01S00958.ssalter +++|
Line S00959 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01059  M02S00959.ssalte2 ---|            IF ( B<PATH$DF"U$ON",1>SM$STS0[1] EQ 0 )  ##
Line S00960 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01060  M02S00960.ssalte2 ---|              AND ( B<PATH$DF"U$ON",1>SM$STS1[1] EQ 0 )
01061  M01S00019.ssalte2 +++|        IF PATHBIT(CU0,PATH$DF"U$ON") EQ 0  ##
01062  M01S00020.ssalte2 +++|          AND PATHBIT(CU1,PATH$DF"U$ON") EQ 0
01063  M01S00961.ssalter +++|            THEN
01064  M01S00962.ssalter +++|              BEGIN
01065  M01S00963.ssalter +++|              CPR$PMMR = FALSE;
01066  M01S00964.ssalter +++|              CPR$BYNR = PATH$DF"U$ON";
01067  M01S00965.ssalter +++|
01068  M01S00966.ssalter +++|              UCPREQ ( TYP"TYP5", REQTYP5"SSA$UUDT", RESPCODE );
01069  M01S00967.ssalter +++|
01070  M01S00968.ssalter +++|              UCPREQ ( TYP"TYP5", REQTYP5"SSA$PUDT", RESPCODE );
01071  M01S00969.ssalter +++|
01072  M01S00970.ssalter +++|              END
01073  M01S00971.ssalter +++|
01074  M01S00972.ssalter +++|            END  # DISPLAY CONSOLIDATED STATUS #
01075  M01S00973.ssalter +++|
Line S00974 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01076  M02S00974.ssalte2 ---|          END  # UPDATE SM STATUS #
Line S00975 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01077  M02S00975.ssalte2 ---|
Line S00976 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01078  M03S00976.ssalte2 ---|          DISPSM ( SMINDEX , INITIALIZE);
Line S00977 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01079  M02S00977.ssalte2 ---|        IF INITIALIZE
Line S00978 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01080  M02S00978.ssalte2 ---|        THEN                         # UPDATE GLOBAL BITS #
Line S00979 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01081  M02S00979.ssalte2 ---|          BEGIN
Line S00980 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01082  M03S00980.ssalte2 ---|          IF BITNUM GQ 24
Line S00981 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01083  M03S00981.ssalte2 ---|          THEN
Line S00982 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01084  M03S00982.ssalte2 ---|            BEGIN
Line S00983 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01085  M03S00983.ssalte2 ---|            BITNUM = BITNUM - 24;
Line S00984 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01086  M03S00984.ssalte2 ---|            END
Line S00985 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01087  M03S00985.ssalte2 ---|
Line S00986 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01088  M03S00986.ssalte2 ---|          ELSE
Line S00987 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01089  M03S00987.ssalte2 ---|            BEGIN
Line S00988 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01090  M03S00988.ssalte2 ---|            BITNUM = BITNUM - 12;
Line S00989 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01091  M03S00989.ssalte2 ---|            END
Line S00990 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01092  M03S00990.ssalte2 ---|
Line S00991 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01093  M03S00991.ssalte2 ---|          IF B<12+BITNUM,1>ADDRESS EQ 1  ##
Line S00992 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01094  M03S00992.ssalte2 ---|            OR B<24+BITNUM,1>ADDRESS EQ 1
Line S00993 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01095  M03S00993.ssalte2 ---|          THEN                       # SET GLOBAL BIT ON #
Line S00994 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01096  M03S00994.ssalte2 ---|            BEGIN
Line S00995 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01097  M03S00995.ssalte2 ---|            B<BITNUM,1>ADDRESS = 1;
Line S00996 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01098  M03S00996.ssalte2 ---|            END
Line S00997 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01099  M03S00997.ssalte2 ---|
Line S00998 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01100  M03S00998.ssalte2 ---|          ELSE                       # SET GLOBAL BIT OFF #
Line S00999 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01101  M03S00999.ssalte2 ---|            BEGIN
Line S01000 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01102  M03S01000.ssalte2 ---|            B<BITNUM,1>ADDRESS = 0;
Line S01001 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01103  M03S01001.ssalte2 ---|            END
Line S01002 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01104  M03S01002.ssalte2 ---|
Line S00082 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01105  M02S00082.ssalte2 ---|
Line S00083 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01106  M02S00083.ssalte2 ---|                                               CONTROL REACTIVE;
Line S00084 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01107  M02S00084.ssalte2 ---|
Line S00085 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01108  M02S00085.ssalte2 ---|          IF J LQ 1
Line S00086 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01109  M02S00086.ssalte2 ---|          THEN                       # DRD STATUS CHANGED #
Line S00087 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01110  M02S00087.ssalte2 ---|            BEGIN  # DRD #
Line S00088 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01111  M02S00088.ssalte2 ---|            B<0,6>ADDRESS = B<12,6>ADDRESS LOR B<18,6>ADDRESS;
Line S00089 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01112  M02S00089.ssalte2 ---|            END  # DRD #
Line S00090 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01113  M02S00090.ssalte2 ---|
Line S00091 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01114  M02S00091.ssalte2 ---|          ELSE                       # SM STATUS CHANGED #
Line S00092 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01115  M02S00092.ssalte2 ---|            BEGIN  # SM #
Line S00093 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01116  M02S00093.ssalte2 ---|            B<0,6>ADDRESS = B<12,6>ADDRESS LOR B<24,6>ADDRESS;
Line S00094 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01117  M02S00094.ssalte2 ---|            END  # SM #
Line S00095 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01118  M02S00095.ssalte2 ---|
Line S00096 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01119  M02S00096.ssalte2 ---|                                               CONTROL INERT;
Line S00097 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01120  M02S00097.ssalte2 ---|
Line S01003 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01121  M02S01003.ssalte2 ---|          END
Line S01004 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01122  M02S01004.ssalte2 ---|
Line S01005 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
M03 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01123  M03S01005.ssalte2 ---|
Line S00098 Modification History
M01 (Added by) ssalte1
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01124  M02S00098.ssalte2 ---|        DISPSM(SMINDEX,INITIALIZE);
01125  M01S01006.ssalter +++|        GOTO GOODCOM;
01126  M01S01007.ssalter +++|
01127  M01S01008.ssalter +++|        END  # PROCESS *SM* COMMANDS #
01128  M01S01009.ssalter +++|
01129  M01S01010.ssalter +++|#
01130  M01S01011.ssalter +++|*     REJECT REQUEST
01131  M01S01012.ssalter +++|#
01132  M01S01013.ssalter +++|
01133  M01S01014.ssalter +++|REJECTSMCHG:
01134  M01S01015.ssalter +++|
01135  M01S01016.ssalter +++|      KL$AL$SUBL1[LF$AL$KBREJ] = "*** SM STATUS PROHIBITS CHANGE ***";
01136  M01S01017.ssalter +++|      KB$AL$CLEAR[0] = 0;
01137  M01S01018.ssalter +++|      GOTO SM$DISP1;
01138  M01S01019.ssalter +++|
01139  M01S01020.ssalter +++|REJECTCOM:
01140  M01S01021.ssalter +++|
01141  M01S01022.ssalter +++|      KL$AL$SUBL1[LF$AL$KBREJ] = "*** REJECT ***";
01142  M01S01023.ssalter +++|      KB$AL$CLEAR[0] = 0;
01143  M01S01024.ssalter +++|      IF INDEX EQ 1
01144  M01S01025.ssalter +++|      THEN
01145  M01S01026.ssalter +++|        BEGIN
01146  M01S01027.ssalter +++|        GOTO SM$DISP1;               # GET NEXT COMMAND #
01147  M01S01028.ssalter +++|        END
01148  M01S01029.ssalter +++|
01149  M01S01030.ssalter +++|      ELSE
01150  M01S01031.ssalter +++|        BEGIN
01151  M01S01032.ssalter +++|        GOTO CU$DISP1;               # GET NEXT COMMAND #
01152  M01S01033.ssalter +++|        END
01153  M01S01034.ssalter +++|
01154  M01S01035.ssalter +++|REJECTORD:
01155  M01S01036.ssalter +++|
01156  M01S01037.ssalter +++|      KL$AL$SUBL1[LF$AL$KBREJ] = " *** REJECT CU ORD *** ";
01157  M01S01038.ssalter +++|      KB$AL$CLEAR[0] = 0;
01158  M01S01039.ssalter +++|      P<SM$SCREEN> = LOC(KLEFTSCRNAL);
01159  M01S01040.ssalter +++|      SLOWFOR J = LF$AL$BODY STEP 1 UNTIL LF$AL$KBREJ-1
01160  M01S01041.ssalter +++|      DO
01161  M01S01042.ssalter +++|        BEGIN
01162  M01S01043.ssalter +++|        CU$EOL[J] = 0;
01163  M01S01044.ssalter +++|        END
01164  M01S01045.ssalter +++|
01165  M01S01046.ssalter +++|      RETURN;                        # RETURN TO MAIN PROGRAM #
01166  M01S01047.ssalter +++|
01167  M01S01048.ssalter +++|
01168  M01S01049.ssalter +++|
01169  M01S01050.ssalter +++|#
01170  M01S01051.ssalter +++|*     RESPONSE WAS GOOD. CLEAR ECHO.
01171  M01S01052.ssalter +++|#
01172  M01S01053.ssalter +++|
01173  M01S01054.ssalter +++|GOODCOM:
01174  M01S01055.ssalter +++|
01175  M01S01056.ssalter +++|      KL$AL$LINE[LF$AL$KBECHO] = " ";  # CLEAR ECHO #
01176  M01S01057.ssalter +++|      KB$AL$CLEAR[0] = 0;
01177  M01S01058.ssalter +++|
01178  M01S01059.ssalter +++|      IF INDEX EQ 1
01179  M01S01060.ssalter +++|      THEN
01180  M01S01061.ssalter +++|        BEGIN
Line S01062 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01181  M02S01062.ssalte2 ---|        GOTO SM$DISP1;               # GET NEXT COMMAND #
01182  M01S00021.ssalte2 +++|        GOTO SM$DISP;                # GET NEXT COMMAND #
01183  M01S01063.ssalter +++|        END
01184  M01S01064.ssalter +++|
01185  M01S01065.ssalter +++|      ELSE
01186  M01S01066.ssalter +++|        BEGIN
01187  M01S01067.ssalter +++|        GOTO CU$DISP1;               # GET NEXT COMMAND #
01188  M01S01068.ssalter +++|        END
01189  M01S01069.ssalter +++|
01190  M01S01070.ssalter +++|
01191  M01S01071.ssalter +++|      END  # ALTKINP #
01192  M01S01072.ssalter +++|
01193  M01S01073.ssalter +++|    TERM
01194  M01S01074.ssalter +++|
01195  M01S01075.ssalter +++|PROC ALTKINT ( INITIALIZE );
01196  M01S01076.ssalter +++|
01197  M01S01077.ssalter +++|# TITLE ALTKINT - *K* DISPLAY INITIALIZATION.                         #
01198  M01S01078.ssalter +++|
01199  M01S01079.ssalter +++|      BEGIN  # ALTKINT #
01200  M01S01080.ssalter +++|
01201  M01S01081.ssalter +++|#
01202  M01S01082.ssalter +++|**    ALTKINT - *K* DISPLAY INTIALIZATION.
01203  M01S01083.ssalter +++|*
01204  M01S01084.ssalter +++|*     *ALTKINT* ISSUES THE *CONSOLE* MACRO TO ACTIVATE THE
01205  M01S01085.ssalter +++|*     *K* DISPLAY AND INITIALIZES THE *K* DISPLAY BUFFERS.
01206  M01S01086.ssalter +++|*
01207  M01S01087.ssalter +++|*     PROC ALTKINT.
01208  M01S01088.ssalter +++|*
01209  M01S01089.ssalter +++|*     ENTRY      INITIALIZE - BOOLEAN ( TRUE IMPLIES INITIALIZE )
01210  M01S01090.ssalter +++|*
01211  M01S01091.ssalter +++|*     EXIT      THE *CONSOLE* MACRO IS ISSUED.
01212  M01S01092.ssalter +++|*               THE TITLE IS PLACED IN THE LEFT SCREEN BUFFER.
01213  M01S01093.ssalter +++|*               THE *B* DISPLAY LINE 2 IS CLEARED.
01214  M01S01094.ssalter +++|*
01215  M01S01095.ssalter +++|*     MESSAGES  * REQUEST *K* DISPLAY *  (FROM *CONSOLE* MACRO).
01216  M01S01096.ssalter +++|*
01217  M01S01097.ssalter +++|#
01218  M01S01098.ssalter +++|
01219  M01S01099.ssalter +++|      ITEM INITIALIZE  B;            # INPUT VARIABLE #
01220  M01S01100.ssalter +++|#
01221  M01S01101.ssalter +++|****  PROC ALTKINT - XREF LIST BEGIN.
01222  M01S01102.ssalter +++|#
01223  M01S01103.ssalter +++|
01224  M01S01104.ssalter +++|      XREF
01225  M01S01105.ssalter +++|        BEGIN
01226  M01S01106.ssalter +++|        PROC CONSOLE;                # ISSUE *CONSOLE* MACRO #
01227  M01S01107.ssalter +++|        PROC MESSAGE;                # ISSUE *MESSAGE* MACRO #
01228  M01S01108.ssalter +++|        END
01229  M01S01109.ssalter +++|
01230  M01S01110.ssalter +++|#
01231  M01S01111.ssalter +++|****  PROC ALTKINT - XREF LIST END.
01232  M01S01112.ssalter +++|#
01233  M01S01113.ssalter +++|
01234  M01S01114.ssalter +++|      DEF LISTCON   #0#;             # DO NOT LIST COMMON DECKS #
01235  M01S01115.ssalter +++|*CALL COMBFAS
01236  M01S01116.ssalter +++|*CALL COMTALT
01237  M01S01117.ssalter +++|
01238  M01S01118.ssalter +++|      ITEM ALTHDR1 C(58) =
01239  M01S01119.ssalter +++|        "     VALID DISPLAYS ARE";
01240  M01S01120.ssalter +++|      ITEM ALTHDR2 C(58) =
01241  M01S01121.ssalter +++|        "              K.SM";
01242  M01S01122.ssalter +++|      ITEM ALTHDR3 C(58) =
01243  M01S01123.ssalter +++|        "              K.CUNN - NN = EST ORDINAL OF M862";
01244  M01S01124.ssalter +++|      ITEM I        I;               # LOOP COUNTER #
01245  M01S01125.ssalter +++|                                               CONTROL EJECT;
01246  M01S01126.ssalter +++|
01247  M01S01127.ssalter +++|#
01248  M01S01128.ssalter +++|*     SET UP AND ISSUE THE CONSOLE MACRO.
01249  M01S01129.ssalter +++|#
01250  M01S01130.ssalter +++|
01251  M01S01131.ssalter +++|      CP$KBADDR[0] = LOC(KBINPUTAL[0]);
01252  M01S01132.ssalter +++|      CP$KLADDR[0] = LOC(KLEFTSCRNAL[0]);
01253  M01S01133.ssalter +++|      CONSOLE(CPARAM[0]);
01254  M01S01134.ssalter +++|
01255  M01S01135.ssalter +++|#
01256  M01S01136.ssalter +++|*     REQUEST *K* DISPLAY ON *B* DISPLAY.
01257  M01S01137.ssalter +++|#
01258  M01S01138.ssalter +++|
01259  M01S01139.ssalter +++|      MESSAGE("$ REQUEST *K* DISPLAY  ",LINE2);
01260  M01S01140.ssalter +++|      KL$AL$COMP[0] = FALSE;         # SET TOGGLE OFF #
01261  M01S01141.ssalter +++|      KREQCLEARAL = FALSE;
01262  M01S01142.ssalter +++|      KB$AL$CLEAR[0] = 0;
01263  M01S01143.ssalter +++|
01264  M01S01144.ssalter +++|#
01265  M01S01145.ssalter +++|*     SET UP TITLE LINE IN LEFT SCREEN BUFFER.
01266  M01S01146.ssalter +++|#
01267  M01S01147.ssalter +++|
01268  M01S01148.ssalter +++|      KL$AL$LINE[LF$AL$TITLE] = TITLELINE$AL;
01269  M01S01149.ssalter +++|      KL$AL$LINE[LF$AL$TITLE+1] = TITLEBOX$AL;
01270  M01S01150.ssalter +++|      IF INITIALIZE
01271  M01S01151.ssalter +++|      THEN
01272  M01S01152.ssalter +++|        BEGIN  # DISPLAY INITIALIZATION MESSAGE #
01273  M01S01153.ssalter +++|        KL$AL$LINE[LF$AL$TITLE+2] = TITLELINE$MD;
01274  M01S01154.ssalter +++|        END  # DISPLAY INITIALIZATION MESSAGE #
01275  M01S01155.ssalter +++|
01276  M01S01156.ssalter +++|
01277  M01S01157.ssalter +++|#
01278  M01S01158.ssalter +++|*     DISPLAY VALID COMMANDS.
01279  M01S01159.ssalter +++|#
01280  M01S01160.ssalter +++|
01281  M01S01161.ssalter +++|      P<SM$SCREEN> = LOC(KLEFTSCRNAL);
01282  M01S01162.ssalter +++|      SLOWFOR I = LF$AL$BODY STEP 1 UNTIL LF$AL$KBECHO + 1
01283  M01S01163.ssalter +++|      DO
01284  M01S01164.ssalter +++|        BEGIN
01285  M01S01165.ssalter +++|        SM$EOL[0] = 0;
01286  M01S01166.ssalter +++|        END
01287  M01S01167.ssalter +++|
01288  M01S01168.ssalter +++|      SM$LN[8] = ALTHDR1;
01289  M01S01169.ssalter +++|      SM$LN[10] = ALTHDR2;
01290  M01S01170.ssalter +++|      SM$LN[11] = ALTHDR3;
01291  M01S01171.ssalter +++|      END  # ALTKINT #
01292  M01S01172.ssalter +++|
01293  M01S01173.ssalter +++|    TERM
01294  M01S01174.ssalter +++|PROC CHKMODE ( WORD, FIELD, MODE, FLAG, BITNUM );
01295  M01S01175.ssalter +++|
01296  M01S01176.ssalter +++|# TITLE BITNUM - CHECK EXISTING MODE OF PATH/NODE IN M860             #
01297  M01S01177.ssalter +++|
01298  M01S01178.ssalter +++|      BEGIN  # CHKMODE #
01299  M01S01179.ssalter +++|
01300  M01S01180.ssalter +++|#
01301  M01S01181.ssalter +++|**** CHKMODE - CHECK EXISTING MODE OF PATH/NODE IN M860
01302  M01S01182.ssalter +++|*
01303  M01S01183.ssalter +++|*     *CHKMODE* EXAMINES THE EXISTING STATUS OF THE REQUESTED
01304  M01S01184.ssalter +++|*     PATH/NODE. IF IT IS THE SAME AS THE STATUS BEING REQUESTED,
01305  M01S01185.ssalter +++|*     *CHKMODE* RETURNS WITH FLAG = TRUE. IF NOT, FLAG IS RETURNED
01306  M01S01186.ssalter +++|*     AS FALSE. ALSO, BITNUM IS RETURNED AS THE BIT NUMBER THAT
01307  M01S01187.ssalter +++|*     WAS CHECKED SO A SUBSEQUENT UCPCALL CAN BE MADE TO *SSEXEC*
01308  M01S01188.ssalter +++|*     IF DESIRED.
01309  M01S01189.ssalter +++|*
01310  M01S01190.ssalter +++|*     ENTRY
01311  M01S01191.ssalter +++|*        WORD = WORD IN UDT TO BE CHECKED.
01312  M01S01192.ssalter +++|*        FIELD = ORDINAL OF 6 BIT FIELD TO CHECK IN WORD.
01313  M01S01193.ssalter +++|*        MODE = MODE OF PATH/NODE TO CHECK FOR.
01314  M01S01194.ssalter +++|*
01315  M01S01195.ssalter +++|*     EXIT
01316  M01S01196.ssalter +++|*        FLAG = TRUE IF REQUESTED MODE IS THE SAME AS EXISTING MODE.
01317  M01S01197.ssalter +++|*        BITNUM = BIT NUMBER IN WORD OF THE BIT THAT WAS CHECKED.
01318  M01S01198.ssalter +++|#
01319  M01S01199.ssalter +++|
01320  M01S01200.ssalter +++|      ITEM BITNUM     I;             # OUTPUT VARIABLE #
01321  M01S01201.ssalter +++|      ITEM FIELD      I;             # INPUT VARIABLE #
01322  M01S01202.ssalter +++|      ITEM FLAG       B;             # OUTPUT VARIABLE #
01323  M01S01203.ssalter +++|      ITEM MODE       C(1);          # INPUT VARIABLE #
01324  M01S01204.ssalter +++|      ARRAY WORD[0:0] S(1);
01325  M01S01205.ssalter +++|        BEGIN
01326  M01S01206.ssalter +++|        ITEM UDTWORD    I (00,00,60);  # INPUT WORD ADDRESS #
01327  M01S01207.ssalter +++|        END
01328  M01S01208.ssalter +++|
01329  M01S01209.ssalter +++|#
01330  M01S01210.ssalter +++|****  PROC CHKMODE - XREF LIST BEGIN.
01331  M01S01211.ssalter +++|#
01332  M01S01212.ssalter +++|
01333  M01S01213.ssalter +++|      XREF
01334  M01S01214.ssalter +++|        BEGIN
01335  M01S01215.ssalter +++|        PROC MESSAGE;                # ISSUE DAYFILE MESSAGE #
01336  M01S01216.ssalter +++|        PROC RESTPFP;                # RESTORE USER-S PFP AND ABORT #
01337  M01S01217.ssalter +++|        END
01338  M01S01218.ssalter +++|
01339  M01S01219.ssalter +++|#
01340  M01S01220.ssalter +++|****  PROC CHKMODE - XREF LIST END.
01341  M01S01221.ssalter +++|#
01342  M01S01222.ssalter +++|
01343  M01S01223.ssalter +++|                                               CONTROL PRESET;
01344  M01S01224.ssalter +++|      DEF LISTCON   #0#;             # DO NOT LIST COMMON DECKS #
01345  M01S01225.ssalter +++|*CALL,COMBFAS
01346  M01S01226.ssalter +++|*CALL,COMBUDT
01347  M01S01227.ssalter +++|*CALL,COMTALT
01348  M01S01228.ssalter +++|
01349  M01S01229.ssalter +++|      ITEM I          I;             # INTEGER VARIABLE #
01350  M01S01230.ssalter +++|      ITEM MODEB      B;             # STATUS DESCRIPTOR #
01351  M01S01231.ssalter +++|                                               CONTROL EJECT;
01352  M01S01232.ssalter +++|
01353  M01S01233.ssalter +++|#
01354  M01S01234.ssalter +++|*     DETERMINE MODE BEING SEARCHED FOR
01355  M01S01235.ssalter +++|#
01356  M01S01236.ssalter +++|
01357  M01S01237.ssalter +++|      MODEB = FALSE;
01358  M01S01238.ssalter +++|      IF ( MODE EQ ALTK$MAINT )      ##
01359  M01S01239.ssalter +++|        OR ( MODE EQ ALTK$ONLINE )
01360  M01S01240.ssalter +++|      THEN
01361  M01S01241.ssalter +++|        BEGIN
01362  M01S01242.ssalter +++|        MODEB = TRUE;
01363  M01S01243.ssalter +++|        END
01364  M01S01244.ssalter +++|
01365  M01S01245.ssalter +++|      I = 0;
01366  M01S01246.ssalter +++|      IF ( MODE EQ ALTK$MAINT )
01367  M01S01247.ssalter +++|      THEN
01368  M01S01248.ssalter +++|        BEGIN
01369  M01S01249.ssalter +++|        I = PATH$DF"U$RQ$DIAG";
01370  M01S01250.ssalter +++|        END
01371  M01S01251.ssalter +++|
01372  M01S01252.ssalter +++|      IF ( MODE EQ ALTK$ONLINE )     ##
01373  M01S01253.ssalter +++|        OR ( MODE EQ ALTK$OFFLINE )
01374  M01S01254.ssalter +++|      THEN
01375  M01S01255.ssalter +++|        BEGIN
01376  M01S01256.ssalter +++|        I = PATH$DF"U$ON";
01377  M01S01257.ssalter +++|        END
01378  M01S01258.ssalter +++|
01379  M01S01259.ssalter +++|      IF ( I NQ 1 ) AND ( I NQ 3 )
01380  M01S01260.ssalter +++|      THEN
01381  M01S01261.ssalter +++|        BEGIN
01382  M01S01262.ssalter +++|        ALTMSG$LN[0] = " CHKMODE - ILLEGAL MODE REQUESTED.";
01383  M01S01263.ssalter +++|        MESSAGE ( ALTMSG[0],SYSUDF1 );
01384  M01S01264.ssalter +++|        RESTPFP ( PFP$ABORT );
01385  M01S01265.ssalter +++|        END
01386  M01S01266.ssalter +++|
01387  M01S01267.ssalter +++|#
01388  M01S01268.ssalter +++|*     DETERMINE BIT NUMBER
01389  M01S01269.ssalter +++|#
01390  M01S01270.ssalter +++|
01391  M01S01271.ssalter +++|      BITNUM = FIELD*6 + I;
01392  M01S01272.ssalter +++|      IF ( ( B<BITNUM,1>UDTWORD EQ 1) AND ( MODEB ) )  ##
01393  M01S01273.ssalter +++|        OR ( ( B<BITNUM,1>UDTWORD EQ 0 )  ##
01394  M01S01274.ssalter +++|        AND ( NOT MODEB )  ##
01395  M01S01275.ssalter +++|        AND ( B<FIELD*6 + PATH$DF"U$RQ$DIAG",1>UDTWORD EQ 0 ) )  ##
01396  M01S01276.ssalter +++|      THEN
01397  M01S01277.ssalter +++|        BEGIN
01398  M01S01278.ssalter +++|        FLAG = TRUE;
01399  M01S01279.ssalter +++|        END
01400  M01S01280.ssalter +++|
01401  M01S01281.ssalter +++|      ELSE
01402  M01S01282.ssalter +++|        BEGIN
01403  M01S01283.ssalter +++|        FLAG = FALSE;
01404  M01S01284.ssalter +++|        IF NOT MODEB AND B<FIELD*6 + PATH$DF"U$RQ$DIAG",1>UDTWORD EQ 1
01405  M01S01285.ssalter +++|        THEN
01406  M01S01286.ssalter +++|          BEGIN
01407  M01S01287.ssalter +++|          BITNUM = BITNUM + PATH$DF"U$RQ$DIAG" - PATH$DF"U$ON";
01408  M01S01288.ssalter +++|          END
01409  M01S01289.ssalter +++|
01410  M01S01290.ssalter +++|        END
01411  M01S01291.ssalter +++|
01412  M01S01292.ssalter +++|      END  # CHKMODE #
01413  M01S01293.ssalter +++|
01414  M01S01294.ssalter +++|    TERM
01415  M01S01295.ssalter +++|PROC DISPCU ( INDEX, ORDINAL );
01416  M01S01296.ssalter +++|
01417  M01S01297.ssalter +++|# TITLE DISPCU - DISPLAY *SM* DISPLAY                                 #
01418  M01S01298.ssalter +++|
01419  M01S01299.ssalter +++|      BEGIN  # DISPCU #
01420  M01S01300.ssalter +++|
01421  M01S01301.ssalter +++|#
01422  M01S01302.ssalter +++|***   DISPCU - DISPLAY *CU* DISPLAY
01423  M01S01303.ssalter +++|*
01424  M01S01304.ssalter +++|*     *DISPCU* GENERATES AND DISPLAYS THE *CU* DISPLAY
01425  M01S01305.ssalter +++|*     FOR *SSALTER*
01426  M01S01306.ssalter +++|*
01427  M01S01307.ssalter +++|*     ENTRY         INDEX = CU TO BE DISPLAYED.
01428  M01S01308.ssalter +++|*
01429  M01S01309.ssalter +++|*
01430  M01S01310.ssalter +++|*     EXIT       DISPLAY SHOWN ON LEFT SCREEN.
01431  M01S01311.ssalter +++|#
01432  M01S01312.ssalter +++|
01433  M01S01313.ssalter +++|      ITEM INDEX      I;             # INPUT VARIABLE #
01434  M01S01314.ssalter +++|      ITEM ORDINAL    I;             # INPUT VARIABLE #
01435  M01S01315.ssalter +++|
01436  M01S01316.ssalter +++|#
01437  M01S01317.ssalter +++|****  PROC DISPCU - XREF LIST BEGIN.
01438  M01S01318.ssalter +++|#
01439  M01S01319.ssalter +++|
01440  M01S01320.ssalter +++|      XREF
01441  M01S01321.ssalter +++|        BEGIN
01442  M01S01322.ssalter +++|        PROC KDISCIF;                # DISPLAY CIF CONFIGURATION #
01443  M01S01323.ssalter +++|        PROC MESSAGE;                # ISSUE A DAYFILE MESSAGE #
01444  M01S01324.ssalter +++|        PROC POKEDIS;                # UPDATE *K* DISPLAY #
01445  M01S01325.ssalter +++|        PROC RESTPFP;                # RESTORE USER-S PFP AND ABORT OR
01446  M01S01326.ssalter +++|                                       RETURN #
01447  M01S01327.ssalter +++|        PROC UCPREQ;                 # ISSUE UCP REQUEST TO SSEXEC #
01448  M01S01328.ssalter +++|        FUNC XCOD C(10);             # CONVERT INTEGER TO OCTAL DISPLAY
01449  M01S01329.ssalter +++|                                     #
01450  M01S01330.ssalter +++|        FUNC XDXB;                   # CONVERT DISPLAY CODE TO INTEGER
01451  M01S01331.ssalter +++|                                     #
01452  M01S01332.ssalter +++|        END
01453  M01S01333.ssalter +++|
01454  M01S01334.ssalter +++|#
01455  M01S01335.ssalter +++|****  PROC DISPCU - XREF LIST END.
01456  M01S01336.ssalter +++|#
01457  M01S01337.ssalter +++|
01458  M01S01338.ssalter +++|#
01459  M01S01339.ssalter +++|*     DAYFILE MESSAGES.
01460  M01S01340.ssalter +++|#
01461  M01S01341.ssalter +++|
01462  M01S01342.ssalter +++|      DEF MSG1   #" DISPCU - INCORRECT RESPONSE FROM SSEXEC."#;
01463  M01S01343.ssalter +++|      DEF BLANK      #" "#;
01464  M01S01344.ssalter +++|
01465  M01S01345.ssalter +++|
01466  M01S01346.ssalter +++|      DEF LISTCON    #0#;            # DO NOT LIST COMMON DECKS #
01467  M01S01347.ssalter +++|
01468  M01S01348.ssalter +++|*CALL,COMBFAS
01469  M01S01349.ssalter +++|*CALL,COMBCPR
01470  M01S01350.ssalter +++|*CALL,COMBUDT
01471  M01S01351.ssalter +++|*CALL,COMTALT
01472  M01S01352.ssalter +++|
01473  M01S01353.ssalter +++|      ARRAY CHAR10[0:0] S(1);        # CHARACTER MANIPULATION #
01474  M01S01354.ssalter +++|        BEGIN
01475  M01S01355.ssalter +++|        ITEM CHAR$10    C(00,00,10);
01476  M01S01356.ssalter +++|        ITEM CHAR$R1    C(00,54,01);
01477  M01S01357.ssalter +++|        ITEM CHAR$R2    C(00,48,02);
01478  M01S00099.ssalte1 +++|        ITEM CHAR$R3    C(00,42,03);
01479  M01S01358.ssalter +++|        END
01480  M01S01359.ssalter +++|
01481  M01S01360.ssalter +++|      ITEM CH1        C(1);          # ONE CHARACTER #
01482  M01S01361.ssalter +++|      ITEM CH2        C(2);          # TWO CHARACTERS #
01483  M01S01362.ssalter +++|      ITEM COLUMN     I;             # *K* DISPLAY COLUMN NUMBER #
01484  M01S00100.ssalte1 +++|      ITEM FIRSTAC    I;             # FIRST AC TO SCAN IN AIF GROUP #
01485  M01S01363.ssalter +++|      ITEM I          I;             # LOOP INDEX #
01486  M01S01364.ssalter +++|      ITEM J          I;             # LOOP INDEX #
01487  M01S01365.ssalter +++|      ITEM JINDEX     I;             # PARAMETER FOR *KDISCIF* #
01488  M01S01366.ssalter +++|      ITEM LINE       I;             # *K* DISPLAY LINE NUMBER #
01489  M01S01367.ssalter +++|      ITEM LOOPC      B;             # LOOP CONTROL #
01490  M01S01368.ssalter +++|      ITEM NCH        I;             # LOOP COUNTER #
01491  M01S01369.ssalter +++|      ITEM ORD        I;             # TEMPORARY STORAGE #
01492  M01S01370.ssalter +++|      ITEM RESPCODE   I;             # RESPONSE FROM *SSEXEC* #
01493  M01S01371.ssalter +++|      ITEM STAT       I;             # STATUS FROM *XDXB* #
01494  M01S01372.ssalter +++|      ITEM TEMP       I;             # TEMPORARY CELL #
01495  M01S01373.ssalter +++|                                               CONTROL EJECT;
01496  M01S01374.ssalter +++|      ITEM CUBLANK C(58) =
01497  M01S01375.ssalter +++|        "                                                          ";
01498  M01S01376.ssalter +++|      ITEM CUHDR1 C(58) =
01499  M01S01377.ssalter +++|        "                            CU";
01500  M01S01378.ssalter +++|      ITEM CUHDR2 C(58) =
01501  M01S01379.ssalter +++|        "                     ORD    ST";
01502  M01S01380.ssalter +++|      ITEM CUHDR3 C(58) =
01503  M01S01381.ssalter +++|        "                    CUNN    ST";
01504  M01S01382.ssalter +++|      ITEM CUHDR4 C(58) =
01505  M01S01383.ssalter +++|        "    CIFU   CIFV   DTI0   DTO0   DIF0   DRC0   DRC1   AIF0";
01506  M01S01384.ssalter +++|      ITEM CUHDR5 C(58) =
01507  M01S01385.ssalter +++|        "    ----   ----   ----   ----   ----   ----   ----   ----";
01508  M01S01386.ssalter +++|      ITEM CUHDR7 C(58) =
01509  M01S01387.ssalter +++|        "    DTI0X  DTI0X  DIF0X  DIF0X  DRC0X  DRD0X  DRD0X  SMA0X";
01510  M01S01388.ssalter +++|      ITEM CUHDR8 C(58) =
01511  M01S01389.ssalter +++|        "    DTI1X  DTI1X  DIF1X  DIF1X  DRC1X  DRD1X  DRD1X  SMA1X";
01512  M01S01390.ssalter +++|      ITEM CUHDR9 C(58) =
Line S01391 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01513  M02S01391.ssalte1 ---|        "    DTO0X  DTO0X                       DRD2X  DRD2X  SMA2X";
01514  M01S00101.ssalte1 +++|        "    DTO0X  DTO0X                DRC2X  DRD2X  DRD2X  SMA2X";
01515  M01S01392.ssalter +++|      ITEM CUHDR10 C(58) =
Line S01393 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01516  M02S01393.ssalte1 ---|        "    DTO1X  DTO1X  DTI1   DTO1   DIF1   DRD3X  DRD3X  SMA3X";
01517  M01S00102.ssalte1 +++|        "    DTO1X  DTO1X  DTI1   DTO1   DRC3X  DRD3X  DRD3X  SMA3X";
01518  M01S01394.ssalter +++|      ITEM CUHDR11 C(58) =
Line S01395 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01519  M02S01395.ssalte1 ---|        "                  ----   ----   ----   DRD4X  DRD4X";
01520  M01S00103.ssalte1 +++|        "                  ----   ----          DRD4X  DRD4X";
01521  M01S01396.ssalter +++|      ITEM CUHDR12 C(58) =
Line S01397 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01522  M02S01397.ssalte1 ---|        "                  DIF0X  DIF0X  DRC0X  DRD5X  DRD5X  AIF1";
01523  M01S00104.ssalte1 +++|        "                  DIF0X  DIF0X  DIF1   DRD5X  DRD5X  AIF1";
01524  M01S01398.ssalter +++|      ITEM CUHDR13 C(58) =
Line S01399 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01525  M02S01399.ssalte1 ---|        "        CH        DIF1X  DIF1X  DRC1X  DRD6X  DRD6X  ----";
01526  M01S00105.ssalte1 +++|        "        CH        DIF1X  DIF1X  ----   DRD6X  DRD6X  ----";
01527  M01S01400.ssalter +++|      ITEM CUHDR14 C(58) =
Line S01401 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01528  M02S01401.ssalte1 ---|        "    CH  ST  CIF                                      SMA0X";
01529  M01S00106.ssalte1 +++|        "    CH  ST  CIF                 DRC0X  DRD7X  DRD7X  SMA0X";
01530  M01S01402.ssalter +++|      ITEM CUHDR15 C(58) =
Line S01403 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01531  M02S01403.ssalte1 ---|        "    NN  ST   U                                       SMA1X";
01532  M01S00107.ssalte1 +++|        "    NN  ST   U                  DRC1X                SMA1X";
01533  M01S01404.ssalter +++|      ITEM CUHDR16 C(58) =
Line S01405 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01534  M02S01405.ssalte1 ---|        "    MM  ST   V                                       SMA2X";
01535  M01S00108.ssalte1 +++|        "    MM  ST   V                  DRC2X                SMA2X";
01536  M01S01406.ssalter +++|      ITEM CUHDR17 C(58) =
Line S01407 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01537  M02S01407.ssalte1 ---|        "                                                     SMA3X";
01538  M01S00109.ssalte1 +++|        "                                DRC3X                SMA3X";
01539  M01S01408.ssalter +++|                                               CONTROL EJECT;
01540  M01S01409.ssalter +++|
01541  M01S01410.ssalter +++|#
01542  M01S01411.ssalter +++|*     BLANK THE *K* DISPLAY
01543  M01S01412.ssalter +++|#
01544  M01S01413.ssalter +++|
01545  M01S01414.ssalter +++|      P<CU$SCREEN> = LOC(KLEFTSCRNAL);
01546  M01S01415.ssalter +++|      P<SM$SCREEN> = LOC(KLEFTSCRNAL);
01547  M01S01416.ssalter +++|      SLOWFOR I = LF$AL$BODY STEP 1 UNTIL LF$AL$KBECHO-1
01548  M01S01417.ssalter +++|      DO
01549  M01S01418.ssalter +++|        BEGIN
01550  M01S01419.ssalter +++|        CU$LN[I] = CUBLANK;
01551  M01S01420.ssalter +++|        CU$EOL[I] = 0;
01552  M01S01421.ssalter +++|        END
01553  M01S01422.ssalter +++|
01554  M01S01423.ssalter +++|
01555  M01S01424.ssalter +++|#
01556  M01S01425.ssalter +++|*     PAINT NON-CHANGING WORDS ON THE SCREEN
01557  M01S01426.ssalter +++|#
01558  M01S01427.ssalter +++|
01559  M01S01428.ssalter +++|      CU$LN[4] = CUHDR1;
01560  M01S01429.ssalter +++|      CU$LN[5] = CUHDR2;
01561  M01S01430.ssalter +++|      CU$LN[6] = CUHDR3;
01562  M01S01431.ssalter +++|      CU$LN[8] = CUHDR4;
01563  M01S01432.ssalter +++|      CU$LN[9] = CUHDR5;
01564  M01S01433.ssalter +++|      CU$LN[10] = CUHDR7;
01565  M01S01434.ssalter +++|      CU$LN[11] = CUHDR8;
01566  M01S01435.ssalter +++|      CU$LN[12] = CUHDR9;
01567  M01S01436.ssalter +++|      CU$LN[13] = CUHDR10;
01568  M01S01437.ssalter +++|      CU$LN[14] = CUHDR11;
01569  M01S01438.ssalter +++|      CU$LN[15] = CUHDR12;
01570  M01S01439.ssalter +++|      CU$LN[16] = CUHDR13;
01571  M01S01440.ssalter +++|      CU$LN[17] = CUHDR14;
01572  M01S01441.ssalter +++|      CU$LN[18] = CUHDR15;
01573  M01S01442.ssalter +++|      CU$LN[19] = CUHDR16;
01574  M01S01443.ssalter +++|      CU$LN[20] = CUHDR17;
01575  M01S01444.ssalter +++|
01576  M01S01445.ssalter +++|#
01577  M01S01446.ssalter +++|*     GET UDT INFORMATION
01578  M01S01447.ssalter +++|#
01579  M01S01448.ssalter +++|
01580  M01S01449.ssalter +++|      UCPREQ ( TYP"TYP5", REQTYP5"SSA$PUDT", RESPCODE );
01581  M01S01450.ssalter +++|
01582  M01S01451.ssalter +++|      IF ( RESPCODE NQ RESPTYP5"OK5" )  ##
01583  M01S01452.ssalter +++|        AND ( RESPCODE NQ RESPTYP5"SSA$OK" )
01584  M01S01453.ssalter +++|      THEN
01585  M01S01454.ssalter +++|        BEGIN  # PROCESS INCORRECT RESPONSE #
01586  M01S01455.ssalter +++|        UCPREQ ( TYP"TYP1", REQTYP1"DISCONNECT", RESPCODE );
01587  M01S01456.ssalter +++|        ALTMSG$LN[0] = MSG1;
01588  M01S01457.ssalter +++|        MESSAGE ( ALTMSG[0],SYSUDF1 );
01589  M01S01458.ssalter +++|        RESTPFP ( PFP$ABORT );
01590  M01S01459.ssalter +++|        END  # PROCESS INCORRECT RESPONSE #
01591  M01S01460.ssalter +++|
01592  M01S01461.ssalter +++|#
01593  M01S01462.ssalter +++|*     DISPLAY STATIC INFORMATION
01594  M01S01463.ssalter +++|#
01595  M01S01464.ssalter +++|
01596  M01S01465.ssalter +++|      CHAR$10[0] = XCOD ( ORDINAL );
Line S01466 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01597  M02S01466.ssalte1 ---|
Line S01467 Modification History
M01 (Added by) ssalter
M02 (Updated by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01598  M02S01467.ssalte1 ---|      POKEDIS ( 6, 22, 2, CHAR$R2[0] );
01599  M01S00110.ssalte1 +++|      IF ORDINAL LQ O"77"
01600  M01S00111.ssalte1 +++|      THEN                           # ORDINAL HAS 2 CHARACTERS #
01601  M01S00112.ssalte1 +++|        BEGIN  # TWO #
01602  M01S00113.ssalte1 +++|        POKEDIS(6,22,2,CHAR$R2[0]);
01603  M01S00114.ssalte1 +++|        END  # TWO #
01604  M01S00115.ssalte1 +++|
01605  M01S00116.ssalte1 +++|      ELSE                           # ORDINAL HAS 3 CHARACTERS #
01606  M01S00117.ssalte1 +++|        BEGIN  # THREE #
01607  M01S00118.ssalte1 +++|        POKEDIS(6,22,3,CHAR$R3[0]);
01608  M01S00119.ssalte1 +++|        END  # THREE #
01609  M01S01468.ssalter +++|
01610  M01S01469.ssalter +++|#
01611  M01S01470.ssalter +++|*     UPDATE STATUSES FROM UDT INFORMATION
01612  M01S01471.ssalter +++|#
01613  M01S01472.ssalter +++|
01614  M01S01473.ssalter +++|      IF UD$CUON[1]
01615  M01S01474.ssalter +++|      THEN
01616  M01S01475.ssalter +++|        BEGIN
01617  M01S01476.ssalter +++|        CH2 = ALTK$CHON;
01618  M01S01477.ssalter +++|        END
01619  M01S01478.ssalter +++|
01620  M01S01479.ssalter +++|      ELSE
01621  M01S01480.ssalter +++|        BEGIN
01622  M01S01481.ssalter +++|        CH2 = ALTK$CHOFF;
01623  M01S01482.ssalter +++|        END
01624  M01S01483.ssalter +++|
01625  M01S01484.ssalter +++|      POKEDIS ( 6, 28, 2, CH2 );
01626  M01S01485.ssalter +++|
01627  M01S01486.ssalter +++|      LOOPC = FALSE;
01628  M01S01487.ssalter +++|      SLOWFOR NCH = MAX$CH-2 STEP -1 UNTIL 0
01629  M01S01488.ssalter +++|      DO
01630  M01S01489.ssalter +++|        BEGIN  # DISPLAY CHANNELS/CIFS #
01631  M01S01490.ssalter +++|        IF LOOPC                     # TEST CHANNEL A EXAMINED #
01632  M01S01491.ssalter +++|        THEN
01633  M01S01492.ssalter +++|          BEGIN
01634  M01S01493.ssalter +++|          TEST NCH;
01635  M01S01494.ssalter +++|          END
01636  M01S01495.ssalter +++|
01637  M01S01496.ssalter +++|        IF NCH EQ 1
01638  M01S01497.ssalter +++|        THEN
01639  M01S01498.ssalter +++|          BEGIN
01640  M01S01499.ssalter +++|          LINE = 18;
01641  M01S01500.ssalter +++|          COLUMN = 7;
01642  M01S01501.ssalter +++|          END
01643  M01S01502.ssalter +++|
01644  M01S01503.ssalter +++|        ELSE
01645  M01S01504.ssalter +++|          BEGIN
01646  M01S01505.ssalter +++|          LINE = 19;
01647  M01S01506.ssalter +++|          COLUMN = 14;
01648  M01S01507.ssalter +++|          END
01649  M01S01508.ssalter +++|
01650  M01S01509.ssalter +++|        IF ( UD$CHAND[1] NQ 0 ) AND ( NCH EQ MAX$CH-2 )
01651  M01S01510.ssalter +++|        THEN
01652  M01S01511.ssalter +++|          BEGIN
01653  M01S01512.ssalter +++|          CHAR$10[0] = XCOD ( UD$CHAND$C[1] );
01654  M01S01513.ssalter +++|
01655  M01S01514.ssalter +++|          POKEDIS ( LINE, 4, 2, CHAR$R2[0] );  # DISPLAY CHANNEL #
01656  M01S01515.ssalter +++|
01657  M01S01516.ssalter +++|          IF UD$CHAND$O[1]
01658  M01S01517.ssalter +++|          THEN
01659  M01S01518.ssalter +++|            BEGIN
01660  M01S01519.ssalter +++|            CH2 = ALTK$CHON;
01661  M01S01520.ssalter +++|            END
01662  M01S01521.ssalter +++|
01663  M01S01522.ssalter +++|          ELSE
01664  M01S01523.ssalter +++|            BEGIN
01665  M01S01524.ssalter +++|            CH2 = ALTK$CHOFF;
Proceed to Part 1
cdc/nos2.source/opl.opl871/deck/ssalter.txt ยท Last modified: by 127.0.0.1