Well, I've had some success!
The picture on the monitor is being streamed off the CF card without buffering. It is a 200x256 image, stored in the first 100 sectors of the card, and displayed on a 625 line set (non-interlaced) because I don't have a 405 line set yet
A moving image would result if I simply added 100 to the logical block address each frame.
I think this is going to work!
I've reserved the SPI pins of the PIC to add an audio DAC, which I plan to update at 20.5kHz i.e. twice line rate. That will give a respectable 8kHz or so audio bandwidth (what was the original 405 line audio bandwidth?)
I have some artifact issues with my crummy resistor video DAC but other than that, I think I can make an excellent player out of this.
You can just see two ICs under the connecting ribbon - the PIC and the pixel latch.
I tried using an unmodified IDE-CF adapter. It worked except I got two small images side-by-side, suggesting that the card is offering up 16 bit data of which I'm only latching the low byte. I suspect true IDE mode is fixed to sixteen bit transfers...?
Next task: add audio.