&DL      PROC  &P,0,&ADDR=,&FEATURES=,&QUEUES=,&ALTD=0,&ANSWER=,       X00000000
               &AUX1=,&AUX2=,&AUX3=,&AUX4=,&AUX5=,&AUX6=,&AUX7=,       X00000100
               &AUX8=,&AUX9=,&AUX10=,&AUX11=,&AUX12=,                  X00000200
               &CALL=,&INTERCPT=,&PLIMIT=,&QHOLD=,&PINTV=0,            X00000300
               &DICE=(ON,NEWLINE),&MSGWAIT=,&INHIBIT=                   00000400
XTERM    NAME  X                                                        00000500
TERM     NAME  0        . GENERATE TERMINAL CONTROL TABLE               00000600
.* .                                                                    00000700
.* . * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** 00000800
.* .                                                                  * 00000900
.* . THIS AND ALL RELATED PROGRAMS ARE PROPERTY OF                    * 00001000
.* .                                                                  * 00001100
.* . UNIVAC CONTAINING ITS CONFIDENTIAL INFORMATION                   * 00001200
.* .                                                                  * 00001300
.* . * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** 00001400
         GBL   &ST                 . LINE TYPE FROM LINE PROC           00001500
         GBL   &TS#TRMS            . TOTAL NUMBER TERMINALS             00001600
         GBL   &PGRP               . POLL GROUP CONTROL                 00001900
         GBL   &TN#GONE            . CHECK FOR FIRST AND LAST TCT       00002000
         GBL   &TN#UNAT            . UNATTENDED DEVICE FLAG FROM LINE   00002100
         GBL   &TN#SPED            . LINE SPEED FROM LINE PROC          00002200
         GBL   &TN#TTND,&TN#GCNT,&TN#GCUR                               00002300
         GBL   &TN#STAT            . STATICS ACCUMULATION               00002400
         GBL   &CDDI,&CRJE,&TN#GIDX,&TN#BTLN,&DCS,&CA                   00002500
         GBL   &CTCIYES,&CTCIPUT,&TCITRNS,&TCIRES,&TCIDOUT              00002600
         GBL   &TRANS                                                   00002700
         GBL   &XXXXX,&TTTTT,&GGGGG,&HHHHH                              00002800
         GBL   &MMMMM,&LLLLL,&PPPPP                                     00002900
         GBL   &CNTR                                                    00003000
         GBL   &VS9                . GLOBAL TO IDENTIFY VS9             00003005
         GBLA  &FIQ                                                     00003010
         GBLA  &IQCT               . INTERCEPT QUEUE COUNT              00003050
         LCL   &NHPONES,&NOPHON                                         00003100
         LCL   &PGFST              . FIRST TCT IN GROUP                 00003200
         LCL   &PG,&PGN            . POLL GROUP CONTROL                 00003300
         LCL   &TFS                                                     00003400
         LCL   &TSCREEN            . U100 SCREEN SIZE FLAG              00003500
         LCL   &SOM1004                                                 00003600
         LCL   &LASTDCT,&OUTDEV,&SSSSS,&PNDEX                           00003700
         LCL   &ZZZZZ                                                   00003800
         LCL   &TEN4J                                                   00003900
         LCL   &DC2000J                                                 00004000
         LCL   &TB#A,&TB#B,&TB#C                                        00004100
         LCL   &DCTCNT,&INDEX                                           00004200
         LCL   &TCSBP,&TNDEX       . TCS BYPASS FOR TCS AUX N+1 VALUE   00004300
         LCL   &NODICE,&FORM                                            00004400
         LCL   &TFCOM                                                   00004500
         LCL   &DC5                                                     00004600
         LCL   &TEN4                                                    00004700
         LCL   &BATCH                                                   00004800
&DC5     SET   0                                                        00004900
.* .                                                                    00005000
         CNOP  0,4                                                      00005100
         DO    '&CDDI'=''                                               00005200
&CDDI    SET   0                                                        00005300
         ENDO                                                           00005400
         DO    '&CRJE'=''                                               00005500
&CRJE    SET   0                                                        00005600
         ENDO                                                           00005700
         DO    '&TCITRNS'=''                                            00005800
&TCITRNS SET   0                                                        00005900
         ENDO                                                           00006000
         DO    '&TRANS'=''                                              00006100
&TRANS   SET   0                                                        00006200
         ENDO                                                           00006300
         DO    'TCIDOUT'=''                                             00006400
&TCIDOUT SET   0                                                        00006500
         ENDO                                                           00006600
