Hi, Calling int21 via DeviceIoctl is definitely not VM86 mode. However one application had this bit set for some reason, confusing the int21 handler. Ciao, Marcus Changelog: Explicitly clear vm86 flag in DIOCRegs_2_CONTEXT. Index: dlls/kernel/device.c =================================================================== RCS file: /home/wine/wine/dlls/kernel/device.c,v retrieving revision 1.5 diff -u -r1.5 device.c --- dlls/kernel/device.c 4 Dec 2003 21:05:13 -0000 1.5 +++ dlls/kernel/device.c 15 Dec 2003 07:15:36 -0000 @@ -287,6 +287,7 @@ FIXME( "Unknown/unsupported VxD %s. Try setting Windows version to 'nt40' or 'win31'.\n", filename); + SetLastError( ERROR_FILE_NOT_FOUND ); return 0; } @@ -609,7 +610,8 @@ pCxt->Edi = pIn->reg_EDI; /* FIXME: Only partial CONTEXT86_CONTROL */ - pCxt->EFlags = pIn->reg_Flags; + + pCxt->EFlags = pIn->reg_Flags & ~0x00020000; /* clear vm86 mode */ } static void CONTEXT_2_DIOCRegs( CONTEXT86 *pCxt, DIOC_REGISTERS *pOut ) --