Commit Graph

65 Commits

Author SHA1 Message Date
OBattler
1d48363803 The 286/386 interpreter now has its own variant of x86seg.c. 2023-08-21 02:56:33 +02:00
OBattler
3555dacec3 Disable MMX and 3DNow! recompilation when SoftFloat is in use. 2023-07-16 03:45:14 +02:00
OBattler
c76e8ff06c Replaced the codegen_ops_NULL table references with NULL pointers, as it has the same effect without requiring an extra table of opcodes, also made the new recompiler clear codegen_flags_changed after every interpreted instruction to prevent conditional jumps from occasionally taking the wrong turn (fixes CL-GD 54x6 driver glitches in 24bpp mode on Windows 98 SE), and added instruction length heuristics on fetching the instruction, fixes Jane's US Navy Fighters. 2023-06-09 14:55:13 +02:00
Jasmine Iwanek
d1127e68fa Even more sonarlint work 2023-06-04 23:39:14 -04:00
OBattler
a9cc8cf898 Made softfloat work on the dynamic recompiler (not yet enabled in the Settings dialog, needs MMX and FXSAVE/FXRSTOR for softfloat first). 2023-05-07 00:24:57 +02:00
OBattler
53cf62cdd1 The old recompiler now recompiles 16-bit address MMX instructions. 2023-05-03 00:40:22 +02:00
OBattler
6cd11f3fc4 Corrected the MMU function called in one recompiled instruction, fixes fatals when unpacking Windows 2000 updates. 2023-02-21 19:24:38 +01:00
Jasmine Iwanek
1860700eab Fix some small issues 2023-01-07 17:02:23 -05:00
Jasmine Iwanek
a40630ba63 Even more tabs to spaces 2023-01-07 14:09:51 -05:00
Jasmine Iwanek
537fbad564 More bits of missed formatting 2022-12-20 19:33:42 -05:00
Jasmine Iwanek
dd339ec191 more clang-formatting in codegen & codegen_new 2022-11-19 11:53:10 -05:00
Jasmine Iwanek
35fea100db clang-format markers 2022-11-19 11:53:09 -05:00
Jasmine Iwanek
9e77acf655 clang format in codegen & codegen_new 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
Jasmine Iwanek
bd75bc141a Header cleanups
Tabs to spaces
Consistency
2022-11-13 21:15:47 -05:00
Jasmine Iwanek
f49d3c7458 Correct many file headers to show 86box 2022-10-27 17:08:58 -04:00
OBattler
bff5026b8b One last attempt at a fix to my own GPF handler. 2022-10-27 04:10:16 +02:00
OBattler
4dc74515e8 Returned back to the PCem GPF handler. 2022-10-27 03:56:26 +02:00
OBattler
47604db6b1 Changed GPF handled on the 64-bit old recompiler. 2022-10-27 03:24:02 +02:00
OBattler
4d9b894fec Fixed a dynarec warning. 2022-10-25 18:59:08 +02:00
OBattler
96ec40d794 Reduced the size of the cycles accumulate code. 2022-10-17 04:13:19 +02:00
Alexander Babikov
c1d97fc72a Fix some more remaining warnings 2022-04-14 07:58:22 +05:00
Alexander Babikov
4e82d93729 Fix warnings related to variable types 2022-04-14 07:13:48 +05:00
Alexander Babikov
eba088c692 Remove trailing whitespace + indentation consistency fixes 2022-04-14 07:10:18 +05:00
Cacodemon345
c1f9d35de8 qt: Add support for Haiku
* OpenAL backend is enabled by default on Haiku
* bswap include now makes use of builtins if they exist
* Use a local fgetws method for Haiku to avoid crashes
* OpenGL renderers are completely disabled on Haiku (they do not work)
* Software renderer is a widget, not a window on Haiku (fixes blank screen)
* Add option to disable System MIDI at compile time
2022-03-11 12:13:08 +06:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
Jasmine Iwanek
4287e44824 newlines at end of file 2022-02-18 21:38:51 -05:00
Cacodemon345
2da187c0bd Fix plat_mmap on FreeBSD (#1980)
* Fix plat_mmap on FreeBSD

* Same for old codegen backend

* ...and for new codegen backend
2022-01-07 09:58:59 +01:00
David Hrdlička
52486e121e Convert CMake files to 4 spaces indentation 2021-12-20 15:08:23 +01:00
Laci bá
17f7fa3437 Merge further fixes to the 32-bit recompiler
Remove mprotect usages in 32-bit x86 dynamic recompiler
2021-10-16 19:43:50 +02:00
Laci bá
8b5e39ceed Merge dynarec fixes from Cacodemon345's branch
Get rid of mprotect call entirely on x64 dynamic recompiler
Use mmap whenever possible on old dynamic recompiler
2021-10-16 18:38:32 +02:00
OBattler
edb949090c Missing 64-bit old recompiler functions. 2021-09-17 19:29:20 +02:00
OBattler
d9123cad4a Fixed 16-bit and 32-bit FISTP(P) instruction, fixes OpenStep 4.2 font on interpreter and old recompiler, closes #1204. 2021-09-17 02:17:25 +02:00
Cacodemon345
a903e24702 Fix remaining warnings 2021-08-29 23:50:21 +06:00
David Hrdlička
44ccefb28a cmake: refactor the architecture detection 2021-08-29 03:55:07 +02:00
OBattler
aa3a52da3c Reordered some CPU variables and rewrote codegen emitted by the old recompiler's 64-bit version of codegen_accumulate_flush() to not assume 32-bit pointers, fixes 64-bit old recompiler, closes #1615. 2021-08-26 13:53:13 +02:00
OBattler
049efbf465 64-bit old recompiler fixes. 2021-04-30 19:28:01 +02:00
David Hrdlička
96eb8d806e Add copyright headers 2021-01-12 18:26:18 +01:00
David Hrdlička
11b6604196 Add CMake build files 2021-01-12 18:22:40 +01:00
David Hrdlička
144b19b941 codegen: fix architecture detection on MSVC 2020-12-17 00:58:37 +01:00
David Hrdlička
53144ed8ec fix target architecture checks 2020-12-16 20:32:56 +01:00
David Hrdlička
fd554cbcbc fix WIN64 checks to _WIN64 2020-12-16 20:29:46 +01:00
OBattler
66ca9aa6aa Fixed two warnings on the old recompiler when compiling for 64-bit. 2020-12-12 16:11:06 +01:00
OBattler
a55b9c6512 Fixed 8-bit XCHG instruction on the 64-bit old recompiler when both source and destination are a high 8-bit register (AH, CH, BH, or DH), fixes the longstanding Chicago 58s bug. 2020-12-12 15:59:10 +01:00
OBattler
d65207ec21 Fixed the 64-bit old recompiler. 2020-12-10 01:12:28 +01:00
OBattler
a615c45001 Added load_param_2_reg_64(). 2020-12-09 18:09:08 +01:00
OBattler
1ddee67aa6 Got rid of the last differences between the old and new recompilers with regards to the readmem*/writemem* functions. 2020-12-01 02:41:22 +01:00
OBattler
a5ae4cfba5 Got completely rid of readmemb386l() and writememb386l(). 2020-11-30 05:27:04 +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
d489317573 VPCEXT instructions now get fetchdat also on x64 old recompiler and on new recompiler. 2020-07-25 05:16:06 +02:00