Skip to content

Releases: Decompollaborate/spimdisasm

1.32.2

12 Feb 14:29
bb505bc
Compare
Choose a tag to compare

[1.32.2] - 2025-02-12

Fixed

  • Fix to avoid incorrectly inferring the symbol's type if the given symbol is
    referenced on complex control flows.
  • Avoid symbolizing $gp accesses if the current function set that register to a
    different value.

1.32.1

02 Feb 18:48
Compare
Choose a tag to compare

[1.32.1] - 2025-02-02

Changed

  • Tweak symbol pairing system a bit.
    • Should reduce the amount of fake pairings emitted in the generated assembly.

Fixed

  • Prevent emitting jals to symbols that aren't functions.

1.32.0

28 Dec 12:47
185db8b
Compare
Choose a tag to compare

[1.32.0] - 2024-12-28

Added

  • Add referencedVrams member to SymbolBase.
    • Contains every vram that is referenced by the current symbol.

Fixed

  • Fix jumptable labels sometimes missing their rom suffix, again.

1.31.3

21 Dec 19:25
85c59af
Compare
Choose a tag to compare

[1.31.3] - 2024-12-21

Fixed

  • Fix a crash produced by not handling new AccessTypes introduced by rabbitizer.
  • rabbitizer 1.12.5 or above is required.

1.31.2

02 Dec 18:54
9415d8e
Compare
Choose a tag to compare

[1.31.2] - 2024-12-02

Fixed

  • Fix jumptable labels sometimes missing their rom suffix.

1.31.1

01 Dec 20:28
ff5fb6d
Compare
Choose a tag to compare

[1.31.1] - 2024-12-01

Fixed

  • Fix some jumptable labels missing their rom address on overlays.

1.31.0

20 Nov 21:48
395d061
Compare
Choose a tag to compare

[1.31.0] - 2024-11-20

Changed

  • Improve comment specifying the reason why an address could not be symbolized
    if it is $gp relative.
  • Prevent section split suggestions if the selected compiler doesn't follow the
    0x10 boundary rule.
  • Rename MWCC compiler option to MWCCPS2.
  • Python 3.9 or later is now required.
    • Nothing really changed. Just the CI tools I was using is refusing to use any
      Python version older than this. Sorry if you were affected by this.

1.30.2

20 Sep 02:40
86334da
Compare
Choose a tag to compare

[1.30.2] - 2024-09-19

Fixed

  • Fix not generating branch labels under some circumstances.

1.30.1

19 Sep 13:02
ed6b430
Compare
Choose a tag to compare

[1.30.1] - 2024-09-19

Added

  • Add a way to indentate instructions and data.
    • May be desirable to be used with IDEs that support collapsing code by
      looking at the whitespace of each line.
    • This can be controlled by setting the GlobalConfig.ASM_INDENTATION option.
    • Defaults to 4.
  • Add a way to indentate labels within functions.
    • May be desirable to be used with IDEs that support collapsing code by
      looking at the whitespace of each line.
    • This can be controlled by setting the GlobalConfig.ASM_INDENTATION_LABELS
      option.
    • Defaults to 2.

Changed

  • Assembly now gets indentated by default to 4 spaces (or 2 spaces for labels).
    • Use GlobalConfig.ASM_INDENTATION and GlobalConfig.ASM_INDENTATION_LABELS
      to disable this behavior.

Fixed

  • Prevent generating labels for ignored symbols that are referenced by function
    calls (ie in a jal).

1.30.0

10 Sep 19:52
9593eb7
Compare
Choose a tag to compare

[1.30.0] - 2024-09-10

Changed

  • Avoid migrating rodata symbols to functions if they are referenced by other
    data or rodata symbols.
  • Disallow data and rodata symbols from referencing jumptables.
  • BREAKING: Change the rodata migration algorithm.
    • This allows for the algorithm to migrate unreferenced symbols that are
      between other symbols that do get migrated to the given function.
    • The algorithm will now stop to migrate symbols as soon as it finds a symbol
      that should not be migrated to the current function (i.e. it should be
      migrated to other function, it is referenced by a data symbol, etc).
      • This could be an abrupt change for projects that were relying on the old
        migration scheme, because some symbols may suddenly disappear, avoiding a
        correct build.
      • This change should also reduce (and hopefully remove) the gaps generated
        between symbols during rodata migration.

Deprecated

  • Depreacte SymbolBase.isRdata.

Fixed

  • Fix pointer tracking: fix garbage state of registers after function jumping
    outside of the current function.