delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/06/05/15:18:11

Message-Id: <1.5.4.32.19970605191433.00905c68@tritone>
Mime-Version: 1.0
Date: Thu, 05 Jun 1997 12:14:33 -0700
To: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
From: "Eric W. Lange" <ericl AT emu DOT com>
Subject: Re: DPMI and I/O question
Cc: djgpp AT delorie DOT com, Charles Sandmann <sandmann AT clio DOT rice DOT edu>

At 11:25 AM 6/5/97 +0300, you wrote:
>
>On Wed, 4 Jun 1997, Eric Lange wrote:
>
>> I want to trap writes to certain or all I/O ports.  I know that the 386
>> and up supports this in a V86 session with the I/O map and permission
>> bits in the TSS.  I also know that Windows provides this functionality
>> with a nice handy VMM call.
>> 
>> I want to write a DPMI compliant driver that can run in DOS, without
>> Windows being loaded, that allows this.
>
>I might be wrong here, but I think you can't, because your program
>runs in ring 3, and only a ring-0 task can get the exceptions due to
>priviledged calls.  Charles?
>

There must be some way to do it.  DesqView has to do it for disk drive
access or separate DOS sessions would walk all over eachother.  And,
DesqView simply sits atop QEMM.

>> #3.  Does a decent API or SDK exist for DOS DPMI development? 
>
>What's wrong with the DPMI calls in DJGPP's library?  What kind of SDK
>do you have in mind?
>

Well, I have to come clean.  I simply did a search for DPMI in the usenet
groups and this one came up.  I have no idea what DJGPP is.  It just seemed
like a place where people asked intelligent questions.  What is it, and how
can I get ahold of it?

>> #4.  Is VCPI an option for me?
>
>You mean, to roll your own DOS extender?  Sure' that's an option; but
>the amount of work...
>

I'm not sure what I mean.  I just want this to peacefully coexist with
DPMI/VCPI/EMM, etc. compliant DOS programs.

>On Wed, 4 Jun 1997, Eric Lange wrote:
>
>> I want to trap writes to certain or all I/O ports.  I know that the 386
>> and up supports this in a V86 session with the I/O map and permission
>> bits in the TSS.  I also know that Windows provides this functionality
>> with a nice handy VMM call.
>> 
>> I want to write a DPMI compliant driver that can run in DOS, without
>> Windows being loaded, that allows this.
>> 
>> #1.  Do QEMM, 386MAX, and other DPMI servers, by default, place the chip
>> in V86 while running DOS?  I noticed in the DPMI 0.9 spec that this is
>> only an OPTION for DPMI servers, but they can also run in real mode.  If
>> they do run in V86, then certainly it is possible to trap the exception
>> caused by a write to a port.
>> 
>> #2.  How do I set the I/O map for the V86 session in a way that DPMI
>> allows?
>> 
>> #3.  Does a decent API or SDK exist for DOS DPMI development? 
>> Preferably free?
>> 
>> #4.  Is VCPI an option for me?
>> 
>> Basically, I want to virtualize some hardware unbeknownst to DOS
>> programs.
>> 
>> Any suggestions?
>> 
>> I would appreciate any help I can get.
>> 
>> Eric Lange
>> ericl AT emu DOT com
>> 
>
>

- Raw text -


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