Page:NBS Technical Note 11176 (1983) (IAutilityprogramsf1176dick).djvu/29

This page has been proofread, but needs to be validated.
     W/2 ) : GOSUB 8060
5090 PF = 0 : FOR J = 2 TO  LEN (X$(L)) STEP 2
5100 X =  ASC ( MID$ (X$(L),J,1)) - 93: IF X = 34 THEN PF =  NOT PF:J = J -
     1: NEXT
5110 Y =  ASC ( MID" (X$(L),J + 1,1)) - 93
5120  GOSUB 8080: NEXT J
5125  PRINT "READY TO CHANGE";: INPUT A$: IF A$ <  > "Y"  THEN 5000
5130  PRINT BELL$;"INPUT HERSHEY CORR.<H> OR USE CURSOR<C>?";: GET Q$: IF
     Q$ <  > "H" AND Q$ <  > "C" THEN 5130
5140  IF Q$ = "H" AND FI = 1: GOSUB 1120;FI = 0: GOTO 5400
5150  GOSUB 8000
5160  PRINT "CURRENT WIDTH IS ";W: PRINT "LEFT MARKER AT:";XT: PRINT "RIGH
     T MARKER AT:";XF
5170  PRINT BELL$;"ARE THESE OK?";: GET A$: PRINT A$: IF A$ <  > "Y" AND A   
     $ <  > "N" THEN 5170
5180  IF A$ = "N" THEN  PRINT BELL$;: INPUT "LEFT MARKER:";XT: PRINT BELL$
     ;: INPUT "RIGHT MARKER":;XF:W = XF - XT: GOTO 5160         
5190 X$ =  CHR$ (W + 93): GOSUB 8060                                   
5200  POKE 33,5: POKE 32,34: PRINT : PRINT " PEN": PRINT "MODE: ": POKE 33
     ,33: POKE 32,0:PF = 0
5210  SCALE= 1: ROT= 0:X = X1;Y = Y1: DRAW 1 AT X,Y: PRINT : PRINT "I,J,K, 
     M KEYS MOVE CURSOR U,R,L,D"                                        
5220  PRINT "RETURN END MOVE, /  ENDS CHAR."                            
5230  PRINT "SPACE FLIPS PEN, E ENDS FONT";: HTAB (37): PRINT  CHR$ (85 -
     17 * PF
5240 DX = 0 :DY = 0
5250  GET A$: PRINT BELL$;: IF ASC (A$) < 73  OR ASC (A$) > 77  THEN 5320
5260  XDRAW 1 AT X,Y: ON  ASC (A$) - 73 GOTO 5280,5290,5300,5300
5270 DY = DY - 1:Y = Y - 5: GOTO 5310
5280 DX = DX - 1:X = X - 5: GOTO 5310
5290 DX = DX + 1:X = X + 5: GOTO 5310
5300 DY = DY + 1:Y = Y = 5
5310  DRAW 1 AT X,Y: GOTO 5250
5320  IF A$ <  > "E" AND A$ <  > "/" AND A$ <  > " " AND  ASC (A$) <  > 13
      THEN 5250                                                           
5330  IF A$ = " " THEN PF =  NOT PF:X$ = X$ +  CHR$ (127): HTAB (37): PRINT
      CHR$ (85 - 17 * PF): GOTO 5250                                       
5340  IF  ASC (A$) = 13 THEN X$ = X$ +  CHR$ (DX + 93) + CHR$ ( 93 - DY): IF
     PF THEN  HPLOT X1,Y1 TO X,Y
5350  IF  ASC (A$) = 13 THEN X1 =X:Y1 = Y: GOTO 5210
5360  IF A$ = "/" THEN X$(L) = X$: IF PF = 1 AND X1 <  > 140 + M * XF AND
     Y1 <  > 80 THEN X$(L) = X$(L) +  CHR$ (127) +  CHR$ (XF + (140 - X1) / 
     5 + 93) +  CHR$ ((Y1 - 80) / 5 + 93)
5370  IF A$ = "/" AND  LEN (X$(L)) = 1 THEN X$(L) = X$(L) +  CHR$ (127) +
       CHR$ (93) + CHR$(93)
5380  IF A$ = "/" THEN  PRINT BELL$: PRINT "CHARACTER O.K?";: GET Q$: PRINT 
     Q$: IF Q$ <  > "Y" AND Q$ <  > "N" THEN 5380
5390  IF Q$ = "N" THEN 5150 
5400  POKE 33,40: GOSUB 11000: GOSUB 6000: GOSUB 11000
5410  IF A$ = "/" AND (FI OR EF) THEN  RETURN
5420  IF A$ = "E" AND EF THEN EF = 0: RETURN
5430  PRINT BELL$;"FINISHED EDITING?";: GET A$:  PRINT A$: IF A$ <  > "Y" AND
     A$ <  ? "N" THEN 5430
5440  IF A$ = "N" AND FI THEN FI = 0: GOTO 5060
5450  IF A$ = "N" THEN FI = 1: GOSUB 4010:FI = 0: GOTO 5060
5460 L = LMAX:X$ = "E": PRINT " E";: GOTO 1220 
6000  HCOLOR= 0:Z = L - 50 *  INT (L / 50): IF (Z/ 50) =   INT (Z / 50) AND
     (L > 0) THEN  PRINT BELL$;"STRIKE ANY KEY TO CONTINUE...";: GET Q$: HGR
     : REM  DISPLAY ROUTINE
6010  IF  LEN (X$(L)) = 0 THEN  RETURN

20