[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