Hi,
Mach4 adheres very strictly to the Gcode definition of Fanuc21i, being as close to an industry standard as there is.
A lot of the sloppy Gcode tricks that Mach3 used to accommodate will just not wash with Mach4. Look for any Mach3 shortcut G82 cycles,
they will stop Mach4.
For example this PCB drilling code would work with Mach3:
N00340 G82 X-33.4000 Y25.4000 Z-2.2000 F300 R2.0000 P0.100000
N00350 G82 X-35.7750 Y24.1250
N00360 G82 X-38.9500 Y32.9000
N00370 G82 X-40.4750 Y9.5250
N00380 G82 X-42.1000 Y13.3000
N00390 G82 X-48.3000 Y2.6500
N00400 G82 X-49.4500 Y18.5000
N00410 G82 X-51.8000 Y33.2500
N00420 G82 X-5.7500 Y10.5000
N00430 G82 X-57.7500 Y34.5500
N00440 G82 X-5.8250 Y17.2750
N00450 G82 X-59.5000 Y13.5000
N00460 G82 X-13.1500 Y33.5000
N00470 G82 X-17.2750 Y27.0250
N00480 G82 X-1.9750 Y32.9750
N00490 G82 X-19.7500 Y26.9500
Whereas this code works with Mach4 and is near identical and was derived from the Mach3 code, but adheres to the stricter definition of G82
N00340 G82 X-33.4000 Y25.4000 Z-2.2000 F300 R2.0000 P0.100000
X-35.7750 Y24.1250
X-38.9500 Y32.9000
X-40.4750 Y9.5250
X-42.1000 Y13.3000
X-48.3000 Y2.6500
X-49.4500 Y18.5000
X-51.8000 Y33.2500
X-5.7500 Y10.5000
X-57.7500 Y34.5500
X-5.8250 Y17.2750
X-59.5000 Y13.5000
X-13.1500 Y33.5000
X-17.2750 Y27.0250
X-1.9750 Y32.9750
X-19.7500 Y26.9500
While it might appear that the line numbers are the difference, that is a red herring, note how the Mach3 code will accept an abbreviated G82 block like
G82 X-51.8000 Y33.2500 the Mach4 compliant block is like this:
X-51.8000 Y33.2500
So in Mach4 the G82 is modal and thus an X,Y coordinate carries on in the same mode and works, where the Mach3 code attempts to use a shortened G82 which is
contrary to the ANSI definition of G82 and such a shortened block is unacceptable in Mach4.
Craig