delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/03/29/09:27:42

Date: Tue, 29 Mar 94 08:12:03 CST
From: csaba AT vuse DOT vanderbilt DOT edu (Csaba A. Biegl)
To: djgpp-bounces AT sun DOT soe DOT clarkson DOT edu
Subject: Re: Video RAM address
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu

	From djgpp-bounces AT sun DOT soe DOT clarkson DOT edu Mon Mar 28 19:07:13 1994
	To: rick AT emailhost DOT ait DOT ac DOT th
	Cc: djgpp AT sun DOT soe DOT clarkson DOT edu
	Subject: Re: Video RAM address


	> 	I used the function `int86' to set the video modes (both text and
	> graphics modes). It works nicely. However, nothing (except the cursor in
	> the text mode) appears on the screen when I use 0xD0000000 as the starting
	> address to access the video RAM. What's going wrong ? 

	You have to use GrSetMode() to initialize the 0xD000000 area manager.
	It would be nice if it were always enabled, but it isn't if you just
	use int86.


It is not just that. The 0xd0000000 area is used for graphics only. GO32 will
map the 0x000a0000..0x000affff 64K region somewhere in this area depending
on what VGA bank is currently accessed. In text modes the EGA and VGA map
their video memory to 0x000b8000...0x000bffff. This region is NEVER mapped
to the 0xd0000000 areas by GO32. You have to use the virtual address range:
0xe00b8000..0xe00bffff instead.

(Insert here the usual blurb about the above not working under DPMI)

Csaba Biegl
csaba AT vuse DOT vanderbilt DOT edu


- Raw text -


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