Commit graph pcem/src/x87_ops_misc.h
Author SHA1 Message Date
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