I'm glad it works. It saves a COS() and SIN() calculation. It's an emulation of 2 integrating op-amps in a loop producing a sin and a cos signal. The integration factor -frequency dependent- is not compensated yet. Before asking many questions please study the analog computer, or the theory of servos and feedback stability. It's a great tool to produce nice or unexpected movements. Wish you fun and creative experimenting. Please share your examples. `// --------------------------------- //`

// Project: sinosc1

// Start: Saturday, September 14, 2013

// IDE Version: 10.283

//Emulates the analog computer, with 2 integrators and a loop.

SETSCREEN 800,200,0

CONSTANT cx%=400, theta=0.115 //time constant

// signal 1 and signal 2: (initial state)

GLOBAL s1=0,s2=33, _s1,_s2

WHILE TRUE

integrate()

DRAWRECT cx+s1, 12, 20,60, RGB(255,155,0)

DRAWRECT cx+s2, 94, 20,60, RGB(0,255,255)

FOR i%=0 TO 800 STEP 40

DRAWLINE i,166, i,200,0xffffff

NEXT

SHOWSCREEN

WEND

FUNCTION integrate:

_s1=s1 ; _s2=s2

s2=s2-theta *_s1*0.8

s1=s1-theta *(-_s2)

IF s2>220 THEN s2=220+(s2-220)*0.92 // knee-clip the 1st op-amp.

IF s2<-220 THEN s2=-220+(s2+220)*0.92 //necessary but not too hard please.

ENDFUNCTION

Offtopic: here is an interesting test; imagine the blue and red bars are mounted at the edge of rotating disc. When you see the disc in motion, does it turn to the right or the left?