Commit Graph

780 Commits

Author SHA1 Message Date
OBattler
2cd99f0c70 X86 segmentation: apparently, the CPU can execute a data segment in some cases, used by LINK and CodeView, fixes #5283. 2025-03-19 07:54:54 +01:00
OBattler
395f23cf57 More Cyrix fixes. 2025-03-19 03:12:36 +01:00
OBattler
70dcdee72b Some Cyrix MII table/ID fixes and added some Cyrix CPU blocking for the NuPRO 592 and the P5MMS98. 2025-03-18 19:21:00 +01:00
OBattler
79134f3b21 Assorted Cyrix (and Codegen opcode Mod R/M passing table) fixes - fixes Windows 98 SE on Cyrix 6x86's with power management enabled. 2025-03-17 03:40:52 +01:00
OBattler
dd4e493f64 Applied the fix to the optional 486 implementation as well. 2025-03-17 00:07:41 +01:00
OBattler
52a16529dc 386 Interpreter: Fix execute breakpoints. 2025-03-16 23:54:55 +01:00
OBattler
9f200fe2e8 386 Interpreter: Check for debug breakpoint before segment limit and presence checking. 2025-03-16 21:20:15 +01:00
Miran Grča
3058acff0c Merge pull request #5358 from Cacodemon345/x87-fpu-interpreter
Use `fpclassify` for FXAM instead of manual comparison
2025-03-16 18:40:23 +01:00
OBattler
1c5d432d3c Disable special segment selector pushing behavior on Pentium onwards, fixes MSVC builds of ReactOS. 2025-03-16 18:37:32 +01:00
Cacodemon345
271a125301 Use fpclassify for FXAM instead of manual comparison
NaN detection for interpreter floating point compare on ARM64
2025-03-16 23:33:40 +06:00
OBattler
aef06552fb Some missing breaks in the Cyrix register writes. 2025-03-14 15:34:37 +01:00
OBattler
78f50c5b04 Move the Cyrix 6x86 out of the Dev branch. 2025-03-06 00:17:16 +01:00
OBattler
9b47522f43 FPU: Fix newly-introduced x87-related warnings. 2025-03-06 00:12:45 +01:00
OBattler
2300339588 Included stdlib.h. 2025-03-06 00:05:16 +01:00
Cacodemon345
c40aa61be4 Cyrix 6x86: Correctly initalize ARR3 on reset to avoid some SMM problems 2025-03-06 03:05:10 +06:00
Cacodemon345
5f3641ecbd Implement Cyrix EMMI extensions and 4 FPU instructions
PADDSIW, PSUBSIW, PMULHRW (named PMULHRWC in the code as recognized by some assemblers), PMULHRIW, PDISTIB, PMACHRIW, PAVEB, PMAGW, PMVZB, PMVNZB, PMVLZB, PMVGEZB, FTSTP, FRINT2, FRINEAR, FRICHOP are implemented for Cyrix 6x86MX. Cyrix 6x86(L) only has the last 4 instructions.
2025-03-06 03:05:10 +06:00
OBattler
8c2db2892d CPU: Fix Cyrix SMM instructions. 2025-03-05 21:52:17 +01:00
Cacodemon345
23b89d88c4 Revert "x87: Fix Final Reality discolored screen for interpreter"
This reverts commit 6d3816df64.
2025-02-28 16:51:48 +06:00
Cacodemon345
6bb2b447fd Revert "x87: Fix Final Reality discolored screen for all dynarecs"
This reverts commit 03dd94f361.
2025-02-28 16:51:33 +06:00
Cacodemon345
0bb89be0ad Revert "Fix compile on ARM64"
This reverts commit c7153916eb.
2025-02-28 16:51:13 +06:00
Cacodemon345
c7153916eb Fix compile on ARM64 2025-02-27 14:40:54 +06:00
Cacodemon345
03dd94f361 x87: Fix Final Reality discolored screen for all dynarecs 2025-02-27 13:50:45 +06:00
Cacodemon345
6d3816df64 x87: Fix Final Reality discolored screen for interpreter 2025-02-27 01:03:00 +06:00
pankozaC++
6362351987 bring back the Slot 1 to Socket 8 adapter 2025-02-13 19:14:36 +01:00
OBattler
63fbe6ab4f Documented three more functions. 2025-02-13 05:27:10 +01:00
OBattler
91ba20fbd0 Added the test mode entry point requested by gloriouscow. 2025-02-13 05:10:55 +01:00
OBattler
03c74f8bb6 Fix the AC flag on 8-bit and 16-bit ADC and SBB instructions. 2025-02-08 16:10:26 +01:00
OBattler
34e3f6e849 No longer list Socket 8 CPU's for Slot 1 machines, closes #5196. 2025-02-07 23:34:12 +01:00
Jasmine Iwanek
5f273265ae Assorted warning fixes 2025-02-02 03:24:50 -05:00
OBattler
40fd79aeb9 FPU: Properly implement INT 10h FPU exception, fixes #5162. 2025-01-19 09:06:39 +01:00
OBattler
a94a5bb0b5 Improved the Linux new dynamic recompiler freeze workaround per patch by Dax. 2025-01-16 05:48:37 +01:00
OBattler
fbafb7507b Dynamic recompiler: Only disable inline if not on Windows or MacOS. 2025-01-16 01:14:23 +01:00
greblosdier
2f5940fee3 Update 386_dynarec.c
Changed exec386_dynarec_dyn from inline to noinline to resolve NEW_DYNAREC build issue on Linux x86_64.
2025-01-15 12:57:51 -08:00
OBattler
ec175738ee FIX timings of SYSCALL/SYSRET/SYSENTER/SYSEXIT/FXSAVE/FXSTOR. 2025-01-13 05:38:10 +01:00
OBattler
b1f94abc27 Fixed the fix. 2025-01-13 05:01:00 +01:00
OBattler
123ff3b5e7 Fix NEC Vx0 INS*/OUS* timings calculation. 2025-01-13 04:35:23 +01:00
Adrian Siekierka
eb25bccf1e Add initial Mazovia 1016 emulation 2024-12-22 13:52:25 +01:00
OBattler
8f25851406 Pentium II: Change BIOS update signature to non-zero on CPUID with EAX = 1, fixes microcode update error messages on some BIOS'es. 2024-12-22 04:09:55 +01:00
Alexander Babikov
f1a60d8242 Add PSE-36 (36-bit page size extension) support
Code ported from PCBox
2024-12-21 20:44:31 +05:00
OBattler
11b588c6bb Fix FPU reporting, fixes #5033. 2024-12-14 00:59:52 +01:00
OBattler
cc8cfb7b3f The CPL checks introduced in build 6212 need to only be made in protected mode, fixes the Daewoo CB52X-SI. 2024-12-03 17:48:07 +01:00
TC1995
12a57ffeac Changes to 8514/A compatible stuff (November 2nd, 2024)
1. vga_on global variable removed, as it didn't play well with 2 subsystems at once (8514/A and XGA both enabled).
2. Emulate the Foreground/Background Color aliases of PIX_TRANS properly when not executing a command.
3. Voodoo 3D override now works properly (again) with Mach32 PCI cards and others by turning the 8514/A timer off and on accordingly.
2024-11-02 20:50:06 +01:00
OBattler
b6581dab8b 386: Re-add the INVD and WBINVD instruction - the DataExpert Phoenix 4.03 BIOS uses the latter even when specifically detecting a 386, who knows what it did on an actual 386. 2024-10-19 22:38:05 +02:00
OBattler
e8c1dc1bac Fix flags on the AAM and AAD instructions. 2024-10-16 06:56:55 +02:00
OBattler
0a3f1e3279 RDMSR, WRMSR, and WBINVD now correctly GPF when CPL > 0, fixes #4887. 2024-10-15 23:54:57 +02:00
OBattler
8899b1411b AMD K6-2 onwards: EFER write GPF is now correctly on bits 5 onwards, not on bits 1 onwards. 2024-10-01 09:56:40 +02:00
OBattler
7e0c6e9b69 Enable the SYSENTER/SYSEXIT MSR's on Pentium Pro, fixes OpenBSD booting, fixes #4873. 2024-09-30 18:08:05 +02:00
OBattler
6c2a667d0c x86seg.c: Use the correct memory read/write functions on 486+. 2024-09-29 18:16:32 +02:00
OBattler
bdc4304300 Added more conditions under which control register writes cause MMU cache flushes. 2024-09-28 19:17:57 +02:00
Jasmine Iwanek
f4b63caf0b One line per file in CmakeLists.txt 2024-09-04 18:34:06 -04:00