10 ; G.U.P.›20 ; BY DAREK MIHOCKA›30 ; (c) 1985, ANTIC PUBLISHING›40 START = $4000›50 *= START›60 JSR INIT›70 .WORD RANDOM›80 .WORD SQUARE›90 .WORD DRAWTO›0100 .WORD LINE›0110 .WORD CIRCLE›0120 .WORD COLOR›0130 .WORD GRAPHICS›0140 .WORD C128›0150 .WORD CIRF›0160 .WORD TEXTPLOT›0170 .WORD ONEPLOT›0180 .WORD COLORN›0190 .WORD SETCOLOR›0200 ;FUTURE EXPANSION›0210 .WORD END›0220 .WORD END›0230 TITLE .SBYTE " GRAPHICS UTILITY PACKAGE. DAREK MIHOCKA"›0240 ;ZERO PAGE VARIABLES›0250 XLOC = 203›0260 YLOC = 204›0270 COL = 205›0280 OFFSET = 206›0290 ONEORMANY = 207›0300 XLOCOFFSET = 208›0310 HBYTES = 209›0320 ;THE FOLLOWING ARE TEMPORARY›0330 ;VARIABLES STORED IN FR0›0340 REG1 = 212›0350 REG2 = 214›0360 REG3 = 216›0370 SLOPE = 218›0380 MASK = 220›0390 XMAX = 221›0400 YMAX = 222›0410 XTEMP = 223›0420 YTEMP = 224›0430 IDEAL = 225›0440 RAD = 227›0450 ORAD = 228›0460 RADS = 229›0470 XC = 230›0480 YC = 231›0490 YTEMP2 = 232›0500 STRHI = 233›0510 STRLO = 234›0520 STRLEN = 235›0530 LCOUNT = 236›0540 ;THE SUPERFAST PLOT›0550 PLOT LDA XLOC›0560 AND #$07 ;0-7›0570 ORA OFFSET ;8n›0580 TAX ;=MASK OFFSET›0590 LDA YLOC›0600 AND #3›0610 TAY ›0620 LDA MASKTABLE,X›0630 AND ONEORMANY ;0 MAKES MANY›0640 STA MASK›0650 EOR #255›0660 AND COLOR,Y›0670 STA COL›0680 ;ENTER HERE FOR MORE SPEED›0690 MINIPLOT LDX YLOC›0700 CPX #192›0710 BCS PLOTFIN›0720 LDA XLOC›0730 YDIV›0740 LDY #2›0750 BEQ MEM87›0760 LSR A›0770 DEY ›0780 BEQ MEM87›0790 LSR A›0800 DEY ›0810 BEQ MEM87›0820 LSR A›0830 MEM87 TAY ›0840 MEM88›0850 LDA SCR.TABLE,X›0860 STA REG2›0870 LDA SCR.TABLE+$C0,X›0880 MEM89›0890 STA REG2+1›0900 LDA (REG2),Y›0910 AND MASK›0920 ORA COL›0930 STA (REG2),Y ;THE PLOT›0940 PLOTFIN RTS ›0950 XINT .WORD 0›0960 COLOR .WORD $FFFF,$FFFF›0970 MUL .WORD 0›0980 ;MASK FOR PLOT›0990 MASKTABLE .BYTE 0,0,0,0,0,0,0,0,15,240,15,240,15,240,15,240,$3F,$CF,$F3,$FC,$3F,$CF,$F3,$FC›1000 .BYTE $7F,$BF,$DF,$EF,$F7,$FB,$FD,$FE›1010 HLINMACH›1020 LDA XMAX ;NO ENTRY FROM BASIC›1030 CMP XLOC ;MAKE SURE›1040 BEQ FINI.2 ;XLOC