      SUBROUTINE ADJUS0(FROM,TO)
      INTEGER FROM,TO
      COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0
      INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0
      COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256)
      INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0
      COMMON /CTXT/TXTAA0(512)
      INTEGER TXTAA0
      COMMON /CFILE/SAVFI0(512)
      INTEGER SAVFI0
      COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520)
      INTEGER LASTB0,FENCE0,FREEA0,LINE00
      INTEGER BUFAA0
      INTEGER PREVL0(1),NEXTL0(1)
      INTEGER GLOBM0(1),LINEL0(1)
      INTEGER * 4 SEEKA0(1)
      INTEGER MARKN0(1)
      COMMON /CUNDO/LIMBO0,LIMCN0
      INTEGER LIMBO0,LIMCN0
      COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0
      INTEGER SCRAA0
      INTEGER * 4 SCREN0
      INTEGER SCRNA0
      INTEGER LOSTL0
      COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV
     *CO0
      INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0
      INTEGER PEEKC0,SAVCO0(512)
      COMMON /CMARK/SAVKN0
      INTEGER SAVKN0
      COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O
     *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0
      INTEGER TABST0,TABSU0,UNPRI0
      INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL
     *OBA0
      COMMON /CTERM/TERMT0
      INTEGER TERMT0
      COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC
     *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,
     *SCLEN0,SCTOP0,SCLIN0
      INTEGER SCREE0
      INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO
     *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51)
      COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0
      INTEGER UNIXM0
      INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0
      COMMON /CTTY/TTYST0
      INTEGER TTYST0
      INTEGER I,L1,L2,HW
      INTEGER HWINS0
      EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1)
     *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1)
     *,BUFAA0(7))
      IF((FROM.LT.TOPLN0))GOTO 10001
      IF((TO.GT.TOPLN0+(BOTRO0-TOPRO0)))GOTO 10001
      GOTO 10000
10001   I=1
        GOTO 10004
10002   I=I+(1)
10004   IF((I.GT.SCLEN0))GOTO 10003
        IF((SCLIN0(I).NE.-1))GOTO 10003
        GOTO 10002
10003   IF((I.GT.SCLEN0))GOTO 10005
          L1=SCLIN0(I)+SCTOP0-1
          GOTO 10006
10005     L1=LASTL0+1
10006   I=SCLEN0
        GOTO 10009
10007   I=I-(1)
10009   IF((I.LE.0))GOTO 10008
        IF((SCLIN0(I).NE.-1))GOTO 10008
        GOTO 10007
10008   IF((I.LE.0))GOTO 10010
          L2=SCLIN0(I)+SCTOP0-1
          GOTO 10011
10010     L2=0
10011   HW=HWINS0(0)
        IF((TO-FROM.LE.BOTRO0-TOPRO0))GOTO 10012
          TOPLN0=TO-(BOTRO0-TOPRO0)
          GOTO 10013
10012     IF((HW.NE.1))GOTO 10014
          IF((FROM.LT.L1))GOTO 10014
          IF((TO.GT.L2))GOTO 10014
            TOPLN0=(L1+L2+TOPRO0-BOTRO0)/2
            GOTO 10015
10014       IF((HW.NE.1))GOTO 10016
            IF((FROM.GE.L1))GOTO 10016
            IF((L1-FROM.GE.(BOTRO0-TOPRO0+1)/2))GOTO 10016
              TOPLN0=FROM
              GOTO 10017
10016         IF((HW.NE.1))GOTO 10018
              IF((TO.LE.L2))GOTO 10018
              IF((TO-L2.GE.(BOTRO0-TOPRO0+1)/2))GOTO 10018
                TOPLN0=TO-(BOTRO0-TOPRO0)
                GOTO 10019
10018           TOPLN0=(FROM+TO+TOPRO0-BOTRO0)/2
10019       CONTINUE
10017     CONTINUE
10015   CONTINUE
10013   IF((HW.NE.1))GOTO 10020
        IF((TOPLN0+(BOTRO0-TOPRO0).LE.LASTL0))GOTO 10020
          TOPLN0=LASTL0-(BOTRO0-TOPRO0)
10020   IF((TOPLN0.GE.1))GOTO 10021
          TOPLN0=1
10021   IF((FIRSU0.LE.TOPLN0))GOTO 10022
          FIRSU0=TOPLN0
10022 CONTINUE
10000 RETURN
      END
      INTEGER FUNCTION HWINS0(DUMMY)
      INTEGER DUMMY
      COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0
      INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0
      COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256)
      INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0
      COMMON /CTXT/TXTAA0(512)
      INTEGER TXTAA0
      COMMON /CFILE/SAVFI0(512)
      INTEGER SAVFI0
      COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520)
      INTEGER LASTB0,FENCE0,FREEA0,LINE00
      INTEGER BUFAA0
      INTEGER PREVL0(1),NEXTL0(1)
      INTEGER GLOBM0(1),LINEL0(1)
      INTEGER * 4 SEEKA0(1)
      INTEGER MARKN0(1)
      COMMON /CUNDO/LIMBO0,LIMCN0
      INTEGER LIMBO0,LIMCN0
      COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0
      INTEGER SCRAA0
      INTEGER * 4 SCREN0
      INTEGER SCRNA0
      INTEGER LOSTL0
      COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV
     *CO0
      INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0
      INTEGER PEEKC0,SAVCO0(512)
      COMMON /CMARK/SAVKN0
      INTEGER SAVKN0
      COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O
     *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0
      INTEGER TABST0,TABSU0,UNPRI0
      INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL
     *OBA0
      COMMON /CTERM/TERMT0
      INTEGER TERMT0
      COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC
     *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,
     *SCLEN0,SCTOP0,SCLIN0
      INTEGER SCREE0
      INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO
     *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51)
      COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0
      INTEGER UNIXM0
      INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0
      COMMON /CTTY/TTYST0
      INTEGER TTYST0
      INTEGER AAAAA0
      EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1)
     *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1)
     *,BUFAA0(7))
      AAAAA0=TERMT0
      GOTO 10023
