delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/06/20/15:01:53

From: "Bart Alewijnse" <scarfman AT geocities DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Screen copy
Date: 20 Jun 1999 18:08:09 GMT
Organization: WorldOnline News server
Lines: 20
Message-ID: <01bebb48$615ee140$d3b2f1c3@scarfboy.tip.nl>
NNTP-Posting-Host: vp178-211.worldonline.nl
X-Trace: news.worldonline.nl 929902089 12615 195.241.178.211 (20 Jun 1999 18:08:09 GMT)
X-Complaints-To: abuse AT worldonline DOT nl
NNTP-Posting-Date: 20 Jun 1999 18:08:09 GMT
X-Newsreader: Microsoft Internet News 4.70.1155
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

I've been experimenting, but don't quite know all the possibilities yet:
How do you copy a double buffer to the screen the fastest? I'm currently
using mode 13h, i.e. dos memory @ 0xA0000, but am interested in LFB's
as well.. I suppose a simple rep stosl , which should be (I read this, 
correct me if I'm wrong) inlined when a memcpy has a constant 
(when this is determinable at compile time) for its 'amount to move' 
value (in ecx, but anyways)
I :can: use this for dos as well when I use  __djgpp_nearptr_enable()
and  __djgpp_nearptr_disable(), and that works, but it's three promilles
faster than dosmemput(), and I don't like never having any memory
protection... _farnspokel() is a bit iffy as well, at least I think...

Are there any other ways to do this? What's a fast one/the fastest?
I suppose that for the LFB it'd just be memcpy, 'cos djgpp (i think)
has its own align-optimized (move alignes stuff, stick on bytes and
words as necessary) rep-movsl that it inlines it as. Right?

(Am I completely babbling and/or clueless?:)

-Bart

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019