From: "Matt" 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: 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