Commit Graph

107 Commits

Author SHA1 Message Date
OBattler
30d7c8f51c The recently introduced x86_64 variant of host_x86_MOV32_REG_ABS() was allocating the wrong number of bytes. 2025-05-17 22:56:15 +02:00
OBattler
ddd271f6ee Honore the fixed bits of flags when pushing them to the stack, fixes #5093. 2025-05-17 21:02:06 +02:00
Cacodemon345
b179955a12 x64 NDR: Avoid pushes/pops for host_x86_MOV32_REG_ABS 2025-05-10 12:57:27 +06:00
OBattler
1dd460e9a4 x86_64 new recompiler: properly handle cases where pccache is not within 2 GB of the beginning of the RAM array. 2025-05-10 06:22:56 +02:00
Cacodemon345
e076c1051d Fix x87_op being outside of structure, fixing crashes in ARM64 NDR 2025-04-26 23:23:34 +06:00
OBattler
8790395a05 Fix the FXSAVE/FXRSTOR instructions. 2025-04-22 09:13:38 +02:00
OBattler
ba19b8af89 x86_64 new recompile: fix registers clean-up on block exit. 2025-04-20 23:19:17 +02:00
OBattler
e2f8a58d95 Fix the LxS fix on the new recompiler. 2025-04-10 01:08:21 +02:00
OBattler
3b5966eb46 LDS/LES/LFS/LGS/LSS: Fix segment wraparounds in 16-bit address mode. 2025-04-07 06:03:19 +02:00
OBattler
04247b3c25 Both recompilers: Temporarily disable recompilation of exactly four memory versions in 32-bit address move of opcode C6h (8-bit MOV immediate) because they currently break NT 3.x NTVDM, fixes #5038. 2025-04-01 06:36:16 +02:00
Cacodemon345
94cf5d59a2 host_x86_MOV8_REG_ABS: Avoid more fatals 2025-03-28 22:35:56 +06:00
OBattler
67f0e95740 Fixed an off by 1 error in the new recompiler. 2025-03-19 00:24:13 +01:00
OBattler
79134f3b21 Assorted Cyrix (and Codegen opcode Mod R/M passing table) fixes - fixes Windows 98 SE on Cyrix 6x86's with power management enabled. 2025-03-17 03:40:52 +01:00
Cacodemon345
6b55b2383a Misc NDR changes
Force NDR on ARMv7/ARM64

Make GCC/Clang not use anything in the red zone

Compile with `-fno-omit-frame-pointer`
2025-03-02 23:14:10 +06:00
Cacodemon345
f290cc0173 x64 NDR: Fix crashes/undefined behaviour with 2+ GB of allocated RAM 2025-03-01 22:31:10 +06:00
Cacodemon345
843dee5707 x64 NDR: Properly address the entire cpu_state struct
All missing edge cases are now handled where possible
2025-03-01 15:05:39 +06:00
Cacodemon345
6bb2b447fd Revert "x87: Fix Final Reality discolored screen for all dynarecs"
This reverts commit 03dd94f361.
2025-02-28 16:51:33 +06:00
Cacodemon345
03dd94f361 x87: Fix Final Reality discolored screen for all dynarecs 2025-02-27 13:50:45 +06:00
Jasmine Iwanek
5b894c32e6 Macro Cleaning 2025-02-08 01:28:24 -05:00
Jasmine Iwanek
5f273265ae Assorted warning fixes 2025-02-02 03:24:50 -05:00
OBattler
403a7a995b New recompiler: read the two bytes of unaligned 16-bit immediates into the correct IR bytes, fixes Windows 95 Setup GPF'ing. 2025-02-01 21:39:15 +01:00
RichardG867
1e052e5dc0 Use plat_mmap on the dynarecs as well 2024-11-20 11:23:24 -03:00
OBattler
fb1a4677c6 More NetBSD fixes. 2024-11-20 01:42:32 +01:00
Jasmine Iwanek
f4b63caf0b One line per file in CmakeLists.txt 2024-09-04 18:34:06 -04:00
Jasmine Iwanek
059c6156df Break out the K5 timings 2024-08-12 20:02:18 -04:00
OBattler
c852c99d8f Modern header fixes. 2024-06-10 03:51:10 +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
OBattler
48513fe6aa Fixed two warnings in codegen_new/codegen_backend_x86-64.c. 2023-12-16 20:45:03 +01:00
OBattler
535fd005dc Removed the useless codegen_close(). 2023-10-07 22:50:17 +02:00
Jasmine Iwanek
29b648450a More linting in src/codegen_new 2023-08-23 04:15:59 -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
48f9a5082d PRIx64, not PRIu64 2023-08-15 15:31:23 -04:00
Jasmine Iwanek
375f69ed61 Fix more compile warnings 2023-08-15 13:28:04 -04:00
cold-brewed
99cdd3a16a Various warning cleanups 2023-08-12 11:42:11 -04:00
cold-brewed
f40184d43f Clear up a clang warning by correcting a format string 2023-08-09 07:48:12 -04:00
OBattler
5f72dc7d56 More fixes. 2023-08-08 16:17:01 +02:00
OBattler
ce5e21f870 More warning and compile fixes. 2023-08-08 15:38:40 +02:00
OBattler
3555dacec3 Disable MMX and 3DNow! recompilation when SoftFloat is in use. 2023-07-16 03:45:14 +02:00
OBattler
29fe9b4d1e Added a sanity check to codegen_new/codegen.h. 2023-06-18 23:54:25 +02:00
OBattler
058b15cc5e Fixed it properly. 2023-06-11 13:55:53 +02:00
OBattler
85afd38cab Added casts to codegen_new/codegen.c. 2023-06-11 13:52:25 +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
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