that was only tested on a few versions- it doesnt work in most as it wasnt succesful. only the spindle index pulse is used. (unless you get a motion controller)
the main reason for this is that the code is being processed in software- it has to see the pulses- calculate and pass the motion info on. this can take more than 1 slot of processing time- so it will always be done late. if it takes 2 processing slot time cycles because the pc is doing something- then its definately out of sync. - so it fails.
while these processing periods are very short time spans- the job is rotating fast- so it can make a big difference.
in hardware in a threading cycle- the interupt to the hardware processor is shut off- so all it does is the threading cycle- it can process the information in nanoseconds.

just today ive tested rigid peck tapping - which is the holy grail in the world of motion syncronisation. and it worked perfectly using the uc300 eth from cnc drive.com and using their uuccnc software . (which is my goto controller now for most things as it works so well!