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