*COMDECK COMQKDS
# 
      COMQKDS - NOS K (NOS/BE L) DISPLAY BUFFER DEFINITIONS.
# 
                                               CONTROL NOLIST;
                                               CONTROL IFEQ LISTCON,1;
                                               CONTROL LIST;
                                               CONTROL ENDIF; 
  
# 
**    K/L DISPLAY LAYOUT. 
* 
*     TO FIT ON THE NOS 18000-2 (721) CONSOLE K DISPLAY, THE
*     DISPLAYS ARE RESTRICTED TO LINES 5 (Y CO-ORDINATE O"7714")
*     THROUGH 26 (O"7372").  THE CODED FORMAT (ZERO-BYTE TERMINATED 
*     END-OF-LINES) IS USED WITH ALTERNATE LINE SPACING SELECTED. 
*     NOS DSD GENERATES THE X AND Y CO-ORDINATES AUTOMATICALLY, WITH
*     Y CO-ORDINATES RANGING FROM LINE 5 TO LINE 26 WITH O"12"
*     INTRA-LINE SPACING ON THE 18000-2 CONSOLE OR FROM LINE 7
*     WITH O"17" (1.5X) SPACING ON THE CC545 CONSOLE. 
*     SINCE THE DISPLAY LINES EXTEND TO COLUMN 60, THE END-OF-LINE
*     WORD IS PADDED WITH O"6000" CHARACTERS TO PREVENT DISPLAY 
*     WRAP-AROUND PROBLEMS.  NOS DSD DOES NOT CURRENTLY DELETE
*     TRAILING ZERO BYTES CAUSING CHARACTERS PAST COLUMN 64 ON THE 721
*     CONSOLE TO WRAP-AROUND AND OVERWRITE THE BEGINNING OF THE LINE. 
* 
*     THE NOS/BE L DISPLAY SUPPORTS ONLY THE CC545 IN X/Y CO-ORDINATE 
*     MODE.  INSTEAD OF ZERO-BYTE TERMINATORS, THE END-OF-LINE
*     WORDS GENERATE A NEW L DISPLAY WORD COUNT HEADER AND THE PROPER 
*     X/Y CO-ORDINATES.  THE Y CO-ORDINATES USE 1.5X SPACING WITH 
*     LOGICAL LINE 5 STARTING AT PHYSICAL LINE 7.  THE END-OF-LINE
*     WORD SPECIFIES THE CO-ORDINATES OF THE NEXT LINE. 
* 
* 
*     GENERAL DISPLAY FORMAT: 
* 
*              1         2         3         4         5         6
*     1234567890123456789012345678901234567890123456789012345678901234
* 
* TTL      QTF, INITIATOR 
* 
* LN05 [DISPLAY NAME---->]NNNNNNNNNN FILES SENT   RHF  PAGE N OF N
* LN06 [DISPLAY SUBTITLE---------------------------------------->]
* LN07
* LN08 [DISPLAY LINE 1------------------------------------------>]
* LN09       .
* LN10       .
* LN11       .
* LN12       .
* LN13       .
* LN14       .
* LN15       .
* LN16       .
* LN17       .
* LN18       .
* LN19       .
* LN20       .
* LN21       .
* LN22 [DISPLAY LINE 22----------------------------------------->]
* LN23
* LN24 COMMAND- [LAST OPERATOR COMMAND (COLUMNS 1 - 50)--------->]
* LN25                    [<----(COLUMNS 60 - 80)----->]
* LN26          [LAST OPERATOR MESSAGE-------------------------->]
* 
*              1         2         3         4         5         6
*     1234567890123456789012345678901234567890123456789012345678901234
* 
# 
  
    CONTROL IFEQ OS$NOS;
      DEF KDEOL      #O"6000 6000 6000 6000 0000"#; 
      DEF KDEOLN05   #KDEOL#; 
      DEF KDEOLN06   #KDEOL#; 
      DEF KDEOLN08   #KDEOL#; 
      DEF KDEOLN09   #KDEOL#; 
      DEF KDEOLN10   #KDEOL#; 
      DEF KDEOLN11   #KDEOL#; 
      DEF KDEOLN12   #KDEOL#; 
      DEF KDEOLN13   #KDEOL#; 
      DEF KDEOLN14   #KDEOL#; 
      DEF KDEOLN15   #KDEOL#; 
      DEF KDEOLN16   #KDEOL#; 
      DEF KDEOLN17   #KDEOL#; 
      DEF KDEOLN18   #KDEOL#; 
      DEF KDEOLN19   #KDEOL#; 
      DEF KDEOLN20   #KDEOL#; 
      DEF KDEOLN21   #KDEOL#; 
      DEF KDEOLN22   #KDEOL#; 
      DEF KDEOLN23   #KDEOL#; 
      DEF KDEOLN24   #KDEOL#; 
      DEF KDEOLN25   #KDEOL#; 
    CONTROL ENDIF;
  
    CONTROL IFEQ OS$NOSBE;
      DEF KDBOLTI    #O"0300 7714 6000 6000 6000"#;  # START OF TITLE # 
      DEF KDBOLN05   #O"0700 7670 6000 6000 6000"#;  # START OF LINE 5 #
      DEF KDEOLN05   #O"0700 7651 6000 6000 6000"#; 
      DEF KDEOLN06   #O"0700 7613 6000 6000 6000"#;  # SKIP LINE 7 #
      DEF KDEOLN08   #O"0700 7574 6000 6000 6000"#; 
      DEF KDEOLN09   #O"0700 7555 6000 6000 6000"#; 
      DEF KDEOLN10   #O"0700 7536 6000 6000 6000"#; 
      DEF KDEOLN11   #O"0700 7517 6000 6000 6000"#; 
      DEF KDEOLN12   #O"0700 7500 6000 6000 6000"#; 
      DEF KDEOLN13   #O"0700 7461 6000 6000 6000"#; 
      DEF KDEOLN14   #O"0700 7442 6000 6000 6000"#; 
      DEF KDEOLN15   #O"0700 7423 6000 6000 6000"#; 
      DEF KDEOLN16   #O"0700 7404 6000 6000 6000"#; 
      DEF KDEOLN17   #O"0700 7365 6000 6000 6000"#; 
      DEF KDEOLN18   #O"0700 7346 6000 6000 6000"#; 
      DEF KDEOLN19   #O"0700 7327 6000 6000 6000"#; 
      DEF KDEOLN20   #O"0700 7310 6000 6000 6000"#; 
      DEF KDEOLN21   #O"0700 7271 6000 6000 6000"#; 
      DEF KDEOLN22   #O"0700 7252 6000 6000 6000"#; 
      DEF KDEOLN23   #O"0700 7233 6000 6000 6000"#; 
      DEF KDEOLN24   #O"0700 7214 6000 6000 6000"#; 
      DEF KDEOLN25   #O"0700 7175 6000 6000 6000"#; 
    CONTROL ENDIF;
  
      DEF KDEOLN26   #O"0000 0000 0000 0000 0000"#;  # END OF DISPLAY # 
  
      DEF KDCHRPERDT #16#;         # CHARACTERS PER DISPLAY TITLE # 
      DEF KDCHRPERLN #60#;         # DISPLAY CHARS PER LINE # 
      DEF KDEOLWP    #06#;         # WORD POSITION OF END-OF-LINE WORD #
      DEF KDWDSPERDT #02#;         # WORDS PER DISPLAY TITLE #
      DEF KDWDSPERLN #07#;         # WORDS PER DISPLAY LINE # 
      DEF MXITEMS    #15#;         # MAXIMUM 1-LINE ITEMS PER DISPLAY # 
  
      STATUS KDIS                  # K DISPLAY TYPE # 
         HELP                      # HELP # 
        ,PID                       # STATUS,PID # 
        ,SC                        # STATUS,SC #
        ,TRANSFE                   # STATUS,TRANSFER #
        ,LAST;                     # NUMBER OF DISPLAYS # 
  
      COMMON COMQKDS; 
        BEGIN 
        ITEM KDISORD    S:KDIS = S"TRANSFE";  # CURRENT DISPLAY # 
        ITEM KDISPREV   S:KDIS = S"LAST";  # PREVIOUS DISPLAY # 
        ITEM KDSPCYCLES U = 0;     # CYCLES SINCE LAST UPDATE # 
        ITEM KD$LPID    U = 0;     # PID ON CURRENT PAGE OF ST,PI # 
        ITEM KD$LPIDORD U = 0;     # ORDINAL OF KD$LPID # 
  
        ARRAY KDSTAT [KDIS"HELP":KDIS"TRANSFE"] S(1); 
          BEGIN 
          ITEM KS$UPDATE  B(00,00,01) = [KDIS"LAST"(TRUE)];   # UPDATE #
          ITEM KS$CURPAGE U(00,01,11) = [KDIS"LAST"(1)];  # CURRENT PG #
          ITEM KS$MAXPAGE U(00,12,12) = [KDIS"LAST"(1)];  # MAXIMUM PG #
          ITEM KS$ITPERPG U(00,24,12) = [1,15,12,4];  # ITEMS PER PAGE #
          ITEM KS$ICPERIT U(00,36,12) = [1,1,1,4];    # LINES PER ITEM #
          ITEM KS$KDIS    S:KDIS(00,48,12) =
                 [S"HELP", S"PID", S"SC", S"TRANSFE"];
          END 
  
        ARRAY KDSTAT2 [KDIS"HELP":KDIS"TRANSFE"] S(8);
          BEGIN 
          ITEM KS$TITLE   C(00,00,20) = 
                 ["HELP"
                 ,"STATUS,PID"
                 ,"STATUS,SC" 
                 ,"STATUS,TRANSFERS"
                 ]; 
          ITEM KS$HEADER  C(02,00,KDCHRPERLN) = 
        [" COMMANDS                                 FSI   SIZE RANGE  " 
        ," PID   STATUS       SC DISABLED    SC IN-USE                " 
        ," SC  STATUS  FSI RANGE  MAXIMUM  RESERVED  IN-USE  AVAILABLE" 
        ," ACN SC FILE    LID/PID  DC DD    PRUS   STARTED   STATUS   " 
        ];
          END 
  
      CONTROL IFEQ OS$NOSBE;
        ARRAY KL$FWA    S(8); 
          BEGIN 
          ITEM KD$CDW     U(00,00,60);  # COMMAND WORD #
          ITEM KD$CDC     C(00,00,70);  # COMMAND # 
          ITEM KD$FLG     B(07,48,12);  # DATA DISPLAYED FLAG # 
          END 
  
        ITEM KL$DTHDR   U = KDBOLTI;  # HEADER WORD FOR DISPLAY TITLE # 
      CONTROL ENDIF;
  
        ARRAY KL$DT [0:0] S(KDWDSPERDT);
          BEGIN 
          ITEM KL$DTITLE  C(00,00,KDCHRPERDT) = 
                 [" QTF, SERVICER"];
          ITEM KL$INIT    C(00,36,10);  # *SERVICER* OR *INITIATOR* # 
          ITEM KL$DTEOL   U(01,36,24) = [0];
          END 
  
      CONTROL IFEQ OS$NOS;
        ARRAY KDISBUF    S(1);
          BEGIN 
          ITEM KDISWD     U(00,00,60) = [0];
          ITEM KDISSUPINP B(00,03,01) = [TRUE];  # SUPPRESS DAYFILE # 
          ITEM KDISKEY    U(00,06,18);  # KEYBOARD BUFFER # 
          ITEM KDISRSC    U(00,24,18);  # RIGHT SCREEN BUFFER # 
          ITEM KDISLSC    U(00,42,18);  # LEFT SCREEN BUFFER #
          END 
  
        ARRAY KDISINPT   S(8);     # KEYBOARD INPUT BUFFER #
          BEGIN 
          ITEM KD$CDW     U(00,00,60);  # COMMAND WORD #
          ITEM KD$CDC     C(00,00,80);  # COMMAND # 
          END 
  
        ARRAY KL$FWA     S(1);
          BEGIN 
          ITEM KL$CW      U(00,00,60) = [0];  # CONTROL WORD #
          ITEM KL$CSZ     B(00,10,01);  # SMALL CHARS # 
          ITEM KL$FAT     B(00,11,01) = [TRUE];  # CODED FORMAT # 
          ITEM KL$ALTSPAC B(00,12,01) = [TRUE];  # ALTERNATE SPACING #
          ITEM KL$TBUF    U(00,18,18);  # TITLE BUFFER #
          ITEM KD$FLG     B(00,59,01);  # DATA DISPLAY FLAG # 
          END 
  
      CONTROL ENDIF;
  
      CONTROL IFEQ OS$NOSBE;
        ITEM KL$TIHDR   U = KDBOLN05;  # HEADER WORD FOR TITLE LINE # 
      CONTROL ENDIF;
  
        ARRAY KL$TI [0:0] S(KDWDSPERLN);
          BEGIN 
          ITEM KL$TIDUM   C(00,00,KDCHRPERLN) = 
      ["                            NO FILES RCVD   RHF  PAGE 1 OF 1"]; 
          ITEM KL$TITLE   C(00,00,20);  # DISPLAY NAME #
          ITEM KL$TINF    C(02,00,10);  # NUMBER OF FILES # 
          ITEM KL$TISENT  C(03,42,04);  # *RCVD* (QTFS) OR *SENT* # 
          ITEM KL$TINAM   C(04,24,03);  # *RHF* OR *NAM* #
          ITEM KL$CURPAGE C(05,24,01);  # CURRENT PAGE #
          ITEM KL$MAXPAGE C(05,54,01);  # MAXIMUM PAGE #
          ITEM KL$TIEOL   U(KDEOLWP,00,60) = [KDEOLN05];
          END 
  
        ARRAY KL$HE [0:0] S(KDWDSPERLN);
          BEGIN 
          ITEM KL$HEADER  C(00,00,KDCHRPERLN) =  [" "]; 
          ITEM KL$HEEOL   U(KDEOLWP,00,60) = [KDEOLN06];
          END 
  
      CONTROL IFEQ OS$NOS;
        ITEM KL$LN07    U = KDEOL;  # SKIP LINE 7 # 
      CONTROL ENDIF;
  
        ARRAY KL$IT [1:MXITEMS] S(KDWDSPERLN);
          BEGIN 
          ITEM KL$ITEM    C(00,00,KDCHRPERLN) = [MXITEMS(" ")]; 
          ITEM KL$ITEOL   U(KDEOLWP,00,60) =
                 [KDEOLN08, KDEOLN09, KDEOLN10, KDEOLN11, KDEOLN12, 
                  KDEOLN13, KDEOLN14, KDEOLN15, KDEOLN16, KDEOLN17, 
                  KDEOLN18, KDEOLN19, KDEOLN20, KDEOLN21, KDEOLN22];
          END 
  
        ARRAY KL$LN23 [0:0] S(KDWDSPERLN);
          BEGIN 
          ITEM KL$LN23DUM C(00,00,KDCHRPERLN) = [" "];
          ITEM KL$CMDEPTR C(01,00,50);
          ITEM KL$LN23EOL U(KDEOLWP,00,60) = [KDEOLN23];
          END 
  
        ARRAY KL$LN24 [0:0] S(KDWDSPERLN);
          BEGIN 
          ITEM KL$LN24DUM C(00,00,KDCHRPERLN) = [" "];
          ITEM KL$LN24CMD C(00,00,10);
          ITEM KL$CMD1    C(01,00,50);
          ITEM KL$LN24EOL U(KDEOLWP,00,60) = [KDEOLN24];
          END 
  
        ARRAY KL$LN25 [0:0] S(KDWDSPERLN);
          BEGIN 
          ITEM KL$LN25DUM C(00,00,KDCHRPERLN) = [" "];
          ITEM KL$IDLE    C(00,00,10);
          ITEM KL$CMD2    C(02,00,30);
          ITEM KL$LN25EOL U(KDEOLWP,00,60) = [KDEOLN25];
          END 
  
        ARRAY KL$LN26 [0:0] S(KDWDSPERLN);
          BEGIN 
          ITEM KL$LN26DUM C(00,00,KDCHRPERLN) = [" "];
          ITEM KL$OPRMSG  C(01,00,50);
          ITEM KL$LN26EOL U(KDEOLWP,00,60) = [KDEOLN26];
          END 
  
        ITEM KL$END     U = 0;     # END OF K DISPLAY # 
  
      END     # END OF COMQKDS #
                                               CONTROL LIST;