10024   HWINS0=1
        RETURN
10025   IF((TSPEE0.LT.2400))GOTO 10026
          HWINS0=0
          RETURN
10026     HWINS0=1
          RETURN
10023 GOTO(10025,10025,10027,10027,10027,10027,10027,10024,10027,10027, 
     *    10027,10027,10027,10027,10027,10027,10024,10027,10024,10027,  
     *   10025,10024,10024,10027,10024,10024,10027,10027,10024,10027,   
     *  10024,10027,10024,10027,10027,10027,10027,10027,10024,10027,    
     * 10027,10024,10024),AAAAA0
10027   HWINS0=0
        RETURN
      END
      SUBROUTINE UPDSC0
      COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0
      INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0
      COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256)
      INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0
      COMMON /CTXT/TXTAA0(512)
      INTEGER TXTAA0
      COMMON /CFILE/SAVFI0(512)
      INTEGER SAVFI0
      COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520)
      INTEGER LASTB0,FENCE0,FREEA0,LINE00
      INTEGER BUFAA0
      INTEGER PREVL0(1),NEXTL0(1)
      INTEGER GLOBM0(1),LINEL0(1)
      INTEGER * 4 SEEKA0(1)
      INTEGER MARKN0(1)
      COMMON /CUNDO/LIMBO0,LIMCN0
      INTEGER LIMBO0,LIMCN0
      COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0
      INTEGER SCRAA0
      INTEGER * 4 SCREN0
      INTEGER SCRNA0
      INTEGER LOSTL0
      COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV
     *CO0
      INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0
      INTEGER PEEKC0,SAVCO0(512)
      COMMON /CMARK/SAVKN0
      INTEGER SAVKN0
      COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O
     *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0
      INTEGER TABST0,TABSU0,UNPRI0
      INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL
     *OBA0
      COMMON /CTERM/TERMT0
      INTEGER TERMT0
      COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC
     *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,
     *SCLEN0,SCTOP0,SCLIN0
      INTEGER SCREE0
      INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO
     *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51)
      COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0
      INTEGER UNIXM0
      INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0
      COMMON /CTTY/TTYST0
      INTEGER TTYST0
      INTEGER ABSLI0(10),RELLI0(10)
      INTEGER LINE,ROW,I
      INTEGER K
      INTEGER GETIND
      INTEGER SONE(2)
      INTEGER SDOLL0(2)
      INTEGER ROCKET(6)
      INTEGER AAAAB0(6)
      INTEGER AAAAC0(2)
      INTEGER AAAAD0(2)
      EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1)
     *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1)
     *,BUFAA0(7))
      DATA SONE/177,0/
      DATA SDOLL0/164,0/
      DATA ROCKET/174,160,160,173,190,0/
      DATA AAAAB0/174,160,160,173,190,0/
      DATA AAAAC0/177,0/
      DATA AAAAD0/164,0/
      CALL FIXSC0
      LINE=TOPLN0
      K=GETIND(LINE)
      ROW=TOPRO0
      GOTO 10030
10028 ROW=ROW+(1)
10030 IF((ROW.GT.BOTRO0))GOTO 10029
        IF((LINE.GT.LASTL0))GOTO 10032
        IF((LINE.LT.1))GOTO 10032
        GOTO 10031
10032     CALL LOADS0(0,ROW,1,7-1)
          CALL LOAD(252,ROW,7)
          CALL LOADS0(0,ROW,7+1,NCOLS0)
          GOTO 10033
10031     IF((LINE.NE.CURLN0))GOTO 10034
            CALL LOADS0(AAAAB0,ROW,1,6-1)
            GOTO 10035
10034       IF((LINE.NE.1))GOTO 10036
              CALL LOADS0(AAAAC0,ROW,1,6-1)
              GOTO 10037
10036         IF((LINE.NE.LASTL0))GOTO 10038
                CALL LOADS0(AAAAD0,ROW,1,6-1)
                GOTO 10039
10038           IF((ABSNO0.NE.0))GOTO 10040
                IF((ROW.GT.26))GOTO 10040
                  RELLI0(1)=RELAA0+ROW-1
                  RELLI0(2)=0
                  CALL LOADS0(RELLI0,ROW,1,6-1)
                  GOTO 10041
10040             CALL ITOC(LINE,ABSLI0,9)
                  CALL LOADS0(ABSLI0,ROW,1,6-1)
10041         CONTINUE
10039       CONTINUE
10037     CONTINUE
10035     CALL LOAD(MARKN0(K),ROW,6)
          CALL LOAD(252,ROW,7)
          IF((LINE.LT.FIRSU0))GOTO 10042
            CALL GTXT(K)
            IF((FIRST0.LT.LINEL0(K)))GOTO 10043
              CALL LOADS0(0,ROW,8,NCOLS0)
              GOTO 10044
