3D0G NEW 5 CL = 7 7 QA = 160 20 TEXT:HOME 30 PRINT "Color Hires Drawing with Pix^2 vers. 2":PRINT 50 PRINT:PRINT "Press Any Key To Continue...":GET A$ 51 GOSUB 20000 52 GOSUB 40888 54 GOSUB 50000 55 HTAB 1:VTAB 24:PRINT "Press (?) for a list of commands."; 60 HGR:HTAB 1:VTAB 21:POKE 35,23:GOSUB 10000 70 IF IR=1 THEN GOSUB 20100 72 IF IR=2 THEN GOSUB 20200 74 IF IR=3 THEN GOSUB 20300 76 IF IR=4 THEN GOSUB 20400 85 B9=(PEEK(112)*256)+PEEK(111):IF B9<20480 THEN B9=FRE(0) 95 K=PEEK(-16384)-128:POKE -16384,0:POKE -16368,0:K$="":IF K>0 THEN K$=CHR$(K) 100 IF K$="N" THEN HGR 101 IF K$="O" THEN INPUT "FILE NAME: ";F$:PRINT CHR$(4);"BLOAD "F$",A8192" 102 IF K$="P" THEN INPUT "DIRECTORY NAME: ";F$:PRINT CHR$(4);"PREFIX "F$ 103 IF K$="S" THEN INPUT "FILE NAME: ";F$:PRINT CHR$(4);"BSAVE "F$",A8192,L8192" 104 IF K$="Q" THEN TEXT:END 125 IF K$="I" THEN GOSUB 10100 127 IF K$="C" THEN GOSUB 10200 129 HCOLOR=CL 130 IF P>127 THEN XX=H:YY=V:ZZ=CL:GOSUB 63999 135 IF K$="D" THEN GOSUB 30000 137 IF K$="M" THEN CR=CR+1:IF CR=6 THEN CR=1 138 IF K$="?" THEN GOSUB 50100 139 IF K$="F" THEN GOSUB 50200 140 IF CR=1 THEN GOSUB 40100 141 IF CR=2 THEN GOSUB 40200 142 IF CR=3 THEN GOSUB 40300 143 IF CR=4 THEN GOSUB 40400 144 IF CR=5 THEN GOSUB 40500 150 GOTO 70 10000 L=16384 10010 PRINT CHR$(4);"BLOAD COLOR.DRAW.SHP,A"L 10030 POKE 232,0:POKE 233,64 10040 RETURN 10100 ROT=0:SCALE=192 10110 FOR X=0 TO 279:XDRAW 1 AT X,0:NEXT X 10120 RETURN 10200 PCL=CL 10210 PCL=PCL+1 10220 IF PCL=8 THEN PCL=0 10230 CL=PCL 10240 HTAB 38:VTAB 24:PRINT MID$("KGPWkobw",CL + 1,1); 10250 HTAB 1:VTAB 21 10260 RETURN 20000 HOME:PRINT "Please select the input device:":PRINT 20005 PRINT " 1) Paddle / Koalapad" 20006 PRINT " 2) Joystick" 20007 PRINT " 3) Apple IIgs ADB Mouse" 20008 PRINT " 4) Keyboard" 20010 PRINT:GET R$ 20015 IR=VAL(R$) 20020 IF IR<1 OR IR>4 THEN GOTO 20000 20025 IF IR=2 OR IR=4 THEN GOSUB 22000 20030 IF IR=3 THEN GOSUB 23000 20040 RETURN 20100 H=INT((PDL(0)/255)*139):V=INT((PDL(1)/255)*(QA-1)):P=PEEK(49249):RETURN 20200 TH=PDL(0):TV=PDL(1) 20205 IF TH<100 THEN H=H-1 20210 IF TH>160 THEN H=H+1 20215 IF TV<100 THEN V=V-1 20220 IF TV>160 THEN V=V+1 20225 IF H<0 THEN H=0 20230 IF V<0 THEN V=0 20235 IF H>139 THEN H = 139 20240 IF V>(QA-1) THEN V=(QA-1) 20245 P=PEEK(49249):RETURN 20300 PRINT CHR$(4);"IN#4":INPUT "";H,V,P:PRINT CHR$(4);"IN#0" 20305 IF P=1 THEN P=255 20310 IF H<0 THEN H=0 20315 IF V<0 THEN V=0 20320 IF H>139 THEN H=139 20325 IF V>(QA-1) THEN V=(QA-1) 20330 RETURN 20400 TK=PEEK(-16384)-128 20405 IF TK=13 THEN V=V+1 20410 IF TK=11 THEN H=H+1 20415 IF TK=10 THEN H=H-1 20420 IF TK=9 THEN V=V-1 20425 IF H<0 THEN H=0 20430 IF H>139 THEN H=139 20435 IF V<0 THEN V=0 20440 IF V>(QA-1) THEN V=(QA-1) 20445 P=PEEK(49249):RETURN 22000 H=70:V=80:RETURN 23000 PRINT CHR$(4);"PR#4":PRINT CHR$(1):PRINT CHR$(4);"PR#0":RETURN 30000 PRINT:PRINT "Drawing Commands:" 30010 PRINT "

