150 Commits

Author SHA1 Message Date
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
3cd6886825 Change SymbolComparer to not care about symbol size. 2024-09-18 20:39:05 +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
Skyth
182b9a5060 Compile static instead of shared. 2024-09-18 15:29:15 +03:00
Skyth
06aeb62472 Add a sample project for compiling the recompiled functions. 2024-09-18 15:19:49 +03:00
Skyth
5a16d14d30 Saving to separate files. 2024-09-18 13:31:37 +03:00
Skyth
618cc75198 Resort to function calls in switch statements if necessary & print errors for unresolved symbols. 2024-09-18 12:07:50 +03:00
Skyth
e0cb6c7903 Implement switch case generation. 2024-09-18 11:37:50 +03:00
Skyth
fc43264f72 Uncomment switch analyser. 2024-09-18 10:41:45 +03:00
Sajid
594a339a77 Add label count by 1 2024-09-18 13:32:30 +06:00
Sajid
6057ffe167 Update address for __C_specific_handler 2024-09-18 13:29:08 +06:00
Sajid
35560a0cd0 oop 2024-09-18 13:14:31 +06:00
Sajid
83e4da49e3 Scan for jumptables 2024-09-18 13:07:07 +06:00
Skyth
7d7ab43bbc Vector comparison instructions. 2024-09-17 21:32:13 +03:00
Skyth
34d44c3c0a Vector permute, splat and shift instructions. 2024-09-17 19:56:44 +03:00
Skyth
04efd27f62 Some vector load & store instructions. 2024-09-16 20:33:46 +03:00
Skyth
ee4cab12b8 Implement even more vector instructions & add missing ones. 2024-09-16 16:54:31 +03:00
Skyth
3a887e6e2c Implement yet even more instructions. 2024-09-16 14:18:19 +03:00
Skyth
2dd35c4611 Implement bitwise rotation instructions. 2024-09-15 22:04:40 +03:00
Skyth
7e6b92ac6e Fix memset/bdnzf compilation error. 2024-09-15 20:30:56 +03:00
Skyth
8d4d99e644 Implement some more vector instructions. 2024-09-15 19:48:15 +03:00
Skyth
d4c267c123 Implement some vector instructions. 2024-09-15 17:36:33 +03:00
Skyth
d2c5000af1 Implement more instructions. 2024-09-15 15:32:29 +03:00
Skyth
26122def54 Handle "r0 as 0" cases. 2024-09-14 23:17:51 +03:00
Skyth
df78800c8d Fix symbol find function. 2024-09-14 19:30:26 +03:00
Skyth
fc1efc5a37 Implement direct function calls & do prints in memory. 2024-09-14 19:10:41 +03:00
Skyth
b598d09d4d Fix a few conversion mistakes. 2024-09-14 11:17:55 +03:00
Skyth
6c2a256c8a Control register calls. 2024-09-13 22:08:56 +03:00
Skyth
8f88bac018 Handle tail calls. 2024-09-13 21:54:59 +03:00
Skyth
29d1c0822c Add/subtract with carry instructions. 2024-09-13 21:36:25 +03:00
Sajid
ed81fec868 Scan all of swa functions 2024-09-13 20:54:18 +06:00