10043         CALL LOADS0(TXTAA0(FIRST0),ROW,8,NCOLS0)
10044     CONTINUE
10042   CONTINUE
10033   LINE=LINE+(1)
        K=NEXTL0(K)
      GOTO 10028
10029 FIRSU0=LASTL0
      SCTOP0=TOPLN0
      SCLEN0=BOTRO0-TOPRO0+1
      I=1
      GOTO 10047
10045 I=I+(1)
10047 IF((I.GT.SCLEN0))GOTO 10046
        IF((SCTOP0+I-1.GT.LASTL0))GOTO 10048
          SCLIN0(I)=I
          GOTO 10045
10048     SCLIN0(I)=-1
10049 GOTO 10045
10046 RETURN
      END
      SUBROUTINE FIXSC0
      COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0
      INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0
      COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256)
      INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0
      COMMON /CTXT/TXTAA0(512)
      INTEGER TXTAA0
      COMMON /CFILE/SAVFI0(512)
      INTEGER SAVFI0
      COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520)
      INTEGER LASTB0,FENCE0,FREEA0,LINE00
      INTEGER BUFAA0
      INTEGER PREVL0(1),NEXTL0(1)
      INTEGER GLOBM0(1),LINEL0(1)
      INTEGER * 4 SEEKA0(1)
      INTEGER MARKN0(1)
      COMMON /CUNDO/LIMBO0,LIMCN0
      INTEGER LIMBO0,LIMCN0
      COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0
      INTEGER SCRAA0
      INTEGER * 4 SCREN0
      INTEGER SCRNA0
      INTEGER LOSTL0
      COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV
     *CO0
      INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0
      INTEGER PEEKC0,SAVCO0(512)
      COMMON /CMARK/SAVKN0
      INTEGER SAVKN0
      COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O
     *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0
      INTEGER TABST0,TABSU0,UNPRI0
      INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL
     *OBA0
      COMMON /CTERM/TERMT0
      INTEGER TERMT0
      COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC
     *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,
     *SCLEN0,SCTOP0,SCLIN0
      INTEGER SCREE0
      INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO
     *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51)
      COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0
      INTEGER UNIXM0
      INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0
      COMMON /CTTY/TTYST0
      INTEGER TTYST0
      INTEGER OI,NI,DC,IC,UL,P
      INTEGER WLINE(51)
      INTEGER HWINS0
      EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1)
     *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1)
     *,BUFAA0(7))
      IF((BOTRO0-TOPRO0+1.NE.SCLEN0))GOTO 10051
      IF((HWINS0(0).EQ.0))GOTO 10051
      GOTO 10050
10051   RETURN
10050 OI=1
      GOTO 10054
10052 OI=OI+(1)
10054 IF((OI.GT.SCLEN0))GOTO 10053
        IF((SCLIN0(OI).EQ.-1))GOTO 10056
        IF((SCLIN0(OI)+SCTOP0-1.LT.TOPLN0))GOTO 10056
        IF((SCLIN0(OI)+SCTOP0-1.GT.TOPLN0+(BOTRO0-TOPRO0)))GOTO 10056
        GOTO 10055
10056     SCLIN0(OI)=-1
          GOTO 10052
10055     SCLIN0(OI)=SCLIN0(OI)+(SCTOP0-TOPLN0)
10057 GOTO 10052
10053 OI=1
      NI=1
      GOTO 10060
10058 NI=NI+(1)
10060 IF((NI.GT.SCLEN0))GOTO 10059
10061   IF((OI.GT.SCLEN0))GOTO 10062
        IF((SCLIN0(OI).NE.-1))GOTO 10062
          OI=OI+(1)
        GOTO 10061
10062   IF((OI.GT.SCLEN0))GOTO 10063
        IF((SCLIN0(OI).NE.NI))GOTO 10063
          WLINE(NI)=NI
          OI=OI+(1)
          GOTO 10058
10063     WLINE(NI)=-1
10064 GOTO 10058
10059 UL=0
      NI=0
      OI=1
      GOTO 10067
10065 OI=OI+(1)
10067 IF((OI.GT.SCLEN0))GOTO 10066
        IF((SCLIN0(OI).NE.WLINE(OI)))GOTO 10069
        IF((SCLIN0(OI).EQ.-1))GOTO 10069
        GOTO 10068
10069     UL=UL+(1)
10068   IF((WLINE(OI).NE.-1))GOTO 10065
          NI=NI+(1)
10070 GOTO 10065
10066 IF((UL.GE.NI+2))GOTO 10071
        RETURN
10071 OI=SCLEN0
      NI=SCLEN0
10072 IF((OI.GT.0))GOTO 10074
      IF((NI.GT.0))GOTO 10074
      GOTO 10073
10074   DC=0
        GOTO 10077
10075   DC=DC+(1)
10077   IF((OI.LE.0))GOTO 10076
        IF((SCLIN0(OI).NE.-1))GOTO 10076
          OI=OI-(1)
        GOTO 10075
10076   IC=0
        GOTO 10080
10078   IC=IC+(1)
10080   IF((NI.LE.0))GOTO 10079
        IF((WLINE(NI).NE.-1))GOTO 10079
          NI=NI-(1)
        GOTO 10078
10079   IF((DC.LE.IC))GOTO 10081
          CALL DELLI0(OI+TOPRO0+IC,DC-IC)
