Skip to content

Releases: Decompollaborate/spimdisasm

1.1.2: More symbol finding cleanups

01 Jun 13:35
831c507
Compare
Choose a tag to compare
  • General cleanups and fixes related to symbol finding.
  • New COMPILER option in GlobalConfig, used to enable some compiler specific tweaks

1.1.1: Symbol finding fixes

30 May 01:34
12919ec
Compare
Choose a tag to compare

Various fixes:

  • Multiples workarounds for pairing multiples %hi to the same %lo
  • Fix J target calculation for the look ahead symbol finder
  • Special cases for LUIs on delay slots
  • Track moving registers by using MOVE, OR and ADDU
  • Invalidate some registers after function calls
  • Check negative branches
  • Fix jump table detector for SN64

1.1.0: Overlay support (hopefully)

29 May 04:09
53ac3d1
Compare
Choose a tag to compare
  • Add support for overlays which share VRAMs and overlays which may communicate to overlays from other categories.
    • Each new category and overlay segment must be registered in Context
  • ElementBase#vram is now just an int as opposed to old int|None.
  • The vrom of elements is tracked and stored. It is mainly used to autogenerate overlay's names.
  • The differentiation in symbol categories (labels, functions, symbols, etc) is removed. Everything now is stored in only one big dictionary to avoid duplication and lower memory usage.
  • Remove the concept of "fake functions"
  • addSymbol, getSymbol and similar methods were moved to ElementBase because of the need for the respective element overlay info.
  • Symbol name generation is delayed as much as possible and autogenerated on the fly.
  • Some minor symbol finder fixes
  • Bugfix symbols disappearing for no reason
  • General cleanups

1.0.6: Even more SN64 fixes

26 May 17:40
077fdfa
Compare
Choose a tag to compare
  • Add more checks for J as unconditional branch
  • Allow disabling %hi/%lo syntax for constants
  • Add extra global label for other symbols (usually labels) in functions when GlobalConfig.ASM_TEXT_FUNC_AS_LABEL is enabled.

1.0.5

26 May 08:50
b4a62b1
Compare
Choose a tag to compare
  • Allow setting a .ent and the function name as a label
  • Float register $31 fix for NAMED_REGISTERS=False
  • Fix CI builds (2)
  • Only apply the SN64 DIV fix for non handwritten functions
  • Finer control over pseudo instructions

1.0.4

26 May 07:39
4cfd25f
Compare
Choose a tag to compare

Fix the CI wheel

1.0.3

26 May 07:14
a315dd1
Compare
Choose a tag to compare

Add CI which builds a wheel and publishes it to PyPI

1.0.2

26 May 06:24
b679ef2
Compare
Choose a tag to compare
  • Fix missing f on float registers when GlobalConfig.NAMED_REGISTERS was set to False
  • Allow changing the line ends to anything via GlobalConfig.LINE_ENDS

1.0.1

26 May 05:52
1ce2716
Compare
Choose a tag to compare

Changes:

  • Improve RAM usage by removing an almost unused dictionary from the Instruction classes

1.0.0

26 May 05:50
f639b97
Compare
Choose a tag to compare
Merge pull request #13 from Decompollaborate/develop

1.0.0