Commit graph

205 commits

Author SHA1 Message Date
CRACKbomber
0ddb5e5eb7 Double look-back to 64 bytes to account for computed switch tables containing a nop before the branch instruction. 2025-06-24 20:20:50 -04:00
CRACKbomber
8782d4dbd7 Added ability to alias function names to ease of debugging and reversing. 2025-05-31 19:10:42 -04:00
CRACKbomber
5e945d81e9 Add vsel128 to existing vsel 2025-05-31 18:03:27 -04:00
CRACKbomber
fa0c77c2ac Implement vslh, vsrah, vsrh, vrlh 2025-05-31 18:03:27 -04:00
CRACKbomber
6b4c165a9b Implement vsl 2025-05-31 18:03:27 -04:00
CRACKbomber
39003f075e Implement vpkuhus/vpkuhus128 2025-05-31 18:03:27 -04:00
CRACKbomber
004a6dabeb Implement vpkuhum 2025-05-31 18:03:27 -04:00
CRACKbomber
cce95479c1 Implement vpkswss/vpkswss128 2025-05-31 18:03:27 -04:00
CRACKbomber
81e8dd6777 Implement vpkuwum/vpkuwum128 and vpkuwus/vpkuwum128 2025-05-31 18:03:27 -04:00
CRACKbomber
9222ef0cd6 Implement vpkshss and vpkswus 2025-05-31 18:03:27 -04:00
CRACKbomber
045f27aad5 Implement all trap cards 2025-05-31 18:03:27 -04:00
CRACKbomber
30fd01f844 Implement subfze 2025-05-31 18:03:27 -04:00
CRACKbomber
63c0bab3cc Implement vsubshs 2025-05-31 18:03:27 -04:00
CRACKbomber
13b904a991 Implement vminsh and vminuh 2025-05-31 18:03:27 -04:00
CRACKbomber
ca05cd7a9d implement vmaxuh 2025-05-31 18:03:27 -04:00
CRACKbomber
7d9e5fb214 Implement vmaxsh 2025-05-31 18:03:27 -04:00
CRACKbomber
7c13094ffd Implement vctuxs/vcfpuxws128 2025-05-31 18:03:27 -04:00
CRACKbomber
fb627549d8 Implement vavugh 2025-05-31 18:03:27 -04:00
CRACKbomber
6299ca7ee7 Implement mulhd and mulhdu 2025-05-31 18:03:27 -04:00
CRACKbomber
e5ca0a2684 Implement vcmpbfp/vcmpbfp128 - need to implement vscr saturation bit control 2025-05-31 18:03:27 -04:00
CRACKbomber
485ca80383 Add missing case for vandc 2025-05-31 18:03:27 -04:00
CRACKbomber
fd85a418a8 Implement subfme 2025-05-31 18:03:27 -04:00
CRACKbomber
4e77be82ce Implement rlwnm 2025-05-31 18:03:27 -04:00
CRACKbomber
3937e5469c Implement lvebx/lvehx into the lvx instruction implementation. Memory wise they perform the same operation 2025-05-31 18:03:27 -04:00
CRACKbomber
133e95a399 Implement eqv 2025-05-31 18:03:27 -04:00
CRACKbomber
5fce07aff4 Implement addme 2025-05-31 18:03:27 -04:00
CRACKbomber
5f40c803bb Implement addc 2025-05-31 18:03:27 -04:00
Skyth (Asilkan)
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
Jillian To
6df2397610
Added extra vpkd3d128 cases (5,2,2 and other 0,1) (#118)
* added extra vpkd3d128 cases from dev branch

* Fix whitespace

* fix whitespace again

* another whitespace fix

* cleaned up float16_4 case

* Fix whitespace

* Allow variable shift

* shift of 3 is not handled
2025-04-12 13:09:49 +03:00
The Spicy Chef
49c5e3b4f5
Added handling of normal compression for patching xex files (#126)
* Added handling of normal compression for patching xex files

* Added normal compression handling to XenonAnalyse

* Swap calloc for unique_ptr, tidied up code layout
2025-04-12 13:05:53 +03:00
nithax
0bfeaed44a
XEX2 Loading Fixes (#51)
* Fixes loading .xex import table names when a name is not aligned to 4
  bytes.
* Fixes loading .xex optional headers, adds missing case when the
  header_key & 0xFF == 1
* Fixes loading .xex base address and entry point to be the XEX2
  base/entry to successfully resolve all import thunks.
2025-04-04 17:01:18 +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
Mystixor
c3934c624f
fix bitmask of VD3D0 operand (#113) 2025-03-17 22:51:28 +03:00
Isaac Marovitz
1c571c8576
Better gitignore (#76)
Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
2025-03-07 01:43:35 +03:00
Skyth (Asilkan)
7b8e37aa37
Fix the unsafe base address assumption. (#69) 2025-03-06 17:56:18 +03:00
William Adam-Grenier
0bf1fd5477
Add Byte Patterns In Readme (#36)
* Add Byte Patterns In Readme

Adds the byte patterns for instructions to make it easier for newcomers to find the right functions address.

* Added Instructions

Added extra instruction for rest, save, restvmx and savevmx

* Fix Typo
2025-03-05 01:51:55 +03:00
squidbus
dc4460eefd
Disable alias attribute on macOS clang. (#19) 2025-03-04 18:57:36 +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