On Wed, 15 Mar 2006, Jim Leonard wrote:
On monochrome, you can do this. On true CGA, you
can't, because the ram
isn't truly dual-ported. As a result, when you read or write display
memory in an 80-column text mode, the adapter draws garbage wherever the
beam is instead of the real ram contents for the duration of the
user-initiated access. This is more commonly knows as "CGA snow". What
especially blows is that it will still draw "snow" even if you're only
reading -- even if your access is to an off-screen page!
20 years ago, I wrote a screen capture program for Sybex, who used it for
most of their text mode books for a while. In order to get maximum
compatibility with ANYTHING that they might run (including TSRs), I made
the TSR for screen capture very simple. It would copy the screen RAM to a
4000 byte buffer when the "magic" key combo was pressed, and then poll for
a safe time to append it to a disk file. With that large buffer there, I
did not want to take up enough additional space to synchronize the screen
reads.
They were panicy about the CGA snow! They were worried about whether it
was damaging the monitor, etc.
So, I told them that it was just the "flash" from taking the picture, and
that it was a "FEATURE", to show whether the image had been successfully
captured. Such misstatements have a way of coming back to bite you - then
they wanted me to add the "flash" to the MDA captures.