ftp.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/02/13/05:19:35

Date: Sun, 13 Feb 2000 10:19:40 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Yoda <cedricbovar AT hotmail DOT com>
cc: djgpp AT delorie DOT com
Subject: Re: Using a doublebuffer with VESA 2.0
In-Reply-To: <883rok$gjq$1@news6.isdnet.net>
Message-ID: <Pine.SUN.3.91.1000213101912.29873b-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
Errors-To: dj-admin AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Sat, 12 Feb 2000, Yoda wrote:

>  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.

The above code fails to set the segment limit, so the limit is either
some (small) default value or garbage.  That's why accessing it causes
a GPF.

- Raw text -


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