this is from the sim for M13 which is home carousel subroutine:
o<m13> sub
; Move tool carousel CW until ATC zero
; Parameter #5170 is used to track the current tool pocket (persistently)
(print, o<M13> P#<p>)
(DEBUG, EVAL[vcp.getWidget{"dynatc"}.atc_message{"REFERENCING"}])
M64 P3 ; Move Motor FWD
M66 P3 L1 Q20
O120 if [#5399 LT 0]
(abort, failed to home carousel)
M65 P3; stop motor
O120 endif
#5170 = 1
M65 P3 ; Stop motor
#5171 = 1
(DEBUG, EVAL[vcp.getWidget{"dynatc"}.atc_message{}])
#1 = 0
o130 while [#1 LT 12]
#1 = [#1+1]
#2 = #[5190+#1]
(DEBUG, EVAL[vcp.getWidget{"dynatc"}.store_tool{#1, #2}])
o130 endwhile
M61 Q#5231 G43 H#5231 #5210 = 0
o<m13> endsub [1]
M2
I don't know your config or atc setup so no idea where it would go. these commands are found throughout all of the subroutines and for it to function you will need to place them in the same/similar places in your macros or carousel component. it has a been a very long time since I was playing with the atc stuff with Turboss and I do not remember if the carousel will only work if it references to the home #1 pocket position to start the initial synchronization or if a different method that requires no motion and may leave the platter indexed to a pocket that is not pocket #1 will also work.