.IF *>0 ;this is a trick that prevents compiling this file alone ;-------------------------------------------------- .proc circle ;fxxxing good circle drawing :) ; xdraw,ydraw (word) - coordinates of circle center ; radius (byte) - radius of circle ;-------------------------------------------------- ;Turbo Basic source ; R=30 ; XC=0:YC=R ; FX=0:FY=8*R:FS=4*R+3 ; WHILE FX0 ; FS=FS-FX-4 ; ELSE ; YC=YC-1 ; FY=FY-8 ; FS=FS-FX-4+FY ; ENDIF ; WEND ; splot8 mwa xdraw xcircle mwa ydraw ycircle ; XC=0:YC=R mwa #0 xc mva radius yc ; FX=0:FY=8*R:FS=4*R+3 mva #0 fx mva radius fy asl FY asl FY mva FY FS asl FY ; A = FS and C = 0 ;clc ;lda FS adc #3 sta FS circleloop ; WHILE FX0 ; FS=FS-FX-4 lda FS beq else01 bmi else01 sec sbc FX sbc #4 sta FS jmp circleloop ; endif01 else01 ; ELSE ; YC=YC-1 dec YC ; FY=FY-8 sec lda FY sbc #8 sta FY ; FS=FS-FX-4+FY lda FS sec sbc FX sbc #4 clc adc FY sta FS endif01 ; ENDIF jmp circleloop ; WEND .endp .endif