Compact Flash Card Users!
We have developed a card reader/writer for Compact Flash (and other cards) as part of a bigger controller chip my company designs.
For Compact Flash, we have been using TrueIDE mode and the8-bit feature for operation (each pin used costs money...), to change the data register from 16-bit to 8-bit.
We have recently come across a CF card (16Mb, branded "Choice Only", model C16ZH)
Which we are not able to read, all signs being that it is not switching into 8-bit mode upon request. This one does not go into 8-bit mode, nor does it report 8-bit mode in error as an "unsupported feature". And yes, this card does know how to report an error; if I give it code for a non-existant feature, it returns an error code.
We have tried dozens of other different CF cards without incident, all of them happy to go to 8 bit mode.
But reading sectors from this one, it is evident I am only getting the even-numbered bytes, indicating 16-bit operation.
Other devices we have plugged it into (memory card readers, printers) can read and write the card.
However, the devices we know the hardware architecture of use a16-bit data path.
Does anyone know if:
a) This is actually a brain-damaged card and is unique.
b) All CF read/writers use a 16-bit data path because this is not a unique problem.
c) All CF cards handle TrueIDE and 8-bit operation properly, the error is in my hardware and/or firmware.
My preferred answer is a.
I could almost live with c, if I had a clue of what I might be doing wrong.
Answer b is seriously painful.