10081   CONTINUE
10082   IF((OI.LE.0))GOTO 10072
        IF((SCLIN0(OI).EQ.-1))GOTO 10072
        IF((NI.LE.0))GOTO 10072
        IF((WLINE(NI).NE.SCLIN0(OI)))GOTO 10072
          OI=OI-(1)
          NI=NI-(1)
        GOTO 10082
10073 OI=1
      NI=1
10084 IF((OI.LE.SCLEN0))GOTO 10086
      IF((NI.LE.SCLEN0))GOTO 10086
      GOTO 10085
10086   P=NI
        DC=0
        GOTO 10089
10087   DC=DC+(1)
10089   IF((OI.GT.SCLEN0))GOTO 10088
        IF((SCLIN0(OI).NE.-1))GOTO 10088
          OI=OI+(1)
        GOTO 10087
10088   IC=0
        GOTO 10092
10090   IC=IC+(1)
10092   IF((NI.GT.SCLEN0))GOTO 10091
        IF((WLINE(NI).NE.-1))GOTO 10091
          NI=NI+(1)
        GOTO 10090
10091   IF((IC.LE.DC))GOTO 10093
          CALL INSLI0(P-1+TOPRO0+DC,IC-DC)
10093   CONTINUE
10094   IF((OI.GT.SCLEN0))GOTO 10084
        IF((SCLIN0(OI).EQ.-1))GOTO 10084
        IF((NI.GT.SCLEN0))GOTO 10084
        IF((WLINE(NI).NE.SCLIN0(OI)))GOTO 10084
          OI=OI+(1)
          NI=NI+(1)
        GOTO 10094
10085 RETURN
      END
      SUBROUTINE SENDD0(N)
      INTEGER N
      COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0
      INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0
      COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256)
      INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0
      COMMON /CTXT/TXTAA0(512)
      INTEGER TXTAA0
      COMMON /CFILE/SAVFI0(512)
      INTEGER SAVFI0
      COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520)
      INTEGER LASTB0,FENCE0,FREEA0,LINE00
      INTEGER BUFAA0
      INTEGER PREVL0(1),NEXTL0(1)
      INTEGER GLOBM0(1),LINEL0(1)
      INTEGER * 4 SEEKA0(1)
      INTEGER MARKN0(1)
      COMMON /CUNDO/LIMBO0,LIMCN0
      INTEGER LIMBO0,LIMCN0
      COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0
      INTEGER SCRAA0
      INTEGER * 4 SCREN0
      INTEGER SCRNA0
      INTEGER LOSTL0
      COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV
     *CO0
      INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0
      INTEGER PEEKC0,SAVCO0(512)
      COMMON /CMARK/SAVKN0
      INTEGER SAVKN0
      COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O
     *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0
      INTEGER TABST0,TABSU0,UNPRI0
      INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL
     *OBA0
      COMMON /CTERM/TERMT0
      INTEGER TERMT0
      COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC
     *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,
     *SCLEN0,SCTOP0,SCLIN0
      INTEGER SCREE0
      INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO
     *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51)
      COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0
      INTEGER UNIXM0
      INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0
      COMMON /CTTY/TTYST0
      INTEGER TTYST0
      INTEGER N1
      INTEGER NULLS(5)
      EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1)
     *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1)
     *,BUFAA0(7))
      DATA NULLS/5*0/
      N1=INTL(N)*TSPEE0/10000
10096 IF((N1.LE.10))GOTO 10097
        CALL TNOUA(NULLS,10)
        N1=N1-(10)
      GOTO 10096
10097 IF((N1.LE.0))GOTO 10098
        CALL TNOUA(NULLS,N1)
10098 RETURN
      END
      INTEGER FUNCTION GETIND(LINE)
      INTEGER LINE
      COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0
      INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0
      COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256)
      INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0
      COMMON /CTXT/TXTAA0(512)
      INTEGER TXTAA0
      COMMON /CFILE/SAVFI0(512)
      INTEGER SAVFI0
      COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520)
      INTEGER LASTB0,FENCE0,FREEA0,LINE00
      INTEGER BUFAA0
      INTEGER PREVL0(1),NEXTL0(1)
      INTEGER GLOBM0(1),LINEL0(1)
      INTEGER * 4 SEEKA0(1)
      INTEGER MARKN0(1)
      COMMON /CUNDO/LIMBO0,LIMCN0
      INTEGER LIMBO0,LIMCN0
      COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0
      INTEGER SCRAA0
      INTEGER * 4 SCREN0
      INTEGER SCRNA0
      INTEGER LOSTL0
      COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV
     *CO0
      INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0
      INTEGER PEEKC0,SAVCO0(512)
      COMMON /CMARK/SAVKN0
      INTEGER SAVKN0
      COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O
     *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0
      INTEGER TABST0,TABSU0,UNPRI0
      INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL
     *OBA0
      COMMON /CTERM/TERMT0
      INTEGER TERMT0
      COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC
     *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,
     *SCLEN0,SCTOP0,SCLIN0
      INTEGER SCREE0
      INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO
     *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51)
      COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0
      INTEGER UNIXM0
      INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0
      COMMON /CTTY/TTYST0
      INTEGER TTYST0
      INTEGER J
      INTEGER K
      EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1)
     *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1)
     *,BUFAA0(7))
      K=LINE00
      J=0
      GOTO 10101
