I've tried to summarise what I have found out about SetInputData in the Machsupport forum (see here).

However, I've only found two sources of information - one is a comment on that other forum that this command was only introduced in .066, and the other is in the comments in the macro code that uses the command. Not a lot to go on!

There appears to be three parameters - the first seems to correspond to the ESS port in a way that I do not understand, the second is the pin number, and the third whether it's active low or high. What I can say is that it certainly seems to work, and I have a full set of tool-setter and probe macros that switch between input pins for probing reliably.

I would be pretty sure that my other approach would work as well, that avoids the need for SetDataInput altogether and so would work on any version of Mach3. That is, using a brain to OR together two inputs, send that to an output, and jumper that to a single input pin to be used for all G31 calls. However, in my case. either approach would have meant modifying existing macros and I chose to use the SetDataInput call as the lesser of the two evils.

Happy to try to answer any specific questions or discuss further.