&TS#TRMS SET   &TS#TRMS+1                                               00006700
&XXXXX   SET   &XXXXX+1            . REFERENCE BEGINNING OF TCT         00006800
TN#M&XXXXX EQU *                   . USED TO GENERATE DISPLACEMENTS     00006900
TN#T&TTTTT EQU *                   . BEGINNING OF THIS TCT              00007000
&TTTTT   SET   &TTTTT+1            . USED FOR FORWARD REFERENCE         00007100
&PGFST   SET   0                                                        00007200
&PG      SET   0                                                        00007300
&PGN     SET   0                                                        00007400
&TEN4    SET   0                                                        00007500
&BATCH   SET   0                                                        00007600
.* .                                                                    00007700
.* SET LOCAL SYMBOLS FOR TERMINAL GROUPS                                00007800
.* .                                                                    00007900
&DC5     SET   ('&FEATURES(1)'='DCT500')++('&FEATURES(1)'='TTY')++('&FEX00008000
               ATURES(1)'='DCT475')++('&FEATURES(1)'='DCT524')          00008100
&TEN4    SET   ('&FEATURES(1)'='1004')++('&FEATURES(1)'='9200')++('&FEAX00008200
               TURES(1)'='9300')                                        00008300
&BATCH   SET   ('&FEATURES(1)'='DCT2000')++('&FEATURES(1)'='DC929')++('X00008400
               &FEATURES(1)'='2780')++('&FEATURES(1)'='BSC')++('&FEATURX00008500
               ES(1)'='2780EM')++('&FEATURES(1)'='TN4E')++&TEN4         00008600
.*                                                                      00008700
&DL      EQU   *                                                        00008800
         DC    CL4'&DL '           . TERMINAL NAME                      00008900
&DL      TN#ENTRY TERM             . DESTINATION TABLE ENTRY            00009000
.* .                                                                    00009100
.* .     GENERATE BSET TABLE FOR RBP                                    00009200
.* .                                                                    00009300
         DO    &CRJE                                                    00009400
&DL      TN#BSE                                                         00009500
         ENDO                                                           00009600
.*                                                                      00009700
.*       CHECK FOR LAST TERMINAL NAME                                   00009800
.*                                                                      00009900
         DO    '&DL'='&TN#TTND'                                         00010000
         DC    AL2(0)              . LAST TERMINAL DISPLACEMENT         00010100
&PGN     SET   1                   . END OF LINE TERMINAL ENTRIES       00010200
         GOTO  .TBYP1                                                   00010300
         ENDO                                                           00010400
         DC    AL2(TN#T&TTTTT-TN#M&XXXXX) . DISPLACEMENT TO NEXT TERM   00010500
.TBYP1   LABEL                                                          00010600
.*                                                                      00010700
.*       SET POLL GROUP DISPLACEMENT ADDRESS REFERENCES AND VALUES      00010800
.*                                                                      00010900
&PG      SET   ('&FEATURES(1)'='U100')++('&FEATURES(1)'='U200')++('&FEA:00011000
               TURES(1)'='DCT1000')                                     00011100
.*                                                                      00011200
.*       CHECK FOR BEGINNING OF A POLL GROUP IF PG IS SET               00011300
.*                                                                      00011400
         DO    &PG                                                      00011500
&TN#GCNT SET   &TN#GCNT+1          . ADVANCE POLL GROUP COUNT           00011600
         DO    '&ADDR(1)'='&TN#GCUR'=0 . DO IF RIDS ARE EQUAL           00011700
&PGRP    SET   1                   . DISPLACEMENT CONTROL               00011800
&PGFST   SET   1                   . FIRST TCT FLAG                     00011900
TN#PG&GGGGG EQU 0                  . SET PREVIOUS POLL GROUP NOT LAST   00012000
&TN#GONE SET   1                   . SET SWITCH FOR MULTIPLE TCTS       00012100
TN#P&GGGGG EQU *-6                 . FORWARD GROUP REFERENCE            00012200
&GGGGG   SET   &GGGGG+1                                                 00012300
TN#C&HHHHH EQU &TN#GCNT            . TOTAL TCTS IN POLL GROUP           00012400
&TN#GCNT SET   0                   . RESET TCT COUNT IN POLL GROUP      00012500
&HHHHH   SET   &HHHHH+1                                                 00012600
TN#H&HHHHH EQU *-6                 . REF FOR BEGINNING OF GROUP         00012700
         ENDO                                                           00012800
&TN#GCUR SET   '&ADDR(1)'                                               00012900
         ENDO                                                           00013000
.*                                                                      00013100
.*       GENERATE FLAG AND STATUS BYTE                                  00013200
.*                                                                      00013300
&TFS     SET   X'00'                                                    00013400
         DO    ('&FEATURES(1)'='U100')**('&FEATURES(2)'='1024')         00013500
&TFS     SET   X'10'               .   SET FOR 64 COLUMN SCREEN         00013600
         ENDO                                                           00013700
         DO    ('&FEATURES(1)'='U200')**('&FEATURES(2)'='1536')         00013800
&TFS     SET   X'10'               .   SET FOR 64 COLUMN SCREEN         00013900
         ENDO                                                           00014000
         DO    '&FEATURES(1)'='U200'                                    00014100
&TFS     SET   X'40'++&TFS             . DEVICE IS A U200               00014200
         ENDO                                                           00014300
         DO    '&FEATURES(1)'='DCT1000'                                 00014400
&TFS     SET   X'80'               .   TERMINAL IS DCT1000              00014500
         ENDO                                                           00014600
         DC    AL1(&TFS++(&PGN*TN#TLAST)++(&TN#UNAT*TN#TUNAT))          00014700
         DO    &DC5=0                                                   00014800
         DC    AL1(0)              . DEFAULT INPUT DEVICE               00014900
         ENDO                                                           00015000
         DO    &DC5                                                     00015100
&ZZZZZ   SET   0                                                        00015200
         DO    4                                                        00015300
&ZZZZZ   SET   &ZZZZZ+1                                                 00015400
         DO    '&P(5+&ZZZZZ,1)'='PTR'                                   00015500
         GOTO  .TTYIDS                                                  00015600
         ENDO                                                           00015700
         DO    '&P(5+&ZZZZZ,1)'='TCS'                                   00015800
&ZZZZZ   SET   &ZZZZZ+1                                                 00015900
         GOTO  .TTYIDS                                                  00016000
         ENDO                                                           00016100
         ENDO                                                           00016200
         DC    AL1(0)              . NO INPUT DVC SELECTION             00016300
         GOTO  .TTYNID                                                  00016400
.TTYIDS  LABEL                                                          00016500
         DC    AL1(&ZZZZZ)         . DVC INDEX INPUT DVC SELECTION      00016600
.TTYNID  LABEL                                                          00016700
         ENDO                                                           00016800
.* ...                                                                  00016900
         DO    (&CDDI++&CRJE++&TCITRNS++&TCIDOUT++&CNTR)=0              00017000
         DC    Y(&QUEUES(3)-&DL)   . DISP TO LOW P-IORITY QUEUE         00017100
         DC    Y(&QUEUES(2)-&DL)   . DISP TO MED PRIORITY QUEUE         00017200
         DC    Y(&QUEUES(1)-&DL)   . DISP TO HIGH PRIORITY QUEUE        00017300
         DO    ('&INTERCPT'='YES')++('&INTERCPT'=''=0)
         DC    Y($&IQCT-&DL)       . DISPLACEMENT TO INTERCEPT QUEUE
         GOTO  .B                                                       00017900
         ENDO                                                           00018000
.NOICEPT LABEL                                                          00018100
         DC    H'0'                . NO INTERCEPT QUEUE                 00018200
.B       LABEL                                                          00018300
         ENDO                                                           00018400
         DO    &CDDI++&CRJE++&TCITRNS++&TCIDOUT++&CNTR                  00018500
         DC    F'0'                . RESERVED FOR ICAM USE              00018600
         DO    &TRANS=0                                                 00018700
         DC    F'0'                . RESERVED FOR ICAM USE              00018800
         ENDO                                                           00018900
         ENDO                                                           00019000
         DO    &TRANS=0                                                 00019100
         DC    H'0'                . SEQUENCE COUNT IN                  00019200
         DC    H'0'                . SEQUENCE COUNT OUT                 00019300
         DC    H'0'                . (UNUSED)                           00019400
         ENDO                                                           00019500
         DC    H'0'                . TOTAL MSGS. QUEUED THIS TERM.      00019600
.*                                                                      00019700
.*       GENERATE DISPLACEMENT TO AUX DEVICE CONTROL TABLE (DCT)        00019800
.*                                                                      00019900
         DO    &TRANS=0                                                 00020000
         DO    '&AUX1(1)'=''                                            00020100
         DC    AL2(0)              . NO DCT DISPLACEMENT                00020200
         GOTO  .LABELA                                                  00020300
         ENDO                                                           00020400
         DO    '&AUX1(1)'=''=0                                          00020500
         DC    AL2(TN#DC&TTTTT-TN#M&XXXXX) . DISP TO DCT                00021000
         ENDO                                                           00021100
.LABELA  LABEL                                                          00021200
         DO    &TEN4                                                    00021300
         DC    AL1(TN#L&FEATURES(1))  . 1004 RDH DEVICE TYPE            00021400
&TEN4J   SET   2*(&TN#SPED>10000)                                       00021500
&TEN4J   SET   &TEN4J++('&AUX1'='(PCH)')                                00021600
&TEN4J   SET   &TEN4J++('&FEATURES(1)'='9200')*/2                       00021700
&TEN4J   SET   &TEN4J++('&FEATURES(1)'='9300')*/2                       00021800
         DC    AL1(&TEN4J)                                              00021900
         GOTO  .TBYPA2                                                  00022000
         ENDO                                                           00022100
         ENDO                                                           00022200
         DO    '&ADDR(1)'=''                                            00022300
         DC    XL1'00'             . RID                                00022400
         GOTO  .SKPRID                                                  00022500
         ENDO                                                           00022600
         DC    XL1'&ADDR(1)'       . RID                                00022700
.SKPRID  LABEL                                                          00022800
         DO    '&ADDR(2)'=''                                            00022900
         DC    XL1'00'             . SID                                00023000
         GOTO  .TBYPA2                                                  00023100
         ENDO                                                           00023200
         DC    XL1'&ADDR(2)'       . SID                                00023300
.TBYPA2  LABEL                                                          00023400
         DO    &TRANS=0                                                 00023500
         DO    &TN#STAT                                                 00023600
         DC    Y(TN#ST&XXXXX-TN#M&XXXXX) . DISP TO STAT ACCUM AREA      00023700
         GOTO  .PASS1                                                   00023800
         ENDO                                                           00023900
         DC    Y(0)                . NO STATISTICS                      00024000
.PASS1   LABEL                                                          00024100
         ENDO                                                           00024200
         DC    AL2(&TN#GIDX)       . TCT INDEX                          00024300
&TN#GIDX SET   &TN#GIDX+1          . ADVANCE COUNT                      00024400
         DO    &TRANS=0                                                 00024500
.*  GENERATE NUMBER DCTS                                                00024600
&DCTCNT  SET   0                   . SET NUM DCT ZERO                   00024700
&TCSBP   SET   0                   . TCS AUX N VALUE TO BE PROCESSED    00024800
&INDCT   DO    12                                                       00024900
         DO    &TCSBP                                                   00025000
&TCSBP   SET   0                                                        00025100
         GOTO  .SKIPNP1                                                 00025200
         ENDO                                                           00025300
         DO    ('&P(5+&INDCT,1)'='TCS')                                 00025400
&TCSBP   SET   1                   . FORCE BYPASS FOR TCS AUX N+1 VALUE 00025500
         ENDO                                                           00025600
         DO    ('&P(5+&INDCT,1)'='')                                    00025700
         GOTO  .ARNDCT                                                  00025800
         ENDO                                                           00025900
.SKIPNP1 LABEL                                                          00026000
&DCTCNT  SET   &DCTCNT+1                                                00026100
         ENDO                                                           00026200
.ARNDCT  LABEL                                                          00026300
         DO    (&DCTCNT=0)**(&ST>25)  COUNT=ZERO ** TYPE=BATCH          00026400
&DCTCNT  SET   1                   . SET COUNT TO 1 FOR BATCH TERMS     00026500
         ENDO                                                           00026600
         DC    AL1(&DCTCNT)        . NUMBER DEVICE CONTROL TABLES       00026700
         DO    '&INHIBIT'='YES'                                         00026705
         DC    AL1(TN#TININ)      . FLAG 3 SET INHIBIT INPUT
         GOTO  .INHBYPS
         ENDO
         DC    XL1'0'              . RESERVED FOR ICAM                  00026800
.INHBYPS LABEL                                                          00026805
         ENDO                                                           00026900
         DC    Y(TN#X&MMMMM-TN#M&XXXXX) . DISP TO LINE CONTROL TABLE    00027000
         DO    &TRANS=0                                                 00027100
         DO    '&CALL'=''                                               00027200
         DC    Y(0)                . NO PHONE # GIVEN                   00027300
         ENDO                                                           00027400
         DO    '&CALL'=''=0                                             00027500
         DC    Y(TPHDIR&XXXXX-TN#M&XXXXX) . DISP TO PHONE DIRECTORY     00027600
         ENDO                                                           00027700
         DO    '&ANSWER(1)'=''                                          00027800
         DC    Y(0)                . NO ANSWER BACK GIVEN               00027900
         GOTO  .LBLA                                                    00028000
         ENDO                                                           00028100
         DC    Y(ANSBCK&XXXXX-TN#M&XXXXX) . DISP TO ANSWER BACK         00028200
.LBLA    LABEL                                                          00028300
         ENDO                                                           00028400
.*                                                                      00028500
.*       GENERATE A WORK AREA IF DEVICE IS A UNISCOPE OR DCT1000        00028600
.*                                                                      00028700
         DO    &PG                                                      00028800
.* .                                                                    00028900
.*       GENERATE POLL GROUP DISPLACEMENTS                              00029000
.* .                                                                    00029100
         DO    &PGRP=1                                                  00029200
         DC    Y(TN#P&GGGGG-TN#H&HHHHH) . POLL GROUP DISP               00029300
&PGRP    SET   0                   . DISPLACEMENT CONTROL               00029400
         GOTO  .LABELB                                                  00029500
         ENDO                                                           00029600
         DC    AL2(TN#M&XXXXX-TN#H&HHHHH) . POLL GROUP DISPLACEMENT     00029700
.LABELB  LABEL                                                          00029800
.* .                                                                    00029900
.*       GEN POLL INTERVAL IN 1 SEC INTERVALS FROM 10TH SEC PARAMETER   00030000
.* .                                                                    00030100
         DO    &PINTV<10                                                00030200
         DC    AL1(1)              . ONE SEC POLLING INTERVAL           00030300
         DC    AL1(1)              . ONE SEC POLLING INTERVAL           00030400
         ENDO                                                           00030500
         DO    &PINTV>9                                                 00030600
         DC    AL1(&PINTV//10)     . POLLING INTERVAL IN SECONDS        00030700
         DC    AL1(&PINTV//10)     . POLLI5G INTERVAL IN SECONDS        00030800
         ENDO                                                           00030900
         DC    AL2(0)              . EXTENDED SEQUENCE TIME REMAINING   00031000
.* .                                                                    00031100
.*       SET POLL GROUP TERM COUNT IF DCT500/DCT1000/U100               00031200
.* .                                                                    00031300
         DO    &PG                                                      00031400
         DC    AL1(TN#C&HHHHH)     . NUMBER TCT'S IN THIS GROUP         00031500
         ENDO                                                           00031600
         DO    &PG=0                                                    00031700
         DC    AL1(0)              . NO POLL GROUP FOR THIS TCT         00031800
         ENDO                                                           00031900
.* .                                                                    00032000
         DC    AL1(0)              . UNUSED                             00032100
         ENDO                                                           00032200
.*                                                                      00032300
.*       GENERATE A WORK AREA IF DEVICE IS A DCT500 OR A TTY            00032400
.*                                                                      00032500
         DO    &DC5                                                     00032600
         DO    '&TN#SPED'=''                                            00032700
         PNOTE 'P','NO LINE SPEED SPECIFIED FOR DCT500 IN LINE PROC'    00032800
         ENDO                                                           00032900
         DO    &TN#SPED=300                                             00033000
         DC    XL1'25'             . FORM FEED NULLS                    00033100
         DC    XL1'44'             . PRINTER/TAPE MOTOR-ON NULLS        00033200
         DC    XL1'0F'             . CARRIAGE RETURN NULLS              00033300
         DC    XL1'01'             . LINE FEED NULLS                    00033400
         GOTO  .TSPBYP                                                  00033500
         ENDO                                                           00033600
         DC    XL1'13'             . FORM FEED NULLS                    00033700
         DC    XL1'22'             . PRINTER/TAPE MOTOR-ON NULLS        00033800
         DC    XL1'03'             . CARRIAGE RETURN NULLS              00033900
         DC    XL1'01'             . LINE FEED NULLS                    00034000
.TSPBYP  LABEL                                                          00034100
         DO    '&MSGWAIT(1)'=''                                         00034200
         DC    CL4'/CMW'           . /CMW = MSG FOR CMPTR MSG WAIT      00034300
         ENDO                                                           00034400
         DO    ('&MSGWAIT(1)'='')=0                                     00034500
         DC    CL4'&MSGWAIT(1)'    . USER-GIVEN MSG FOR CMPTR MSG WAIT  00034600
         ENDO                                                           00034700
         ENDO                                                           00034800
.* .                                                                    00034900
.*       GENERATE DCT2000 WORK AREA IF DCT2000 OR 9 TO 9 COMPUTER MODE  00035000
.* .                                                                    00035100
         DO    '&FEATURES(1)'='DCT2EM'                                  00035200
         DO    &TN#BTLN=0                                               00035300
         PNOTE 'P','NO DCT2000 WORK AREA LENGTH SPECIFICATION'          00035400
         DC    AL2(0)              . WORK AREA LENGTH FOR PATCHING      00035500
         GOTO  .TBYPD2                                                  00035600
         ENDO                                                           00035700
         DC    AL2(&TN#BTLN)       . WORK AREA LENGTH - 9 TO 9 MODE     00035800
.TBYPD2  LABEL                                                          00035900
         DO    '&FEATURES(2)'='ATTENDED'                                00036000
         DC    AL1(3)              . FLAG BYTE                          00036100
         GOTO  .D2BYPO                                                  00036200
         ENDO                                                           00036300
         DC    AL1(1)              . FLAG BYTE                          00036400
.D2BYPO  LABEL                                                          00036500
         DC    AL1(0)              . RESERVED                           00036600
         DC    AL4(0)              . RESERVED                           00036700
         ENDO                                                           00036800
.* .                                                                    00036900
         DO    '&FEATURES(1)'='DCT2000'                                 00037000
         DC    AL2(&TN#BTLN)       . DCT2000 WORK AREA LENGTH           00037100
         DC    AL1(0)              . FLAG BYTE                          00037200
&DC2000J SET   (('&FEATURES(2)'='128')++('&FEATURES(3)'='128'))*/2      00037300
&DC2000J SET   &DC2000J++(('&FEATURES(2)'='SBLK')++('&FEATURES(3)'='SBL:00037400
               K'))*/1                                                  00037500
&DC2000J SET   &DC2000J++('&AUX1(1)'='PCH')                             00037600
         DC    AL1(&DC2000J)      . DCT2000 FEATURES                    00037700
         DC    AL4(0)              . RESERVED                           00037800
         ENDO                                                           00037900
.* .                                                                    00038000
.*       GENERATE 1004/9200/9300 WORK AREA                              00038100
.* .                                                                    00038200
         DO    &TEN4                                                    00038300
         DO    ('&FEATURES(1)'='1004')++('&FEATURES(1)'='9300')         00038400
         DC    AL1(132)            . 1004 PRINT LINE LENGTH             00038500
         GOTO  .TBYP9                                                   00038600
         ENDO                                                           00038700
         DO    '&FEATURES(1)'='9200'                                    00038800
         DO    '&FEATURES(2)'=''                                        00038900
         DC    AL1(96)             . 9200 PRINT LINE LENGTH             00039000
         GOTO  .TBYP9                                                   00039100
         ENDO                                                           00039200
         DC    AL1(&FEATURES(2))   . PRINT POSITIONS                    00039300
         ENDO                                                           00039400
.TBYP9   LABEL                                                          00039500
         DO    '&DCS'=''                                                00039600
&DCS     SET   0                                                        00039700
         ENDO                                                           00039800
&SOM1004 SET   X'40'*&DCS+X'80'                                         00039900
         DO    '&FEATURES(3)'='DLT1'                                    00040000
&SOM1004 SET   &SOM1004-X'40'                                           00040100
         ENDO                                                           00040200
         DC    AL1(&SOM1004)       . 1004 START-OF-MESSAGE CHARACTER    00040300
.* .                                                                    00040400
.* GENERATE 1004/9200/9300 SITE ID                                      00040500
.* .                                                                    00040600
ANSBCK&XXXXX EQU *                                                      00040700
         DC    YL1(&ANSWER(1))     . NR OF CHARS IN ANSWER BACK         00040800
         DO    '&ANSWER(1)'=''                                          00040900
         DC    CL5' '              . FILL (ANSWER NOT SPECIFIED)        00041000
         GOTO  .TN4END                                                  00041100
         ENDO                                                           00041200
         DO    '&ANSWER(2)'='X'                                         00041300
         DC    XL5'&ANSWER(3)'     . SITE ID                            00041400
         GOTO  .TN4END                                                  00041500
         ENDO                                                           00041600
         DO    '&ANSWER(2)'='C'                                         00041700
         DC    CL5'&ANSWER(3)'     . SITE ID                            00041800
         GOTO  .TN4END                                                  00041900
         ENDO                                                           00042000
         DC    CL5' '                                                   00042100
         GOTO  .TN4END                                                  00042200
         ENDO                                                           00042300
.* .                                                                    00042400
.* GENERATE 1004 EMULATION WORK AREA                                    00042500
.* .                                                                    00042600
         DO    '&FEATURES(1)'='TN4E'                                    00042700
         DC    Y(0)                . COUNTER                            00042800
         DO    '&DCS'=''                                                00042900
&DCS     SET   0                                                        00043000
&CA      SET   1                                                        00043100
         ENDO                                                           00043200
         DO    '&CA'=''                                                 00043300
&CA      SET   0                                                        00043400
&DCS     SET   1                                                        00043500
         ENDO                                                           00043600
         DO    &DCS                                                     00043700
         DC    XL1'80'             . SOM FOR SENDING                    00043800
         DC    XL1'D5'             . EOM FOR SENDING                    00043900
         ENDO                                                           00044000
         DO    &CA                                                      00044100
         DC    XL1'40'             . OUTPUT SOM                         00044200
         DC    YL1(X'95'-(X'40'*&VS9)) . OUTPUT EOM                     00044300
         ENDO                                                           00044400
         DC    AL4(TN#WC&LLLLL)    . LARGE OUTPUT LB ADDRESS            00044500
         GOTO  .TN4END                                                  00044600
         ENDO                                                           00044700
.*  .                                                                   00044800
.*       GENERATE BSC WORK AREA                                         00044900
.*  .                                                                   00045000
         DO    ('&FEATURES(1)'='2780')++('&FEATURES(1)'='2780EM')++('&FX00045100
               EATURES(1)'='BSC')                                       00045200
&TB#A    SET   80                                                       00045300
         DO    '&FEATURES(2)'=''=0                                      00045400
&TB#A    SET   &FEATURES(2)                                             00045500
         ENDO                                                           00045600
         DC    AL2(&TB#A)          . MAX OUTPUT RECORD LENGTH           00045700
&TB#A    SET   200                                                      00045800
         DO    '&FEATURES(7)'=''=0                                      00045900
&TB#A    SET   &FEATURES(7)                                             00046000
         GOTO  .BSCBY1                                                  00046100
         ENDO                                                           00046200
         DO    '&FEATURES(3)'=''=0                                      00046300
         DO    '&FEATURES(3)'='MULTI'                                   00046400
&TB#A    SET   400                                                      00046500
         GOTO  .BSCBY1                                                  00046600
         ENDO                                                           00046700
&TB#B    SET   &FEATURES(3)                                             00046800
         DO    &TB#B>2                                                  00046900
&TB#A    SET   400                                                      00047000
         ENDO                                                           00047100
         ENDO                                                           00047200
.BSCBY1  LABEL                                                          00047300
         DC    AL2(&TB#A)          . MAX TEXT LENGTH                    00047400
&TB#A    SET   2                                                        00047500
         DO    '&FEATURES(3)'='MULTI'                                   00047600
&TB#A    SET   7                                                        00047700
         GOTO  .BSCBY2                                                  00047800
         ENDO                                                           00047900
         DO    '&FEATURES(3)'=''=0                                      00048000
&TB#A    SET   &FEATURES(3)                                             00048100
         ENDO                                                           00048200
.BSCBY2  LABEL                                                          00048300
         DC    AL1(&TB#A)          . MAX RECORDS PER BLOCK              00048400
&TB#A    SET   X'01'                                                    00048500
&TB#B    SET   0                                                        00048600
&TB#C    SET   0                                                        00048700
         DO    '&FEATURES(4)'='PRIMARY'                                 00048800
&TB#A    SET   X'02'                                                    00048900
         ENDO                                                           00049000
         DO    '&FEATURES(1)'='2780EM'                                  00049100
&TB#B    SET   X'04'                                                    00049200
         ENDO                                                           00049300
         DO    '&FEATURES(1)'='BSC'                                     00049400
&TB#B    SET   X'08'                                                    00049500
         ENDO                                                           00049600
&TB#C    SET   &TB#A++&TB#B                                             00049700
&TB#B    SET   0                                                        00049800
&TB#A    SET   0                                                        00049900
         DO    '&FEATURES(5)'='TRANSPARENT'                             00050000
&TB#B    SET   X'80'                                                    00050100
         ENDO                                                           00050200
         DO    '&FEATURES(1)'='2780'                                    00050300
         DO    ('&FEATURES(8)'='MODEL1')++('&FEATURES(8)'='MODEL3')     00050400
&TB#A    SET   X'10'                                                    00050500
         GOTO  .BSCBY3                                                  00050600
         ENDO                                                           00050700
         DO    '&FEATURES(8)'='MODEL4'                                  00050800
&TB#A    SET   X'20'                                                    00050900
         GOTO  .BSCBY3                                                  00051000
         ENDO                                                           00051100
         ENDO                                                           00051101
&TB#A    SET   X'30'                                                    00051200
.BSCBY3  LABEL                                                          00051400
&TB#C    SET   &TB#C++&TB#A++&TB#B                                      00051500
         DC    AL1(&TB#C)          . FLAGS                              00051600
&TB#A    SET   80                                                       00051700
         DO    '&FEATURES(6)'=''=0                                      00051800
&TB#A    SET   &FEATURES(6)                                             00051900
         ENDO                                                           00052000
         DC    AL2(&TB#A)          . TRANSPARENT INPUT TEXT LENGTH      00052100
         ENDO                                                           00052200
.TN4END  LABEL                                                          00052300
         DO    '&FEATURES(1)'='NTR'                                     00052400
         DC    2F'0'               . NTR WORKAREA                       00052500
         ENDO                                                           00052600
.*                                                                      00052700
.*       BUILD TN#TFLG2                                                 00052800
.*                                                                      00052900
&NODICE  SET   0                                                        00053000
&FORM    SET   0                                                        00053100
&N       DO    N'&DICE                                                  00053200
         DO    '&DICE(&N)'='OFF'                                        00053300
&NODICE  SET   X'80'                                                    00053400
         ENDO                                                           00053500
         DO    '&DICE(&N)'='FORMS'                                      00053600
&FORM    SET   X'10'                                                    00053700
         ENDO                                                           00053800
         ENDO                                                           00053900
         DO    &PG=0                                                    00054000
         DO    (('&FEATURES(1)'='DCT524')**(&ST=2))                     00054100
         DC    AL1(&NODICE++&FORM++1)  . FLAGS 2                        00054200
         GOTO  .LABELC                                                  00054300
         ENDO                                                           00054400
         DC    AL1(&NODICE++&FORM)  . FLAGS 2                           00054500
         GOTO  .LABELC                                                  00054600
         ENDO                                                           00054700
&TSCREEN SET   0                  . ASSUME SCREEN NOT 960               00054800
         DO    ('&FEATURES(3)'='960')++(('&FEATURES(1)'='U100')**('&FEAX00054900
               TURES(3)'=''))                                           00055000
&TSCREEN SET   1                                                        00055100
         ENDO                                                           00055200
&TFCOM   SET   &NODICE++&FORM                                           00055300
         DO    &TN#GONE=1          . ONLY ONE TCT GIVEN                 00055400
         DC    AL1(&TFCOM++(&PGFST*(X'40'++TN#PG&GGGGG))) . FLAG 2      00055500
&PGFST   SET   0                                                        00055600
         GOTO  .LABELC                                                  00055700
         ENDO                                                           00055800
         DC    AL1(&TFCOM++TN#TFTPG++TN#PG&GGGGG) . FLAG 2              00055900
.LABELC  LABEL                                                          00056000
         DC    AL3(0)              . TTT ADDR IF TCI NETWORK            00056100
         DO    &TRANS=0                                                 00056150
         DC    A(&ALTD)            . A(ALT DESTINATION)
         ENDO
.*                                                                      00056200
.*       FOLLOWING CODE SETS POLL GROUP DISPL & FLAGS                   00056300
.*                                                                      00056400
         DO    &PGN*&PG                                                 00056500
TN#PG&GGGGG EQU TN#TLPG            . SET LAST POLL GROUP FLAG           00056600
TN#C&HHHHH EQU &TN#GCNT+1          . TOTAL TCTS IN POLL GROUP           00056700
TN#P&GGGGG EQU TN#TN&LLLLL                                              00056800
&GGGGG   SET   &GGGGG+1                                                 00056900
&HHHHH   SET   &HHHHH+1                                                 00057000
         ENDO                                                           00057100
.*                                                                      00057200
.* GENERATE THE DEVICE CONTROL TABLES (DCT)                             00057300
.*                                                                      00057400
         DO    '&AUX1'=''                                               00057800
         GOTO  .SKIPDCT                                                 00057900
         ENDO                                                           00058000
.* .                                                                    00058100
TN#DC&TTTTT DS 0F                  . START OF DEVICE CT'S               00058200
.*  .                                                                   00058300
.AUXDCT  LABEL                                                          00058400
&TCSBP   SET   0                   . TCS AUX N VALUE TO BE PROCESSED    00058500
&LNDX    DO    12                                                       00058600
&INDEX   SET   &LNDX                                                    00058700
&PNDEX   SET   &INDEX+5                                                 00058800
         DO    &TCSBP                                                   00058900
&TCSBP   SET   0                                                        00059000
         GOTO  .SKIPTCS                                                 00059100
         ENDO                                                           00059200
&LASTDCT SET   ('&P(6+&INDEX,1)'='')*X'80'                              00059300
         DO    '&P(&PNDEX,1)'='TCS'                                     00059400
&LASTDCT SET   ('&P(7+&INDEX,1)'='')*X'80'                              00059500
         ENDO                                                           00059600
         DO    ('&FEATURES(1)'='U100')++('&FEATURES(1)'='U200')         00059700
         DC    XL1'&P(&PNDEX,2)'   . UNISCOPE AUX DEVICE DID            00059800
         DO    '&P(&PNDEX,1)'='COP'                                     00059900
         DC    AL1(TN#DCOP)        . DEVICE TYPE IS COP                 00060000
         GOTO  .DCTINDX                                                 00060100
         ENDO                                                           00060200
         DO    '&P(&PNDEX,1)'='TP'                                      00060300
         DC    AL1(TN#DNIP)        . DEVICE TYPE IS NIP                 00060400
         GOTO  .DCTINDX                                                 00060500
         ENDO                                                           00060600
         DO    '&P(&PNDEX,1)'='TCS'                                     00060700
&TCSBP   SET   1                   . FORCE BYPASS FOR TCS AUX N+1 VALUE 00060800
         DC    AL1(TN#DTCSW)       . DEVICE TYPE IS TCS WRITE           00060900
         DC    AL1(&INDEX)         . INDEX OF THIS DCT                  00061000
         DC    XL1'00'             . DEVICE FLAGS                       00061100
&INDEX   SET   &INDEX+1                                                 00061200
&TNDEX   SET   &PNDEX+1                                                 00061300
         DO    '&P(&TNDEX,1)'=''=0                                      00061400
         PNOTE 'P','AUX N+1 VALUE INVALID FOR TCS'                      00061500
         GOTO  .SKIPDCT                                                 00061600
         ENDO                                                           00061700
         DC    XL1'&P(&PNDEX,3)'   . UNISCOPE AUX DEVICE DID            00061800
         DC    AL1(TN#DTCSR)       . DEVICE TYPE IS TCS READ            00061900
         GOTO  .DCTINDX                                                 00062000
         ENDO                                                           00062100
         PNOTE 'P','INVALID UNISCOPE AUX DEVICE'                        00062200
         GOTO  .SKIPDCT                                                 00062300
         ENDO                                                           00062400
         DO    '&P(&PNDEX,1)'='PRNTR'                                   00062500
         DO    '&FEATURES(1)'='DCT1000'                                 00062600
         DC    XL1'7F'             . DCT1000 AUXILIARY PRINTER DID      00062700
         ENDO                                                           00062800
         DO    &DC5                                                     00062900
         GOTO  .BAD5AUX                                                 00063000
         ENDO                                                           00063100
         DC    AL1(TN#DPRT)        . DEVICE TYPE IS PRINTER             00063200
         GOTO  .DCTINDX                                                 00063300
         ENDO                                                           00063400
         DO    &DC5                                                     00063500
         DO    '&P(&PNDEX,1)'='TCS'                                     00063600
         DC    XL1'75'             . DCT524 TCS WRITE HEAD DID          00063700
         DC    AL1(TN#DTCSW)       . DEVICE TYPE TCS WRITE              00063800
         DC    AL1(&INDEX)         . INDEX OF THIS DCT                  00063900
         DC    XL1'00'             . DEVICE FLAGS                       00064000
&INDEX   SET   &INDEX+1                                                 00064100
         DC    XL1'76'             . DCT524 TCS READ HEAD               00064200
         DC    AL1(TN#DTCSR)       . DEVICE TYPE TCS READ               00064300
         GOTO  .DCTINDX                                                 00064400
         ENDO                                                           00064500
         ENDO                                                           00064600
         DO    '&P(&PNDEX,1)'='PTP'                                     00064700
         DO    '&FEATURES(1)'='DCT1000'                                 00064800
         DC    XL1'7D'             . DCT1000 TAPE PUNCH DID             00064900
         ENDO                                                           00065000
         DO    &DC5                                                     00065100
         DC    XL1'75'             . DCT500 TAPE PUNCH/WRITE DID        00065200
         ENDO                                                           00065300
         DC    AL1(TN#DPTP)        . DEVICE TYPE IS PAPER TAPE PUNCH    00065400
         GOTO  .DCTINDX                                                 00065500
         ENDO                                                           00065600
         DO    '&P(&PNDEX,1)'='PTR'                                     00065700
         DO    '&FEATURES(1)'='DCT1000'                                 00065800
         DC    XL1'7C'             . DCT1000 TAPE READER DID            00065900
         ENDO                                                           00066000
         DO    &DC5                                                     00066100
         DC    XL1'76'             . DCT500 TAPE READ DID               00066200
         ENDO                                                           00066300
         DC    AL1(TN#DPTR)        . DEVICE TYPE IS PAPER TAPE READ     00066400
         GOTO  .DCTINDX                                                 00066500
         ENDO                                                           00066600
         DO    &DC5                                                     00066700
.BAD5AUX LABEL                                                          00066800
         PNOTE 'P','INVALID DCT500/TTY AUX DEVICE'                      00066900
         GOTO  .DCTINDX                                                 00067000
         ENDO                                                           00067100
         DO    '&P(&PNDEX,1)'='RDR'                                     00067200
         DC    XL1'7A'             . DCT1000 CARD READER DID            00067300
         DC    AL1(TN#DCDR)        . DEVICE TYPE IS CARD READER         00067400
         GOTO  .DCTINDX                                                 00067500
         ENDO                                                           00067600
         DO    '&P(&PNDEX,1)'='PCH'                                     00067700
         DC    XL1'7B'             . DCT1000 CARD PUNCH DID             00067800
         DC    AL1(TN#DCDP)        . DEVICE TYPE IS CARD PUNCH          00067900
         GOTO  .DCTINDX                                                 00068000
         ENDO                                                           00068100
         PNOTE 'P','INVALID DCT1000 AUX DEVICE'                         00068200
         GOTO  .SKIPDCT                                                 00068300
.DCTINDX LABEL                                                          00068400
.INDXDCT LABEL                                                          00068500
         DC    AL1(&INDEX)         . INDEX OF THIS DCT                  00068600
         DC    AL1(&LASTDCT)       . DEVICE FLAGS                       00068700
.SKIPTCS LABEL                                                          00068800
         DO    &LASTDCT>0                                               00068900
         GOTO  .SKIPDCT                                                 00069000
         ENDO                                                           00069100
         ENDO                                                           00069200
.SKIPDCT LABEL                                                          00069300
         DO    '&ANSWER(1)'=''                                          00069400
         GOTO  .LBLB                                                    00069500
         ENDO                                                           00069600
         DO    &TEN4                                                    00069700
         GOTO  .LBLB                                                    00069800
         ENDO                                                           00069900
ANSBCK&XXXXX EQU *                                                      00070000
         DC    YL1(&ANSWER(1))     . # CHARS IN ANSWERBACK              00070100
         DO    '&ANSWER(2)'='C'                                         00070200
         DC    C'&ANSWER(3)'                                            00070300
         ENDO                                                           00070400
         DO    '&ANSWER(2)'='X'                                         00070500
         DC    X'&ANSWER(3)'                                            00070600
         ENDO                                                           00070700
.LBLB    LABEL                                                          00070800
         DO    '&CALL'=''=0                                             00070900
TPHDIR&XXXXX EQU *                                                      00071000
         DC    YL1(TNPHN&XXXXX)    . # OF PHONE NUMBERS IN DIRECTORY    00071100
&NOPHON  SET   0                                                        00071200
&NPHONES DO    5                                                        00071300
         DO    '&CALL(&NPHONES)'=''=0                                   00071400
POLD&PPPPP EQU *                                                        00071500
         DC    YL1(PNEW&PPPPP-POLD&PPPPP-1)                             00071600
         DC    C'&CALL(&NPHONES)'  . PHONE #                            00071700
PNEW&PPPPP EQU *                                                        00071800
&PPPPP   SET   &PPPPP+1                                                 00071900
&NOPHON  SET   &NOPHON+1                                                00072000
         ENDO                                                           00072100
         ENDO                                                           00072200
TNPHN&XXXXX EQU &NOPHON                                                 00072300
         ENDO                                                           00072400
         DO    &TN#STAT                                                 00072500
TN#ST&XXXXX EQU *                                                       00072600
         DC    6H'0'               . STATISTICS ACCUMULATION AREA       00072700
         ENDO                                                           00072800
         DO    '&INTERCPT'='YES'                                        00072850
         DO    &FIQ=0
TN#Q&LLLLL EQU *
&FIQ     SETA  1
         ENDO
$&IQCT   TN#IQ TYPE=TERM
&IQCT    SETA  &IQCT+1
         ENDO
         DO    ('&INTERCPT'=''=0)**('&INTERCPT'='YES'=0)
         DO    &FIQ=0
TN#Q&LLLLL EQU *
&FIQ     SETA  1
         ENDO
$&IQCT   TN#IQ DISC=&INTERCPT,TYPE=TERM
&IQCT    SETA  &IQCT+1
         ENDO
         END                                                            00072900
