User Tools

Site Tools


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

Deck SSALTER

Library Member Format: MODIFY

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.ssalter ---|PRGM SSALTER;
00002  M00S00002.ssalter ---|# TITLE SSALTER - INITIALIZES *SSALTER* UTILITY.                      #
00003  M00S00003.ssalter ---|
00004  M00S00004.ssalter ---|      BEGIN  # SSALTER #
00005  M00S00005.ssalter ---|
00006  M00S00006.ssalter ---|#
00007  M00S00007.ssalter ---|***   SSALTER - INITIALIZES *SSALTER* UTILITY.
00008  M00S00008.ssalter ---|*
00009  M00S00009.ssalter ---|*     THIS PROGRAM INITIALIZES *SSALTER* UTILITY BY
00010  M00S00010.ssalter ---|*     CALLING THE FIRST *SSALTER* *K* DISPLAY AND
00011  M00S00011.ssalter ---|*     PROVIDING THE INTERFACE BETWEEN THE CONSOLE
00012  M00S00012.ssalter ---|*     OPERATOR AND *SSEXEC* IN MAINTAINING THE
00013  M00S00013.ssalter ---|*     M860 HARDWARE CONFIGURATION.
00014  M00S00014.ssalter ---|*
00015  M00S00015.ssalter ---|*
Line S00016 Modification History
M01 (Removed by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00016  M01S00016.281l803 ---|*     COPYRIGHT CONTROL DATA CORP., 1983.
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00017  M01S00001.281l803 +++|*     COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00018  M00S00017.ssalter +++|#
00019  M00S00018.ssalter +++|
00020  M00S00019.ssalter +++|#
00021  M00S00020.ssalter +++|****  PRGM SSALTER - XREF LIST BEGIN.
00022  M00S00021.ssalter +++|#
00023  M00S00022.ssalter +++|
00024  M00S00023.ssalter +++|      XREF
00025  M00S00024.ssalter +++|        BEGIN
00026  M00S00025.ssalter +++|        PROC ABORT;                  # CALLS *ABORT* MACRO #
00027  M00S00026.ssalter +++|        PROC ALTKINP;                # DIGEST KEYBOARD INPUT #
00028  M00S00027.ssalter +++|        PROC ALTKINT;                # *SSALTER* *K* DISPLAY
00029  M00S00028.ssalter +++|                                       INITIALIZER #
00030  M00S00029.ssalter +++|        PROC BZFILL;                 # BLANK OR ZERO FILLS A BUFFER #
00031  M00S00030.ssalter +++|        PROC GETFAM;                 # GET DEFAULT FAMILY #
00032  M00S00031.ssalter +++|        PROC GETPFP;                 # GET USER INDEX AND FAMILY #
00033  M00S00032.ssalter +++|        PROC GETSPS;                 # GET SYSTEM ORIGIN STATUS #
00034  M00S00033.ssalter +++|        PROC MESSAGE;                # DISPLAYS A MESSAGE #
00035  M00S00034.ssalter +++|        PROC RECALL;                 # PUT PROGRAM INTO RECALL #
00036  M00S00035.ssalter +++|        PROC RESTPFP;                # RESTORE USER-S *PFP* AND ABORT
00037  M00S00036.ssalter +++|                                       OR RETURN #
00038  M00S00037.ssalter +++|        PROC SETPFP;                 # SET FAMILY AND USER INDEX #
00039  M00S00038.ssalter +++|        PROC SETQP;                 # SET QUEUE PRIORITY #
00040  M00S00039.ssalter +++|        PROC SETPR;                  # SET CPU PRIORITY #
00041  M00S00040.ssalter +++|        PROC UCPREQ;                 # ISSUE TYPE 1 OR 5 UCP REQUEST #
00042  M00S00041.ssalter +++|        PROC XARG;                   # USED TO SATISFY SSJ= EXTERNAL #
00043  M00S00042.ssalter +++|        END
00044  M00S00043.ssalter +++|
00045  M00S00044.ssalter +++|#
00046  M00S00045.ssalter +++|****  PRGM SSALTER - XREF LIST END.
00047  M00S00046.ssalter +++|#
00048  M00S00047.ssalter +++|
00049  M00S00048.ssalter +++|#
00050  M00S00049.ssalter +++|*     DAYFILE MESSAGES.
00051  M00S00050.ssalter +++|#
00052  M00S00051.ssalter +++|
00053  M00S00052.ssalter +++|      DEF MSG1       #" SSALTER - SYNTAX ERROR."#;
00054  M00S00053.ssalter +++|      DEF MSG2       #" SSALTER COMPLETE."#;
00055  M00S00054.ssalter +++|      DEF MSG3       #" SSALTER - MUST BE SYSTEM ORIGIN."#;
00056  M00S00055.ssalter +++|      DEF MSG4       #" SSALTER - CANNOT CONNECT TO SSEXEC."#;
00057  M00S00056.ssalter +++|      DEF MSG5       #" SSALTER - INCORRECT RESPONSE FROM SSEXEC."#;
00058  M00S00057.ssalter +++|
00059  M00S00058.ssalter +++|#
00060  M00S00059.ssalter +++|*     MISCELLAEOUS DEFINITIONS
00061  M00S00060.ssalter +++|#
00062  M00S00061.ssalter +++|
00063  M00S00062.ssalter +++|      DEF RSLEN      #1#;            # RETURN STATUS WORD LENGTH #
00064  M00S00063.ssalter +++|      DEF LISTCON    #0#;            # DO NOT LIST COMDECKS #
00065  M00S00064.ssalter +++|
00066  M00S00065.ssalter +++|                                               CONTROL PRESET;
00067  M00S00066.ssalter +++|*CALL COMBFAS
00068  M00S00067.ssalter +++|*CALL COMBBZF
00069  M00S00068.ssalter +++|*CALL COMBCPR
00070  M00S00069.ssalter +++|*CALL COMBPFP
00071  M00S00070.ssalter +++|*CALL COMBTDM
00072  M00S00071.ssalter +++|*CALL COMBUCR
00073  M00S00072.ssalter +++|*CALL COMSPFM
00074  M00S00073.ssalter +++|*CALL COMTALT
00075  M00S00074.ssalter +++|
00076  M00S00075.ssalter +++|      ITEM ARGLIST    I;             # ADDRESS OF ARGUMENT TABLE #
00077  M00S00076.ssalter +++|      ITEM DEFORD     I;             # DEFAULT FAMILY ORDINAL #
00078  M00S00077.ssalter +++|      ITEM FLAG       I;             # ERROR STATUS #
00079  M00S00078.ssalter +++|      ITEM I          I;             # LOOP COUNTER #
00080  M00S00079.ssalter +++|      ITEM INDX       I;             # INDEX VARIABLE #
00081  M00S00080.ssalter +++|      ITEM INITIALIZE B;             # STATUS OF *SSEXEC* CALL #
Line S00081 Modification History
M01 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00082  M01S00081.ssalte2 ---|      ITEM KBCUEST    C(2);          # EST ORDINAL OF REQUESTED M862 #
Line S00001 Modification History
M01 (Added by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00083  M01S00001.ssalte2 +++|      ITEM KBCUEST    C(3);          # EST ORDINAL OF REQUESTED CU #
00084  M00S00082.ssalter +++|      ITEM LINK       I;             # LINKED FAMILY ORDINAL #
00085  M00S00083.ssalter +++|      ITEM LOOPC      B;             # LOOP CONTROL #
00086  M00S00084.ssalter +++|      ITEM NUM        I;             # NUMBER OF FAMILIES #
00087  M00S00085.ssalter +++|      ITEM OPTION     I;             # OPTION TO SKIP PROGRAM NAME #
00088  M00S00086.ssalter +++|      ITEM RESPCODE   I;             # RESPONSE FROM EXEC #
00089  M00S00087.ssalter +++|
00090  M00S00088.ssalter +++|      ARRAY CALL$SS [0:0] P(CPRLEN);;  # CALLSS PARAMETER BLOCK #
00091  M00S00089.ssalter +++|      ARRAY ALMSG[0:0] P(4);
00092  M00S00090.ssalter +++|        BEGIN
00093  M00S00091.ssalter +++|        ITEM ALMSG$LN    C(00,00,39);  # MESSAGE LINE #
00094  M00S00092.ssalter +++|        ITEM ALMSG$TERM  U(03,48,12) = [0];  # ZERO TERMINATOR #
00095  M00S00093.ssalter +++|        END
00096  M00S00094.ssalter +++|
00097  M00S00095.ssalter +++|      ARRAY SPSSTAT [0:0] S(RSLEN);
00098  M00S00096.ssalter +++|        BEGIN
00099  M00S00097.ssalter +++|        ITEM SPS$STATUS U(00,48,12);  # RETURN STATUS #
00100  M00S00098.ssalter +++|        END
00101  M00S00099.ssalter +++|
00102  M00S00100.ssalter +++|                                               CONTROL EJECT;
00103  M00S00101.ssalter +++|
00104  M00S00102.ssalter +++|#
00105  M00S00103.ssalter +++|*     CALL *XARG* TO ALLOW SSJ= ENTRY POINT TO BE SATISFIED.
00106  M00S00104.ssalter +++|#
00107  M00S00105.ssalter +++|
00108  M00S00106.ssalter +++|      XARG(ARGLIST,OPTION,FLAG);
00109  M00S00107.ssalter +++|
00110  M00S00108.ssalter +++|#
00111  M00S00109.ssalter +++|*     GET SPECIAL SYSTEM PRIVELEDGES
00112  M00S00110.ssalter +++|#
00113  M00S00111.ssalter +++|
00114  M00S00112.ssalter +++|      GETSPS ( SPSSTAT );
00115  M00S00113.ssalter +++|      IF SPS$STATUS NQ 0
00116  M00S00114.ssalter +++|      THEN
00117  M00S00115.ssalter +++|        BEGIN
00118  M00S00116.ssalter +++|        ALMSG$LN[0] = MSG3;
00119  M00S00117.ssalter +++|        MESSAGE(ALMSG[0],SYSUDF1);
00120  M00S00118.ssalter +++|        ABORT;
00121  M00S00119.ssalter +++|        END
00122  M00S00120.ssalter +++|
00123  M00S00121.ssalter +++|
00124  M00S00122.ssalter +++|#
00125  M00S00123.ssalter +++|*     GET SUBSYSTEM QUEUE PRIORITY.
00126  M00S00124.ssalter +++|#
00127  M00S00125.ssalter +++|
00128  M00S00126.ssalter +++|      SETQP( -1 );
00129  M00S00127.ssalter +++|
00130  M00S00128.ssalter +++|#
00131  M00S00129.ssalter +++|*     GET THE SAME CPU PRIORITY AS *SSEXEC*.
00132  M00S00130.ssalter +++|#
00133  M00S00131.ssalter +++|
00134  M00S00132.ssalter +++|      SETPR;
00135  M00S00133.ssalter +++|
00136  M00S00134.ssalter +++|#
00137  M00S00135.ssalter +++|*     SAVE THE USER-S CURRENT FAMILY AND USER INDEX IN COMMON.
00138  M00S00136.ssalter +++|#
00139  M00S00137.ssalter +++|
00140  M00S00138.ssalter +++|      GETPFP(PFP[0]);
00141  M00S00139.ssalter +++|      USER$FAM[0] = PFP$FAM[0];
00142  M00S00140.ssalter +++|      USER$UI[0] = PFP$UI[0];
00143  M00S00141.ssalter +++|
00144  M00S00142.ssalter +++|#
00145  M00S00143.ssalter +++|*     SET UP DEFAULT FAMILY AND SUBSYSTEM ID
00146  M00S00144.ssalter +++|#
00147  M00S00145.ssalter +++|
00148  M00S00146.ssalter +++|      SSID$AL = ATAS;
00149  M00S00147.ssalter +++|      GETFAM(FAMT,NUM,LINK,DEFORD,SSID$AL);
00150  M00S00148.ssalter +++|
00151  M00S00149.ssalter +++|#
00152  M00S00150.ssalter +++|*     SET REQUESTOR ID TO *SSALTER*
00153  M00S00151.ssalter +++|#
00154  M00S00152.ssalter +++|
00155  M00S00153.ssalter +++|      REQID$AL = REQNAME"RQIALTER";
00156  M00S00154.ssalter +++|
00157  M00S00155.ssalter +++|#
00158  M00S00156.ssalter +++|*      ESTABLISH LONG-TERM CONNECT WITH *SSEXEC*
00159  M00S00157.ssalter +++|#
00160  M00S00158.ssalter +++|
00161  M00S00159.ssalter +++|      P<CPR> = LOC(CALL$SS[0]);
00162  M00S00160.ssalter +++|      UCPREQ ( TYP"TYP1", REQTYP1"CONNECT", RESPCODE );
00163  M00S00161.ssalter +++|      IF RESPCODE NQ RESPTYP1"OK1"
00164  M00S00162.ssalter +++|      THEN                           # CONNECT NOT DONE #
00165  M00S00163.ssalter +++|        BEGIN
00166  M00S00164.ssalter +++|        ALTMSG$LN[0] = MSG4;
00167  M00S00165.ssalter +++|        MESSAGE(ALTMSG[0],SYSUDF1);
00168  M00S00166.ssalter +++|        RESTPFP(PFP$ABORT);          # RESTORE USER-S *PFP* AND ABORT #
00169  M00S00167.ssalter +++|        END
00170  M00S00168.ssalter +++|
00171  M00S00169.ssalter +++|      UCPREQ(TYP"TYP5",REQTYP5"SSA$PUDT",RESPCODE);
00172  M00S00170.ssalter +++|      IF ( RESPCODE NQ RESPTYP5"OK5" )  ##
00173  M00S00171.ssalter +++|        AND ( RESPCODE NQ RESPTYP5"SSA$OK" )
00174  M00S00172.ssalter +++|      THEN
00175  M00S00173.ssalter +++|        BEGIN  # PROCESS INCORRECT RESPONSE #
00176  M00S00174.ssalter +++|        UCPREQ ( TYP"TYP1", REQTYP1"DISCONNECT", RESPCODE );
00177  M00S00175.ssalter +++|        ALTMSG$LN[0] = MSG5;
00178  M00S00176.ssalter +++|        MESSAGE (ALTMSG[0],SYSUDF1);
00179  M00S00177.ssalter +++|        RESTPFP(PFP$ABORT);
00180  M00S00178.ssalter +++|        END  # PROCESS INCORRECT RESPONSE #
00181  M00S00179.ssalter +++|
00182  M00S00180.ssalter +++|
00183  M00S00181.ssalter +++|#
00184  M00S00182.ssalter +++|*     SET UP INITIALIZATION STATUS
00185  M00S00183.ssalter +++|#
00186  M00S00184.ssalter +++|
00187  M00S00185.ssalter +++|      INITIALIZE = RESPCODE EQ RESPTYP5"SSA$OK";
00188  M00S00186.ssalter +++|
00189  M00S00187.ssalter +++|#
00190  M00S00188.ssalter +++|*     INITIALIZE *K* DISPLAY
00191  M00S00189.ssalter +++|#
00192  M00S00190.ssalter +++|
00193  M00S00191.ssalter +++|      ALTKINT ( INITIALIZE );
00194  M00S00192.ssalter +++|
00195  M00S00193.ssalter +++|#
00196  M00S00194.ssalter +++|*     WAIT FOR OPERATOR INPUT
00197  M00S00195.ssalter +++|#
00198  M00S00196.ssalter +++|
00199  M00S00197.ssalter +++|COMMAND:
00200  M00S00198.ssalter +++|
00201  M00S00199.ssalter +++|      LOOPC = FALSE;
00202  M00S00200.ssalter +++|      SLOWFOR I = 0 WHILE ( NOT LOOPC )
00203  M00S00201.ssalter +++|      DO
00204  M00S00202.ssalter +++|        BEGIN  # ISSUE RECALL REQUESTS #
00205  M00S00203.ssalter +++|
00206  M00S00204.ssalter +++|        RECALL(0);
00207  M00S00205.ssalter +++|
00208  M00S00206.ssalter +++|        IF KB$AL$CLEAR[0] NQ 0
00209  M00S00207.ssalter +++|        THEN
00210  M00S00208.ssalter +++|          BEGIN
00211  M00S00209.ssalter +++|          LOOPC = TRUE;
00212  M00S00210.ssalter +++|          KREQCLEARAL = TRUE;
00213  M00S00211.ssalter +++|          MESSAGE ( BZEROES$AL, LINE2 );
00214  M00S00212.ssalter +++|          KL$AL$SUBL1[LF$AL$KBREJ] = " ";
00215  M00S00213.ssalter +++|          TEST I;
00216  M00S00214.ssalter +++|          END
00217  M00S00215.ssalter +++|
00218  M00S00216.ssalter +++|        TEST I;
00219  M00S00217.ssalter +++|        END  # ISSUE RECALL REQUESTS #
00220  M00S00218.ssalter +++|
00221  M00S00219.ssalter +++|#
00222  M00S00220.ssalter +++|*     PROCESS KEYBOARD INPUTS.
00223  M00S00221.ssalter +++|*     CHECK FOR *STOP*, *END*, *CU*, OR *SM*.
00224  M00S00222.ssalter +++|#
00225  M00S00223.ssalter +++|
00226  M00S00224.ssalter +++|      IF ( C<0,3>KB$AL$SCAN[0] EQ ALTK$END )  ##
00227  M00S00225.ssalter +++|        OR ( C<0,4>KB$AL$SCAN[0] EQ ALTK$STOP )
00228  M00S00226.ssalter +++|      THEN
00229  M00S00227.ssalter +++|        BEGIN
00230  M00S00228.ssalter +++|        GOTO FINISHED;
00231  M00S00229.ssalter +++|        END
00232  M00S00230.ssalter +++|
00233  M00S00231.ssalter +++|      IF ( C<0,2>KB$AL$SCAN[0] NQ ALTK$SM )  ##
00234  M00S00232.ssalter +++|        AND ( C<0,2>KB$AL$SCAN[0] NQ ALTK$CU )
00235  M00S00233.ssalter +++|      THEN
00236  M00S00234.ssalter +++|        BEGIN
00237  M00S00235.ssalter +++|        KL$AL$SUBL1[LF$AL$KBREJ] = "*** REJECT ***";
00238  M00S00236.ssalter +++|        KB$AL$CLEAR[0] = 0;
00239  M00S00237.ssalter +++|        GOTO COMMAND;                # WAIT FOR NEW OPERATOR INPUT #
00240  M00S00238.ssalter +++|        END
00241  M00S00239.ssalter +++|
00242  M00S00240.ssalter +++|      KL$AL$SUBL1[LF$AL$KBREJ] = " ";  # CLEAR REJECT LINE #
00243  M00S00241.ssalter +++|
00244  M00S00242.ssalter +++|#
00245  M00S00243.ssalter +++|*      SET UP COMMAND INDEX
00246  M00S00244.ssalter +++|#
00247  M00S00245.ssalter +++|
00248  M00S00246.ssalter +++|      IF C<0,2>KB$AL$SCAN[0] EQ ALTK$SM
00249  M00S00247.ssalter +++|      THEN
00250  M00S00248.ssalter +++|        BEGIN
00251  M00S00249.ssalter +++|        INDX = 1;
00252  M00S00250.ssalter +++|        END
00253  M00S00251.ssalter +++|
00254  M00S00252.ssalter +++|      IF C<0,2>KB$AL$SCAN[0] EQ ALTK$CU
00255  M00S00253.ssalter +++|      THEN
00256  M00S00254.ssalter +++|        BEGIN
00257  M00S00255.ssalter +++|        INDX = 2;
Line S00256 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00258  M01S00256.ssalte1 ---|        KBCUEST = C<2,2>KB$AL$SCAN[0];
Line S00001 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00259  M01S00001.ssalte1 +++|        KBCUEST = C<2,3>KB$AL$SCAN[0];
00260  M00S00257.ssalter +++|        END
00261  M00S00258.ssalter +++|
00262  M00S00259.ssalter +++|      KB$AL$CLEAR = 0;
00263  M00S00260.ssalter +++|
00264  M00S00261.ssalter +++|
00265  M00S00262.ssalter +++|      ALTKINP( INDX, KBCUEST, INITIALIZE );
00266  M00S00263.ssalter +++|
00267  M00S00264.ssalter +++|      KB$AL$CLEAR[0] = 0;
00268  M00S00265.ssalter +++|
00269  M00S00266.ssalter +++|      ALTKINT ( INITIALIZE );
00270  M00S00267.ssalter +++|
00271  M00S00268.ssalter +++|      GOTO COMMAND;
00272  M00S00269.ssalter +++|
00273  M00S00270.ssalter +++|FINISHED:
00274  M00S00271.ssalter +++|
00275  M00S00272.ssalter +++|#
00276  M00S00273.ssalter +++|*     DISCONNECT FROM *SSEXEC*
00277  M00S00274.ssalter +++|#
00278  M00S00275.ssalter +++|
00279  M00S00276.ssalter +++|      UCPREQ ( TYP"TYP1", REQTYP1"DISCONNECT", RESPCODE );
00280  M00S00277.ssalter +++|
00281  M00S00278.ssalter +++|      ALTMSG$LN[0] = MSG2;           # STOP WITH DAYFILE MESSAGE #
00282  M00S00279.ssalter +++|      MESSAGE(ALTMSG[0],UDFL1);
00283  M00S00280.ssalter +++|      RESTPFP(PFP$END);              # RESTORE USER-S *PFP* #
00284  M00S00281.ssalter +++|
00285  M00S00282.ssalter +++|      END  # SSALTER #
00286  M00S00283.ssalter +++|
00287  M00S00284.ssalter +++|    TERM
00288  M00S00285.ssalter +++|PROC ALTKINP( INDEX, ORDINAL, INITIALIZE );
00289  M00S00286.ssalter +++|
00290  M00S00287.ssalter +++|# TITLE ALTKINP - KEYBOARD INPUT.                                      #
00291  M00S00288.ssalter +++|
00292  M00S00289.ssalter +++|      BEGIN  # ALTKINP #
00293  M00S00290.ssalter +++|
00294  M00S00291.ssalter +++|#
00295  M00S00292.ssalter +++|**    ALTKINP - KEYBOARD INPUT.
00296  M00S00293.ssalter +++|*
00297  M00S00294.ssalter +++|*     *ALTKINP* PROCESSES THE OPERATOR RESPONSES OR COMMANDS.
00298  M00S00295.ssalter +++|*
00299  M00S00296.ssalter +++|*     PROC ALTKINP.
00300  M00S00297.ssalter +++|*
00301  M00S00298.ssalter +++|*     ENTRY     INITIALIZE - BOOLEAN ( TRUE IMPLIES INITIALIZE )
00302  M00S00299.ssalter +++|*               INDEX - AN INDEX DESCRIBING WHICH DISPLAY TO DISPLAY.
00303  M00S00300.ssalter +++|*               ORDINAL EST ORDINAL FOR REQUESTED M862.
00304  M00S00301.ssalter +++|*
00305  M00S00302.ssalter +++|*     EXIT      FOR A VALID OPERATOR RESPONSE -
00306  M00S00303.ssalter +++|*                  THE *KWORD* REQUEST (IF IT IS STILL AVAILABLE)
00307  M00S00304.ssalter +++|*                  IS COMPLETED AND DELINKED.
00308  M00S00305.ssalter +++|*                  THE LEFT SCREEN AREA FOR THE RESPONSE IS CLEARED.
00309  M00S00306.ssalter +++|*
00310  M00S00307.ssalter +++|*               FOR A VALID OPERATOR COMMAND -
00311  M00S00308.ssalter +++|*                  THE DEFINED PROCESSING IS DONE.
00312  M00S00309.ssalter +++|*
00313  M00S00310.ssalter +++|*               FOR AN INVALID OPERATOR TYPE-IN  -
00314  M00S00311.ssalter +++|*                  THE TYPE-IN IS DISPLAYED IN THE ECHO LINE OF THE
00315  M00S00312.ssalter +++|*                  LEFT SCREEN.
00316  M00S00313.ssalter +++|*                  THE *** REJECT *** IS DISPLAYED IN THE REJECT LINE.
00317  M00S00314.ssalter +++|*
00318  M00S00315.ssalter +++|*               ARRAY KBINPUTAL - KEYBOARD BUFFER CLEARED.
00319  M00S00316.ssalter +++|*
00320  M00S00317.ssalter +++|#
00321  M00S00318.ssalter +++|
00322  M00S00319.ssalter +++|      ITEM INITIALIZE   B;           # INPUT VARIABLE #
00323  M00S00320.ssalter +++|      ITEM INDEX      I;             # INPUT VARIABLE #
Line S00321 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00324  M01S00321.ssalte1 ---|      ITEM ORDINAL    C(2);          # INPUT VARIABLE #
Line S00002 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00325  M01S00002.ssalte1 +++|      ITEM ORDINAL    C(3);          # INPUT VARIABLE #
00326  M00S00322.ssalter +++|
00327  M00S00323.ssalter +++|#
00328  M00S00324.ssalter +++|****  PROC ALTKINP - XREF LIST BEGIN.
00329  M00S00325.ssalter +++|#
00330  M00S00326.ssalter +++|
00331  M00S00327.ssalter +++|      XREF
00332  M00S00328.ssalter +++|        BEGIN
00333  M00S00329.ssalter +++|        FUNC XCDD;
00334  M00S00330.ssalter +++|        PROC CHKMODE;                # CHECK MODE OF PATH/NODE #
00335  M00S00331.ssalter +++|        PROC CUCOMM;                 # CRACK *CU* COMMAND PARAMETERS #
00336  M00S00332.ssalter +++|        PROC DISPCU;                 # GENERATE *CU* DISPLAY #
00337  M00S00333.ssalter +++|        PROC DISPSM;                 # GENERATE *SM* DISPLAY #
00338  M00S00334.ssalter +++|        PROC KCLR;                   # CLEAR CURRENT REQUEST #
00339  M00S00335.ssalter +++|        PROC MESSAGE;                # DISPLAYS A MESSAGE #
00340  M00S00336.ssalter +++|        PROC POKEDIS;                # WRITE TO *K* DISPLAY #
00341  M00S00337.ssalter +++|        PROC RECALL;                 # PUT PROGRAM INTO RECALL #
00342  M00S00338.ssalter +++|        PROC UCPREQ;                 # ISSUE UCP CALL TO *SSEXEC* #
00343  M00S00339.ssalter +++|        FUNC XDXB I;                 # CONVERT DISPLAY CODE TO INTEGER
00344  M00S00340.ssalter +++|                                     #
00345  M00S00341.ssalter +++|        END
00346  M00S00342.ssalter +++|
00347  M00S00343.ssalter +++|#
00348  M00S00344.ssalter +++|****  PROC ALTKINP - XREF LIST END.
00349  M00S00345.ssalter +++|#
00350  M00S00346.ssalter +++|
00351  M00S00347.ssalter +++|      DEF LISTCON   #0#;             # DO NOT LIST COMMON DECKS #
00352  M00S00348.ssalter +++|*CALL COMBFAS
00353  M00S00349.ssalter +++|*CALL COMBCPR
00354  M00S00350.ssalter +++|*CALL COMBPFP
00355  M00S00351.ssalter +++|*CALL COMBUCR
00356  M00S00352.ssalter +++|*CALL COMBUDT
00357  M00S00353.ssalter +++|*CALL COMTALT
00358  M00S00354.ssalter +++|
Line S00355 Modification History
M01 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00359  M01S00355.ssalte2 ---|      ITEM ADDRESS     U;            # GLOBAL BIT WORD #
00360  M00S00356.ssalter ---|      ITEM BITNUM     I;             # BIT NUMBER FOR UCP CALL #
00361  M00S00357.ssalter ---|      ITEM CH         I;             # CHARACTER INDEX #
00362  M00S00358.ssalter ---|      ITEM CH1        C(1);          # CHARACTER #
00363  M00S00359.ssalter ---|      ITEM CH2        C(2);          # 2 CHARACTERS #
00364  M00S00360.ssalter ---|      ITEM CHAR       C(1);          # CHARACTER #
00365  M00S00361.ssalter ---|      ITEM CHAR2      C(2);          # 2 CHARACTERS #
Line S00003 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00366  M01S00003.ssalte1 +++|      ITEM CHAR3      C(3);          # 3-CHARACTER SCRATCH VARIABLE #
00367  M00S00362.ssalter +++|      ITEM COLUMN     I;             # COLUMN NUMBER IN DISPLAY #
00368  M00S00363.ssalter +++|      ITEM COUNT      I;             # NUMBER OF CHARACTERS #
00369  M00S00364.ssalter +++|      ITEM CUINDEX    I;             # *CU* INDEX IN UDT #
Line S00002 Modification History
M01 (Added by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00365.ssalter +++|      ITEM COMMAND    C(10);         # OPERATOR COMMAND #
00373  M00S00366.ssalter +++|      ITEM FLAG       B;             # OUTPUT FROM CHKMODE #
00374  M00S00367.ssalter +++|      ITEM INDX       I;             # LOOP INDEX #
00375  M00S00368.ssalter +++|      ITEM J          I;             # SCRATCH INTEGER #
00376  M00S00369.ssalter +++|      ITEM K          I;             # SCRATCH INTEGER #
00377  M00S00370.ssalter +++|      ITEM LINE       I;             # *K* DISPLAY LINE NUMBER #
00378  M00S00371.ssalter +++|      ITEM LOOPC      B;             # LOOP CONTROL VARIABLE #
00379  M00S00372.ssalter +++|      ITEM NCHAR      I;             # NEXT CHARACTER COUNTER #
00380  M00S00373.ssalter +++|      ITEM ORD        I;             # ORDINAL #
00381  M00S00374.ssalter +++|      ITEM ESTORD     I;             # EST ORDINAL #
00382  M00S00375.ssalter +++|      ITEM MSG        C(80);         # MESSAGE #
00383  M00S00376.ssalter +++|      ITEM REJECT     B;             # REJECT RESPONSE FLAG #
00384  M00S00377.ssalter +++|      ITEM RESPCODE   I;             # RESPONSE FROM SSEXEC #
00385  M00S00378.ssalter +++|      ITEM SMINDEX    I;             # *SM* INDEX IN UDT #
00386  M00S00379.ssalter +++|      ITEM STAT       I;             # INTEGER STATUS #
00387  M00S00380.ssalter +++|      ITEM STATE      B;             # PATH STATUS #
00388  M00S00381.ssalter +++|      ITEM TEMP       I;             # TEMPORARY INTEGER #
00389  M00S00382.ssalter +++|
00390  M00S00383.ssalter +++|      ARRAY CALL$SS[0:0]P(CPRLEN);;  # CALLSS PARAMETER BLOCK #
00391  M00S00384.ssalter +++|
00392  M00S00385.ssalter +++|                                               CONTROL EJECT;
Line S00004 Modification History
M01 (Added by) ssalte1
M02 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00393  M02S00004.ssalte2 ---|                                               CONTROL INERT;
00394  M00S00386.ssalter ---|
00395  M00S00387.ssalter ---|#
00396  M00S00388.ssalter ---|*     SET INITIAL CONDITIONS
00397  M00S00389.ssalter ---|#
00398  M00S00390.ssalter ---|
00399  M00S00391.ssalter ---|      P<UDT$WORD> = LOC( UDT$HDR);
00400  M00S00392.ssalter ---|      P<CPR> = LOC( CALL$SS[0] );
00401  M00S00393.ssalter ---|      CUINDEX = 0;
00402  M00S00394.ssalter ---|      SMINDEX = 0;
00403  M00S00395.ssalter ---|
00404  M00S00396.ssalter ---|      KL$AL$LINE[LF$AL$KBREJ] = " ";  # CLEAR REJECT LINE #
00405  M00S00397.ssalter ---|
00406  M00S00398.ssalter ---|      KL$AL$SUBL1[LF$AL$KBECHO] = KB$AL$SCAN[0];  # SET ECHO LINE #
00407  M00S00399.ssalter ---|
00408  M00S00400.ssalter ---|#
00409  M00S00401.ssalter ---|*     CRACK THE KEYBOARD INPUT.  DETERMINE IF INPUT IS -
00410  M00S00402.ssalter ---|*       . CU - INDICATING A REQUEST TO DISPLAY THE *CU* DISPLAY
00411  M00S00403.ssalter ---|*       . SM - INDICATING A REQUEST TO DISPLAY THE *SM* DISPLAY
00412  M00S00404.ssalter ---|#
00413  M00S00405.ssalter ---|
00414  M00S00406.ssalter ---|CU$DISP:
00415  M00S00407.ssalter ---|
00416  M00S00408.ssalter ---|      IF INDEX EQ 2
00417  M00S00409.ssalter ---|      THEN
00418  M00S00410.ssalter ---|        BEGIN  # PROCESS *CU* COMMAND #
00419  M00S00411.ssalter ---|
00420  M00S00412.ssalter ---|#
00421  M00S00413.ssalter ---|*     LOCATE CORRECT UDT ENTRY
00422  M00S00414.ssalter ---|#
00423  M00S00415.ssalter ---|
Line S00416 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00424  M01S00416.ssalte1 ---|        STAT = XDXB ( ORDINAL, 0, ORD );
00425  M01S00417.ssalte1 ---|        IF STAT NQ 0
00426  M01S00418.ssalte1 ---|        THEN
00427  M01S00419.ssalte1 ---|          BEGIN
00428  M01S00420.ssalte1 ---|          GOTO REJECTORD;            # REJECT IF BAD ORDINAL #
00429  M01S00421.ssalte1 ---|          END
00430  M01S00422.ssalte1 ---|
00431  M00S00423.ssalter ---|        LOOPC = FALSE;
00432  M00S00424.ssalter ---|        SLOWFOR INDX = 0 STEP 1 WHILE NOT LOOPC
00433  M00S00425.ssalter ---|        DO
00434  M00S00426.ssalter ---|          BEGIN
00435  M00S00427.ssalter ---|          P< UDT$CN > = LOC ( UDT$M862[INDX] );
00436  M01S00428.ssalte1 ---|          STAT = XDXB ( ORDINAL, 0, ESTORD );
Line S00005 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00437  M01S00005.ssalte1 +++|          STAT = XDXB(ORDINAL,0,ESTORD);  # ASSUME 3 CHARACTERS #
00438  M00S00429.ssalter +++|          IF STAT NQ 0
00439  M00S00430.ssalter +++|          THEN
00440  M00S00431.ssalter +++|            BEGIN
Line S00432 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00441  M01S00432.ssalte1 ---|            GOTO REJECTORD;          # REJECT IF BAD ORDINAL #
Line S00006 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00433.ssalter +++|            END
00450  M00S00434.ssalter +++|
00451  M00S00435.ssalter +++|          IF ESTORD EQ 0
00452  M00S00436.ssalter +++|          THEN
00453  M00S00437.ssalter +++|            BEGIN
00454  M00S00438.ssalter +++|            GOTO REJECTORD;          # BLANK IS ILLEGAL #
00455  M00S00439.ssalter +++|            END
00456  M00S00440.ssalter +++|
00457  M00S00441.ssalter +++|          IF ESTORD NQ UD$ESTO[1]
00458  M00S00442.ssalter +++|          THEN
00459  M00S00443.ssalter +++|            BEGIN
00460  M00S00444.ssalter +++|            IF INDX GQ UDT$LINE$CUN[0]
00461  M00S00445.ssalter +++|            THEN
00462  M00S00446.ssalter +++|              BEGIN
00463  M00S00447.ssalter +++|              GOTO REJECTORD;        # REJECT IF BAD ORDINAL #
00464  M00S00448.ssalter +++|              END
00465  M00S00449.ssalter +++|
00466  M00S00450.ssalter +++|            TEST INDX;
00467  M00S00451.ssalter +++|            END
00468  M00S00452.ssalter +++|
00469  M00S00453.ssalter +++|          ELSE
00470  M00S00454.ssalter +++|            LOOPC = TRUE;
00471  M00S00455.ssalter +++|          TEST INDX;
00472  M00S00456.ssalter +++|          END
00473  M00S00457.ssalter +++|
00474  M00S00458.ssalter +++|
00475  M00S00459.ssalter +++|        CUINDEX = INDX;
00476  M00S00460.ssalter +++|
00477  M00S00461.ssalter +++|        DISPCU ( CUINDEX, ESTORD );
00478  M00S00462.ssalter +++|
00479  M00S00463.ssalter +++|CU$DISP1:
00480  M00S00464.ssalter +++|
00481  M00S00465.ssalter +++|#
00482  M00S00466.ssalter +++|*     WAIT FOR OPERATOR INPUT
00483  M00S00467.ssalter +++|#
00484  M00S00468.ssalter +++|
00485  M00S00469.ssalter +++|        LOOPC = FALSE;
00486  M00S00470.ssalter +++|        SLOWFOR J = 0 STEP 1 WHILE ( NOT LOOPC )
00487  M00S00471.ssalter +++|        DO
00488  M00S00472.ssalter +++|          BEGIN  # ISSUE RECALL UNTIL INPUT #
00489  M00S00473.ssalter +++|
00490  M00S00474.ssalter +++|          RECALL ( 0 );
00491  M00S00475.ssalter +++|
00492  M00S00476.ssalter +++|          IF KB$AL$CLEAR NQ 0
00493  M00S00477.ssalter +++|          THEN
00494  M00S00478.ssalter +++|            BEGIN
00495  M00S00479.ssalter +++|            LOOPC = TRUE;
00496  M00S00480.ssalter +++|            KL$AL$LINE[LF$AL$KBECHO] = KB$AL$SCAN[0];  # ECHO THE
00497  M00S00481.ssalter +++|                                                         REQUEST #
00498  M00S00482.ssalter +++|            CPR$CUORD[0] = CUINDEX;
00499  M00S00483.ssalter +++|
00500  M00S00484.ssalter +++|#
00501  M00S00485.ssalter +++|*     SEND ALL OPERATOR COMMANDS TO THE SYSTEM DAYFILE.
00502  M00S00486.ssalter +++|#
00503  M00S00487.ssalter +++|
00504  M00S00488.ssalter +++|            MESSAGE ( KB$AL$SCAN[0], SYSUDF1 );
00505  M00S00489.ssalter +++|
00506  M00S00490.ssalter +++|            TEST J;
00507  M00S00491.ssalter +++|            END
00508  M00S00492.ssalter +++|
00509  M00S00493.ssalter +++|          END  # ISSUE RECALL REQUESTS UNTIL INPUT #
00510  M00S00494.ssalter +++|
00511  M00S00495.ssalter +++|        IF C<0,3>KB$AL$SCAN[0] EQ ALTK$END
00512  M00S00496.ssalter +++|        THEN
00513  M00S00497.ssalter +++|          BEGIN
00514  M00S00498.ssalter +++|          P<SM$SCREEN> = LOC(KLEFTSCRNAL);
00515  M00S00499.ssalter +++|          SLOWFOR J = 4 STEP 1 UNTIL LF$AL$KBECHO
00516  M00S00500.ssalter +++|          DO
00517  M00S00501.ssalter +++|            BEGIN
00518  M00S00502.ssalter +++|            CU$LN[J] = ALTK$BL;
00519  M00S00503.ssalter +++|            CU$EOL[J] = 0;
00520  M00S00504.ssalter +++|            END
00521  M00S00505.ssalter +++|
00522  M00S00506.ssalter +++|          RETURN;                    # RETURN IF *END* #
00523  M00S00507.ssalter +++|          END
00524  M00S00508.ssalter +++|        ELSE
00525  M00S00509.ssalter +++|          BEGIN
00526  M00S00510.ssalter +++|          GOTO REJECTCOM;
00527  M00S00511.ssalter +++|          END
00528  M00S00512.ssalter +++|
00529  M00S00513.ssalter +++|
00530  M00S00514.ssalter +++|        END  # PROCESS *CU* COMMAND #
00531  M00S00515.ssalter +++|
00532  M00S00516.ssalter +++|SM$DISP:
00533  M00S00517.ssalter +++|
00534  M00S00518.ssalter +++|      IF INDEX EQ 1
00535  M00S00519.ssalter +++|      THEN
00536  M00S00520.ssalter +++|        BEGIN  # PROCESS *SM* COMMANDS #
00537  M00S00521.ssalter +++|
00538  M00S00522.ssalter +++|        DISPSM( SMINDEX , INITIALIZE );
00539  M00S00523.ssalter +++|
00540  M00S00524.ssalter +++|SM$DISP1:
00541  M00S00525.ssalter +++|
00542  M00S00526.ssalter +++|#
00543  M00S00527.ssalter +++|*     WAIT FOR OPERATOR INPUT
00544  M00S00528.ssalter +++|#
00545  M00S00529.ssalter +++|
00546  M00S00530.ssalter +++|        LOOPC = FALSE;
00547  M00S00531.ssalter +++|        SLOWFOR J = 0 STEP 1 WHILE ( NOT LOOPC )
00548  M00S00532.ssalter +++|        DO
00549  M00S00533.ssalter +++|          BEGIN  # ISSUE RECALL UNTIL INPUT #
00550  M00S00534.ssalter +++|
00551  M00S00535.ssalter +++|          RECALL ( 0 );
00552  M00S00536.ssalter +++|
00553  M00S00537.ssalter +++|          IF KB$AL$CLEAR NQ 0
00554  M00S00538.ssalter +++|          THEN
00555  M00S00539.ssalter +++|            BEGIN
00556  M00S00540.ssalter +++|            LOOPC = TRUE;
00557  M00S00541.ssalter +++|            KL$AL$LINE[LF$AL$KBECHO] = KB$AL$SCAN[0];  # ECHO THE
00558  M00S00542.ssalter +++|                                                         REQUEST #
00559  M00S00543.ssalter +++|
00560  M00S00544.ssalter +++|#
00561  M00S00545.ssalter +++|*     SEND ALL OPERATOR COMMANDS TO THE SYSTEM DAYFILE.
00562  M00S00546.ssalter +++|#
00563  M00S00547.ssalter +++|
00564  M00S00548.ssalter +++|            MESSAGE ( KB$AL$SCAN[0], SYSUDF1 );
00565  M00S00549.ssalter +++|
00566  M00S00550.ssalter +++|            TEST J;
00567  M00S00551.ssalter +++|            END
00568  M00S00552.ssalter +++|
00569  M00S00553.ssalter +++|          END  # ISSUE RECALL REQUESTS UNTIL INPUT #
00570  M00S00554.ssalter +++|
00571  M00S00555.ssalter +++|        IF ( C<0,2>KB$AL$SCAN[0] NQ ALTK$SM )  ##
00572  M00S00556.ssalter +++|          AND ( C<0,3>KB$AL$SCAN[0] NQ ALTK$END )  ##
00573  M00S00557.ssalter +++|          AND ( C<0,1>KB$AL$SCAN[0] NQ ALTK$PLUS )
00574  M00S00558.ssalter +++|        THEN
00575  M00S00559.ssalter +++|          BEGIN  # REJECT RESPONSE #
00576  M00S00560.ssalter +++|          GOTO REJECTCOM;
00577  M00S00561.ssalter +++|          END  # REJECT RESPONSE #
00578  M00S00562.ssalter +++|
00579  M00S00563.ssalter +++|        KL$AL$SUBL1[LF$AL$KBREJ] = " ";  # CLEAR REJECT LINE #
00580  M00S00564.ssalter +++|        IF C<0,1>KB$AL$SCAN[0] EQ ALTK$PLUS
00581  M00S00565.ssalter +++|        THEN
00582  M00S00566.ssalter +++|          BEGIN  # PROCESS K.+ #
00583  M00S00567.ssalter +++|          SMINDEX = SMINDEX + 1;
00584  M00S00568.ssalter +++|          IF SMINDEX GQ UDT$LINE$SMN[0]
00585  M00S00569.ssalter +++|          THEN
00586  M00S00570.ssalter +++|            BEGIN  # NO SUCH DISPLAY AVAILABLE #
00587  M00S00571.ssalter +++|            SMINDEX = SMINDEX - 1;
00588  M00S00572.ssalter +++|            GOTO REJECTCOM;
00589  M00S00573.ssalter +++|            END  # NO SUCH DISPLAY AVAILABLE #
00590  M00S00574.ssalter +++|
00591  M00S00575.ssalter +++|          ELSE
00592  M00S00576.ssalter +++|            BEGIN  # "+" IS OK, DISPLAY NEXT PAGE #
00593  M00S00577.ssalter +++|            KB$AL$CLEAR[0] = 0;
00594  M00S00578.ssalter +++|            KL$AL$LINE[LF$AL$KBECHO] = " ";
00595  M00S00579.ssalter +++|            GOTO SM$DISP;
00596  M00S00580.ssalter +++|            END  # "+" IS OK, DISPLAY NEXT PAGE #
00597  M00S00581.ssalter +++|
00598  M00S00582.ssalter +++|          END  # PROCESS PLUS #
00599  M00S00583.ssalter +++|
00600  M00S00584.ssalter +++|
00601  M00S00585.ssalter +++|        IF C<0,2>KB$AL$SCAN[0] NQ ALTK$SM
00602  M00S00586.ssalter +++|        THEN
00603  M00S00587.ssalter +++|          BEGIN
00604  M00S00588.ssalter +++|
00605  M00S00589.ssalter +++|#
00606  M00S00590.ssalter +++|*     BLANK THE SCREEN
00607  M00S00591.ssalter +++|#
00608  M00S00592.ssalter +++|
00609  M00S00593.ssalter +++|          P<SM$SCREEN> = LOC(KLEFTSCRNAL);
00610  M00S00594.ssalter +++|          SLOWFOR J = LF$AL$BODY STEP 1 UNTIL LF$AL$KBECHO
00611  M00S00595.ssalter +++|          DO
00612  M00S00596.ssalter +++|            BEGIN
00613  M00S00597.ssalter +++|            SM$LN[J] = ALTK$BL;
00614  M00S00598.ssalter +++|            SM$EOL[J] = 0;
00615  M00S00599.ssalter +++|            END
00616  M00S00600.ssalter +++|
00617  M00S00601.ssalter +++|          RETURN;                    # RETURN IF *END* OR *STOP* #
00618  M00S00602.ssalter +++|          END
00619  M00S00603.ssalter +++|
00620  M00S00604.ssalter +++|        P<UDT$SMA> = LOC(UDT$M861[SMINDEX]);
Line S00605 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00621  M01S00605.ssalte1 ---|        IF C<2,1>KB$AL$SCAN[0] NQ SM$ID[1]
Line S00013 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00606.ssalter +++|        THEN
00625  M00S00607.ssalter +++|          BEGIN  # REJECT RESPONSE #
00626  M00S00608.ssalter +++|          GOTO REJECTCOM;
00627  M00S00609.ssalter +++|          END  # REJECT RESPONSE #
00628  M00S00610.ssalter +++|
00629  M00S00611.ssalter +++|        CHAR2 = C<4,2>KB$AL$SCAN[0];
00630  M00S00612.ssalter +++|        IF ( CHAR2 NQ NM$KEY2[2] )   ##
Line S00613 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00631  M01S00613.ssalte1 ---|          AND ( C<4,3>KB$AL$SCAN[0] NQ NM$KEY3[8]  ##
00632  M01S00614.ssalte1 ---|          AND C<8,1>KB$AL$SCAN[0] NQ COMMA  ##
00633  M01S00615.ssalte1 ---|          AND C<9,2>KB$AL$SCAN[0] NQ NM$KEY2[2] )
Line S00015 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00634  M01S00015.ssalte1 +++|          AND C<4,3>KB$AL$SCAN[0] NQ NM$KEY3[8]
00635  M00S00616.ssalter +++|        THEN
00636  M00S00617.ssalter +++|          BEGIN  # REJECT RESPONSE #
00637  M00S00618.ssalter +++|          GOTO REJECTCOM;
00638  M00S00619.ssalter +++|          END  # REJECT RESPONSE #
00639  M00S00620.ssalter +++|
00640  M00S00621.ssalter +++|        IF C<4,3>KB$AL$SCAN[0] EQ NM$KEY3[8]
00641  M00S00622.ssalter +++|        THEN
00642  M00S00623.ssalter +++|          BEGIN  # PRE-PROCESS DRD STATUS CHANGE #
Line S00624 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00643  M01S00624.ssalte1 ---|          NCHAR = 7;
00644  M01S00625.ssalte1 ---|          CHAR = C<NCHAR,1>KB$AL$SCAN[0];
00645  M01S00626.ssalte1 ---|          STAT = XDXB( CHAR,0,J );
Line S00016 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00646  M01S00016.ssalte1 +++|          STAT = XDXB(C<7,2>KB$AL$SCAN[0],1,J);  # ASSUME 2 CHARS #
00647  M01S00017.ssalte1 +++|          NCHAR = 9;
00648  M00S00627.ssalter +++|          IF STAT NQ 0
00649  M00S00628.ssalter +++|          THEN
Line S00629 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00650  M01S00629.ssalte1 ---|            BEGIN  # REJECT INVALID DEVICE ADDRESS #
00651  M01S00630.ssalte1 ---|            GOTO REJECTCOM;
00652  M01S00631.ssalte1 ---|            END  # REJECT INVALID DEVICE ADDRESS #
Line S00018 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00632.ssalter +++|
Line S00633 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00679  M01S00633.ssalte1 ---|          IF ( J LS 0 ) OR ( J GR MAX$DRD )
Line S00043 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00680  M01S00043.ssalte1 +++|          IF (J LS 0) OR (J GR MAX$DRDDA)
00681  M00S00634.ssalter +++|          THEN
00682  M00S00635.ssalter +++|            BEGIN  # REJECT BAD DEVICE ADDRESS #
00683  M00S00636.ssalter +++|            GOTO REJECTCOM;
00684  M00S00637.ssalter +++|            END  # REJECT BAD DEVICE ADDRESS #
00685  M00S00638.ssalter +++|
Line S00639 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00686  M01S00639.ssalte1 ---|          IF ( J LS 2*SMINDEX )      ##
00687  M01S00640.ssalte1 ---|            OR ( J GR (2*SMINDEX) + 1 )
Line S00044 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00688  M01S00044.ssalte1 +++|          IF (J NQ D0$SUN[1]) AND (J NQ D1$SUN[1])
00689  M00S00641.ssalter +++|          THEN
00690  M00S00642.ssalter +++|            BEGIN  # REJECT BAD DEVICE ADDRESS #
00691  M00S00643.ssalter +++|            GOTO REJECTCOM;
00692  M00S00644.ssalter +++|            END  # REJECT BAD DEVICE ADDRESS #
00693  M00S00645.ssalter +++|
Line S00646 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00694  M01S00646.ssalte1 ---|          CHAR2 = C<11,2>KB$AL$SCAN[0];
00695  M01S00647.ssalte1 ---|          STAT = XDXB( CHAR2,0,K);
Line S00045 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00696  M01S00045.ssalte1 +++|          CHAR3 = C<NCHAR,3>KB$AL$SCAN[0];
00697  M01S00046.ssalte1 +++|          STAT = XDXB(CHAR3,0,K);    # ASSUME 3 CHARS #
00698  M00S00648.ssalter +++|          IF STAT NQ 0
00699  M00S00649.ssalter +++|          THEN
00700  M00S00650.ssalter +++|            BEGIN
Line S00651 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00701  M01S00651.ssalte1 ---|            GOTO REJECTCOM;
Line S00047 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00652.ssalter +++|            END
00712  M00S00653.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  M00S00654.ssalter +++|          IF ( K LS 0 ) OR ( K GR MAXEST )
00719  M00S00655.ssalter +++|          THEN
00720  M00S00656.ssalter +++|            BEGIN
00721  M00S00657.ssalter +++|            GOTO REJECTCOM;
00722  M00S00658.ssalter +++|            END
00723  M00S00659.ssalter +++|
Line S00660 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00724  M01S00660.ssalte1 ---|          NCHAR = 12;
00725  M00S00661.ssalter ---|          END  # PREPROCESS DRD STATUS CHANGE #
00726  M00S00662.ssalter ---|
00727  M00S00663.ssalter ---|        CHAR2 = C<4,2>KB$AL$SCAN[0];
00728  M00S00664.ssalter ---|        IF CHAR2 EQ NM$KEY2[2]
00729  M00S00665.ssalter ---|        THEN
00730  M00S00666.ssalter ---|          BEGIN  # PREPROCESS ACCESSOR CHANGE REQUEST #
00731  M01S00667.ssalte1 ---|          NCHAR = 6;
00732  M01S00668.ssalte1 ---|          CHAR2 = C<NCHAR,2>KB$AL$SCAN[0];
00733  M01S00669.ssalte1 ---|          STAT = XDXB( CHAR2,0,J );
Line S00061 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00734  M01S00061.ssalte1 +++|          STAT = XDXB(C<6,3>KB$AL$SCAN[0],0,J);  # ASSUME 3 CHARS #
00735  M01S00062.ssalte1 +++|          NCHAR = 9;
00736  M00S00670.ssalter +++|          IF STAT NQ 0
00737  M00S00671.ssalter +++|          THEN
00738  M00S00672.ssalter +++|            BEGIN
Line S00673 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00739  M01S00673.ssalte1 ---|            GOTO REJECTCOM;
Line S00063 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00674.ssalter +++|            END
00749  M00S00675.ssalter +++|
00750  M00S00676.ssalter +++|          IF ( J LS 0 ) OR ( J GR MAXEST )
00751  M00S00677.ssalter +++|          THEN
00752  M00S00678.ssalter +++|            BEGIN
00753  M00S00679.ssalter +++|            GOTO REJECTCOM;
00754  M00S00680.ssalter +++|            END
00755  M00S00681.ssalter +++|
Line S00682 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00756  M01S00682.ssalte1 ---|          NCHAR = NCHAR + 1;
00757  M01S00683.ssalte1 ---|
00758  M00S00684.ssalter ---|          END  # PREPROCESS ACCESSOR CHANGE REQUEST #
00759  M00S00685.ssalter ---|
00760  M00S00686.ssalter ---|#
00761  M00S00687.ssalter ---|*     ADVANCE TO STATUS CHARACTER.
00762  M00S00688.ssalter ---|#
00763  M00S00689.ssalter ---|
00764  M01S00690.ssalte1 ---|        NCHAR = NCHAR+2;
Line S00071 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00691.ssalter +++|
00773  M00S00692.ssalter +++|#
00774  M00S00693.ssalter +++|*     ADJUST DRD DEVICE ADDRESS
00775  M00S00694.ssalter +++|#
00776  M00S00695.ssalter +++|
Line S00696 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00777  M01S00696.ssalte1 ---|        IF J LS 8
Line S00078 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00778  M01S00078.ssalte1 +++|        IF C<4,3>KB$AL$SCAN[0] EQ "DRD"
00779  M00S00697.ssalter +++|        THEN
00780  M00S00698.ssalter +++|          BEGIN
Line S00699 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00781  M01S00699.ssalte1 ---|          J = J - ( SMINDEX*2 );
Line S00079 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00782  M01S00079.ssalte1 +++|          J = J - ((J/2)*2);
00783  M00S00700.ssalter +++|          END
00784  M00S00701.ssalter +++|
00785  M00S00702.ssalter +++|
00786  M00S00703.ssalter +++|#
00787  M00S00704.ssalter +++|*     J GQ 8 IMPLIES K.SM"ID",CUNN=X. COMMAND
00788  M00S00705.ssalter +++|*     J EQ 0 OR 1 IMPLIES K.SM"ID",DRDN,CUNN=X. COMMAND.
00789  M00S00706.ssalter +++|#
00790  M00S00707.ssalter +++|
00791  M00S00708.ssalter +++|        CHAR = C<NCHAR,1>KB$AL$SCAN;
00792  M00S00709.ssalter +++|        IF ( CHAR NQ ALTK$MAINT )    ##
00793  M00S00710.ssalter +++|          AND ( CHAR NQ ALTK$ONLINE )  ##
00794  M00S00711.ssalter +++|          AND ( CHAR NQ ALTK$OFFLINE )
00795  M00S00712.ssalter +++|        THEN
00796  M00S00713.ssalter +++|          BEGIN  # REJECT INVALID STATUS #
00797  M00S00714.ssalter +++|          GOTO REJECTCOM;
00798  M00S00715.ssalter +++|          END  # REJECT INVALID STATUS #
00799  M00S00716.ssalter +++|
00800  M00S00717.ssalter +++|        IF ( CHAR EQ ALTK$MAINT ) AND INITIALIZE
00801  M00S00718.ssalter +++|        THEN
00802  M00S00719.ssalter +++|          BEGIN
00803  M00S00720.ssalter +++|          GOTO REJECTCOM;            # INITIALIZE PROHIBITS MAINTENANCE
00804  M00S00721.ssalter +++|                                       MODE #
00805  M00S00722.ssalter +++|          END
00806  M00S00723.ssalter +++|
00807  M00S00724.ssalter +++|        IF J GQ 8
00808  M00S00725.ssalter +++|        THEN
00809  M00S00726.ssalter +++|          BEGIN
00810  M00S00727.ssalter +++|          P<UDT$LOC> = LOC(SM$WD0[1]);
Line S00728 Modification History
M01 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00811  M01S00728.ssalte2 ---|          ADDRESS = SM$WD0[1];
Line S00004 Modification History
M01 (Added by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00812  M01S00004.ssalte2 +++|          CU0 = SMST0;               # SAVE CU STATUS INDEXES #
00813  M01S00005.ssalte2 +++|          CU1 = SMST1;
00814  M00S00729.ssalter +++|          END
00815  M00S00730.ssalter +++|
00816  M00S00731.ssalter +++|        IF J EQ 0
00817  M00S00732.ssalter +++|        THEN
00818  M00S00733.ssalter +++|          BEGIN
00819  M00S00734.ssalter +++|          P<UDT$LOC> = LOC(D0$WD0[1]);
00820  M00S00735.ssalter +++|          TEMP = D0$WD0[1];
Line S00736 Modification History
M01 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00821  M01S00736.ssalte2 ---|          ADDRESS = D0$WD0[1];
Line S00006 Modification History
M01 (Added by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00822  M01S00006.ssalte2 +++|          CU0 = DRST0;               # SAVE CU STATUS INDEXES #
00823  M01S00007.ssalte2 +++|          CU1 = DRST1;
00824  M00S00737.ssalter +++|          END
00825  M00S00738.ssalter +++|
00826  M00S00739.ssalter +++|        IF J EQ 1
00827  M00S00740.ssalter +++|        THEN
00828  M00S00741.ssalter +++|          BEGIN
00829  M00S00742.ssalter +++|          P<UDT$LOC> = LOC(D1$WD0[1]);
00830  M00S00743.ssalter +++|          TEMP = D1$WD0[1];
Line S00744 Modification History
M01 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00831  M01S00744.ssalte2 ---|          ADDRESS = D1$WD0[1];
Line S00008 Modification History
M01 (Added by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
00832  M01S00008.ssalte2 +++|          CU0 = DRST0;               # SAVE CU STATUS INDEXES #
00833  M01S00009.ssalte2 +++|          CU1 = DRST1;
00834  M00S00745.ssalter +++|          END
00835  M00S00746.ssalter +++|
00836  M00S00747.ssalter +++|#
00837  M00S00748.ssalter +++|*     CHECK PATH/NODE CURRENT CONDITION
00838  M00S00749.ssalter +++|#
00839  M00S00750.ssalter +++|
00840  M00S00751.ssalter +++|        IF J LQ 1
00841  M00S00752.ssalter +++|        THEN
00842  M00S00753.ssalter +++|          BEGIN
00843  M00S00754.ssalter +++|          P<UDT$CN> = LOC(UDT$M862[SM$CUO0[1]-1]);
00844  M00S00755.ssalter +++|          IF K EQ UD$ESTO[1]
00845  M00S00756.ssalter +++|          THEN
00846  M00S00757.ssalter +++|            BEGIN  # CHECK FIRST CONTROLLER #
00847  M00S00758.ssalter +++|            IF B<12+PATH$DF"U$EXISTS",1>TEMP EQ 0
00848  M00S00759.ssalter +++|            THEN
00849  M00S00760.ssalter +++|              BEGIN
00850  M00S00761.ssalter +++|              GOTO REJECTCOM;
00851  M00S00762.ssalter +++|              END
00852  M00S00763.ssalter +++|
00853  M00S00764.ssalter +++|            CHKMODE ( UDT$LOC, 2, CHAR, FLAG, BITNUM );
00854  M00S00765.ssalter +++|            CPR$CUORD[0] = SM$CUO0[1];  # IDENTIFY CONTROLLER #
00855  M00S00766.ssalter +++|            END  # CHECK FIRST CONTROLLER #
00856  M00S00767.ssalter +++|
00857  M00S00768.ssalter +++|          IF K NQ UD$ESTO[1]
00858  M00S00769.ssalter +++|          THEN
00859  M00S00770.ssalter +++|            BEGIN  # CHECK SECOND CU TABLE #
00860  M00S00771.ssalter +++|            P<UDT$CN> = LOC(UDT$M862[SM$CUO1[1]-1]);
00861  M00S00772.ssalter +++|            IF K NQ UD$ESTO[1]
00862  M00S00773.ssalter +++|            THEN
00863  M00S00774.ssalter +++|              BEGIN  # CU ORDINAL NOT FOUND #
00864  M00S00775.ssalter +++|              GOTO REJECTCOM;
00865  M00S00776.ssalter +++|              END  # CU ORDINAL NOT FOUND #
00866  M00S00777.ssalter +++|
00867  M00S00778.ssalter +++|            IF B<18+PATH$DF"U$EXISTS",1>TEMP EQ 0
00868  M00S00779.ssalter +++|            THEN
00869  M00S00780.ssalter +++|              BEGIN
00870  M00S00781.ssalter +++|              GOTO REJECTCOM;
00871  M00S00782.ssalter +++|              END
00872  M00S00783.ssalter +++|
00873  M00S00784.ssalter +++|            CHKMODE ( UDT$LOC, 3, CHAR, FLAG, BITNUM );
00874  M00S00785.ssalter +++|            CPR$CUORD[0] = SM$CUO1[1];  # IDENTIFY CONTROLLER #
00875  M00S00786.ssalter +++|            END  # CHECK SECOND CU TABLE #
00876  M00S00787.ssalter +++|
00877  M00S00788.ssalter +++|          END
00878  M00S00789.ssalter +++|
00879  M00S00790.ssalter +++|        ELSE
00880  M00S00791.ssalter +++|          BEGIN  # CHECK ACCESSOR STATUS #
00881  M00S00792.ssalter +++|          P<UDT$CN> = LOC(UDT$M862[SM$CUO0[1]-1]);
00882  M00S00793.ssalter +++|          IF J NQ UD$ESTO[1]
00883  M00S00794.ssalter +++|          THEN
00884  M00S00795.ssalter +++|            BEGIN  # CHECK SECOND CU TABLE #
00885  M00S00796.ssalter +++|            P<UDT$CN> = LOC(UDT$M862[SM$CUO1[1]-1]);
00886  M00S00797.ssalter +++|            IF J NQ UD$ESTO[1]
00887  M00S00798.ssalter +++|            THEN
00888  M00S00799.ssalter +++|              BEGIN  # CU ORDINAL NOT FOUND #
00889  M00S00800.ssalter +++|              GOTO REJECTCOM;
00890  M00S00801.ssalter +++|              END  # CU ORDINAL NOT FOUND #
00891  M00S00802.ssalter +++|
00892  M00S00803.ssalter +++|            P<UDT$CN> = LOC(UDT$M862[SM$CUO1[1]-1]);
00893  M00S00804.ssalter +++|            CPR$CUORD[0] = SM$CUO1[1];
Line S00805 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
00894  M01S00805.ssalte1 ---|            ESTORD = UD$ESTO[1];
00895  M00S00806.ssalter ---|            END  # CHECK SECOND CU TABLE #
00896  M00S00807.ssalter ---|
00897  M00S00808.ssalter ---|          P<UDT$CN> = LOC(UDT$M862[SM$CUO0[1]-1]);
00898  M00S00809.ssalter ---|          IF J EQ UD$ESTO[1]
00899  M00S00810.ssalter ---|          THEN
00900  M00S00811.ssalter ---|            BEGIN
00901  M00S00812.ssalter ---|            CPR$CUORD[0] = SM$CUO0[1];
00902  M00S00813.ssalter ---|            CHKMODE ( UDT$LOC, 2, CHAR, FLAG, BITNUM );
00903  M00S00814.ssalter ---|            END
00904  M00S00815.ssalter ---|
00905  M00S00816.ssalter ---|          ELSE
00906  M00S00817.ssalter ---|            BEGIN
00907  M00S00818.ssalter ---|            CHKMODE ( UDT$LOC, 4, CHAR, FLAG, BITNUM );
00908  M00S00819.ssalter ---|            END
00909  M00S00820.ssalter ---|
00910  M00S00821.ssalter ---|          END  # CHECK ACCESSOR STATUS #
00911  M00S00822.ssalter ---|
00912  M00S00823.ssalter ---|#
00913  M00S00824.ssalter ---|*     FLAG EQ TRUE IMPLIES PATH/NODE ALREADY IN REQUESTED STATE
00914  M00S00825.ssalter ---|#
00915  M00S00826.ssalter ---|
00916  M00S00827.ssalter ---|        IF FLAG
00917  M00S00828.ssalter ---|        THEN
00918  M00S00829.ssalter ---|          BEGIN
00919  M00S00830.ssalter ---|          GOTO GOODCOM;              # COMMAND WAS ACCEPTED #
00920  M00S00831.ssalter ---|          END
00921  M00S00832.ssalter ---|
00922  M00S00833.ssalter ---|        IF ( J LQ 1 )                ##
00923  M00S00834.ssalter ---|          AND ( CHAR EQ ALTK$ONLINE )  ##
00924  M00S00835.ssalter ---|          AND ( NOT SM$ON[1] )       ##
00925  M00S00836.ssalter ---|          AND ( NOT INITIALIZE )
00926  M00S00837.ssalter ---|        THEN
00927  M00S00838.ssalter ---|          BEGIN
00928  M00S00839.ssalter ---|          GOTO REJECTSMCHG;
00929  M00S00840.ssalter ---|          END
00930  M00S00841.ssalter ---|
00931  M00S00842.ssalter ---|        IF J GQ 8
00932  M00S00843.ssalter ---|        THEN
00933  M00S00844.ssalter ---|          BEGIN
00934  M00S00845.ssalter ---|          CPR$UDTQ = LOC(UDT$M861[SMINDEX])+BIAS$EN0-LOC(UDT$HDR);
00935  M00S00846.ssalter ---|          END
00936  M00S00847.ssalter ---|
00937  M00S00848.ssalter ---|        IF J EQ 0
00938  M00S00849.ssalter ---|        THEN
00939  M00S00850.ssalter ---|          BEGIN
00940  M00S00851.ssalter ---|          CPR$UDTQ = LOC(UDT$M861[SMINDEX])+BIAS$EN3-LOC(UDT$HDR);
00941  M00S00852.ssalter ---|          END
00942  M00S00853.ssalter ---|
00943  M00S00854.ssalter ---|        IF J EQ 1
00944  M00S00855.ssalter ---|        THEN
00945  M00S00856.ssalter ---|          BEGIN
00946  M00S00857.ssalter ---|          CPR$UDTQ = LOC(UDT$M861[SMINDEX])+BIAS$EN20-LOC(UDT$HDR);
00947  M00S00858.ssalter ---|          END
00948  M00S00859.ssalter ---|
00949  M00S00860.ssalter ---|        CPR$BYNR = BITNUM;
00950  M00S00861.ssalter ---|        IF ( CHAR EQ ALTK$ONLINE )   ##
00951  M00S00862.ssalter ---|          OR ( CHAR EQ ALTK$MAINT )
00952  M00S00863.ssalter ---|        THEN
00953  M00S00864.ssalter ---|          BEGIN
00954  M00S00865.ssalter ---|          CPR$PMMR = TRUE;
00955  M00S00866.ssalter ---|          END
00956  M00S00867.ssalter ---|
00957  M00S00868.ssalter ---|        ELSE
00958  M00S00869.ssalter ---|          BEGIN
00959  M00S00870.ssalter ---|          CPR$PMMR = FALSE;
00960  M00S00871.ssalter ---|          END
00961  M00S00872.ssalter ---|
00962  M00S00873.ssalter ---|#
00963  M00S00874.ssalter ---|*      UPDATE *K* DISPLAY REQUEST BITS WHILE WAITING ON *SSEXEC*.
00964  M00S00875.ssalter ---|#
00965  M00S00876.ssalter ---|
00966  M00S00877.ssalter ---|        IF J LQ 1
00967  M00S00878.ssalter ---|        THEN
00968  M00S00879.ssalter ---|          BEGIN
00969  M00S00880.ssalter ---|          TEMP = 8 + J*2;
00970  M00S00881.ssalter ---|          END
00971  M00S00882.ssalter ---|
00972  M00S00883.ssalter ---|        IF J GQ 8
00973  M00S00884.ssalter ---|        THEN
00974  M00S00885.ssalter ---|          BEGIN
00975  M00S00886.ssalter ---|          TEMP = 6;
00976  M00S00887.ssalter ---|          END
00977  M00S00888.ssalter ---|
00978  M00S00889.ssalter ---|        COLUMN = 37;
00979  M00S00890.ssalter ---|        IF ( C<COLUMN,1>SM$LN[TEMP] EQ " " )  ##
00980  M00S00891.ssalter ---|          OR ( ( C<COLUMN,1>SM$LN[TEMP] EQ ALTK$ONLINE )  ##
00981  M00S00892.ssalter ---|          AND ( CHAR EQ ALTK$MAINT ) )  ##
00982  M00S00893.ssalter ---|          OR ( ( C<COLUMN,1>SM$LN[TEMP] EQ ALTK$MAINT )  ##
00983  M00S00894.ssalter ---|          AND ( CHAR EQ ALTK$ONLINE ) )
00984  M00S00895.ssalter ---|        THEN
00985  M00S00896.ssalter ---|          BEGIN
00986  M00S00897.ssalter ---|          GOTO REJECTCOM;            # NON-EXISTENT ELEMENT OR ILLEGAL
00987  M00S00898.ssalter ---|                                       SWITCH #
00988  M00S00899.ssalter ---|          END
00989  M00S00900.ssalter ---|
00990  M00S00901.ssalter ---|        TEMP = TEMP - 1;             # POSITION LINE FOR ASTERISK
00991  M00S00902.ssalter ---|                                       DISPLAY #
00992  M00S00903.ssalter ---|        CHAR = ALTK$AST;
00993  M00S00904.ssalter ---|        COUNT = 1;
00994  M00S00905.ssalter ---|
00995  M00S00906.ssalter ---|        POKEDIS ( TEMP, COLUMN, COUNT, CHAR );
00996  M00S00907.ssalter ---|
00997  M00S00908.ssalter ---|        UCPREQ ( TYP"TYP5", REQTYP5"SSA$UUDT", RESPCODE );
00998  M00S00909.ssalter ---|
00999  M00S00910.ssalter ---|        UCPREQ ( TYP"TYP5", REQTYP5"SSA$PUDT", RESPCODE );
01000  M00S00911.ssalter ---|
01001  M00S00912.ssalter ---|#
Line S00913 Modification History
M01 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01002  M01S00913.ssalte2 ---|*     IF K.SM"ID",CUNN=X. COMMAND, REQUEST EXEC TO
01003  M01S00914.ssalte2 ---|*     UPDATE SM STATUS IN ADDITION TO ACCESSOR STATUS.
Line S00010 Modification History
M01 (Added by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01004  M01S00010.ssalte2 +++|*     SET GLOBAL FLAGS IF SSEXEC IS INITIALIZING.
01005  M01S00011.ssalte2 +++|*     SSEXEC WILL DO SO ONCE IT IS INITIALIZED.
01006  M00S00915.ssalter +++|#
01007  M00S00916.ssalter +++|
Line S00917 Modification History
M01 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01008  M01S00917.ssalte2 ---|        IF J GQ 8
01009  M01S00918.ssalte2 ---|        THEN
01010  M01S00919.ssalte2 ---|          BEGIN  # UPDATE SM STATUS #
Line S00920 Modification History
M01 (Removed by) ssalte1
M02 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01011  M02S00920.ssalte2 ---|          IF ( UD$ESTO[1] NQ 0 ) AND ( ESTORD EQ 0)
Line S00080 Modification History
M01 (Added by) ssalte1
M02 (Removed 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 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01013  M01S00921.ssalte2 ---|          THEN
01014  M01S00922.ssalte2 ---|            BEGIN
01015  M01S00923.ssalte2 ---|            CPR$BYNR = CPR$BYNR - 12;
01016  M01S00924.ssalte2 ---|            UCPREQ ( TYP"TYP5", REQTYP5"SSA$UUDT", RESPCODE );
01017  M01S00925.ssalte2 ---|
01018  M01S00926.ssalte2 ---|            UCPREQ ( TYP"TYP5", REQTYP5"SSA$PUDT", RESPCODE );
01019  M01S00927.ssalte2 ---|
01020  M01S00928.ssalte2 ---|            END
01021  M01S00929.ssalte2 ---|
Line S00930 Modification History
M01 (Removed by) ssalte1
M02 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01022  M02S00930.ssalte2 ---|          IF ( UD$ESTO[1] NQ 0 ) AND ( ESTORD NQ 0)
Line S00081 Modification History
M01 (Added by) ssalte1
M02 (Removed 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 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01024  M01S00931.ssalte2 ---|          THEN
Line S00012 Modification History
M01 (Added by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01025  M01S00012.ssalte2 +++|      IF INITIALIZE
01026  M01S00013.ssalte2 +++|      THEN                           # SET GLOBAL FLAGS #
01027  M00S00932.ssalter +++|            BEGIN  # DISPLAY CONSOLIDATED STATUS #
Line S00933 Modification History
M01 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01028  M01S00933.ssalte2 ---|            IF ( B<PATH$DF"U$ON",1>SM$STS0[1] EQ 1 )  ##
01029  M01S00934.ssalte2 ---|              OR ( B<PATH$DF"U$ON",1>SM$STS1[1] EQ 1 )
Line S00014 Modification History
M01 (Added by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00935.ssalter +++|            THEN
01034  M00S00936.ssalter +++|              BEGIN
01035  M00S00937.ssalter +++|              CPR$PMMR = TRUE;
01036  M00S00938.ssalter +++|              CPR$BYNR = PATH$DF"U$ON";
01037  M00S00939.ssalter +++|
01038  M00S00940.ssalter +++|              UCPREQ ( TYP"TYP5", REQTYP5"SSA$UUDT", RESPCODE );
01039  M00S00941.ssalter +++|
01040  M00S00942.ssalter +++|              UCPREQ ( TYP"TYP5", REQTYP5"SSA$PUDT", RESPCODE );
01041  M00S00943.ssalter +++|
01042  M00S00944.ssalter +++|              END
01043  M00S00945.ssalter +++|
Line S00946 Modification History
M01 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01044  M01S00946.ssalte2 ---|            IF ( B<PATH$DF"U$RQ$DIAG",1>SM$STS0[1] EQ 1 )  ##
01045  M01S00947.ssalte2 ---|              OR ( B<PATH$DF"U$RQ$DIAG",1>SM$STS1[1] EQ 1 )
Line S00017 Modification History
M01 (Added by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00948.ssalter +++|            THEN
01049  M00S00949.ssalter +++|              BEGIN
01050  M00S00950.ssalter +++|              CPR$PMMR = TRUE;
01051  M00S00951.ssalter +++|              CPR$BYNR = PATH$DF"U$RQ$DIAG";
01052  M00S00952.ssalter +++|
01053  M00S00953.ssalter +++|              UCPREQ ( TYP"TYP5", REQTYP5"SSA$UUDT", RESPCODE );
01054  M00S00954.ssalter +++|
01055  M00S00955.ssalter +++|              UCPREQ ( TYP"TYP5", REQTYP5"SSA$PUDT", RESPCODE );
01056  M00S00956.ssalter +++|
01057  M00S00957.ssalter +++|              END
01058  M00S00958.ssalter +++|
Line S00959 Modification History
M01 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01059  M01S00959.ssalte2 ---|            IF ( B<PATH$DF"U$ON",1>SM$STS0[1] EQ 0 )  ##
01060  M01S00960.ssalte2 ---|              AND ( B<PATH$DF"U$ON",1>SM$STS1[1] EQ 0 )
Line S00019 Modification History
M01 (Added by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00961.ssalter +++|            THEN
01064  M00S00962.ssalter +++|              BEGIN
01065  M00S00963.ssalter +++|              CPR$PMMR = FALSE;
01066  M00S00964.ssalter +++|              CPR$BYNR = PATH$DF"U$ON";
01067  M00S00965.ssalter +++|
01068  M00S00966.ssalter +++|              UCPREQ ( TYP"TYP5", REQTYP5"SSA$UUDT", RESPCODE );
01069  M00S00967.ssalter +++|
01070  M00S00968.ssalter +++|              UCPREQ ( TYP"TYP5", REQTYP5"SSA$PUDT", RESPCODE );
01071  M00S00969.ssalter +++|
01072  M00S00970.ssalter +++|              END
01073  M00S00971.ssalter +++|
01074  M00S00972.ssalter +++|            END  # DISPLAY CONSOLIDATED STATUS #
01075  M00S00973.ssalter +++|
Line S00974 Modification History
M01 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01076  M01S00974.ssalte2 ---|          END  # UPDATE SM STATUS #
01077  M01S00975.ssalte2 ---|
Line S00976 Modification History
M01 (Removed by) ssalte1
M02 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01078  M02S00976.ssalte2 ---|          DISPSM ( SMINDEX , INITIALIZE);
Line S00977 Modification History
M01 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01079  M01S00977.ssalte2 ---|        IF INITIALIZE
01080  M01S00978.ssalte2 ---|        THEN                         # UPDATE GLOBAL BITS #
01081  M01S00979.ssalte2 ---|          BEGIN
Line S00980 Modification History
M01 (Removed by) ssalte1
M02 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01082  M02S00980.ssalte2 ---|          IF BITNUM GQ 24
01083  M02S00981.ssalte2 ---|          THEN
01084  M02S00982.ssalte2 ---|            BEGIN
01085  M02S00983.ssalte2 ---|            BITNUM = BITNUM - 24;
01086  M02S00984.ssalte2 ---|            END
01087  M02S00985.ssalte2 ---|
01088  M02S00986.ssalte2 ---|          ELSE
01089  M02S00987.ssalte2 ---|            BEGIN
01090  M02S00988.ssalte2 ---|            BITNUM = BITNUM - 12;
01091  M02S00989.ssalte2 ---|            END
01092  M02S00990.ssalte2 ---|
01093  M02S00991.ssalte2 ---|          IF B<12+BITNUM,1>ADDRESS EQ 1  ##
01094  M02S00992.ssalte2 ---|            OR B<24+BITNUM,1>ADDRESS EQ 1
01095  M02S00993.ssalte2 ---|          THEN                       # SET GLOBAL BIT ON #
01096  M02S00994.ssalte2 ---|            BEGIN
01097  M02S00995.ssalte2 ---|            B<BITNUM,1>ADDRESS = 1;
01098  M02S00996.ssalte2 ---|            END
01099  M02S00997.ssalte2 ---|
01100  M02S00998.ssalte2 ---|          ELSE                       # SET GLOBAL BIT OFF #
01101  M02S00999.ssalte2 ---|            BEGIN
01102  M02S01000.ssalte2 ---|            B<BITNUM,1>ADDRESS = 0;
01103  M02S01001.ssalte2 ---|            END
01104  M02S01002.ssalte2 ---|
Line S00082 Modification History
M01 (Added by) ssalte1
M02 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01105  M02S00082.ssalte2 ---|
01106  M02S00083.ssalte2 ---|                                               CONTROL REACTIVE;
01107  M02S00084.ssalte2 ---|
01108  M02S00085.ssalte2 ---|          IF J LQ 1
01109  M02S00086.ssalte2 ---|          THEN                       # DRD STATUS CHANGED #
01110  M02S00087.ssalte2 ---|            BEGIN  # DRD #
01111  M02S00088.ssalte2 ---|            B<0,6>ADDRESS = B<12,6>ADDRESS LOR B<18,6>ADDRESS;
01112  M02S00089.ssalte2 ---|            END  # DRD #
01113  M02S00090.ssalte2 ---|
01114  M02S00091.ssalte2 ---|          ELSE                       # SM STATUS CHANGED #
01115  M02S00092.ssalte2 ---|            BEGIN  # SM #
01116  M02S00093.ssalte2 ---|            B<0,6>ADDRESS = B<12,6>ADDRESS LOR B<24,6>ADDRESS;
01117  M02S00094.ssalte2 ---|            END  # SM #
01118  M02S00095.ssalte2 ---|
01119  M02S00096.ssalte2 ---|                                               CONTROL INERT;
01120  M02S00097.ssalte2 ---|
Line S01003 Modification History
M01 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01121  M01S01003.ssalte2 ---|          END
01122  M01S01004.ssalte2 ---|
Line S01005 Modification History
M01 (Removed by) ssalte1
M02 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01123  M02S01005.ssalte2 ---|
Line S00098 Modification History
M01 (Added by) ssalte1
M02 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01124  M02S00098.ssalte2 ---|        DISPSM(SMINDEX,INITIALIZE);
01125  M00S01006.ssalter ---|        GOTO GOODCOM;
01126  M00S01007.ssalter ---|
01127  M00S01008.ssalter ---|        END  # PROCESS *SM* COMMANDS #
01128  M00S01009.ssalter ---|
01129  M00S01010.ssalter ---|#
01130  M00S01011.ssalter ---|*     REJECT REQUEST
01131  M00S01012.ssalter ---|#
01132  M00S01013.ssalter ---|
01133  M00S01014.ssalter ---|REJECTSMCHG:
01134  M00S01015.ssalter ---|
01135  M00S01016.ssalter ---|      KL$AL$SUBL1[LF$AL$KBREJ] = "*** SM STATUS PROHIBITS CHANGE ***";
01136  M00S01017.ssalter ---|      KB$AL$CLEAR[0] = 0;
01137  M00S01018.ssalter ---|      GOTO SM$DISP1;
01138  M00S01019.ssalter ---|
01139  M00S01020.ssalter ---|REJECTCOM:
01140  M00S01021.ssalter ---|
01141  M00S01022.ssalter ---|      KL$AL$SUBL1[LF$AL$KBREJ] = "*** REJECT ***";
01142  M00S01023.ssalter ---|      KB$AL$CLEAR[0] = 0;
01143  M00S01024.ssalter ---|      IF INDEX EQ 1
01144  M00S01025.ssalter ---|      THEN
01145  M00S01026.ssalter ---|        BEGIN
01146  M00S01027.ssalter ---|        GOTO SM$DISP1;               # GET NEXT COMMAND #
01147  M00S01028.ssalter ---|        END
01148  M00S01029.ssalter ---|
01149  M00S01030.ssalter ---|      ELSE
01150  M00S01031.ssalter ---|        BEGIN
01151  M00S01032.ssalter ---|        GOTO CU$DISP1;               # GET NEXT COMMAND #
01152  M00S01033.ssalter ---|        END
01153  M00S01034.ssalter ---|
01154  M00S01035.ssalter ---|REJECTORD:
01155  M00S01036.ssalter ---|
01156  M00S01037.ssalter ---|      KL$AL$SUBL1[LF$AL$KBREJ] = " *** REJECT CU ORD *** ";
01157  M00S01038.ssalter ---|      KB$AL$CLEAR[0] = 0;
01158  M00S01039.ssalter ---|      P<SM$SCREEN> = LOC(KLEFTSCRNAL);
01159  M00S01040.ssalter ---|      SLOWFOR J = LF$AL$BODY STEP 1 UNTIL LF$AL$KBREJ-1
01160  M00S01041.ssalter ---|      DO
01161  M00S01042.ssalter ---|        BEGIN
01162  M00S01043.ssalter ---|        CU$EOL[J] = 0;
01163  M00S01044.ssalter ---|        END
01164  M00S01045.ssalter ---|
01165  M00S01046.ssalter ---|      RETURN;                        # RETURN TO MAIN PROGRAM #
01166  M00S01047.ssalter ---|
01167  M00S01048.ssalter ---|
01168  M00S01049.ssalter ---|
01169  M00S01050.ssalter ---|#
01170  M00S01051.ssalter ---|*     RESPONSE WAS GOOD. CLEAR ECHO.
01171  M00S01052.ssalter ---|#
01172  M00S01053.ssalter ---|
01173  M00S01054.ssalter ---|GOODCOM:
01174  M00S01055.ssalter ---|
01175  M00S01056.ssalter ---|      KL$AL$LINE[LF$AL$KBECHO] = " ";  # CLEAR ECHO #
01176  M00S01057.ssalter ---|      KB$AL$CLEAR[0] = 0;
01177  M00S01058.ssalter ---|
01178  M00S01059.ssalter ---|      IF INDEX EQ 1
01179  M00S01060.ssalter ---|      THEN
01180  M00S01061.ssalter ---|        BEGIN
Line S01062 Modification History
M01 (Removed by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01181  M01S01062.ssalte2 ---|        GOTO SM$DISP1;               # GET NEXT COMMAND #
Line S00021 Modification History
M01 (Added by) ssalte2
Seq #  *Modification Id* Act 
----------------------------+
01182  M01S00021.ssalte2 +++|        GOTO SM$DISP;                # GET NEXT COMMAND #
01183  M00S01063.ssalter +++|        END
01184  M00S01064.ssalter +++|
01185  M00S01065.ssalter +++|      ELSE
01186  M00S01066.ssalter +++|        BEGIN
01187  M00S01067.ssalter +++|        GOTO CU$DISP1;               # GET NEXT COMMAND #
01188  M00S01068.ssalter +++|        END
01189  M00S01069.ssalter +++|
01190  M00S01070.ssalter +++|
01191  M00S01071.ssalter +++|      END  # ALTKINP #
01192  M00S01072.ssalter +++|
01193  M00S01073.ssalter +++|    TERM
01194  M00S01074.ssalter +++|
01195  M00S01075.ssalter +++|PROC ALTKINT ( INITIALIZE );
01196  M00S01076.ssalter +++|
01197  M00S01077.ssalter +++|# TITLE ALTKINT - *K* DISPLAY INITIALIZATION.                         #
01198  M00S01078.ssalter +++|
01199  M00S01079.ssalter +++|      BEGIN  # ALTKINT #
01200  M00S01080.ssalter +++|
01201  M00S01081.ssalter +++|#
01202  M00S01082.ssalter +++|**    ALTKINT - *K* DISPLAY INTIALIZATION.
01203  M00S01083.ssalter +++|*
01204  M00S01084.ssalter +++|*     *ALTKINT* ISSUES THE *CONSOLE* MACRO TO ACTIVATE THE
01205  M00S01085.ssalter +++|*     *K* DISPLAY AND INITIALIZES THE *K* DISPLAY BUFFERS.
01206  M00S01086.ssalter +++|*
01207  M00S01087.ssalter +++|*     PROC ALTKINT.
01208  M00S01088.ssalter +++|*
01209  M00S01089.ssalter +++|*     ENTRY      INITIALIZE - BOOLEAN ( TRUE IMPLIES INITIALIZE )
01210  M00S01090.ssalter +++|*
01211  M00S01091.ssalter +++|*     EXIT      THE *CONSOLE* MACRO IS ISSUED.
01212  M00S01092.ssalter +++|*               THE TITLE IS PLACED IN THE LEFT SCREEN BUFFER.
01213  M00S01093.ssalter +++|*               THE *B* DISPLAY LINE 2 IS CLEARED.
01214  M00S01094.ssalter +++|*
01215  M00S01095.ssalter +++|*     MESSAGES  * REQUEST *K* DISPLAY *  (FROM *CONSOLE* MACRO).
01216  M00S01096.ssalter +++|*
01217  M00S01097.ssalter +++|#
01218  M00S01098.ssalter +++|
01219  M00S01099.ssalter +++|      ITEM INITIALIZE  B;            # INPUT VARIABLE #
01220  M00S01100.ssalter +++|#
01221  M00S01101.ssalter +++|****  PROC ALTKINT - XREF LIST BEGIN.
01222  M00S01102.ssalter +++|#
01223  M00S01103.ssalter +++|
01224  M00S01104.ssalter +++|      XREF
01225  M00S01105.ssalter +++|        BEGIN
01226  M00S01106.ssalter +++|        PROC CONSOLE;                # ISSUE *CONSOLE* MACRO #
01227  M00S01107.ssalter +++|        PROC MESSAGE;                # ISSUE *MESSAGE* MACRO #
01228  M00S01108.ssalter +++|        END
01229  M00S01109.ssalter +++|
01230  M00S01110.ssalter +++|#
01231  M00S01111.ssalter +++|****  PROC ALTKINT - XREF LIST END.
01232  M00S01112.ssalter +++|#
01233  M00S01113.ssalter +++|
01234  M00S01114.ssalter +++|      DEF LISTCON   #0#;             # DO NOT LIST COMMON DECKS #
01235  M00S01115.ssalter +++|*CALL COMBFAS
01236  M00S01116.ssalter +++|*CALL COMTALT
01237  M00S01117.ssalter +++|
01238  M00S01118.ssalter +++|      ITEM ALTHDR1 C(58) =
01239  M00S01119.ssalter +++|        "     VALID DISPLAYS ARE";
01240  M00S01120.ssalter +++|      ITEM ALTHDR2 C(58) =
01241  M00S01121.ssalter +++|        "              K.SM";
01242  M00S01122.ssalter +++|      ITEM ALTHDR3 C(58) =
01243  M00S01123.ssalter +++|        "              K.CUNN - NN = EST ORDINAL OF M862";
01244  M00S01124.ssalter +++|      ITEM I        I;               # LOOP COUNTER #
01245  M00S01125.ssalter +++|                                               CONTROL EJECT;
01246  M00S01126.ssalter +++|
01247  M00S01127.ssalter +++|#
01248  M00S01128.ssalter +++|*     SET UP AND ISSUE THE CONSOLE MACRO.
01249  M00S01129.ssalter +++|#
01250  M00S01130.ssalter +++|
01251  M00S01131.ssalter +++|      CP$KBADDR[0] = LOC(KBINPUTAL[0]);
01252  M00S01132.ssalter +++|      CP$KLADDR[0] = LOC(KLEFTSCRNAL[0]);
01253  M00S01133.ssalter +++|      CONSOLE(CPARAM[0]);
01254  M00S01134.ssalter +++|
01255  M00S01135.ssalter +++|#
01256  M00S01136.ssalter +++|*     REQUEST *K* DISPLAY ON *B* DISPLAY.
01257  M00S01137.ssalter +++|#
01258  M00S01138.ssalter +++|
01259  M00S01139.ssalter +++|      MESSAGE("$ REQUEST *K* DISPLAY  ",LINE2);
01260  M00S01140.ssalter +++|      KL$AL$COMP[0] = FALSE;         # SET TOGGLE OFF #
01261  M00S01141.ssalter +++|      KREQCLEARAL = FALSE;
01262  M00S01142.ssalter +++|      KB$AL$CLEAR[0] = 0;
01263  M00S01143.ssalter +++|
01264  M00S01144.ssalter +++|#
01265  M00S01145.ssalter +++|*     SET UP TITLE LINE IN LEFT SCREEN BUFFER.
01266  M00S01146.ssalter +++|#
01267  M00S01147.ssalter +++|
01268  M00S01148.ssalter +++|      KL$AL$LINE[LF$AL$TITLE] = TITLELINE$AL;
01269  M00S01149.ssalter +++|      KL$AL$LINE[LF$AL$TITLE+1] = TITLEBOX$AL;
01270  M00S01150.ssalter +++|      IF INITIALIZE
01271  M00S01151.ssalter +++|      THEN
01272  M00S01152.ssalter +++|        BEGIN  # DISPLAY INITIALIZATION MESSAGE #
01273  M00S01153.ssalter +++|        KL$AL$LINE[LF$AL$TITLE+2] = TITLELINE$MD;
01274  M00S01154.ssalter +++|        END  # DISPLAY INITIALIZATION MESSAGE #
01275  M00S01155.ssalter +++|
01276  M00S01156.ssalter +++|
01277  M00S01157.ssalter +++|#
01278  M00S01158.ssalter +++|*     DISPLAY VALID COMMANDS.
01279  M00S01159.ssalter +++|#
01280  M00S01160.ssalter +++|
01281  M00S01161.ssalter +++|      P<SM$SCREEN> = LOC(KLEFTSCRNAL);
01282  M00S01162.ssalter +++|      SLOWFOR I = LF$AL$BODY STEP 1 UNTIL LF$AL$KBECHO + 1
01283  M00S01163.ssalter +++|      DO
01284  M00S01164.ssalter +++|        BEGIN
01285  M00S01165.ssalter +++|        SM$EOL[0] = 0;
01286  M00S01166.ssalter +++|        END
01287  M00S01167.ssalter +++|
01288  M00S01168.ssalter +++|      SM$LN[8] = ALTHDR1;
01289  M00S01169.ssalter +++|      SM$LN[10] = ALTHDR2;
01290  M00S01170.ssalter +++|      SM$LN[11] = ALTHDR3;
01291  M00S01171.ssalter +++|      END  # ALTKINT #
01292  M00S01172.ssalter +++|
01293  M00S01173.ssalter +++|    TERM
01294  M00S01174.ssalter +++|PROC CHKMODE ( WORD, FIELD, MODE, FLAG, BITNUM );
01295  M00S01175.ssalter +++|
01296  M00S01176.ssalter +++|# TITLE BITNUM - CHECK EXISTING MODE OF PATH/NODE IN M860             #
01297  M00S01177.ssalter +++|
01298  M00S01178.ssalter +++|      BEGIN  # CHKMODE #
01299  M00S01179.ssalter +++|
01300  M00S01180.ssalter +++|#
01301  M00S01181.ssalter +++|**** CHKMODE - CHECK EXISTING MODE OF PATH/NODE IN M860
01302  M00S01182.ssalter +++|*
01303  M00S01183.ssalter +++|*     *CHKMODE* EXAMINES THE EXISTING STATUS OF THE REQUESTED
01304  M00S01184.ssalter +++|*     PATH/NODE. IF IT IS THE SAME AS THE STATUS BEING REQUESTED,
01305  M00S01185.ssalter +++|*     *CHKMODE* RETURNS WITH FLAG = TRUE. IF NOT, FLAG IS RETURNED
01306  M00S01186.ssalter +++|*     AS FALSE. ALSO, BITNUM IS RETURNED AS THE BIT NUMBER THAT
01307  M00S01187.ssalter +++|*     WAS CHECKED SO A SUBSEQUENT UCPCALL CAN BE MADE TO *SSEXEC*
01308  M00S01188.ssalter +++|*     IF DESIRED.
01309  M00S01189.ssalter +++|*
01310  M00S01190.ssalter +++|*     ENTRY
01311  M00S01191.ssalter +++|*        WORD = WORD IN UDT TO BE CHECKED.
01312  M00S01192.ssalter +++|*        FIELD = ORDINAL OF 6 BIT FIELD TO CHECK IN WORD.
01313  M00S01193.ssalter +++|*        MODE = MODE OF PATH/NODE TO CHECK FOR.
01314  M00S01194.ssalter +++|*
01315  M00S01195.ssalter +++|*     EXIT
01316  M00S01196.ssalter +++|*        FLAG = TRUE IF REQUESTED MODE IS THE SAME AS EXISTING MODE.
01317  M00S01197.ssalter +++|*        BITNUM = BIT NUMBER IN WORD OF THE BIT THAT WAS CHECKED.
01318  M00S01198.ssalter +++|#
01319  M00S01199.ssalter +++|
01320  M00S01200.ssalter +++|      ITEM BITNUM     I;             # OUTPUT VARIABLE #
01321  M00S01201.ssalter +++|      ITEM FIELD      I;             # INPUT VARIABLE #
01322  M00S01202.ssalter +++|      ITEM FLAG       B;             # OUTPUT VARIABLE #
01323  M00S01203.ssalter +++|      ITEM MODE       C(1);          # INPUT VARIABLE #
01324  M00S01204.ssalter +++|      ARRAY WORD[0:0] S(1);
01325  M00S01205.ssalter +++|        BEGIN
01326  M00S01206.ssalter +++|        ITEM UDTWORD    I (00,00,60);  # INPUT WORD ADDRESS #
01327  M00S01207.ssalter +++|        END
01328  M00S01208.ssalter +++|
01329  M00S01209.ssalter +++|#
01330  M00S01210.ssalter +++|****  PROC CHKMODE - XREF LIST BEGIN.
01331  M00S01211.ssalter +++|#
01332  M00S01212.ssalter +++|
01333  M00S01213.ssalter +++|      XREF
01334  M00S01214.ssalter +++|        BEGIN
01335  M00S01215.ssalter +++|        PROC MESSAGE;                # ISSUE DAYFILE MESSAGE #
01336  M00S01216.ssalter +++|        PROC RESTPFP;                # RESTORE USER-S PFP AND ABORT #
01337  M00S01217.ssalter +++|        END
01338  M00S01218.ssalter +++|
01339  M00S01219.ssalter +++|#
01340  M00S01220.ssalter +++|****  PROC CHKMODE - XREF LIST END.
01341  M00S01221.ssalter +++|#
01342  M00S01222.ssalter +++|
01343  M00S01223.ssalter +++|                                               CONTROL PRESET;
01344  M00S01224.ssalter +++|      DEF LISTCON   #0#;             # DO NOT LIST COMMON DECKS #
01345  M00S01225.ssalter +++|*CALL,COMBFAS
01346  M00S01226.ssalter +++|*CALL,COMBUDT
01347  M00S01227.ssalter +++|*CALL,COMTALT
01348  M00S01228.ssalter +++|
01349  M00S01229.ssalter +++|      ITEM I          I;             # INTEGER VARIABLE #
01350  M00S01230.ssalter +++|      ITEM MODEB      B;             # STATUS DESCRIPTOR #
01351  M00S01231.ssalter +++|                                               CONTROL EJECT;
01352  M00S01232.ssalter +++|
01353  M00S01233.ssalter +++|#
01354  M00S01234.ssalter +++|*     DETERMINE MODE BEING SEARCHED FOR
01355  M00S01235.ssalter +++|#
01356  M00S01236.ssalter +++|
01357  M00S01237.ssalter +++|      MODEB = FALSE;
01358  M00S01238.ssalter +++|      IF ( MODE EQ ALTK$MAINT )      ##
01359  M00S01239.ssalter +++|        OR ( MODE EQ ALTK$ONLINE )
01360  M00S01240.ssalter +++|      THEN
01361  M00S01241.ssalter +++|        BEGIN
01362  M00S01242.ssalter +++|        MODEB = TRUE;
01363  M00S01243.ssalter +++|        END
01364  M00S01244.ssalter +++|
01365  M00S01245.ssalter +++|      I = 0;
01366  M00S01246.ssalter +++|      IF ( MODE EQ ALTK$MAINT )
01367  M00S01247.ssalter +++|      THEN
01368  M00S01248.ssalter +++|        BEGIN
01369  M00S01249.ssalter +++|        I = PATH$DF"U$RQ$DIAG";
01370  M00S01250.ssalter +++|        END
01371  M00S01251.ssalter +++|
01372  M00S01252.ssalter +++|      IF ( MODE EQ ALTK$ONLINE )     ##
01373  M00S01253.ssalter +++|        OR ( MODE EQ ALTK$OFFLINE )
01374  M00S01254.ssalter +++|      THEN
01375  M00S01255.ssalter +++|        BEGIN
01376  M00S01256.ssalter +++|        I = PATH$DF"U$ON";
01377  M00S01257.ssalter +++|        END
01378  M00S01258.ssalter +++|
01379  M00S01259.ssalter +++|      IF ( I NQ 1 ) AND ( I NQ 3 )
01380  M00S01260.ssalter +++|      THEN
01381  M00S01261.ssalter +++|        BEGIN
01382  M00S01262.ssalter +++|        ALTMSG$LN[0] = " CHKMODE - ILLEGAL MODE REQUESTED.";
01383  M00S01263.ssalter +++|        MESSAGE ( ALTMSG[0],SYSUDF1 );
01384  M00S01264.ssalter +++|        RESTPFP ( PFP$ABORT );
01385  M00S01265.ssalter +++|        END
01386  M00S01266.ssalter +++|
01387  M00S01267.ssalter +++|#
01388  M00S01268.ssalter +++|*     DETERMINE BIT NUMBER
01389  M00S01269.ssalter +++|#
01390  M00S01270.ssalter +++|
01391  M00S01271.ssalter +++|      BITNUM = FIELD*6 + I;
01392  M00S01272.ssalter +++|      IF ( ( B<BITNUM,1>UDTWORD EQ 1) AND ( MODEB ) )  ##
01393  M00S01273.ssalter +++|        OR ( ( B<BITNUM,1>UDTWORD EQ 0 )  ##
01394  M00S01274.ssalter +++|        AND ( NOT MODEB )  ##
01395  M00S01275.ssalter +++|        AND ( B<FIELD*6 + PATH$DF"U$RQ$DIAG",1>UDTWORD EQ 0 ) )  ##
01396  M00S01276.ssalter +++|      THEN
01397  M00S01277.ssalter +++|        BEGIN
01398  M00S01278.ssalter +++|        FLAG = TRUE;
01399  M00S01279.ssalter +++|        END
01400  M00S01280.ssalter +++|
01401  M00S01281.ssalter +++|      ELSE
01402  M00S01282.ssalter +++|        BEGIN
01403  M00S01283.ssalter +++|        FLAG = FALSE;
01404  M00S01284.ssalter +++|        IF NOT MODEB AND B<FIELD*6 + PATH$DF"U$RQ$DIAG",1>UDTWORD EQ 1
01405  M00S01285.ssalter +++|        THEN
01406  M00S01286.ssalter +++|          BEGIN
01407  M00S01287.ssalter +++|          BITNUM = BITNUM + PATH$DF"U$RQ$DIAG" - PATH$DF"U$ON";
01408  M00S01288.ssalter +++|          END
01409  M00S01289.ssalter +++|
01410  M00S01290.ssalter +++|        END
01411  M00S01291.ssalter +++|
01412  M00S01292.ssalter +++|      END  # CHKMODE #
01413  M00S01293.ssalter +++|
01414  M00S01294.ssalter +++|    TERM
01415  M00S01295.ssalter +++|PROC DISPCU ( INDEX, ORDINAL );
01416  M00S01296.ssalter +++|
01417  M00S01297.ssalter +++|# TITLE DISPCU - DISPLAY *SM* DISPLAY                                 #
01418  M00S01298.ssalter +++|
01419  M00S01299.ssalter +++|      BEGIN  # DISPCU #
01420  M00S01300.ssalter +++|
01421  M00S01301.ssalter +++|#
01422  M00S01302.ssalter +++|***   DISPCU - DISPLAY *CU* DISPLAY
01423  M00S01303.ssalter +++|*
01424  M00S01304.ssalter +++|*     *DISPCU* GENERATES AND DISPLAYS THE *CU* DISPLAY
01425  M00S01305.ssalter +++|*     FOR *SSALTER*
01426  M00S01306.ssalter +++|*
01427  M00S01307.ssalter +++|*     ENTRY         INDEX = CU TO BE DISPLAYED.
01428  M00S01308.ssalter +++|*
01429  M00S01309.ssalter +++|*
01430  M00S01310.ssalter +++|*     EXIT       DISPLAY SHOWN ON LEFT SCREEN.
01431  M00S01311.ssalter +++|#
01432  M00S01312.ssalter +++|
01433  M00S01313.ssalter +++|      ITEM INDEX      I;             # INPUT VARIABLE #
01434  M00S01314.ssalter +++|      ITEM ORDINAL    I;             # INPUT VARIABLE #
01435  M00S01315.ssalter +++|
01436  M00S01316.ssalter +++|#
01437  M00S01317.ssalter +++|****  PROC DISPCU - XREF LIST BEGIN.
01438  M00S01318.ssalter +++|#
01439  M00S01319.ssalter +++|
01440  M00S01320.ssalter +++|      XREF
01441  M00S01321.ssalter +++|        BEGIN
01442  M00S01322.ssalter +++|        PROC KDISCIF;                # DISPLAY CIF CONFIGURATION #
01443  M00S01323.ssalter +++|        PROC MESSAGE;                # ISSUE A DAYFILE MESSAGE #
01444  M00S01324.ssalter +++|        PROC POKEDIS;                # UPDATE *K* DISPLAY #
01445  M00S01325.ssalter +++|        PROC RESTPFP;                # RESTORE USER-S PFP AND ABORT OR
01446  M00S01326.ssalter +++|                                       RETURN #
01447  M00S01327.ssalter +++|        PROC UCPREQ;                 # ISSUE UCP REQUEST TO SSEXEC #
01448  M00S01328.ssalter +++|        FUNC XCOD C(10);             # CONVERT INTEGER TO OCTAL DISPLAY
01449  M00S01329.ssalter +++|                                     #
01450  M00S01330.ssalter +++|        FUNC XDXB;                   # CONVERT DISPLAY CODE TO INTEGER
01451  M00S01331.ssalter +++|                                     #
01452  M00S01332.ssalter +++|        END
01453  M00S01333.ssalter +++|
01454  M00S01334.ssalter +++|#
01455  M00S01335.ssalter +++|****  PROC DISPCU - XREF LIST END.
01456  M00S01336.ssalter +++|#
01457  M00S01337.ssalter +++|
01458  M00S01338.ssalter +++|#
01459  M00S01339.ssalter +++|*     DAYFILE MESSAGES.
01460  M00S01340.ssalter +++|#
01461  M00S01341.ssalter +++|
01462  M00S01342.ssalter +++|      DEF MSG1   #" DISPCU - INCORRECT RESPONSE FROM SSEXEC."#;
01463  M00S01343.ssalter +++|      DEF BLANK      #" "#;
01464  M00S01344.ssalter +++|
01465  M00S01345.ssalter +++|
01466  M00S01346.ssalter +++|      DEF LISTCON    #0#;            # DO NOT LIST COMMON DECKS #
01467  M00S01347.ssalter +++|
01468  M00S01348.ssalter +++|*CALL,COMBFAS
01469  M00S01349.ssalter +++|*CALL,COMBCPR
01470  M00S01350.ssalter +++|*CALL,COMBUDT
01471  M00S01351.ssalter +++|*CALL,COMTALT
01472  M00S01352.ssalter +++|
01473  M00S01353.ssalter +++|      ARRAY CHAR10[0:0] S(1);        # CHARACTER MANIPULATION #
01474  M00S01354.ssalter +++|        BEGIN
01475  M00S01355.ssalter +++|        ITEM CHAR$10    C(00,00,10);
01476  M00S01356.ssalter +++|        ITEM CHAR$R1    C(00,54,01);
01477  M00S01357.ssalter +++|        ITEM CHAR$R2    C(00,48,02);
Line S00099 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01478  M01S00099.ssalte1 +++|        ITEM CHAR$R3    C(00,42,03);
01479  M00S01358.ssalter +++|        END
01480  M00S01359.ssalter +++|
01481  M00S01360.ssalter +++|      ITEM CH1        C(1);          # ONE CHARACTER #
01482  M00S01361.ssalter +++|      ITEM CH2        C(2);          # TWO CHARACTERS #
01483  M00S01362.ssalter +++|      ITEM COLUMN     I;             # *K* DISPLAY COLUMN NUMBER #
01484  M01S00100.ssalte1 +++|      ITEM FIRSTAC    I;             # FIRST AC TO SCAN IN AIF GROUP #
01485  M00S01363.ssalter +++|      ITEM I          I;             # LOOP INDEX #
01486  M00S01364.ssalter +++|      ITEM J          I;             # LOOP INDEX #
01487  M00S01365.ssalter +++|      ITEM JINDEX     I;             # PARAMETER FOR *KDISCIF* #
01488  M00S01366.ssalter +++|      ITEM LINE       I;             # *K* DISPLAY LINE NUMBER #
01489  M00S01367.ssalter +++|      ITEM LOOPC      B;             # LOOP CONTROL #
01490  M00S01368.ssalter +++|      ITEM NCH        I;             # LOOP COUNTER #
01491  M00S01369.ssalter +++|      ITEM ORD        I;             # TEMPORARY STORAGE #
01492  M00S01370.ssalter +++|      ITEM RESPCODE   I;             # RESPONSE FROM *SSEXEC* #
01493  M00S01371.ssalter +++|      ITEM STAT       I;             # STATUS FROM *XDXB* #
01494  M00S01372.ssalter +++|      ITEM TEMP       I;             # TEMPORARY CELL #
01495  M00S01373.ssalter +++|                                               CONTROL EJECT;
01496  M00S01374.ssalter +++|      ITEM CUBLANK C(58) =
01497  M00S01375.ssalter +++|        "                                                          ";
01498  M00S01376.ssalter +++|      ITEM CUHDR1 C(58) =
01499  M00S01377.ssalter +++|        "                            CU";
01500  M00S01378.ssalter +++|      ITEM CUHDR2 C(58) =
01501  M00S01379.ssalter +++|        "                     ORD    ST";
01502  M00S01380.ssalter +++|      ITEM CUHDR3 C(58) =
01503  M00S01381.ssalter +++|        "                    CUNN    ST";
01504  M00S01382.ssalter +++|      ITEM CUHDR4 C(58) =
01505  M00S01383.ssalter +++|        "    CIFU   CIFV   DTI0   DTO0   DIF0   DRC0   DRC1   AIF0";
01506  M00S01384.ssalter +++|      ITEM CUHDR5 C(58) =
01507  M00S01385.ssalter +++|        "    ----   ----   ----   ----   ----   ----   ----   ----";
01508  M00S01386.ssalter +++|      ITEM CUHDR7 C(58) =
01509  M00S01387.ssalter +++|        "    DTI0X  DTI0X  DIF0X  DIF0X  DRC0X  DRD0X  DRD0X  SMA0X";
01510  M00S01388.ssalter +++|      ITEM CUHDR8 C(58) =
01511  M00S01389.ssalter +++|        "    DTI1X  DTI1X  DIF1X  DIF1X  DRC1X  DRD1X  DRD1X  SMA1X";
01512  M00S01390.ssalter +++|      ITEM CUHDR9 C(58) =
Line S01391 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01513  M01S01391.ssalte1 ---|        "    DTO0X  DTO0X                       DRD2X  DRD2X  SMA2X";
Line S00101 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01514  M01S00101.ssalte1 +++|        "    DTO0X  DTO0X                DRC2X  DRD2X  DRD2X  SMA2X";
01515  M00S01392.ssalter +++|      ITEM CUHDR10 C(58) =
Line S01393 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01516  M01S01393.ssalte1 ---|        "    DTO1X  DTO1X  DTI1   DTO1   DIF1   DRD3X  DRD3X  SMA3X";
Line S00102 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01517  M01S00102.ssalte1 +++|        "    DTO1X  DTO1X  DTI1   DTO1   DRC3X  DRD3X  DRD3X  SMA3X";
01518  M00S01394.ssalter +++|      ITEM CUHDR11 C(58) =
Line S01395 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01519  M01S01395.ssalte1 ---|        "                  ----   ----   ----   DRD4X  DRD4X";
Line S00103 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01520  M01S00103.ssalte1 +++|        "                  ----   ----          DRD4X  DRD4X";
01521  M00S01396.ssalter +++|      ITEM CUHDR12 C(58) =
Line S01397 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01522  M01S01397.ssalte1 ---|        "                  DIF0X  DIF0X  DRC0X  DRD5X  DRD5X  AIF1";
Line S00104 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01523  M01S00104.ssalte1 +++|        "                  DIF0X  DIF0X  DIF1   DRD5X  DRD5X  AIF1";
01524  M00S01398.ssalter +++|      ITEM CUHDR13 C(58) =
Line S01399 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01525  M01S01399.ssalte1 ---|        "        CH        DIF1X  DIF1X  DRC1X  DRD6X  DRD6X  ----";
Line S00105 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01526  M01S00105.ssalte1 +++|        "        CH        DIF1X  DIF1X  ----   DRD6X  DRD6X  ----";
01527  M00S01400.ssalter +++|      ITEM CUHDR14 C(58) =
Line S01401 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01528  M01S01401.ssalte1 ---|        "    CH  ST  CIF                                      SMA0X";
Line S00106 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01529  M01S00106.ssalte1 +++|        "    CH  ST  CIF                 DRC0X  DRD7X  DRD7X  SMA0X";
01530  M00S01402.ssalter +++|      ITEM CUHDR15 C(58) =
Line S01403 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01531  M01S01403.ssalte1 ---|        "    NN  ST   U                                       SMA1X";
Line S00107 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01532  M01S00107.ssalte1 +++|        "    NN  ST   U                  DRC1X                SMA1X";
01533  M00S01404.ssalter +++|      ITEM CUHDR16 C(58) =
Line S01405 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01534  M01S01405.ssalte1 ---|        "    MM  ST   V                                       SMA2X";
Line S00108 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01535  M01S00108.ssalte1 +++|        "    MM  ST   V                  DRC2X                SMA2X";
01536  M00S01406.ssalter +++|      ITEM CUHDR17 C(58) =
Line S01407 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01537  M01S01407.ssalte1 ---|        "                                                     SMA3X";
Line S00109 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01538  M01S00109.ssalte1 +++|        "                                DRC3X                SMA3X";
01539  M00S01408.ssalter +++|                                               CONTROL EJECT;
01540  M00S01409.ssalter +++|
01541  M00S01410.ssalter +++|#
01542  M00S01411.ssalter +++|*     BLANK THE *K* DISPLAY
01543  M00S01412.ssalter +++|#
01544  M00S01413.ssalter +++|
01545  M00S01414.ssalter +++|      P<CU$SCREEN> = LOC(KLEFTSCRNAL);
01546  M00S01415.ssalter +++|      P<SM$SCREEN> = LOC(KLEFTSCRNAL);
01547  M00S01416.ssalter +++|      SLOWFOR I = LF$AL$BODY STEP 1 UNTIL LF$AL$KBECHO-1
01548  M00S01417.ssalter +++|      DO
01549  M00S01418.ssalter +++|        BEGIN
01550  M00S01419.ssalter +++|        CU$LN[I] = CUBLANK;
01551  M00S01420.ssalter +++|        CU$EOL[I] = 0;
01552  M00S01421.ssalter +++|        END
01553  M00S01422.ssalter +++|
01554  M00S01423.ssalter +++|
01555  M00S01424.ssalter +++|#
01556  M00S01425.ssalter +++|*     PAINT NON-CHANGING WORDS ON THE SCREEN
01557  M00S01426.ssalter +++|#
01558  M00S01427.ssalter +++|
01559  M00S01428.ssalter +++|      CU$LN[4] = CUHDR1;
01560  M00S01429.ssalter +++|      CU$LN[5] = CUHDR2;
01561  M00S01430.ssalter +++|      CU$LN[6] = CUHDR3;
01562  M00S01431.ssalter +++|      CU$LN[8] = CUHDR4;
01563  M00S01432.ssalter +++|      CU$LN[9] = CUHDR5;
01564  M00S01433.ssalter +++|      CU$LN[10] = CUHDR7;
01565  M00S01434.ssalter +++|      CU$LN[11] = CUHDR8;
01566  M00S01435.ssalter +++|      CU$LN[12] = CUHDR9;
01567  M00S01436.ssalter +++|      CU$LN[13] = CUHDR10;
01568  M00S01437.ssalter +++|      CU$LN[14] = CUHDR11;
01569  M00S01438.ssalter +++|      CU$LN[15] = CUHDR12;
01570  M00S01439.ssalter +++|      CU$LN[16] = CUHDR13;
01571  M00S01440.ssalter +++|      CU$LN[17] = CUHDR14;
01572  M00S01441.ssalter +++|      CU$LN[18] = CUHDR15;
01573  M00S01442.ssalter +++|      CU$LN[19] = CUHDR16;
01574  M00S01443.ssalter +++|      CU$LN[20] = CUHDR17;
01575  M00S01444.ssalter +++|
01576  M00S01445.ssalter +++|#
01577  M00S01446.ssalter +++|*     GET UDT INFORMATION
01578  M00S01447.ssalter +++|#
01579  M00S01448.ssalter +++|
01580  M00S01449.ssalter +++|      UCPREQ ( TYP"TYP5", REQTYP5"SSA$PUDT", RESPCODE );
01581  M00S01450.ssalter +++|
01582  M00S01451.ssalter +++|      IF ( RESPCODE NQ RESPTYP5"OK5" )  ##
01583  M00S01452.ssalter +++|        AND ( RESPCODE NQ RESPTYP5"SSA$OK" )
01584  M00S01453.ssalter +++|      THEN
01585  M00S01454.ssalter +++|        BEGIN  # PROCESS INCORRECT RESPONSE #
01586  M00S01455.ssalter +++|        UCPREQ ( TYP"TYP1", REQTYP1"DISCONNECT", RESPCODE );
01587  M00S01456.ssalter +++|        ALTMSG$LN[0] = MSG1;
01588  M00S01457.ssalter +++|        MESSAGE ( ALTMSG[0],SYSUDF1 );
01589  M00S01458.ssalter +++|        RESTPFP ( PFP$ABORT );
01590  M00S01459.ssalter +++|        END  # PROCESS INCORRECT RESPONSE #
01591  M00S01460.ssalter +++|
01592  M00S01461.ssalter +++|#
01593  M00S01462.ssalter +++|*     DISPLAY STATIC INFORMATION
01594  M00S01463.ssalter +++|#
01595  M00S01464.ssalter +++|
01596  M00S01465.ssalter +++|      CHAR$10[0] = XCOD ( ORDINAL );
Line S01466 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01597  M01S01466.ssalte1 ---|
01598  M01S01467.ssalte1 ---|      POKEDIS ( 6, 22, 2, CHAR$R2[0] );
Line S00110 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
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  M00S01468.ssalter +++|
01610  M00S01469.ssalter +++|#
01611  M00S01470.ssalter +++|*     UPDATE STATUSES FROM UDT INFORMATION
01612  M00S01471.ssalter +++|#
01613  M00S01472.ssalter +++|
01614  M00S01473.ssalter +++|      IF UD$CUON[1]
01615  M00S01474.ssalter +++|      THEN
01616  M00S01475.ssalter +++|        BEGIN
01617  M00S01476.ssalter +++|        CH2 = ALTK$CHON;
01618  M00S01477.ssalter +++|        END
01619  M00S01478.ssalter +++|
01620  M00S01479.ssalter +++|      ELSE
01621  M00S01480.ssalter +++|        BEGIN
01622  M00S01481.ssalter +++|        CH2 = ALTK$CHOFF;
01623  M00S01482.ssalter +++|        END
01624  M00S01483.ssalter +++|
01625  M00S01484.ssalter +++|      POKEDIS ( 6, 28, 2, CH2 );
01626  M00S01485.ssalter +++|
01627  M00S01486.ssalter +++|      LOOPC = FALSE;
01628  M00S01487.ssalter +++|      SLOWFOR NCH = MAX$CH-2 STEP -1 UNTIL 0
01629  M00S01488.ssalter +++|      DO
01630  M00S01489.ssalter +++|        BEGIN  # DISPLAY CHANNELS/CIFS #
01631  M00S01490.ssalter +++|        IF LOOPC                     # TEST CHANNEL A EXAMINED #
01632  M00S01491.ssalter +++|        THEN
01633  M00S01492.ssalter +++|          BEGIN
01634  M00S01493.ssalter +++|          TEST NCH;
01635  M00S01494.ssalter +++|          END
01636  M00S01495.ssalter +++|
01637  M00S01496.ssalter +++|        IF NCH EQ 1
01638  M00S01497.ssalter +++|        THEN
01639  M00S01498.ssalter +++|          BEGIN
01640  M00S01499.ssalter +++|          LINE = 18;
01641  M00S01500.ssalter +++|          COLUMN = 7;
01642  M00S01501.ssalter +++|          END
01643  M00S01502.ssalter +++|
01644  M00S01503.ssalter +++|        ELSE
01645  M00S01504.ssalter +++|          BEGIN
01646  M00S01505.ssalter +++|          LINE = 19;
01647  M00S01506.ssalter +++|          COLUMN = 14;
01648  M00S01507.ssalter +++|          END
01649  M00S01508.ssalter +++|
01650  M00S01509.ssalter +++|        IF ( UD$CHAND[1] NQ 0 ) AND ( NCH EQ MAX$CH-2 )
01651  M00S01510.ssalter +++|        THEN
01652  M00S01511.ssalter +++|          BEGIN
01653  M00S01512.ssalter +++|          CHAR$10[0] = XCOD ( UD$CHAND$C[1] );
01654  M00S01513.ssalter +++|
01655  M00S01514.ssalter +++|          POKEDIS ( LINE, 4, 2, CHAR$R2[0] );  # DISPLAY CHANNEL #
01656  M00S01515.ssalter +++|
01657  M00S01516.ssalter +++|          IF UD$CHAND$O[1]
01658  M00S01517.ssalter +++|          THEN
01659  M00S01518.ssalter +++|            BEGIN
01660  M00S01519.ssalter +++|            CH2 = ALTK$CHON;
01661  M00S01520.ssalter +++|            END
01662  M00S01521.ssalter +++|
01663  M00S01522.ssalter +++|          ELSE
01664  M00S01523.ssalter +++|            BEGIN
01665  M00S01524.ssalter +++|            CH2 = ALTK$CHOFF;
01666  M00S01525.ssalter +++|            END
01667  M00S01526.ssalter +++|
01668  M00S01527.ssalter +++|          POKEDIS ( LINE, 8, 2, CH2 );  # DISPLAY CHANNEL STATUS #
01669  M00S01528.ssalter +++|
01670  M00S01529.ssalter +++|          CH1 = ALTK$CIF3;
01671  M00S01530.ssalter +++|
01672  M00S01531.ssalter +++|          POKEDIS ( LINE, 13, 1, CH1 );  # DISPLAY CIF FOR CHANNEL #
01673  M00S01532.ssalter +++|
01674  M00S01533.ssalter +++|          POKEDIS ( 8, COLUMN, 1, CH1 );  # DISPLAY CIF #
01675  M00S01534.ssalter +++|
01676  M00S01535.ssalter +++|          STAT = XDXB ( ALTK$CIF3, 0, JINDEX );
01677  M00S01536.ssalter +++|
01678  M00S01537.ssalter +++|          KDISCIF ( JINDEX, NCH );   # DISPLAY CIF ON OUT #
01679  M00S01538.ssalter +++|
01680  M00S01539.ssalter +++|          TEST NCH;
01681  M00S01540.ssalter +++|          END
01682  M00S01541.ssalter +++|
01683  M00S01542.ssalter +++|        IF ( ( UD$CHANC[1] NQ 0 )    ##
01684  M00S01543.ssalter +++|          AND ( NCH EQ MAX$CH-2 )    ##
01685  M00S01544.ssalter +++|          AND ( UD$CHAND[1] EQ 0 ) )  ##
01686  M00S01545.ssalter +++|          OR ( ( UD$CHANC[1] NQ 0 )  ##
01687  M00S01546.ssalter +++|          AND ( NCH EQ 0 )           ##
01688  M00S01547.ssalter +++|          AND ( UD$CHAND[1] NQ 0 ) )
01689  M00S01548.ssalter +++|        THEN
01690  M00S01549.ssalter +++|          BEGIN
01691  M00S01550.ssalter +++|          CHAR$10[0] = XCOD ( UD$CHANC$C[1] );
01692  M00S01551.ssalter +++|          POKEDIS ( LINE, 4, 2, CHAR$R2[0] );  # DISPLAY CHANNEL #
01693  M00S01552.ssalter +++|          IF UD$CHANC$O[1]
01694  M00S01553.ssalter +++|          THEN
01695  M00S01554.ssalter +++|            BEGIN
01696  M00S01555.ssalter +++|            CH2 = ALTK$CHON;
01697  M00S01556.ssalter +++|            END
01698  M00S01557.ssalter +++|
01699  M00S01558.ssalter +++|          ELSE
01700  M00S01559.ssalter +++|            BEGIN
01701  M00S01560.ssalter +++|            CH2 = ALTK$CHOFF;
01702  M00S01561.ssalter +++|            END
01703  M00S01562.ssalter +++|
01704  M00S01563.ssalter +++|          POKEDIS ( LINE, 8, 2, CH2 );  # DISPLAY STATUS #
01705  M00S01564.ssalter +++|
01706  M00S01565.ssalter +++|          CH1 = ALTK$CIF2;
01707  M00S01566.ssalter +++|
01708  M00S01567.ssalter +++|          POKEDIS ( LINE, 13, 1, CH1 );  # DISPLAY CIF NUMBER #
01709  M00S01568.ssalter +++|
01710  M00S01569.ssalter +++|          POKEDIS ( 8, COLUMN, 1, CH1 );  # DISPLAY CIF #
01711  M00S01570.ssalter +++|
01712  M00S01571.ssalter +++|          STAT = XDXB ( ALTK$CIF2, 0, JINDEX );
01713  M00S01572.ssalter +++|
01714  M00S01573.ssalter +++|          KDISCIF ( JINDEX, NCH );   # DISPLAY CIF ON OUT #
01715  M00S01574.ssalter +++|
01716  M00S01575.ssalter +++|          TEST NCH;
01717  M00S01576.ssalter +++|          END
01718  M00S01577.ssalter +++|
01719  M00S01578.ssalter +++|        IF ( ( UD$CHANB[1] NQ 0 )    ##
01720  M00S01579.ssalter +++|          AND ( NCH EQ 1 )           ##
01721  M00S01580.ssalter +++|          AND ( UD$CHAND[1] EQ 0 )   ##
01722  M00S01581.ssalter +++|          AND ( UD$CHANC[1] EQ 0 ) )  ##
01723  M00S01582.ssalter +++|          OR ( ( UD$CHANB[1] NQ 0 )  ##
01724  M00S01583.ssalter +++|          AND ( NCH EQ 0 )           ##
01725  M00S01584.ssalter +++|          AND ( ( UD$CHAND[1] NQ 0 )  ##
01726  M00S01585.ssalter +++|          AND ( UD$CHANC[1] EQ 0)    ##
01727  M00S01586.ssalter +++|          OR ( UD$CHAND[1] EQ 0)     ##
01728  M00S01587.ssalter +++|          AND ( UD$CHANC[1] NQ 0 ) ) )
01729  M00S01588.ssalter +++|        THEN
01730  M00S01589.ssalter +++|          BEGIN
01731  M00S01590.ssalter +++|          CHAR$10[0]= XCOD ( UD$CHANB$C[1] );
01732  M00S01591.ssalter +++|
01733  M00S01592.ssalter +++|          POKEDIS ( LINE, 4, 2, CHAR$R2[0]);  # DISPLAY CHANNEL #
01734  M00S01593.ssalter +++|
01735  M00S01594.ssalter +++|          IF UD$CHANB$O[1]
01736  M00S01595.ssalter +++|          THEN
01737  M00S01596.ssalter +++|            BEGIN
01738  M00S01597.ssalter +++|            CH2= ALTK$CHON;
01739  M00S01598.ssalter +++|            END
01740  M00S01599.ssalter +++|
01741  M00S01600.ssalter +++|          ELSE
01742  M00S01601.ssalter +++|            BEGIN
01743  M00S01602.ssalter +++|            CH2= ALTK$CHOFF;
01744  M00S01603.ssalter +++|            END
01745  M00S01604.ssalter +++|
01746  M00S01605.ssalter +++|          POKEDIS ( LINE, 8, 2, CH2 );  # DISPLAY CHANNEL STATUS #
01747  M00S01606.ssalter +++|
01748  M00S01607.ssalter +++|          CH1 = ALTK$CIF1;
01749  M00S01608.ssalter +++|
01750  M00S01609.ssalter +++|          POKEDIS ( LINE, 13, 1, CH1 );  # DISPLAY CIF NUMBER #
01751  M00S01610.ssalter +++|
01752  M00S01611.ssalter +++|          POKEDIS ( 8, COLUMN, 1, CH1 );  # DISPLAY CIF NUMBER #
01753  M00S01612.ssalter +++|
01754  M00S01613.ssalter +++|          STAT = XDXB ( ALTK$CIF1, 0, JINDEX );
01755  M00S01614.ssalter +++|
01756  M00S01615.ssalter +++|          KDISCIF ( JINDEX, NCH );   # DISPLAY CIF ON OUT #
01757  M00S01616.ssalter +++|
01758  M00S01617.ssalter +++|          TEST NCH;
01759  M00S01618.ssalter +++|          END
01760  M00S01619.ssalter +++|
01761  M00S01620.ssalter +++|        IF ( UD$CHANA[1] NQ 0 )      ##
01762  M00S01621.ssalter +++|          OR ( ( UD$CHANA[1] EQ 0 ) AND ( NCH GR 0 ) )
01763  M00S01622.ssalter +++|        THEN
01764  M00S01623.ssalter +++|          BEGIN
01765  M00S01624.ssalter +++|          CHAR$10[0] = XCOD ( UD$CHANA$C[1] );
01766  M00S01625.ssalter +++|
01767  M00S01626.ssalter +++|          POKEDIS ( LINE, 4, 2, CHAR$R2[0] );  # DISPLAY CHANNEL #
01768  M00S01627.ssalter +++|
01769  M00S01628.ssalter +++|          IF UD$CHANA$O[1]
01770  M00S01629.ssalter +++|          THEN
01771  M00S01630.ssalter +++|            BEGIN
01772  M00S01631.ssalter +++|            CH2 = ALTK$CHON;
01773  M00S01632.ssalter +++|            END
01774  M00S01633.ssalter +++|
01775  M00S01634.ssalter +++|          ELSE
01776  M00S01635.ssalter +++|            BEGIN
01777  M00S01636.ssalter +++|            CH2 = ALTK$CHOFF;
01778  M00S01637.ssalter +++|            END
01779  M00S01638.ssalter +++|
01780  M00S01639.ssalter +++|          POKEDIS ( LINE, 8, 2, CH2 );  # DISPLAY CHANNEL STATUS #
01781  M00S01640.ssalter +++|
01782  M00S01641.ssalter +++|          CH1 = ALTK$CIF0;
01783  M00S01642.ssalter +++|
01784  M00S01643.ssalter +++|          POKEDIS ( LINE, 13, 1, CH1 );  # DISPLAY CIF NUMBER #
01785  M00S01644.ssalter +++|
01786  M00S01645.ssalter +++|          POKEDIS ( 8, COLUMN, 1, CH1 );  # DISPLAY CIF NUMBER #
01787  M00S01646.ssalter +++|
01788  M00S01647.ssalter +++|          STAT = XDXB ( ALTK$CIF0, 0, JINDEX );
01789  M00S01648.ssalter +++|
01790  M00S01649.ssalter +++|          KDISCIF ( JINDEX, NCH );   # DISPLAY CIF ON OUT #
01791  M00S01650.ssalter +++|
01792  M00S01651.ssalter +++|          LOOPC = TRUE;              # FORCE EXIT OF CHANNEL LOOP #
01793  M00S01652.ssalter +++|          TEST NCH;
01794  M00S01653.ssalter +++|          END
01795  M00S01654.ssalter +++|
01796  M00S01655.ssalter +++|        END
01797  M00S01656.ssalter +++|
01798  M00S01657.ssalter +++|      IF C<13,1>CU$LN[19] EQ "V"
01799  M00S01658.ssalter +++|      THEN
01800  M00S01659.ssalter +++|        BEGIN
01801  M00S01660.ssalter +++|        C<13,1>CU$LN[19] = " ";
01802  M00S01661.ssalter +++|        C<4,10>CU$LN[19] = "          ";
01803  M00S01662.ssalter +++|        SLOWFOR I = 0 STEP 1 UNTIL MAX$CIF + 2
01804  M00S01663.ssalter +++|        DO
01805  M00S01664.ssalter +++|          BEGIN
01806  M00S01665.ssalter +++|          LINE = 8 + I;
01807  M00S01666.ssalter +++|          C<11,5>CU$LN[LINE] = ALTK$B5;  # CLEAR UNNECESSARY DATA #
01808  M00S01667.ssalter +++|          END
01809  M00S01668.ssalter +++|
01810  M00S01669.ssalter +++|        END  # DISPLAY CHANNELS/CIFS #
01811  M00S01670.ssalter +++|
01812  M00S01671.ssalter +++|
01813  M00S01672.ssalter +++|#
01814  M00S01673.ssalter +++|*     UPDATE SM/AIF FIELDS OF *K* DISPLAY.
01815  M00S01674.ssalter +++|#
01816  M00S01675.ssalter +++|
01817  M01S00120.ssalte1 +++|      P<PTHSTAT> = LOC(UD$AIF0[1]);  # PRESET TO AIF0 #
01818  M00S01676.ssalter +++|      SLOWFOR ORD = 0 STEP 1 UNTIL MAX$AIF
01819  M00S01677.ssalter +++|      DO
01820  M00S01678.ssalter +++|        BEGIN
01821  M00S01679.ssalter +++|        COLUMN = 57;
01822  M00S01680.ssalter +++|        TEMP = 10;
01823  M00S01681.ssalter +++|        IF ORD EQ 1
01824  M00S01682.ssalter +++|        THEN
01825  M00S01683.ssalter +++|          BEGIN
01826  M01S00121.ssalte1 +++|          P<PTHSTAT> = LOC(UD$AIF1[1]);  # RESET TO AIF1 #
01827  M00S01684.ssalter +++|          TEMP = 17;
01828  M00S01685.ssalter +++|          END
01829  M00S01686.ssalter +++|
Line S01687 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01830  M01S01687.ssalte1 ---|        SLOWFOR J = 0 STEP 1 UNTIL MAX$AC
01831  M01S01688.ssalte1 ---|        DO
Line S00122 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01832  M01S00122.ssalte1 +++|        FIRSTAC = 0;                 # ASSUME AC-S ARE 0-3 #
01833  M01S00123.ssalte1 +++|        IF B<24,24>PATH$WORD[0] NQ 0
01834  M01S00124.ssalte1 +++|        THEN                         # 2ND SET OF SM-S USED #
01835  M01S00125.ssalte1 +++|          BEGIN  # 2ND #
01836  M01S00126.ssalte1 +++|          FIRSTAC = MAX$AC + 1;      # RESET TO AC-S 4-7 #
01837  M01S00127.ssalte1 +++|          POKEDIS(TEMP,56,1,"4");    # CHANGE SM ORDINALS TO 2ND SET #
01838  M01S00128.ssalte1 +++|          POKEDIS(TEMP+1,56,1,"5");
01839  M01S00129.ssalte1 +++|          POKEDIS(TEMP+2,56,1,"6");
01840  M01S00130.ssalte1 +++|          POKEDIS(TEMP+3,56,1,"7");
01841  M01S00131.ssalte1 +++|          END  # 2ND #
01842  M01S00132.ssalte1 +++|
01843  M01S00133.ssalte1 +++|        SLOWFOR J = FIRSTAC STEP 1 UNTIL (FIRSTAC + MAX$AC)
01844  M01S00134.ssalte1 +++|        DO                           # LOOP THROUGH AC-S 0-3 OR 4-7 #
01845  M00S01689.ssalter +++|          BEGIN
01846  M00S01690.ssalter +++|          I = J*6;
Line S01691 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01847  M01S01691.ssalte1 ---|          LINE = TEMP + J;
01848  M01S01692.ssalte1 ---|          IF B< I+(ORD*24) +PATH$DF"U$EXISTS", 1>UD$AIF[1]  EQ 0
Line S00135 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01849  M01S00135.ssalte1 +++|          LINE = TEMP + (J - FIRSTAC);
01850  M01S00136.ssalte1 +++|          IF B<I+PATH$DF"U$EXISTS",1>PATH$WORD[0] EQ 0
01851  M00S01693.ssalter +++|          THEN
01852  M00S01694.ssalter +++|            BEGIN
01853  M00S01695.ssalter +++|            POKEDIS ( LINE, 53, 5, ALTK$B5 );  # BLANK THE FIELD #
01854  M00S01696.ssalter +++|            TEST J;
01855  M00S01697.ssalter +++|            END
01856  M00S01698.ssalter +++|
Line S01699 Modification History
M01 (Removed by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01857  M01S01699.ssalte1 ---|          IF B< I+(ORD*24)+PATH$DF"U$RQ$DIAG", 1>UD$AIF[1] NQ 0
01858  M01S01700.ssalte1 ---|          THEN
01859  M01S01701.ssalte1 ---|            BEGIN
01860  M01S01702.ssalte1 ---|            POKEDIS ( LINE, 57, 1, ALTK$MAINT );  # DIAG MODE #
01861  M01S01703.ssalte1 ---|            TEST J;
01862  M01S01704.ssalte1 ---|            END
01863  M01S01705.ssalte1 ---|
01864  M01S01706.ssalte1 ---|          IF B< I+(ORD*24)+PATH$DF"U$ON", 1>UD$AIF[1]  NQ 0
Line S00137 Modification History
M01 (Added by) ssalte1
Seq #  *Modification Id* Act 
----------------------------+
01865  M01S00137.ssalte1 +++|          IF B<I+PATH$DF"U$ON",1>PATH$WORD[0] NQ 0
01866  M00S01707.ssalter +++|          THEN
01867  M00S01708.ssalter +++|            BEGIN
01868  M00S01709.ssalter +++|            POKEDIS ( LINE, 57, 1, ALTK$ONLINE );  # ONLINE MODE #
01869  M00S01710.ssalter +++|            TEST J;
01870  M00S01711.ssalter +++|            END
01871  M00S01712.ssalter +++|
01872  M00S01713.ssalter +++|          ELSE
01873  M00S01714.ssalter +++|            BEGIN
01874  M00S01715.ssalter +++|            POKEDIS ( LINE, 57, 1, ALTK$OFFLINE );  # OFFLINE MODE #
01875  M00S01716.ssalter +++|            TEST J;
01876  M00S01717.ssalter +++|            END
01877  M00S01718.ssalter +++|
01878  M00S01719.ssalter +++|          END  # TEST J #
01879  M00S01720.ssalter +++|
01880  M00S01721.ssalter +++|        END  # TEST ORD #
01881  M00S01722.ssalter +++|
01882  M00S01723.ssalter +++|
01883  M00S01724.ssalter +++|#
01884  M00S01725.ssalter +++|*     CLEAR OUT ALL REQUEST BITS
01885  M00S01726.ssalter +++|#
01886  M00S01727.ssalter +++|
01887  M00S01728.ssalter +++|      END  # DISPCU #
01888  M00S01729.ssalter +++|
01889  M00S01730.ssalter +++|    TERM
01890  M00S01731.ssalter +++|PROC DISPSM ( INDEX , INITIALIZE );
01891  M00S01732.ssalter +++|
01892  M00S01733.ssalter +++|# TITLE DISPSM - DISPLAY *SM* INFORMATION                             #
01893  M00S01734.ssalter +++|
01894  M00S01735.ssalter +++|      BEGIN  # DISPSM #
01895  M00S01736.ssalter +++|
01896  M00S01737.ssalter +++|#
01897  M00S01738.ssalter +++|***   DISPSM - DISPLAY *SM* DISPLAY
01898  M00S01739.ssalter +++|*
01899  M00S01740.ssalter +++|*     *DISPSM* GENERATES AND DISPLAYS THE *SM* DISPLAY
01900  M00S01741.ssalter +++|*     FOR *SSALTER*
01901  M00S01742.ssalter +++|*
01902  M00S01743.ssalter +++|*     ENTRY         INDEX = SM TO BE DISPLAYED.
01903  M00S01744.ssalter +++|*              INITIALIZE = TRUE IF AND ONLY IF *SSEXEC* IS
01904  M00S01745.ssalter +++|*                           BEING INITIALIZED.
01905  M00S01746.ssalter +++|*
01906  M00S01747.ssalter +++|*
01907  M00S01748.ssalter +++|*     EXIT       DISPLAY SHOWN ON LEFT SCREEN.
01908  M00S01749.ssalter +++|#
01909  M00S01750.ssalter +++|
01910  M00S01751.ssalter +++|#
01911  M00S01752.ssalter +++|****  PROC DISPSM - XREF LIST BEGIN.
01912  M00S01753.ssalter +++|#
01913  M00S01754.ssalter +++|
01914  M00S01755.ssalter +++|      XREF
01915  M00S01756.ssalter +++|        BEGIN
01916  M00S01757.ssalter +++|        PROC MESSAGE;                # ISSUE A DAYFILE MESSAGE #
01917  M00S01758.ssalter +++|        PROC POKEDIS;                # UPDATE *K* DISPLAY #
01918  M00S01759.ssalter +++|        PROC RESTPFP;                # RESTORE USER-S PFP AND ABORT OR
01919  M00S01760.ssalter +++|                                       RETURN #
01920  M00S01761.ssalter +++|        PROC UCPREQ;                 # ISSUE UCP REQUEST TO SSEXEC #
01921  M01S00138.ssalte1 +++|        FUNC XCDD C(10);             # CONV INT TO DECIMAL DISPLAY #
01922  M00S01762.ssalter +++|        FUNC XCOD C(10);             # CONVERT INTEGER TO OCTAL DISPLAY
01923  M00S01763.ssalter +++|                                     #
01924  M00S01764.ssalter +++|        END
01925  M00S01765.ssalter +++|
01926  M00S01766.ssalter +++|#
01927  M00S01767.ssalter +++|****  PROC DISPSM - XREF LIST END.
01928  M00S01768.ssalter +++|#
01929  M00S01769.ssalter +++|
01930  M00S01770.ssalter +++|#
01931  M00S01771.ssalter +++|*     DAYFILE MESSAGES.
01932  M00S01772.ssalter +++|#
01933  M00S01773.ssalter +++|
01934  M00S01774.ssalter +++|      DEF MSG1   #" DISPSM - INCORRECT RESPONSE FROM SSEXEC."#;
01935  M00S01775.ssalter +++|      DEF BLANK      #" "#;
01936  M00S01776.ssalter +++|
01937  M00S01777.ssalter +++|
01938  M00S01778.ssalter +++|      DEF LISTCON    #0#;            # DO NOT LIST COMMON DECKS #
01939  M00S01779.ssalter +++|
01940  M00S01780.ssalter +++|*CALL,COMBFAS
01941  M00S01781.ssalter +++|*CALL,COMBCPR
01942  M00S01782.ssalter +++|*CALL,COMBUDT
01943  M00S01783.ssalter +++|*CALL,COMTALT
01944  M00S01784.ssalter +++|
01945  M00S01785.ssalter +++|      ARRAY CHAR10[0:0] S(3);        # CHARACTER MANIPULATION #
01946  M00S01786.ssalter +++|        BEGIN
Proceed to Part 1
cdc/nos2.source/opl.opl871/deck/ssalter.txt ยท Last modified: (external edit)