Never knew about a "Find Center function". How is it invoked.

I have written a test sub-routine:

(Safe Block)
G17 G21 G90 G54 G40 G49 G80

(Investigate Subroutines)

(set initial X, Y and Z)
G01 X0.0 Y0.0 Z0.0 F100

#1 = 3.888

G01 Z2.0
G01 X FIX[#1]; Round Down
G01 Y FUP[#1]; Round Up
G04 P5000; Little delay

(Note the above has nothing to do with testing the subroutine mechanism!!)

M98 P456 L3; Call subroutine 3 times

M30; End main Program
%

(Declare the Sub)
O456

G91
G01 X2.0 F50
G90
G04 P3000; Little delay

M99; End of Sub
%