| I dn't recall who is active low, and who is active high, but the timing
(set-up, hold, etc.) is pretty forgiving.
1. Computer checks for printer busy, and waits for busy to deassert if
necessary.
2. Computer asserts data on d<7:0>
3. Computer asserts strobe
4. Printer uses the strobe to latch the data, and responds by
asserting busy.
5. Computer may deassert strobe after seeing busy asserted, or it may
wait until busy is deasserted, I don't recall which. I would build the
printer buffer to not care which.
Since, on the computer side, all of these transitions are controlled by
software, you can count on multiple microseconds of stable data after
each strobe. The data may actually be there much longer, but I wouldn't
build the buffer to count on that.
Don't deassert busy if the buffer is full.
|