SUBROUTINE MAIN 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 SAVEL0 INTEGER DUPLX$ 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 INITI0 CALL BREAK$(1) SAVEL0=DUPLX$(-1) CALL DUPLX$(:140000) TTYST0=SAVEL0 CALL EDIT CALL DUPLX$(SAVEL0) CALL BREAK$(0) CALL SWT END SUBROUTINE INITI0 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 GETARG,DECOD0 INTEGER LIN(512) INTEGER DEFAU0(3) 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 DEFAU0/171,179,0/ ARGNO0=1 IF((GETARG(ARGNO0,LIN,512).EQ.-1))GOTO 10000 IF((LIN(1).NE.173))GOTO 10000 IF((LIN(2).EQ.244))GOTO 10001 IF((LIN(2).EQ.212))GOTO 10001 GOTO 10000 10001 IF((LIN(3).NE.0))GOTO 10000 ARGNO0=2 IF((GETARG(ARGNO0,LIN,512).EQ.-1))GOTO 10002 ARGNO0=3 CALL MAPSTR(LIN,1) TERMT0=DECOD0(LIN) IF((TERMT0.NE.-3))GOTO 10005 CALL USAGE 10003 GOTO 10005 10002 CALL USAGE 10004 GOTO 10005 10000 CALL GETTE0(TERMT0) 10005 CALL SETBUF CALL SETSC0 BUFFE0=0 ERRCO0=14 SAVER0=14 PROBA0=0 SAVCO0(1)=0 PATAA0(1)=0 TLPAT0(1)=0 SUBSA0(1)=0 SAVFI0(1)=0 SAVKN0=160 LASTC0=0 CALL SCOPY(DEFAU0,1,TABSU0,1) CALL SETTAB(TABSU0) DDIRA0=0 ABSNO0=0 NCHOI0=0 OVERM0=0 UNPRI0=160 WARNC0=74 FIRST0=1 INDEN0=1 TSPEE0=9600 UNIXM0=0 BACKS0=220 XMARK0=161 NOTIN0=254 ESCAP0=192 CALL SETPAT(UNIXM0) RETURN END SUBROUTINE GETTE0(TERMU0) INTEGER TERMU0 INTEGER GTTYPE,GTATTR,DECOD0 INTEGER TTYPE(7) INTEGER AAAAA0(46) INTEGER AAAAB0(47) INTEGER AAAAC0(40) DATA AAAAA0/201,167,237,160,243,239,242,242,249,172,160,226,245,24 *4,160,201,160,227,225,238,167,244,160,243,245,240,240,239,242,244, *160,225,160,170,243,160,244,229,242,237,233,238,225,236,174,0/ DATA AAAAB0/195,239,238,244,242,225,242,249,160,244,239,160,244,23 *2,229,160,243,229,244,244,233,238,231,160,239,230,160,244,232,229, *160,167,243,229,167,160,244,229,242,237,233,238,225,236,170,238,0/ DATA AAAAC0/239,240,244,233,239,238,172,160,201,160,227,225,238,23 *8,239,244,160,243,245,240,240,239,242,244,160,225,160,170,243,160, *244,229,242,237,233,238,225,236,174,0/ IF((GTTYPE(TTYPE).NE.0))GOTO 10006 CALL ERROR('I''m sorry, but you must supply a terminal type@..') 10006 IF((GTATTR(1).NE.0))GOTO 10007 CALL PRINT(-15,AAAAA0,TTYPE) CALL ERROR('.') 10007 TERMU0=DECOD0(TTYPE) IF((TERMU0.NE.-3))GOTO 10008 CALL PRINT(-15,AAAAB0) CALL PRINT(-15,AAAAC0,TTYPE) CALL ERROR('.') 10008 RETURN END INTEGER FUNCTION DECOD0(STR) INTEGER STR(1) INTEGER I INTEGER STRBSR INTEGER SPOS(45) INTEGER STAB(292) DATA STAB/20,225,228,237,179,177,0,13,225,228,237,179,225,0,43,225 *,228,237,180,178,0,36,225,228,237,181,0,15,225,238,240,0,6,226,177 *,181,176,0,7,226,178,176,176,0,28,226,225,238,244,225,237,0,44,226 *,229,229,178,0,11,227,231,0,1,227,239,238,243,245,236,0,35,230,239 *,242,243,249,243,0,3,230,239,248,0,5,231,244,180,176,0,17,232,177, *185,0,19,232,240,178,182,178,177,0,29,232,240,178,182,178,182,0,39 *,232,240,178,182,180,184,0,26,232,240,185,184,180,181,0,41,232,250 *,177,180,178,176,0,27,232,250,177,180,178,177,0,10,232,250,177,181 *,177,176,0,14,233,226,237,0,38,233,238,230,239,0,12,233,243,227,0, *30,237,233,227,242,239,226,0,32,238,226,249,0,16,238,229,244,242,2 *39,238,0,33,240,243,244,177,176,176,0,31,240,244,180,181,0,2,242,2 *29,231,229,238,244,0,8,243,226,229,229,0,9,243,239,236,0,40,244,22 *9,242,225,235,0,18,244,242,243,184,176,0,25,244,243,177,0,21,244,2 *46,233,0,4,244,246,244,0,24,246,227,180,180,176,180,0,23,246,233,1 *78,176,176,0,42,246,233,229,247,185,176,0,37,246,233,229,247,240,2 *44,0,34,246,244,177,176,176,0,22,250,177,185,0/ DATA SPOS/44,1,8,15,22,28,33,39,45,53,59,63,71,79,84,90,95,103,111 *,119,127,135,143,151,156,162,167,175,180,188,196,202,210,216,221,2 *28,235,240,245,250,258,265,273,281,288/ I=STRBSR(SPOS,STAB,1,STR) IF((I.NE.-1))GOTO 10009 DECOD0=-3 RETURN 10009 DECOD0=STAB(SPOS(I)) RETURN END SUBROUTINE USAGE INTEGER U1(51) INTEGER U2(59) INTEGER U3(59) INTEGER U4(59) INTEGER U5(59) INTEGER U6(59) INTEGER U7(59) INTEGER U8(59) INTEGER U9(59) INTEGER U10(45) INTEGER U11(54) INTEGER U12(59) INTEGER U13(61) INTEGER U14(57) DATA U1/213,243,225,231,229,186,160,243,229,160,219,160,173,244,16 *0,188,244,229,242,237,190,160,221,160,251,160,188,240,225,244,232, *238,225,237,229,190,160,252,160,173,188,239,240,244,233,239,238,19 *0,160,253,0/ DATA U2/160,160,160,188,244,229,242,237,190,160,186,186,189,160,22 *5,228,237,179,177,160,160,252,160,225,228,237,179,225,160,160,252, *160,225,228,237,180,178,160,160,252,160,225,228,237,181,160,160,16 *0,252,160,225,238,240,160,160,160,160,252,0/ DATA U3/160,160,160,160,160,160,160,160,160,160,160,160,160,160,22 *6,177,181,176,160,160,160,252,160,226,178,176,176,160,160,160,252, *160,226,225,238,244,225,237,160,252,160,226,229,229,178,160,160,16 *0,252,160,227,231,160,160,160,160,160,252,0/ DATA U4/160,160,160,160,160,160,160,160,160,160,160,160,160,160,22 *7,239,238,243,245,236,160,252,160,230,239,242,243,249,243,160,252, *160,230,239,248,160,160,160,160,252,160,231,244,180,176,160,160,16 *0,252,160,232,177,185,160,160,160,160,252,0/ DATA U5/160,160,160,160,160,160,160,160,160,160,160,160,160,160,23 *2,240,178,182,178,177,160,252,160,232,240,178,182,178,182,160,252, *160,232,240,178,182,180,184,160,252,160,232,240,185,184,180,181,16 *0,252,160,232,250,177,180,178,176,160,252,0/ DATA U6/160,160,160,160,160,160,160,160,160,160,160,160,160,160,23 *2,250,177,180,178,177,160,252,160,232,250,177,181,177,176,160,252, *160,233,226,237,160,160,160,160,252,160,233,238,230,239,160,160,16 *0,252,160,233,243,227,160,160,160,160,252,0/ DATA U7/160,160,160,160,160,160,160,160,160,160,160,160,160,160,23 *7,233,227,242,239,226,160,252,160,238,226,249,160,160,160,160,252, *160,238,229,244,242,239,238,160,252,160,240,243,244,177,176,176,16 *0,252,160,240,244,180,181,160,160,160,252,0/ DATA U8/160,160,160,160,160,160,160,160,160,160,160,160,160,160,24 *2,229,231,229,238,244,160,252,160,243,226,229,229,160,160,160,252, *160,243,239,236,160,160,160,160,252,160,244,229,242,225,235,160,16 *0,252,160,244,242,243,184,176,160,160,252,0/ DATA U9/160,160,160,160,160,160,160,160,160,160,160,160,160,160,24 *4,243,177,160,160,160,160,252,160,244,246,233,160,160,160,160,252, *160,244,246,244,160,160,160,160,252,160,246,227,180,180,176,180,16 *0,252,160,246,233,178,176,176,160,160,252,0/ DATA U10/160,160,160,160,160,160,160,160,160,160,160,160,160,160,2 *46,233,229,247,240,244,160,252,160,246,233,229,247,185,176,160,252 *,160,246,244,177,176,176,160,160,252,160,250,177,185,0/ DATA U11/160,160,160,188,239,240,244,190,160,160,186,186,189,160,2 *25,160,252,160,227,160,252,160,228,219,188,228,233,242,190,221,160 *,252,160,230,160,252,160,231,160,252,160,232,219,188,243,240,229,2 *29,228,190,221,160,252,0/ DATA U12/160,160,160,160,160,160,160,160,160,160,160,160,160,160,2 *33,219,225,160,252,160,188,233,238,228,229,238,244,190,221,160,252 *,160,235,160,252,160,236,219,188,236,239,240,190,221,160,252,160,2 *36,237,219,188,227,239,236,190,221,160,252,0/ DATA U13/160,160,160,160,160,160,160,160,160,160,160,160,160,160,2 *37,219,188,239,240,244,243,190,221,160,252,160,240,219,188,243,160 *,252,160,245,190,221,160,252,160,243,188,236,225,238,231,190,160,2 *52,160,244,219,188,244,225,226,243,190,221,160,252,0/ DATA U14/160,160,160,160,160,160,160,160,160,160,160,160,160,160,2 *45,219,188,227,232,242,190,221,160,252,160,246,219,188,227,239,236 *,190,221,160,160,252,160,247,219,188,227,239,236,190,221,160,252,1 *60,173,219,188,242,239,247,190,221,0/ CALL PRINT(-15,'*s*n.',U1) CALL PRINT(-15,'*s*n.',U2) CALL PRINT(-15,'*s*n.',U3) CALL PRINT(-15,'*s*n.',U4) CALL PRINT(-15,'*s*n.',U5) CALL PRINT(-15,'*s*n.',U6) CALL PRINT(-15,'*s*n.',U7) CALL PRINT(-15,'*s*n.',U8) CALL PRINT(-15,'*s*n.',U9) CALL PRINT(-15,'*s*n*n.',U10) CALL PRINT(-15,'*s*n.',U11) CALL PRINT(-15,'*s*n.',U12) CALL PRINT(-15,'*s*n.',U13) CALL PRINT(-15,'*s*n.',U14) CALL ERROR('.') RETURN END SUBROUTINE SETSC0 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 ROW,COL INTEGER AAAAD0 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)) AAAAD0=TERMT0 GOTO 10010 10011 NROWS0=24 NCOLS0=80 GOTO 10012 10013 NROWS0=24 NCOLS0=96 GOTO 10012 10014 NROWS0=16 NCOLS0=64 GOTO 10012 10015 NROWS0=16 NCOLS0=63 GOTO 10012 10016 NROWS0=32 NCOLS0=73 GOTO 10012 10017 NROWS0=51 NCOLS0=85 GOTO 10012 10018 NROWS0=48 NCOLS0=80 GOTO 10012 10019 NROWS0=25 NCOLS0=80 GOTO 10012 10020 NROWS0=20 NCOLS0=80 GOTO 10012 10010 GOTO(10011,10011,10011,10015,10016,10011,10019,10019,10014,10011, * 10017,10018,10011,10011,10013,10014,10011,10014,10011,10011, * 10011,10011,10011,10011,10011,10020,10011,10011,10011,10011, * 10011,10011,10011,10011,10019,10011,10011,10011,10011,10011, * 10011,10011,10011,10020),AAAAD0 10012 CALL CLRSC0 TOPRO0=1 BOTRO0=NROWS0-2 CMDRO0=BOTRO0+1 TOPLN0=1 SCLEN0=-1 DO 10021 ROW=1,NROWS0 DO 10023 COL=1,NCOLS0 SCREE0(COL,ROW)=160 10023 CONTINUE 10024 CONTINUE 10021 CONTINUE 10022 DO 10025 COL=1,NCOLS0 MSGAL0(COL)=0 10025 CONTINUE 10026 INSER0=0 INVER0=0 RELAA0=193 RELZA0=218 RETURN END SUBROUTINE LOG 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 FD INTEGER OPEN INTEGER NAME(33),PID(4),DAT(9),TIM(9) INTEGER LOGFI0(12) INTEGER AAAAE0(15) 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 LOGFI0/175,175,225,227,227,244,175,243,236,239,231,0/ DATA AAAAE0/170,163,243,160,170,243,160,170,243,160,170,243,170,23 *8,0/ IF((TERMT0.NE.2))GOTO 10027 FD=OPEN(LOGFI0,2) IF((FD.NE.-3))GOTO 10028 RETURN 10028 CALL DATE(1,DAT) CALL DATE(2,TIM) CALL DATE(3,NAME) CALL DATE(4,PID) CALL WIND(FD) CALL PRINT(FD,AAAAE0,33-1,NAME,PID,DAT,TIM) CALL CLOSE(FD) 10027 RETURN END SUBROUTINE GARBA0 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 NEWNA0(512) INTEGER NEWFD,I INTEGER * 4 NEWSC0 INTEGER P INTEGER AAAAF0(19) 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 AAAAF0/227,239,236,236,229,227,244,233,238,231,160,231,225,24 *2,226,225,231,229,0/ CALL MAKSCR(NEWFD,NEWNA0) CALL MESG(AAAAF0,1) NEWSC0=0 P=LIMBO0 I=1 GOTO 10031 10029 P=NEXTL0(P) I=I+(1) 10031 IF((I.GT.LIMCN0))GOTO 10030 CALL GTXT(P) CALL WRITEF(TXTAA0,LINEL0(P),NEWFD) SEEKA0(P)=NEWSC0 NEWSC0=NEWSC0+(LINEL0(P)) GOTO 10029 10030 P=LINE00 I=0 GOTO 10034 10032 P=NEXTL0(P) I=I+(1) 10034 IF((I.GT.LASTL0))GOTO 10033 CALL GTXT(P) CALL WRITEF(TXTAA0,LINEL0(P),NEWFD) SEEKA0(P)=NEWSC0 NEWSC0=NEWSC0+(LINEL0(P)) GOTO 10032 10033 CALL CLOSEF(SCRAA0) CALL REMOVE(SCRNA0) SCRAA0=NEWFD CALL SCOPY(NEWNA0,1,SCRNA0,1) SCREN0=NEWSC0 LOSTL0=0 CALL MESG(0,1) RETURN END SUBROUTINE RESTO0 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 ROW,COL 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 CLRSC0 DO 10035 ROW=1,NROWS0 DO 10037 COL=1,NCOLS0 IF((SCREE0(COL,ROW).EQ.160))GOTO 10039 CALL POSIT0(ROW,COL) CALL SEND(SCREE0(COL,ROW)) 10039 CONTINUE 10037 CONTINUE 10038 CONTINUE 10035 CONTINUE 10036 RETURN END SUBROUTINE CLRSC0 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 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)) CURCO0=1 CURRO0=1 AAAAG0=TERMT0 GOTO 10040 10041 CALL T1OU(140) GOTO 10042 10043 CALL T1OU(155) CALL T1OU(203) GOTO 10042 10044 CALL T1OU(155) CALL T1OU(170) GOTO 10042 10045 CALL T1OU(140) CALL T1OU(143) GOTO 10042 10046 CALL T1OU(155) CALL T1OU(197) GOTO 10042 10047 CALL T1OU(155) CALL T1OU(156) GOTO 10042 10048 CALL T1OU(154) GOTO 10042 10049 CALL T1OU(155) CALL T1OU(246) GOTO 10042 10050 CALL T1OU(155) CALL T1OU(171) GOTO 10042 10051 CALL T1OU(155) CALL T1OU(204) GOTO 10042 10052 CALL T1OU(155) CALL T1OU(200) CALL T1OU(155) CALL T1OU(202) GOTO 10042 10053 CALL T1OU(156) CALL T1OU(159) GOTO 10042 10054 CALL T1OU(159) GOTO 10042 10055 CALL T1OU(155) CALL T1OU(191) GOTO 10042 10056 CALL T1OU(155) CALL T1OU(219) CALL T1OU(187) CALL T1OU(200) CALL T1OU(155) CALL T1OU(219) CALL T1OU(178) CALL T1OU(202) GOTO 10042 10057 CALL T1OU(133) CALL T1OU(139) GOTO 10042 10040 GOTO(10041,10041,10043,10045,10041,10046,10046,10046,10046,10047, * 10041,10041,10048,10051,10041,10041,10046,10053,10052,10050, * 10048,10046,10049,10048,10044,10052,10047,10043,10052,10046, * 10046,10054,10055,10056,10041,10048,10044,10041,10052,10041, * 10058,10041,10050,10057),AAAAG0 IF(AAAAG0.EQ.1420)GOTO 10047 10058 CONTINUE 10042 IF((TERMT0.EQ.14))GOTO 10059 IF((TERMT0.EQ.15))GOTO 10059 IF((TERMT0.EQ.33))GOTO 10059 CALL SENDD0(20) 10059 RETURN END C ---- Long Name Map ---- C Toprow topro0 C Sctop sctop0 C logfile logfi0 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 newname newna0 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 updscreen updsc0 C Lastln lastl0 C Nextline nextl0 C Overlaycol overm0 C newscrend newsc0 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 garbagecollect garba0 C Subs subsa0 C Relz relza0 C termtype termu0 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 savelword savel0 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 defaulttabs defau0 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