INTEGER A$BUF(200) INTEGER NAME(102),HEADI0(102) INTEGER IFD INTEGER STATE(4) INTEGER OPEN,EQUAL,GFNARG,GVLARG INTEGER PARSCL INTEGER AAAAA0(31) INTEGER AAAAB0 INTEGER AAAAC0(12) INTEGER AAAAD0(17) INTEGER AAAAE0(12) INTEGER AAAAF0(17) INTEGER AAAAG0(12) INTEGER AAAAH0(17) INTEGER AAAAI0 DATA AAAAA0/233,188,242,233,190,234,236,188,242,233,190,237,188,24 *2,233,190,240,160,232,188,233,231,238,190,238,188,233,231,238,190, *0/ DATA AAAAC0/175,228,229,246,175,243,244,228,233,238,177,0/ DATA AAAAD0/211,244,225,238,228,225,242,228,160,201,238,240,245,24 *4,160,177,0/ DATA AAAAE0/175,228,229,246,175,243,244,228,233,238,178,0/ DATA AAAAF0/211,244,225,238,228,225,242,228,160,201,238,240,245,24 *4,160,178,0/ DATA AAAAG0/175,228,229,246,175,243,244,228,233,238,179,0/ DATA AAAAH0/211,244,225,238,228,225,242,228,160,201,238,240,245,24 *4,160,179,0/ IF((PARSCL(AAAAA0,A$BUF).NE.-3))GOTO 10000 CALL ERROR('Usage: print {-{i|j|l|m|p}} *{-h | }.') 10000 IF((A$BUF(236-225+1).EQ.2))GOTO 10001 A$BUF(236-225+27)=66 10001 IF((A$BUF(237-225+1).EQ.2))GOTO 10002 A$BUF(237-225+27)=6 10002 IF((A$BUF(240-225+1).EQ.0))GOTO 10003 IF((A$BUF(233-225+1).EQ.2))GOTO 10004 A$BUF(233-225+27)=5 10004 GOTO 10005 10003 IF((A$BUF(233-225+1).EQ.2))GOTO 10006 A$BUF(233-225+27)=0 10006 CONTINUE 10005 STATE(1)=1 HEADI0(1)=0 10007 AAAAB0=GFNARG(NAME,STATE) GOTO 10008 10009 GOTO 10010 10011 IFD=OPEN(NAME,1) IF((IFD.NE.-3))GOTO 10012 CALL PRINT(-15,'*s: can''t open*n.',NAME) GOTO 10013 10012 GOTO 10014 10015 CALL FPRINT(HEADI0,IFD,A$BUF) GOTO 10016 10017 CALL FPRINT(AAAAD0,IFD,A$BUF) GOTO 10016 10018 CALL FPRINT(AAAAF0,IFD,A$BUF) GOTO 10016 10019 CALL FPRINT(AAAAH0,IFD,A$BUF) GOTO 10016 10014 IF((HEADI0(1).NE.0))GOTO 10015 IF((EQUAL(NAME,AAAAC0).EQ.1))GOTO 10017 IF((EQUAL(NAME,AAAAE0).EQ.1))GOTO 10018 IF((EQUAL(NAME,AAAAG0).EQ.1))GOTO 10019 CALL FPRINT(NAME,IFD,A$BUF) 10016 CALL CLOSE(IFD) 10013 GOTO 10020 10021 CALL GVLARG(HEADI0,STATE) GOTO 10020 10008 AAAAI0=AAAAB0+4 GOTO(10021,10011,10009),AAAAI0 10020 CONTINUE GOTO 10007 10010 CALL SWT END SUBROUTINE FPRINT(NAME,FIN,A$BUF) INTEGER NAME(1) INTEGER FIN INTEGER A$BUF(200) INTEGER C,DATE(12),TIME(9),LINE(134),BUF(134) INTEGER PAGENO,LINENO,J,BOTTOM,COLUMN,MAXCOL,EJECT,TMARG INTEGER GETLIN INTEGER AAAAJ0 INTEGER AAAAK0 INTEGER AAAAL0 INTEGER AAAAM0 INTEGER AAAAN0 INTEGER LENGTH INTEGER AAAAO0(41) INTEGER AAAAP0(4) DATA AAAAO0/160,160,160,160,160,160,160,160,160,160,160,160,160,16 *0,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160, *160,160,160,160,160,160,160,160,160,160,0/ DATA AAAAP0/170,163,248,0/ PAGENO=1 LINENO=0 TMARG=A$BUF(237-225+27)/2 BOTTOM=A$BUF(236-225+27)-A$BUF(237-225+27) CALL GETDA0(DATE) CALL GETTI0(TIME) 10024 IF((GETLIN(BUF,FIN,134).EQ.-1))GOTO 10025 EJECT=0 COLUMN=0 MAXCOL=0 J=1 GOTO 10028 10026 J=J+(1) 10028 IF((BUF(J).EQ.0))GOTO 10027 C=BUF(J) AAAAL0=OR(C,128) GOTO 10029 10030 EJECT=1 GOTO 10031 10032 COLUMN=COLUMN-(1) GOTO 10031 10033 COLUMN=0 GOTO 10031 10034 CONTINUE 10035 COLUMN=COLUMN+(1) IF((COLUMN.LE.0))GOTO 10036 IF((COLUMN.GE.134))GOTO 10036 LINE(COLUMN)=160 IF((COLUMN.LE.MAXCOL))GOTO 10037 MAXCOL=COLUMN 10037 CONTINUE 10036 CONTINUE IF((AND(COLUMN,7).NE.0))GOTO 10035 GOTO 10031 10038 COLUMN=COLUMN+(1) IF((COLUMN.LE.0))GOTO 10039 IF((COLUMN.GE.134))GOTO 10039 LINE(COLUMN)=138 IF((COLUMN.LE.MAXCOL))GOTO 10040 MAXCOL=COLUMN 10040 CONTINUE 10039 GOTO 10031 10041 COLUMN=COLUMN+(1) IF((COLUMN.LE.0))GOTO 10042 IF((COLUMN.GE.134))GOTO 10042 LINE(COLUMN)=C IF((COLUMN.LE.MAXCOL))GOTO 10043 MAXCOL=COLUMN 10043 CONTINUE 10042 GOTO 10031 10029 AAAAM0=AAAAL0-135 GOTO(10032,10034,10038,10044,10030,10033,10044,10044,10044,100 *44,10044,10044,10044,10044,10044,10044,10044,10044,10044,10044,100 *44,10044,10044,10044,10041,10041,10041,10041,10041,10041,10041,100 *41,10041,10041,10041,10041,10041,10041,10041,10041,10041,10041,100 *41,10041,10041,10041,10041,10041,10041,10041,10041,10041,10041,100 *41,10041,10041,10041,10041,10041,10041,10041,10041,10041,10041,100 *41,10041,10041,10041,10041,10041,10041,10041,10041,10041,10041,100 *41,10041,10041,10041,10041,10041,10041,10041,10041,10041,10041,100 *41,10041,10041,10041,10041,10041,10041,10041,10041,10041,10041,100 *41,10041,10041,10041,10041,10041,10041,10041,10041,10041,10041,100 *41,10041,10041,10041,10041,10041,10041,10041,10041,10041,10041,100 *41),AAAAM0 10044 CONTINUE 10031 GOTO 10026 10027 LINE(MAXCOL+1)=0 IF((LINENO.GE.BOTTOM))GOTO 10046 IF((LINENO.EQ.0))GOTO 10046 IF((EJECT.NE.0))GOTO 10046 GOTO 10045 10046 IF((LINENO.LE.0))GOTO 10047 AAAAJ0=1 GOTO 10022 10048 CONTINUE 10047 CALL SKIP(A$BUF(237-225+27)-TMARG-1,-11) IF((A$BUF(237-225+27).LE.0))GOTO 10049 AAAAK0=1 GOTO 10023 10050 CONTINUE 10049 CALL SKIP(TMARG,-11) LINENO=A$BUF(237-225+27) 10045 IF((A$BUF(233-225+27).LE.0))GOTO 10051 CALL PRINT(-11,'*#x.',A$BUF(233-225+27)) 10051 CALL PUTLIN(LINE,-11) LINENO=LINENO+(1) GOTO 10024 10025 IF((LINENO.LE.0))GOTO 10052 AAAAJ0=2 GOTO 10022 10053 CONTINUE 10052 RETURN 10022 IF((A$BUF(240-225+1).NE.0))GOTO 10055 IF((A$BUF(234-225+1).NE.0))GOTO 10055 GOTO 10054 10055 CALL PUTCH(140,-11) CALL PUTCH(138,-11) GOTO 10056 10054 CALL SKIP(A$BUF(236-225+27)-LINENO,-11) 10056 PAGENO=PAGENO+(1) GOTO 10057 10023 CALL PRINT(-11,AAAAP0,A$BUF(233-225+27)) AAAAN0=41-MAX0(40-LENGTH(NAME),0) CALL PRINT(-11,'*s*s *s *s page *i*n.',NAME,AAAAO0(AAAAN0),DATE *,TIME,PAGENO) GOTO 10058 10057 GOTO(10048,10053),AAAAJ0 GOTO 10057 10058 GOTO 10050 END SUBROUTINE SKIP(N,FOUT) INTEGER N,FOUT INTEGER I I=1 GOTO 10061 10059 I=I+(1) 10061 IF((I.GT.N))GOTO 10060 CALL PUTCH(138,FOUT) GOTO 10059 10060 RETURN END SUBROUTINE GETDA0(SDATE) INTEGER SDATE(12) INTEGER MONTH,I INTEGER CTOI INTEGER MMDDYY(9) INTEGER SPOS(13) INTEGER SMON(48) INTEGER AAAAQ0(15) DATA SMON/202,225,238,0,198,229,226,0,205,225,242,0,193,240,242,0, *205,225,249,0,202,245,238,0,202,245,236,0,193,245,231,0,211,229,24 *0,0,207,227,244,0,206,239,246,0,196,229,227,0/ DATA SPOS/12,1,5,9,13,17,21,25,29,33,37,41,45/ DATA AAAAQ0/170,243,160,170,172,178,243,160,177,185,170,172,178,24 *3,0/ CALL DATE(1,MMDDYY) I=1 MONTH=CTOI(MMDDYY,I) CALL ENCODE(SDATE,12,AAAAQ0,SMON(SPOS(MONTH+1)),MMDDYY(4),MMDDYY(7 *)) RETURN END SUBROUTINE GETTI0(STIME) INTEGER STIME(9) INTEGER I,HOUR INTEGER CTOI INTEGER HHMMSS(9),AMPM INTEGER AAAAR0(13) DATA AAAAR0/170,178,233,186,170,172,178,243,160,170,227,237,0/ CALL DATE(2,HHMMSS) I=1 HOUR=CTOI(HHMMSS,I) IF((HOUR.LT.12))GOTO 10062 AMPM=240 GOTO 10063 10062 AMPM=225 10063 CALL ENCODE(STIME,9,AAAAR0,MOD(HOUR+11,12)+1,HHMMSS(4),AMPM) RETURN END C ---- Long Name Map ---- C newpage newpa0 C gettime getti0 C heading headi0 C getdate getda0