Date: Tue, 1 May 2001 14:05:42 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: The Owl cc: sandmann AT clio DOT rice DOT edu, djgpp-workers AT delorie DOT com Subject: Re: win2000/ntvdm/djgpp (fwd) In-Reply-To: <3AEEB12C.10571.80A56B9@localhost> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Tue, 1 May 2001, The Owl wrote: > 1. the dpmi app issues a real mode (v86) int 2f/1687 to learn about the > dpmi mode switch entry point. the interrupt is serviced by dosx in its > RMINT2FHANDLER function (it has been set as the int 2f handler during > dosx initialization). the mode switch routine is inside dosx and is > called DPMI_CLIENT_PMODE_ENTRY. > > 2. the dpmi app calls DPMI_CLIENT_PMODE_ENTRY to enter protected mode. > this function first issues a real mode int 21/62 to get the current > real mode PSP segment, then switches to pmode by using ntvdm's Bop > interface. once in pmode, dosx allocates various selectors, one of > them will be the PSP alias selector. then dosx notifies ntvdm about > the startup of a new dpmi app. ntvdm executes _DpmiInitApp AT 0 which > will set _CurrentPSPSelector (among other things). Thanks, I think I understand now.