Commit Graph

152 Commits

Author SHA1 Message Date
OBattler
63fbe6ab4f Documented three more functions. 2025-02-13 05:27:10 +01:00
OBattler
91ba20fbd0 Added the test mode entry point requested by gloriouscow. 2025-02-13 05:10:55 +01:00
OBattler
40fd79aeb9 FPU: Properly implement INT 10h FPU exception, fixes #5162. 2025-01-19 09:06:39 +01:00
Adrian Siekierka
eb25bccf1e Add initial Mazovia 1016 emulation 2024-12-22 13:52:25 +01:00
Alexander Babikov
f1a60d8242 Add PSE-36 (36-bit page size extension) support
Code ported from PCBox
2024-12-21 20:44:31 +05: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
OBattler
2273f563a5 Moved the offending SoftFloat-related stuff to x87_sf.h, fixes warnings. 2024-06-10 00:08:48 +02:00
TC1995
0f29bcddf1 Upgrade to softfloat3e.
This should solve licensing problems as well.
2024-06-09 23:08:46 +02:00
Miran Grča
54178355b8 And in cpu.h. 2024-04-25 19:11:25 +02:00
OBattler
6de7c7cd5e Fixed LOCK legality with prefixes, closes #4189. 2024-02-23 07:10:15 +01:00
OBattler
2ab99dda0b Made LOCK instruction legality more accurate on 386, closes #4132. 2024-02-10 03:05:56 +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
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