Skip to content
This repository has been archived by the owner on May 23, 2023. It is now read-only.

Releases: beardypig/ghidra-emotionengine

Ghidra Emotion Engine Processor v1.6.0

26 Feb 15:06
68b228b
Compare
Choose a tag to compare

This release includes many improvements from many people, thank you all for your contributions.

With this release only Ghidra >9.2 is supported.

  • Improved code generation for if (true) goto x cases (@TellowKrinkle)
  • Correct bc1tl and bc1fl. (@PFedak)
  • Fixed relocation handling (@astrelsky)
  • Better handling of floating point in function decompilation (@astrelsky)
  • Vector commands fix for shared input/output registers (@PFedak)

Special thanks to @VelocityRa and @astrelsky.

Nick Renieris <velocityra@gmail.com> (1):
      Fix for Ghidra 9.2

PFedak <pzfedak@gmail.com> (2):
      Correct bc1tl and bc1fl.
      Fix parallel shift instructions.

Peter Fedak <pzfedak@gmail.com> (2):
      Remove temp variable from psllvw.
      Fix some vector commands for shared input/output registers.

astrelsky <ajs222@njit.edu> (5):
      Resolves #16
      Fixes #46
      added callfixups for software double functions
      Added tests for InjectPayloadVu
      Refactored InjectPayloadVu

beardypig <beardypig@protonmail.com> (7):
      test and build with ghidra version 9.2
      Remove support for Ghidra <9.2
      adjust gradle config
      refactor tests
      Create a nightly build
      Add a note in the readme about the nightlies.
      publish and test with Ghidra 9.2.2

tellowkrinkle <tellowkrinkle@users.noreply.github.com> (1):
      Add separate `b` disassembly

Ghidra Emotion Engine Processor Nightly

26 Feb 14:28
ae54c95
Compare
Choose a tag to compare

A nightly version, built and published once per day.

Ghidra Emotion Engine Processor v1.5.0

31 Mar 16:47
4b90a8c
Compare
Choose a tag to compare

This release brings a number of new features and improvements

  • implementation of the MMI and VU instructions (@chaoticgd and @astrelsky)
  • a PCSX2 save state importer (@astrelsky)
  • a constant reference analyzer for the MIPS R5900 (@astrelsky)
  • and a number of bug fixes

With this release Ghidra 9.0 is no longer supported.

GenericMadScientist <rayw1710@hotmail.co.uk> (1):
      Fix LI instruction to use signed immediate.

Gregory Morse <gregory.morse@live.com> (2):
      IDA Pro binding added
      IDA Pro binding added

astrelsky <ajs222@njit.edu> (12):
      Fixed result of special three-operand mult instructions
      Corrected/Added missing syscalls
      Corrected/Added missing syscalls
      Added PCSX2SaveStateImporter
      Added proper implementation of MMI instructions.
      Added ConstantReferenceAnalyzer
      Added ghidra libs, sources and documentation...
      VU instruction implementations
      attach cache names courtesy of ps2dis
      Set the microMode=0 restriction to all non VU instructions
      Added missing MMI instructions
      Fixed pmthi, pmthl.lw and pmtlo instructions

beardypig <beardypig@protonmail.com> (7):
      Generate EI and DI functions for ei and di on COP0
      Use gradlew to install the latest version of gradle
      Update readme to include some installation instructions
      Use gradlew to install the latest version of gradle
      Update readme to include some installation instructions
      add basic compilation instructions to the readme
      Setup publish and test workflows

chaoticgd <chaoticgd@protonmail.com> (30):
      Added EE MMIO registers
      Added remaining DMAC registers
      Prefix all MMIO register names with "REG_" to clean up symbol tree
      Added/edited comments for some MMIO registers
      Gave the IPU registers better names
      Improve formatting in mmio.sinc
      Added script to import/sort register labels
      Tweaked two MMIO register names
      Added reference link to PCSX2 source code file in mmio.sinc
      Added some MMIO registers from PCSX2 source
      Tweaked comment formatting in mmio.sinc
      Tweaked spacing of definitions in mmio.sinc
      Added all VU macro instructions
      Moved some VU macro mode instructions to cop2.sinc
      Define outputs for VU macro instructions
      Fixed VU macro square root instructions
      Tweaked formatting in vuupper.sinc
      Implement some VU macro mode instructions
      Moved vcallms and vcallmsr instructions to cop2.sinc
      Attach vuit, vuis to VU integer registers
      Fix vufd register
      Fix vsubbc instruction
      Corrected formatting in vuupper.sinc
      Updated readme to reflect addition of VU macro instruction set
      Use subtable instead of with block for detecting VU macro instructions
      Implemented bc2f, bc2fl, bc2t and bc2tl instructions (fixed regression)
      Moved vcallms and vcallmsr instructions inside with block, tweaked formatting
      Moved some VU pcodeop definitions from vuupper.sinc to cop2.sinc
      Improved vsqrt disassembly
      Fixed qmfc2 and qmtc2 instructions

Ghidra Emotion Engine Processor v1.4.1

29 Mar 23:59
5e61f07
Compare
Choose a tag to compare

Small patch to fix auto-detection that regressed in v1.4.0, thanks @eljay.

Ghidra Emotion Engine Processor v1.4.0

27 Mar 08:34
c394bab
Compare
Choose a tag to compare

Includes some bugs fixes for COP1 instructions as well a fixing #4 "MIPS UnAlligned Instruction Fix" java.lang.NullPointerException.

Lee Jeffery <leejeffery@gmail.com> (2):
      Fix some COP1 instructions.
      Remove incorrect operands.

beardypig <beardypig@protonmail.com> (3):
      special case of padduw as moveq
      Include some interesting pre-defined memory blocks
      Rename the processor to MIPS-R5900 and variant to PS2

Ghidra Emotion Engine Processor v1.3.3

21 Mar 16:05
3dd6595
Compare
Choose a tag to compare

Fixed issues with the stack in decompilations, now things look a lot more sane.

There are still issues with 128 bit register support. However, for the most part you will get a readable decompilation.

Ghidra Emotion Engine Processor v1.3.0

16 Mar 23:58
6da82ab
Compare
Choose a tag to compare
Pre-release

Bug fixes for some instructions and slightly better decompiler output.

Ghidra Emotion Engine Processor v1.2.0

15 Mar 01:14
0d1b8c6
Compare
Choose a tag to compare

Feature parity with IDA Pro 7 for the instruction decoding. COP2 is supported, however the floating point instructions are decoded as cop2 0x....... - the same as IDA.

Ghidra Emotion Engine Processor v1.1.0

14 Mar 23:43
3212bdf
Compare
Choose a tag to compare

Bug fix for missing EE core instructions 3 operand mult and multu, as well as the funnel shift instructions.

Ghidra Emotion Engine Processor

14 Mar 16:13
019e842
Compare
Choose a tag to compare

Initial release of the Emotion Engine Ghidra processor.

Please report bugs in the GitHub issue tracker.