On Wed, 08 Apr 2009 11:39:08 +0200, you wrote:
Rein Klazes <wijn(a)online.nl> writes:
@@ -203,9 +203,9 @@ void WINAPI _fpMath( CONTEXT *context ) context->Eax &= ~0xffff; /* set AX to 0 */ break;
- case 11: /* just returns the installed flag in DX:AX */ + case 11: /* returns in ax whether a 8087 coprocessor is present, say yes */ context->Edx &= ~0xffff; /* set DX to 0 */ - context->Eax = (context->Eax & ~0xffff) | Installed; + context->Eax = (context->Eax & ~0xffff) | 1;
Should you set Installed to 1 instead?
Thought about it, it works for the app just as well. I choose this solution because: 1)I don't know what installed means. Means a 8087 is installed or that an emulator is installed. 2)at least in case 11: the documentation is clear what should be returned. 3)setting installed to 1 enables some assembly code, that could well be the reason that it is now set to zero. This was the original Changelog entry that introduced "installed" : | * dlls/win87em/emulate.c: | Andreas Mohr <mohr(a)elektron.ikp.physik.tu-darmstadt.de> | Several improvements. | (25 Nov 1999) Shall I make another patch? Rein.