win87em: always return that a 8087 coprocessor is present.

Alexandre Julliard julliard at winehq.org
Wed Apr 8 05:12:56 CDT 2009


Rein Klazes <wijn at online.nl> writes:

> On Wed, 08 Apr 2009 11:39:08 +0200, you wrote:
>
>>Rein Klazes <wijn at 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.

My understanding is that it means a 8087 is installed, so it should
always be 1, and the assembly code should be enabled.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list