On Sun, Nov 24, 2002, Sylvain Petreolle wrote:
as i'm sending patches and working on cygwin/wine, i'm always doing cvs update and looking into the wine-cvs/wine-patches lists to see if some patches are committed.
if you look at the log of some dpmi program, it makes call to int31 handler and thus switches to 32-bit mode. after that program makes some things, then wants to make a dpmi call : wine says that int xx is forbidden in 32 bit mode.
Oh, that error message. Well, the line that generates the message was deleted about seven weeks ago from official Wine CVS. Anyway, as I already has stated, most DPMI32 programs won't work and I will start working on that problem when I get interrupt handler migration finished. This would likely happen during late december or early january.
Sigh, I just sometimes wonder why I bother to explain these things... All DPMI16 programs should work and for some strange reason some DPMI32 programs work, too (pkzip for example). StartPM is called from int31 handler when "int 0x31" opcode is executed in DPMI protected mode switch wrapper. StartPM always makes a switch to 16-bit protected mode. DPMI32 applications usually allocate a 32-bit selector and make a jump which loads that selector into CS register. This makes the application enter 32-bit protected mode.