Hello Mark, To call a tool change you just enter a M6 in your g code. What the machine does when an M6 is called is dependant on the tool change option you have selected in general config. and the M6start.m16 and M6end.m1s macros.
This is copied from and email I sent yesterday that may help you.
The M6 is a user customizable code in Mach. The default setting in mach is to ignore tool changes on the general config page. This does just as implied, an m6 being executed in g-code will simply ignore the macros in the M6start.m1s and M6end.m1s macros. If you choose to do a special function when the M6 is executed you will need to modify the macros to do what you need. In general config if you choose pause and wait for cycle start the m6start macro will run and wait for cycle start to run the m6end macro. In auto tool change only the m6 start macro will be executed. We do not write custom macros for users. We do have resources available to enable you to do it though. The following manuals should prove invaluable if you choose to write your own custom macros.
http://www.machsupport.com/docs/Mach3_V3.x_Macro_Prog_Ref.pdf http://www.machsupport.com/docs/VBScript_Commands.pdf Also, our support forum is another invaluable resource and you may find a sample that does just what you need there.
Brett