I agree - it is not 😉
That said, I did not write it and am not familiar with G Code other than what I have learned in problem solving/tweaking - so not even familiar with the concepts.
Does what you see in the existing macro explain the erratic behavior? That has been what is most confusing.
Will send this to the person I got it from and see what he has to say, and will try to look at the code, read the definitions for the switches and see if I can make some sense out the differences, then try it out myself. I use these machines for my work and have them both going constantly for the next few days - will try to make time to experiment after that.
Thanks!