lot ect ine Plygon" 30015 PRINT "illrect nvrect" 30020 INPUT "Choice?";C$ 30030 IF C$="" OR MID$(C$,1,1)=" " THEN RETURN 30040 IF C$="P" THEN INPUT "Coordinate? (X,Y)";XX,YY:ZZ=CL:GOSUB 63999 30045 IF C$="p" THEN C$="P":GOTO 30040 30050 IF C$="R" OR C$="r" THEN INPUT "Starting Coordinate? (X,Y)";RX,RY:INPUT "Ending Coordinate? (X,Y)";RH,RW:HPLOT (RX*2),RY TO (RH*2),RY TO (RH*2),RW TO (RX*2),RW TO (RX*2),RY 30051 IF C$="R" OR C$="r" THEN HPLOT (RX*2)+1,RY TO (RX*2)+1,RW:HPLOT (RW*2)+1,RY TO (RW*2)+1,RW 30060 IF C$="L" OR C$="l" THEN INPUT "Starting Coordinate? (X,Y)";RX,RY:INPUT "Ending Coordinate? (X,Y)";RH,RW:HPLOT (RX*2),RY TO (RH*2),RW 30062 IF C$="F" OR C$="f" THEN INPUT "Starting Coordinate? (X,Y)";RX,RY:INPUT "Ending Coordinate? (X,Y)";RH,RV:FOR XS=RX*2 TO RH*2:HPLOT XS,RY TO XS,RV:NEXT XS 30064 IF C$="I" OR C$="i" THEN INPUT "Starting Coordinate? (X,Y)";RX,RY:INPUT "Ending Coordinate? (X,Y)";RH,RV:ROT=0:SCALE=(RV-RY)+1:FOR XS=RX*2 TO RH*2:XDRAW 1 AT XS,RV:NEXT XS 30070 IF C$<>"O" AND C$<>"o" THEN GOTO 30000 30080 INPUT "First Coordinate? (X,Y)";PX,PY:HPLOT (PX*2),PY 30090 INPUT "Next Coordinate? (X,Y)";PX,PY 30100 IF PX=0 OR PY=0 THEN GOTO 30000 30110 HPLOT TO (PX*2),PY 30120 GOTO 30090 40100 ROT=0:SCALE=192:XDRAW 1 AT H*2,0:XDRAW 1 AT H*2,0:ROT=48:SCALE=140:XDRAW 1 AT 0,V:XDRAW 1 AT 140,V:XDRAW 1 AT 0,V:XDRAW 1 AT 140,V 40150 RETURN 40200 ROT=0:SCALE=1:XDRAW 2 AT H*2,V:FOR X=1 TO 100:NEXT X:XDRAW 2 AT H*2,V:RETURN 40300 ROT=0:SCALE=1:XDRAW 3 AT H*2,V:FOR X=1 TO 100:NEXT X:XDRAW 3 AT H*2,V:RETURN 40400 ROT=0:SCALE=1:XDRAW 4 AT H*2,V:FOR X=1 TO 100:NEXT X:XDRAW 4 AT H*2,V:RETURN 40500 ROT=0:SCALE=1:XDRAW 5 AT H*2,V:FOR X=1 TO 100:NEXT X:XDRAW 5 AT H*2,V:RETURN 40888 HOME:PRINT "Please select your mouse cursor:":PRINT 40890 PRINT "1) No Pointer (Use Bars)" 40900 PRINT "2) Arrow" 40910 PRINT "3) Cross" 40920 PRINT "4) Crosshair" 40925 PRINT "5) Pencil" 40930 PRINT:PRINT 40940 GET A$:CR=VAL(A$) 40950 IF CR<1 OR CR>5 THEN GOTO 40888 40960 HOME:RETURN 50000 HOME 50005 PRINT "Help:":PRINT 50010 PRINT " N - Clear the screen (New)" 50015 PRINT " O - Load a file (Open)" 50020 PRINT " S - Save a file" 50025 PRINT " P - Change directories (Prefix)" 50030 PRINT " C - Change the color" 50035 PRINT " I - Invert the screen" 50040 PRINT " D - Drawing commands" 50045 PRINT " M - Change the mouse pointer" 50047 PRINT " F - Turn on/off full screen graphics" 50050 PRINT " ? - Bring up this help screen" 50055 PRINT " Q - Exit the program (Quit)" 50060 PRINT:PRINT "Press any key to continue." 50062 POKE 34,20:REM PROTECTS TEXT FROM BEING OVERWRITTEN 50065 RETURN 50100 POKE 49233,0 50110 WAIT -16384,128 50120 POKE -16368,0:POKE -16384,0 50130 POKE 49232,0 50140 RETURN 50200 REM FULL SCREEN TRICK 50210 IF QA=160 THEN QA=192:POKE 49234,0:RETURN 50220 QA=160:POKE 49235,0:RETURN 63999 HCOLOR=ZZ:HPLOT XX*2,YY TO (XX*2)+1,YY:RETURN SAVE COLOR.DRAW.5 CALL -151 4000:05 00 0C 00 0E 00 35 00 47 00 5C 00 04 00 2E 2E 2E 2E 2E 3E 3F 36 35 35 3F 3C 3C 37 3E 24 24 24 4020:24 24 2C 36 36 36 36 2D 3C 24 24 2E 2F 26 2E 2F 26 3E 2D 05 00 24 24 37 36 3E 3F 7F 49 49 2D ED 4040:DB 13 36 3E 24 24 00 C1 C1 24 2C 36 B6 12 36 3E 24 24 C1 1B 3F 7F 49 49 09 2D 2D 00 2C 2C 2C 24 4060:25 24 25 24 25 E4 C1 3A 3C D7 11 C1 C1 17 76 35 DD 4B E9 DB 03 C1 36 36 36 36 36 06 C1 C1 C1 C1 4080:C1 C1 31 2E 3E 36 00 3D0G BSAVE COLOR.DRAW.SHP,A$4000,L135