[bug 718] Executing dos DPMI programs
Sylvain Petreolle
spetreolle at yahoo.fr
Sun Nov 24 12:35:00 CST 2002
> The problem is that Wine has no support for calling Wine
> functions from application context whose stack and code pointers
> use 32-bit segmented model. Wine interrupt emulation
> currently uses a simple scheme which works with any code pointer
> but which fails miserably if stack pointer is over 0xffff.
> The simplest fix would probably be to swap to 16-bit stack on
> entry to Wine interrupt handler. This would mean that only
> winedos dll needs to deal with 32-bit segmented stuff.
> I have a rather good idea on how this can be implemented.
>
> Anyway, your error message looks quite interesting because
> current Wine version emulates *all* interrupt opcodes in real
> mode, 16-bit protected mode and 32-bit protected mode and thus it
> should be impossible to get this error message. Are you sure
> you tried executing using the latest CVS version or at least
> the latest release?
>
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.
___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com
More information about the wine-devel
mailing list