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
0e8926936d
Added FPU support for pre-486 CPUs.
...
This commit does not include timings for 8087, 80287 or 80387 FPUs, these will
be added later. It also does not restrict the use of 486 and later FPU
instructions.
2020-01-22 20:53:13 +00:00
SarahW
cb6422b324
MMX fixes :
...
- Initialise x87 tags correctly in recompiler
- EMMS/FEMMS now respect cr0 TS bit
- FRSTOR now doesn't force all non-uint64 tags to valid
Fixes Heaven 7 with AudioPCI
2019-05-18 14:05:30 +01:00
SarahW
66b0b9c926
Use inline assembly routine for x87 comparisons on x86-64. Fixes Unreal.
2019-05-01 20:18:13 +01:00
SarahW
0055238ade
Added recompiled versions of FCOM, FCOMP, FCOMPP, FICOM, FICOM, FUCOM, FUCOMP and FUCOMPP.
2018-11-14 21:42:20 +00:00
SarahW
e17a94a409
FDIVP/FDIVRP should pop the stack when a divide by zero occurs and the exception is masked. Fixes software rendering on Need for Speed III.
2018-10-09 22:10:29 +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
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
b60ff22d7b
Illegal x87 instructions don't cause an exception. Fixes NSSI hangs.
2017-03-25 14:24:35 +00: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
6b5467a6c9
Remove unnecessary flag rebuilding in FP_ENTER().
2016-09-11 17:16:34 +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
a2f96effad
Added 0xDC aliases for FCOM/FCOMP - Trespasser now works.
2016-05-25 19:23:36 +01:00
SarahW
e236fb6d16
Added missing FCMOV instruction for 6x86MX.
2016-04-28 19:34:46 +01:00
SarahW
153c22e442
Cyrix 6x86 emulation. Based on patch from leilei.
...
Moved MOV TRx, reg to correct opcode - required by Award 430VX BIOS with 6x86.
2016-04-27 22:23:49 +01:00
TomW
a2046fe37f
Fixed stupid typos in FPU rounding - Unreal software mode works again.
2015-10-19 20:34:58 +01:00
TomW
33685c3318
More changes to FPU nearest rounding, Unreal works again.
2015-09-28 20:33:36 +01:00
TomW
299f6c8dfb
Nearest FPU rounding mode now handles negative numbers correctly. Fixes Retro City Rampage 486.
2015-09-26 17:54:25 +01:00
TomW
986476b9db
FPU rounding modes now have effect in FADD double precision. Fixes rendering in Interstate '76.
2015-09-21 21:54:43 +01:00
TomW
ea13ae015b
Added FPREM1 instruction for Interstate '76.
2015-09-21 08:14:53 +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
47db0646c1
Fixed typo in x87 opcode tables.
2015-02-03 18:42:09 +00:00
TomW
19c318675a
FCOM/FUCOM now use inline assembler on x86 targets. Unreal now works.
2015-01-17 22:06:32 +00:00
TomW
087f412d3f
Reorganised FPU emulation.
2014-11-09 14:07:03 +00:00