Mail Archives: djgpp/1995/09/04/18:26:13
On Thu, 31 Aug 1995, Ming-Jui Liao wrote:
> I just got the beta version of the DJGPP. I read the faq for version one.
> It said that DJGPP V2 will map the SVGA memory to 0xD0000000 to
> 0xD0100000 continuously under DPMI. I tried to use a pointer to write to
> the Video memory but it didn't work.
Since I wrote the FAQ, this is probably my fault, in that I did not
explain myself clearly. However, it seems to me that the following
excerpt from the FAQ says exactly the opposite: the video memory mapping
to a specific address will *NOT* work in v2.0. You should use the farptr
functions as explained elsewhere in the FAQ.
In non-DPMI mode, the entire graphics video memory is
mapped 1:1 starting at 0xD0000000 in the program's address space;
the DJGPP paging mechanism understands how SuperVGA's map their
memory onto the AT bus and automatically swaps pages as the
program tries to access them. The program sees a linear range
from 0xD0000000 to 0xD0100000 that corresponds to each pixel in
the 256-color modes of SuperVGAs. For this to work correctly,
you will have to set the GO32 environment variable to the
graphics driver suitable for your SuperVGA card, like this:
SET GO32=driver c:\djgpp\drivers\ati.grd gw 640 gh 480 tw 132 th 43
In DPMI mode this won't work.
- Raw text -