try this one...I lifted the idea...from a 27 line prog I found on the net...

1 if g = 0 then SCREEN 12 else rot = rot + .1

2 rot2 = rot2 + .1 + .2 * p

3 FOR g = -8 TO 8

4 IF rot2 > 25.1 OR rot2 < 0 THEN p = NOT p ELSE CIRCLE ((320 + 10 * rot2 * SIN(1 * rot)) + ((9 - ABS(g)) * SGN(g) * 6) * SIN(rot), (350 + 10 * SIN(1 * rot)) + (((9 - ABS(g)) * SGN(g) * 2) + 4) * SIN(rot)), 9 - ABS(g), ABS(14 - 4 * ABS(g))

5 CIRCLE ((160) + ((9 - ABS(g)) * SGN(g) * 10) * COS(rot), (400 + -30 * SIN(1 * rot)) + (((9 - ABS(g)) * SGN(g) * 2) + 4) * SIN(rot)), 9 - ABS(g), 1 + ABS(g)

6 CIRCLE ((480) + ((9 - ABS(g)) * SGN(g) * 10) * COS(rot), (400 + 30 * SIN(1 * rot)) + (((9 - ABS(g)) * SGN(g) * 2) + 4) * SIN(rot)), 9 - ABS(g), 1 + ABS(g)

7 NEXT g

8 IF INKEY$ = "" THEN PRINT ELSE END

9 GOTO 1