Commit Graph

46 Commits

Author SHA1 Message Date
OBattler
a0b80e04cd Remove the unused mmu_perm stuff. 2025-05-06 03:18:46 +02:00
Cacodemon345
e076c1051d Fix x87_op being outside of structure, fixing crashes in ARM64 NDR 2025-04-26 23:23:34 +06: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
40fd79aeb9 FPU: Properly implement INT 10h FPU exception, fixes #5162. 2025-01-19 09:06:39 +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
fb3b46f648 Unbroke SCO Xenix on the 286/386 interpreter, this will do until the prefetch queue is finally implemented. 2024-08-29 01:57:22 +02:00
OBattler
7c7cc921ee Non-808x interpreters: fetch the next instruction after a CR0 paging bit toggle with the old CR0 paging bit value, fixes SCO Unix. 2024-08-27 02:34:59 +02:00
Jasmine Iwanek
bda8fe7b9b Compile fix for cpu/x86.c logging 2024-08-07 01:07:49 -04: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
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
6de7c7cd5e Fixed LOCK legality with prefixes, closes #4189. 2024-02-23 07:10:15 +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
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
OBattler
937e2a52f8 SiS 5571, Daewoo Compaq, speed up AT / PS/2 KBC (does not appear to break anything from months of testing) and fix AT / PS/2 keyboard reset to fix the Samsung SPC7700LP-W soft reset. 2024-01-06 01:51:20 +01:00
OBattler
084fd441d3 Logging fixes in cpu/x86.c. 2023-08-25 03:49:06 +02:00
OBattler
782117dbbd Fixed some GCC pedantic warnings. 2023-08-25 02:28:51 +02:00
Alexander Babikov
ef631a8133 8514/A and XGA handling refactor:
* separate (ibm8514|xga)_enabled into (ibm8514|xga)_standalone_enabled
  and (ibm8514|xga)_active, the former being enabled only for standalone
  8514/A or XGA cards, the latter for all 8514/A and XGA-capable cards
  and not saved into the config file;
* remove (ibm8514|xga)_has_vga and replace all uses of it with
  (ibm8514|xga)_standalone_enabled;
* Qt UI: the checkboxes for standalone 8514/A and XGA are now correctly
  grayed out if an (S)VGA card with 8514/A or XGA capability is selected,
  including cases when the card is an internal/onboard one; said cards are
  now no longer appear as SVGA multi-monitor compatible.
2023-08-22 23:48:32 +05:00
OBattler
1d48363803 The 286/386 interpreter now has its own variant of x86seg.c. 2023-08-21 02:56:33 +02:00
Jasmine Iwanek
5cd18f3fbb Clang-formatting in src/cpu 2023-08-11 19:11:37 -04:00
Jasmine Iwanek
be79ea78c7 sonarlinting and formatting in src/cpu 2023-08-11 19:11:32 -04:00
OBattler
19d155cdd7 Keyboard controller file split and assorted clean-ups and fixes 2023-04-19 23:34:32 +02:00
OBattler
4eb902d853 More keyboard controller fixes. 2023-04-09 19:44:15 +02:00
Jasmine Iwanek
83b220cb03 clang format in cpu 2022-11-19 11:53:09 -05:00
Jasmine Iwanek
bd75bc141a Header cleanups
Tabs to spaces
Consistency
2022-11-13 21:15:47 -05:00
OBattler
645c4e6902 ALi M6117-related CPU fixes. 2022-07-18 23:38:06 +02:00
TC1995
63b4209414 And finally, more fixes to the XGA implementation including:
Cursor and mapping on Windows 2.x' 286/808x XGA driver.
Pattern and DMA bus master fixes to OS/2 2.x/Warp's XGA driver.
Software reset no longer causes glitches to the screen using XGA (x86.c)
2022-06-27 17:01:02 +02:00
TC1995
1ac46d792f Fixed the 8514/A to VGA soft reset and made the vga_on variable a global one to make sure it's used by the soft reset.
Updated copyright holder that was accidentally reverted while committing the IBM 8514/A source files.
2022-05-19 20:07:06 +02:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
OBattler
bc90f99350 Finally got rid of the AT and PCI global variables. 2021-12-19 20:00:27 +01:00
OBattler
9ec4fd3bdd Fixed a CPU reset mess. 2021-12-19 19:14:21 +01:00
OBattler
1c2d1e702b Assorted changes and bugfixes and added the two IMS 8848 machines. 2021-10-09 17:37:09 +02:00
OBattler
5ad606a8f2 UMC HB4 shadow RAM overhaul and SMRAM fixes, slight changes to SiS 85c4xx, a fix for SiS 85c50x, fixed SMBASE on 486 (it should *NOT* zero the most significant 8 bits!), various improvements to mem.c (eg. mem_invalidate_range() is now faster), fixed resetting PCI on soft reset, and made the KBC soft reset again. 2021-09-25 15:30:06 +02:00
OBattler
b8a2fdfd0a KBC reset is now hard reset. 2021-09-17 02:55:43 +02:00
OBattler
80b75ee433 CPU changes. 2021-08-09 09:58:01 +02:00
OBattler
4f6df76f10 Revert "Revert "Merge branch 'feature/machine_and_kb' into master""
This reverts commit f2cd3756dd.
2021-07-04 17:40:39 +02:00
Daniel Gurney
f2cd3756dd Revert "Merge branch 'feature/machine_and_kb' into master"
This reverts commit 6604a29d7e, reversing
changes made to 1d7fca0abd.
2021-07-04 18:22:52 +03:00
OBattler
fd4817a87b All the current WIP work (warning: the PIT is currently using some temporary test rewrite that is going to be undone). 2021-06-29 19:11:19 +02:00
OBattler
166f64d422 Some CPU fixes, should fix compiling. 2021-06-07 00:06:17 +02:00
OBattler
e7a859adc5 More fixes - the Goldstar machine now fully works. 2021-04-27 04:10:59 +02:00
nerd73
5e89a9d775 fix more compile issues 2021-04-15 23:34:53 -06:00
nerd73
791bae3560 Add the AMD Am486DXL and DXL2.
Has otherwise Intel-compatible SMM with an SMBase at 60000h.
2021-04-15 23:28:07 -06:00
nerd73
8e3b09f323 Various 486 improvements
- Added SL-Enhanced versions of Intel 486 CPUs and Enhanced AMD Am486DX2/DX4 CPUs
- Cleaned up the 486 CPU types and updated intel_4x0.c to reflect this
- Fixed some incorrect EDX reset and CPUID values
- Blacklisted non-SMM capable 486 CPUs on the Soyo 4SA2 motherboard
- Merged the non-OverDrive and OverDrive Intel DX4s because of further research confirming them to be functionally identical
- Removed SMM support on early 486 CPUs
2021-04-15 21:38:03 -06:00
OBattler
8b6f9707d5 More CPU fixes, and SMM now implemented on Cyrix Cx486 and Cx5x86 CPU's as well as on Intel/AMI SX, DX, and SX2 CPU's. 2021-04-11 07:25:08 +02:00
OBattler
8175289c9d Am486 SMBASE is now correctly initialized to 30000, 60000 is for the Am486DXL and Am486DXL2, which we do not emulate. 2021-04-10 22:22:19 +02:00
OBattler
5990663881 Keyboard reset fixes and the two files I forgot in the previous commit. 2021-04-10 07:22:49 +02:00