beardypig/ghidra-emotionengine

Random number generator instructions are not injected (vrget, vrinit, vrnext, vrxor)

Opened this issue · 2 comments

The instructions are declared, but don't seem to be injected:

define pcodeop VRGET;
define pcodeop VRINIT;
define pcodeop VRNEXT;

Implementations can be found in PCSX2:

(In a function which uses these instructions, the decompiler also complains about "Low-level Error: Overlapping input varnodes", and I suspect it could be related)

I finally found a function which uses these instructions, but still decompiles correctly.
Ghidra decompiler currently displays the instruction name like a function; that's acceptable and probably better than inlining what these instructions would do (which I proposed).

Feel free to close the issue if the current behaviour is intended.

I finally found a function which uses these instructions, but still decompiles correctly.
Ghidra decompiler currently displays the instruction name like a function; that's acceptable and probably better than inlining what these instructions would do (which I proposed).

Feel free to close the issue if the current behaviour is intended.

There really isn't a good way to model hardware random number generation. This would be best left as it is.