rexdex / recompiler

Xbox360 -> Windows executable converter
MIT License
1.64k stars 81 forks source link

Missing xenon cpu instructions #19

Open JayC-03 opened 6 years ago

JayC-03 commented 6 years ago

All of the games I have tried recompiling seem to fail due to many missing cpu instructions, for example: 'vsubshs': is not a member of 'cpu::op' 'vmrghh': is not a member of 'cpu::op' 'vsr': is not a member of 'cpu::op' 'vctsxs': is not a member of 'cpu::op'

Am I doing something incorrectly? I thought most cpu instructions were already implemented.

sumit0190 commented 6 years ago

@rexdex I don't see the inline representations of these instructions, but they are clearly emitted in the instruction decoding process. Another merge issue?

rexdex commented 6 years ago

Most likely. I'm improving the debugging tools ATM. Soon after this is done I will take a look. Those are quite nice instructions, can be done from memory :)

On 19 October 2017 at 21:20, Sumit Tiwari notifications@github.com wrote:

@rexdex https://github.com/rexdex I don't see the inline representations of these instructions, but they are clearly emitted in the instruction decoding process. Another merge issue?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rexdex/recompiler/issues/19#issuecomment-338010167, or mute the thread https://github.com/notifications/unsubscribe-auth/AHpBrd9zu2QPh1TuuwOhrJEbACLIAwzHks5st6EAgaJpZM4P-sq7 .

-- Without order nothing can exist, without chaos nothing can evolve.

JayC-03 commented 6 years ago

@rexdex Ah, okay. I checked xenonCPU.h, and I didn't see any of the instructions defined, but they are in xenonInstructionDecoding.cpp for some reason.

JayC-03 commented 6 years ago

@rexdex By the way, this is an amazing project! I never would have thought anything even close to this would be possible. I just hope this bug is fixed soon, I have tried decompiling more games and they also fail due to this merge problem.

rexdex commented 6 years ago

Thanks!

Have faith :) I'm working on the issues. You guys are amazing - it's a lot of powerful motivation for me that you are taking interest in this project.

On 20 October 2017 at 03:51, JayC-03 notifications@github.com wrote:

@rexdex https://github.com/rexdex By the way, this is an amazing project! I never would have thought anything even close to this would be possible. I just hope this bug is fixed soon, I have tried decompiling more games and they also fail due to this merge problem.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rexdex/recompiler/issues/19#issuecomment-338084140, or mute the thread https://github.com/notifications/unsubscribe-auth/AHpBrfNJT2GWlqNaPX0vKu2TmLxWcCDBks5st_yqgaJpZM4P-sq7 .

-- Without order nothing can exist, without chaos nothing can evolve.

rexdex commented 6 years ago

@JayC-03 : can you provide me with the .xex ? send it to rexdexpl@gmail.com I could take a look to make sure it works properly.

JayC-03 commented 6 years ago

@rexdex Check your email :)

sumit0190 commented 6 years ago

@rexdex Can you confirm if this is a merge issue? If not, I can work on implementing these vector functions.

rexdex commented 6 years ago

I've fixed those instructions. I would say 99% are there :)

twist84 commented 6 years ago

@sumit0190 Thanks for letting me know to come here, as you can see in xenonCPU.h on my fork I've stubbed a few cpu functions and if search TMP1 you'll find all the ones I did.

Note I did this before the most recent 2 commits.

sumit0190 commented 6 years ago

@theTwist84 Nice! Thankfully rex has fixed this issue, because otherwise the vector instructions can be a pain to implement. Let's wait until the next commit to see if these have been put in.

twist84 commented 6 years ago

535107E8 - NieR buildlog.txt The gist of it is the 2 errors below

error C2039: 'vsubsws': is not a member of 'cpu::op'
error C2039: 'vsububs': is not a member of 'cpu::op'
0x8080 commented 6 years ago

http://docs.factorcode.org:8080/content/vocab-cpu.ppc.assembler.html

Useful documentation on PPC assembly

vsubuws also needs to be implemented (working on this).

RPCS3 has quite a lot of PPC opcodes implemented here: https://github.com/RPCS3/rpcs3/blob/master/rpcs3/Emu/Cell/PPUInterpreter.cpp