I have one tiny bottleneck left between the parallel port and my bipolar stepper drivers. In case anyone else has traveled this path, I'll describe it...as I understand it, so maybe it'll save you some time...or if I'm wrong, someone can correct me as well as prevent you from traveling down dead end paths.
The signal from the paraport is on two pins, one for direction of rotation and the other to take a step that way. The electronics has to decide which way to go when the step is called for.
A two bit up/down counter has a pin to tell it which way to count (direction), up or down. It has another input that tells it when to count (step). It outputs both bits when it changes them. Below is the sequence it outputs.
clock
pulse Most Significant Bit Least Significant Bit
1 0 0
2 0 1
3 1 0
4 1 1
My steppers are wired so that a high signal energizes a motor winding one way while a low signal reverses polarity on the coil, one pin per coil, two pins per motor. The output sequence needed for this setup is...
step coil one coil two
1 0 0
2 0 1
3 1 1
4 1 0
As you can see, the first two steps are right. Only the lsb is wrong when msb is high. I believe I could put a tri-state switch on the lsb's output and keep it in high impedance mode when the msb is low, but have it route lsb's signal through an inverter when msb is high but that's adding two more chips to my board and I'm hoping someone can think of a simpler solution.
When the counter's direction input is changed, this sequence will occur in reverse, btw.