www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/03/10/20:41:57

Date: Tue, 10 Mar 1998 17:41:25 -0800 (PST)
Message-Id: <199803110141.RAA22244@adit.ap.net>
Mime-Version: 1.0
To: Kdawghu AT hotmail DOT com (Kris Mills), djgpp AT delorie DOT com
From: Nate Eldredge <eldredge AT ap DOT net>
Subject: Re: How to use MOVEDATA to do Double Buffering?

At 08:11  3/9/1998 GMT, Kris Mills wrote:
>
>Well i have some graphics routes that i have written but i can't figure out 
>how to show a double buffer. I am useing VESA 2.0 Linear addressing useing FAR 
>PTR's. I thought all i had to do was setup another array for the double 
>buffer. Then gets it's selectors value useing _my_ds() then uses movedata to 
>copy this to either the screen or the video buffer i allready have setup.
>
>int video_buffer2(width*height);

Don't you mean `int video_buffer2[width*height];'? Or should it perhaps be
`char'? What color depth is this?

>
>movedata(_my_ds(),(int)&video_buffer2,ADDR,video_buffer,(width*height));

The second arg should be `(unsigned) video_buffer2'. Also, if
`video_buffer2' really is an array of `int', the fifth arg needs to be
`width*height*sizeof(int)'.

And from whence comes that `ADDR' arg? Are you sure you've got it right?

>also:i get an error when i run it ;it says undefined _my_ds() but i'm include 
>the right headers and stuff.

Do you include <sys/segments.h>? That's the one that counts.

>I'm getting really confussed because ever time i compile it's cool but when i 
>run it, it restarts my computer ever time i don't know what to do.

If this doesn't help, please post some more source.

Nate Eldredge
eldredge AT ap DOT net



- Raw text -


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