I am interested in writing my own CNC control program. How does the computer actually transmit the gcode? I assume one line of gcode is transmitted at a time and there must be some kind of response by the hardware-based interpreter giving the go-ahead to continue on.

Can someone point me towards a communications spec?

1. Open parallel port
2. ??