>I'm thinking that this indicates some sort of race condition in the
>DMA-assisted compatibility mode code, and I'm hoping that someone who
>knows the code better than I do will see this and recognize where it
>could be. Things that come to (my) mind are, for example: the code
>assumes when it resets various counts after a timeout that the FIFO is
>full -- what if the printer just happens to read a byte after the
>timeout occurs? Can this happen?
Well, it's all a bit hairy, particularly the stuff using "test mode" to
figure out how many bytes were in the FIFO. Theoretically I think it should
cope with the printer suddenly going un-busy at a bad time. If your delay is
always 35 seconds long then it seems unlikely that it's caused by a byte being
read in unexpectedly.
Do you know what chip your parallel port uses?
If you have any way to find out, it would be useful to know exactly what the
bad data the printer is seeing is -- whether it's a data byte being
duplicated, or random garbage being inserted in the middle.
-- with the single word "unsubscribe" in the body of the message. --
This archive was generated by hypermail 2b29 : Fri Sep 07 2001 - 16:01:20 EDT