 Skyth (Asilkan)andHyper
|
865319a39c
|
Update README.md (#139)
* Update README.md
* Update README.md
Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com>
---------
Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com>
|
2025-04-17 11:29:46 +03:00 |
|
Skyth (Asilkan)
|
c017eb630a
|
PPC context header adjustments. (#123)
|
2025-03-21 17:40:55 +03:00 |
|
Skyth (Asilkan)
|
82b4cd3bb7
|
Fix return value from longjmp getting forgotten after setjmp. (#122)
Restoring env to ctx was causing this because the return value was getting assigned to r3 before the if check.
|
2025-03-21 17:38:08 +03:00 |
|
Skyth (Asilkan)
|
7b8e37aa37
|
Fix the unsafe base address assumption. (#69)
|
2025-03-06 17:56:18 +03:00 |
|
Skyth (Asilkan)
|
3ee19542c9
|
Check for the validity of save/restore function addresses. (#42)
|
2025-03-04 18:44:24 +03:00 |
|
Skyth (Asilkan)
|
2991a3b698
|
Remove unused <expected> header include. (#30)
|
2025-03-04 00:12:28 +03:00 |
|
Skyth (Asilkan)
|
04e716178b
|
Repository cleanup & README.md. (#5)
|
2025-02-27 00:11:11 +03:00 |
|
Skyth (Asilkan)
|
cd6fcb33bd
|
Port XEX patcher from Unleashed Recompiled. (#4)
* Port XEX patcher from Unleashed Recompiled.
* Fix compilation error on Linux.
|
2025-02-19 20:22:30 +03:00 |
|
Skyth
|
0fc545a6e2
|
Fix xpointer constructor for null pointers.
|
2025-01-28 18:34:39 +03:00 |
|
Skyth
|
73b75e197a
|
Use __builtin_clz instead of __lzcnt32 for cntlzw instruction.
|
2025-01-23 14:35:46 +03:00 |
|
Skyth
|
3280a7cf9f
|
Add support for placing midasm hooks after instructions.
|
2025-01-22 19:58:00 +03:00 |
|
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 |
|