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