[bug 718] Executing dos DPMI programs
Jukka Heinonen
jhei at iki.fi
Sun Nov 24 13:55:51 CST 2002
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.
--
Jukka Heinonen <http://www.iki.fi/jhei/>
More information about the wine-devel
mailing list