1 " "GOTO 10
2 R=0:REM ----+----+----+----+----+----+----+----+----+----+----+----+----+----+--
3 RETURN 
10 LOCK :CLEAR :DIM A$(1)*73:ON ERROR GOTO 500
11 CLS :PAUSE "   PLANAR POLAR PLOTTER":PAUSE "  Copr. 1982 Tandy Corp."
20 "C"CLS :WAIT 0:PRINT "  Fn  Plt Dsp End"
21 Z=ASC INKEY$ -16:IF Z<1OR Z>4THEN 21
22 CLS :GOTO 100*Z
100 M=STATUS 2-STATUS 1+16:INPUT "F(T)=";A$(0):CLS :A$(1)=A$(0)
110 RESTORE 901:IF A$(0)=""POKE M,58,&F1,&AB:GOTO 20
120 Z=ASC A$(0):IF Z<65OR Z>84THEN 160
130 FOR I=1TO 17:READ T$,Z:IF LEFT$ (A$(0),LEN T$)<>T$NEXT I:GOTO 160
140 I=17:NEXT I:POKE M,&F1,Z:M=M+2
150 PRINT T$;:G=LEN A$(0):H=LEN T$:A$(0)=RIGHT$ (A$(0),G-H):GOTO 110
160 Z=ASC A$(0):IF Z>32POKE M,Z:M=M+1
170 T$=CHR$ Z:GOTO 150
200 RESTORE 900:FOR I=1TO 5:READ P$:CLS :PRINT P$;" =";@(I);:INPUT "? ";@(I)
201 NEXT I:CLS 
202 IF A<0OR B>COR D<1OR D>1000OR D<>INT DBEEP 3:WAIT :PRINT "BAD INPUT":WAIT 0:GOTO 200
210 GRAPH :GLCURSOR (0,-250):SORGN 
211 LINE (0,0)-(216,216),,,B:LINE (108,0)-(108,216),3:LINE (0,108)-(216,108),3
212 FOR Y=0TO 211STEP 211:FOR Z=8TO 208STEP 20:LINE (Z,Y)-(Z,Y+5):NEXT Z:NEXT Y
213 FOR Y=0TO 211STEP 211:FOR Z=8TO 208STEP 20:LINE (Y,Z)-(Y+5,Z):NEXT Z:NEXT Y
220 FOR I=0TO 1000STEP D:T=B+.001*I*(C-B):GOSUB 250:IF ILINE (K,L)-(M,N),0
221 K=M:L=N:NEXT I
230 GLCURSOR (0,-30):TEXT :CSIZE 1:LPRINT "F(T)=";A$(1):LF 1:RESTORE 900:FOR I=1TO 5:READ P$:LPRINT P$;" =";@(I)
231 NEXT I:LF 7:GOTO 20
250 GOSUB 2
251 IF ABS R>ALET R=A*SGN R
252 X=R*COS T:Y=R*SIN T
253 M=108*(1+X/A)
254 N=108*(1+Y/A)
255 RETURN 
300 WAIT :PRINT "F(T)=";A$(1):WAIT 0:GOTO 20
400 UNLOCK :END
500 V=STATUS 4:W=PEEK &789B:IF V=2BEEP 1:R=E:GOTO 251
510 WAIT :PRINT "ERROR";W;" in";V:GOTO 20
900 DATA "Radius","TL","TH","Step/1000","F(error)"
901 DATA "SQR",&6B,"SIN",&7D,"COS",&7E,"TAN",&7F,"LN",&76,"LOG",&77,"EXP",&78
902 DATA "PI",&5D,"ABS",&70,"ASN",&73,"ACS",&74,"ATN",&75,"INT",&71,"SGN",&79
903 DATA "OR",&51,"AND",&50,"NOT",&6D
999 END
