0 CLS:OPEN"EQUBUF.DO"FOROUTPUTAS1 10 PRINT:PRINT" Copywrite 1988, James C. Scales 20 PRINT:PRINT" Enter X=F(z)...ie X=Z or X=COS(z) 30 PRINT" X=";:LINE INPUTA$ 40 PRINT:PRINT" Enter Y=F(z)-or-F(x) 50 PRINT" Y=";:LINE INPUTB$ 60 PRINT#1,"1000 X=";A$ 70 PRINT#1,"1010 Y=";B$ 80 A$="RUN 100"+CHR$(13):FORI=1TOLEN(A$):POKE65449+2*I,ASC(MID$(A$,I)):POKE65450+2*I,0:NEXT:POKE65450,I-1 90 CLOSE:CLS:MERGE "EQUBUF.DO" 100 CLS 110 PRINT:INPUT"From What Point (Z)";Z1 120 INPUT"To What Point (Z) ";Z2 130 INPUT"What Resolution ";R 140 AX$="":INPUT"Relative X&Y Axes ";AX$ 150 CLS:IFR<>0THEN DIM P(INT(ABS((Z2-Z1)/R))+1,2)ELSE DIM P(176,2):R=ABS((Z2-Z1)/175) 160 PRINTCHR$(27);"p" 170 PRINT@0,"X=" 180 PRINT"to" 190 PRINT 200 PRINT"Y=" 210 PRINT"to 220 PRINTCHR$(27);"q" 230 LINE (62,0)-(239,63),1,B 240 IF R=0 THEN R=ABS(Z2-Z1)/175 250 XC=1 260 MX=-5E50:MY=-5E50:LX=5E50:LY=5E50 270 PRINT@221,"of";INT((Z2-Z1)/R) 280 FOR Z=Z1 TO Z2 STEP R 290 PRINT@143,INT((Z-Z1)/R) 300 GOSUB1000 310 P(XC,1)=X:P(XC,2)=Y:XC=XC+1 320 IF XMX THEN MX=X 340 IF YMY THEN MY=Y 360 NEXT 370 PRINT@143," ";:PRINT@221," "; 380 IFMX=LXTHENXMAG=1:LX=MX-87.5ELSEXMAG=ABS(175/(MX-LX)) 390 IFMY=LYTHENYMAG=1:LY=MY-32ELSEYMAG=ABS(61/(MY-LY)) 400 IF AX$<>"Y" AND AX$<>"y" THEN 430 410 IF YMAG*(MX-LX)>175 THEN YMAG=XMAG 420 IF XMAG*(MY-LY)>61 THEN XMAG=YMAG 430 IF SGN(LX*MX)<0THENLINE (INT(-LX*XMAG+63),0)-(INT(-LX*XMAG+63),63) 440 IF SGN(LY*MY)<0THENLINE (63,INT(62+LY*YMAG))-(239,INT(62+LY*YMAG)) 450 PRINT CHR$(27);"q" 460 PRINT@2,"";:PRINT USING "#####.##";LX;:PRINT@42,"";:PRINT USING "#####.##";MX;:PRINT@122,"";:PRINT USING "#####.##";LY;:PRINT@162,"";:PRINT USING "#####.##";MY 470 LINE (INT((P(1,1)-LX)*XMAG+63),INT(62-(P(1,2)-LY)*YMAG))-(INT((P(1,1)-LX)*XMAG+63),INT(62-(P(1,2)-LY)*YMAG)) 480 FOR PC=2 TO XC-1 490 LINE -(INT((P(PC,1)-LX)*XMAG+63),INT(62-(P(PC,2)-LY)*YMAG)) 500 NEXT 510 PRINT@280,"Another X?";:PRINT@289,"";:A$=INPUT$(1):IFA$="Y"ORA$="y"THENRUN100ELSEPRINT@280,"Another ";:PRINT@289,"";:A$=INPUT$(1):IFA$="Y"ORA$="y"THENRUNELSECLS:MENU 1000 X=COS(Z)+Z/5 1010 Y=SIN(Z)+Z/5 1020 RETURN