Close enough! Mach3 sends a stream of commands to the UC100, which stores them locally and turns them into pulse streams as required. Because it holds about a second's worth of commands in its local buffer store (according to the spec on the web site) unless the PC is really busy and can't update the buffer for more than a second (which is unlikely if it's not doing anything else) nothing gets lost. Strictly speaking, the PC does not just send "location" data to the UC100 as it will also send things like spindle speed control, coolant on/off, etc, commands as well and the UC100 then generates the appropriate output signals on its parallel port. The UC100 will also send things like limit switch operation signals back to Mach3, I suspect, but for all practical purposes you don't have to worry about the details - Mach3 and the UC100 sort it out between them.