Does anyone have any ideas what might be going on? It doesn't quite seem
like a memory fault - possibly some sort of address decoding error? It's
almost like the video board is pulling display data from the wrong part of
memory, but I'm not sure that makes sense given that the board has its own
local RAM rather than relying on RAM on the system board.
To me this sounds like an address line fault on the expansion bus. The CPU thinks
it's writing to a particular location in the CGA card's memory, but due to the
fault it
actually accesses another location.
Yes, the cursor is generated by the 6845 on the CGA card.
Have you tried the CGA card in different slots? Just in case it's a bad contact
on the edge connector.
Other than that, stick a logic probe on the address lines on the expansion slot and
see if any are stuck high/low or always floating.
-tony