Mail Archives: djgpp/2001/06/29/00:08:05
From: | "Matt" <para AT tampabay DOT rr DOT com>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | DPMI problem
|
Lines: | 23
|
X-Priority: | 3
|
X-MSMail-Priority: | Normal
|
X-Newsreader: | Microsoft Outlook Express 5.50.4522.1200
|
X-MimeOLE: | Produced By Microsoft MimeOLE V5.50.4522.1200
|
Message-ID: | <bwS_6.65731$_T2.17269145@typhoon.tampabay.rr.com>
|
Date: | Fri, 29 Jun 2001 03:22:47 GMT
|
NNTP-Posting-Host: | 65.32.102.67
|
X-Complaints-To: | abuse AT rr DOT com
|
X-Trace: | typhoon.tampabay.rr.com 993784967 65.32.102.67 (Thu, 28 Jun 2001 23:22:47 EDT)
|
NNTP-Posting-Date: | Thu, 28 Jun 2001 23:22:47 EDT
|
Organization: | RoadRunner - TampaBay
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Reply-To: | djgpp AT delorie DOT com
|
I have a game which accesses VGA memory (A000:0000) directly. In 16-bit
mode, that's ok, but to get it to run under DJGPP I either have to rewrite
the thing or map VGA memory to linear memory. There is a function to do
that, but I can only do it with a DPMI 1.0 server.
Is there a way to accomplish the same thing (i.e. direct linear access to
A000:0000 from my ds selector) with a DPMI 0.9 server? Right now I'm looking
at the following options, and neither of them look good:
1. Use __djgpp_nearptr_enable(). The documentation recommends against this,
and considering that I just overhauled a number of asm files and am aware of
a number of bugs already, I'm not so sure I like the thought of being able
to kill my system.
2. Use function 02h to map the segment to a descriptor, use function 06h to
locate the linear base of the descriptor, then use functions 07h and 08h to
modify my ds segment so I can read that linear address.
Is there any way to do it directly, or is there a DPMI 0.9 server which
supports function 0508h (map device -> linear)?
-Matt
- Raw text -