10099 K=NEXTL0(K)
      J=J+(1)
10101 IF((J.GE.LINE))GOTO 10100
      GOTO 10099
10100 GETIND=K
      RETURN
      END
      INTEGER FUNCTION GETTXT(LINE)
      INTEGER LINE
      INTEGER K
      INTEGER GETIND
      K=GETIND(LINE)
      CALL GTXT(K)
      GETTXT=K
      RETURN
      END
      INTEGER FUNCTION GTXT(PTR)
      INTEGER PTR
      COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0
      INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0
      COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256)
      INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0
      COMMON /CTXT/TXTAA0(512)
      INTEGER TXTAA0
      COMMON /CFILE/SAVFI0(512)
      INTEGER SAVFI0
      COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520)
      INTEGER LASTB0,FENCE0,FREEA0,LINE00
      INTEGER BUFAA0
      INTEGER PREVL0(1),NEXTL0(1)
      INTEGER GLOBM0(1),LINEL0(1)
      INTEGER * 4 SEEKA0(1)
      INTEGER MARKN0(1)
      COMMON /CUNDO/LIMBO0,LIMCN0
      INTEGER LIMBO0,LIMCN0
      COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0
      INTEGER SCRAA0
      INTEGER * 4 SCREN0
      INTEGER SCRNA0
      INTEGER LOSTL0
      COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV
     *CO0
      INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0
      INTEGER PEEKC0,SAVCO0(512)
      COMMON /CMARK/SAVKN0
      INTEGER SAVKN0
      COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O
     *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0
      INTEGER TABST0,TABSU0,UNPRI0
      INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL
     *OBA0
      COMMON /CTERM/TERMT0
      INTEGER TERMT0
      COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC
     *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,
     *SCLEN0,SCTOP0,SCLIN0
      INTEGER SCREE0
      INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO
     *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51)
      COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0
      INTEGER UNIXM0
      INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0
      COMMON /CTTY/TTYST0
      INTEGER TTYST0
      INTEGER READF
      EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1)
     *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1)
     *,BUFAA0(7))
      CALL SEEKF(SEEKA0(PTR),SCRAA0)
      GTXT=READF(TXTAA0,LINEL0(PTR),SCRAA0)-1
      RETURN
      END
      INTEGER FUNCTION READF(BUF,COUNT,FD)
      INTEGER BUF(1),COUNT,FD
      INTEGER NWR,CODE
      CALL PRWF$$(1,FD,LOC(BUF),COUNT,INTL(0),NWR,CODE)
      IF((CODE.NE.0))GOTO 10103
      IF((NWR.NE.COUNT))GOTO 10103
      GOTO 10102
10103   CALL ERROR('Fatal scratch file read error.')
10102 READF=NWR
      RETURN
      END
      INTEGER FUNCTION SEEKF(POS,FD)
      INTEGER * 4 POS
      INTEGER FD
      INTEGER CODE
      CALL PRWF$$(3+8,FD,LOC(0),0,POS,0,CODE)
      IF((CODE.EQ.0))GOTO 10104
        CALL ERROR('Fatal scratch file seek error.')
10104 SEEKF=-2
      RETURN
      END
      INTEGER FUNCTION WRITEF(BUF,COUNT,FD)
      INTEGER BUF(1),COUNT,FD
      INTEGER NWR,CODE
      CALL PRWF$$(2,FD,LOC(BUF),COUNT,INTL(0),NWR,CODE)
      IF((CODE.NE.0))GOTO 10106
      IF((NWR.NE.COUNT))GOTO 10106
      GOTO 10105
10106   CALL ERROR('Fatal scratch file write error.')
10105 WRITEF=NWR
      RETURN
      END
      SUBROUTINE CLEAR0(ROW,COL)
      INTEGER ROW,COL
      COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0
      INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0
      COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256)
      INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0
      COMMON /CTXT/TXTAA0(512)
      INTEGER TXTAA0
      COMMON /CFILE/SAVFI0(512)
      INTEGER SAVFI0
      COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520)
      INTEGER LASTB0,FENCE0,FREEA0,LINE00
      INTEGER BUFAA0
      INTEGER PREVL0(1),NEXTL0(1)
      INTEGER GLOBM0(1),LINEL0(1)
      INTEGER * 4 SEEKA0(1)
      INTEGER MARKN0(1)
      COMMON /CUNDO/LIMBO0,LIMCN0
      INTEGER LIMBO0,LIMCN0
      COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0
      INTEGER SCRAA0
      INTEGER * 4 SCREN0
      INTEGER SCRNA0
      INTEGER LOSTL0
      COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV
     *CO0
      INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0
      INTEGER PEEKC0,SAVCO0(512)
      COMMON /CMARK/SAVKN0
      INTEGER SAVKN0
      COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O
     *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0
      INTEGER TABST0,TABSU0,UNPRI0
      INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL
     *OBA0
      COMMON /CTERM/TERMT0
      INTEGER TERMT0
      COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC
     *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,
     *SCLEN0,SCTOP0,SCLIN0
      INTEGER SCREE0
      INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO
     *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51)
      COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0
      INTEGER UNIXM0
      INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0
      COMMON /CTTY/TTYST0
      INTEGER TTYST0
      INTEGER C,FLAG,HARDW0
      INTEGER AAAAE0
      INTEGER AAAAF0
      INTEGER AAAAG0
      EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1)
     *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1)
     *,BUFAA0(7))
      AAAAE0=TERMT0
      GOTO 10107
