... short and sweet.
open window 640,512
ang=pi/180
x=320
y=260
dist=0
letter=142
dim xe(letter),ye(letter),dir(letter)
dim letters(letter)
for a=1 to letter
read letters(a)
dir(a)=(360/letter)*(letter-a)
next a
repeat
setdispbuf vm
vm=1-vm
setdrawbuf vm
clear window
setrgb 1,200,200,0
fill rectangle 0,0 to 640,512
dist=dist+.3
if dist>240 dist=240
if dist=240 face=face+1
if face>50 face=50
if face=50 then
setrgb 1,0,0,0
fill circle 320,260,200
setrgb 1,200,200,0
fill circle 320,230,200
setrgb 1,0,0,0
fill circle 220,230,40
fill circle 420,230,40
endif
for a=1 to letter
dir(a)=dir(a)+.25
if dir(a)>360 dir(a)=0
xe(a)=x+sin(dir(a)*ang)*dist
ye(a)=y+cos(dir(a)*ang)*dist
setrgb 1,0,0,0
text xe(a)-5,ye(a)+2,chr$(letters(a))
next a
until (1=0)
label letters
data 72,69,82,69,146,83,32,84,79,32,65,32
data 71,82,69,65,84,32,67,76,65,83,83,32
data 79,70,32,80,69,79,80,76,69,32,65,84
data 32,68,66,70,173,73,78,84,69,82,65,67,84,73,86,69
data 32,173,32,70,82,79,77,32,84,72,69,32
data 84,73,82,69,76,69,83,83,32,83,84,65,70,70
data 44,32,84,79,32,84,72,69,32
data 73,78,81,85,73,83,73,84,73,86,69,32
data 80,85,80,73,76,83,32,65,78,68,32,84,72,69
data 32,70,85,78,32,65,78,68,32,71,65,77,69,83
data 32,73,78,32,66,69,84,87,69,69,78,46,32,32,32
have a Yahappy day.