SarahW
2e037b5076
FSCALE should always return 0.0 if ST(0) input is 0.0, regardless of
...
value of ST(1); this might otherwise return infinity or NaN if not
trapped. Fixes fade-in on MDK2.
2021-06-02 21:13:39 +01:00
SarahW
51516c0bb1
Correct top-of-stack value stored by FSTENV. Fixes rendering in
...
CNCD - Inside
2021-05-30 15:23:11 +01:00
SarahW
a77fd1e7f5
8087 FNINIT initialises control word to 0x3ff. Fixes FPU detection on Xi8088.
2020-02-09 17:55:28 +00:00
SarahW
ea4dd4047c
Added FENI/FDISI for 8087.
2020-01-24 20:33:59 +00:00
SarahW
4875f24b53
Added initial attempt at instruction timings for 8087/287/387.
...
Also added 287XL using 387 timings.
2020-01-24 20:33:35 +00:00
SarahW
c682e070a6
Fix x87 tag register when using MMX instructions. Fixes numerous issues when an MMX process is running at the same time as one or more other MMX/FPU processes (usually seen running 3dfx games with AudioPCI).
2019-05-11 18:41:31 +01:00
SarahW
b2e236e720
Mark FINIT as ending a code block. Fixes crash in Armoured Fist II.
2019-04-09 22:19:39 +01:00
SarahW
87191dde55
Added recompiled versions of FIST and FISTP.
2018-10-25 20:54:33 +01:00
SarahW
d9e38fe37c
Fix masking of FPU top-of-stack in several places. Fixes DOS Quake.
2018-10-09 13:51:05 +01:00
SarahW
305b6cc4fd
Added recompiled register versions of FADDP, FDIVP, FDIVRP, FMULP, FSUBP and FSUBRP.
2018-10-08 21:44:30 +01:00
SarahW
dbb01ef9e2
Cleaned up x87 tag register handling.
2018-10-01 21:02:40 +01:00
SarahW
0f0a1c3223
Perform NULL segment checks upfront in opcode handlers, rather than on every memory access.
...
This removes the need to pass the segment to readmem*l()/writemem*l().
2018-07-18 22:10:18 +01:00
SarahW
a4b8eba56b
Add better rounded value for FLDLN2. Fixes rendering in Zone Raiders.
2018-03-28 20:33:18 +01:00
SarahW
2b892d2a7a
Fixed compiler warnings for Windows builds.
...
Added -Werror to Windows makefiles.
2017-04-11 19:34:41 +01:00
SarahW
9167b3a71f
Fixed x86-32 recompiler MMX entry code
...
Fixed FPU tag resetting in EMMS instruction
Clear MMX state in FINIT
Reset FPU state in FSAVE/FNSAVE
Fixes issues with MMX when more than one MMX program is running
2017-01-13 21:31:42 +00:00
SarahW
dd2a608707
x86-32 recompiler performs float->integer rounding by loading FPU control word instead of calling helper function - speedup on some stuff.
2016-09-18 14:57:10 +01:00
SarahW
1004d947d5
Fixed bug with FRSTOR which broke FPU copy.
2016-09-10 18:41:58 +01:00
SarahW
6aef53e854
Remove remaining references to 32-bit addresses in x86-64 recompiler.
2016-08-28 15:58:30 +01:00
SarahW
5a02b518b8
Moved FPU register stack into cpu_state structure.
...
Fixed a couple of FPU bugs in x86-64 recompiler that were introduced in rev 543, fixes lightmap issues in Half-Life.
2016-08-25 21:09:02 +01:00
SarahW
eb126fd822
Moved more variables into cpu_state structure.
2016-08-21 21:28:23 +01:00
SarahW
c664682758
Move some more variables into cpu_state structure. Minor speedup (~2%).
2016-08-17 21:28:16 +01:00
SarahW
e236fb6d16
Added missing FCMOV instruction for 6x86MX.
2016-04-28 19:34:46 +01:00
SarahW
c81a91fd72
Moved integer registers, PC and flags_* variables into new cpu_state structure. Reduces recompiled code size slightly, small speedup (1-3%).
2016-04-20 21:39:41 +01:00
TomW
ea13ae015b
Added FPREM1 instruction for Interstate '76.
2015-09-21 08:14:53 +01:00
TomW
5ac8fd496a
Fixed bug preventing FXAM from clearing C1 flag - fixes bugs in Half-Life, Final Fantasy VII, DEU and probably others.
2015-08-29 14:41:32 +01:00
TomW
cd8d2a6824
Added FP_ENTER() to FPU instructions that were missing it.
2015-08-10 17:50:56 +01:00
TomW
52a27a9256
FPU copy should now work.
2015-05-18 20:33:33 +01:00
TomW
1802996443
Added missing FYL2XP1 instruction.
2015-05-03 20:53:18 +01:00
TomW
15bca849c8
Added code generation for first batch of FPU instructions; instructions added are most common instructions used in Quake.
2015-04-19 08:42:04 +01:00
TomW
2905c43db8
Cycle counts for recompiled blocks now generated at compile time.
2014-11-12 19:33:49 +00:00
TomW
087f412d3f
Reorganised FPU emulation.
2014-11-09 14:07:03 +00:00