I would ask you what your expectations are for your controller to do. Do you want it to interpret G code, or do you only expect it to act as a stepper motor controller/interpreter under the control of Mach III or similar?