rexdex / recompiler

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

Instruction decoding fails at some point #1

Closed PASAf closed 6 years ago

PASAf commented 7 years ago

I've tried it on one xex I'm particularly interested in, and it tells me in output that instruction decoding fails at address xxxxxx, after that no instructions decoded (even in next functions).

Screenshot: http://i.imgur.com/k6DOJRd.png Here is the XEX: http://www.mediafire.com/file/8s9gr9v4d3c4zjh/Default.xex

Good tool, big work, thanks for that.

rexdex commented 7 years ago

Hey! There were some missing instructions (obviosuly) that I forgot to add in the decoding switch/case. I've fixed that. The executable is now properly disassembling and a c++ code can be generated from it. Some of the instructions don't have a c++ implementation in the xenonCpu.h but it's not a big deal to write it. Let me see what can I do :) Would be cool to get the project to actualy start in the host app. The changes are at #f3b2e77078e0152565b69f4706c215452507fa28

rexdex commented 7 years ago

Basicaly, for missing instructions a new function in xenonCPU.h has to be created to match that matches the nubmer of arguments in the actual instructions. For the instruction description it's best just to google it. Here are often pseudo codes how the instructions work as well as detail implementations:

http://math-atlas.sourceforge.net/devel/assembly/vector_simd_pem.ppc.2005AUG23.pdf

rexdex commented 6 years ago

All instructions should be now accounted for