Commit Graph

70 Commits

Author SHA1 Message Date
OBattler
b1c5cbaf47 Split the 286/386 interpreter away from the 486+ one (the 286/386 interpreter does not use the pccache's, readlookup's, and writelookup's as the emulated CPU's are too slow for them to be required, and also has more accurate FPU timings), also added a LPT status read function for future-proofing. 2023-08-08 19:39:52 +02:00
Jasmine Iwanek
998cfe5cc8 Constification 2023-07-25 17:59:24 -04:00
Jasmine Iwanek
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
Jasmine Iwanek
1116aadb6f Another round of sonarlint work 2023-07-04 10:53:44 -04:00
OBattler
2fe3bcd5d2 Do the wraparounds properly on 64-bit binaries, fixes #3421. 2023-06-25 22:20:11 +02:00
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
OBattler
f4c59e907d Removed mmu_invalidate(). 2023-06-11 22:07:32 +02:00
OBattler
cf8a2aa50a Added a sanity check to mem_invalidate_range() when compiled with the new recompiler, fixes segmentation fault on with OS/2 on IBM PS/2 Model 80. 2023-06-10 19:24:44 +02:00
Jasmine Iwanek
6c1e4a8e2c Some code smell fixes from sonarlint 2023-05-15 19:25:56 -04:00
OBattler
5d9de974ee More keyboard controller clean-ups and fixes to mem/mem.c and port_92.c - OS/2 1.3 now works on IBM PS/2 MCA machines. 2023-04-22 03:48:50 +02:00
RichardG867
321d33f626 Merge branch 'master' of ssh://github.com/86Box/86Box 2023-04-11 20:19:38 -03:00
OBattler
ef17003f1b Fixed the "minor bug fix" in the AT / PS/2 keyboard controller, reworked PS/2 keyboard controller IRQ latches, and correctly disabled memory top remaps if there's more than (16 MB - remap size) RAM (fixes segmentation faults on some machines with 16+ MB of RAM). 2023-04-11 23:21:52 +02:00
RichardG867
d6d509ff45 mem: Fix RAM size integer overflow with a not-yet-supported size 2023-04-11 12:04:07 -03:00
RichardG867
7c2ec22e49 mem: Add memory map logging 2023-04-11 12:02:38 -03:00
OBattler
4eb902d853 More keyboard controller fixes. 2023-04-09 19:44:15 +02:00
Jasmine Iwanek
1860700eab Fix some small issues 2023-01-07 17:02:23 -05:00
Jasmine Iwanek
3fe4f75108 A bit more clang-format 2022-11-19 11:53:07 -05:00
Jasmine Iwanek
aa2c07bed2 Random header cleanups I noticed while porting things 2022-11-05 22:12:35 -04:00
plant
c80d2a0209 Fix CPU-Z on IBM 486
It turns out that the IBM 486 does indeed have the AC bit in EFLAGS, based on CPU-Z detection behavior.
2022-10-31 00:12:39 -06:00
OBattler
021a63e782 SiS 471 fixes - fixes the DTK 486 hang. 2022-10-23 05:06:52 +02:00
Jasmine Iwanek
4685da3fca clang-format in src/mem/ 2022-09-18 17:22:55 -04:00
OBattler
25783f137d ALi M6117-related memory and ROM fixes. 2022-07-18 23:48:18 +02:00
Alexander Babikov
710d34db97 Remove unused variables and functions 2022-04-14 07:13:50 +05:00
RichardG867
f57cbe36b1 GDB Stub: More progress 2022-03-16 00:33:01 -03: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
77d73ed3c2 Finished the Intel 450KX, changes to the memory and SMRAM API's, removed the ASUS P/I-P6RP4 from the Dev branch, added the CMD646 PCI IDE controller, and fixed some bugs on the CMD640. 2021-10-26 01:54:35 +02:00
OBattler
a394a33500 Conflict resolution. 2021-10-19 18:18:15 +02:00
RichardG867
5bf8aa2d58 Port plat_m(un)map from the VFIO branch 2021-10-16 20:12:49 -03: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
Miran Grča
b60ece3d87 Merge pull request #1632 from 86Box/master
Bring the branch up to par with master.
2021-08-27 13:49:56 +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
dbddb3e309 Finished the ALADDiN-PRO II, implemented the Contaq/Cypress 82C596(A) and 82C597 chipsets, added the ASUS P5A, Gigabyte GA-5AX, PC CHIPS M729, and Green-B, removed the "Virtual PC 2007" device as it turns out it was actually SMBus all along, did some fixes to the ALi SMBUS, fixed start LM75 SMBus address and enabled it by default, and added a ASUS P5A-specific version of the Winbond W83781D hardware monitor. 2021-07-12 05:56:06 +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
51b88518b8 Some mem.c reset organization. 2021-06-07 00:17:29 +02:00
OBattler
957b538c4a Rewrote memory access handling to properly split execute from read, bus from CPU (but the mappings will still match until otherwise specified), and fixed exec[] usage by the mem_*_phys() functions. 2021-04-22 04:27:50 +02:00
OBattler
3e5c2b88d5 The Intel 420TX and 420ZX chipsets now correctly have 57h as the SMRAM control register (identified by register write logging on the ASUS P/I-486SP3G) rather than 72h, fixes hangs and errors on the ASUS P/I-486SP3G. 2021-04-13 02:33:40 +02:00
OBattler
bcb2e5598e CPU and MMU fixes, fixes #1366 and the entire mess that is build 2900. 2021-04-10 19:05:12 +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
OBattler
39f98cd063 Attempted revert back to resetx86() with a mem.c fix. 2021-04-04 08:17:02 +02:00
OBattler
637e70841e More mem.c fixes - simplified some unnecessary complexities introduced this morning and rewrote do_mmutranslate() again, fixes #1351. 2021-04-03 19:55:13 +02:00
OBattler
e49296805d Rewritten the read and write functions in mem.c again and fixed type casting, fixes quite a few bugs introduced in build 2842. 2021-04-03 04:42:12 +02:00
OBattler
880f2f0304 Added some sanity checks to mem_invalidate_range(), fixes OS/2 2.0 segmentation faulting the emulator on IBM PS/2 Model 80 on the Dev builds. 2021-04-01 03:06:26 +02:00
OBattler
345a61fa7c Removed the redundant mem_write_null* functions (the few mappings that use them, now use NULL pointers instead) and made the _phys function used by DMA not write to the exec buffer if the address has no write mapping (as in that case, it's clearly not intended to be writable), fixes #1332. 2021-03-30 02:16:01 +02:00
OBattler
1a643ab040 Reworked some memory and CPU parts to fix bugs, improve performance by getting rid of excess calls to mmutranslate(), and properly invalidate page bytes on page invalidation on new recompiler. 2021-03-24 19:52:44 +01:00
OBattler
b9b753c9aa Fixed the SCAMP chipset emulation and the Commodore SL386SX-25 (it was using the SL386SX-16 BIOS), added the SL386-SX16 (NEAT) and the Samsung SPC-4620P, SPC-6033P, and SPC-6000A. 2020-12-28 05:34:33 +01:00
RichardG867
29a0ce48e7 Merge branch 'master' of https://github.com/86Box/86Box 2020-12-03 01:46:04 -03:00
OBattler
c5f4cda6db Fixed the AIX fix. 2020-12-01 05:05:44 +01:00