In the original message, Sellam said:
The timing diagram of the M200 says that the Index Mark is pulsed for 6
microseconds. Now, if I'm computing this right, that is already less time
than it takes for the 6502 to wait for the pulse to fall back to false
from true. The 6502 takes 10 cycles, or roughly 10 microseconds, assuming
a cycle is equivalent to a microsecond.
But in this message, Sellam said:
The problem I'm having now is timing out too quickly on the first column
read of the first card. According to the M200 docs I thought I had only
a few dozen microseconds to sense the first IM but it is timing out with
an 8-bit counter set to 255 and polling the IM signal in a loop that
takes about 14 cycles (14 * 255 = ~3500 cycles).
It actually sounds like the timing is 6 milliseconds, not 6 uSecs as
originally stated. If it is indeed 6 milliseconds, you then need to pause
for 6,000 cycles.
-spc (But it sounds like you may know that already ... )