Hi SH,
The first 16 characters of each half-screen are read from memory separately, actually, during the blank lines above the display area. I would expect them to be good because the margins there are quite wide.
Characters 17 and 18 are unique insofar as they are read from memory before the very first attempt to claw back time for the processor, i.e. NENIN is asserted 0 just after these bytes are read.
I'm rapidly coming to the conclusion that these issues won't be fixed without a logic analyser