INT 15.87 in protected mode (Developers)
> > Okay, it's just confusing, esp. as (obviously) I have little to no
> > experience with the innards of pmode.
>
> Why are you making guesses if you have no experience in the matter? To show
> the OP that somebody cares about his/her issues? I'm aware that Americans
> have a strong believe in the power of words, but it shouldn't be
> exaggerated THAT much, IMO.
Could I guarantee the OP access to the almighty Japheth? I'm not being sarcastic here, you're clearly the resident genius on the topic. But lacking any easy access to you, since you're always busy it seems, I gave it a (wimpy) guess of my own. Completely wrong, okay, oops, but I tried.
I just hate when somebody has a problem and nobody seems to care to even try to help.
> > int 31h, 300h -> CWSDPMI switches back to real mode
> > int 31h, 300h -> HDPMI32 switches to V86 mode
> > int 31h, 300h -> Windows (which?) switches to V86 mode
>
> If the DPMI host runs as VCPI client, it will switch "back" to v86-mode (
> hopefully using the VCPI API ), because anything else will cause disaster.
> I don't think that cwsdpmi or hdpmi differ in this regard.
I don't know the details. I got the impression that, overall, switching to V86 mode is preferable for speed and other reasons. But, IIRC, CWSDPMI doesn't do that in all cases, and usually only switches to real mode. Since V86 is a submode of pmode, I wasn't sure if the 16-bit low-level bullcrap was incompatible with the 32-bit (GDT, LDT, etc), hence I wasn't sure if it was even supposed to work, well-tested, or whether the DPMI host should have 16-bit support (which CWSDPMI lacks) or DPMI 1.0 (as that's needed to mix 16-bit and 32-bit DPMI clients).
> > But does Windows even truly call int 15h? I doubt it. I'm pretty sure it
> > doesn't call the "real" BIOS.
>
> A v86-monitor program - and NTVDM is such a type of program, although it
> runs in non-privileged mode and hence needs the help of the OS for a few
> tasks - will always emulate int 15h.87h. The memory functions ( int
> 15h.88h, ... ) are sometimes also intercepted. However, the rest of Int 15h
> may be called "really".
Well, there's a big difference from "works under Windows" vs. "works under raw BIOS". If they behave the same, it's mostly coincidence.
I have not heavily studied any DPMI hosts, even CWSDPMI, but you have to admit that "temporarily switching from 386 pmode to 8086 real mode in order to enable 286 pmode via BIOS" sounds a bit odd.
Complete thread:
- INT 15.87 in protected mode - Laaca, 29.08.2011, 14:11 (Developers)
![Open in board view [Board]](img/board_d.gif)
![Open in mix view [Mix]](img/mix_d.gif)
- INT 15.87 in protected mode - Rugxulo, 29.08.2011, 23:28
- INT 15.87 in protected mode - Japheth, 30.08.2011, 05:27
- INT 15.87 in protected mode - Rugxulo, 30.08.2011, 05:37
- INT 15.87 in protected mode - Laaca, 30.08.2011, 07:22
- INT 15.87 in protected mode - Japheth, 30.08.2011, 08:47
- INT 15.87 in protected mode - Rugxulo, 31.08.2011, 01:30
- INT 15.87 in protected mode - Laaca, 31.08.2011, 07:33
- INT 15.87 in protected mode - Rugxulo, 31.08.2011, 21:27
- INT 15.87 in protected mode - Laaca, 02.09.2011, 07:10
- INT 15.87 in protected mode - marcov, 02.09.2011, 09:58
- INT 15.87 in protected mode - Rugxulo, 03.09.2011, 21:49
- INT 15.87 in protected mode - DOS386, 04.09.2011, 12:43
- INT 15.87 in protected mode - Rugxulo, 03.09.2011, 21:49
- INT 15.87 in protected mode - marcov, 02.09.2011, 09:58
- INT 15.87 in protected mode - Laaca, 02.09.2011, 07:10
- INT 15.87 in protected mode - Rugxulo, 31.08.2011, 21:27
- INT 15.87 in protected mode - Japheth, 31.08.2011, 10:11
- INT 15.87 in protected mode - Rugxulo, 31.08.2011, 21:25
- INT 15.87 in protected mode - ecm, 01.09.2011, 02:17
- INT 15.87 in protected mode - Rugxulo, 01.09.2011, 04:31
- INT 15.87 in protected mode - Rugxulo, 01.09.2011, 05:00
- INT 15.87 in protected mode - Rugxulo, 01.09.2011, 04:31
- INT 15.87 in protected mode - ecm, 01.09.2011, 02:17
- INT 15.87 in protected mode - Rugxulo, 31.08.2011, 21:25
- INT 15.87 in protected mode - Laaca, 31.08.2011, 07:33
- INT 15.87 in protected mode - Rugxulo, 31.08.2011, 01:30
- INT 15.87 in protected mode - Japheth, 30.08.2011, 08:47
- INT 15.87 in protected mode - Japheth, 30.08.2011, 05:27
- INT 15.87 in protected mode - RayeR, 07.09.2011, 10:28
- INT 15.87 in protected mode - Laaca, 07.09.2011, 12:28
- INT 15.87 in protected mode - RayeR, 07.09.2011, 21:05
- INT 15.87 in protected mode - Laaca, 08.09.2011, 07:33
- INT 15.87 in protected mode - bretjohn, 08.09.2011, 18:19
- INT 15.87 in protected mode - Laaca, 08.09.2011, 22:39
- INT 15.87 in protected mode - Rugxulo, 08.09.2011, 22:50
- INT 15.87 in protected mode - Laaca, 08.09.2011, 22:39
- INT 15.87 in protected mode - RayeR, 08.09.2011, 22:27
- INT 15.87 in protected mode - bretjohn, 09.09.2011, 00:31
- INT 15.87 in protected mode - RayeR, 09.09.2011, 01:51
- INT 15.87 in protected mode - bretjohn, 09.09.2011, 20:09
- INT 15.87 in protected mode - bretjohn, 09.09.2011, 23:17
- INT 15.87 in protected mode - RayeR, 09.09.2011, 01:51
- INT 15.87 in protected mode - bretjohn, 09.09.2011, 00:31
- INT 15.87 in protected mode - bretjohn, 08.09.2011, 18:19
- INT 15.87 in protected mode - Laaca, 08.09.2011, 07:33
- INT 15.87 in protected mode - RayeR, 07.09.2011, 21:05
- INT 15.87 in protected mode - Laaca, 07.09.2011, 12:28
- INT 15.87 in protected mode - Rugxulo, 29.08.2011, 23:28
Mix view