Finally had a chance to get back and test it this morning. Just running the SIM, it seemed fine. Watched the hal pin for motion-digital-out-00 and it turned on and off during the toolchange, so I assume M65 is working properly in that code.
2 things:
1) Like I mentioned, M65 works in the MDI in my 'real' config ... but not (reliably) in the NGC code. What could be 'overriding' it? I know the NGC code is executing, it hits the abort() lines (typically on the very next line from the M65 command just fine ... the output just never turns off.
2) Even on the SIM, it displays the splash "LINUXCNC" engraving program ... and runs through the lines as if it's running that program even though it's actually running the NGC code (and seems to do that just fine). This is also what it does in my 'real' config. Is this a red herring and just expected behavior because the current NGC program hasn't been 'loaded' into Axis since it's called through a remap? Or does this point to a problem?
Thank you!