Quote:
How is it you can infer the fault of a single bit from a series of mismatches in the IDE test? 0xffff ----> 0xffdf and 0x5555 ----> 0xff55 imply several bits are off do they not?



Heh.. Well, in an ideal world, the bus should read back all ffff's with no drives connected. But in practice, since it is basically tristated, the bus is floating. So the value we write tends to take a while to "fade away" again, before we see ffff.

The test we're doing isn't patient enough to wait for the bus to float back to ffff after we write, so we have to keep this in mind when evaluating the IDE test output with any value other than ffff being written.

But for the case of writing ffff, and then reading it back, we really should see ffff on the readback, most of the time. And that's the giveaway here: it consistently gave us this:

ide_data_test: wrote 0xffff read 0xffdf

So bit D5 appears to be stuck low (zero).

To validate this, then look at the rest of the trace, and verify that D5 is *never* anything other than a zero. Now double-check it against the CS4231A test earlier on, where we read 80 rather than the normal A0 value. Again, D5 is stuck low.

Cheers!