With DPMI into protect mode and back (Developers)
> I doubt r7 is better in this particular part, but you should definitely
> test against that. It's default on DJ's Zip Picker now anyways (though I'm
> not denying that r5 exists in a ton of places). Also, I know you're busy,
> but if it's really a bug, he should be notified. I'll (weakly) do it if
> you're unwilling.
I tested r7 and didn't note a difference.
However, the cause of the problem is found. Here's the output of DPMI.EXE with CWSDPMI loaded:
-------------------------------------------------
Cpu is in V86-mode
[snipped]
state save protected-mode: 002B:000012A2, real-mode: 0306:12A2
size state save buffer: 0000
raw jump to real-mode: 0068:00000000, protected-mode: 0306:1267
[snipped]
-------------------------------------------------
Size of the state buffer is zero, that is, one doesn't need to call the "state save" routines for raw-mode switches. DEBUGX does, no matter what size the buffer has. This is - or "should be" - ok, according to DPMI docs.
With CWSDPMI, it isn't ok, because the protected-mode address, 002B:12A2, is a 16-bit code segment and contains just a RETF. It has to be a 32-bit RETF, however, so there's a 66h byte missing before the RETF.
---
MS-DOS forever!
Complete thread:
- With DPMI into protect mode and back - Laaca, 13.08.2010, 10:36 (Developers)
- With DPMI into protect mode and back - EDIT: example - ecm, 13.08.2010, 14:30
- With DPMI into protect mode and back - EDIT: example - DOS386, 26.08.2010, 09:18
- With DPMI into protect mode and back - EDIT: example - ecm, 26.08.2010, 14:35
- With DPMI into protect mode and back - EDIT: example - DOS386, 27.08.2010, 03:33
- With DPMI into protect mode and back - EDIT: example - ecm, 30.08.2010, 21:51
- With DPMI into protect mode and back | physical memory - DOS386, 06.09.2010, 20:08
- With DPMI into protect mode and back | physical memory - ecm, 07.09.2010, 17:04
- With DPMI into protect mode and back | physical memory - DOS386, 08.09.2010, 00:51
- With DPMI into protect mode and back | physical memory - ecm, 08.09.2010, 20:53
- With DPMI into protect mode and back | physical memory - DOS386, 11.09.2010, 01:02
- With DPMI into protect mode and back | physical memory - ecm, 11.09.2010, 01:25
- With DPMI into protect mode and back | physical memory - DOS386, 11.09.2010, 01:02
- With DPMI into protect mode and back | physical memory - ecm, 08.09.2010, 20:53
- With DPMI into protect mode and back | physical memory - DOS386, 08.09.2010, 00:51
- With DPMI into protect mode and back | physical memory - ecm, 07.09.2010, 17:04
- With DPMI into protect mode and back | physical memory - DOS386, 06.09.2010, 20:08
- With DPMI into protect mode and back - EDIT: example - ecm, 30.08.2010, 21:51
- With DPMI into protect mode and back - EDIT: example - DOS386, 27.08.2010, 03:33
- With DPMI into protect mode and back - EDIT: example - ecm, 26.08.2010, 14:35
- With DPMI into protect mode and back - EDIT: example - DOS386, 26.08.2010, 09:18
- With DPMI into protect mode and back - Japheth, 18.08.2010, 08:04
- With DPMI into protect mode and back - Japheth, 18.10.2010, 11:17
- With DPMI into protect mode and back - Rugxulo, 18.10.2010, 23:07
- With DPMI into protect mode and back - Japheth, 19.10.2010, 09:58
- With DPMI into protect mode and back - Rugxulo, 19.10.2010, 10:09
- With DPMI into protect mode and back - Japheth, 19.10.2010, 10:20
- Possible CWSDPMI design flaw - Japheth, 19.10.2010, 17:59
- With DPMI into protect mode and back - Rugxulo, 19.10.2010, 10:09
- With DPMI into protect mode and back - Japheth, 19.10.2010, 09:58
- With DPMI into protect mode and back - Rugxulo, 18.10.2010, 23:07
- With DPMI into protect mode and back - Japheth, 18.10.2010, 11:17
- With DPMI into protect mode and back - EDIT: example - ecm, 13.08.2010, 14:30