Just remove all the PSETs. Remark the line out, delete it, whatever.
Code:
DEFINT A-Z
SUB Mcirc (x, y, r, c)
a = .707 * r
WHILE a
b = SQR((r * r) - (a * a))
'PSET (x + a, y + b), c
'PSET (x - a, y + b), c
'PSET (x + a, y - b), c
'PSET (x - a, y - b), c
'PSET (x + b, y - a), c
'PSET (x + b, y + a), c
'PSET (x - b, y + a), c
'PSET (x - b, y - a), c
a = a - 1
WEND
END SUB
SUB Pcirc (xc, yc, radius, colr)
x = radius
sum = 1 - radius
DO
'PSET (xc + x, yc + y), colr
'PSET (xc + y, yc + x), colr
'PSET (xc - y, yc + x), colr
'PSET (xc - x, yc + y), colr
'PSET (xc - x, yc - y), colr
'PSET (xc - y, yc - x), colr
'PSET (xc + y, yc - x), colr
'PSET (xc + x, yc - y), colr
IF y >= x THEN
EXIT DO
ELSEIF sum > 0 THEN
sum = sum - x - x + 2
x = x - 1
END IF
sum = sum + y + y + 3
y = y + 1
LOOP
END SUB
SUB Zcirc (x%, y%, radius%, c%)
DO WHILE Degrees% < 361
Radians! = (3.14159 / 180) * Degrees%
PlotX! = radius% * SIN(Radians!)
PlotY! = radius% * COS(Radians!)
'PSET (x% + PlotX!, y% - PlotY!), c%
Degrees% = Degrees% + 1
LOOP
END SUB
If you want, you can substitute variable assignments for the PSETs. However, since all the routines have two additions or subtractions per pixel on the coordinates, the speeds all drop a relative amount.
Code:
DEFINT A-Z
SUB Mcirc (x, y, r, c)
a = .707 * r
WHILE a
b = SQR((r * r) - (a * a))
'PSET (x + a, y + b), c
x1 = x + a: y1 = y + b
'PSET (x - a, y + b), c
x1 = x - a: y1 = y + b
'PSET (x + a, y - b), c
x1 = x + a: y1 = y - b
'PSET (x - a, y - b), c
x1 = x - a: y1 = y - b
'PSET (x + b, y - a), c
x1 = x + a: y1 = y - a
'PSET (x + b, y + a), c
x1 = x + a: y1 = y + a
'PSET (x - b, y + a), c
x1 = x - a: y1 = y + a
'PSET (x - b, y - a), c
x1 = x - a: y1 = y - a
a = a - 1
WEND
END SUB
SUB Pcirc (xc, yc, radius, colr)
x = radius
sum = 1 - radius
DO
'PSET (xc + x, yc + y), colr
x1 = xc + x: y1 = yc + y
'PSET (xc + y, yc + x), colr
x1 = xc + y: y1 = yc + x
'PSET (xc - y, yc + x), colr
x1 = xc - y: y1 = yc + x
'PSET (xc - x, yc + y), colr
x1 = xc - x: y1 = yc + y
'PSET (xc - x, yc - y), colr
x1 = xc - x: y1 = yc - y
'PSET (xc - y, yc - x), colr
x1 = xc - y: y1 = yc - x
'PSET (xc + y, yc - x), colr
x1 = xc + y: y1 = yc - x
'PSET (xc + x, yc - y), colr
x1 = xc + x: y1 = yc - y
IF y >= x THEN
EXIT DO
ELSEIF sum > 0 THEN
sum = sum - x - x + 2
x = x - 1
END IF
sum = sum + y + y + 3
y = y + 1
LOOP
END SUB
SUB Zcirc (x%, y%, radius%, c%)
DO WHILE Degrees% < 361
Radians! = (3.14159 / 180) * Degrees%
PlotX! = radius% * SIN(Radians!)
PlotY! = radius% * COS(Radians!)
'PSET (x% + PlotX!, y% - PlotY!), c%
x1% = x% + PlotX!: y1% = y% - PlotY!
Degrees% = Degrees% + 1
LOOP
END SUB