Be warned: there is a slight problem in Mach3 with G54.
When you load a program which is written using several instances of G54, the on-screen display of the cutter path at Load Time is correct, but the Run-Time display is not. The run-time display SW forgets all about the offsets. This is clearly a display bug in Mach3 as a) the load-time display is correct and b) the actual path machined is correct. One gets used to this ... (I think it was an error by the original author: Art Fenerty.)

So why didn't Artsoft fix this? Two reasons: not enough loud complaints about it, and then they decided to go for Mach4 instead. One day, someone is going to get hold of the source code for Mach3, strip the LPT driver stuff right out (ie rely on the ESS), and fix the bugs. That may take some doing ...

Cheers
Roger