OBattler
e4d860c025
Replaced calls to flushmmucache_cr3() to direct calls to flushmmucache_nopc() and removed the #define.
2023-06-11 22:12:18 +02:00
RichardG867
4253c7bae7
386_common: Handle IOPB segment limit corner case more like the old code
2023-04-22 22:28:18 -03:00
RichardG867
c076406450
386_common: Optimize I/O permission checking for word and dword operations (based on qemu)
2023-04-22 18:41:42 -03:00
OBattler
19d155cdd7
Keyboard controller file split and assorted clean-ups and fixes
2023-04-19 23:34:32 +02:00
Jasmine Iwanek
83b220cb03
clang format in cpu
2022-11-19 11:53:09 -05:00
OBattler
27ebb27db7
Makefile.mingw corrections and made the code pass much stricter checks (now mandated by Makefile.mignw) to ensure GCC 14 readiness.
2022-11-17 22:44:06 +01:00
OBattler
2a6a061556
nmi_raise() actually raises NMI, should fix ES1371 legacy device and other stuff.
2022-08-09 04:34:48 +02:00
OBattler
754058e2e5
AAM and AAD instruction fixes, fixes #2551 .
2022-08-01 23:40:11 +02:00
OBattler
c6d7f4a95b
Do not disable the timer in cpu_fast_off_reset() because the timers have already been reinitialized at this point.
2022-07-21 19:51:34 +02:00
OBattler
645c4e6902
ALi M6117-related CPU fixes.
2022-07-18 23:38:06 +02:00
OBattler
63e52cb832
Fixes to cpu/386_common.c.
2022-07-16 04:06:46 +02:00
OBattler
27713f6557
More CPU.
2022-07-16 03:22:41 +02:00
OBattler
a35c4aa674
CPU changes.
2022-07-16 03:21:21 +02:00
OBattler
2fd712d092
CPU changes.
2022-07-16 03:12:24 +02:00
OBattler
2c9bfa979f
ALi M1489 and a CPU fix.
2022-07-16 02:47:39 +02:00
OBattler
da5d451386
Preparation for SMI# and NMI# changes.
2022-07-16 02:45:46 +02:00
Jasmine Iwanek
4674756664
More newline and whitespace cleanups
2022-02-20 16:26:40 -05: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
ddc7c5b78a
Reorganized some CPU structures a bit and fixed inappropriate behavior of some mem.c functions on 64-bit binaries (and made mem.c aware of ARM64 as well), fixes both 64-bit recompilers, closes #1215 .
2021-08-27 13:31:47 +02:00
OBattler
fe5955e477
Removed excess logging from 386_common.c.
2021-08-20 17:31:18 +02:00
OBattler
b384f58a8b
The relocated SMBASE read from the SMM saved state now has bits 24-31 cleared.
2021-08-20 17:27:56 +02:00
OBattler
79ad6568f8
Disabled excess CPU logging.
2021-08-10 16:24:18 +02:00
OBattler
f0e84f7f13
More fixes, fixes CMOS Setup on the Acrosses AR-B4179.
2021-08-09 16:10:55 +02:00
OBattler
136e6323fc
Removed another unused function from cpu/386_common.c.
2021-04-29 22:10:53 +02:00
OBattler
6ff172b833
Entry into SMM now cases flags to be rebuilt.
2021-04-21 01:09:48 +02: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
c370ae7e18
CPU and MMU cleanups and fixes, and non-Debug builds are now stripped again.
2021-04-10 07:18:47 +02:00
David Hrdlička
10cc122925
fix Clang/WinSDK warnings
2021-03-21 03:28:37 +01:00
OBattler
9930957be3
Renamed syscall() to syscall_op() in order to avoid a conflict when compiling for Linux.
2020-12-24 13:34:22 +01:00
OBattler
7577dbab78
Finished the SiS 50x work and added the two ASUS'es.
2020-12-18 17:09:54 +01:00
TC1995
462ff300da
Ported the most important patches from PCem.
2020-12-01 21:06:01 +01:00
OBattler
a5ae4cfba5
Got completely rid of readmemb386l() and writememb386l().
2020-11-30 05:27:04 +01:00
OBattler
1d4988221f
Fixed SYSENTER, SYSEXIT, SYSCALL, and SYSRET;
...
SYSCALL and SYSRET are now perfectly in line with AMD's specification;
Improvements to the API call to gracefully stop the emulator.
2020-11-16 17:47:05 +01:00
OBattler
0faf6692c9
WARNING: CONFIGS MIGHT PARTIALLY BREAK WHERE DEVICE NAMES HAVE CHANGED.
...
Changes to device_t struct to accomodate the upcoming PCI IRQ arbitration rewrite;
Added device.c/h API to obtain name from the device_t struct;
Significant changes to win/win_settings.c to clean up the code a bit and fix bugs;
Ported all the CPU and AudioPCI commits from PCem;
Added an API call to allow ACPI soft power off to gracefully stop the emulator;
Removed the Siemens PCD-2L from the Dev branch because it now works;
Removed the Socket 5 HP Vectra from the Dev branch because it now works;
Fixed the Compaq Presario and the Micronics Spitfire;
Give the IBM PC330 its own list of 486 CPU so it can have DX2's with CPUID 0x470;
SMM fixes;
Rewrote the SYSENTER, SYSEXIT, SYSCALL, and SYSRET instructions;
Changed IDE reset period to match the specification, fixes #929 ;
The keyboard input and output ports are now forced in front of the queue when read, fixes a number of bugs, including the AMI Apollo hanging on soft reset;
Added the Intel AN430TX but Dev branched because it does not work;
The network code no longer drops packets if the emulated network card has failed to receive them (eg. when the buffer is full);
Changes to PCI card adding and renamed some PCI slot types, also added proper AGP bridge slot types;
USB UHCI emulation is no longer a stub (still doesn't fully work, but at least Windows XP chk with Debug no longer ASSERT's on it);
Fixed NVR on the the SMC FDC37C932QF and APM variants;
A number of fixes to Intel 4x0 chipsets, including fixing every register of the 440LX and 440EX;
Some ACPI changes.
2020-11-16 00:01:21 +01:00
OBattler
795a6017d2
PIC rewrite, proper SMRAM API, complete SiS 471 rewrite and addition of 40x, 460, and 461, changes to mem.c/h, disabled Voodoo memory dumping on exit, bumped SDL Hardware scale quality to 2, bumped IDE/ATAPI drives to ATA-6, finally bumped emulator version to 3.0, redid the bus type ID's to allow for planned ATAPI hard disks, made SST flash set its high mappings to the correct address if the CPU is 16-bit, and added the SiS 401 AMI 486 Clone, AOpen Vi15G, and the Soyo 4SA2 (486 with SiS 496/497 that can boot from CD-ROM), assorted 286+ protected mode fixes (for slightly more accuracy), and fixes to 808x emulation (MS Word 1.0 and 1.10 for DOS now work correctly from floppy).
2020-10-14 23:15:01 +02:00
OBattler
aeaf5ad34a
Properly enabled SMM (and with the correct SMBASE) on AMD 486 CPU's.
2020-07-20 01:44:19 +02:00
OBattler
a862bda04c
Rewrote the recompiler interrupt checking in assembly (and removed it for the new dynamic compiler because the requires uops are not present), brings performance back up, and also did a number of CPU-related clean-ups (mostly removal of dead variables and associated code).
2020-07-13 19:46:19 +02:00
OBattler
96228bc41d
Overhauled the SiS 496/497 chipset emulation (and added the DRB locking to it) (later Zida Tomato 4DPS BIOS'es now work, and we now use the actual 1.72), fixed the W83787F and FDC37C932FR Super I/O chips, removed the no longer needed Acer M3A registers (that's now correctly handled as FDC37C932FR GPIO), and a number of bugfixes here and there.
2020-06-29 01:10:20 +02:00
OBattler
611dd62fab
Some chipset extended SMRAM-related clean-ups and SMM-supporting chipsets now correctly set shadow RAM states for SMM mode in addition to non-SMM mode, fixes Windows 98 SE hanging in a SMI# handler.
2020-06-14 14:50:30 +02:00
OBattler
ca55e2a12a
More reorganization and finally merged the two makefiles.
2020-06-13 12:32:09 +02:00
OBattler
60ba71cb4b
Renamed the three CPU folders to their final names.
2020-06-13 10:54:05 +02:00