Wow.
Now I have the code its really easy to vary.
Here's the one ring (to go with the eye of Sauron)
dim dot#(2000,5)
for t = 1 to 2000
repeat
dot#(t,1)=rnd(80)+280
dot#(t,2)=rnd(80)+200
until (dot#(t,1)-320)^2+(dot#(t,2)-240)^2<40^2 AND dot#(t,1)<330 and dot#(t,1)>310
dot#(t,3)=rnd(1)
next t
sync on:do:cls
for t = 1 to 2000
dot#(t,5)=(SQRT(40^2-(dot#(t,2)-240)^2)+320)-320
dot#(t,4)=dot#(t,5)/40
if dot#(t,3)=0 then dot#(t,1)=dot#(t,1)+dot#(t,4):ink rgb(255,255,0),0
if dot#(t,3)=1 then dot#(t,1)=dot#(t,1)-dot#(t,4):ink rgb(128,128,0),0
if dot#(t,1)>320+dot#(t,5) then dot#(t,3)=1
if dot#(t,1)<320-dot#(t,5) then dot#(t,3)=0
dot dot#(t,1),dot#(t,2)
next t
sync:loop
dim dot#(2000,5)
for t = 1 to 2000
repeat
dot#(t,1)=rnd(80)+280
dot#(t,2)=rnd(80)+200
until (dot#(t,1)-320)^2+(dot#(t,2)-240)^2<40^2 AND dot#(t,2)<>240
dot#(t,3)=rnd(1)
next t
sync on:do:cls
for t = 1 to 2000
dot#(t,4)=dot#(t,5)/40
if dot#(t,3)=0 then dot#(t,1)=dot#(t,1)+dot#(t,4):ink rgb(255,0,0),0
if dot#(t,3)=1 then dot#(t,1)=dot#(t,1)-dot#(t,4):ink rgb(100,0,0),0
if dot#(t,1)>320+dot#(t,5) then dot#(t,3)=1
if dot#(t,1)<320-dot#(t,5) then dot#(t,3)=0
dot#(t,5)=(SQRT(40^2-(dot#(t,2)-240)^2)+320)-320
dot dot#(t,1),dot#(t,2)
next t
sync:loop
...and like that; he's gone...