Just casting my mind back a decade to when I wrote some software that auto tuned an after market ECU (via a USB to Serial adaptor). After much begging the manufacturers gave me some protocols to interface with the ECU.
I am figuring this is probably similar in that the parallel port break out board has fixed pins on which it can receive 0 and 1s to trigger a particular movement, so regardless of software or usb / parallel motion controller in front of it, everything after the parallel port plug must be the same (or otherwise it would be doing something different)
But what the different software output through the USB could be vastly different, hence why the firmware needs to be changed between uses of the different software, to interpret the command correctly.
Am I close?