10108   HARDW0=1
      GOTO 10109
10107 AAAAF0=AAAAE0-1
      GOTO(10108,10108,10110,10110,10108,10108,10108,10110,10108,10110, 
     *    10110,10110,10108,10108,10108,10108,10108,10108,10108,10108,  
     *   10108,10108,10108,10108,10108,10110,10108,10108,10108,10108,   
     *  10108,10108,10108,10108,10108,10108,10108,10108,10108,10108,    
     * 10108,10108,10108),AAAAF0
10110   IF((TERMT0.NE.1))GOTO 10111
        IF((ROW.GE.NROWS0))GOTO 10111
          HARDW0=1
          GOTO 10112
10111     HARDW0=0
10112 CONTINUE
10109 FLAG=0
      DO 10113 C=COL,NCOLS0
        IF((SCREE0(C,ROW).EQ.160))GOTO 10115
          SCREE0(C,ROW)=160
          IF((HARDW0.NE.1))GOTO 10116
            FLAG=1
            GOTO 10117
10116       CALL POSIT0(ROW,C)
            CALL SEND(160)
10117   CONTINUE
10115   CONTINUE
10113 CONTINUE
10114 IF((FLAG.NE.1))GOTO 10118
        CALL POSIT0(ROW,COL)
        AAAAG0=TERMT0
        GOTO 10119
10120     CALL T1OU(155)
          CALL T1OU(203)
        GOTO 10121
10122     CALL T1OU(155)
          CALL T1OU(201)
        GOTO 10121
10123     CALL T1OU(155)
          CALL T1OU(201)
          CALL SENDD0(20)
        GOTO 10121
10124     CALL T1OU(138)
          CURRO0=CURRO0+(1)
          CURCO0=1
        GOTO 10121
10125     CALL T1OU(155)
          CALL T1OU(143)
        GOTO 10121
10126     CALL T1OU(155)
          CALL T1OU(204)
        GOTO 10121
10127     CALL T1OU(133)
          DO 10128 C=1,51
            CALL T1OU(128)
10128     CONTINUE
10129   GOTO 10121
10130     CALL T1OU(158)
        GOTO 10121
10131     CALL T1OU(155)
          CALL T1OU(212)
        GOTO 10121
10132     CALL T1OU(140)
        GOTO 10121
10133     CALL T1OU(143)
        GOTO 10121
10134     CALL T1OU(157)
        GOTO 10121
10135     CALL T1OU(153)
        GOTO 10121
10136     CALL T1OU(155)
          CALL T1OU(219)
          CALL T1OU(176)
          CALL T1OU(203)
        GOTO 10121
10137     CALL T1OU(155)
          CALL T1OU(219)
          CALL T1OU(203)
        GOTO 10121
10138     CALL T1OU(156)
          CALL T1OU(218)
        GOTO 10121
10119   GOTO(10124,10120,10122,10139,10139,10120,10120,10120,10139,10125
     *,10139,10139,10139,10122,10126,10127,10120,10130,10120,10131,10131
     *,10120,10120,10131,10131,10120,10139,10123,10120,10120,10120,10135
     *,10136,10137,10138,10131,10131,10120,10120,10134,10133,10120,10131
     *,10132),AAAAG0
10139   CONTINUE
10121 CONTINUE
10118 RETURN
      END
      SUBROUTINE LOAD(CHAR,ROW,COL)
      INTEGER CHAR
      INTEGER ROW,COL
      COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0
      INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0
      COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256)
      INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0
      COMMON /CTXT/TXTAA0(512)
      INTEGER TXTAA0
      COMMON /CFILE/SAVFI0(512)
      INTEGER SAVFI0
      COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520)
      INTEGER LASTB0,FENCE0,FREEA0,LINE00
      INTEGER BUFAA0
      INTEGER PREVL0(1),NEXTL0(1)
      INTEGER GLOBM0(1),LINEL0(1)
      INTEGER * 4 SEEKA0(1)
      INTEGER MARKN0(1)
      COMMON /CUNDO/LIMBO0,LIMCN0
      INTEGER LIMBO0,LIMCN0
      COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0
      INTEGER SCRAA0
      INTEGER * 4 SCREN0
      INTEGER SCRNA0
      INTEGER LOSTL0
      COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV
     *CO0
      INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0
      INTEGER PEEKC0,SAVCO0(512)
      COMMON /CMARK/SAVKN0
      INTEGER SAVKN0
      COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O
     *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0
      INTEGER TABST0,TABSU0,UNPRI0
      INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL
     *OBA0
      COMMON /CTERM/TERMT0
      INTEGER TERMT0
      COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC
     *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,
     *SCLEN0,SCTOP0,SCLIN0
      INTEGER SCREE0
      INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO
     *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51)
      COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0
      INTEGER UNIXM0
      INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0
      COMMON /CTTY/TTYST0
      INTEGER TTYST0
      INTEGER CH
      EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1)
     *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1)
     *,BUFAA0(7))
      CH=CHAR
      IF((CH.LT.160))GOTO 10141
      IF((CH.GE.255))GOTO 10141
      GOTO 10140
