INTEGER LINE(133),OUTBUF(1024),C,FILLC0 INTEGER TERMT0(7) INTEGER IN,OUT,ROW,COL,MASK,OUTWI0,NEXTIN,OUTPU0,I INTEGER GETLIN,VTINIT,GETARG INTEGER * 4 DELAY INTEGER * 4 CTOL EXTERNAL QUIT SHORTCALL MKONU$ INTEGER MASKS(3,96) INTEGER AAAAA0(3) INTEGER AAAAB0(4) INTEGER AAAAC0(3) DATA MASKS/0,0,0,4228,132,4,10570,0,0,32074,11242,10,6084,16014,4, *8803,25668,24,5282,9890,22,1090,0,0,2184,4162,8,8322,4360,2,15012, *21956,4,4224,4255,0,0,2048,34,0,31,0,0,0,2,8704,1092,0,26158,18037 *,14,4292,4228,14,16942,1100,31,8735,17932,14,10632,9193,8,15423,17 *936,14,1582,17967,14,8735,2116,2,17966,17966,14,17966,17950,14,0,2 *050,0,0,2050,34,2184,4161,8,31744,992,0,8322,4368,2,8750,132,4,261 *58,1461,30,17732,18417,17,17967,17967,15,1582,17441,14,17967,17969 *,15,1087,1071,31,1087,1071,1,1086,18209,30,17969,17983,17,4238,422 *8,14,16912,17936,14,5425,9379,17,1057,1057,31,22385,17973,17,20017 *,18229,17,17966,17969,14,17967,1071,1,17966,9905,22,17967,9391,17, *1582,17934,14,4255,4228,4,17969,17969,14,17969,10801,4,17969,28341 *,17,10801,17732,17,10801,4228,4,8735,1092,31,2142,2114,30,2080,166 *44,0,8463,8456,15,21956,4228,4,0,0,992,16648,0,0,14336,18384,30,15 *393,17969,15,30720,1057,30,31248,17969,30,14336,2033,14,4232,4238, *4,14336,17969,14878,15393,17969,17,6148,4228,14,128,4228,2180,1849 *8,10442,18,4230,4228,14,11264,22197,21,15360,17969,17,14336,17969, *14,15360,17969,1071,30720,17969,16926,26624,2118,2,30720,16833,15, *14468,4228,8,17408,17969,30,17408,10801,4,17408,22065,10,17408,103 *78,17,17408,17969,14878,31744,2184,31,4248,4226,24,4228,4228,4,422 *7,4232,3,2048,277,0,32767,32767,31/ DATA AAAAA0/170,243,0/ DATA AAAAB0/5,-11819,-13868,-23392/ DATA AAAAC0/170,243,0/ IF((GETARG(1,LINE,133).EQ.-1))GOTO 10000 I=1 DELAY=CTOL(LINE,I)*1000 IF((DELAY.GE.1))GOTO 10001 DELAY=1 10001 GOTO 10002 10000 DELAY=1 10002 IF((GETARG(2,LINE,133).EQ.-1))GOTO 10003 FILLC0=LINE(1) GOTO 10004 10003 FILLC0=170 10004 OUTWI0=75 CALL VTINIT(TERMT0) CALL DATE(2,LINE) CALL VTPRT(1,35,AAAAA0,LINE) CALL VTUPD(1) CALL MKONU$(AAAAB0,LOC(QUIT)) 10005 IF((.NOT..TRUE.))GOTO 10006 CALL DATE(2,LINE) NEXTIN=1 OUTPU0=8 10007 ROW=0 GOTO 10010 10008 ROW=ROW+(1) 10010 IF((ROW.GE.9))GOTO 10009 DO 10011 COL=1,OUTWI0 OUTBUF(COL)=160 10011 CONTINUE 10012 OUT=1 IN=NEXTIN GOTO 10015 10013 IN=IN+(1) 10015 IF((LINE(IN).EQ.0))GOTO 10014 C=LINE(IN) MASK=RS(MASKS(ROW/3+1,C-160+1),MOD(ROW,3)*5) IF((0.GE.OUT))GOTO 10016 IF((OUT.GT.OUTWI0-5))GOTO 10016 DO 10017 COL=1,5 IF((AND(MASK,1).EQ.0))GOTO 10019 OUTBUF(OUT)=FILLC0 10019 OUT=OUT+(1) MASK=RS(MASK,1) 10017 CONTINUE 10018 OUT=OUT+(1) GOTO 10020 10016 GOTO 10014 10020 GOTO 10013 10014 OUTBUF(OUTWI0+1)=0 CALL VTPRT(OUTPU0,15,AAAAC0,OUTBUF) OUTPU0=OUTPU0+(1) GOTO 10008 10009 NEXTIN=IN IF((LINE(NEXTIN).NE.0))GOTO 10007 CALL VTUPD(0) CALL VTMOVE(1,1) CALL SLEEP$(DELAY) GOTO 10005 10006 CALL SWT END SUBROUTINE QUIT(PTR) INTEGER * 4 PTR CALL VTSTOP CALL SWT END C ---- Long Name Map ---- C fillchar fillc0 C outwidth outwi0 C termtype termt0 C outputrow outpu0