www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/02/12/10:14:02

From: "Yoda" <cedricbovar AT hotmail DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Using a doublebuffer with VESA 2.0
Date: Sat, 12 Feb 2000 15:51:36 +0100
Lines: 26
Message-ID: <883rok$gjq$1@news6.isdnet.net>
NNTP-Posting-Host: 195.154.26.106
X-Trace: news6.isdnet.net 950366804 17018 195.154.26.106 (12 Feb 2000 14:46:44 GMT)
X-Complaints-To: abuse AT isdnet DOT net
NNTP-Posting-Date: 12 Feb 2000 14:46:44 GMT
X-Newsreader: Microsoft Outlook Express 4.72.3110.1
X-Mimeole: Produced By Microsoft MimeOLE V4.72.3110.3
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

I'd like to use a double buffer . in the djgfx.html , it is written :

 unsigned char *videoptr = (unsigned char *)0x0;
 short our_global_selector = __dpmi_allocate_ldt_descriptors(1);
 __dpmi_set_segment_base_address(our_global_selector, linear_address);

 _farpokeb(our_global_selector, videoptr + y*width +x, color);

void copy_buffer2(void)
        {
   movedata(_my_ds(), doublebuffer, our_global_selector, videoptr,
width*height);
 }

I did the same but i get an error at the farpokeb or the movedata.
Actually it works for only 1 pixel !
If i try to copy the whole buffer into the screen it doesnt work.
If i try to farpoke another pixel then (0,0) it also doesnt work.

Can you help me to solve this prbl ? (in linear memory of course)





- Raw text -


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