Skyth
|
87e350906b
|
Rebrand to XenonRecomp.
|
2025-01-19 22:39:12 +03:00 |
|
Skyth
|
7fb8af1bad
|
Place function table after the executable.
|
2025-01-15 02:01:26 +03:00 |
|
Skyth
|
2cd41adf42
|
Remove bin2c, load the PPC context header by path.
|
2025-01-15 01:25:04 +03:00 |
|
Skyth
|
ca39a3b992
|
Check for TOML_EXCEPTIONS when loading TOMLs.
|
2025-01-13 21:15:19 +03:00 |
|
Skyth
|
b4b4aac788
|
Fix wrong assert in xex.cpp.
|
2025-01-13 21:14:07 +03:00 |
|
Skyth
|
de2840970f
|
Load function pointers from the base pointer.
|
2025-01-02 14:32:34 +03:00 |
|
Skyth (Asilkan)
|
4650dc69fb
|
Linux support. (#3)
* Compiling and running on Linux.
* Fix xpointer constructor.
* Convert dependencies to submodules.
* Fix wchar_t usage for Linux.
|
2024-12-21 00:49:06 +03:00 |
|
Skyth
|
847842cd28
|
Downgrade projects to C++17.
|
2024-12-13 18:31:55 +03:00 |
|
Skyth
|
02d23b3463
|
Move r3 to the top of PPC context for smaller code generation.
|
2024-12-04 12:35:17 +03: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 |
|
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 |
|
Skyth
|
c83c3d51bc
|
Fix vcsxwfp128 disassembly error.
|
2024-09-28 18:54:04 +03: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
|
2ae23e7e5e
|
Change arch to haswell.
|
2024-09-27 12:37:25 +03:00 |
|
Skyth
|
8639a690e5
|
Make some FPU operations more explicit.
|
2024-09-27 12:37:12 +03:00 |
|
Skyth
|
edbb86913b
|
Disable buffer overrun checks.
|
2024-09-26 18:31:56 +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
|
746947455d
|
Push the updated PPC context header.
|
2024-09-24 14:48:50 +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
|
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 |
|
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 |
|
Skyth
|
9db7909bbd
|
Convert calls to indirect calls for the time being.
|
2024-09-13 17:32:54 +03:00 |
|
Skyth
|
cbc28c6451
|
Implement a bunch of load/store instructions.
|
2024-09-13 16:00:37 +03:00 |
|
Skyth
|
996fa013d0
|
Implement float comparison instruction.
|
2024-09-13 15:27:10 +03:00 |
|
Skyth
|
e78e5b7534
|
Implement a good chunk of float instructions.
|
2024-09-13 15:17:20 +03:00 |
|
Skyth
|
cc212f4058
|
Implement store instructions.
|
2024-09-12 22:57:31 +03:00 |
|
Skyth
|
9d6ccc0593
|
Add self note for the future.
|
2024-09-12 21:53:53 +03:00 |
|
Skyth
|
27dd0aace7
|
Implement more instructions.
|
2024-09-12 21:50:36 +03:00 |
|
Skyth
|
f96d2c2879
|
Implement periodt variant of instructions.
|
2024-09-12 18:59:24 +03:00 |
|
Skyth
|
f8353aa1e2
|
Implement more comparison instructions.
|
2024-09-12 17:54:56 +03:00 |
|
Skyth
|
1ab19abed5
|
Define XER register.
|
2024-09-12 17:41:39 +03:00 |
|
Skyth
|
eaa8e7d482
|
More flow control instructions.
|
2024-09-12 17:23:37 +03:00 |
|
Skyth
|
6f32dc35a2
|
Implement some loop instructions & add loop test.
|
2024-09-12 16:42:26 +03:00 |
|
Skyth
|
c82c4688e7
|
Add compile-all.bat.
|
2024-09-12 15:53:58 +03:00 |
|
Skyth
|
ce3f9621f6
|
Whoops.
|
2024-09-12 15:45:59 +03:00 |
|
Skyth
|
572dc2a67f
|
Prevent optimization for recompiled functions.
|
2024-09-12 15:45:39 +03:00 |
|
Skyth
|
589104a0ef
|
Control flow instructions & local PPC context test.
|
2024-09-12 15:34:59 +03:00 |
|
Skyth
|
a03c2e89e7
|
Fix SearchBlock.
|
2024-09-12 14:33:49 +03:00 |
|
Skyth
|
cf9522a662
|
Some instruction fixes.
|
2024-09-11 12:22:58 +03:00 |
|
Skyth
|
28e6ba92f8
|
Implement some instructions.
|
2024-09-10 23:16:21 +03:00 |
|
Skyth
|
57ebe48cf7
|
Add a huge switch case with all instructions.
|
2024-09-10 19:26:53 +03:00 |
|