Author: hbelusca
Date: Sat Oct 11 16:00:31 2014
New Revision: 64675
URL: http://svn.reactos.org/svn/reactos?rev=64675&view=rev
Log:
Revert revision 64673 (as long as our FPU is not fully implemented, do not hint apps to use our FPU, but instead their simulated one if they have one). Fixes QBasic-compiled apps (amongst others...)
Modified:
trunk/reactos/subsystems/ntvdm/bios/bios.h
Modified: trunk/reactos/subsystems/ntvdm/bios/bios.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/ntvdm/bios/bios…
==============================================================================
--- trunk/reactos/subsystems/ntvdm/bios/bios.h [iso-8859-1] (original)
+++ trunk/reactos/subsystems/ntvdm/bios/bios.h [iso-8859-1] Sat Oct 11 16:00:31 2014
@@ -30,7 +30,11 @@
#define BDA_SEGMENT 0x40
#define BIOS_SEGMENT 0xF000
-#define BIOS_EQUIPMENT_LIST 0x2E // Bit1: FPU, Bit 2: Mouse
+// HACK: Disable FPU for now because it is not fully ready yet for being used
+// by all applications (e.g. QBasic runtime would use the native FPU if the bit
+// is set, but then subsequently fails, unless the FPU bit is unset in that case
+// QBasic uses its emulated FPU).
+#define BIOS_EQUIPMENT_LIST 0x2C // Bit1: FPU, Bit 2: Mouse
#pragma pack(push, 1)
Author: aandrejevic
Date: Sat Oct 11 14:40:53 2014
New Revision: 64671
URL: http://svn.reactos.org/svn/reactos?rev=64671&view=rev
Log:
[FAST486]
Revert the previous fix and fix it again, but properly.
Modified:
trunk/reactos/lib/fast486/fpu.c
Modified: trunk/reactos/lib/fast486/fpu.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/fast486/fpu.c?rev=6467…
==============================================================================
--- trunk/reactos/lib/fast486/fpu.c [iso-8859-1] (original)
+++ trunk/reactos/lib/fast486/fpu.c [iso-8859-1] Sat Oct 11 14:40:53 2014
@@ -511,10 +511,10 @@
else
{
/* Only a few of these instructions have any meaning on a 487 */
- switch ((ModRegRm.SecondRegister << 3) | ModRegRm.Register)
+ switch ((ModRegRm.Register << 3) | ModRegRm.SecondRegister)
{
/* FCLEX */
- case 0x42:
+ case 0x22:
{
/* Clear exception data */
State->FpuStatus.Ie =
@@ -531,7 +531,7 @@
}
/* FINIT */
- case 0x43:
+ case 0x23:
{
/* Restore the state */
State->FpuControl.Value = FAST486_FPU_DEFAULT_CONTROL;
@@ -542,9 +542,9 @@
}
/* FENI */
- case 0x40:
+ case 0x20:
/* FDISI */
- case 0x41:
+ case 0x21:
{
/* These do nothing */
break;