10141   CH=UNPRI0
10140 IF((ROW.LT.1))GOTO 10142
      IF((ROW.GT.NROWS0))GOTO 10142
      IF((COL.LT.1))GOTO 10142
      IF((COL.GT.NCOLS0))GOTO 10142
      IF((SCREE0(COL,ROW).EQ.CH))GOTO 10142
        CALL POSIT0(ROW,COL)
        SCREE0(COL,ROW)=CH
        CALL SEND(CH)
10142 RETURN
      END
      SUBROUTINE LOADS0(STR,ROW,STCOL,ENDCOL)
      INTEGER STR(1)
      INTEGER ROW,STCOL,ENDCOL
      COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0
      INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0
      COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256)
      INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0
      COMMON /CTXT/TXTAA0(512)
      INTEGER TXTAA0
      COMMON /CFILE/SAVFI0(512)
      INTEGER SAVFI0
      COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520)
      INTEGER LASTB0,FENCE0,FREEA0,LINE00
      INTEGER BUFAA0
      INTEGER PREVL0(1),NEXTL0(1)
      INTEGER GLOBM0(1),LINEL0(1)
      INTEGER * 4 SEEKA0(1)
      INTEGER MARKN0(1)
      COMMON /CUNDO/LIMBO0,LIMCN0
      INTEGER LIMBO0,LIMCN0
      COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0
      INTEGER SCRAA0
      INTEGER * 4 SCREN0
      INTEGER SCRNA0
      INTEGER LOSTL0
      COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV
     *CO0
      INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0
      INTEGER PEEKC0,SAVCO0(512)
      COMMON /CMARK/SAVKN0
      INTEGER SAVKN0
      COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O
     *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0
      INTEGER TABST0,TABSU0,UNPRI0
      INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL
     *OBA0
      COMMON /CTERM/TERMT0
      INTEGER TERMT0
      COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC
     *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,
     *SCLEN0,SCTOP0,SCLIN0
      INTEGER SCREE0
      INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO
     *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51)
      COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0
      INTEGER UNIXM0
      INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0
      COMMON /CTTY/TTYST0
      INTEGER TTYST0
      INTEGER CH
      INTEGER P,C,LIMIT
      EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1)
     *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1)
     *,BUFAA0(7))
      IF((ROW.LT.1))GOTO 10143
      IF((ROW.GT.NROWS0))GOTO 10143
      IF((STCOL.LT.1))GOTO 10143
        C=STCOL
        P=1
        GOTO 10146
10144   P=P+(1)
10146   IF((STR(P).EQ.0))GOTO 10145
          IF((C.LE.NCOLS0))GOTO 10147
            GOTO 10145
10147     CH=STR(P)
          IF((CH.LT.160))GOTO 10149
          IF((CH.GE.255))GOTO 10149
          GOTO 10148
10149       CH=UNPRI0
10148     IF((SCREE0(C,ROW).EQ.CH))GOTO 10150
            SCREE0(C,ROW)=CH
            CALL POSIT0(ROW,C)
            CALL SEND(CH)
10150     C=C+(1)
        GOTO 10144
10145   IF((ENDCOL.LT.NCOLS0))GOTO 10151
        IF((C.GE.NCOLS0))GOTO 10151
          CALL CLEAR0(ROW,C)
          GOTO 10152
10151     LIMIT=MIN0(ENDCOL,NCOLS0)
          GOTO 10155
10153     C=C+(1)
10155     IF((C.GT.LIMIT))GOTO 10154
            IF((SCREE0(C,ROW).EQ.160))GOTO 10153
              SCREE0(C,ROW)=160
              CALL POSIT0(ROW,C)
              CALL SEND(160)
10156     GOTO 10153
10154   CONTINUE
10152 CONTINUE
10143 RETURN
      END
      SUBROUTINE PROMPT(STR)
      INTEGER STR(1)
      COMMON /CLINES/LINE10,LINE20,NLINE0,CURLN0,LASTL0
      INTEGER LINE10,LINE20,NLINE0,CURLN0,LASTL0
      COMMON /CPAT/PATAA0(256),TLPAT0(256),SUBSA0(256),TSETA0(256)
      INTEGER PATAA0,TLPAT0,SUBSA0,TSETA0
      COMMON /CTXT/TXTAA0(512)
      INTEGER TXTAA0
      COMMON /CFILE/SAVFI0(512)
      INTEGER SAVFI0
      COMMON /CBUFR$/LASTB0,FENCE0,FREEA0,LINE00,BUFAA0(65520)
      INTEGER LASTB0,FENCE0,FREEA0,LINE00
      INTEGER BUFAA0
      INTEGER PREVL0(1),NEXTL0(1)
      INTEGER GLOBM0(1),LINEL0(1)
      INTEGER * 4 SEEKA0(1)
      INTEGER MARKN0(1)
      COMMON /CUNDO/LIMBO0,LIMCN0
      INTEGER LIMBO0,LIMCN0
      COMMON /CSCRAT/SCRAA0,SCREN0,SCRNA0(512),LOSTL0
      INTEGER SCRAA0
      INTEGER * 4 SCREN0
      INTEGER SCRNA0
      INTEGER LOSTL0
      COMMON /CMISC/BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0,PEEKC0,SAV
     *CO0
      INTEGER BUFFE0,ERRCO0,SAVER0,PROBA0,ARGNO0,LASTC0
      INTEGER PEEKC0,SAVCO0(512)
      COMMON /CMARK/SAVKN0
      INTEGER SAVKN0
      COMMON /COPT/TABST0(512),TABSU0(512),UNPRI0,DDIRA0,ABSNO0,NCHOI0,O
     *VERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GLOBA0
      INTEGER TABST0,TABSU0,UNPRI0
      INTEGER DDIRA0,ABSNO0,NCHOI0,OVERM0,WARNC0,FIRST0,TSPEE0,INDEN0,GL
     *OBA0
      COMMON /CTERM/TERMT0
      INTEGER TERMT0
      COMMON /CSCRN/SCREE0(128,51),MSGAL0(128),NROWS0,NCOLS0,CURRO0,CURC
     *O0,TOPRO0,BOTRO0,CMDRO0,TOPLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,
     *SCLEN0,SCTOP0,SCLIN0
      INTEGER SCREE0
      INTEGER MSGAL0,NROWS0,NCOLS0,CURRO0,CURCO0,TOPRO0,BOTRO0,CMDRO0,TO
     *PLN0,INSER0,INVER0,FIRSU0,RELAA0,RELZA0,SCLEN0,SCTOP0,SCLIN0(51)
      COMMON /CUNIX0/UNIXM0,BACKS0,NOTIN0,XMARK0,ESCAP0
      INTEGER UNIXM0
      INTEGER BACKS0,NOTIN0,XMARK0,ESCAP0
      COMMON /CTTY/TTYST0
      INTEGER TTYST0
      EQUIVALENCE (PREVL0(1),BUFAA0(1)),(NEXTL0(1),BUFAA0(2)),(GLOBM0(1)
     *,BUFAA0(3)),(SEEKA0(1),BUFAA0(4)),(LINEL0(1),BUFAA0(6)),(MARKN0(1)
     *,BUFAA0(7))
      CALL LOADS0(STR,CMDRO0,1,7-1)
      RETURN
      END
