Jump Tables Guide Skate 3
Hey guys, im new to reverse engineering. So, as the title says, I will try to at least get Skate 3 decompiled, but the XenonAnalyser is unable to find the jump tables. So i started looking through the default.xex file and found a pattern that appears through all the code (it looks to be the only one there). Tried to adapt it in the C++ code but the constant PPC_INST_SLWI doesnt exists there (only SLW), so no output still. Example Image:
the part that repeats is after the cmplwi. If anybody wants to join me in this journey, i would be very appreciated, since skate 3 is a great title to be playing 60fps+
it took me some time to figure it out myself, heres how you find your switch tables
cmplwi (or in this case 0x823C544) is your base and also specifies what r = (in this case its r = 11) and how many entries your table should have (in this case 109, because it will always be the number provided (in this case 0x6C) +1 6C = 108 + 1 = 109) your bgt (in this case 0x823C548) is your default and just below your bctr should show you what should be in your table
so your table for this would look like so
[[switch]] base = 0x823C544 r = 11 default = 0x823C548 labels = [ insert 109 entries that should be listed just below bctr (or in this case 0x832C2560) ]
if you run xenonrecomp with missing tables it shoud tell you where its finding switch cases without jump tables otherwise xenonanalyse shouldve found the tables for you
Was anyone of you able to recompile the game? Ive wanted to do it myself, but no reason to do it if somebody did it and is willing to send the files
it took me some time to figure it out myself, heres how you find your switch tables
cmplwi (or in this case 0x823C544) is your base and also specifies what r = (in this case its r = 11) and how many entries your table should have (in this case 109, because it will always be the number provided (in this case 0x6C) +1 6C = 108 + 1 = 109) your bgt (in this case 0x823C548) is your default and just below your bctr should show you what should be in your table
so your table for this would look like so
[[switch]] base = 0x823C544 r = 11 default = 0x823C548 labels = [ insert 109 entries that should be listed just below bctr (or in this case 0x832C2560) ]
if you run xenonrecomp with missing tables it shoud tell you where its finding switch cases without jump tables otherwise xenonanalyse shouldve found the tables for you
I have given up for skate 3 for now, skate 1 will be a great point of starting, the switches patterns are the same as sonic's and with the fork from an user ive found (you can see in the pr's its like #60 or #22 i dont remember) its only missing like 5 instructions and the rest is just switches statements out of spot EDIT: i found in an issue a game that had the same pattern and the user did the needed changes to get the switches addresses, but only the absolutes switches were retrieved.
Was anyone of you able to recompile the game? Ive wanted to do it myself, but no reason to do it if somebody did it and is willing to send the files
Well, i can give you the uncompressed xex file and the config.toml for skate 1 and skate 3 (trust me, skate 1 looks way easier and i dont know reverse engineering)
Was anyone of you able to recompile the game? Ive wanted to do it myself, but no reason to do it if somebody did it and is willing to send the files
Well, i can give you the uncompressed xex file and the config.toml for skate 1 and skate 3 (trust me, skate 1 looks way easier and i dont know reverse engineering)
If you could send them it would be great, thanks. But how will you send?
Was anyone of you able to recompile the game? Ive wanted to do it myself, but no reason to do it if somebody did it and is willing to send the files
Well, i can give you the uncompressed xex file and the config.toml for skate 1 and skate 3 (trust me, skate 1 looks way easier and i dont know reverse engineering)
If you could send them it would be great, thanks. But how will you send?
join this dc: https://discord.gg/kKsfaPAY and ping me there. it was created strictly for this
Was anyone of you able to recompile the game? Ive wanted to do it myself, but no reason to do it if somebody did it and is willing to send the files
Well, i can give you the uncompressed xex file and the config.toml for skate 1 and skate 3 (trust me, skate 1 looks way easier and i dont know reverse engineering)
If you could send them it would be great, thanks. But how will you send?
join this dc: https://discord.gg/kKsfaPAY and ping me there. it was created strictly for this
Do you mind reposting the discord link as it has expired. Thanks
update on this??
update?
update?
https://discord.gg/6vyNqrbz
any updates on this recomp?
@Roigo21 @testdriveupgrade is the project still active? both discord links are deprecated.
yes, alive, but I have less time and impression to work on this project. But some people of course continue make new tools and updates for recomp
@Roigo21 @testdriveupgrade is the project still active? both discord links are deprecated.
https://www.youtube.com/watch?v=w-1Pgn5V3wY https://discord.gg/qxCnD9Vm
@Roigo21 @testdriveupgrade is the project still active? both discord links are deprecated.
https://discord.gg/3TuDRFy6
you keep posting links that are only active for 48 hours
How post perm links?
@Roigo21 @testdriveupgrade is the project still active? both discord links are deprecated.
nop, its mostly dead. we don´t have the needed knowledge for this
@Roigo21 @testdriveupgrade is the project still active? both discord links are deprecated.
https://discord.gg/3TuDRFy6
can you post new link?
@Roigo21 @testdriveupgrade is the project still active? both discord links are deprecated.
https://discord.gg/3TuDRFy6
can you post new link?
Read the message above :/
@Roigo21 @testdriveupgrade проект ещё активен? Обе ссылки на Discord устарели.
https://discord.gg/3TuDRFy6
можете ли вы разместить новую ссылку?
Прочитайте сообщение выше :/
https://discord.gg/J8HrCqUY
@Roigo21 @testdriveupgrade проект ещё активен? Обе ссылки на Discord устарели.
https://discord.gg/3TuDRFy6
можете ли вы разместить новую ссылку?
https://discord.gg/J8HrCqUY