calls to int 3d corrupt the stack

Sylvain Petreolle spetreolle at
Sat Aug 16 10:37:17 CDT 2003

Actual implementation of the int 3d call (Standalone FWAIT)
is to patch the code to an fwait(9b) and a noop(90).

It seems that it corrupts the stack in FPU_ModifyCode and prevents vb3
to start. (tests made with current CVS)

Since we do nothing apart an emulated fwait, I commented the call to
FPU_ModifyCode. The call to int3d is equal to nothing and makes vb3
programs start :

dlls/winedos/fpu.c : 188
    TRACE("Int 0x3d called-- Standalone FWAIT");
/*    FPU_ModifyCode(context, 0x90); */

Does it seems to you its the correct way to proceed and will it be
valid in all cases ?

Sylvain Petreolle (spetreolle_at_users_dot_sourceforge_dot_net) 
ICQ #170597259

alias upsf='false ; while [ $? -ne 0 ] ; do cvs update -APd ; done 2>&1 |tee cvslog'

"What if tomorrow the War could be over ?" Morpheus, in "Reloaded".

Do You Yahoo!? -- Une adresse gratuite et en français !
Yahoo! Mail :

More information about the wine-devel mailing list