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