Date: Thu, 22 Jun 95 10:17 MDT From: mat AT ardi DOT com (Mat Hostetter) To: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Re: Scrolling problem Newsgroups: comp.os.msdos.djgpp References: Cc: ao950 AT FreeNet DOT Carleton DOT CA (Paul Derbyshire) >>>>> "Paul" == Paul Derbyshire writes: Paul> For those who were wondering, I use pointers rather than Paul> memcpy() for speed purposes. Function calls generate Paul> overhead. That's why gcc inlines memcpy (__builtin_memcpy) and doesn't make a function call at all in most cases. You get a rep ; movsl either way you write it. I don't see how you can seriously contend you are interested in speed when you do *twice* as many memory copies as necessary. As I already explained in private email, you scroll by copying the whole screen to a scratch buffer and then copying it back offset by a certain number of rows. The entire screen is copied twice. A single screen-to-screen memory copy blows away your supposedly "faster" approach (at least, as long as the screen fits in a single 64K SVGA window, which it does in your case). Paul> Now I have another problem: graphics code from djgpp works Paul> fine in DOS, but in Windows generates general protection Paul> faults (from go32, not from Paul> windows). This is explained in the FAQ. You can't use the 0xD0000000 frame buffer under any DPMI provider (e.g. Windows). It will not be available at all in djgpp V2.0 (which requires DPMI). -Mat