dsims@uceng.UC.EDU (david l sims) (12/18/90)
Programs like Carbon Copy & PC-Anywhere let the remote user run programs that use direct screen writes. How do CC & PCA do it on an 8088? (I've heard that the 80386 can set "hardware breakpoints", but I digress.) All I can think of is that 18.2 times per second (or some other time period) they check to see if the screen RAM has changed. If so, then they would refresh the remote user's screen. Although I haven't tried this tactic, it seems to me that all that checking would slow down the system too much (especially for direct screen writes in graphics mode!). Or perhaps they monitor the DS register to see if it is ever set to the screen RAM segment. This tactic might not always work; it would be easy to "not notice" a quick direct screen write. Any other ideas?
dmurdoch@watstat.waterloo.edu (Duncan Murdoch) (12/18/90)
In article <6982@uceng.UC.EDU> dsims@uceng.UC.EDU (david l sims) writes: >Programs like Carbon Copy & PC-Anywhere let the remote user run programs >that use direct screen writes. How do CC & PCA do it on an 8088? (I've >heard that the 80386 can set "hardware breakpoints", but I digress.) I don't know how those ones do it, but Desqview does the same thing when you do direct writes to its video buffer, and has a patent (!) on its algorithm. I don't know how DV does it either, but from the look of it, it checks very frequently near the cursor, less frequently away from it. Another idea is to use error-correcting code methods: sophisticated variants on keeping row and column checksums might make it fast to detect changes without comparing every byte. Duncan Murdoch