PSX: Difference between revisions

From Decompedia
Jump to navigation Jump to search
(→‎IDA Pro: This is my guess as to why the disassembly is truncated)
Line 25: Line 25:
===== [[IDA Pro]] =====
===== [[IDA Pro]] =====


Paid product. A MIPS decompiler was introduced starting from IDA Pro 7.5. The output looks clean but often over-simplified. Certain instructions are completely absent from the output. You may want to use the [psxida https://github.com/lab313ru/psxida/] plugin. Not recommended other than very specific scenario.
Paid product. A MIPS decompiler was introduced starting from IDA Pro 7.5. The output looks clean but often over-simplified. Certain instructions are completely absent from the output; this is due to the decompiler outputting pseudo-instructions that combine multiple instructions (such as outputting a pseudo instruction for lw from a lui and lw). You may want to use the [psxida https://github.com/lab313ru/psxida/] plugin. Not recommended other than very specific scenario.


====Disassemblers====
====Disassemblers====
*[[splat]]
*[[splat]]
*[[spimdisasm]]
*[[spimdisasm]]

Revision as of 17:26, 25 March 2023

Projects

Compilers

Tools

Decompilers

mips2c

The most reliable way to get the closest C output to the original source. The decompiler is open source.

Ghidra

A fully-fledged executable analysis tool. It is open source.

You may want to use the [ghidra_psx_ldr https://github.com/lab313ru/ghidra_psx_ldr] plugin, which automatically creates the right memory regions and comes with a way to regonize the right PSY-Q SDK by matching the libraries with their signatures.

The decompiler produces noisy but somewhat reliable output.

IDA Pro

Paid product. A MIPS decompiler was introduced starting from IDA Pro 7.5. The output looks clean but often over-simplified. Certain instructions are completely absent from the output; this is due to the decompiler outputting pseudo-instructions that combine multiple instructions (such as outputting a pseudo instruction for lw from a lui and lw). You may want to use the [psxida https://github.com/lab313ru/psxida/] plugin. Not recommended other than very specific scenario.

Disassemblers