Mail Archives: djgpp/1995/06/22/13:12:48
>>>>> "Paul" == Paul Derbyshire <ao950 AT FreeNet DOT Carleton DOT CA> 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
- Raw text -