Commit Graph

752 Commits

Author SHA1 Message Date
Jasmine Iwanek
56cc182e61 Align assignments in cpu_table 2024-07-23 20:21:56 -04:00
Jasmine Iwanek
cb6cc140d2 Bits of cpu_table formatting which escaped 2024-07-23 20:21:56 -04:00
Jasmine Iwanek
decce77204 Named initializers for Socket 370's 2024-07-23 20:21:55 -04:00
Jasmine Iwanek
8af310e0a2 Named initializers for Slot 2's 2024-07-23 20:21:55 -04:00
Jasmine Iwanek
a880c9a020 Named initializers for Slot 1's 2024-07-23 20:21:55 -04:00
Jasmine Iwanek
6141577347 Named initializers for socket 8's 2024-07-23 20:21:55 -04:00
Jasmine Iwanek
0fedbf9b46 Named initializers for socket 5's and 7's 2024-07-23 20:21:55 -04:00
OBattler
3d50934812 Fixed the IBM 486BL EDX reset values and the Tandy 1000 CPU's. 2024-07-24 00:07:21 +02:00
OBattler
95894198bf Genoa Unknown 486: Reset BIOS memory state on soft reset, fixes hangs on soft reset after saving CMOS Setup. 2024-07-22 18:26:10 +02:00
Jasmine Iwanek
b5f85ba267 Named initializers for soclet 4's 2024-07-21 19:24:16 -04:00
Jasmine Iwanek
27f83754b2 Named initializers for STPC CPU's 2024-07-21 18:52:13 -04:00
Jasmine Iwanek
ed6193abc9 Named initializers for soclet 3's 2024-07-21 18:44:20 -04:00
Jasmine Iwanek
232b44323c Named initializers for soclet 1 486's 2024-07-21 18:18:48 -04:00
Jasmine Iwanek
1b4408cf38 Deal with incorrect formatting offset in cpu_table 2024-07-21 18:18:47 -04:00
Jasmine Iwanek
ecc7f965a8 Named initializers for IBM & Cyrix CPU's 2024-07-21 18:18:47 -04:00
OBattler
6781ea56dd Merge branch 'master' of https://github.com/86Box/86Box 2024-07-02 01:47:49 +02:00
OBattler
eab504f388 x86seg.c: Make sure not to read beyond the end of the stack segment on stack transfers, fixes erroneous page faults when transferring 16-bit stacks to 32-bit stacks, fixes OS/2 2.0 build 6.141. 2024-07-02 01:47:42 +02:00
Jasmine Iwanek
13dac1020f Named-initializers for 80386DX CPU's 2024-06-28 23:42:28 -04:00
Jasmine Iwanek
571bab3efd Named-initializers for 80386SX CPU's 2024-06-28 23:42:28 -04:00
OBattler
bbe035b62a Implement special selector pushing behavior and improve the opcode length heuristic for CS limit checks, fixes #4552. 2024-06-23 02:28:22 +02:00
Cacodemon345
2b3d3ad5bd Make sure timers don't go completely out of sync upon altering TSC via WRMSR 2024-06-18 20:21:23 +06:00
OBattler
a369bc2d05 Reimplement S3 ViRGE reset and move PCI TRC CPU reset to outside the recompiled block, fixes #2903. 2024-06-12 20:46:27 +02:00
OBattler
969830ad83 New recompiler: Add a sanity check, fixes crash with RapidCAD, fixes #4487 . 2024-06-12 01:58:44 +02:00
OBattler
751f2af382 And primitives.h. as well. 2024-06-10 02:23:13 +02:00
OBattler
f4cc13d622 The forgotten .c file. 2024-06-10 02:14:55 +02:00
OBattler
56b3a27b33 SoftFloat: Move the const's to a .c file and make the .h only contain extern's. 2024-06-10 02:14:42 +02:00
OBattler
2273f563a5 Moved the offending SoftFloat-related stuff to x87_sf.h, fixes warnings. 2024-06-10 00:08:48 +02:00
TC1995
0f29bcddf1 Upgrade to softfloat3e.
This should solve licensing problems as well.
2024-06-09 23:08:46 +02:00
OBattler
4b77ef6823 286: Make LOCK legal with all instructions, per the Programmers' Reference Manual. 2024-06-09 19:58:16 +02:00
OBattler
38557b33dc Removed the VM_FLAG access from DRx access again. 2024-05-25 17:24:43 +02:00
Alexander Babikov
a07ffdecab Restore the debug register operation on 486+
But put it behind a compile-time option due to performance hits
Also add the DE flag to CPUID on supported CPUs
2024-05-24 03:35:08 +05:00
OBattler
d23c2a613d 286/386 interpreter: reinstall VM_FLAG check on accessin the debug registers. 2024-05-24 00:10:04 +02:00
Miran Grča
54178355b8 And in cpu.h. 2024-04-25 19:11:25 +02:00
Miran Grča
8928f5d771 Variable to override the 286/386 interpreter. 2024-04-25 19:10:40 +02:00
OBattler
15e3876e21 Prepare WD76C10 for 286/386 interpreter selection, exempt IBM 486BL and all Cyrix'es from the 286/386 interpreter. 2024-04-24 06:06:09 +02:00
OBattler
8e21ba4699 SoftFloat: Fix 8087/287 comparison of infinites. 2024-03-27 13:59:37 +01:00
OBattler
12e4d1b083 SoftFloat: Correctly treat +INF and -INF as equal on 8087 and 287, fixes 287 detection in MCPDiag. 2024-03-26 23:29:06 +01:00
OBattler
0b0cb84bf7 FPU: Re-enabled SoftFloat on 808x and implement the missing FBLD instruction, closes #4300. 2024-03-25 19:59:26 +01:00
OBattler
244038b84c LOCK: It is sometimes legal when cpu_mod == 3, fixes hangs with Compaq Portable III 386 TEST. 2024-03-03 21:24:00 +01:00
OBattler
71ecdc1b55 No longer raise TS# when (CS & 0xFFF8) is zero and (CS & 0x0004) is not, fixes #4214. 2024-02-29 06:52:45 +01:00
OBattler
6de7c7cd5e Fixed LOCK legality with prefixes, closes #4189. 2024-02-23 07:10:15 +01:00
OBattler
fcabd353d9 Check IOPL on 286 task segments. 2024-02-22 00:56:28 +01:00
OBattler
733c26d04a Return no mask when the TSS type is 286, closes #4177. 2024-02-19 19:09:35 +01:00
OBattler
e3e30e7536 Fixed a very stupid typo in the 286/386 version of the LOCK instruction that was breaking OS/2 Warp 3.0. 2024-02-19 15:41:49 +01:00
OBattler
19f6954410 Reverted some CPU-related changes. 2024-02-19 15:20:59 +01:00
Miran Grča
f7c995738c Fixed a bug in the 386 implementation of LOCK. 2024-02-14 02:29:31 +01:00
OBattler
2ab99dda0b Made LOCK instruction legality more accurate on 386, closes #4132. 2024-02-10 03:05:56 +01:00
OBattler
3f8952a558 More (S)VGA horizontal blanking fixes and CPU CR0 bit 4 fixes. 2024-02-09 18:02:33 +01:00
OBattler
30e7a49558 Fix compile-breaking mistakes in cpu/386.c. 2024-02-09 12:15:28 +01:00
OBattler
5a3d74d64f 286/386 interpreter fixes - the correct opcode arrays are now used and fixed the debug registers. 2024-02-09 12:14:35 +01:00