Seems to me the 3 main programs I've heard mentioned here are Mach, TurboCNC, and EMC (Linux based). I've played around with Mach, and it was very easy to configure my 7x10 (controlled by a G540). I'm currently playing around with TurboCNC, but having a bit of difficulty getting it configured properly. Not quite as intuitive as Mach. People who use EMC seem to be pretty happy with it, if you have a Linux box or at least a Linux partition. I believe you can also run it from a bootable CD to try out. I'm sure those who know will chime in here very soon.