35 Commits

Author SHA1 Message Date
Allofich
530313e450 Localize includes 2021-10-03 22:49:22 +09:00
Allofich
29f8fd89a8 Fix VS2019 build 2021-08-17 15:01:15 +09:00
Cimarron Mittelsteadt
3dc4a4197a Refactoring the RegBit class and added logic to keep reserved bits that are always '1' on the FPU control word 2021-08-06 23:24:18 -07:00
Cimarron Mittelsteadt
6a72983b6c Added mask to the FPU control word so that only bits which can be set are set. Cleanup of the control word initialization throughout the code 2021-08-06 13:40:25 -07:00
Cimarron Mittelsteadt
39aa1a5c51 Cleanup of FPU control word register and processing 2021-08-05 22:45:24 -07:00
Allofich
c2b17e40ed Localize #include "logging.h" from dosbox.h 2021-06-09 11:11:03 +09:00
Allofich
67ebe980a7 Remove unneeded includes 2021-06-06 04:39:54 +09:00
Allofich
9294d450ec SVN r4412
Update copyright.
2021-03-06 21:18:08 +09:00
Wengier
3ddf6d97d1 update for dynamic_x86 core 2020-10-12 16:06:32 -04:00
Wengier
39cea90974 re-add dynamic x86 core 2020-10-12 02:17:44 -04:00
Emmanuel Gil Peyrot
0358b76f15 Replace Bit64s with int64_t 2020-09-28 17:14:36 +02:00
Emmanuel Gil Peyrot
d1802fe5fa Replace Bit32s with int32_t 2020-09-28 17:14:35 +02:00
Emmanuel Gil Peyrot
c0a106535e Replace Bit32u with uint32_t 2020-09-28 17:14:35 +02:00
Emmanuel Gil Peyrot
a431d81213 Replace Bit16u with uint16_t 2020-09-28 17:14:35 +02:00
Emmanuel Gil Peyrot
35f38f3ebe Replace Bit8u with uint8_t 2020-09-28 17:14:35 +02:00
rderooy
608a657b50 Update copyright year for dosbox and dosbox-x assets and update FSF address 2020-06-25 08:42:32 +02:00
Wengier
1743167d9e Update MMX code to new version (https://www.vogons.org/viewtopic.php?f=32&t=74877&p=868569) 2020-06-23 19:16:55 -04:00
Allofich
038566362e Fix Cppcheck funcArgNamesDifferent warnings 2019-10-21 22:08:39 +09:00
Allofich
6dd702873e Fix type-conversion warnings 2019-06-10 00:28:12 +09:00
Allofich
d84a812743 SVN r4183 (second half)
Update year
2019-06-03 23:01:41 +09:00
Allofich
05619dd023 SVN r4183 (first half)
Update address of FSF
2019-06-03 22:54:46 +09:00
Allofich
3d918e1e43 SVN r3854
TOP is used as 32 bit in dynrec core
2019-04-28 19:30:15 +09:00
Jonathan Campbell
0b0baa0cc3 For compilers that support it, use alternate non-x86 FPU core that uses long double. It does not fix precision issues with Explora, but it does eliminate the need for the use80 flag needed for Toontown "Pentium memcpy trick" 2019-02-04 00:05:38 -08:00
Jonathan Campbell
0af7e674d9 FPU: Take fpu_instructions_x86.h from DOSBox SVN and incorporate into DOSBox-X 2019-02-01 22:22:23 -08:00
Jonathan Campbell
8b0b474823 sign conversion fixes 2018-05-29 14:49:42 -07:00
Jonathan Campbell
e0806c30f5 FPU 80-bit flag implemented. Certain operations including 80-bit
extended load/store and 64-bit integer load/store will use it to
preserve the contents correctly instead of downgrading FPU precision to
"double" type. This hack makes it possible for DOS games/demos using the
"fast Pentium memcpy trick" to copy data correctly. "Toontown" demo now
renders to screen correctly without vertical lines.
2016-06-12 13:05:32 -07:00
Jonathan Campbell
98fea6a9cc make sure floating point structs are packed. update FPU tests to make
sure bitfield alignment is correct.
2016-06-12 01:25:29 -07:00
Jonathan Campbell
f8e1602f4b long double detect, and some conditional code. 2016-06-12 01:09:57 -07:00
Jonathan Campbell
d1cbadeba1 remove unused p_regs[] FPU state var 2016-06-12 00:47:58 -07:00
Jonathan Campbell
ec7aec4d98 run the source code through dos2unix. it seems to help with applying
patches.
2015-08-16 02:00:24 -07:00
Jonathan Campbell
c7abbeeaca begin non-x86-specific FPU rewrite. first define structures and redefine
the FPU state a bit so we can start work on instruction emulation that
works in the 80-bit extended precision format. It has been determined
that Glasnos 3 fails to verify it's file size with the non-dynamic FPU
emulation because the non-dynamic FPU emulation loses enough precision
to cause a comparison to fail (a difference of at least
0.000000000000001).
2015-06-25 02:59:36 -07:00
Jonathan Campbell
f595c09847 Mask bit 15 when setting FPU control word. NSSI.EXE tries to set bit 15
to test for Cyrix EMC87. This fix finally convinces the program that we
are Intel 287 hardware when cputype == 286.
2015-06-07 04:05:28 -07:00
Jonathan Campbell
7151351bbf Add code to FADD to modify FPU status word (denormal flag) according to
floating point values. Meaning, that if we're asked to add a denormal
value or produce a denormal result we should set bit 1 of the status
word. Doing this apparently fixes NSSI.EXE's problem of mis-detecting
the FPU as an IIT (now it thinks it's a Cyrix EMC87---argh). But:
Windows 95 OSR2 no longer misdetects cputype=486 as Cyrix and most test
programs when given cputype=286 now see the FPU as a 287.
2015-06-07 03:57:17 -07:00
Jonathan Campbell
21614b8c3f toss out my copy, integrate tawoongs's daum branch code into mine,
remove what won't compile, begin work.
2013-10-14 05:07:26 -07:00
root
f331824031 port from svn 2013-07-07 20:39:49 -07:00