www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/07/27/16:58:54

From: rri!potter AT vtserf DOT cc DOT vt DOT edu (Mark Allen Potter)
Subject: Re: Extended Memory Display
To: sandmann AT arion DOT rice DOT edu (Charles Sandmann 713-493-8756)
Date: Tue, 27 Jul 1993 09:35:02 -0400 (EDT)
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu (DJ G++ Mailing List)

From: sandmann AT arion DOT rice DOT edu (Charles Sandmann 713-493-8756)
>
> > (the 150I to be persice).  Most of the Cornerstone displays map there
> > display memory up into extended memory at the 12 Megabyte mark (C00000). 
> > The simple question is how do I get to this while in DJGPP.  Under unix I
> > had a device
> 
> Under non-DPMI configurations, you should be able to create a pointer to
> address 0xE0C00000 which should point to the memory.  All linear address
> space (up to 256Mb) should be accessible in this way (as offset from
> 0xe0000000).

This worked like a charm (once I figured what else I was doing wrong (not
enabling the display properly)), Thank you very much.  Doppy me, I believed the
documentation when it say that the first meg was available through the
0xE0000000 address.  I didn't expect the first 256 meg.

> Under DPMI configurations, I believe the selector used for dosmemget/
> dosmemput has a limit of 1Mb.  This could be changed in GO32 (paging.c) to
> be any size, but because of the way DPMI virtualizes it may or may not work
> (noone has tested it with various DPMI servers to see).

This however did not work, or at least did not work for me.  I may not have the
right location in paging.c to make the change.  Intuitively I would think that
this wouldn't work because of DPMIs design phylosophy of being protected (or at
least alowing for protection).  I would doubt that it would give a program
access to all of memory, but of course it could virtualize it all. 

Anyways could anyone point me to where in paging.c this change should be made?
Can anyone point me to code that could make the appropriate DPMI calls to give
a program a pointer to access the video memory at 0xC00000 (the 12 meg mark)?
If so is there a way for a program to tell if it is running under DPMI so it
could know which method to use to access the video memory?  And finally, if all
these questions fall to the not available, is there a way to tell GO32 to not
use DPMI even if it is there?  This would be usefull for environment which
provide both DPMI and VCPI such as 386MAX, QEMM v7, or QEMM v6 w/ QDPMI.
Thanks.
						Potter
						rri!potter AT vtserf DOT cc DOT vt DOT edu

- Raw text -


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