0100 ; ATARI GRAPHICS OVERLAY›0110 ; PLOTTING ROUTINE›0120 ; (C) 1984 JEFF BRENNER›0130 ;›0140 ; FORM: A=USR(PLOT,X,Y)›0150 ;›0160 COLOR = $CB›0170 LOW = $CC›0180 HIGH = $CD›0190 X = $CE›0200 Y = $CF›0210 ;›0220 *= $0600 ;RELOCATABLE›0230 ;›0240 PLOT PLA ›0250 PLA ›0260 PLA ›0270 CMP #40 ;HORIZ POS>39 OR <0›0280 BCS RET1›0290 ADC #24›0300 STA X›0310 PLA ›0320 PLA ›0330 CMP #192 ;VERT POS>191 OR <0›0340 BCS RET2›0350 ADC #32›0360 STA Y›0370 LDX HIGH›0380 LDA X›0390 LSR A ;DIVIDE BY EIGHT›0400 LSR A›0410 LSR A›0420 TAY ›0430 BEQ OVER›0440 LDX HIGH›0450 LOOP INC HIGH ;INC HIGH BYTE›0460 DEY ›0470 BNE LOOP›0480 OVER ASL A ;FIND REMAINDER›0490 ASL A›0500 ASL A›0510 SEC ›0520 SBC X›0530 EOR #255›0540 TAY ›0550 LDA #128 ;FIND CORRECT BIT PATTERN›0560 INY ›0570 BEQ NEXT›0580 LOOP1 LSR A›0590 DEY ›0600 BNE LOOP1›0610 NEXT LDY COLOR ;COLOR=1 TO PLOT›0620 BEQ ERASE ;IF 0 - ERASE PIXEL›0630 LDY Y ;OFFSET FOR VERT POS›0640 ORA (LOW),Y ;MERGE BIT PATTERN›0650 SEC ›0660 BCS CONT›0670 ERASE LDY Y›0680 EOR #255›0690 AND (LOW),Y›0700 CONT STA (LOW),Y ;SUBTRACT BIT PATTERN›0710 RETURN STX HIGH ;FROM CURRENT TO ERASE›0720 RTS ›0730 RET1 PLA ›0740 PLA ›0750 RET2 PLA ›0760 PLA ›0770 RTS ;RETURN TO BASIC›0780 .END ›