C ---- Long Name Map ----
C Toprow                         topro0
C Sctop                          sctop0
C abslineno                      absli0
C inslines                       insli0
C Lostlines                      lostl0
C Indent                         inden0
C Invertcase                     inver0
C Fence                          fence0
C Topln                          topln0
C gt40pos                        gt40p0
C terakpos                       terak0
C Savfil                         savfi0
C Line0                          line00
C Tspeed                         tspee0
C clrscreen                      clrsc0
C printverboseerrormessage       print0
C Line1                          line10
C Absnos                         absno0
C uniquelyname                   uniqu0
C Line2                          line20
C Limcnt                         limcn0
C Curcol                         curco0
C Insertmode                     inser0
C dologout                       dolog0
C doshell                        doshe0
C Nlines                         nline0
C Savcom                         savco0
C Peekc                          peekc0
C addspos                        addsp0
C fixscreen                      fixsc0
C Prevline                       prevl0
C Cmdrow                         cmdro0
C adjustwindow                   adjus0
C Bufferchanged                  buffe0
C Errcode                        errco0
C Firstcol                       first0
C Globals                        globa0
C rellineno                      relli0
C updscreen                      updsc0
C Lastln                         lastl0
C Nextline                       nextl0
C Overlaycol                     overm0
C sdollar                        sdoll0
C Txt                            txtaa0
C Savknm                         savkn0
C Tabstr                         tabsu0
C Nrows                          nrows0
C Unixmode                       unixm0
C setscreen                      setsc0
C forsyspos                      forsy0
C Scrname                        scrna0
C Nchoise                        nchoi0
C litmesg                        litme0
C getrange                       getra0
C drawbox                        drawb0
C Seekaddr                       seeka0
C Limbo                          limbo0
C hardware                       hardw0
C garbagecollect                 garba0
C Subs                           subsa0
C Relz                           relza0
C dellines                       delli0
C displaymessage                 displ0
C loadstr                        loads0
C restorescreen                  resto0
C Tabstops                       tabst0
C Sclen                          sclen0
C cleartoeol                     clear0
C Buf                            bufaa0
C whereami                       where0
C Tset                           tseta0
C Argno                          argno0
C ansipos                        ansip0
C Unprintable                    unpri0
C regentpos                      regen0
C sendmesg                       sendm0
C Botrow                         botro0
C Markname                       markn0
C Probation                      proba0
C Lastcharscanned                lastc0
C Warncol                        warnc0
C initialize                     initi0
C overlay                        overl0
C Pat                            pataa0
C Lineleng                       linel0
C cunixswt                       cunix0
C decodemnemonic                 decod0
C Globmark                       globm0
C Termtype                       termt0
C Ncols                          ncols0
C Currow                         curro0
C recvmesg                       recvm0
C Scr                            scraa0
C Firstaffected                  firsu0
C NOTINCCL                       notin0
C bee2pos                        bee2p0
C positioncursor                 posit0
C Msgalloc                       msgal0
C hwinsdel                       hwins0
C litnnum                        litnn0
C Screenimage                    scree0
C gettermtype                    gette0
C sbeecoord                      sbeec0
C warndeleted                    warnd0
C Curln                          curln0
C Free                           freea0
C XMARK                          xmark0
C b200coord                      b200c0
C spinject                       spinj0
C Tlpat                          tlpat0
C Lastbf                         lastb0
C Saverrcode                     saver0
C Ddir                           ddira0
C Rela                           relaa0
C ESCAPE                         escap0
C senddelay                      sendd0
C Scline                         sclin0
C Ttystate                       ttyst0
C cgcoord                        cgcoo0
C Scrend                         scren0
C BACKSCAN                       backs0
