93 Commits

Author SHA1 Message Date
Skyth
847842cd28 Downgrade projects to C++17. 2024-12-13 18:31:55 +03:00
Sajid
4b47b24afd Allow overloads of ppc load/store macros 2024-11-24 16:16:08 +06:00
Sajid
e5317bda48 Detect MMIO writes via eieio 2024-11-24 15:36:50 +06:00
Skyth
d8676283fd Implement a better way to combat Clang's unsafe code reordering. 2024-11-17 21:00:36 +03:00
Skyth
a7c970d324 Fix a few warnings. 2024-10-27 18:29:28 +03:00
Hyper
6810be7315 Update bin2h to allow changing the output array type 2024-10-17 16:59:45 +01:00
Skyth
6e49be2702 Allow midasm hook return behavior to be configured. 2024-10-17 17:39:31 +03:00
Skyth
516e23f1f7 Add midasm hook patching. 2024-10-06 18:54:47 +03:00
Skyth
183027d563 Remove hardcoded recompiler, load TOML file for configuration. 2024-10-01 00:09:18 +03:00
Sajid
8d8346c2a2 Recompiler: Use implementation aliases 2024-09-30 18:45:07 +06:00
Sajid
c4de70262f Recompiler: write ppc_context.h 2024-09-30 13:39:47 +06:00
Sajid
6898a7d97d Named recompiled entry point 2024-09-28 22:44:27 +06:00
Skyth
5414070cd3 Change vrefp/vrsqrtefp to precise variants for now. 2024-09-28 13:53:42 +03:00
Skyth
d5f44c11c5 Don't print save/restore calls when non volatile registers as local variables option is enabled. 2024-09-27 19:26:13 +03:00
Skyth
acd49010e6 Remove MSVC macros & implement weak linking properly for clang. 2024-09-27 18:47:35 +03:00
Skyth
e025cd65cd Saturate D3D color. 2024-09-27 15:40:46 +03:00
Skyth
8639a690e5 Make some FPU operations more explicit. 2024-09-27 12:37:12 +03:00
Skyth
dcc772c184 Detect identical flush mode calls and don't print them. 2024-09-26 17:24:04 +03:00
Skyth
7fa7ff161f Add a read barrier after every label. 2024-09-26 16:52:18 +03:00
Skyth
261e8c1d60 Print only actually used labels. 2024-09-26 10:44:16 +03:00
Skyth
70497754d9 Add several config options for more efficient code generation. 2024-09-25 21:23:01 +03:00
Skyth
954d11c65e Handle setjmp/longjmp explicitly. 2024-09-24 14:48:15 +03:00
Skyth
9a7caef9af Make a few failed Xenia PPC tests pass. 2024-09-24 10:48:35 +03:00
Skyth
f9ea8f5f53 Fix bit shifting mistake. 2024-09-24 00:36:19 +03:00
Skyth
e2835efa72 Check for redundant operations. 2024-09-23 22:27:02 +03:00
Skyth
aef470a0f0 Handle float to integer conversion overflow. 2024-09-23 18:24:50 +03:00
Skyth
7f43723ff0 Use bitwise operations for fabs/fnabs/fneg. 2024-09-23 17:25:11 +03:00
Skyth
989ed13d04 Add a check for missing switch cases. 2024-09-23 15:42:27 +03:00
Skyth
175c0de2ac Fix weird usage of the base variable. 2024-09-23 15:33:29 +03:00
Skyth
255ff2170e Apply bitmasks in vector shift operations. 2024-09-23 01:18:17 +03:00
Skyth
e366e1eea9 Avoid double byte swaps in interlocked functions. 2024-09-23 00:07:38 +03:00
Skyth
ad4e6b010e Enable strict math, adjust vector conversions. 2024-09-22 23:54:17 +03:00
Skyth
1914b941a2 Fix tests. 2024-09-22 19:58:22 +03:00
Skyth
510cff56f2 Fix import thunk resolving. 2024-09-22 13:32:38 +03:00
Skyth
918e09d380 Use clang-cl for all projects & decrease recompiled CPP count. 2024-09-22 12:50:11 +03:00
Skyth
126d5c3aee Fix a few mistakes. 2024-09-22 11:26:56 +03:00
Skyth
1bfeb0a7c4 Handling float rounding. 2024-09-22 00:07:15 +03:00
Skyth
4d6eac1c24 Add recompiler for Xenia PPC tests. 2024-09-21 21:47:34 +03:00
Skyth
79354a9a52 Split recompiler code. 2024-09-21 16:59:55 +03:00
Skyth
c0d28468d0 Yet even more inaccuracy fixes. 2024-09-21 16:12:47 +03:00
Skyth
45a490c245 Even more inaccuracy fixes. 2024-09-21 00:12:37 +03:00
Skyth
fc13c684ba Handle zero flushing. 2024-09-20 18:05:13 +03:00
Skyth
fb97a569f9 Further inaccuracy fixes. 2024-09-20 17:01:57 +03:00
Skyth
0e59052324 Implement more of the vector instructions. 2024-09-19 22:56:13 +03:00
Skyth
f4d342a623 Fix more instruction inaccuracies. 2024-09-19 15:23:51 +03:00
Skyth
11e4d24574 Fix instruction inaccuracies. 2024-09-19 13:54:13 +03:00
Skyth
476dfb5307 Check if function call is within the same section. 2024-09-18 22:33:45 +03:00
Skyth
39a0b6ab4d Scan direct calls to find functions. 2024-09-18 22:13:24 +03:00
Skyth
c250917792 A bunch of temporary hardcoded function address checking. 2024-09-18 18:53:10 +03:00
Skyth
55a551362b Check if there is an identical file before saving. 2024-09-18 16:04:52 +03:00