100 CALL CLEAR
$MLC F 110 10 3000
1000 INPUT "N=":N
1005 INPUT "READY FOR MLC...":R$
1010 CALL LINK("PI",N,P)
1020 PRINT "PI=";P::PRINT
1030 INPUT "READY FOR XB...":R$
1040 S=1:: FOR I=N TO 2 STEP -1
1050 S=S+1/(I*I)::NEXT I
1060 P=SQR(6*S)::PRINT "PI=";P::PRINT
1070 GOTO 1000
$PI
	FARRAY 0
	FLOAT 1		; send float 1 in r0
	FMOVE 0 3	; save "1"
	FMOVE 0 2	; sum initialized with "1"
	GETPARAM 1 N
	FLOAT N		; r0=N
	DEC N
	NDO N N
		FMOVE 0 1	; dup
		FMUL		; N^2
		FMOVE 3 1	; '1'
		FDIV		; 1/N^2
		FMOVE 2 1	; sum
		FADD		; sum+1/N^2
		FMOVE 0 2	; sum saved
		FLOAT N		; new N
	NLOOP
	FLOAT 6		; send float 6 in r0
	FMOVE 2 1	; sum in r1
	FMUL
	FSQR		; sqr(6*sum)=PI !!
	PUTFLOAT 2(0)	; returns PI
$$
$END
