An extension for Ghidra that adds support for the PlayStation 2.
The core MIPS/FPU/COP0 instruction are based off the MIPS32/64 processor included in Ghidra, with superfluous instructions stripped out and some instructions modified.
The following instuction sets are currently supported:
- The core MIPS instruction set
- The EE core instruction set (MMI, etc)
- COP0 (System control processor) instruction set
- COP1 (FPU) instruction set
- COP2 (VU0) macro instruction set
This extension is based on the original ghidra-emotionengine project, with a number or changes:
- Support for Ghidra 10.2.2.
- The VU macro and MMI instruction implementations have been replaced with pcodeop stubs. This is a bit subjective, but I think it helps a lot.
- Support for disassembling VU microcode has been removed. If you want to reverse a VU microprogram may I suggest having a look at vutrace.
Precompiled packages are available on the releases page. To install the package, follow the instructions in the Ghidra documentation.
If you want to build the extension yourself, install gradle and run:
gradle -PGHIDRA_INSTALL_DIR=/path/to/ghidra buildExtension
Only Ghidra versions 9.2 and above are supported.