Commit Graph

139 Commits

Author SHA1 Message Date
Alexander Babikov
996769095b Implement most missing P6 MSRs
Remove the 6 extraneous performance counter MSRs which
haven't existed on P6
2024-02-07 12:31:43 +05:00
Alexander Babikov
e54b57641c Implement missing IBM, AMD and Cyrix MSRs 2024-02-07 12:31:42 +05:00
Alexander Babikov
65f40ca71d Implement missing WinChip C6/2 and Cyrix III MSRs 2024-02-07 12:31:42 +05:00
Alexander Babikov
1b9bf568f2 Implement missing Pentium MSRs
Includes obscure behavior, like undocumented "high" MSRs
2024-02-07 12:31:41 +05:00
Alexander Babikov
1e4455d98c Add comments with MSR and CPUID flag names
Reorganize the MSR struct
2024-02-07 12:31:38 +05:00
Alexander Babikov
2da7b196ac Rename unnamed MSR vars to real names where known 2024-02-07 12:31:34 +05:00
Alexander Babikov
68a73dffe0 Give the Compaq Deskpro 386 its own set of CPUs
Both BIOSes can now take a 16, 20 or 25 MHz 386DX,
with the 16 MHz one paired with a 287 FPU.

Also remove unused CPU packages from the enum
2024-02-05 03:22:54 +05:00
Alexander Babikov
d7e125c16e Migrate configs for the Gigabyte Socket 4/5 machines (#4111)
* Bring back machine migration

And add migration for the Gigabyte Socket 4 and 5 machines

* Fix the GA-586IS's internal name

* Remove legacy CPU tables for very old builds

Since backward compatibility with pre-build 2654 configs has been
removed, remove forward compatibility with these builds as well
2024-02-03 16:08:18 -03:00
OBattler
0a5d25fdde Memory: Disable _mem_exec in phys() accesses when not using the 486+ interpreter or dynamic recompiler, and write protect support in preparation for the WD76C10 rewrite. 2024-02-02 05:25:40 +01:00
OBattler
cd03b6a31c Packard Bell machines: PS/2 mouse commands now suspend dynamic recompilation until the response byte is read, fixes #552. 2024-01-25 21:47:15 +01:00
OBattler
9107c2fa25 Added the AOpen AP61 and fixed floppies on the LG IBM 440 FX. 2024-01-24 04:56:31 +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
Jasmine Iwanek
f6a5229a98 Future support for higher clocked CPU's 2023-10-13 17:55:18 -04: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
cold-brewed
cb28daba98 Match the destination register type on apple silicon. Clears up a clang warning. 2023-08-09 07:43:48 -04:00
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
OBattler
fe1d9b4f8f And another. 2023-08-07 03:41:06 +02:00
OBattler
73cba3f7ea Removed an excess comment in cpu/cpu.h. 2023-08-07 03:39:32 +02:00
OBattler
8a1cbbcba1 Implemented the P6 model-specific register 1D9h (DEBUG_CTL), needed by Netware 6.0. 2023-08-07 03:29:10 +02:00
Jasmine Iwanek
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
OBattler
1d59351c03 Some MMX optimizations. 2023-07-16 03:43:54 +02:00
Jasmine Iwanek
922c4335ae Next round of sonarlint cleanups 2023-06-27 21:17:13 -04:00
OBattler
d97dd687a3 Rewrite of FXSAVE/FXRSTOR and removed an unused variable from cpu_state_t. 2023-05-16 00:35:39 +02:00
TC1995
7a53e1de45 Initial softfloat port from Bochs to 86box, currently selectable only on QT. 2023-04-29 18:56:57 +02: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
333e9377ff Some minor CPU bugfixes - one for 808x and one for the new dynarec. 2023-04-20 02:24:03 +02:00
Cacodemon345
16e6ed424c cpu_busspeed is now a double 2023-03-16 22:28:18 +06:00
Jasmine Iwanek
1860700eab Fix some small issues 2023-01-07 17:02:23 -05:00
Jasmine Iwanek
f04f0f24cc Tidy up src/cpu/cpu.h 2022-12-20 19:33:42 -05:00
Alexander Babikov
6e3ffea3d4 Add the CR4 Page Global Enable bit support to Pentium Pro and Pentium II CPUs 2022-12-01 22:33:55 +05: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
8fddb692d2 Merge branch 'master' of https://github.com/86Box/86Box 2022-11-06 04:50:24 +01:00
OBattler
fc53fceda7 Added AMD K6-2+ and K6-III+ 3DNow! DSP Extensions. 2022-11-06 04:50:13 +01:00
Jasmine Iwanek
aa2c07bed2 Random header cleanups I noticed while porting things 2022-11-05 22:12:35 -04:00
Jasmine Iwanek
51f84ce0be Merge remote-tracking branch 'upstream/master' into nec-v20 2022-10-19 16:24:10 -04:00
Jasmine Iwanek
b4673117fd Some clang-formatting in src/cpu 2022-09-20 01:00:45 -04:00
Jasmine Iwanek
05697fe355 Remove some cruft 2022-09-13 08:15:03 -04:00
Cacodemon345
fc2fac4c73 More i8080 + NEC changes (#18)
* More i8080 changes

* Fix compilation

* More foundational i8080 work

* Switch to __builtin_parity for parity flag setting

Fix some incorrectly implemented instructions
2022-09-10 04:50:50 -04:00
Jasmine Iwanek
a31612b440 Merge branch '86Box:master' into nec-v20 2022-08-02 23:47:12 -04:00
OBattler
754058e2e5 AAM and AAD instruction fixes, fixes #2551. 2022-08-01 23:40:11 +02:00
Jasmine Iwanek
5f1e64fab7 Merge branch 'master' into nec-v20 2022-07-19 20:00:03 -04:00
OBattler
645c4e6902 ALi M6117-related CPU fixes. 2022-07-18 23:38:06 +02:00
Jasmine Iwanek
f9904e6e0c Merge branch '86Box:master' into nec-v20 2022-07-16 01:30:56 -04: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
Jasmine Iwanek
1ecbc1cd3c Fix build 2022-03-19 06:05:52 -04:00