1 PRINT"READ THE INSTRUCTIONS FIRST!":STOP 2 'GRFX.BA BY RUSS VILLANUEVA 3 ' [70526,1434]-----11MAY84 4 'ALL RIGHTS RESERVED. 5 'EXCEPT FOR MODEL 100 SIG USERS. 6 'THE FILES FROM THIS PROGRAM ARE COMPATABLE WITH THE "GPRNT.BA" PROGRAM 7 '(SOON TO COME) THE FIGURES DRAWN BY THIS PROGRAM CAN BE DRAWN ON THE 8 'RADIO SHACK PRINTER CGP-115 10 'modifications to grfx.ba by russ villanueva [70526,1434] 11may 12 'some error catching so figures can be drawn and pushed off the 13 'screen using the 's' "shift x,y" command so the 'gprint.ba' will be 14 'able to draw past the model 100's screen limitations. 15 CLEAR1000:MAXFILES=2:DEFINTA-W,Z:DEFSNGX,Y:CLS:GOTO100 20 X3=ABS(C-A)+.0001:Y3=ABS(D-B)+.0001 22 XA=SQR(X3^2+Y3^2):YA=0 26 Y3=ABS(Y3*90/ATN(3D13)) 50 FORYA=0TO360STEP60/XA*2 51 Y3=YA*ATN(3D13)/90:M=XA*COS(Y3)+A+J:N=XA*SIN(Y3)+B+K 52 IF M<0 OR M>239 THEN NEXT:RETURN 54 IF N<0 OR N>63 THEN NEXT:RETURN 64 IFYA<5THENPSET(M,N) 66 LINE-(M,N),1:NEXT:RETURN 100 PRINTCHR$(27);CHR$(112) 101 PRINT@47,"GRAPHICS PROGRAM MOD 1" 102 PRINT@130," File Name";:INPUTF$' 104 PRINT@170," PRINT X,Y?";:A$=INPUT$(1):IFA$="Y"THENP=1 110 PRINT@210," PRINT FILE?";:A$=INPUT$(1):CLS:IFA$="Y"THEN400 130 OPEN F$ FOR APPEND AS 1 140 ON KEY GOSUB 310,320,330,340,350,360,370,380:A=0:B=0:C=0:D=0:E=0 200 Z=0:A$=INKEY$:KEY ON:IFA$=""THEN200ELSEZ=ASC(A$):PRESET(X,Y) 201 IFZ=28THENX=X+1ELSEIFZ=29THENX=X-1ELSEIFZ=30THENY=Y-1 202 IFZ=31THENY=Y+1ELSEIFZ=6THENX=X+5ELSEIFZ=1THENX=X-5ELSEIFZ=20THENY=Y-5 203 IFZ=2THENY=Y+5ELSEIFZ=9THEN GOTO400 205 IFZ=13THENIFE=0THENSOUND3000,20ELSEPRINT#1,A;B;C;D;E:SOUND2000,1:E=0 206 IFZ=27THENJ=0:K=0:PRINT@280,"AUTO FILE COMPRESSION":GOSUB510:GOTO600 207 IFZ=49THENA=X:B=Y:SOUND1000,1 208 IFZ=50THENC=X:D=Y:SOUND1000,1 209 PSET(X,Y) 210 IFPTHENPRINT@280,X;Y; 212 IFZ=115THENPRINT@280,"X,Y-SHIFT";:INPUTJ,K:GOTO400 220 IFZ=99THENGOSUB500:GOTO400 230 IFZ=119THENW=1:GOTO400 299 GOTO200 300 '---------------------FUNCTION KEYS 310 E=1:C=0:D=0:PSET(A+J,B+K):RETURN 320 LINE(A+J,B+K)-(C+J,D+K):E=2:RETURN 330 LINE(A+J,B+K)-(C+J,D+K),1,B:E=3: RETURN 340 LINE(A+J,B+K)-(C+J,D+K),1,BF:E=4: RETURN 350 LINE(A+J,B+K)-(C+J,D+K),0,BF:E=5: RETURN 360 GOSUB20:E=6:RETURN'CIRCLE 370 BEEP:RETURN'???? 380 BEEP:RETURN'???? 400 CLS:CLOSE:OPENF$FORINPUTAS1: SOUND1000,1:WC=0 410 INPUT#1,A,B,C,D,E:IFW=1THENA$=INPUT$(1):BEEP 412 WC=WC+1:IFWTHENPRINT@280,WC; 414 ONEGOSUB 310,320,330,340,,360:IFEOF(1)THEN440ELSE410 440 W=0:CLOSE:GOTO130 500 PRINT@280,"CHANGING SETPOINTS" 510 CLOSE:OPENF$FORINPUTAS1: OPEN"X"FOROUTPUTAS2 512 INPUT#1,A,B,C,D,E:IFE=1THENC=0:D=0 514 A$=STR$(A+J)+STR$(B+K)+STR$(C+J)+STR$(D+K)+STR$(E):PRINT#2,A$ 515 IFEOF(1)THEN516ELSE512 516 CLOSE:K$=F$+".DO":KILLK$:J=0:K=0:NAME"X.DO"ASK$:OPENF$FORAPPENDAS1:RETURN 600 CLOSE:OPENF$FORINPUTAS1: OPEN"X"FOROUTPUTAS2 602 INPUT#1,A$:PRINT#2,A$:IFEOF(1)THEN604ELSE602 604 CLOSE:K$=F$+".DO":KILLK$: NAME"X.DO"ASK$:MAXFILES=0:MENU